]> git.proxmox.com Git - grub2.git/blob - ChangeLog
1ab401d6ec01d351e42dc8506a0bf992bfaaf9cb
[grub2.git] / ChangeLog
1 2012-09-19 Colin Watson <cjwatson@ubuntu.com>
2
3 * util/grub-setup.c (write_rootdev): Remove unused core_img
4 parameter. Update all callers.
5 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
6 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
7 GRUB_SETUP_BIOS.
8
9 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
10
11 * util/grub-mkconfig_lib.in (grub_tab): New variable.
12 (grub_add_tab): New function.
13 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
14 * util/grub.d/10_illumos.in: Likewise.
15 * util/grub.d/10_kfreebsd.in: Likewise.
16 * util/grub.d/10_linux.in: Likewise.
17 * util/grub.d/10_netbsd.in: Likewise.
18 * util/grub.d/10_windows.in: Likewise.
19 * util/grub.d/10_xnu.in: Likewise.
20 * util/grub.d/20_linux_xen.in: Likewise.
21 * util/grub.d/30_os-prober.in: Likewise.
22
23 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
24
25 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
26 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
27 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
28 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
29 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
30 ieee1275-nocursor.
31 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
32 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
33
34 2012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
35
36 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
37 le-conversion.
38 Reported by: BURETTE, Bernard.
39
40 2012-09-17 Colin Watson <cjwatson@ubuntu.com>
41
42 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
43 from comment.
44
45 2012-09-14 Colin Watson <cjwatson@ubuntu.com>
46
47 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
48 IEEE1275 machines. Fixes powerpc-emu compilation.
49 * include/grub/terminfo.h: Likewise.
50
51 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
52
53 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
54 a const pointer.
55 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
56 const pointer.
57 (efiemu_set_variable): Make vendor_guid a const pointer.
58
59 2012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
60
61 Don't require grub-mkconfig_lib to generate manpages for programs.
62
63 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
64 dependencies, don't add grub-mkconfig_lib.
65 (program): Pass empty adddeps.
66 (script): Pass grub-mkconfig_lib as adddeps.
67
68 2012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
69
70 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
71 * util/getroot.c (grub_find_device): Likewise.
72 (get_mdadm_uuid): Likewise.
73 (grub_util_is_imsm): Likewise.
74 (grub_util_pull_device): Likewise.
75 * util/grub-probe.c (probe): Likewise.
76
77 2012-09-10 Benoit Gschwind <gschwind>
78
79 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
80 (devs): Add devpath_8.
81
82 2012-09-08 Peter Jones <pjones@redhat.com>
83
84 * grub-core/Makefile.core.def (efifwsetup): New module.
85 * grub-core/commands/efi/efifwsetup.c: New file.
86 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
87 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
88 New define.
89 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
90
91 2012-09-05 Jiri Slaby <jslaby@suse.cz>
92
93 * configure.ac: Add SuSe path.
94
95 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
96
97 * NEWS: Fix typo.
98
99 2012-09-05 Colin Watson <cjwatson@ubuntu.com>
100
101 * util/import_gcry.py: Sort cipher_files, to make build system
102 generation more deterministic.
103
104 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
105
106 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
107 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
108 (grub_set_datetime): Likewise.
109
110 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
111
112 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
113 warnings.
114
115 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
116
117 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
118
119 2012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
120
121 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
122
123 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
124
125 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
126 required for checkouts from bzr, but it may be useful for users or
127 distributors wishing to update translations against a tarball
128 distribution, and it can be helpful for the tarball to be a superset
129 of what's in bzr.
130
131 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
132
133 * Makefile.am (EXTRA_DIST): Add
134 grub-core/tests/boot/linux.init-mips.S,
135 grub-core/tests/boot/linux.init-ppc.S, and
136 grub-core/tests/boot/linux-ppc.cfg.
137
138 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
139
140 * grub-core/mmap/mips/loongson: Remove empty directory.
141
142 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
143
144 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
145 gone.
146
147 2012-09-04 Colin Watson <cjwatson@ubuntu.com>
148
149 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
150 grub-sparc64-setup.
151
152 2012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
153
154 * configure.ac: Strengthen the test for working -nostdinc -isystem.
155
156 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
157
158 * po/POTFILES.in: Regenerated.
159
160 2012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
161
162 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
163 (NetBSD): New subsection.
164
165 2012-07-22 Ales Nesrsta <starous@volny.cz>
166
167 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
168 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
169
170 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
171
172 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
173 * util/grub.d/10_hurd.in: Add missing quoting.
174 * util/grub.d/10_illumos.in: Likewise.
175 * util/grub.d/10_kfreebsd.in: Likewise.
176 * util/grub.d/10_linux.in: Likewise.
177 * util/grub.d/20_linux_xen.in: Likewise.
178
179 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
180
181 New command `lsefi'.
182
183 * grub-core/Makefile.core.def (lsefi): New module.
184 * grub-core/commands/efi/lsefi.c: New file.
185 * include/grub/efi/api.h: Add more GUIDs.
186
187 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
188
189 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
190 (grub_bsd_elf32_hook): Likewise.
191 (grub_bsd_elf64_size_hook): Likewise.
192 (grub_bsd_elf64_hook): Likewise.
193 (grub_bsd_load_elf): Likewise.
194
195 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
196
197 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
198 if hash function is unavailable.
199 (dec_stream_header): Likewise.
200
201 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
202
203 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
204 filter state.
205
206 2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
207
208 Fix coreboot compilation.
209
210 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
211 (grub_vga_text_init_real): ... this.
212 (grub_vga_text_fini): Rename to ...
213 (grub_vga_text_fini_real): ... this.
214
215 2012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
216
217 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
218
219 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
220
221 * grub-core/lib/legacy_parse.c: Support clear and testload.
222
223 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
224
225 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
226
227 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
228
229 * grub-core/fs/ext2.c: Experimental support for 64-bit.
230
231 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
232
233 * grub-core/net/tftp.c (ack): Fix endianness problem.
234 (tftp_receive): Likewise.
235 Reported by: Michael Davidsaver.
236
237 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
238
239 * gentpl.py: Make mans depend on grub-mkconfig_lib.
240
241 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
242
243 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
244 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
245 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
246
247 2012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
248
249 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
250 efi_mmap_size.
251 Reported by: Stuart Hayes.
252
253 2012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
254
255 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
256
257 * grub-core/Makefile.core.def (mda_text): New module.
258 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
259 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
260 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
261 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
262 here.
263 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
264 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
265 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
266 here.
267 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
268 to ..
269 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
270 ... here
271 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
272 here.
273 * grub-core/term/i386/vga_common.c: Removed.
274 * include/grub/i386/vga_common.h: Likewise.
275 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
276 (grub_vga_cr_bw_read): Likewise.
277 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
278 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
279 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
280 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
281 grub_vga_cr_read/grub_vga_cr_write.
282 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
283
284 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
285
286 * configure.ac: Bump version to 2.00.
287 * grub-core/normal/main.c (features): Add feature_200_final.
288
289 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
290 2012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
291
292 * NEWS: Fix unclarity and language mistakes.
293
294 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
295
296 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
297 additional size to 3 pages.
298 Reported by: Stuart Hayes.
299
300 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
301
302 * NEWS: Add 2.00 entry.
303
304 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
305
306 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
307 put explicit "/" for empty path.
308 (wildcard_expand): Improve dprintf.
309
310 2012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
311
312 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
313 it's equal to currnode. This can happen with "" symlink.
314
315 2012-06-27 Yves Blusseau <blusseau@zetam.org>
316
317 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
318 echo shell command by printf command.
319
320 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
321
322 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
323 the value returned by firmware is the maximal position, not diumension.
324 (grub_terminfo_output_state): Use a more sane fallback.
325
326 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
327
328 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
329
330 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
331
332 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
333 frequency to 150 MHz.
334
335 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
336
337 Apple fixes.
338
339 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
340 __APPLE_
341 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
342 definition.
343 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
344
345 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
346
347 Handle slash in HFS label.
348
349 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
350 (grub_hfs_dir): Tanslate slash.
351 (grub_hfs_label): Don't translate slash.
352
353 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
354
355 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
356 network protocol listing since it introduces problematic dependency on
357 net module.
358
359 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
360
361 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
362
363 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
364
365 Init video early on yeeloong to avoid being rebooted by watchdog.
366
367 * grub-core/Makefile.am (gensm712): New target.
368 (sm712_start.S): Likewise.
369 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
370 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
371 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
372 description.
373 * include/grub/vga.h: Move registry definitions to...
374 * include/grub/vgaregs.h: ... here.
375
376 2012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
377
378 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
379 signedness.
380
381 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
382
383 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
384 platforms with firmware disk drivers in the core.
385
386 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
387
388 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
389 informative verbose message.
390 (read_lv): Handle 64-bit segment size.
391
392 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
393
394 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
395
396 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
397
398 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
399 character but still remove trainling spaces.
400 (grub_fat_label): Ignore archive flag.
401
402 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
403
404 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
405 cast between linux_kernel_header and linux_kernel_params.
406
407 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
408
409 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
410 type for size.
411 (grub_raid6_recover_func_t): Likewise.
412 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
413 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
414
415 2012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
416
417 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
418
419 2012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
420
421 Fix overflow.
422
423 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
424 [__NetBSD__]: Add explicit cast before bitshift.
425
426 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
427
428 * configure.ac: Bump to 2.00~rc1.
429
430 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
431
432 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
433 half of $a0.
434
435 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
436 2012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
437
438 * docs/grub.texi: Fix search syntax.
439 (Multi-boot manual config): Put msdos rather than GPT example.
440 Grammar corrections.
441
442 2012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
443
444 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
445
446 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
447
448 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
449
450 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
451
452 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
453 message on double free. Put the value of magic in case of mismatch.
454
455 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
456
457 Speed-up video on yeeloong.
458
459 * grub-core/video/sm712.c (framebuffer): Remove render_target and
460 add cached_ptr.
461 (grub_video_sm712_video_fini): Unmap cached_ptr.
462 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
463 (grub_video_sm712_set_active_render_target): Removed.
464 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
465 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
466 sync caches.
467
468 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
469
470 Avoid flushing the same line multiple times on loongson.
471
472 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
473 Step in 32 bytes and not 1 byte.
474 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
475 Likewise.
476
477 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
478
479 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
480 subvolumes.
481
482 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
483
484 Implement flow control for http.
485
486 * grub-core/net/http.c (parse_line): Handle response 206.
487 (http_receive): Stall if too many packets are in the queue.
488 (http_establish): Fix range header.
489 (http_seek): Fix double free.
490 (http_close): Likewise.
491 (http_packets_pulled): New function.
492 (grub_http_protocol): Set http_seek
493 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
494 (ack_real): Set window depending on i_stall.
495 (grub_net_send_tcp_packet): Likewise.
496 (grub_net_tcp_stall): New function.
497 (grub_net_tcp_unstall): Likewise.
498 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
499 (grub_net_tcp_unstall): Likewise.
500
501 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
502
503 * grub-core/net/tftp.c: Decrease stall to 50 packets.
504
505 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
506
507 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
508
509 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
510
511 * tests/util/grub-shell.in: Fix a typo.
512
513 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
514
515 Implement flow control for tftp.
516
517 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
518 packets but stop only if stop condition is satisfied.
519 (grub_net_fs_read_real): Call packets_pulled after real read. Use
520 `stall' instead of `eof' as stop condition.
521 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
522 (http_err): Likewise.
523 * grub-core/net/tftp.c (ack): Replace the first argument with data
524 instead of socket.
525 (tftp_receive): Stall if too many packets are in wait queue.
526 (tftp_packets_pulled): New function.
527 (grub_tftp_protocol): Set packets_pulled.
528 * include/grub/net.h (grub_net_packets): New field count.
529 (grub_net_put_packet): Increment count.
530 (grub_net_remove_packet): Likewise.
531 (grub_net_app_protocol): New field `packets_pulled'.
532 (grub_net): New field `stall'.
533
534 2012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
535
536 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
537 sync part to handle them.
538
539 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
540
541 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
542 * grub-core/net/drivers/ieee1275/ofnet.c
543 (grub_ieee1275_net_config_real): Likewise.
544
545 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
546
547 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
548 the direct route for server/gateway.
549
550 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
551
552 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
553 IP address to server name since we may not hame the DNS.
554
555 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
556
557 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
558 freeing random buffer on failure.
559 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
560
561 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
562
563 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
564
565 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
566
567 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
568 reserved bytes.
569 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
570 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
571 Handle malloc error correctly.
572
573 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
574
575 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
576 blocks.
577
578 2012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
579
580 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
581 increment.
582
583 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
584
585 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
586 none is explicitly specified.
587
588 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
589
590 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
591 while reallocating.
592
593 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
594
595 Respect netmask from bootp/dhcp.
596
597 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
598 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
599 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
600 into ...
601 (grub_net_add_ipv4_local): ... this.
602 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
603 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
604 (grub_net_add_ipv4_local): New proto.
605
606 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
607
608 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
609 determining EFI memory map size.
610
611 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
612
613 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
614
615 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
616
617 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
618 when looking for partition separator.
619
620 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
621
622 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
623 Escape commas.
624
625 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
626
627 Restructure FAT driver to avoid hook in label reading as it hits a
628 GCC bug.
629
630 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
631 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
632 (grub_fat_iterate_dir): Split into ...
633 (grub_fat_iterate_init): ... this, ...
634 (grub_fat_iterate_fini): ... this, ...
635 (grub_fat_iterate_dir_next): ... and this. All users updated.
636
637 2012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
638
639 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
640 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
641 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
642 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
643 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
644 New fields last_key and last_key_time.
645 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
646 extended key-esc into extended key-extended key.
647
648 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
649
650 Avoid unnecessary memcpy of whole video buffer.
651
652 * grub-core/video/fb/video_fb.c (dirty): New struct.
653 (framebuffer): Add members current_dirty and previous_dirty.
654 (dirty): New function.
655 (grub_video_fb_fill_rect): Update dirty.
656 (common_blitter): Likewise.
657 (grub_video_fb_scroll): Likewise.
658 (doublebuf_blit_update_screen): Copy only dirty part.
659 (doublebuf_pageflipping_update_screen): Likewise.
660 (grub_video_fb_doublebuf_blit_init): Init dirty.
661 (doublebuf_pageflipping_init): Likewise.
662 (grub_video_fb_setup): Likewise.
663
664 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
665
666 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
667 poll rate.
668
669 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
670
671 Fix wildcard regexp dot and other special characters handling.
672 Reported by: Robert Mabee.
673
674 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
675 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
676 (split_path): Trigger expansion on '?'.
677 (unescape): New function.
678 (wildcard_expand): Unescape parts copied without globbing.
679 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
680 (grub_script_arglist_to_argv): Don't unescape expansions.
681
682 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * include/grub/net.h (grub_net_card): New member txbufsize.
685 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
686 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
687 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
688 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
689 txbufsize.
690 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
691 compatible property to check for macs. Set
692 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
693 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
694 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
695 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
696 (send_card_buffer): Use txbuf.
697 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
698 nested function out of the parent while on it.
699
700 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
701
702 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
703 presence check.
704 (grub_ieee1275_net_config_real): Fix config pointer.
705
706 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
707
708 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
709 filename parsing to non-block devices.
710
711 2012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
712
713 * grub-core/kern/device.c (grub_device_open): Remove dead code.
714
715 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
716
717 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
718 All users updated.
719
720 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
721
722 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
723 UUID search command even if hints probing failed.
724
725 2012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
726
727 * po/POTFILES.in: Regenerated.
728
729 2012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
730
731 Speed-up video on fuloong.
732
733 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
734 New function.
735 (grub_pci_device_unmap_range): Handle non-cached address.
736 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
737 add direct_ptr.
738 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
739 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
740 (grub_video_sis315pro_set_active_render_target): Removed.
741 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
742 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
743 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
744 sync caches.
745 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
746 New proto.
747
748 2012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
749
750 * docs/grub.texi (Multi-boot manual config): New section.
751
752 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
753
754 Avoid slow read-back from VRAM.
755
756 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
757 Move from here ...
758 * grub-core/video/fb/video_fb.c
759 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
760 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
761 (front_target): Remove front_target. Add pages.
762 (grub_video_fb_init): Skip setting front_pages.
763 (grub_video_fb_fini): Likewise.
764 (doublebuf_blit_update_screen): Use pages.
765 (grub_video_fb_doublebuf_blit_init): Likewise.
766 (doublebuf_pageflipping_init): Allocate offscreen buffer.
767 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
768 (grub_video_fb_setup): Prefer doublebuffing.
769
770 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
771
772 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
773 gzio.
774
775 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
776
777 Add loongson tests.
778
779 * tests/util/grub-shell.in: Handle loongson.
780 * tests/partmap_test.in: Add loongson to the list of platform using ATA
781 drivers.
782 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
783 Reboot instead of shutdown if REBOOT is defined.
784
785 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
786
787 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
788 sized ports since unlike on real hardware qemu supports only 32-bit
789 regs.
790
791 2012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * Makefile.util.def (grub-mkrescue): Enable on loongson.
794 * util/grub-mkrescue.in: Handle loongson.
795
796 2012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
797
798 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
799 Set is_part appropriately.
800 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
801 names. Canonicalize partition without full disk.
802
803 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
804
805 Revert usb-quiesce since it's wrong.
806
807 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
808 (grub_ofdisk_init): Don't do quiesce.
809
810 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
811
812 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
813 PowerMac workaround to Xserves as well.
814 Information supplied by: Benjamin Herrenschmidt.
815
816 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
817
818 Don't assume that beginning address is also the entry point on ppc.
819
820 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
821 (grub_linux_boot): Use linux_entry.
822 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
823 (grub_linux_load64): Likewise.
824
825 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
826
827 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
828
829 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
830
831 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
832 needlessly lose the console.
833
834 2012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
835
836 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
837 space.
838
839 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
840
841 Remove non-functional EFI grub_get_rtc. Put a better fatal message
842 than current grub_get_rtc() not implemented when booted with
843 coreboot without TSC.
844
845 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
846 Add machine/time.h to kernel headers on loongson.
847 * grub-core/Makefile.core.def (kernel): Remove
848 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
849 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
850 (grub_get_rtc): Likewise.
851 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
852 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
853 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
854 * grub-core/kern/i386/tsc.c (grub_tsc_init)
855 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
856 rather than installing known non-working time source.
857 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
858 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
859 * include/grub/time.h: Don't include machine/time.h.
860 * include/grub/efi/time.h: Removed.
861 * include/grub/i386/efi/time.h: Likewise.
862 * include/grub/i386/ieee1275/time.h: Likewise.
863 * include/grub/powerpc/ieee1275/time.h: Likewise.
864 * include/grub/sparc64/ieee1275/time.h: Likewise.
865 * include/grub/x86_64/efi/time.h: Likewise.
866
867 2012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
868
869 Remove dot on i and j when combining with above diacritics.
870
871 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
872 value.
873 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
874 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
875 with dotless variants when any combining above is present.
876
877 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
878
879 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
880 text and not binary.
881
882 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
883
884 Stop polling as soon as we have the packet we were waiting for.
885
886 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
887 All users updated.
888 * grub-core/net/arp.c (have_pending): New var.
889 (pending_req): Likewise.
890 (grub_net_arp_send_request): Fill pending_req and use have_pending as
891 stop indicator.
892 (grub_net_arp_receive): Set have_pending.
893 * grub-core/net/dns.c (recv_data): New field stop.
894 (recv_hook): Set stop.
895 (grub_net_dns_lookup): Init stop and use as stop condition.
896 * grub-core/net/http.c (http_establish): Use headers_recv as stop
897 condition.
898 * grub-core/net/net.c (grub_net_poll_cards): New argument
899 stop_condition. Stop when it goes true.
900 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
901 indicator.
902 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
903
904 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
905
906 Keep TX and RX buffers on EFI rather than always allocate new ones.
907
908 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
909 card. All users updated.
910 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
911 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
912 (get_card_packet): Likewise.
913 (grub_efinet_findcards): Init new fields.
914
915 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
916
917 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
918 compilation error on sparc64.
919
920 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
921
922 Use ITC on IA64 rather than broken routine based on daytime.
923
924 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
925 ia64.
926 (grub_get_rtc) [__ia64__]: Likewise.
927 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
928 (get_itc): New function.
929 (grub_rtc_get_time_ms): Likewise.
930 (grub_machine_init): Calibrate ITC.
931 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
932 Keep only on non-ia64. Don't export since it's broken and used only
933 if TSC is unavailable.
934
935 2012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
936
937 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
938 even if it's used.
939 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
940 Skip if parent is unused.
941
942 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
943
944 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
945
946 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
947
948 Fix wildcard escaping.
949
950 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
951 * grub-core/script/execute.c (wildcard_escape): .. to here.
952 Don't escape dot.
953 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
954 * grub-core/script/execute.c (wildcard_unescape): .. to here.
955 Don't escape dot.
956 * grub-core/script/execute.c (gettext_append): Always escape.
957 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
958 * grub-core/script/yylex.l: Don't cut away the escaping.
959 * tests/grub_script_echo1.in: Add tests with wildcard.
960
961 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
962
963 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
964 (ftdi_hw_configure): Likewise.
965 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
966 define.
967 (real_config): Handle 1.5 stop bits.
968 (pl2303_hw_configure): Likewise.
969
970 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
971
972 * Makefile.am: Add ppc linux bootcheck.
973 * grub-core/tests/boot/linux-ppc.cfg: New file.
974 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
975
976 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
977
978 * tests/grub_script_expansion.in: Skip network protocols.
979
980 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
981
982 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
983
984 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
985
986 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
987 --rom-directory.
988 Add -graft-points.
989
990 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
991
992 ESCC serial driver for conducting sautomated tests in qemu.
993 Not tested on real hardware.
994
995 * include/grub/serial.h (grub_serial_port): New field escc_desc.
996 * grub-core/term/ieee1275/escc.c: New file.
997 * grub-core/Makefile.core.def (escc): New module.
998
999 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1000
1001 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
1002 invalid on error.
1003 (serial_hw_fetch): Don't read invalid handle.
1004 (serial_hw_put): Don't write into invalid handle.
1005
1006 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1007
1008 Add a 1.5 stop bits value.
1009
1010 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
1011 * include/grub/serial.h (grub_serial_stop_bits_t): Add
1012 GRUB_SERIAL_STOP_BITS_1_5.
1013
1014 2012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1015
1016 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
1017 value rather than let it uninited.
1018
1019 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1020
1021 * grub-core/commands/wildcard.c (+check_file): New function.
1022 (wildcard_expand): Don't expand to non-existing files, expand with
1023 suffix and not attempt to expand if not needed.
1024
1025 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
1028 out of partitions containing other partitions.
1029
1030 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1031
1032 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
1033 on some qemu versions with GRUB.
1034
1035 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
1036 define.
1037 (grub_openbsd_bootarg_pcibios): New struct.
1038 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
1039 Add PCIINFO.
1040
1041 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 * tests/util/grub-shell.in: Trim firmware output on EFI.
1044
1045 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1046
1047 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
1048 and coreboot since it's already in kernel.
1049
1050 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1051
1052 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
1053 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1054 to here. New return value start. All users updated.
1055 Recursively scan linear mappings.
1056 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
1057 proto.
1058 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
1059 Use grub_util_get_dm_node_linear_info.
1060 * util/getroot.c (convert_system_partition_to_system_disk): Use
1061 grub_util_info rather than grub_dprintf.
1062 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
1063
1064 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1065
1066 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
1067
1068 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
1069 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
1070
1071 2012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1072
1073 * include/grub/types.h (grub_set_unaligned64): New function.
1074 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
1075 (setup): Likewise.
1076
1077 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
1080 (grub_ofdisk_fini): Quiesce USB devices.
1081
1082 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1083
1084 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
1085 caches.
1086
1087 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
1090
1091 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 * grub-core/disk/pata.c (grub_pata_pio_read)
1094 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
1095 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
1096
1097 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1098
1099 Extend automated tests to qemu-mips.
1100
1101 * Makefile.am: reorganise tests and enable qemu-mips.
1102 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
1103 * grub-core/tests/boot/linux.init-mips.S: New file.
1104 * tests/partmap_test.in: Handle ata0 disks.
1105 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
1106 non-pc i386.
1107
1108 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1109
1110 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
1111 ia64.
1112 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
1113 quotes while on it.
1114
1115 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
1118 (grub_halt): Likewise.
1119 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
1120
1121 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1122
1123 * grub-core/term/serial.c (grub_serial_register)
1124 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
1125 the behaviour in line with x86 platforms.
1126
1127 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1128
1129 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
1130 (grub_ata_strncpy): Likewise.
1131 (grub_ata_identify): Add missing byteswaps.
1132
1133 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1134
1135 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
1136 byte-swap.
1137 (screen_read_char): Likewise.
1138 (grub_vga_text_cls): Likewise.
1139
1140 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
1143 filenames.
1144 (make_file_path): Likewise.
1145
1146 2012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1147
1148 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
1149 machines.
1150 Tested by: Paulo Flabiano Smorigo.
1151 Crucial information about API supplied by: Coleen <Last name unknown>.
1152 Reviewed by: Coleen <Last name unknown>.
1153
1154 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1155
1156 * util/grub-mkimage.c: Disable -Wcast-align.
1157
1158 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1159
1160 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
1161 as they are fatal.
1162
1163 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1164
1165 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
1166
1167 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1168
1169 * util/grub-probe.c (escape_of_path): Fix double free.
1170
1171 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 * grub-core/commands/videoinfo.c (hook): Show pitch.
1174
1175 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * util/grub.d/20_linux_xen.in: Skip xen-syms.
1178
1179 2012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
1182 (probe): Add ieee1275 to OFW devices.
1183
1184 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
1187
1188 2012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1189
1190 Handle IBM OFW path.
1191
1192 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
1193 available.
1194 (of_path_of_scsi): Handle vdevice.
1195
1196 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1197
1198 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
1199 Allocate in multiples of 16 to avoid adding a few bytes free region the
1200 windows bugs upon.
1201
1202 2012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
1205 Allocate in multiples of 16 to avoid adding a few bytes free region the
1206 windows bugs upon.
1207 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
1208
1209 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1210
1211 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
1212 resolutions.
1213 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
1214 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
1215
1216 2012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
1217
1218 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
1219
1220 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1221
1222 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
1223 resulted in \\ at the end of the line.
1224
1225 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1226
1227 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
1228 (grub_parser_cmdline_state): Likewise.
1229 (grub_parser_split_cmdline): Likewise.
1230
1231 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1232
1233 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
1234 /dev/root and /dev/dm-*.
1235
1236 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1237
1238 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
1239 fix partially stale display.
1240
1241 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * grub-core/normal/menu_entry.c (backward_char): Use right line for
1244 substraction.
1245
1246 2012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1247
1248 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
1249 Fix MBR remapping workaround.
1250 (grub_util_biosdisk_read) [__linux__]: Likewise.
1251
1252 2012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
1253
1254 * util/grub-install.in: Check for ieee1275 and not ieee1276.
1255
1256 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1257
1258 * configure.ac: Bump to beta6.
1259
1260 2012-05-31 Christer Weinigel <christer@weinigel.se>
1261
1262 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
1263
1264 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1265
1266 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
1267 (grub_cmd_linux): Likewise.
1268
1269 2012-05-31 Christer Weinigel <christer@weinigel.se>
1270
1271 Fix EHCI low-speed.
1272
1273 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
1274 (GRUB_EHCI_MULT_TWO): Likewise.
1275 (GRUB_EHCI_MULT_THREE): Likewise.
1276 (GRUB_EHCI_CMASK_MASK): New enum value.
1277 (GRUB_EHCI_SMASK_MASK): Likewise.
1278 (GRUB_EHCI_CMASK_OFF): Likewise.
1279 (GRUB_EHCI_SMASK_OFF): Likewise.
1280 (grub_ehci_pci_iter): Enable periodic schedule.
1281 (grub_ehci_parse_notrun): Likewise.
1282 (grub_ehci_restore_hw): Likewise.
1283 (grub_ehci_setup_qh): Set flags for low speed transfers.
1284 (grub_ehci_find_qh): Use periodic list for low speed.
1285 (grub_ehci_setup_transfer): Check periodic queue as well.
1286 (grub_ehci_check_transfer): Likewise.
1287 (grub_ehci_cancel_transfer): Cancel periodic transfer.
1288
1289 2012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1290
1291 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
1292 parameter is used.
1293
1294 2012-05-31 Peter Jones <pjones@redhat.com>
1295
1296 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
1297 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
1298 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
1299
1300 2012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1301
1302 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
1303 uninited variable. Allocate at least setup_sects.
1304
1305 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1306
1307 Fix handling of EFI with big memory maps.
1308
1309 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
1310 (real_mode_mem): Likewise.
1311 (real_mode_target): Likewise.
1312 (real_mode_pages): Likewise.
1313 (prot_mode_pages): Likewise.
1314 (linux_params): New var.
1315 (linux_cmdline): Likewise.
1316 (free_pages): Don't set real mode variables.
1317 (allocate_pages): Don't allocate real mode memory.
1318 (grub_e820_add_region): Remove the limit.
1319 (grub_linux_boot): Allocate and copy real mode memory.
1320 (grub_linux_unload): Free linux_cmdline.
1321 (grub_cmd_linux): Use temporary storage for parameters.
1322 (grub_cmd_initrd): Likewise.
1323 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
1324 (linux_kernel_params): Make it 1K big.
1325
1326 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1327
1328 * Makefile.util.def: Remove -Wno-format.
1329 * grub-core/Makefile.core.def: Likewise.
1330
1331 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1332
1333 * tests/cmp_unit_test.c: Add missing failure message.
1334 * tests/example_unit_test.c: Likewise.
1335 * tests/printf_unit_test.c: Likewise.
1336
1337 2012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1338
1339 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
1340 relaxation of protective MBR requirements.
1341
1342 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1343
1344 * configure.ac: Add condition for COND_HOST_XNU.
1345 * Makefile.util.def (10_xnu): New script.
1346 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
1347
1348 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1349
1350 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
1351 objconv bug.
1352
1353 2012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1354
1355 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
1356 Binary on other platforms stays identical.
1357
1358 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1359
1360 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
1361 Apple.
1362
1363 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1364
1365 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
1366
1367 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
1370 rather than defining size_t ourselves to avoid conflict.
1371
1372 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
1375 initialisation to avoid __bzero reference.
1376
1377 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1378
1379 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
1380 version.
1381 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
1382 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
1383 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
1384 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
1385 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
1386
1387 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1388
1389 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
1390 * grub-core/kern/misc.c: Likewise.
1391 * grub-core/loader/i386/xnu.c: Likewise.
1392 * include/grub/i386/tsc.h: Likewise.
1393 * include/grub/symbol.h: Likewise.
1394
1395 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
1398 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
1399 on older compiler.
1400
1401 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1402
1403 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
1404 Implement Apple flavour.
1405 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
1406
1407 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
1410 (memmove) [__APPLE__]: Likewise.
1411 (memcpy) [__APPLE__]: Likewise.
1412 (memset) [__APPLE__]: Likewise.
1413 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
1414 (memmove) [__APPLE__]: Likewise.
1415 (memcpy) [__APPLE__]: Likewise.
1416 (memset) [__APPLE__]: Likewise.
1417
1418 2012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1419
1420 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
1421 dependency discard.
1422
1423 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1424
1425 * grub-core/normal/main.c (read_config_file): Provide config_file and
1426 config_directory.
1427 * util/grub.d/41_custom.in: Use config_directoy when available.
1428
1429 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1430
1431 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
1432 (grub_bfs_dir): Likewise.
1433
1434 2012-05-27 Peter Jones <pjones@redhat.com>
1435
1436 The old code gives arguments to a printf function which can't work
1437 correctly, and the compiler complains.
1438
1439 * grub-core/tests/example_functional_test.c (example_test): Add
1440 missing text.
1441 * grub-core/tests/lib/test.c (add_failure): Rewrite.
1442 * include/grub/test.h (grub_test_assert_helper): New declaration.
1443 (grub_test_assert): Use grub_test_assert_helper.
1444
1445 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
1448 (exfctest): ... this to avoid overlong filenames.
1449 All users updated.
1450
1451 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1452
1453 Handle "." and ".." on squashfs.
1454
1455 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
1456 Make inode numbers into stack.
1457 (grub_squash_read_symlink): Use stack.
1458 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
1459 (make_root_node): Fill stack.
1460 (grub_squash_open): Use stack.
1461
1462 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1463
1464 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
1465 freeing.
1466
1467 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1468
1469 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
1470 stderr on test calls.
1471
1472 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1473
1474 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
1475
1476 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
1479
1480 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1481
1482 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
1483 "..".
1484
1485 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1486
1487 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
1488 (grub_hfsplus_iterate_dir): Add "." and "..".
1489
1490 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1491
1492 * grub-core/fs/cpio.c (canonicalize): Handle "..".
1493 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
1494
1495 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1496
1497 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
1498 (find_path): Handle "." and "..".
1499
1500 2012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
1503 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
1504 (grub_affs_iterate_dir): Handle hardlinks.
1505
1506 2012-05-26 Matthew Garrett <mjg@redhat.com>
1507
1508 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
1509 (grub_efi_console_fini): Likewise.
1510 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
1511 (grub_video_gop_fill_mode_info): Rename to ...
1512 (grub_video_gop_fill_real_mode_info): ... this.
1513 (grub_video_gop_fill_mode_info): New function.
1514 (grub_video_gop_setup): Setup double framebuffer.
1515 (grub_video_gop_get_info_and_fini): Use original framebuffer.
1516 Free offscreen.
1517 (grub_video_gop_swap_buffers): Copy framebuffer.
1518 (grub_video_gop_fini): Free offscreen buffer.
1519 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
1520 New enum.
1521 (grub_efi_gop_blt_pixel): New struct.
1522
1523 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1524
1525 * gentpl.py: Remove error disabling for objconv.
1526
1527 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1528
1529 * configure.ac: Remove -Wunitialized as it's not available on older
1530 compilers.
1531
1532 2012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1533
1534 Fix extent overflow comparator.
1535
1536 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
1537 (grub_hfsplus_read_block): Set type.
1538 (grub_hfsplus_cmp_extkey): Compare type.
1539
1540 2012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
1541
1542 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
1543
1544 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1545
1546 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
1547 than 0.
1548
1549 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1550
1551 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
1552 (dejavu_bold_14.pf2): New target.
1553
1554 2012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1555
1556 * configure.ac: Fix djvu font detection.
1557
1558 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
1561 ext* instead of ext2.
1562
1563 2012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
1566 name with \0.
1567
1568 2012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
1569
1570 * docs/grub-dev.texi: Remove dot from .png.
1571
1572 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1573
1574 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
1575 protective entry in any slot.
1576 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
1577 if protective entry is found in any slot.
1578
1579 Protective entry in non-first slot make no sense but is a widespread
1580 brain damage.
1581
1582 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1583
1584 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
1585
1586 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1587
1588 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
1589 with old reiserfs.
1590 (grub_reiserfs_open): Don't free root.
1591
1592 2012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1593
1594 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
1595 after freeing for safety.
1596
1597 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1598
1599 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
1600 Reported by: Jordan Uggla.
1601
1602 2012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
1603
1604 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
1605 actual implementation. Specifically, clarify that the grub menu will
1606 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
1607 passed.
1608
1609 2012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
1610
1611 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
1612 of r0.
1613
1614 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1615
1616 Remove unjustified hard dependency of normal.mod on gfxterm.
1617
1618 * include/grub/term.h (grub_term_output): New member fullscreen.
1619 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
1620 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
1621 (grub_gfxterm): Set .fullscreen.
1622 * grub-core/normal/menu.c (menu_init): Use fullscreen.
1623 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
1624
1625 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1626
1627 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
1628 mentioning possible problems with non-ASCII (non-compliant) ISOs.
1629 Mention case-insensitive AFFS, SFS and JFS.
1630
1631 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
1634
1635 2012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1638 a bad FS.
1639
1640 2012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1641
1642 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
1643 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
1644
1645 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1646
1647 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
1648 (grub_jfs_mount): Fill caseins.
1649 (grub_jfs_find_file): Respect caseins.
1650
1651 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1652
1653 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
1654 through UTF-16.
1655
1656 2012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1657
1658 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
1659 New argument origpath. All users updated.
1660
1661 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
1664 (read_attr): Ensure that we read start of possibly compressed block.
1665
1666 2012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1667
1668 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
1669 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
1670 All users updated.
1671
1672 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1673
1674 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
1675 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
1676 (dejavu.pf2): Replace with ...
1677 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
1678 this.
1679
1680 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1681
1682 * util/grub.d/20_linux_xen.in: Add missing line.
1683
1684 2012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
1687 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
1688 (grub_utf16_to_utf8): Likewise.
1689
1690 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1691
1692 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
1693 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
1694 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1695 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
1696 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1697 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
1698
1699 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1700
1701 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1702 a bad FS.
1703
1704 2012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1705
1706 * grub-core/fs/udf.c (read_string): Bail out on size=0.
1707 (grub_udf_read_symlink): Handle read_string failure.
1708
1709 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1710
1711 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
1712 comment.
1713
1714 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1715
1716 Fix handling of UDF symlinks.
1717
1718 * grub-core/fs/udf.c (read_string): New argument outbuf.
1719 All users updated.
1720 (grub_ufs_read_symlink): Rename to ...
1721 (grub_udf_read_symlink): ... this. All users updated.
1722 Handle symlinks with more than one component.
1723
1724 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1725
1726 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
1727 symlinks. Replace leading colon with a slash.
1728
1729 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1730
1731 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
1732 filename.
1733
1734 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1735
1736 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
1737 match in inner node.
1738
1739 2012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1740
1741 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
1742 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
1743 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
1744 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
1745 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
1746 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
1747 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
1748 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
1749 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
1750
1751 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 Use grub-probe and not cmp to check that disk is empty.
1754
1755 * util/grub-install.in: Use grub-probe for zero-check.
1756 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
1757 (probe): Handle PRINT_ZERO_CHECK.
1758 (argp_parser): Handle -t zero_check.
1759
1760 2012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1761
1762 Flush block cache on adding disk to device map.
1763
1764 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
1765 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
1766 adding.
1767 (read_device_map): Likewise.
1768 (open_device): Flush on opening.
1769
1770 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1771
1772 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
1773 (handle_symlink): Fix off-by-one error.
1774 Canonicalize the target.
1775 (grub_cpio_dir): Canonicalize the name.
1776 Fix memory leak.
1777 Set directory.
1778 (grub_cpio_open): Canonicalize the name.
1779
1780 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1781
1782 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
1783 handling.
1784
1785 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
1788 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
1789
1790 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
1793 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
1794 All users updated.
1795
1796 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1797
1798 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
1799 counterpart.
1800
1801 2012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1802
1803 Fix UFS1 big file support.
1804
1805 * grub-core/fs/ufs.c (INODE): Removed.
1806 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
1807 64-bit.
1808 (INODE_MODE): Simplify.
1809 (grub_ufs_inode): Use uint64_t for size and not int64_t.
1810 (grub_ufs_lookup_symlink): Don't use INODE.
1811
1812 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1813
1814 Fix minixfs with non-power-of-two blocks since it's supported by minix.
1815
1816 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
1817 (grub_minix_data): Replace log_block_size with block_size.
1818 (grub_minix_read_file): Use block_size but avoid 64-bit division.
1819 (grub_minix_mount): Fill block_size.
1820
1821 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 * configure.ac: Bump to beta5.
1824
1825 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1826
1827 Fix wrapped HFS+ handling.
1828
1829 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
1830 blocks_start. All users updated.
1831 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
1832 wrapping offset.
1833 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
1834
1835 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1836
1837 Fix long symlinks on reiserfs.
1838
1839 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
1840 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
1841 (grub_reiserfs_iterate_dir): Save size for non-directories.
1842 (grub_reiserfs_open): Don't reread stat block as we already know the
1843 size.
1844 (grub_reiserfs_read): Split into...
1845 (grub_reiserfs_read_real): ... and ...
1846 (grub_reiserfs_read): ...this.
1847
1848 2012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 Fix non-indexed JFS.
1851
1852 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
1853 (grub_jfs_data): New field namecomponentlen.
1854 (grub_jfs_mount): Fill namecomponentlen.
1855 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
1856
1857 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1858
1859 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
1860 * tests/grub_script_echo1.in: Add tests.
1861
1862 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1863
1864 * util/grub-install.in: Ignore empty devicetree directory.
1865
1866 2012-05-08 Bean <bean123ch@gmail.com>
1867
1868 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
1869 All users updated.
1870 (free_rsm): Free header as well.
1871 (free_old_fragments): Fix memory leak.
1872 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
1873 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
1874 (destroy_pq): Likewise.
1875 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
1876
1877 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
1880 resulting hash as a precaution.
1881
1882 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
1885 '_' in variable names.
1886 * grub-core/net/net.c (grub_net_network_level_interface_register):
1887 Likewise.
1888
1889 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1890
1891 Fix AFFS with non-512B blocks.
1892
1893 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
1894 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
1895 (grub_affs_data): Replace blocksize with log_blocksize.
1896 (grub_affs_read_block): Fix non-512B blocks.
1897 (grub_affs_read_symlink): Likewise.
1898 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
1899 (grub_affs_read): Fix non-512B blocks.
1900 (grub_affs_label): Likewise.
1901 (grub_affs_mtime): Likewise.
1902 (grub_affs_mount): Fix block detection routine.
1903
1904 2012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
1905
1906 Add filesystem mtime to AFFS.
1907
1908 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
1909 (aftime2ctime): New function.
1910 (grub_affs_dir): Use aftime2ctime.
1911 (grub_affs_label): Fix return value.
1912 (grub_affs_mtime): New function.
1913 (grub_affs_fs): Add mtime.
1914
1915 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1916
1917 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
1918 UTF-8.
1919
1920 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1921
1922 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
1923 UTF-8.
1924
1925 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1926
1927 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
1928
1929 2012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
1930
1931 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
1932 flags.
1933 (FLAGS_CASE_SENSITIVE): New enum value.
1934 (cache_entry): New struct.
1935 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
1936 cache_size and cache.
1937 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
1938 Add log_blocksize and fshelp_flags.
1939 (grub_sfs_read_extent): Handle non-512 blocks.
1940 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
1941 (grub_sfs_read_file): Handle non-512 blocks.
1942 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
1943 fshelp_flags.
1944 (grub_sfs_read_symlink): Handle non-512 blocks.
1945 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
1946 (grub_sfs_dir): Free cache.
1947 (grub_sfs_close): Likewise.
1948
1949 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1950
1951 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
1952 filesystems.
1953
1954 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1955
1956 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
1957
1958 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1959
1960 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
1961
1962 2012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
1963
1964 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
1965 (grub_sfs_read_extent): Likewise.
1966 (grub_sfs_read_block): Likewise.
1967 (grub_sfs_mount): Likewise.
1968 (grub_sfs_iterate_dir): Likewise.
1969 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
1970 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
1971
1972 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1973
1974 Fix errors on compressed NTFS with 512B clusters.
1975
1976 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
1977 types.
1978 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
1979 not 0.
1980 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
1981 Relax check for inline extents.
1982 (ntfscomp): Return correct -1 on error and not 0.
1983
1984 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1985
1986 * util/grub-install.in: Fix handling of prefix containing spaces.
1987
1988 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1989
1990 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
1991 (grub_squash_read_data): Fix offset byte-swapping.
1992
1993 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
1994
1995 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
1996 per common usage and preffered in several parts of code.
1997 (grub_memcmp): Likewise.
1998 (grub_strncmp): Likewise.
1999 * include/grub/misc.h (grub_strcasecmp): Likewise.
2000 (grub_strncasecmp): Likewise.
2001 * Makefile.util.def (cmp_test): New test.
2002 (grub_script_strcmp): Likewise.
2003 * tests/cmp_unit_test.c: New file.
2004 * tests/grub_script_strcmp.in: Likewise.
2005 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
2006
2007 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2008
2009 * include/grub/pci.h: Move enums into no-asm part.
2010
2011 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2012
2013 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
2014
2015 2012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2016
2017 * util/getroot.c (find_hurd_root_device): Try to make error message
2018 and comments to translators clearer.
2019
2020 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2021
2022 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
2023
2024 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
2027 btrfs.
2028
2029 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2030
2031 * docs/grub.cfg: Update.
2032
2033 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2034
2035 * docs/grub.texi (PXE): Remove not present variables.
2036
2037 2012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2038
2039 * grub-core/net/net.c (defserver_set_env): New function.
2040 (defserver_get_env): Likewise.
2041 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
2042
2043 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2044
2045 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
2046 entries.
2047
2048 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
2051 * grub-core/kern/emu/hostdisk.c: Likewise.
2052
2053 2012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
2054
2055 Handle hurd userspace partitions.
2056
2057 * util/getroot.c (find_hurd_root_device): New function.
2058 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
2059
2060 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2061
2062 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
2063 names.
2064 Reported by: Bastian Blank.
2065
2066 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2067
2068 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
2069 crossing page boundary.
2070
2071 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 Fix B-tree search in BFS, especially in presence of non-ASCII
2074 characters.
2075
2076 * grub-core/fs/bfs.c (bfs_strcmp): New function.
2077 (find_in_b_tree): Use standard bsearch + btree algorithm.
2078
2079 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2080
2081 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
2082 and so on.
2083
2084 2012-05-03 Matthew Garrett <mjg@redhat.com>
2085 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2086
2087 Suspend broadcom cards in order to stop their DMA.
2088
2089 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
2090 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
2091 (pci): Don't build on x86 EFI.
2092 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
2093 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
2094 New function.
2095 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
2096 stop_broadcom if running on EFI.
2097 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
2098 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
2099 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
2100 (grub_pci_find_capability): New proto.
2101
2102 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * docs/grub.texi: Remove dot from the extension as it apparently
2105 doesn't work with some makeinfo versions.
2106
2107 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2108
2109 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
2110 with GRUB expectance.
2111
2112 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2113
2114 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
2115
2116 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2117
2118 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
2119 zero after directory block since last entry may be not 0-terminated if
2120 it ends on block boundary. Use continue instead of if spanning whole
2121 loop.
2122
2123 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2124
2125 Support 4K sectors UDF inline files.
2126
2127 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
2128 (grub_udf_extended_file_entry): Likewise.
2129 (grub_fshelp_node): Name the anonymous union. Put block at the end.
2130 All users updated.
2131 (get_fshelp_size): New function.
2132 (grub_udf_read_icb): Read whole block.
2133 (grub_udf_iterate_dir): Likewise.
2134 (grub_udf_dir): Likewise.
2135 (grub_udf_open): Likewise.
2136
2137 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2138
2139 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
2140
2141 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2142
2143 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
2144 inline symlinks in addition to workaround.
2145
2146 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2147
2148 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
2149
2150 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2151
2152 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
2153
2154 2012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2155
2156 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
2157
2158 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2159
2160 Fix reiserfs big seek times.
2161
2162 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
2163 exact. All users updated.
2164 (grub_reiserfs_read): Use nearest btree search for seeking.
2165 Fix return value on error.
2166
2167 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2168
2169 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
2170 entries.
2171 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
2172 * docs/grub.texi: Update menuentry description.
2173
2174 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2175
2176 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
2177 crash when embedding onto filesystem.
2178
2179 2012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2180
2181 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
2182 name.
2183
2184 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2185
2186 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
2187
2188 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2189
2190 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
2191 commit.
2192
2193 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2194 2012-05-01 Bean <bean123ch@gmail.com>
2195
2196 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
2197
2198 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
2201 Special behaviour for len = 0 to read whole file isn't used anywhere and
2202 can cause buffer ovewrflows in several places.
2203
2204 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2205
2206 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
2207
2208 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2209
2210 Handle RAIDZ on non-512B sectors.
2211
2212 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
2213 max_children_ashift.
2214 (fill_vdev_info_real): Fill max_children_ashift.
2215 (read_device): Use max_children_ashift.
2216
2217 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2218
2219 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
2220
2221 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
2224 disk names.
2225 * docs/grub.texi: Update device.map parts.
2226
2227 2012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2228
2229 Don't scan into non-diskfilter devices having diskfilter names.
2230
2231 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
2232 (scan_disk): New argument accept_diskfilter. Fix recursion depth
2233 handling.
2234 (scan_disk_hook): New function.
2235
2236 2012-04-29 Bean <bean123ch@gmail.com>
2237
2238 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
2239 allocation.
2240
2241 2012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
2242
2243 * configure.ac: Detect starfield theme font path
2244 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
2245
2246 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2247
2248 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
2249 geometry on serial consoles.
2250
2251 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2252
2253 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
2254 because of network consoles.
2255
2256 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
2259 handling.
2260
2261 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
2264 falls on Q syndrom.
2265
2266 2012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2267
2268 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
2269 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
2270
2271 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2272
2273 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
2274 Allocate at lest 8192 for temporary buffer as required for lzo.
2275
2276 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2277
2278 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
2279 to cluster_bits, since it's already added in.
2280 (grub_fat_read_data): Likewise.
2281
2282 2012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2283
2284 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
2285 as long as cluster size is multiple of 512 bytes.
2286
2287 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2288
2289 * util/grub-mkrescue.in: Fix locale directory.
2290
2291 2012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2292
2293 * grub-core/kern/emu/hostdisk.c (map): Make static.
2294
2295 2012-04-23 Bean <bean123ch@gmail.com>
2296
2297 * util/grub-fstest.c (fstest): Add missing break.
2298
2299 2012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
2300
2301 Fix hurd build.
2302
2303 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
2304 not define nr variable.
2305 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
2306 find_root_devices_from_poolname, find_root_devices_from_libzfs,
2307 grub_find_device): Do not define.
2308
2309 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2310
2311 Fix kfreebsd compile and behaviour.
2312
2313 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
2314 format-security.
2315 * util/getroot.c: Fix wait.h include.
2316 (grub_guess_root_devices): Error if grub_find_device fails.
2317 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
2318 (grub_util_get_dev_abstraction): Likewise.
2319 (grub_util_pull_device): Likewise.
2320 (grub_util_get_grub_dev): Likewise.
2321 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
2322
2323 2012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2324
2325 Fix and unify wholedisk detection.
2326
2327 * util/getroot.c (convert_system_partition_to_system_disk): New argument
2328 is_part. All users updated.
2329 (device_is_wholedisk): Removed.
2330 (grub_util_biosdisk_get_grub_dev): Use is_part.
2331
2332 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2333
2334 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
2335 mode.
2336
2337 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2338
2339 * configure.ac: Bump to beta4.
2340
2341 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
2344 --fs-uuid --set UUID syntax.
2345
2346 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2347
2348 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
2349 disunification.
2350
2351 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2352
2353 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
2354
2355 2012-04-18 Mads Kiilerich <mads@kiilerich.com>
2356
2357 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
2358
2359 2012-04-18 Mike Gilbert <floppym@gentoo.org>
2360
2361 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
2362
2363 2012-04-18 Bean <bean123ch@gmail.com>
2364
2365 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
2366 place.
2367
2368 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2369
2370 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
2371 users updated.
2372 (grub_util_biosdisk_read): Handle Linux partitions not exactly
2373 corresponding to GRUB partitions.
2374 (grub_util_biosdisk_write): Likewise.
2375
2376 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2377
2378 Scan mdraid before LVM.
2379
2380 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
2381 (grub_diskfilter_register_front): ... this.
2382 (grub_diskfilter_register_back): New function.
2383 All users of grub_diskfilter_register updated.
2384
2385 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2386
2387 * util/grub-install.in: Fix an automatic target detection bug.
2388
2389 2012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2390
2391 * util/grub-install.in: New option --efi-directory.
2392
2393 2012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
2396 boot services if we have no other choice.
2397
2398 2012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2399
2400 * util/grub-mknetdir.in: Rename --override-directory to --directory and
2401 document it.
2402 * tests/util/grub-shell.in: Update to --directory.
2403
2404 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2405
2406 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
2407
2408 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
2411 (grub_minix_read_file): Likewise.
2412 (grub_minix_read_inode): Likewise.
2413 (grub_minix_find_file): Likewise.
2414 (grub_minix_dir): Likewise.
2415
2416 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 * util/grub-setup.c (setup): Fix partition handling and blocklist
2419 check.
2420
2421 2012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
2424 redundant buggy overlap check.
2425
2426 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2427
2428 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
2429 and grub-mknetdir.
2430
2431 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
2434 kh.loadflags on pre-2.00 kernels.
2435
2436 2012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2437
2438 Terminate UNDI and PXE before launching the payload to avoid problems
2439 with DMA.
2440
2441 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
2442 (grub_loader_flags): ... this. All users updated.
2443 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
2444 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
2445 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
2446 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
2447 function.
2448 (grub_pxe_restore): Likewise.
2449 (fini_hnd): New var.
2450 (GRUB_MOD_INIT): Register shutdown hook.
2451 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
2452 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
2453 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
2454 (grub_loader_set): Rename second argument to flags.
2455
2456 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2457
2458 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
2459 written bytes.
2460 (grub_get_num_of_utf8_bytes): New function.
2461 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
2462 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
2463 executing it.
2464 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
2465 (grub_ucs4_to_utf8): Change return type.
2466
2467 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
2470 warning.
2471 * grub-core/fs/bfs.c (hop_level): Likewise.
2472 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
2473
2474 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2475
2476 * grub-core/lib/adler32.c: Recode due to license unclearness.
2477
2478 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2479
2480 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
2481 (test_header): Likewise.
2482
2483 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2484
2485 Fix --help formatting.
2486
2487 * util/grub-mkconfig_lib.in (print_option_help): New function.
2488 (grub_fmt): Likewise.
2489 * util/grub-install.in: Use print_option_help and grub_fmt.
2490 * util/grub-kbdcomp.in: Likewise.
2491 * util/grub-mkconfig.in: Likewise.
2492 * util/grub-mknetdir.in: Likewise.
2493 * util/grub-mkrescue.in: Likewise.
2494 * util/grub-mkstandalone.in: Likewise.
2495 * util/grub-reboot.in: Likewise.
2496 * util/grub-set-default.in: Likewise.
2497 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2498
2499 2012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 * linguas.sh: Remove autogenerated *.po.
2502
2503 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 * po/README: Move language fetcing to ...
2506 * linguas.sh: ... here.
2507 * po/README: Point to linguas.sh.
2508
2509 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2510
2511 * po/README: Exclude ko.po due to disclaimer problems.
2512
2513 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2514
2515 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
2516 len = 0.
2517 (grub_gettext_translate_real): Handle 0th string.
2518 (grub_gettext_translate): Ensure that "" isn't translated.
2519
2520 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2521
2522 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
2523 TRANSLATORS comment.
2524 (grub_diskfilter_print_partmap): Propagate changing of error into
2525 warning.
2526
2527 2012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2528
2529 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
2530 to uint64_t to prevent overflow.
2531 (grub_diskfilter_lv): Increase start_extent and extent_count
2532 to uint64_t to prevent overflow.
2533
2534 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2535
2536 * configure.ac: Increase version.
2537
2538 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2539
2540 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
2541
2542 * po/Rules-translit: New file.
2543 * po/arabic.sed: Likewise.
2544 * po/cyrillic.sed: Likewise.
2545 * po/greek.sed: Likewise.
2546 * po/hebrew.sed: Likewise.
2547 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
2548 * po/Makefile.in.in: Add extra_dist4.
2549
2550 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 Handle big-endian minixfs (fixes minixfs tests on bigendian).
2553
2554 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
2555 modify names. Introduce MODE_BIGENDIAN.
2556 * grub-core/fs/minix_be.c: New file.
2557 * grub-core/fs/minix2_be.c: Likewise
2558 * grub-core/fs/minix3_be.c: Likewise.
2559 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
2560 minix3_be.
2561 * grub-core/Makefile.core.def (minix_be): New module.
2562 (minix2_be): Likewise.
2563 (minix3_be): Likewise.
2564
2565 2012-04-01 Felix <email@hamburg.de>
2566
2567 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
2568 (devs): Add MBP 2011.
2569
2570 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2571
2572 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
2573
2574 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * grub-core/normal/cmdline.c (print_completion): New field
2577 prompt_len.
2578 (grub_cmdline_get): Handle width properly.
2579
2580 2012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2581
2582 * grub-core/commands/lsacpi.c (options): Add missing terminator.
2583
2584 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2585
2586 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
2587 after 29th of February.
2588
2589 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2590
2591 Fix exfat endianness handling.
2592
2593 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
2594 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
2595 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
2596 Byte-swap utf16 when necessary.
2597 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
2598
2599 2012-03-31 Anton Blanchard <anton@samba.org>
2600 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 Fix btrfs endianness handling.
2603
2604 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
2605 (lower_bound): Make root uint64_t. Use root in le.
2606 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
2607 (find_path): Fix template key init.
2608 (grub_btrfs_dir): Fix mtime byteswap.
2609 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
2610
2611 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2612
2613 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
2614 recursion_depth. Break infinite resursions. All users updated.
2615
2616 2012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
2619 after free.
2620 Reported by: Peter Jones.
2621
2622 2012-03-31 Anton Blanchard <anton@samba.org>
2623
2624 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
2625 8 bit values.
2626
2627 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2628
2629 * util/grub-install.in: Fix nvram call for PreP.
2630
2631 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2632
2633 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
2634 the error when some elements are missing into a warning.
2635
2636 2012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2637
2638 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
2639
2640 2012-03-28 Colin Watson <cjwatson@ubuntu.com>
2641
2642 * docs/grub.texi (Invoking grub-probe): New section.
2643 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
2644
2645 2012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2646
2647 Fix tab and wide character handling in editor and menu.
2648
2649 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
2650 agglomerate control characters with combining marks.
2651 (bidi_line_wrap): Allow break on tab.
2652 (grub_unicode_get_comb_start): New function.
2653 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
2654 and tab correctly.
2655 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
2656 with a space.
2657 * grub-core/normal/term.c (print_ucs4_terminal): New argument
2658 fixed_tab_size. All users updated.
2659 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
2660 (grub_term_getcharwidth): Handle \t.
2661 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
2662 and copy.
2663
2664 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2665
2666 Handle big-endian mdraid.
2667
2668 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
2669 * grub-core/Makefile.core.def (mdraid09_be): New module.
2670 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
2671 rather than grub_le_to_cpu* and grub_cpu_to_le*.
2672 * grub-core/disk/mdraid_linux_be.c: New file.
2673
2674 2012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2675
2676 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
2677
2678 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2679
2680 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
2681 missing quotes which caused confusion among translators.
2682
2683 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2684
2685 * util/grub-mkconfig_lib.in: Fix typo.
2686
2687 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2688
2689 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
2690 spaces.
2691 * tests/grub_script_leading_whitespace.in: New file.
2692 * Makefile.util.def (grub_script_leading_whitespace): New test.
2693
2694 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2695
2696 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
2697 to work.
2698
2699 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2700
2701 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
2702 starts with control character.
2703
2704 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2705
2706 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
2707 overflow.
2708 (grub_gdb_outbuf): Likewise.
2709
2710 2012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2711
2712 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
2713 zero terminator. Fixes a crash.
2714
2715 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2716
2717 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
2718 beyond 4 GiB.
2719 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
2720 images independently of preffered adderss field.
2721
2722 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2723
2724 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
2725 * grub-core/commands/regexp.c: Likewise.
2726 * grub-core/loader/i386/linux.c: Likewise.
2727 * grub-core/partmap/msdos.c: Likewise.
2728 * grub-core/script/execute.c: Likewise.
2729 * grub-core/term/gfxterm.c: Likewise.
2730
2731 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2732
2733 Add variable parsing in $"..." and fix several mismatches with bash.
2734
2735 * Makefile.util.def (grub_script_gettext): New test.
2736 * grub-core/script/execute.c (parse_string): New function.
2737 (gettext_append): Likewise.
2738 (grub_script_arglist_to_argv): Use gettext_append.
2739 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
2740 * tests/grub_script_gettext.in: New file.
2741
2742 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2743
2744 Fix handling of leading spaces in scripts.
2745
2746 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
2747 spaces.
2748 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
2749 other than skipping \r. All users updated.
2750 * tests/grub_script_echo1.in: Add space-related tests.
2751 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
2752
2753 2012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2754
2755 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
2756
2757 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2758
2759 * configure.ac: Bump up the version to beta2.
2760
2761 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2762
2763 Fix gettext reload bugs (e.g. inability to disable gettext
2764 once enabled).
2765
2766 * grub-core/gettext/gettext.c: Encapsulate all static variables in
2767 main_context and secondary_context. All functions updated.
2768 (grub_gettext_translate): Rename to ...
2769 (grub_gettext_translate_real): ... this. Return NULL on failed
2770 translate.
2771 (grub_gettext_translate): Handle secondary context.
2772 (grub_gettext_delete_list): Close file and zero-out the context.
2773 (grub_mofile_open): Don't call grub_gettext_delete_list.
2774 Don't close file.
2775 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
2776 if locale="" to avoid pointless error message.
2777 (grub_gettext_env_write_lang): Update lang even if load fails.
2778 Handle secondary context.
2779 (grub_gettext_reread_prefix): New function.
2780 (read_main): Likewise.
2781 (read_secondary): Likewise.
2782 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
2783 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
2784 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
2785 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
2786
2787 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2788
2789 * configure.ac: Decrease warning level to avoid spurious warnings and
2790 to be able to compile with GCC 4.2.
2791 * Makefile.util.def: Remove -Wno-error=logical-op.
2792
2793 2012-03-10 William Bittner <william.bittner@gmail.com>
2794
2795 * util/import_unicode.py: Add missing brackets around string for
2796 python 3 support.
2797
2798 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2799
2800 Fix efi chainloader on network root.
2801
2802 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
2803 network devices.
2804 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
2805 New function.
2806
2807 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2808
2809 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
2810 unused show_text member.
2811 * docs/grub.texi: Document "text" property.
2812
2813 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2814
2815 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
2816 in dprintf.
2817
2818 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2819
2820 Fix IMSM handling on Fedora.
2821
2822 * util/getroot.c (grub_util_is_imsm): New function.
2823 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
2824
2825 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2826
2827 * Makefile.am: Strip gold section.
2828 * conf/Makefile.common: Likewise.
2829 * gentpl.py: Likewise.
2830 * grub-core/Makefile.core.def: Likewise.
2831 * grub-core/genmod.sh.in: Likewise.
2832
2833 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2834
2835 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
2836 * util/grub.d/20_linux_xen.in: Likewise.
2837 Based on Debian patch.
2838
2839 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2840
2841 * util/grub.d/10_linux.in: Fix syntax error resulting in
2842 Richard Laager's patch.
2843 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
2844
2845 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2846
2847 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
2848 dependencies.
2849
2850 2012-03-10 Richard Laager <rlaager@wiktel.com>
2851
2852 * util/grub.d/10_linux.in: Fix ZFS root passing.
2853
2854 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2855
2856 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
2857 * grub-core/commands/xnu_uuid.c: Likewise.
2858 * grub-core/loader/efi/appleloader.c: Likewise.
2859 * grub-core/script/execute.c: Likewise.
2860 * grub-core/script/main.c: Likewise.
2861 * util/grub-mkfont.c: Likewise.
2862
2863 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2864
2865 * util/grub-mkfont.c (options): Use more appropriate "select" that
2866 "set" for face index.
2867
2868 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 * util/grub-editenv.c (options): Gettextize command summaries.
2871
2872 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2873
2874 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
2875 "out of memory" error messagge.
2876
2877 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2878
2879 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
2880 of diskfilter for diskfilter on diskfilter support.
2881
2882 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2883
2884 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
2885
2886 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2887
2888 * util/grub-install.in: Check for themes/starfield/theme.txt and not
2889 themes/starfield.
2890
2891 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2892
2893 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
2894
2895 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2896
2897 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
2898
2899 2012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2900
2901 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
2902 of error message.
2903
2904 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
2905
2906 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
2907
2908 2012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
2909
2910 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
2911 message.
2912 * util/grub-install.in: Fix and gettextize error message.
2913
2914 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
2917 Gettextize.
2918 * util/grub-mount.c (options): Likewise.
2919
2920 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2921
2922 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
2923 gettextize.
2924 * grub-core/commands/search_wrap.c (options): Likewise.
2925
2926 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2927
2928 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
2929
2930 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2931
2932 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
2933 size calculation.
2934 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
2935 none is known.
2936
2937 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2938
2939 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
2940 "temporary" since it's used in identifier and is limited in space.
2941
2942 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2943
2944 * po/POTFILES.in: Regenerate. Include *.h since they contain
2945 translatable strings as well.
2946
2947 2012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
2948
2949 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
2950 byte-swap on big-endian.
2951 Reported by: Lennart Sorensen
2952
2953 2012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2954
2955 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
2956 (allocate_pages): Improve dprintf.
2957 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
2958 code32_start. Fill code32_start and kernel_alignment in params.
2959 (grub_cmd_initrd): Use prot_init_space.
2960
2961 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
2964
2965 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 * util/grub-install.in: Add missing dot at the end of sentence.
2968
2969 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2970
2971 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
2972 * grub-core/commands/videotest.c: Likewise.
2973 * grub-core/loader/i386/linux.c: Likewise.
2974
2975 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2976
2977 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
2978 sentence.
2979 Reported by: Milo Casagrande.
2980
2981 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2982
2983 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
2984 * grub-core/commands/gptsync.c: Likewise.
2985 * grub-core/commands/hashsum.c: Likewise.
2986 * grub-core/commands/i386/pc/sendkey.c: Likewise.
2987 * grub-core/commands/legacycfg.c: Likewise.
2988 * grub-core/io/gzio.c: Likewise.
2989 * grub-core/net/net.c: Likewise.
2990 * grub-core/term/gfxterm.c: Likewise.
2991 * grub-core/term/terminfo.c: Likewise.
2992 * grub-core/tests/test_blockarg.c: Likewise.
2993 * grub-core/video/video.c: Likewise.
2994 * util/grub-install.in: Likewise.
2995 * util/grub-mkfont.c: Likewise.
2996
2997 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2998
2999 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
3000
3001 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 * grub-core/commands/search_wrap.c (options): Fix a typo.
3004 Reported by: David Prévot.
3005
3006 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3007
3008 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
3009 description.
3010
3011 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3012
3013 * util/grub-script-check.c (main): Fix a syntax error message which was
3014 unclear.
3015
3016 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3017
3018 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
3019
3020 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3021
3022 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
3023 messages.
3024
3025 2012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3026
3027 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
3028 without argument.
3029 * util/grub-mount.c (options): Likewise.
3030
3031 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3032
3033 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
3034
3035 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3036
3037 * grub-core/net/http.c: Add TRANSLATORS comments.
3038 * grub-core/normal/cmdline.c: Likewise.
3039 * grub-core/normal/misc.c: Likewise.
3040 * grub-core/partmap/msdos.c: Likewise.
3041 * grub-core/parttool/msdospart.c: Likewise.
3042 * grub-core/script/execute.c: Likewise.
3043 * grub-core/script/main.c: Likewise.
3044 * grub-core/term/terminfo.c: Likewise.
3045 * grub-core/video/bitmap.c: Likewise.
3046 * util/grub-install.in: Likewise.
3047 * util/grub-mkimage.c: Likewise.
3048 * util/grub-mklayout.c: Likewise.
3049 * util/grub-setup.c: Likewise.
3050
3051 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
3054 with similar messages in grub-fstest.
3055
3056 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3057
3058 * util/grub-install.in: Unify "option requires an argument" message
3059 with similar messages in other files.
3060 * util/grub-mkconfig.in: Likewise.
3061
3062 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3063
3064 * util/grub-set-default.in: Replace printf with gettext_printf (the
3065 string in in question is already translated from grub-reboot)
3066
3067 2012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * configure.ac: Bump up the version to beta1.
3070
3071 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
3074 case when min_align = 0.
3075
3076 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
3079 and fix a case when line_start overflows.
3080
3081 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3082
3083 * util/grub-reboot.in (usage): Mention id posibility.
3084 * util/grub-set-default.in (usage): Likewise.
3085
3086 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
3089 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
3090 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
3091 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
3092 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3093 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3094 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3095
3096 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 * grub-core/commands/menuentry.c (options): Remove
3099 GRUB_ARG_OPTION_REPEATABLE.
3100 Reported by: Andreas Vogel
3101
3102 2012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
3103
3104 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
3105
3106 2012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
3107
3108 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
3109 error.
3110
3111 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3112
3113 Use sort -V by the idea of Georgi Georgiev.
3114
3115 * util/grub-mkconfig_lib.in (version_sort): New function.
3116 (version_test_numeric): Use version_sort.
3117
3118 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3119
3120 Use submenus in grub-mkconfig.
3121
3122 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
3123 * util/grub-mkconfig_lib.in (grub_quote): New function.
3124 (gettext_printf): Use gettext and not gettext_quoted to fix several
3125 messages.
3126 * util/grub.d/10_hurd.in: Use submenus.
3127 * util/grub.d/10_kfreebsd.in: Likewise.
3128 * util/grub.d/10_linux.in: Likewise.
3129 * util/grub.d/10_netbsd.in: Likewise.
3130 * util/grub.d/20_linux_xen.in: Likewise.
3131 * util/grub.d/30_os-prober.in: Likewise.
3132 * util/grub.d/10_illumos.in: Add missing quoting.
3133 * util/grub.d/10_windows.in: Likewise.
3134
3135 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3136
3137 Fix menu title instability bug.
3138
3139 * grub-core/commands/menuentry.c (options): New option --id.
3140 (grub_normal_add_menu_entry): New argument id. All users updated.
3141 (grub_cmd_menuentry): Handle --id.
3142 (grub_menu_init): Accept unknown arguments.
3143 * grub-core/normal/main.c (features): Add feature_menuentry_id and
3144 feature_menuentry_options.
3145 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
3146 saved_entry.
3147 (get_entry_number): Match with id as well.
3148 * include/grub/menu.h (grub_menu_entry): New member id.
3149 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
3150 * util/grub.d/00_header.in: Define menuentry_id_option.
3151 * util/grub.d/10_hurd.in: Define id.
3152 * util/grub.d/10_illumos.in: Likewise.
3153 * util/grub.d/10_kfreebsd.in: Likewise.
3154 * util/grub.d/10_linux.in: Likewise.
3155 * util/grub.d/10_netbsd.in: Likewise.
3156 * util/grub.d/10_windows.in: Likewise.
3157 * util/grub.d/20_linux_xen.in: Likewise.
3158 * util/grub.d/30_os-prober.in: Likewise.
3159
3160 2012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
3163 "scope" with "body".
3164
3165 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3166
3167 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
3168 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
3169 prot_size and prot_file_size.
3170
3171 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
3174 All users updated. If easily=1 require raid-5/-6 to be full.
3175 (is_node_readable): Likewise.
3176 (scan_devices): Scan incomplete but readable LVs at the end.
3177 (grub_diskfilter_memberlist): Pull missing devices.
3178 (insert_array): Skip scanning until device is complete or scan is
3179 done otherwise.
3180 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
3181 check.
3182 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
3183 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
3184
3185 2012-03-03 Matthew Garrett <mjg@redhat.com>
3186 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 Avoid EFI boot services when loading Linux.
3189
3190 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
3191 avoid_efi_bootservices. All users updated.
3192 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
3193 argument avoid_efi_bootservices. All users updated.
3194 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
3195 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
3196 align, min_align, relocatable, prefered_address. All users updated.
3197 Allocate avoiding boot services if kernel is relocatable.
3198 (grub_cmd_linux): Check if kernel is relocatable.
3199 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
3200 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
3201 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
3202 avoid_efi_boot_services.
3203 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
3204 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
3205 (linux_kernel_params): Likewise.
3206
3207 2012-03-03 Matthew Garrett <mjg@redhat.com>
3208 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3209
3210 Use EDID on EFI.
3211
3212 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
3213 datasize_out.
3214 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
3215 modes. Set gop_handle.
3216 (grub_video_gop_get_edid): New function.
3217 (grub_gop_get_preferred_mode): Likewise.
3218 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
3219 (grub_video_efi_gop_adapter): Set .get_edid.
3220 * include/grub/efi/edid.h: New file.
3221 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
3222
3223 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3224
3225 * util/grub-install.in: Load efivars unconditionally.
3226
3227 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3228
3229 * po/Rules-piglatin: Change suffix from .po-update-en to
3230 .po-update-en-piglatin.
3231
3232 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3233
3234 Add a pig farm.
3235
3236 * po/piglatin.sed: New file.
3237 * po/en@piglatin.header: Likewise.
3238 * po/Rules-piglatin: Likewise.
3239 * po/README: Add en@piglatin to autogenerated languages.
3240
3241 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3242
3243 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
3244 "Command for ...".
3245 * grub-core/commands/hdparm.c (options): Use "Display" rather than
3246 "Check" since we don't check anything.
3247 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
3248 is 64-bit one.
3249 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
3250 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
3251 (grub_md_sha512_real): Likewise.
3252
3253 2012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3254
3255 * grub-core/commands/gptsync.c: Fix typographic quoting.
3256 * grub-core/commands/ieee1275/suspend.c: Likewise.
3257 * grub-core/commands/parttool.c: Likewise.
3258 * grub-core/commands/search_wrap.c: Likewise.
3259 * grub-core/commands/videoinfo.c: Likewise.
3260 * grub-core/gfxmenu/gui_label.c: Likewise.
3261 * grub-core/hello/hello.c: Likewise.
3262 * grub-core/kern/emu/main.c: Likewise.
3263 * grub-core/net/net.c: Likewise.
3264 * grub-core/normal/menu.c: Likewise.
3265 * grub-core/normal/menu_text.c: Likewise.
3266 * grub-core/normal/misc.c: Likewise.
3267 * util/grub-editenv.c: Likewise.
3268 * util/grub-install.in: Likewise.
3269 * util/grub-kbdcomp.in: Likewise.
3270 * util/grub-mkconfig.in: Likewise.
3271 * util/grub-mknetdir.in: Likewise.
3272 * util/grub-mkrescue.in: Likewise.
3273 * util/grub-mkstandalone.in: Likewise.
3274 * util/grub-reboot.in: Likewise.
3275 * util/grub-set-default.in: Likewise.
3276 * util/grub-setup.c: Likewise.
3277 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3278
3279 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3280
3281 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
3282 * grub-core/commands/keystatus.c: Likewise.
3283 * grub-core/commands/loadenv.c: Likewise.
3284 * grub-core/commands/probe.c: Likewise.
3285 * grub-core/commands/regexp.c: Likewise.
3286 * grub-core/commands/true.c: Likewise.
3287 * grub-core/commands/videoinfo.c: Likewise.
3288 * grub-core/disk/cryptodisk.c: Likewise.
3289 * grub-core/disk/ldm.c: Likewise.
3290 * grub-core/disk/loopback.c: Likewise.
3291 * grub-core/disk/luks.c: Likewise.
3292 * grub-core/fs/zfs/zfsinfo.c: Likewise.
3293 * grub-core/kern/disk.c: Likewise.
3294 * grub-core/kern/emu/hostdisk.c: Likewise.
3295
3296 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3297
3298 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
3299 * util/grub-install.in: Add missing quote in the comment.
3300
3301 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3302
3303 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
3304 * grub-core/commands/lsmmap.c: Likewise.
3305 * grub-core/commands/minicmd.c: Likewise.
3306 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
3307 * grub-core/commands/regexp.c: Likewise.
3308 * grub-core/gdb/gdb.c: Likewise.
3309 * grub-core/term/gfxterm.c: Likewise.
3310 * util/grub-mkconfig.in: Likewise.
3311 * util/grub-mkfont.c: Likewise.
3312 * util/grub-mklayout.c: Likewise.
3313 * util/grub-mknetdir.in: Likewise.
3314 * util/grub-mkrescue.in: Likewise.
3315 * util/grub.d/30_os-prober.in: Likewise.
3316
3317 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
3320 with "Direct color" and "Packed" with "Packed pixel".
3321 (grub_cmd_videoinfo): Simplify legend.
3322
3323 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3324
3325 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
3326 absolutely unclear error message.
3327
3328 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3329
3330 * util/grub-mkstandalone.in: Remove confusing leftover print.
3331
3332 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3333
3334 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
3335 comments.
3336 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
3337 (GRUB_MOD_INIT): Likewise.
3338 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
3339 VGA mode.
3340 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
3341 comments.
3342 * util/grub-install.in (usage): Likewise.
3343 Spell ID in whole letters.
3344 Add missing ending dot.
3345 Quote variables.
3346 * util/grub-reboot.in: Fix capitalisation.
3347 * util/grub-set-default.in: Likewise.
3348
3349 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3350
3351 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
3352 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
3353 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
3354 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
3355 Disable -Werror for -Wdeprecated-declarations.
3356 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
3357 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
3358 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
3359 (grub_util_get_grub_dev): Make luks handling dependent on
3360 HAVE_DEVICE_MAPPER and not __linux__.
3361 (get_win32_path): Fix format security.
3362 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
3363 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
3364 Don't try grub_find_zpool_from_dir.
3365 (grub_make_system_path_relative_to_its_root) [!__linux__]:
3366 #ifdef-out paresdir.
3367
3368 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 * util/grub-pe2elf.c (usage): Add missing noreturn.
3371 (write_section_data): Rename name to shname to avoid shadowing.
3372 (write_symbol_table): Rename name to symname to avoid shadowing.
3373 Fix write_reloc_section call.
3374
3375 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3376
3377 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
3378 to ensure that it's after the last byte of .text.
3379
3380 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3381
3382 * util/ieee1275/ofpath.c (my_isdigit): New function.
3383 (trailing_digits): Use my_isdigit.
3384 (strip_trailing_digits): Likewise.
3385
3386 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3387
3388 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
3389 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
3390
3391 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3392
3393 * grub-core/kern/i386/pc/startup.S: Define __start.
3394
3395 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3396
3397 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
3398 strip already transforms he format.
3399
3400 2012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3401
3402 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
3403
3404 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3405
3406 * util/grub-install.in: Add missing gettext init.
3407 * util/grub-kbdcomp.in: Likewise.
3408 * util/grub-mkconfig.in: Likewise.
3409 * util/grub-mknetdir.in: Likewise.
3410 * util/grub-mkrescue.in: Likewise.
3411 * util/grub-mkstandalone.in: Likewise.
3412 * util/grub-reboot.in: Likewise.
3413 * util/grub-set-default.in: Likewise.
3414 * util/grub.d/00_header.in: Likewise.
3415 * util/grub.d/10_hurd.in: Likewise.
3416 * util/grub.d/10_windows.in: Likewise.
3417 * util/grub.d/30_os-prober.in: Likewise.
3418 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3419
3420 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3421
3422 * po/Rules-swiss: Fix header comment.
3423
3424 2012-02-29 Andreas Vogel <anvoit>
3425
3426 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
3427 resulted in leak of arguments.
3428
3429 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3430
3431 * grub-core/boot/i386/pc/startup_raw.S: Use separate
3432 reed_solomon_size const definition instead of computing it since
3433 Apple assembler doesn't support the later.
3434
3435 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3436
3437 * gentpl.py (kernel): Rewrite Apple part.
3438
3439 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3440
3441 * include/grub/kernel.h (FOR_MODULES): Check module magic.
3442
3443 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3444
3445 * util/grub-mkimagexx.c (locate_sections): Support non-standard
3446 ELF section gap.
3447 (load_image): Likewise.
3448
3449 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3450
3451 * configure.ac: Fix a typo in previous commit.
3452
3453 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3454
3455 Don't add -Wl,-N on Apple platform.
3456
3457 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
3458 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
3459
3460 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3461
3462 * grub-core/Makefile.core.def (lzma_decompress): Use
3463 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
3464
3465 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3466
3467 * grub-core/genmod.sh.in: Rewrite the Apple part.
3468
3469 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3470
3471 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
3472 comparison.
3473
3474 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3475
3476 * acinclude.m4 (grub_CHECK_PIC): New test.
3477 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
3478
3479 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3480
3481 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
3482 to avoid the warning.
3483
3484 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3485
3486 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
3487 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
3488 after. All users updated.
3489
3490 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3491
3492 Use the common size routine in hostfs so we can read disks as well.
3493
3494 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
3495 (grub_util_get_fd_size): ... this. Return size in bytes.
3496 All users updated.
3497 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
3498 grub_util_get_fd_size.
3499
3500 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3501
3502 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
3503 Add blocksize retrieval.
3504
3505 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3506
3507 * configure.ac: Restore CFLAGS after efiemu check.
3508
3509 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3510
3511 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
3512 Apple bug.
3513
3514 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3515
3516 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
3517
3518 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3519
3520 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
3521 (grub_cmd_halt): Likewise.
3522
3523 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3524
3525 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
3526 for local arithmetics.
3527 Break %sp init into 2 instructions.
3528 Add 0 byte at the end.
3529
3530 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3531
3532 * grub-core/disk/diskfilter.c (read_segment): Initialise err
3533 before loops.
3534
3535 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3536
3537 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
3538 for context.
3539
3540 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3541
3542 * grub-core/disk/ldm.c (make_vg): Init part.name.
3543 (grub_ldm_detect): Silence spurious warning.
3544 (grub_util_is_ldm): Likewise.
3545
3546 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3547
3548 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
3549 sane value to avoid a spurious warning.
3550
3551 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3552
3553 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
3554 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
3555
3556 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3557
3558 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
3559 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
3560
3561 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3562
3563 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
3564 hardcoding the relevant info.
3565
3566 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3567
3568 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
3569 missing const qualifiers.
3570 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
3571
3572 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3573
3574 * util/getroot.c [__APPLE__]: Add missing includes.
3575 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
3576
3577 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3578
3579 * util/grub-mkimage.c (generate_image): Silence spurious warning.
3580
3581 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3582
3583 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
3584 avoid conflicts.
3585
3586 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3587
3588 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
3589
3590 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3591
3592 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
3593 and grub_file_close call.
3594
3595 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3596
3597 Add LZSS Mach-O support (needed for new xnu kernelcache).
3598
3599 * grub-core/Makefile.core.def (xnu): Add file lzss.c
3600 * grub-core/loader/lzss.c: New file.
3601 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
3602 on Mach-O open failure.
3603 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
3604 Don't free cmdsXX in uncompressedXX is set.
3605 (grub_macho_file): Init new fields.
3606 New argument is_64bit. All users updated.
3607 Handle compressed. Error out if no suitable architecture is found.
3608 Don't close file.
3609 (grub_macho_open): New argument is_64bit. All users updated.
3610 * grub-core/loader/macho32.c: Add defines for new fields.
3611 * grub-core/loader/macho64.c: Likewise.
3612 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
3613 (grub_macho_parse): Handle compressed.
3614 Defer actual processing if compressed.
3615 (grub_macho_cmds_iterate): Decompress if compressed. New argument
3616 "filename". All users updated.
3617 (grub_macho_size): New argument "filename". All users updated.
3618 (grub_macho_get_entry_point): Likewise.
3619 (grub_macho_load): Handle compressed.
3620 * include/grub/macho.h (grub_macho_lzss_header): New struct.
3621 (GRUB_MACHO_LZSS_OFFSET): New define.
3622 (grub_decompress_lzss): New proto.
3623 * include/grub/machoload.h (grub_macho_file): New fields to handle
3624 compressed.
3625 (grub_macho_contains_macho64): Remove proto.
3626 (grub_macho_contains_macho32): Likewise.
3627 * util/grub.d/30_os-prober.in: Use kernel cache if available.
3628
3629 2012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3630
3631 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
3632
3633 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3634
3635 Fix make dist.
3636
3637 * Makefile.am (starfield_theme_files): New var.
3638 (starfield_DATA): Use starfield_theme_files.
3639 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
3640 Add bootcheck-related files.
3641 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
3642 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
3643 and font_char_metrics.txt.
3644 * grub-core/Makefile.core.def (kernel): Update extra_dist.
3645 (setjmp): Add lib/ia64/longjmp.S.
3646 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
3647 * po/POTFILES.in: Regenerate.
3648 * po/Rules-swiss: use DISTFILES.common.extra2 and not
3649 DISTFILES.common.extra1.
3650 * util/devicemap.c: Removed.
3651 * grub-core/lib/i386/relocator_backward.S: Likewise.
3652 * util/import_gcry.py: Remove unused files. Add extra_dist for
3653 ChangeLog.
3654
3655 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3656
3657 * grub-core/gettext/gettext.c (grub_mofile_open): Call
3658 grub_gettext_delete_list before changing grub_gettext_max to avoid
3659 running out of array bounds.
3660
3661 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3662
3663 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
3664 grub_vga_text_init/grub_vga_text_fini.
3665
3666 2012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3667
3668 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
3669
3670 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3671
3672 * configure.ac: Bump to 2.00~beta0.
3673
3674 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3675
3676 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
3677 missing initialisation.
3678
3679 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
3682
3683 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3684
3685 Support v2 xnu boot arguments.
3686
3687 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
3688 New argument fsbfreq_out.
3689 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
3690 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
3691 be used.
3692 * grub-core/loader/machoXX.c (grub_macho_load): New argument
3693 darwin_version.
3694 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
3695 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
3696 (grub_xnu_boot_params): Rename to ...
3697 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
3698 (grub_xnu_boot_params_v2): New struct.
3699
3700 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3701
3702 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
3703 zeroing of CRC field before computing CRC.
3704
3705 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3706
3707 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
3708 Change order of allocations to decrease fragmentation.
3709
3710 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3711
3712 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
3713
3714 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
3715
3716 Use write-combining MTRR to speed up video with buggy BIOSes.
3717
3718 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
3719 (cpuid): New define.
3720 (rdmsr): Likewise.
3721 (wrmsr): Likewise.
3722 (mtrr_base): Likewise.
3723 (mtrr_mask): Likewise.
3724 (grub_vbe_enable_mtrr_entry): New function.
3725 (grub_vbe_enable_mtrr): Likewise.
3726 (grub_vbe_disable_mtrr): Likewise.
3727 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
3728 control off to BIOS.
3729 (grub_video_vbe_init): Fill mtrr.
3730 (grub_video_vbe_fini): Disable mtrr.
3731 (grub_video_vbe_get_info_and_fini): Likewise.
3732 (grub_video_vbe_setup): Enable mtrr.
3733
3734 2012-02-27 Colin Watson <cjwatson@ubuntu.com>
3735
3736 * include/grub/partition.h (grub_partition_map): Change prototype of
3737 embed to take a maximum value for nsectors.
3738 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
3739 * include/grub/fs.h (grub_fs): Likewise.
3740 * grub-core/partmap/msdos.c (embed_signatures): New array.
3741 (pc_partition_map_embed): Check for and avoid sectors matching any
3742 of the signatures in embed_signatures, up to max_nsectors.
3743 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
3744 returned sector map to max_nsectors.
3745 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
3746 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
3747 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
3748 * util/grub-setup.c (setup): Allow for the embedding area being
3749 split into multiple blocklists. Tell dest_partmap->embed the
3750 maximum number of sectors we care about.
3751
3752 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3753
3754 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
3755 Specify blocklist_install and reserver_first_sector for all fs.
3756 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
3757 blocklists.
3758
3759 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3760
3761 * util/grub-install.in: Clarify strings.
3762 Fix source dir check.
3763
3764 2012-02-27 Richard Laager <rlaager@wiktel.com>
3765
3766 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
3767 "zfs" and "fuse.zfs" as synonyms.
3768
3769 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3770
3771 * configure.ac: Put platform and target_cpu substitutions back since
3772 they are used for directories.
3773
3774 2012-02-27 Richard Laager <rlaager@wiktel.com>
3775 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3776
3777 * util/grub.d/10_linux.in: Add ZFS-related arguments.
3778 * util/grub.d/20_linux_xen.in: Likewise.
3779
3780 2012-02-27 Richard Laager <rlaager@wiktel.com>
3781
3782 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
3783 with full paths.
3784
3785 2012-02-27 Richard Laager <rlaager@wiktel.com>
3786
3787 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
3788 unescape.
3789
3790 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3791
3792 Don't use insecure popen in getroot.
3793
3794 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
3795 (exec_pipe): ... here.
3796 (find_root_devices_from_poolname): Use exec_pipe.
3797
3798 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3799
3800 Remove platform and target_cpu replacement.
3801
3802 * configure.ac: Remove platform and target_cpu substitutions.
3803 * tests/util/grub-shell.in: Use modinfo.
3804 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
3805 explicitly.
3806
3807 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3808
3809 Autodetect platform in grub-install but allow override.
3810
3811 * util/grub-install.in: Autodetect platform. Support --target and
3812 --directory. Read platform from modinfo.sh.
3813
3814 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3815
3816 Support btrfs multi-volume probe.
3817
3818 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
3819 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
3820 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
3821 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
3822 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
3823 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
3824 grub_find_root_devices_from_btrfs if on btrfs.
3825
3826 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3827
3828 Remove any awareness of *.c util files about target.
3829
3830 * Makefile.util.def (grub-setup): Split to ...
3831 (grub-bios-setup): ... and this.
3832 (grub-sparc64-setup): ... and this.
3833 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
3834 * docs/man/grub-setup.h2m: Split into ...
3835 * docs/man/grub-sparc64-setup.h2m: ... this.
3836 * docs/man/grub-bios-setup.h2m: ... and this.
3837 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
3838 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
3839 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
3840 (grub_target_addr_t): Remove.
3841 (grub_target_size_t): Remove.
3842 (grub_target_ssize_t): Remove.
3843 * util/grub-install.in: Use new grub-*-setup.
3844 * util/grub-mkimagexx.c (Elf_Word): New define.
3845 (Elf_Half): Likewise.
3846 (Elf_Section): Likewise.
3847 (ELF_ST_TYPE): Likewise.
3848 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
3849 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
3850
3851 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3852
3853 Replace grub_target_addr with more appropriate types.
3854
3855 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
3856 grub_target_addr with grub_addr.
3857 * grub-core/commands/iorw.c (grub_cmd_read): Replace
3858 grub_target_addr with grub_port.
3859 (grub_cmd_write): Likewise.
3860 * grub-core/commands/memrw.c (grub_cmd_read): Replace
3861 grub_target_addr with grub_addr.
3862 (grub_cmd_write): Likewise.
3863 * grub-core/video/efi_uga.c (find_line_len): Likewise.
3864
3865 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3866
3867 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
3868 const qualifier for vendor_guid.
3869
3870 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3871
3872 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
3873 const qualifier.
3874 (efiemu_memequal): Likewise.
3875 (find_variable): Likewise.
3876
3877 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3878
3879 Fix missing console prototype on qemu-mips.
3880
3881 * include/grub/mips/qemu_mips/console.h: New file.
3882
3883 2012-02-27 Matthew Garrett <mjg@redhat.com>
3884 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3885
3886 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
3887 * include/grub/efi/efi.h: Likewise.
3888 * include/grub/efi/api.h: Add guid for EFI-specified variables.
3889 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
3890 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
3891 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
3892 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
3893 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
3894
3895 2012-02-27 Matthew Garrett <mjg@redhat.com>
3896
3897 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
3898
3899 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3900
3901 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
3902 error.
3903
3904 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3905
3906 * configure.ac: Remove inappropriate use of program_transform_name
3907 on grubdir and bootdir but allow explicit specification of those
3908 variables.
3909
3910 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3911
3912 * util/grub-mknetdir.in (grub_prefix): Removed.
3913 (subdir): Use @bootdirname@ and @grubdirname@.
3914
3915 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3916
3917 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
3918
3919 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3920
3921 * po/POTFILES.in: Regenerated.
3922
3923 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3924
3925 Remove improper use of program_transform_name on pkglibrootdir.
3926
3927 * configure.ac (pkglibrootdir): Removed.
3928 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
3929 * util/grub-mkimage.c: Likewise.
3930
3931 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3932
3933 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
3934 warning.
3935
3936 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3937
3938 * util/grub-install.in: Use file identifier if no UUID is available
3939 or user explicitly prompted for it.
3940
3941 2012-02-27 Navdeep Parhar <nparhar@gmail.com>
3942
3943 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
3944 (freebsd_get_zfs): New function.
3945 (grub_freebsd_boot): Pass zfs UUID.
3946 (grub_cmd_freebsd): Set zfs UUID.
3947
3948 2012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3949
3950 * conf/Makefile.common (platformdir): Base on pkglibdir and not
3951 pkglibrootdir.
3952
3953 2012-02-27 Mike Gilbert <floppym@gentoo.org>
3954
3955 Add configure flag to control libzfs integration.
3956
3957 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
3958
3959 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3960
3961 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
3962 device.
3963 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
3964 small devices.
3965
3966 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
3967
3968 Remove grub_{modname}_init and grub_{modname}_fini. They should never
3969 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
3970 be used on non-modules.
3971
3972 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
3973 Rename to grub_boot_init.
3974 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
3975 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
3976 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
3977 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
3978 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
3979 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
3980 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
3981 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
3982 includes.
3983 (grub_machine_init): Remove empty inits.
3984 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
3985 includes.
3986 (grub_machine_init): Remove empty inits.
3987 * grub-core/term/arc/console.c: Remove explicit proto.
3988 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
3989 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
3990 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3991 grub_at_keyboard_fini.
3992 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
3993 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
3994 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3995 grub_gfxterm_fini.
3996 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
3997 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
3998 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
3999 grub_vgatext_fini.
4000 * grub-core/term/ieee1275/console.c: Remove explicit proto.
4001 * grub-core/term/serial.c (GRUB_MOD_INIT)
4002 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
4003 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4004 grub_serial_fini.
4005 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
4006 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
4007 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4008 grub_terminfo_fini.
4009 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
4010 (GRUB_MOD_FINI): Likewise.
4011 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
4012 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
4013 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4014 grub_video_radeon_fuloong2e_fini.
4015 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
4016 [LOONGSON]: Rename to grub_video_sis315pro_init.
4017 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4018 grub_video_sis315pro_fini.
4019 * grub-core/video/sm712.c (GRUB_MOD_INIT)
4020 [LOONGSON]: Rename to grub_video_sm712_init.
4021 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4022 grub_video_sm712_fini.
4023 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
4024 (grub_at_keyboard_fini): Likewise.
4025 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
4026 Don't declare grub_{modname}_init.
4027 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
4028 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
4029 New proto.
4030 (grub_keylayouts_fini) [!EMU]: Likewise.
4031 * include/grub/serial.h (grub_serial_init) [!EMU]:
4032 New proto.
4033 (grub_serial_fini) [!EMU]: Likewise.
4034 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
4035 New proto.
4036 (grub_terminfo_fini) [!EMU]: Likewise.
4037 * include/grub/video.h (grub_font_init) [!EMU]:
4038 New proto.
4039 (grub_font_fini) [!EMU]: Likewise.
4040 (grub_gfxterm_init) [!EMU]: Likewise.
4041 (grub_gfxterm_fini) [!EMU]: Likewise.
4042 (grub_video_sm712_init) [!EMU]: Likewise.
4043 (grub_video_sm712_fini) [!EMU]: Likewise.
4044 (grub_video_sis315pro_init) [!EMU]: Likewise.
4045 (grub_video_sis315pro_fini) [!EMU]: Likewise.
4046 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
4047 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
4048
4049 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4050
4051 Make nand a prefix for nand devices.
4052
4053 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
4054
4055 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4056
4057 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
4058 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
4059
4060 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4061
4062 * include/grub/env.h (grub_env_find): Remove prototype.
4063 * grub-core/kern/env.c (grub_env_find): Make static.
4064 (grub_env_set): Remove useless set.
4065
4066 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4067
4068 * grub-core/kern/i386/realmode.S: Remove useless align.
4069
4070 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4071
4072 * include/grub/dl.h (grub_dl_load_file): Don't export.
4073
4074 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4075
4076 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
4077 grub_dprintf.
4078
4079 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4080
4081 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
4082 grub_errors.
4083 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
4084 not reloading whole superblock but only the part which is really needed.
4085 Remove useless grub_errors.
4086 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
4087 grub_errors.
4088
4089 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4090
4091 Don't export grub_get_rtc.
4092
4093 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
4094 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
4095
4096 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4097
4098 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
4099
4100 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
4103 argument since it can be deduced from diskfilter. All users updated.
4104
4105 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4106
4107 Remove prio_list.
4108
4109 * include/grub/list.h (grub_prio_list): Removed.
4110 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
4111 GRUB_COMMAND_PRIO_MASK.
4112 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
4113 GRUB_COMMAND_FLAG_ACTIVE.
4114 (grub_prio_list_insert): Removed.
4115 (grub_prio_list_remove): Likewise.
4116 (GRUB_AS_PRIO_LIST): Likewise.
4117 (GRUB_AS_PRIO_LIST_P): Likewise.
4118 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
4119 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
4120 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
4121 * grub-core/kern/command.c (grub_register_command_prio): Inline
4122 the prio_list code.
4123 (grub_unregister_command): Likewise.
4124
4125 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4126
4127 Fix interrupt mixup from previous commit.
4128
4129 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
4130 (grub_realidt): New var.
4131 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
4132 Load idt.
4133 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
4134 New declaration.
4135 (grub_relocator16_boot): Set grub_relocator16_idt.
4136 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
4137 (LOCAL(realidt)): ... this.
4138 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
4139 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
4140 (grub_realidt): New variable.
4141
4142 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4143
4144 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
4145 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
4146 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
4147 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
4148 Gettextize.
4149 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
4150 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
4151 * po/POTFILES.in: Regenerate.
4152
4153 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4154
4155 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
4156 errors.
4157
4158 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4159
4160 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
4161 \0.
4162 (add_length): Likewise.
4163
4164 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4165 2012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
4166
4167 GDB serial and backtrace support.
4168
4169 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
4170 (prot_to_real): Likewise.
4171 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
4172 * grub-core/Makefile.core.def (backtrace): New module.
4173 (gdb): Likewise.
4174 * grub-core/gdb/cstub.c: New file.
4175 * grub-core/gdb/gdb.c: Likewise.
4176 * grub-core/gdb/i386/idt.c: Likewise.
4177 * grub-core/gdb/i386/machdep.S: Likewise.
4178 * grub-core/gdb/i386/signal.c: Likewise.
4179 * grub-core/lib/i386/backtrace.c: Likewise.
4180 * grub-core/lib/backtrace.c: Likewise.
4181 * include/grub/backtrace.h: Likewise.
4182 * include/grub/gdb.h: Likewise.
4183 * include/grub/i386/gdb.h: Likewise.
4184
4185 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4186
4187 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
4188 New function.
4189 (add_length): Likewise.
4190 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
4191 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
4192 proto.
4193 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
4194 __argp_get_display_len.
4195
4196 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 $"..." support in scripts.
4199
4200 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
4201 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
4202 * grub-core/script/yylex.l: Likewise.
4203 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
4204 value.
4205
4206 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4207
4208 * gentpl.py: Remove obsolete pkglib_DATA handling.
4209
4210 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4211
4212 Don't transform PACKAGE_TARNAME following a discussion on autoconf
4213 mailing list.
4214
4215 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
4216 * util/grub-kbdcomp.in: Likewise.
4217 * util/grub-mkconfig.in: Likewise.
4218 * util/grub-mkconfig_lib.in: Likewise.
4219 * util/grub-mknetdir.in: Likewise.
4220 * util/grub-mkrescue.in: Likewise.
4221 * util/grub-mkstandalone.in: Likewise.
4222 * util/grub-reboot.in: Likewise.
4223 * util/grub-set-default.in: Likewise.
4224 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4225
4226 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4227
4228 Remove GRUB_PREFIX.
4229
4230 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
4231 * util/grub.d/00_header.in: Compute prefix in the only place it's still
4232 used for backward compatibility.
4233
4234 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4235
4236 Add new all_video module.
4237
4238 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
4239 * grub-core/Makefile.core.def (all_video): New module.
4240 * grub-core/genmoddep.awk: Generate dependency of all_video from
4241 video.lst.
4242 * grub-core/lib/fake_module.c: New file.
4243 * grub-core/normal/main.c (features): Add feature_all_video_module.
4244 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
4245 don't do explicit search again.
4246 insmod all_video in load_video if available.
4247
4248 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4249
4250 Another round of string clarification and adding TRANSLATORS comments.
4251
4252 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4253
4254 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
4255
4256 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4257
4258 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
4259 to grub_ssize_t.
4260 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
4261 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
4262
4263 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4264
4265 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
4266 trailing newline implicitly. All users updated.
4267
4268 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4269
4270 Implement serial on IEEE1275 and EFI.
4271
4272 * docs/grub.texi (Platform-specific limitations): Fix the columen video
4273 on emu. Mention arc and emu as the only platforms without serial
4274 support.
4275 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
4276 ieee1275 platforms.
4277 * grub-core/term/efi/serial.c: New file.
4278 * grub-core/term/ieee1275/serial.c: Likewise.
4279 * grub-core/term/serial.c (grub_serial_find): Disable direct port
4280 specification if no ns8250 driver is available.
4281 (grub_cmd_serial): Likewise.
4282 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
4283 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
4284 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
4285 (grub_efi_parity_type_t): New type.
4286 (grub_efi_stop_bits_t): Likewise.
4287 (grub_efi_serial_io_interface): New struct.
4288 * include/grub/serial.h (grub_serial_port): Make 'broken' field
4289 available for all interfaces.
4290 Add EFI and IEEE1275 fields.
4291 (grub_ofserial_init): New proto.
4292 (grub_efiserial_init): Likeiwse.
4293 * util/grub.d/00_header.in: Don't check for the presence of serial
4294 module.
4295
4296 2012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4297
4298 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
4299 name as if it was an alias.
4300
4301 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4302
4303 * grub-core/commands/lsacpi.c (options): Fix typo.
4304
4305 2012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4306
4307 Convert grub-emu to argp.
4308
4309 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
4310 emu.
4311 * util/argp_common.c: Rename to ...
4312 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
4313 Add missing includes.
4314 * grub-core/kern/emu/main.c: Convert to argp.
4315 * po/POTFILES.in: Regenerate.
4316 * util/grub-install.in (usage): Make first letter lowcase in messages
4317 for uniformity.
4318 * util/grub-setup.c (options): Likewise.
4319
4320 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4321
4322 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
4323 Put back accidently commented-out code.
4324
4325 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4326
4327 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
4328 loop check using Brent algorithm.
4329 (grub_hfsplus_btree_search): Likewise.
4330
4331 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4332
4333 * util/grub-install.in: Fix usage of wrong device for PreP install.
4334
4335 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4336
4337 * conf/Makefile.common (CFLAGS_GNULIB): Add
4338 -Wno-unsafe-loop-optimizations.
4339 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
4340 on tools.
4341 * grub-core/commands/legacycfg.c: Add pragma to skip
4342 -Wunsafe-loop-optimizations.
4343 (check_password_md5_real): Fix loop counter type.
4344 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
4345 reading.
4346 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
4347 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
4348 loop condition.
4349 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
4350 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
4351 * grub-core/net/net.c (grub_net_route_address): Add safety loop
4352 condition.
4353 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
4354 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
4355 avoid possible infinite loops.
4356 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
4357 and -Wunsafe-loop-optimizations.
4358 * grub-core/script/yylex.l: Likewise.
4359 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
4360 (print_glyphs): Avoid infinite loops.
4361 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
4362
4363 2012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
4364
4365 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
4366 to avoid infinite loop.
4367 (disp_acpi_rsdt_table): Likewise.
4368
4369 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4370
4371 * grub-core/font/font.c (grub_font_load): Add support for default
4372 path for fonts ($prefix/fonts).
4373 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
4374 for checking if string is a path.
4375 * grub-core/normal/main.c (features): Add feature_default_font_path.
4376 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
4377 * util/grub.d/00_header.in: Use default directory if possible.
4378 * util/grub-install.in: Install unicode.pf2.
4379
4380 2012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4381
4382 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
4383 * po/Rules-swiss: New file.
4384 * po/swiss.sed: Likewise.
4385
4386 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4387
4388 * grub-core/fs/btrfs.c (find_device): Fix typos.
4389 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
4390 * util/grub-mkrelpath.c (argp_parser): Likewise.
4391 Reported by: Yuri Chornoivan.
4392
4393 2012-02-23 Dalet Omega <daletomega@gmail.com>
4394
4395 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
4396 for usual informative messages.
4397
4398 2012-02-23 Dalet Omega <daletomega@gmail.com>
4399
4400 Starfield theme.
4401
4402 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
4403 * conf/Makefile.common: Define starfielddir.
4404 * configure.ac: Configure starfield.
4405 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
4406 * themes/starfield/README: Likewise.
4407 * themes/starfield/blob_w.png: Likewise.
4408 * themes/starfield/boot_menu_c.png: Likewise.
4409 * themes/starfield/boot_menu_e.png: Likewise.
4410 * themes/starfield/boot_menu_n.png: Likewise.
4411 * themes/starfield/boot_menu_ne.png: Likewise.
4412 * themes/starfield/boot_menu_nw.png: Likewise.
4413 * themes/starfield/boot_menu_s.png: Likewise.
4414 * themes/starfield/boot_menu_se.png: Likewise.
4415 * themes/starfield/boot_menu_sw.png: Likewise.
4416 * themes/starfield/boot_menu_w.png: Likewise.
4417 * themes/starfield/slider_c.png: Likewise.
4418 * themes/starfield/slider_n.png: Likewise.
4419 * themes/starfield/slider_s.png: Likewise.
4420 * themes/starfield/src/blob_nw.xcf: Likewise.
4421 * themes/starfield/src/bootmenu/: Likewise.
4422 * themes/starfield/src/bootmenu/center.xcf: Likewise.
4423 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
4424 * themes/starfield/src/bootmenu/side.xcf: Likewise.
4425 * themes/starfield/src/slider_c.xcf: Likewise.
4426 * themes/starfield/src/slider_n.xcf: Likewise.
4427 * themes/starfield/src/slider_s.xcf: Likewise.
4428 * themes/starfield/src/terminalbox/: Likewise.
4429 * themes/starfield/src/terminalbox/center.xcf: Likewise.
4430 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
4431 * themes/starfield/src/terminalbox/side.xcf: Likewise.
4432 * themes/starfield/starfield.png: Likewise.
4433 * themes/starfield/terminal_box_c.png: Likewise.
4434 * themes/starfield/terminal_box_e.png: Likewise.
4435 * themes/starfield/terminal_box_n.png: Likewise.
4436 * themes/starfield/terminal_box_ne.png: Likewise.
4437 * themes/starfield/terminal_box_nw.png: Likewise.
4438 * themes/starfield/terminal_box_s.png: Likewise.
4439 * themes/starfield/terminal_box_se.png: Likewise.
4440 * themes/starfield/terminal_box_sw.png: Likewise.
4441 * themes/starfield/terminal_box_w.png: Likewise.
4442 * themes/starfield/theme.txt: Likewise.
4443
4444 2012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4445
4446 * util/grub.d/00_header.in: Add missing export theme.
4447
4448 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4449
4450 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
4451 already included.
4452 Reported by: Eren D.
4453
4454 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4455
4456 * conf/Makefile.common (grubdatadir): Removed.
4457 (Makefile.am): Move eveything grubdata to pkgdata.
4458
4459 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4460
4461 * grub-core/commands/acpihalt.c (get_sleep_type):
4462 Remove unused variable.
4463
4464 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4465
4466 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
4467 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
4468 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
4469 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
4470 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
4471 i18n with gettext no-op.
4472 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
4473 GRUB_ACPI_OPCODE_STRING_CONST.
4474 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
4475 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
4476
4477 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4478
4479 * po/POTFILES.in: Regenerate.
4480
4481 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4482
4483 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
4484 -Wno-error=missing-noreturn.
4485
4486 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4487
4488 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
4489 condition to avoid possibly infinite loops.
4490 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
4491 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
4492
4493 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4494
4495 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
4496 condition to avoid possibly infinite loops.
4497
4498 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4499
4500 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
4501 on show_error.
4502
4503 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4504
4505 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
4506
4507 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4508
4509 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
4510
4511 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4512
4513 * util/bin2h.c (usage): Add missing attribute noreturn.
4514
4515 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4516
4517 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
4518 if the size isn't divisible by 512.
4519
4520 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4521
4522 Make list_push and list_remove functions rather than inline functions
4523 to decrease size and avoid aliasing violations.
4524
4525 * include/grub/list.h (grub_list_push): Move to ...
4526 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
4527 * include/grub/list.h (grub_list_remove): Move to ...
4528 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
4529
4530 2012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4531
4532 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
4533 and -Wunused-result.
4534
4535 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4536
4537 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
4538 Reported by: Seth Goldberg
4539
4540 2012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4541
4542 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
4543
4544 2012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
4545
4546 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
4547 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
4548 command line.
4549 * docs/grub.texi (Simple configuration): Document
4550 GRUB_CMDLINE_GNUMACH.
4551
4552 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
4553
4554 * conf/Makefile.common (platform_SCRIPTS): New variable.
4555 (platform_PROGRAMS): Likewise.
4556 * gentpl.py: Mark *,module and *.image for install.
4557 * grub-core/gdb_grub.in: Add a notice of expected environment.
4558 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
4559 (gmodule.pl): Likewise.
4560
4561 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
4562
4563 Replace grub_checkkey with grub_getkey_noblock.
4564
4565 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
4566 (grub_getkey_noblock): ... this. All users updated.
4567
4568 2012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
4569
4570 * grub-core/kern/emu/console.c: Move to ...
4571 * grub-core/term/emu/console.c: ...here.
4572 (grub_ncurses_getkey): Fix return value if no key is detected.
4573
4574 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4575
4576 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
4577 (grub_unit_test_fini): Likewise.
4578 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
4579
4580 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4581
4582 * include/grub/test.h (GRUB_UNIT_TEST)
4583
4584 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4585
4586 * grub-core/script/execute.c (grub_script_break): Clarify logic.
4587 Better error handling.
4588 (grub_script_return): Likewise.
4589 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
4590
4591 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4592
4593 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
4594 rimplicit redifinition.
4595
4596 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4597
4598 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
4599 GRUB.
4600
4601 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4602
4603 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
4604 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
4605 prompt here.
4606
4607 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4608
4609 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
4610 as GRUB_ERR_BUG. Don't malloc if no device is available.
4611
4612 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4613
4614 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
4615 Mark calling with invalid term as GRUB_ERR_BUG.
4616
4617 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4618
4619 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
4620 packets rather than raising an error.
4621
4622 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4623
4624 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
4625 in if.
4626
4627 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4628
4629 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
4630 diagnostic to dprintf.
4631 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4632
4633 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
4636 device name.
4637
4638 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4639
4640 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
4641 (grub_ntfs_iterate_dir): Likewise.
4642
4643 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4644
4645 Efiemu stylistic fixes and gettext.
4646
4647 * grub-core/efiemu/i386/loadcore32.c
4648 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
4649 * grub-core/efiemu/i386/loadcore64.c
4650 (grub_arch_efiemu_relocate_symbols64): Likewise.
4651 * grub-core/efiemu/i386/pc/cfgtables.c
4652 (grub_machine_efiemu_init_tables): Likewise.
4653 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
4654 (grub_efiemu_loadcore_initXX): Add a filename argument.
4655 All users updated.
4656 Improved error message.
4657 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
4658 Add a filename argument.
4659 All users updated.
4660 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
4661 Reclassify double relocation as GRUB_ERR_BUG.
4662
4663 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4664
4665 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
4666 handling.
4667
4668 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4669
4670 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
4671 on partition.
4672
4673 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4674
4675 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
4676
4677 2012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4678
4679 Improve string. Gettextize.
4680
4681 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4682
4683 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
4684 utils.
4685 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
4686
4687 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4688
4689 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
4690 [GRUB_UTIL]: New function.
4691 (insert_array) [GRUB_UTIL]: Store partmaps.
4692 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
4693 partmaps.
4694 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
4695 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
4696 (probe_abstraction): Print diskfilter and not raid.
4697 Reported by: Lennart Sorensen
4698
4699 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4700
4701 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
4702 * util/grub-mkimagexx.c (MASK3): New define.
4703 (add_value_to_slot_20b): Use MASK3.
4704 (add_value_to_slot_21): Likewise.
4705 (relocate_addresses): Fix format specification.
4706 (load_image): Explicitly init symtab_section.
4707
4708 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4709
4710 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
4711 (grub_util_biosdisk_get_grub_dev): Fix format specification.
4712
4713 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4714
4715 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
4716 on powerpc.
4717 Reported by: Lennart Sorensen
4718
4719 2012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4720
4721 * gentpl.py: Add missing license header.
4722 * docs/grub.texi: Update copyright year.
4723
4724 2012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
4725
4726 Source grub-mkconfig_lib from the build directory at build time.
4727 Suggested by: Vladimir Serbinenko.
4728
4729 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
4730 * util/grub-install.in: Define pkgdatadir if not already set, and source
4731 grub-mkconfig_lib from there.
4732 * util/grub-kbdcomp.in: Likewise.
4733 * util/grub-mkconfig.in: Likewise.
4734 * util/grub-mknetdir.in: Likewise.
4735 * util/grub-mkrescue.in: Likewise.
4736 * util/grub-mkstandalone.in: Likewise.
4737 * util/grub-reboot.in: Likewise.
4738 * util/grub-set-default.in: Likewise.
4739 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4740
4741 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4742
4743 Increase warning level.
4744
4745 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
4746 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
4747 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
4748 (TARGET_CFLAGS): Likewise.
4749 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
4750 * grub-core/Makefile.core.def (decompressor_xz): Add
4751 -Wno-unreachable-code.
4752 (normal): Add -Wno-redundant-decls.
4753 (xzio): Add -Wno-unreachable-code.
4754 (lzopio): Add -Wno-redundant-decls -Wno-error.
4755 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
4756 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
4757 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
4758 * grub-core/kern/dl.c: Add exception to -Wcast-align.
4759 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
4760 * grub-core/kern/i386/coreboot/init.c: Add exception to
4761 -Wsuggest-attribute=noreturn.
4762 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
4763 * grub-core/kern/ia64/dl_helper.c: Likewise.
4764 * grub-core/kern/mips/dl.c: Likewise.
4765 * grub-core/kern/sparc64/dl.c: Likewise.
4766 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
4767 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
4768 (memcmp): Likewise.
4769 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
4770 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
4771 * grub-core/loader/mips/linux.c: Likewise.
4772 * grub-core/loader/multiboot_elfxx.c: Likewise.
4773 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
4774 * grub-core/video/sm712.c: Add exception to -Wcast-align.
4775 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
4776 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
4777 fixme.
4778 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
4779 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
4780 Fix prototype.
4781
4782 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4783
4784 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
4785 address.
4786
4787 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4788
4789 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
4790 Avoid improper use of strings.
4791 (grub_cmd_legacy_initrdnounzip): Likewise.
4792
4793 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4794
4795 * include/grub/emu/misc.h (grub_util_warn): Add missing format
4796 attribute.
4797 (grub_util_info): Likewise.
4798 (grub_util_error): Likewise.
4799
4800 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4801
4802 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
4803 * util/grub-fstest.c (fstest): Likewise.
4804
4805 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4806
4807 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
4808 (grub_md_sha512_real): Likewise.
4809 (grub_util_get_geli_uuid): Likewise.
4810 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
4811 (grub_util_biosdisk_open): Fix format specification.
4812 Respect format security.
4813 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
4814 (xrealloc): Likewise.
4815 (xasprintf): Likewise.
4816
4817 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4818
4819 * util/import_gcry.py: Include grub/crypto.h in init.c.
4820
4821 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4822
4823 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
4824 (generate_image): Make prefix a const char *.
4825 Fix format specifications. Respect format security.
4826 Avoid void * arithmetics.
4827 Avoid shadowing.
4828 (argp_parser): Remove unused variable. Respect format security.
4829 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
4830 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
4831 (count_funcs): Remove unused variable.
4832 (relocate_addresses): Fix format specification.
4833 Disable x86-64 with elf32. Remove unused variables.
4834 (add_fixup_entry): Avoid shadowing.
4835 (make_reloc_section): Fix format specification.
4836 Use assert.
4837 (locate_sections): Fix format specifications.
4838 (load_image): Avoid shadowing.
4839
4840 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4841
4842 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
4843 Fix format specifications. Respect format security.
4844 Don't translate already translated grub_errmsg.
4845 (argp_parser): Remove unused variable
4846
4847 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4848
4849 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
4850
4851 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4852
4853 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
4854 (main): Likewise. Use xmalloc. Respect format security.
4855
4856 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4857
4858 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
4859 a const char *.
4860 (argp_parser): Remove unused variable.
4861
4862 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4863
4864 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
4865 (add_pixel): Make static.
4866 (add_font): Likewise.
4867 (write_string_section): Make name and str a const char *.
4868 (write_be16_section): Make name a const char *.
4869 (print_glyphs): Make static.
4870 (write_font_ascii_bitmap): Likewise.
4871 (write_font_width_spec): Likewise.
4872 (write_font_pf2): Likewise.
4873 (argp_parser): Remove unused variable.
4874 Respect format security.
4875 (main): Avoid shadowing. Respect format security.
4876
4877 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4878
4879 * util/grub-editenv.c (argp_parser): Make static.
4880 (create_envblk_file): Use xmalloc.
4881 (open_envblk_file): Likewise.
4882 Resepect format security.
4883 (set_variables): Respect format security.
4884
4885 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4886
4887 * util/getroot.c (grub_find_device): Respect format security.
4888 (get_mdadm_uuid): Remove unused variable.
4889 (grub_util_pull_device): Dont call gettext on already translated
4890 grub_errmsg.
4891 (find_system_device): Remove unused variable.
4892 (grub_util_get_grub_dev): Likewise.
4893 (grub_make_system_path_relative_to_its_root): Respect format security.
4894
4895 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * util/grub-fstest.c (execute_command): Make first argument
4898 a const char *.
4899 (read_file): Avoid shadowing.
4900 Reuse underlying error message if device open fails.
4901 (cmd_cmp): Respect format security.
4902 (root): Make const char *.
4903 (fstest): Remove args argument and use global copy.
4904 Respect format security.
4905 (argp_parser): Make static.
4906 (main): Make default_root const char *.
4907
4908 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4909
4910 * util/grub-mount.c (root): Make const char *.
4911 (execute_command): Make first argument a const char *.
4912 (fuse_init): Respect format security.
4913 (argp_parser): Make static. Remove unused variable.
4914 (main): Make default_root a const char *.
4915 Respect format security.
4916
4917 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4918
4919 * util/grub-probe.c (probe): Don't call gettext on already translated
4920 grub_errmsg.
4921 Remove unused variables.
4922 (argp_parser): Remove unused variable.
4923
4924 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4925
4926 * util/grub-script-check.c (argp_parser): Remove unused variable.
4927 (main): Rename read to curread to avoid shadowing.
4928
4929 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4930
4931 * util/misc.c (grub_util_write_image_at): Fix format specification.
4932 (grub_util_write_image): Likewise.
4933 (grub_script_execute_argument_to_string): Removed (unused).
4934 (grub_script_execute_menuentry): Likewise.
4935 (grub_putchar): Likewise.
4936
4937 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4938
4939 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
4940 (FUNCTION) [GRUB_UTIL]: Likewise.
4941 (VARIABLE) [GRUB_UTIL]: Likewise.
4942
4943 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4944
4945 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
4946 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
4947
4948 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4949
4950 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
4951 buffer.
4952
4953 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
4956 (LzmaEnc_SaveState): Removed (unused).
4957 (LzmaEnc_RestoreState): Likewise.
4958 (LzmaEnc_InitPriceTables): Made static.
4959 (LzmaEnc_Construct): Likewise.
4960 (LzmaEnc_FreeLits): Likewise.
4961 (LzmaEnc_Destruct): Likewise.
4962 (LzmaEnc_Init): Likewise.
4963 (LzmaEnc_InitPrices): Likewise.
4964 (LzmaEnc_Finish): Likewise.
4965 (LzmaEnc_PrepareForLzma2): Removed (unused).
4966 (LzmaEnc_MemPrepare): Likewise.
4967 (LzmaEnc_GetNumAvailableBytes): Likewise.
4968 (LzmaEnc_GetCurBuf): Likewise.
4969 (LzmaEnc_CodeOneMemBlock): Likewise.
4970
4971 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4972
4973 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
4974 (grub_util_ldm_embed): Likewise.
4975
4976 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4977
4978 * util/grub-editenv.c (print_var): Rename name to varname to
4979 avoid shadowing.
4980 (main): Rename index to curindex to avoid shadowing.
4981 Make filename a const char *.
4982
4983 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4984
4985 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
4986 to arg_getline to avoid shadowing.
4987
4988 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4989
4990 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
4991 disk_ to avoid shadowing.
4992
4993 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4994
4995 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
4996 curindex to avoid shadowing.
4997 Make static.
4998 (MatchFinder_GetNumAvailableBytes): Make static.
4999
5000 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5001
5002 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
5003 avoid shadowing.
5004
5005 2012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5006
5007 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
5008 argument from encrypt to do_encrypt to avoid shadowing.
5009
5010 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5011
5012 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
5013 incorrect nesting of #if's.
5014
5015 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5016
5017 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
5018 checks which are always false on some platforms.
5019 (grub_cmd_lsacpi): Likewise.
5020 * grub-core/kern/misc.c (grub_strtoul): Likewise.
5021 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
5022 Likewise.
5023
5024 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5025
5026 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
5027 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
5028
5029 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5030
5031 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
5032 re_dfa_t to avoid breaking alignment invariants.
5033 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
5034 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
5035
5036 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5037
5038 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
5039 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
5040
5041 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5042
5043 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
5044 Fix declaration.
5045
5046 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5047
5048 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
5049 conserve alignment invariants.
5050 (grub_ehci_ehcc_read16): Likewise.
5051 (grub_ehci_oper_read32): Likewise.
5052 (grub_ehci_oper_write32): Likewise.
5053 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
5054 Conserve alignment invariants.
5055
5056 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5057
5058 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
5059 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
5060 declarations.
5061
5062 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5063
5064 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
5065 Remove unused variable.
5066
5067 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5068
5069 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
5070 Remove set in if.
5071
5072 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5073
5074 * include/grub/net.h: Remove double declarations.
5075
5076 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5077
5078 Remove "payload" command in ia64 Linux loader since I couldn't
5079 find any evidence of it being used for anything.
5080 Replace "relocate" command with an environment variable
5081
5082 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
5083 fields.
5084 (ia64_boot_payload): Removed.
5085 (last_payload): Likewise.
5086 (RELOCATE_OFF): Likewise.
5087 (RELOCATE_ON): Likewise.
5088 (RELOCATE_FORCE): Likewise.
5089 (relocate): Likewise.
5090 (free_pages): Don't free payloads.
5091 (grub_load_elf64): Use common error messages.
5092 Use "linux_relocate" variable.
5093 Increase the space after boot_params.
5094 (grub_cmd_payload): Removed.
5095 (grub_cmd_relocate): Likewise.
5096 (grub_cmd_fpswa): Improve messages.
5097 (cmd_payload): Removed.
5098 (cmd_relocate): Likewise.
5099 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
5100 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
5101
5102 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5103
5104 Convert UHCI to DMA framework.
5105
5106 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
5107 (grub_uhci_pci_iter): Fill new members
5108 (grub_alloc_td): Use P2V and V2P functions.
5109 (grub_free_queue): Likewise.
5110 (grub_alloc_qh): Likewise.
5111 (grub_uhci_setup_transfer): Likewise.
5112 (grub_uhci_check_transfer): Likewise.
5113
5114 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5115
5116 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
5117 Remove assignment in if while on it.
5118
5119 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5120
5121 * util/grub-mkstandalone.in: Fix modules directory.
5122
5123 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5124
5125 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
5126 on i386-pc target.
5127 (argp_parser): Accept "auto" as compression specification.
5128
5129 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5130
5131 Fix `help' with unloaded modules.
5132
5133 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
5134 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
5135 (grub_dyncmd_dispatcher): Small stylistic fix.
5136 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
5137 explicit help is requested.
5138
5139 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5140
5141 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
5142 Explicitly init restart while on it.
5143
5144 2012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5145
5146 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
5147 uninited variable.
5148
5149 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5150
5151 * util/grub-mknetdir.in: Use . rather than source for POSIX
5152 compatibility.
5153
5154 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5155
5156 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
5157
5158 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5159
5160 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
5161 variable.
5162
5163 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5164
5165 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
5166 without quotes.
5167
5168 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5169
5170 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
5171
5172 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5173
5174 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
5175 iteration of partitions.
5176
5177 2012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5178
5179 Improve gettext support. Stylistic fixes and error handling fixes while
5180 on it.
5181
5182 2012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5183
5184 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
5185 part. Instead setup the correct stack in RM.
5186 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
5187 for stack.
5188 * include/grub/i386/relocator_private.h: New file.
5189
5190 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5191
5192 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
5193 argument.
5194 * util/grub-fstest.c (options): Add missing DEVICE part.
5195
5196 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5197
5198 Clarify and unify messages.
5199
5200 * grub-core/commands/hashsum.c (options): Unify messages.
5201 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
5202 literal-only message as translatable.
5203 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
5204 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
5205 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
5206 commands.
5207 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
5208 key, not the key used to unlock. Clarify what it's used for.
5209 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
5210 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
5211 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
5212 * util/grub-editenv.c (options): Unify "verbose" message.
5213 * util/grub-fstest.c (read_file): Unify error message.
5214 (fstest): Add quotes around commands.
5215 (options): Unify "verbose" message.
5216 * util/grub-install.in: Add quotes around variable name.
5217 * util/grub-kbdcomp.in: Unify error message.
5218 * util/grub-mkfont.c (main): Likewise.
5219 * util/grub-mkrescue.in: Likewise.
5220 * util/grub-mklayout.c (options): Unify "verbose" message.
5221 * util/grub-mkstandalone.in: Unify help and verbose messages.
5222 * util/grub-mount.c (options): Unify "verbose" message.
5223 * util/grub-probe.c (options): Likewise.
5224 * util/grub-script-check.c (options): Likewise.
5225 * util/grub-setup.c (setup): Unify no-terminator message.
5226 (options): Use DEVICE and not DEV.
5227 Unify "verbose" message.
5228 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
5229
5230 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5231
5232 Improve and unify messages.
5233
5234 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
5235 name. All users updated.
5236 Print filename in error.
5237 (read_device_map): Print filename in error.
5238 * util/getroot.c (grub_guess_root_devices): Print filename in error.
5239 (grub_util_get_os_disk): Likewise.
5240 (grub_util_biosdisk_get_grub_dev): Likewise.
5241 (grub_util_check_block_device): Likewise.
5242 (grub_util_check_char_device): Likewise.
5243 (grub_make_system_path_relative_to_its_root): Likewise.
5244 * util/grub-editenv.c (create_envblk_file): Likewise.
5245 (open_envblk_file): Likewise.
5246 (write_envblk): Likewise.
5247 * util/grub-fstest.c (cmd_cp): Likewise.
5248 (cmd_cat): Likewise.
5249 (cmd_cmp): Likewise.
5250 * util/grub-menulst2cfg.c (main): Likewise.
5251 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
5252 (write_font_width_spec): Likewise.
5253 (write_font_pf2): Likewise.
5254 * util/grub-mkimage.c (generate_image): New argument outname.
5255 All users updated.
5256 Remove unreacheable message.
5257 (options): Unify messages.
5258 (help_filter): Likewise.
5259 * util/grub-mklayout.c (usage): Removed (unused).
5260 (main): Print filename in error.
5261 * util/grub-mkrescue.in: Fix wrong quoting.
5262 * util/grub-setup.c (setup): Print filename in error.
5263 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
5264 (check_sas): Likewise.
5265 * util/misc.c (grub_util_get_fp_size): Removed.
5266 (grub_util_get_image_size): Print filename in error.
5267 (grub_util_read_at): Removed.
5268 (grub_util_read_image): Print filename in error.
5269 (grub_util_load_image): Likewise.
5270 (grub_util_write_image_at): New argument filename. All users updated.
5271 Print filename in error.
5272 (grub_util_write_image): New argument filename. All users updated.
5273 Print filename in error.
5274 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
5275 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
5276
5277 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5278
5279 * grub-core/Makefile.core.def (pxechain): New module.
5280 * grub-core/loader/i386/pc/pxechainloader.c: New file.
5281 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
5282 function.
5283 (grub_pc_net_config_real): Use grub_pxe_get_cached.
5284 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
5285
5286 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5287
5288 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
5289 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
5290 * include/grub/err.h (grub_error_saved): New struct.
5291 (grub_errmsg): Make array size explicit.
5292 * include/grub/misc.h (grub_error_save): New function.
5293 (grub_error_load): Likewise.
5294 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
5295 (grub_error_push): Update `errno' member name.
5296 (grub_error_pop): Likewise
5297 * grub-core/net/tftp.c (tftp_data): New member save_err.
5298 (tftp_receive): Save error.
5299 (tftp_open): Restore error.
5300
5301 2012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5302
5303 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
5304 to real mode down to execute A20-related code in protected mode as
5305 intended.
5306
5307 2012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
5308
5309 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
5310 NULL when the argument `level' has an unexpected value.
5311
5312 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5313
5314 Move platform-dependent files from $prefix to $prefix/$platform.
5315
5316 * config.h.in (GRUB_TARGET_CPU): New definition.
5317 (GRUB_PLATFORM): Likewise.
5318 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
5319 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
5320 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
5321 * grub-core/kern/dl.c (grub_dl_load): Likewise.
5322 * grub-core/normal/autofs.c (read_fs_list): Likewise.
5323 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
5324 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
5325 * grub-core/normal/term.c (read_terminal_list): Likewise.
5326 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
5327 $prefix/locale.
5328 (grub_gettext_init_ext): Likewise.
5329 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
5330 grub_platform.
5331 * util/grub-install.in: Update directories.
5332 * util/grub-mknetdir.in: Likewise.
5333 * util/grub-mkrescue.in: Likewise.
5334
5335 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5336
5337 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
5338 grub_error framework. All users updated.
5339
5340 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5341
5342 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
5343 lists (by always binsearching), improve caching (cache strings
5344 used for binsearch, not only results), improve
5345 maintainability (by using more structured binary search) and correct
5346 error handling.
5347
5348 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5349
5350 * grub-core/script/execute.c (grub_script_return): Fix warning.
5351
5352 2012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5353
5354 * grub-core/script/execute.c (grub_script_return): Fix potential
5355 NULL-dereference.
5356 Reported by: Jim Meyering.
5357
5358 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5359
5360 * po/POTFILES.in: Regenerate.
5361 * util/grub-install.in: Gettextize the strings missed in first pass.
5362
5363 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5364
5365 * Makefile.util.def (grub-mkdevicemap): Removed.
5366 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
5367 * include/grub/util/deviceiter.h: Removed.
5368 * util/deviceiter.c: Likewise.
5369 * util/getroot.c (grub_util_get_os_disk): New function.
5370 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
5371 replacement for EFI.
5372 * util/grub-mkdevicemap.c: Removed.
5373 * util/grub-probe.c (probe): Handle PRINT_DISK.
5374 (argp_parser): Handle -t disk.
5375
5376 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5377
5378 * util/grub-mkfont.c: Migrate to argp.
5379 * util/grub-mklayout.c: Likewise.
5380 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5381 * util/grub-mkrelpath.c: Likewise.
5382 * util/grub-probe.c: Likewise.
5383 * util/grub-script-check.c: Likewise.
5384
5385 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5386
5387 * util/grub-reboot.in: Add missing datarootdir.
5388 Add missing newline.
5389 * util/grub-set-default.in: Add missing datarootdir.
5390 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
5391 * util/grub-mkrescue.in: Likewise.
5392
5393 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5394
5395 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
5396
5397 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5398
5399 * util/grub-kbdcomp.in: Add decent help and gettextize.
5400 * docs/man/grub-kbdcomp.h2m: New file.
5401
5402 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5403
5404 Migrate grub-mkimage.c to argp.
5405
5406 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
5407 (grub-setup): Likewise.
5408 * util/grub-setup.c (print_version): Move to ...
5409 * util/argp_common.c (print_version): ... here.
5410 * util/grub-setup.c (argp_program_version_hook): Move to ...
5411 * util/argp_common.c (argp_program_version_hook): ... here.
5412 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
5413 safety.
5414 * util/grub-mkimage.c (main): Migrate to argp.
5415
5416 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5417
5418 * util/grub-mkrescue.in: Use same message as
5419 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
5420 for better translations.
5421
5422 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5423
5424 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
5425 options with generic grub-mkrescue.in with the goal of future
5426 merge.
5427
5428 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5429
5430 * grub-core/kern/mm.c: Add missing include of i18n.h
5431 * grub-core/lib/relocator.c: Likewise.
5432
5433 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5434
5435 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
5436 error.
5437 (allocate_pages): Check return value.
5438 Replace fatal with error.
5439 (grub_linux_boot): Replace printf with dprintf.
5440 Check find_mmap_size return value.
5441 Replace fatal with error.
5442 Don't call grub_machine_fini.
5443 (grub_load_elf64): Replace printf with dprintf.
5444 (grub_cmd_linux): Likewise.
5445 (grub_cmd_initrd): Likewise.
5446 (grub_cmd_payload): Likewise.
5447
5448 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5449
5450 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
5451 message.
5452 * grub-core/video/radeon_fuloong2e.c
5453 (grub_video_radeon_fuloong2e_setup): Likewise.
5454 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
5455 * grub-core/video/video.c (grub_video_set_mode): Don't override
5456 standard out of memory message.
5457
5458 2012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5459
5460 NetBSD disk wedge support.
5461
5462 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
5463 [__NetBSD__]: Handle NetBSD disk wedges.
5464 * util/getroot.c (convert_system_partition_to_system_disk)
5465 [__NetBSD__]: Likewise.
5466
5467 2012-02-03 Mark Wooding <mdw@distorted.org.uk>
5468
5469 * util/grub-mkconfig.in: Use umask rather than chmod to create
5470 grub.cfg.new to avoid insecure grub.cfg.
5471
5472 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5473
5474 * grub-core/commands/ls.c: Gettextize.
5475 * grub-core/commands/setpci.c: Likewise.
5476 * grub-core/commands/videotest.c: Likewise.
5477 * grub-core/disk/geli.c: Likewise.
5478 * grub-core/kern/mm.c: Likewise.
5479 * grub-core/lib/relocator.c: Likewise.
5480 * grub-core/loader/efi/appleloader.c: Likewise.
5481 * grub-core/loader/i386/xnu.c: Likewise.
5482 * grub-core/loader/ia64/efi/linux.c: Likewise.
5483 * grub-core/loader/xnu.c: Likewise.
5484 * grub-core/net/dns.c: Likewise.
5485 * grub-core/net/net.c: Likewise.
5486 * grub-core/script/lexer.c: Likewise.
5487 * grub-core/script/parser.y: Likewise.
5488 * grub-core/script/yylex.l: Likewise.
5489 * util/getroot.c: Likewise.
5490 * util/grub-setup.c: Likewise.
5491
5492 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5493
5494 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
5495 number.
5496
5497 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5498
5499 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
5500
5501 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5502
5503 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
5504 macro.
5505 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
5506 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
5507
5508 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5509
5510 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
5511 * util/grub-install.in: Gettextize.
5512 * util/grub-mkconfig.in: Likewise.
5513 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
5514 if not available.
5515 (grub_warn): Gettextize.
5516 * util/grub-mknetdir.in: Gettextize.
5517 * util/grub-mkrescue.in: Likewise.
5518 * util/grub-mkstandalone.in: Likewise.
5519 * util/grub-reboot.in: Likewise.
5520 * util/grub-set-default.in: Likewise.
5521 * util/grub.d/00_header.in: Likewise.
5522 * util/grub.d/10_hurd.in: Likewise.
5523 * util/grub.d/10_kfreebsd.in: Likewise.
5524 * util/grub.d/10_linux.in: Likewise.
5525 * util/grub.d/10_netbsd.in: Likewise.
5526 * util/grub.d/10_windows.in: Likewise.
5527 * util/grub.d/20_linux_xen.in: Likewise.
5528 * util/grub.d/30_os-prober.in: Likewise.
5529 * po/POTFILES-shell.in: Regenerate.
5530
5531 2012-02-03 Richard Laager <rlaager@wiktel.com>
5532
5533 * util/grub-mkimage.c (main): Fix format-security warning.
5534 * util/grub-mkrelpath.c (main): Likewise.
5535 * util/grub-probe.c (main): Likewise.
5536
5537 2012-02-03 Richard Laager <rlaager@wiktel.com>
5538
5539 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
5540 failure.
5541 Put back lost PRINT_DRIVE.
5542
5543 2012-02-03 Richard Laager <rlaager@wiktel.com>
5544
5545 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
5546 (grub_guess_root_devices): Replace strlen with sizeof.
5547 Avoid crash.
5548 (find_root_devices_from_poolname): Remove unused variable.
5549 Handle raidzN.
5550
5551 2012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5552
5553 Support install on multi-device filesystems.
5554
5555 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
5556 (grub_guess_root_devices): ...this. Return char **. All users updated.
5557 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
5558 Removed.
5559 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
5560 (find_root_devices_from_poolname): ... here.
5561 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
5562 Support zfs-fuse.
5563 (grub_guess_root_device): Rename to ...
5564 (grub_guess_root_devices): ... this. Return char **. All users updated.
5565 * util/grub-install.in: Handle multi-device filesystems.
5566 * util/grub-probe.c (probe). Make device_names a char **. Add delim
5567 argument. All users updated.
5568 Handle multi-device filesystems.
5569 Use 'delim' as separator.
5570 Remove device check to allow filesystems on file.
5571 (main): Support -0 argument. Handle multi-device.
5572 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
5573 Fix a cross-device check while on it.
5574 (arguments): Remove root_dev.
5575 (argp_parser): Remove -r.
5576 (main): Remove root_dev.
5577
5578 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5579
5580 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
5581
5582 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5583
5584 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
5585 symbol.
5586 Reported by: NODA, Kai <nodakai>.
5587
5588 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5589
5590 Fix ehci on amd64.
5591
5592 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
5593 pointers.
5594 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
5595 (grub_ehci_setup_qh): Likewise.
5596 (grub_ehci_find_qh): Likewise.
5597 (grub_ehci_transaction): Likewise.
5598 (grub_ehci_setup_transfer): Likewise.
5599 (grub_ehci_check_transfer): Likewise.
5600 (grub_ehci_portstatus): Likewise.
5601 (grub_ehci_detect_dev): Likewise.
5602 (grub_ehci_transfer_controller_data): New field td_last_phys.
5603 (grub_ehci_setup_transfer): Fill td_last_phys.
5604 (grub_ehci_check_transfer): Use td_last_phys.
5605
5606 2012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
5607
5608 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
5609 if no submenu is present.
5610
5611 2012-02-01 Aleš Nesrsta <starous@volny.cz>
5612
5613 CBI support.
5614
5615 * include/grub/usb.h (grub_usbms_protocol_t): New values
5616 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
5617 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
5618 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
5619 (grub_usbms_dev): Add subclass, protocol and intrpt.
5620 Remove in_maxsz and out_maxsz.
5621 (grub_usbms_reset): Rename to ...
5622 (grub_usbms_bo_reset): .. this.
5623 (grub_usbms_cbi_cmd): New function.
5624 (grub_usbms_cbi_reset): Likewise.
5625 (grub_usbms_reset): Likewise.
5626 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
5627 (grub_usbms_transfer): Rename to ...
5628 (grub_usbms_transfer_bo): ... this.
5629 (grub_usbms_transfer_cbi): Likewise.
5630 (grub_usbms_transfer): Likewise.
5631
5632 2012-02-01 Aleš Nesrsta <starous@volny.cz>
5633 2012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5634
5635 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
5636 the support for the CS5536 modification thereos and few bugfixes.
5637
5638 * grub-core/Makefile.core.def (ehci): New module.
5639 * grub-core/bus/usb/ehci.c: New file.
5640 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
5641 port and hubaddr. All users updated.
5642 Save port and hubaddr into dev structure.
5643 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
5644 define.
5645 * include/grub/pci.h (grub_dma_phys2virt): New function.
5646 (grub_dma_virt2phys): Likewise.
5647 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
5648
5649 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5650
5651 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
5652 check as some mkfs implementations omit it.
5653
5654 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5655
5656 * docs/grub.texi (Unicode): Mention identifier and space limitations.
5657
5658 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5659
5660 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
5661 Add new member volname2.
5662 (grub_jfs_label): Use volname2 if available.
5663
5664 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5665
5666 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
5667 over last_mounted as seen in image generated by mkfs.nilfs2.
5668 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
5669
5670 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5671
5672 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
5673 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
5674 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
5675
5676 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5677
5678 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
5679 over the sector.
5680
5681 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5682
5683 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
5684 subvolume name (by removing a bogus and useless check).
5685
5686 2012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5687
5688 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
5689 sizeof while on it.
5690
5691 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5692
5693 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
5694 (grub_scsi_read_capacity10): ... this.
5695 (grub_scsi_read_capacity16): New function.
5696 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
5697 0xffffffff.
5698 Fix off-by-one error.
5699 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
5700 64-bit unsigned.
5701 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
5702 (grub_scsi_read_capacity10): ... this.
5703 (grub_scsi_read_capacity_data): Rename to ...
5704 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
5705 (grub_scsi_read_capacity16): New struct.
5706 (grub_scsi_read_capacity16_data): Likewise.
5707 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
5708 grub_scsi_cmd_read_capacity10.
5709 New command grub_scsi_cmd_read_capacity16.
5710
5711 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5712
5713 SCSI >2TiB support.
5714
5715 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
5716 (grub_scsi_write16): Likewise.
5717 (grub_scsi_read): Use read16 when necessary.
5718 (grub_scsi_write): Likewise.
5719 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
5720 (grub_scsi_write16): Likewise.
5721 (grub_scsi_cmd_t): Add READ16 and WRITE16.
5722
5723 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5724
5725 SCSI write support (for usbms mainly).
5726
5727 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
5728 a const pointer.
5729 (grub_scsi_write): Implement.
5730 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
5731
5732 2012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5733
5734 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
5735 variable.
5736
5737 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5738
5739 * grub-core/lib/posix_wrap/string.h (memchr): New function.
5740
5741 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5742
5743 * po/POTFILES.in: Regenerate.
5744
5745 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5746
5747 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
5748 with grub_printf to avoid unnecessary fatal failure.
5749
5750 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5751
5752 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
5753 (INT_MAX): Likewise.
5754 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
5755 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
5756 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
5757 (strcpy): Likewise.
5758 (strstr): Likewise.
5759 (strchr): Likewise.
5760 (strncpy): Likewise.
5761 (strcat): Likewise.
5762 (strncat): Likewise.
5763 (strcoll): Likewise.
5764 * include/grub/types.h (GRUB_SHRT_MAX): New define.
5765 (GRUB_INT_MAX): Likewise.
5766
5767 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5768
5769 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
5770 unexpected error.
5771 (optimize_utf8): Likewise.
5772 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
5773
5774 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5775
5776 * grub-core/boot/i386/pc/lnxboot.S: Use
5777 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
5778 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
5779 location.
5780 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
5781 definition.
5782 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
5783
5784 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5785
5786 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
5787 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
5788 now to avoid double free.
5789 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
5790 hostdisk.
5791 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
5792 * util/grub-probe.c (escape_of_path): Always return a new copy.
5793 (print_full_name): Escape path.
5794 (probe): Don't call grub_util_devname_to_ofpath on NULL.
5795 Fix hints on abstractions.
5796
5797 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5798
5799 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
5800 Don't add "root" line if no compatibility hont is available.
5801 Suggested by: Seth Goldberg.
5802
5803 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5804
5805 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
5806 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
5807 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
5808 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
5809
5810 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5811
5812 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
5813
5814 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5815
5816 * util/grub-pe2elf.c (ehdr): Make static.
5817 (shdr): Likewise.
5818 (num_sections): Likewise.
5819 (offset): Likewise.
5820
5821 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5822
5823 Eliminate ofpath limits and possible overflows.
5824
5825 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
5826 (OF_PATH_MAX): Removed.
5827 (MAX_DISK_CAT): New const.
5828 (find_obppath): Use allocated rather than preallocated buffer.
5829 Return result. Argument of_path removed. All users updated.
5830 Add missing fdstat.
5831 (xrealpath): New function.
5832 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
5833 Allocate rather than use preallocated buffer. All users updated.
5834 (__of_path_common): Use allocated rather than preallocatecd buffer.
5835 Return result. Argument of_path removed. All users updated.
5836 (vendor_is_ATA): Read only needed part form the file.
5837 (check_sas): Allocate depending on contents rather than fixed.
5838 (main) [STANDALONE]: Handle NULL result.
5839
5840 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5841
5842 * grub-core/normal/completion.c (iterate_dev): Close the disk.
5843
5844 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5845
5846 Cryptodisk write support.
5847
5848 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
5849 (grub_cryptodisk_decrypt): Moved logic to ...
5850 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
5851 (grub_cryptodisk_write): Implement.
5852 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
5853 (grub_util_fd_write): ... this. Make global.
5854 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
5855
5856 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5857
5858 * include/grub/list.h (grub_list_remove): Don't crash if element is
5859 removed twice.
5860
5861 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5862
5863 Rename ofconsole to console.
5864
5865 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
5866 as sysnonym to console.
5867 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
5868 * grub-core/term/ieee1275/console.c: ... this. All users updated.
5869 Rename grub_ofconsole_ to grub_console_. All users updated
5870 (grub_console_term_output): Rename "ofconsole" to "console".
5871 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
5872 as "console".
5873
5874 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5875
5876 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
5877 handling.
5878 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
5879 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
5880 GRUB_DISK_DEVICE_FILE_ID.
5881
5882 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5883
5884 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
5885 and improve performance.
5886
5887 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5888
5889 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
5890 missing ieee1275/ prefix on whole disk.
5891
5892 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5893
5894 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
5895 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
5896
5897 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5898
5899 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
5900
5901 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5902
5903 Merge common RAID and LVM logic to an abstract diskfilter.
5904 Add LDM support using the same framework.
5905
5906 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
5907 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
5908 (libgrubmods): Remove grub-core/disk/raid.c and
5909 grub-core/partmap/gpt.c.
5910 * grub-core/Makefile.core.def (ldm): New module.
5911 (raid): Renamed to diskfilter. All users updated.
5912 * grub-core/disk/raid.c: Moved to ...
5913 * grub-core/disk/diskfilter.c: ... here.
5914 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
5915 (lv_num): New var.
5916 (find_array): Renamed to ...
5917 (find_lv): ... this. Support multi-LV. Skip nameless LVs
5918 (grub_is_array_readable): Renamed to ...
5919 (grub_is_lv_readable): ... this. Support multinode hierarchy.
5920 (insert_array): New argument id.
5921 (is_node_readable): New function.
5922 (scan_device): Rename to ...
5923 (scan_disk): .. this. Restrict to one disk.
5924 (scan_devices): New function.
5925 (grub_diskfilter_iterate): Support multi-LV.
5926 Skip invisible and nameless LVs.
5927 (grub_diskfilter_memberlist): Support multi-LV.
5928 (grub_diskfilter_read_node): New function.
5929 (grub_raid_read): Most of logic moved to ...
5930 (read_segment): ... here
5931 (read_lv): New function.
5932 (grub_diskfilter_get_vg_by_uuid): New function.
5933 (grub_diskfilter_make_raid): Likewise.
5934 * grub-core/disk/ldm.c: New file.
5935 * grub-core/disk/lvm.c (vg_list): Removed.
5936 (lv_count): Likewise.
5937 (scan_depth): Likewise.
5938 (is_lv_readable): Likewise.
5939 (grub_lvm_getvalue): Advance pointer past the number.
5940 (find_lv): Removed.
5941 (do_lvm_scan): Refactored into ...
5942 (grub_lvm_detect): ... this. Support raid.
5943 (grub_lvm_iterate): Removed.
5944 (grub_lvm_memberlist): Likewise.
5945 (grub_lvm_open): Likewise.
5946 (grub_lvm_close): Likewise.
5947 (read_lv): Likewise.
5948 (read_node): Likewise.
5949 (is_node_readable): Likewise.
5950 (is_lv_readable): Likewise.
5951 (grub_lvm_read): Likewise.
5952 (grub_lvm_write): Likewise.
5953 (grub_lvm_dev): Use diskfilter
5954 (GRUB_MOD_INIT): Likewise.
5955 (GRUB_MOD_FINI): Likewise.
5956 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
5957 new interface.
5958 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
5959 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5960 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
5961 grub_diskfilter_read_node.
5962 Fix a bug with xor.
5963 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
5964 grub_diskfilter_read_node.
5965 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
5966 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
5967 (grub_disk_dev_iterate): Move from here...
5968 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
5969 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
5970 Make global.
5971 (grub_hostdisk_find_partition_start): Likewise.
5972 (grub_hostdisk_os_dev_to_grub_drive): New function.
5973 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
5974 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
5975 * util/getroot.c (make_device_name): ... here.
5976 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
5977 Move to ...
5978 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
5979 * grub-core/kern/emu/hostdisk.c
5980 (convert_system_partition_to_system_disk): Move to ...
5981 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
5982 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
5983 * util/getroot.c (device_is_wholedisk): ... here.
5984 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
5985 * util/getroot.c (find_system_device): ... here.
5986 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
5987 Move to ...
5988 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
5989 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
5990 Move to ...
5991 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
5992 Handle LDM.
5993 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
5994 Move to ...
5995 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
5996 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
5997 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
5998 DISKFILTER.
5999 * include/grub/raid.h: Renamed to ...
6000 * include/grub/diskfilter.h: ... this.
6001 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
6002 (GRUB_RAID_LAYOUT_*): Make into array.
6003 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
6004 (grub_diskfilter_vg): New struct.
6005 (grub_diskfilter_pv_id): Likewise.
6006 (grub_raid_member): Removed.
6007 (grub_raid_array): Likewise.
6008 (grub_diskfilter_pv): New struct.
6009 (grub_diskfilter_lv): Likewise.
6010 (grub_diskfilter_segment): Likewise.
6011 (grub_diskfilter_node): Likewise.
6012 (grub_diskfilter_get_vg_by_uuid): New proto.
6013 (grub_raid_register): Inline.
6014 (grub_diskfilter_unregister): Likewise.
6015 (grub_diskfilter_make_raid): New proto.
6016 (grub_diskfilter_vg_register): Likewise.
6017 (grub_diskfilter_read_node): Likewise.
6018 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
6019 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
6020 (grub_util_is_ldm): Likewise.
6021 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
6022 (grub_hostdisk_find_partition_start): Likewise.
6023 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
6024 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
6025 New definition.
6026 (grub_gpt_partition_map_iterate): New proto.
6027 * include/grub/lvm.h (grub_lvm_vg): Removed.
6028 (grub_lvm_pv): Likewise.
6029 (grub_lvm_lv): Likewise.
6030 (grub_lvm_segment): Likewise.
6031 (grub_lvm_node): Likewise.
6032 * util/getroot.c [...]
6033 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
6034 (probe_abstraction): Likewise.
6035 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
6036 (main): Remove dead logic.
6037
6038 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
6039
6040 Simplify root device discover and don't fail when trying to open
6041 incorrect devices.
6042
6043 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
6044 function.
6045 (get_diskname_from_path): Likewise.
6046 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
6047 of iterating.
6048
6049 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6050
6051 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
6052
6053 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6054
6055 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
6056 pastthe end.
6057
6058 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6059
6060 * util/grub-install.in: Add missing \.
6061 Reported by: gentoofan
6062
6063 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
6064
6065 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
6066 (direct_read): Use correct compressed size.
6067 (grub_squash_read_data): Likewise.
6068
6069 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
6070
6071 * docs/grub.texi (Platform limitations): New section.
6072 (Platform-specific operations): Likewise.
6073 * docs/grub-dev.texi (Porting): Likewise.
6074
6075 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6076
6077 IEEE1275 disk write support.
6078
6079 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
6080 const void *.
6081 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
6082 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
6083 and seek loginc to ...
6084 (grub_ofdisk_prepare): ... here.
6085 (grub_ofdisk_write): Implement.
6086
6087 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6088
6089 ARC disk write support.
6090
6091 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
6092 (reopen): New argument writable. All users updated.
6093 Handle required access mode.
6094 (grub_arcdisk_write): Implement.
6095 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
6096 (grub_arc_firmware_vector): Make buffer to write a const buffer.
6097
6098 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6099
6100 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
6101 (read_sblock): Don't attempt to read superblocks outside the disk size.
6102
6103 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6104
6105 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
6106 first superblock to find the second one when possible.
6107
6108 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 * util/grub-install.in: Fix an ARC bug.
6111 Print a warning if no platform-specific setup is available.
6112
6113 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6114
6115 Use static allocation rather than scratch pointer in reed_solomon.
6116 It decreases its size significantly and avoids a variable in .text.
6117
6118 * grub-core/lib/reed_solomon.c (scratch): Removed.
6119 (chosenstat): New const or static array.
6120 (sigma): Likewise.
6121 (errpot): Likewise.
6122 (errpos): Likewise.
6123 (sy): Likewise.
6124 (mstat): Likewise.
6125 (errvals): Likewise.
6126 (eqstat): Likewise.
6127 (pol_evaluate): Replace x with log_x argument. All users updated.
6128 (syndroms): Removed.
6129 (gauss_solve): Use statically allocated arrays.
6130 (rs_recover): Likewise.
6131 Calculate syndroms directly.
6132 (decode_block): Use statically allocated arrays.
6133 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
6134 (main) [TEST]: Allow -DTEST -DSTANDALONE.
6135
6136 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6137
6138 Eliminate fixed limit on reed solomon decoder length.
6139
6140 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
6141 rather than hardcoding the address.
6142 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
6143 no_reed_solomon_length.
6144 Move gate_a20 to no-reed-solomon part.
6145 Don't force a particular size of no reed-solomon part.
6146 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
6147 Removed.
6148 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
6149 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
6150
6151 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6152
6153 * grub-core/commands/wildcard.c (match_files): Handle filenames
6154 without explicit device.
6155 (wildcard_expand): Don't add explicit device if not already present.
6156 * tests/grub_script_echo1.in: Add a new expansion test.
6157
6158 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6159
6160 Replace single-linked with double-linked lists. It results in more
6161 compact and more efficient code.
6162
6163 * grub-core/kern/list.c (grub_list_push): Moved from here ...
6164 * include/grub/list.h (grub_list_push): ... to here. Set prev.
6165 (grub_list_remove): Moved from here ...
6166 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
6167 (grub_prio_list_insert): Set prev.
6168 * include/grub/list.h (grub_list): Add prev. All users updated.
6169
6170 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6171
6172 Handle newer autotools. Add some missing quotes while on it.
6173
6174 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
6175 (pkglib_DATA): Move grub-mkconfig_lib from here ...
6176 (pkgdata_DATA): ... here.
6177 * Makefile.util.def (update-grub_lib): Removed.
6178 * conf/Makefile.common (pkglib_DATA): Removed.
6179 (pkglib_SCRIPTS): Likewise.
6180 (pkgdata_DATA): New variable.
6181 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
6182 needed.
6183 Add missing quotes.
6184 Remove unused variable while on it.
6185 * tests/util/grub-shell.in: Likewise.
6186 * util/grub-install.in: Likewise.
6187 * util/grub-mkconfig.in: Likewise.
6188 * util/grub-mknetdir.in: Likewise.
6189 * util/grub-mkrescue.in: Likewise.
6190 * util/grub-mkstandalone.in: Likewise.
6191 * util/grub.d/00_header.in: Likewise.
6192 * util/grub.d/10_hurd.in: Likewise.
6193 * util/grub.d/10_illumos.in: Likewise.
6194 * util/grub.d/10_kfreebsd.in: Likewise.
6195 * util/grub.d/10_linux.in: Likewise.
6196 * util/grub.d/10_netbsd.in: Likewise.
6197 * util/grub.d/10_windows.in: Likewise.
6198 * util/grub.d/20_linux_xen.in: Likewise.
6199 * util/grub.d/30_os-prober.in: Likewise.
6200 * util/update-grub_lib.in: Removed.
6201
6202 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
6203
6204 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
6205 a workaround for intel problem.
6206
6207 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
6208 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
6209 2012-01-23 pfsmorigo
6210
6211 * util/grub-install.in: Support dd'in into PreP partition.
6212 * util/grub-probe.c (probe): Support discovering partition type.
6213 (main): Support -t msdos_parttype.
6214
6215 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
6216
6217 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
6218 infinite recursion using counter.
6219 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
6220 init to skip it if the magic check fails.
6221 (dec_stream_header): Init s->crc32.
6222
6223 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6224 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
6225 2012-01-22 Richard Laager <rlaager@wiktel.com>
6226
6227 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
6228 All users updated.
6229 (find_bestub): Determine correct size.
6230 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
6231 (scan_disk): Align the size down.
6232 Call check pool before find_bestub to have ashift.
6233
6234 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6235
6236 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
6237 dprintf in no-malloc zone.
6238
6239 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
6240
6241 * configure.ac: Add back in test for limits.h.
6242
6243 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6244
6245 Support 4K-sector NTFS.
6246
6247 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
6248 (grub_ntfs_data): Remove blocksize.
6249 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
6250 Remove data argument. All users updated.
6251
6252 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6253
6254 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
6255 being in .text to avoid dprel references.
6256 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
6257 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
6258 (grub_arch_highmemsize): Likewise.
6259 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
6260 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
6261 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
6262
6263 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
6266
6267 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
6268 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
6269
6270 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6271
6272 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
6273 GRUB_UTIL.
6274 (grub_set_datetime_cmos): Likewise.
6275
6276 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6277
6278 Make XZ compression parameters dependent on target and not host CPU.
6279
6280 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
6281 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
6282
6283 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6284
6285 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
6286 set but not used variable.
6287
6288 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6289
6290 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
6291 created when no uuid support is compiled into mkfs.reiser.
6292
6293 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6294
6295 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
6296 (utf8_to_macroman): Do the opposite.
6297 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
6298
6299 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6300
6301 * configure.ac: Refise build qemu_mips w/o unifont.
6302
6303 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6304
6305 Eliminate grub_min/grub_max prone to overflow usage.
6306
6307 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
6308 (poll_nonroot_hub): Likewise.
6309 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
6310 (grub_affs_label): Likewise.
6311 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
6312 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
6313 (grub_hfs_label): Likewise.
6314 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
6315 * grub-core/fs/zfs/zfs.c (MIN): Remove.
6316 (zap_leaf_array_equal): Use grub_size. Remove MIN.
6317 (zap_leaf_array_get): Likewise.
6318 (dnode_get_path): Likewise.
6319 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
6320 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
6321 * grub-core/script/execute.c (grub_script_break): Likewise.
6322 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
6323 grub_max.
6324 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
6325 * include/grub/misc.h (grub_min): Removed.
6326 (grub_max): Likewise.
6327
6328 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
6329
6330 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
6331 direct.inode = 0.
6332
6333 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6334
6335 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
6336
6337 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6338
6339 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
6340
6341 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6342
6343 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
6344 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
6345
6346 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6347
6348 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
6349 rather than a hack for grub_strncasemap.
6350
6351 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6352
6353 Support multiple initrds
6354 Note: part of this was accidently committed in r3739.
6355
6356 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
6357 initrd.
6358 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
6359 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
6360 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6361 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6362 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6363
6364 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6365
6366 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
6367 disks with unknown size.
6368 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
6369
6370 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6371
6372 Remove defines pertaining to arbitrary limits not affecting GRUB
6373 anymore.
6374
6375 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
6376 (EXT2_MAX_SYMLINKCNT): Likewise.
6377 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
6378 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
6379 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
6380 (GRUB_PXE_MAX_BLKSIZE): Likewise.
6381 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
6382 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
6383 (DN_MAX_OBJECT_SHIFT): Likewise.
6384 (DN_MAX_OFFSET_SHIFT): Likewise.
6385 (DN_MAX_OBJECT): Likewise.
6386 (DNODES_PER_LEVEL_SHIFT): Likewise.
6387 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
6388 (SPA_MAXBLOCKSIZE): Likewise.
6389 (SPA_BLOCKSIZES): Likewise.
6390 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
6391 (MZAP_MAX_BLKSZ): Likewise.
6392
6393 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6394
6395 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
6396 handle NULL appropriately.
6397 Remove MIN.
6398
6399 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6400
6401 Fix efiemu.
6402
6403 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
6404 cpu/types.h.
6405 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
6406 * configure.ac: Fix efiemu check.
6407
6408 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6409
6410 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
6411 grub_probe.
6412 Reported by: adamwill
6413
6414 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
6415
6416 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
6417
6418 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6419
6420 Fix handling of wide characters in gfxterm.
6421
6422 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
6423 (clear_char): Likewise.
6424 (paint_char): Skip code == NULL chars.
6425 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
6426
6427 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6428
6429 * grub-core/normal/charset.c: Move comment to right place.
6430
6431 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6432
6433 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
6434 (GRUB_AFFS_FLAG_FFS): Put back where it was.
6435 (grub_affs_mount): Revert the correct version checking.
6436
6437 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6438
6439 * docs/grub.texi (Unicode): Mention several other unsupported features.
6440
6441 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6442
6443 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
6444 case statements as compile-time one.
6445 (direct_read): Prevent spurious warnings.
6446 (grub_squash_read_data): Likewise.
6447
6448 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6449
6450 Various squash4 fixes and LZO and XZ support.
6451
6452 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
6453 Add xzembed source files.
6454 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
6455 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
6456 (grub_squash_inode): New subtype long_dir.
6457 (SQUASH_TYPE_LONG_DIR): New inode type.
6458 (COMPRESSION): New enum.
6459 (XZBUFSIZ): New const.
6460 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
6461 (read_chunk): Use data->decompress.
6462 (zlib_decompress): New function.
6463 (lzo_decompress): Likewise.
6464 (xz_decompress): Likewise.
6465 (squash_mount): Set new data fields.
6466 (grub_squash_iterate_dir): Handle long dir.
6467 (squash_unmount): Free xzdec and xzbuf.
6468 (grub_squash_open): Check ino type.
6469 (direct_read): Stylistic fixes. Use data->decompress.
6470 (grub_squash_read_data): Likewise.
6471 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
6472 (get_byte): Likewise.
6473 (grub_zlib_disk_read): Removed.
6474 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
6475 (GRUB_POSIX_BOOL_DEFINED): New define.
6476 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
6477 * grub-core/lib/xzembed/xz.h: Addmissing includes.
6478 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
6479 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
6480
6481 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6482
6483 Don't override more informative errors.
6484
6485 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
6486 * grub-core/font/font.c (open_section): Likewise.
6487 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
6488 filename. Don't override errors.
6489 (grub_cmd_openbsd_ramdisk): Don't override errors.
6490 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
6491 (grub_cmd_initrd): Likewise.
6492 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6493 (grub_cmd_initrd): Likewise.
6494 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
6495 (grub_cmd_linux): Likewise.
6496 (grub_cmd_initrd): Likewise.
6497 (grub_cmd_payload): Likewise.
6498 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6499 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
6500 (grub_cmd_module): Likewise.
6501 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6502 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6503 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
6504 (grub_cmd_xnu_mkext): Likewise.
6505 (grub_cmd_xnu_ramdisk): Likewise.
6506 (grub_xnu_check_os_bundle_required): Likewise.
6507 (grub_xnu_load_kext_from_dir): Likewise.
6508 (grub_cmd_xnu_kextdir): Likewise.
6509 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
6510
6511 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6512
6513 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
6514 as 1024 in block size field. Found on one of my test images.
6515 Small optimisation while on it.
6516
6517 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6518
6519 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
6520 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
6521 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
6522 performance fixes while on it.
6523 (grub_sfs_close): Fix memory leak while on it.
6524 (grub_sfs_label): Convert Latin1 to UTF-8.
6525
6526 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6527
6528 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
6529 space to avoid overflows.
6530 (grub_hfs_label): Convert from macroman to UTF-8.
6531
6532 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6533
6534 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
6535
6536 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6537
6538 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
6539
6540 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6541
6542 * unicode: Import Unicode 6.0 data.
6543
6544 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6545
6546 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
6547 outside of range.
6548
6549 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6550
6551 Avoid cutting in the middle of UTF-8 character.
6552
6553 * include/grub/charset.h (grub_getend): New function.
6554 * grub-core/script/function.c (grub_script_function_find): Use
6555 grub_getend.
6556 * grub-core/normal/completion.c (add_completion): Likewise.
6557
6558 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6559
6560 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
6561 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
6562 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
6563 (GRUB_UNICODE_TAG_END): Likewise.
6564 (GRUB_UNICODE_LAST_VALID): Likewise.
6565
6566 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6567
6568 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
6569 len and make it smaller. All users updated.
6570 * util/import_unicode.py: Put length and not end character.
6571 Check length.
6572
6573 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6574
6575 Make better Unicode-compliant and unify some UTF-8 code pathes.
6576
6577 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
6578 valid character.
6579 (grub_is_valid_utf8): Use grub_utf8_process.
6580 Check resulting code range.
6581 (grub_utf8_to_ucs4): Use grub_utf8_process.
6582 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
6583 valid character.
6584
6585 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6586
6587 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
6588
6589 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6590
6591 * docs/grub.texi (Filesystems): Mention AFS.
6592
6593 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6594
6595 * docs/grub.texi (Filesystems): Clarify restrictions.
6596 (Regexp): Mention non-Unicode regexp behaviour.
6597 (Other): Mention non-Unicode matching behaviour.
6598
6599 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6600
6601 Make HFS implementation use MacRoman.
6602
6603 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
6604 (macroman): New const array.
6605 (macroman_to_utf8): New function.
6606 (utf8_to_macroman): Likewise.
6607 (grub_hfs_find_dir): Use utf8_to_macroman.
6608 (grub_hfs_dir): Use macroman_to_utf8.
6609 Set case_insensitive.
6610
6611 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6612
6613 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
6614
6615 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6616
6617 Integrate hints into autogeneration scripts.
6618
6619 * docs/grub.texi (Filesystems): Add a hostdisk example.
6620 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
6621 (grub-probe): Add ofpath.
6622 * gentpl.py: Remove group nosparc64.
6623 * grub-core/commands/search.c (cache_entry): New struct.
6624 (cache): New var.
6625 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
6626 * grub-core/commands/search_wrap.c (options): Add platform-specific
6627 hint options.
6628 (grub_cmd_search): Handle platform-specific hints.
6629 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
6630 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
6631 (grub_util_biosdisk_data): Likewise.
6632 (grub_util_biosdisk_open): Set device_map.
6633 (read_device_map): Handle "" as indication of no map.
6634 Set device_map.
6635 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
6636 (grub_util_biosdisk_get_compatibility_hint): New function.
6637 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
6638 * include/grub/emu/hostdisk.h
6639 (grub_util_biosdisk_get_compatibility_hint): New proto.
6640 * util/grub-install.in: Don't call grub-mkdevicemap.
6641 Add platform-specific hint to load.cfg.
6642 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
6643 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
6644 hints. Set root preliminary to compatibility hint, not to OS name.
6645 * util/grub-probe.c (PRINT_*): Add hints.
6646 (print): Make static.
6647 (escape_of_path): New function.
6648 (guess_bios_drive): Likewise.
6649 (guess_efi_drive): Likewise.
6650 (guess_baremetal_drive): Likewise.
6651 (print_full_name): Likewise.
6652 (probe): Handle hints.
6653 (main): Likewise.
6654 * util/ieee1275/devicemap.c: Removed.
6655 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
6656 updated.
6657 (grub_util_devname_to_ofpath): Return NULL on failure.
6658
6659 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
6660 resource leak.
6661 * util/getroot.c (grub_util_pull_device): Fix memory leak.
6662
6663 * po/POTFILES.in: Regenerated.
6664
6665 Allow purely long options
6666
6667 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
6668 (SHORT_ARG_USAGE): Likewise.
6669 (grub_arg_show_help): Compare opt with help_options.
6670 (parse_option): Receive opt as argument. If makes big simplificatons.
6671 All users updated
6672
6673 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6674
6675 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
6676 Restructure to avoid warning.
6677
6678 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6679
6680 * util/grub-install.in: Account for possible escaped comma in device
6681 name.
6682
6683 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6684
6685 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
6686 channel.
6687
6688 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6689
6690 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
6691 allocation and zero-setting.
6692 (grub_ieee1275_get_devname): Check that alias is complete.
6693
6694 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6695
6696 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
6697 unaligned segments.
6698
6699 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6700
6701 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
6702 prefix.
6703 (grub_ofdisk_open): Check and discard ieee1275 prefix.
6704 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6705 Add ieee1275 prefix.
6706
6707 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6708
6709 * docs/grub.texi (Filesystems): Update.
6710
6711 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6712
6713 Support odc, newc and bigendian cpio formats.
6714
6715 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
6716 * grub-core/Makefile.core.def (newc): New module.
6717 (odc): Likewise.
6718 (cpio_be): Likewise.
6719 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
6720 (MAGIC): Likewise.
6721 (MAGIC2): Likewise.
6722 (head) [MODE_ODC]: Adapt for the format.
6723 (head) [MODE_NEWC]: Likewise.
6724 (head) [!MODE_*]: Write fields of interest as arrays.
6725 (MAGIC_USTAR): Removed.
6726 (read_number) [MODE_NEWC]: Change to hex.
6727 (read_number) [!MODE_*]: Parse binary arrays.
6728 (grub_cpio_find_file): Factor out the code for better structure and
6729 always use read_number.
6730 (grub_cpio_mount): Use MAGIC and MAGIC2.
6731 (grub_cpio_dir): Exit on first hook non-0 return.
6732 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
6733 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
6734 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
6735 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
6736 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
6737 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
6738 * grub-core/fs/newc.c: New file.
6739 * grub-core/fs/odc.c: Likewise.
6740 * grub-core/fs/cpio_be.c: Likewise.
6741
6742 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6743
6744 Fix handling of tar numbers occupying the whole field.
6745
6746 * grub-core/fs/cpio.c (read_number): New function.
6747 (grub_cpio_find_file): Use read_number instead of strtoull.
6748
6749 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6750
6751 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
6752 occupying the whole field size.
6753
6754 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
6755
6756 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
6757
6758 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6759
6760 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
6761
6762 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
6763
6764 * grub-core/Makefile.core.def (lzma_decompress): Add missing
6765 TARGET_IMG_LDFLAGS.
6766
6767 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6768
6769 * util/getroot.c (ESCAPED_PATH_MAX): New define.
6770 (mountinfo_entry): Increase the field size to take escaping into
6771 account.
6772 (find_root_device_from_libzfs): Add one byte to size of strings for
6773 security.
6774
6775 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6776
6777 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
6778 an assert.
6779 * util/grub-setup.c (setup): Likewise.
6780
6781 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6782
6783 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
6784 _LzmaDecodeA.
6785
6786 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6787
6788 * docs/grub.texi (Internationalisation): New section.
6789
6790 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6791
6792 * docs/grub.texi (Loopback booting): New section.
6793
6794 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
6795
6796 * util/grub-mkstandalone.in: Fix minor typo errors.
6797
6798 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6799
6800 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
6801
6802 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
6803 net/icmp.c and net/icmp6.c.
6804 (http): New module.
6805 (priority_queue): Likewise.
6806 * grub-core/io/bufio.c: Rewritten.
6807 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
6808 TYPE_WITH_CONFIGFILE_OPTION.
6809 (legacy_commands): Add bootp and dhcp.
6810 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
6811 (grub_legacy_parse): Likewise.
6812 * grub-core/lib/priority_queue.c: New file.
6813 * grub-core/net/arp.c: Add missing license header.
6814 (arp_find_entry): Removed.
6815 (arp_find_entry): Likewise.
6816 (grub_net_arp_resolve): Rename to ...
6817 (grub_net_arp_send_request): ...this.
6818 (grub_net_arp_receive): New card argument.
6819 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
6820 Set router and DNS server.
6821 (grub_net_configure_by_dhcp_ack): Handle routing information.
6822 (grub_cmd_bootp): Set checksum.
6823 (grub_bootp_init): Remove net_dhcp.
6824 * grub-core/net/dns.c: New file.
6825 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
6826 completion.
6827 (get_card_packet): Handle allocation.
6828 (grub_efinet_findcards): Set mtu.
6829 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
6830 (get_card_packet): Handle allocation.
6831 (emucard): Set mtu.
6832 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
6833 (GRUB_MOD_INIT): Set mtu.
6834 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
6835 mtu.
6836 (get_card_packet): Handle allocation.
6837 (grub_ofnet_findcards): Set mtu.
6838 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
6839 assert.
6840 (grub_net_recv_ethernet_packet): Handle IPv6.
6841 * grub-core/net/http.c: New file.
6842 * grub-core/net/icmp.c: Likewise.
6843 * grub-core/net/icmp6.c: Likewise.
6844 * grub-core/net/ip.c (ip6addr): New type.
6845 (ip6hdr): Likewise.
6846 (reassemble): Likewise.
6847 (cmp): New function.
6848 (reassembles): New variable.
6849 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
6850 (id): New variable.
6851 (send_fragmented): New function.
6852 (grub_net_send_ip_packet): Rename to ...
6853 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
6854 Handle non-UDP.
6855 (grub_net_recv_ip_packets): Rename to ...
6856 (handle_dgram): ... this. Check checksum. Handle non-UDP.
6857 (free_rsm): New function.
6858 (free_old_fragments): Likewise.
6859 (grub_net_recv_ip4_packets): New function.
6860 (grub_net_send_ip6_packet): Likewise.
6861 (grub_net_send_ip_packet): Likewise.
6862 (grub_net_recv_ip6_packets): Likewise.
6863 (grub_net_recv_ip_packets): Likewise.
6864 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
6865 (LINK_LAYER_CACHE_SIZE): New const.
6866 (link_layer_find_entry): New function.
6867 (grub_net_link_layer_add_address): Likewise.
6868 (grub_net_link_layer_resolve_check): Likewise.
6869 (grub_net_link_layer_resolve): Likewise.
6870 (grub_net_ipv6_get_slaac): Likewise.
6871 (grub_net_ipv6_get_link_local): Likewise.
6872 (grub_cmd_ipv6_autoconf): Likewise.
6873 (parse_ip): Handle one number representation.
6874 (parse_ip6): New functoion.
6875 (match_net): Handle IPv6.
6876 (grub_net_resolve_address): Handle IPv6 and DNS.
6877 (grub_net_resolve_net_address): Handle IPv6.
6878 (route_cmp): New function.
6879 (grub_net_route_address): Find best route.
6880 (grub_net_addr_to_str): Handle IPv6.
6881 (grub_net_addr_cmp): New function.
6882 (grub_net_add_addr): Register local route.
6883 (print_net_address): Handle net address.
6884 (grub_net_poll_cards): Retransmit TCP.
6885 (grub_net_poll_cards_idle_real): Likewise.
6886 (have_ahead): New function.
6887 (grub_net_seek_real): Use underlying seek.
6888 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
6889 * grub-core/net/tcp.c: New file.
6890 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
6891 (cmp): New function.
6892 (ack): Likewise.
6893 (tftp_receive): Handle unordered input.
6894 (destroy_pq): New function.
6895 (tftp_close): Close pq.
6896 * grub-core/net/udp.c: Put missing license header.
6897 (grub_net_udp_socket): New function.
6898 (udp_socket_register): Likewise.
6899 (grub_net_udp_close): Likewise.
6900 (grub_net_recv_udp_packet): Check checksum.
6901 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
6902 * include/grub/misc.h (grub_memchr): New function.
6903 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
6904 (grub_net_card_driver): Return buf in recv.
6905 (grub_net_slaac_mac_list): New struct.
6906 (grub_network_level_protocol_id): Add ipv6.
6907 (grub_net_network_level_addr): Likewise.
6908 (grub_net_network_level_net_addr): Likewise.
6909 (grub_net_app_protocol): Add seek.
6910 (grub_net_socket): Removed.
6911 (grub_net_sockets): Likewise.
6912 (grub_net_socket_register): Likewise.
6913 (grub_net_socket_unregister): Likewise.
6914 (FOR_NET_SOCKETS): Likewise.
6915 (grub_net_add_addr): Add const.
6916 (GRUB_NET_BOOTP_*): New enum.
6917 (grub_net_addr_cmp): New proto.
6918 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
6919 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
6920 (grub_net_hwaddr_to_str): NEw proto.
6921 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
6922 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
6923 (grub_dns_init): New proto.
6924 (grub_dns_fini): Likewise.
6925 (grub_net_tcp_retransmit): Likewise.
6926 (grub_net_link_layer_add_address): Likewise.
6927 (grub_net_link_layer_resolve_check): Likewise.
6928 (grub_net_link_layer_resolve): Likewise.
6929 (grub_net_dns_lookup): Likewise.
6930 (grub_net_add_dns_server): Likewise.
6931 (grub_net_remove_dns_server): Likewise.
6932 (GRUB_NET_TRIES): New const.
6933 (GRUB_NET_INTERVAL): Likewise.
6934 * include/grub/net/arp.h: Mostly rewritten.
6935 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
6936 * include/grub/net/ip.h: Mostly rewritten.
6937 * include/grub/net/netbuff.h: Indent.
6938 * include/grub/net/tcp.h: New file.
6939 * include/grub/net/udp.h: Mostly rewritten.
6940 * include/grub/priority_queue.h: New file.
6941 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
6942 (grub_swap_bytes64_compile_time): Likewise.
6943 (grub_cpu_to_be16_compile_time): Likewise.
6944 (grub_cpu_to_be32_compile_time): Likewise.
6945 (grub_cpu_to_be64_compile_time): Likewise.
6946 (grub_be_to_cpu64_compile_time): Likewise.
6947
6948 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
6949
6950 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
6951 UINT_TO_PTR with cast.
6952
6953 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6954
6955 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
6956 don't use them.
6957
6958 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6959
6960 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
6961 already there.
6962
6963 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6964
6965 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
6966 confusing ipxe.
6967
6968 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6969
6970 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
6971 Add missing const attribute.
6972 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
6973 Likewise.
6974 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
6975 Likewise.
6976
6977 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6978
6979 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
6980 misaligned access.
6981 (serpent_setkey): Likewise.
6982 (serpent_encrypt_internal): Likewise.
6983 (serpent_decrypt_internal): Likewise.
6984 (serpent_encrypt): Don't put an alignment-increasing cast.
6985 (serpent_decrypt): Likewise.
6986 (serpent_test): Likewise.
6987
6988 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6989
6990 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
6991
6992 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
6993
6994 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
6995
6996 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
6997 grub_addr_t casts.
6998 (PTR_TO_UINT64): Likewise.
6999 (PTR_TO_UINT32): Likewise.
7000
7001 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7002
7003 * util/grub-mkimage.c (generate_image): Decrease the higher limit
7004 because of stack.
7005 * util/grub-setup.c (setup): Don't add redundancy past the higher load
7006 limit.
7007
7008 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7009
7010 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
7011 text_width > available width a bit more gracefully.
7012
7013 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7014
7015 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
7016 current address calculation.
7017
7018 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7019
7020 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
7021 stack.
7022 (encode_block): Likewise.
7023
7024 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7025
7026 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
7027 certainety.
7028
7029 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7030
7031 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
7032 non-RS part to avoid RS messing with GDT.
7033 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
7034 Increase to suit in realmode routines.
7035
7036 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7037
7038 * grub-core/kern/i386/realmode.S: Increase alignment.
7039 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
7040
7041 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7042
7043 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
7044 be deterministic.
7045 (syndroms): Compute 0 syndrom.
7046 (rs_recover): Use 0 syndrom.
7047
7048 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7049
7050 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
7051
7052 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7053
7054 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
7055 brackets.
7056
7057 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7058
7059 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
7060 account.
7061 (get_top_pad): Likewise.
7062 (get_right_pad): Likewise.
7063 (get_bottom_pad): Likewise.
7064
7065 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7066
7067 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
7068
7069 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7070
7071 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
7072 attribute as the structure isn't guaranteed to be properly aligned.
7073 (grub_efi_pci_device_path): Likewise.
7074 (grub_efi_pccard_device_path): Likewise.
7075 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
7076 specify the size of `memory_type'.
7077 (grub_efi_vendor_device_path): Likewise.
7078 (grub_efi_controller_device_path): Likewise.
7079 (grub_efi_acpi_device_path): Likewise.
7080 (grub_efi_expanded_acpi_device_path): Likewise.
7081 (grub_efi_atapi_device_path): Likewise.
7082 (grub_efi_scsi_device_path): Likewise.
7083 (grub_efi_fibre_channel_device_path): Likewise.
7084 (grub_efi_1394_device_path): Likewise.
7085 (grub_efi_usb_device_path): Likewise.
7086 (grub_efi_usb_class_device_path): Likewise.
7087 (grub_efi_i2o_device_path): Likewise.
7088 (grub_efi_mac_address_device_path): Likewise.
7089 (grub_efi_ipv4_device_path): Likewise.
7090 (grub_efi_ipv6_device_path): Likewise.
7091 (grub_efi_infiniband_device_path): Likewise.
7092 (grub_efi_uart_device_path): Likewise.
7093 (grub_efi_vendor_messaging_device_path): Likewise.
7094 (grub_efi_hard_drive_device_path): Likewise.
7095 (grub_efi_cdrom_device_path): Likewise.
7096 (grub_efi_vendor_media_device_path): Likewise.
7097 (grub_efi_file_path_device_path): Likewise.
7098 (grub_efi_protocol_device_path): Likewise.
7099 (grub_efi_piwg_device_path): Likewise.
7100 (grub_efi_bios_device_path): Likewise.
7101
7102 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7103
7104 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
7105 (grub_ucs4_to_utf8_alloc): Likewise.
7106 (grub_ucs4_to_utf8): Likewise.
7107 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
7108 (grub_ucs4_to_utf8_alloc): Likewise.
7109
7110 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7111
7112 AFFS never uses unicode.
7113
7114 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
7115 (grub_latin1_to_utf8): New inline function.
7116 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
7117
7118 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7119
7120 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
7121 overflow.
7122
7123 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7124
7125 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
7126 (grub_squash_dirent_header): Likewise.
7127 (read_chunk): Don't double swap.
7128 (grub_squash_iterate_dir): Fix swap sizes.
7129
7130 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7131
7132 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
7133
7134 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7135
7136 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
7137 (grub_hfs_iterate_dir): Likewise.
7138
7139 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7140
7141 Fix video on platforms where unaligned access is forbidden.
7142 Make several optimisations while on it.
7143
7144 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
7145 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7146 (grub_video_fbblit_replace_32bit_1bit): Likewise.
7147 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7148 Disable.
7149 (grub_video_fbblit_replace_16bit_1bit):
7150 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7151 (grub_video_fbblit_replace_8bit_1bit): Likewise.
7152 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
7153 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
7154 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7155 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7156 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
7157 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
7158 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
7159 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
7160 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
7161 (grub_video_fbblit_replace_index_RGB888): Likewise.
7162 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
7163 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
7164 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
7165 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
7166 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
7167 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
7168 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7169 Disable.
7170 (grub_video_fbblit_blend_XXX565_1bit):
7171 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7172 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
7173 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
7174 void *.
7175 * grub-core/video/fb/video_fb.c (common_blitter)
7176 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
7177 (grub_video_fb_create_render_target_from_pointer)
7178 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
7179 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
7180 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
7181 definition.
7182 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
7183
7184 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7185
7186 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
7187 HH22 and HM10 relocations.
7188
7189 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7190
7191 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
7192
7193 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7194
7195 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
7196 allocation succeeded.
7197
7198 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7199
7200 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
7201 argument a u8 pointer. All users updated.
7202 Handle unaligned buffers.
7203
7204 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7205
7206 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
7207 add_part to workaround compiler bug.
7208
7209 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7210
7211 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
7212
7213 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7214
7215 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
7216 Reserve alignment invariants.
7217 (grub_multiboot_load): Likewise.
7218 (retrieve_video_parameters): Likewise.
7219 (grub_multiboot_make_mbi): Likewise.
7220
7221 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7222
7223 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
7224 incorrect pointer.
7225
7226 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7227
7228 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
7229 (grub_pata_pio_write): Likewise.
7230
7231 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7232
7233 Add noreturn attributes and remove unreachable code.
7234
7235 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
7236 code.
7237 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
7238 code. Mark as noreturn.
7239 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
7240 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
7241 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
7242 unreachable code.
7243 * grub-core/kern/main.c (grub_main): Mark as noreturn.
7244 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
7245 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
7246 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
7247 * include/grub/kernel.h (grub_main): Mark as noreturn.
7248 * include/grub/reader.h (grub_rescue_run): Likewise.
7249
7250 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7251
7252 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
7253 redundant declaration.
7254
7255 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7256
7257 * include/grub/net.h (grub_net_network_level_interfaces): Remove
7258 redundant declaration.
7259 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
7260
7261 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7262
7263 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
7264 to ensure alignment.
7265 (grub_hdparm_print_identify): Make argument uint16 * to ensure
7266 alignment. Ensure tmp alignment.
7267 (grub_cmd_hdparm): Ensure buf alignment.
7268 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
7269 to ensure alignment.
7270 (grub_ata_dumpinfo): Ensure text alignment.
7271 (grub_atapi_identify): Preserve alignment invariant.
7272 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
7273
7274 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7275
7276 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
7277 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
7278 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
7279 * include/grub/misc.h (grub_reboot)
7280 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
7281 (grub_halt) [__mips__]: Likewise.
7282
7283 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7284
7285 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
7286 Remove redundant declaration.
7287 (grub_mmap_get_post64): Likewise.
7288 (grub_mmap_get_upper): Likewise.
7289 (grub_mmap_get_lower): Likewise.
7290
7291 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7292
7293 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
7294 uint32_t * to ensure alignment.
7295 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
7296
7297 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7298
7299 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
7300 uint16_t * to ensure alignment.
7301 (sun_pc_partition_map_iterate): Make `block' a union to ensure
7302 alignment.
7303
7304 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7305
7306 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
7307 to ensure alignment.
7308 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
7309
7310 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7311
7312 * grub-core/fs/ntfs.c (u16at): Make into inline function.
7313 Handle unaligned pointers.
7314 (u32at): Likewise.
7315 (u64at): Likewise.
7316 (fixup): Use byte access instead of v16at.
7317 (find_attr): Fix imporper usage of v32at.
7318 (read_data): Likewise.
7319 (list_file): Handle byte-swapping and unaligned strings.
7320 (grub_ntfs_label): Likewise.
7321
7322 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7323
7324 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
7325 as it's not necessarily aligned.
7326
7327 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7328
7329 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
7330 redundant declaration.
7331 (grub_serial_init): Likewise.
7332 (grub_terminfo_init): Likewise.
7333
7334 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7335
7336 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
7337 function.
7338 (ZAP_HASH_IDX): Likewise.
7339 (ZAP_LEAF_HASH_SHIFT): Likewise.
7340 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
7341 (LEAF_HASH): Likewise.
7342 (ZAP_LEAF_NUMCHUNKS): Likewise.
7343 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
7344 alignment invariants. Return pointer. All users updated.
7345 (ZAP_LEAF_ENTRY): Make into inline function.
7346 (NBBY): Removed.
7347 (xor): LIkewise.
7348 (xor_out): Use grub_crypto_xor.
7349 (dnode_get_path): Use grub_get_unaligned.
7350 (nvlist_find_value): Likewise.
7351 (grub_zfs_nvlist_lookup_uint64): Likewise.
7352 (grub_zfs_nvlist_lookup_string): Likewise.
7353 (get_nvlist_size): Likewise.
7354 (grub_zfs_open): Likewise.
7355 (fill_fs_info): Likewise.
7356 (grub_zfs_dir): Likewise.
7357 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
7358 alignment invariants.
7359 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
7360 necessarily aligned.
7361
7362 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7363
7364 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
7365
7366 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7367
7368 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
7369 arithmetic to conserve alignment invariants.
7370
7371 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7372
7373 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
7374 redundant declaration.
7375 (grub_efiemu_mm_obtain_request): Likewise.
7376 (grub_efiemu_prepare): Likewise.
7377
7378 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7379
7380 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
7381 to match types.
7382
7383 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7384
7385 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
7386 case of aunaligned recptr.
7387 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
7388 alignment.
7389 (grub_hfsplus_btree_search): Handle unaligned index.
7390
7391 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7392
7393 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
7394 to get freetag and skip.
7395
7396 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7397
7398 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
7399 array.
7400 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
7401 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
7402
7403 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7404
7405 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
7406 name for checksum and fix allocation algorithm.
7407
7408 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7409
7410 * include/grub/types.h (grub_properly_aligned_t): New type.
7411 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
7412 (grub_get_unaligned16): Add explicit casts.
7413 (grub_get_unaligned32): Likewise.
7414 (grub_get_unaligned64): Likewise.
7415 (grub_set_unaligned16): New function.
7416 (grub_set_unaligned32): Likewise.
7417
7418 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7419
7420 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
7421
7422 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7423
7424 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
7425 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
7426 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
7427
7428 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7429
7430 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
7431 conditionals.
7432
7433 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7434
7435 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
7436 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
7437
7438 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7439
7440 Unify and improve RAID and crypto xor.
7441
7442 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
7443 changed to grub_crypto_xor
7444 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
7445 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
7446 Use bigger types when possible.
7447
7448 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7449
7450 * grub-core/disk/raid.c (scan_devices): Fix condition.
7451
7452 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7453
7454 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
7455 Make name a const ptr.
7456
7457 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7458
7459 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
7460 first argument a const pointer.
7461 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
7462 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
7463 proto.
7464 (grub_children_iterate): Likewise.
7465 (grub_machine_mmap_iterate): Remove redundant declaration.
7466
7467 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7468
7469 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
7470 (grub_cmd_acpi) [!x86]: Disable EBDA.
7471
7472 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7473
7474 Enable UTF8 in gnulib regexp.
7475
7476 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
7477 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
7478 (isupper): Use grub_isupper.
7479 (isascii): New inline function.
7480 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
7481 * grub-core/lib/posix_wrap/wctype.h: Likewise.
7482 * grub-core/normal/charset.c (grub_utf8_process): New function.
7483 (grub_utf8_to_utf16): Use grub_utf8_process.
7484 (grub_encode_utf8_character): New function.
7485 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
7486 * include/grub/charset.h (grub_utf8_process): New declaration.
7487 (grub_encode_utf8_character): Likewise.
7488 * include/grub/misc.h (grub_islower): New inline function.
7489 (grub_isupper): Likewise.
7490 (grub_strchrsub): Moved down to fix the definitions.
7491
7492 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7493
7494 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
7495 specification.
7496
7497 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7498
7499 * include/grub/loader.h (grub_loader_register_preboot_hook):
7500 Use struct preboot * and not void * for handle. All users updated.
7501 (grub_loader_unregister_preboot_hook): Likewise.
7502
7503 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7504
7505 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
7506 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
7507 UTF-16-BE. All users updated.
7508 (grub_hfsplus_cmp_catkey): Fix unicode handling.
7509 (grub_hfsplus_iterate_dir): Likewise.
7510 (grub_hfsplus_label): Likewise.
7511
7512 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7513
7514 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
7515
7516 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
7517
7518 Add missing const qualifiers.
7519
7520 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
7521 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
7522 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
7523 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
7524 (grub_lvm_check_flag): Likewise.
7525 * grub-core/efiemu/i386/coredetect.c
7526 (grub_efiemu_get_default_core_name): Likewise
7527 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
7528 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
7529 * grub-core/fs/ntfs.c (fixup): Likewise.
7530 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
7531 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
7532 (fzap_lookup): Likewise.
7533 (zap_lookup): Likewise.
7534 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
7535 * grub-core/lib/legacy_parse.c (check_option): Likewise.
7536 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
7537 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
7538 (grub_freebsd_add_meta_module): Likewise.
7539 (grub_cmd_freebsd_module): Likewise.
7540 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
7541 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
7542 (grub_xnu_writetree_get_size): Likewise.
7543 (grub_xnu_writetree_toheap_real): Likewise.
7544 (grub_xnu_find_key): Likewise.
7545 (grub_xnu_create_key): Likewise.
7546 (grub_xnu_create_value): Likewise.
7547 (grub_xnu_register_memory): Likewise.
7548 (grub_xnu_check_os_bundle_required): Likewise.
7549 (grub_xnu_scan_dir_for_kexts): Likewise.
7550 (grub_xnu_load_kext_from_dir): Likewise.
7551 * grub-core/normal/color.c (color_list): Likewise.
7552 * grub-core/normal/completion.c (current_word): Likewise.
7553 * grub-core/normal/menu_entry.c (insert_string): Likewise.
7554 * grub-core/term/serial.c (grub_serial_find): Likewise.
7555 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
7556 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
7557 Likewise.
7558 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
7559 (grub_freebsd_add_meta_module): Likewise.
7560 * include/grub/lib/arg.h (grub_arg_option): Likewise.
7561 * include/grub/net.h (grub_net_card_driver): Likewise.
7562 (grub_net_card): Likewise.
7563 (grub_net_app_protocol): Likewise.
7564 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
7565 * include/grub/serial.h (grub_serial_find): Likewise.
7566 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
7567 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
7568 (grub_xnu_create_value): Likewise.
7569 (grub_xnu_find_key): Likewise.
7570 (grub_xnu_scan_dir_for_kexts): Likewise.
7571 (grub_xnu_load_kext_from_dir): Likewise.
7572
7573 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
7574 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
7575 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
7576 Moved from here ...
7577 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
7578
7579 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
7580
7581 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
7582
7583 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
7584
7585 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
7586 (read_device): Fix size calculation.
7587
7588 2011-11-25 Robert Millan <rmh@gnu.org>
7589
7590 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
7591 (find_root_device_from_libzfs): Add zpool output parser to be used
7592 as fallback when libzfs isn't available.
7593
7594 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
7595
7596 * po/Makefile.in.in: Add missing escape-continuation.
7597
7598 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
7599
7600 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
7601
7602 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7603
7604 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
7605
7606 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7607
7608 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
7609
7610 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7611
7612 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
7613
7614 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7615
7616 * grub-core/lib/adler32.c: Add missing license specification.
7617 * grub-core/lib/crc64.c: Likewise.
7618 * grub-core/loader/i386/pc/plan9.c: Likewise.
7619 * grub-core/partmap/plan.c: Likewise.
7620
7621 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
7622
7623 Add facility to debug GRUB with gdb under qemu.
7624
7625 * grub-core/gdb_grub.in: New file.
7626 * grub-core/gmodule.pl.in: Likewise.
7627 * grub-core/Makefile.core.def (gmodule.pl): New script.
7628 (gdb_grub): Likewise.
7629
7630 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7631
7632 * util/grub-mount.c (argp_parser): Accept relative pathes.
7633 * util/grub-fstest.c (argp_parser): Likewise.
7634
7635 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7636
7637 Plan9 support.
7638
7639 * Makefile.util.def (libgrubmods): Add
7640 grub-core/partmap/plan.c.
7641 * docs/grub.texi: Notice Plan9 support.
7642 * grub-core/Makefile.core.def (plan9): New module.
7643 (part_plan): Likewise.
7644 * grub-core/loader/i386/pc/plan9.c: New file.
7645 * grub-core/partmap/plan.c: Likewise.
7646 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
7647 define.
7648 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
7649 * include/grub/mm.h (grub_extend_alloc): New inline function.
7650
7651 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7652
7653 Make Reed-Solomon faster by using power of generator representation of
7654 GF(256)*.
7655
7656 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
7657 (gf_double_t): Likewise.
7658 (gf_invert): Removed.
7659 (gf_powx): New array.
7660 (gf_powx_inv): Likewise.
7661 (scratch): Move higher.
7662 (gf_reduce): Removed.
7663 (gf_mul): Use powx.
7664 (gf_invert): Likewise.
7665 (init_inverts): Replaced with ...
7666 (init_powx): ...this. All users updated.
7667 (pol_evaluate): Replace multiplications with additions.
7668 (rs_encode): Likewise.
7669 (gauss_eliminate): Call gf_invert.
7670 (grub_reed_solomon_add_redundancy): Call init_powx.
7671 (grub_reed_solomon_recover): Call init_powx unconditionally.
7672
7673 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7674
7675 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
7676
7677 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7678
7679 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
7680 disk->partiton for safety.
7681
7682 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7683
7684 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
7685 Fix a memory leak.
7686 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
7687
7688 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7689
7690 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
7691
7692 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7693
7694 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
7695
7696 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7697
7698 Fix spaces handling in proc/self/mountinfo.
7699
7700 * util/getroot.c (unescape): New function.
7701 (grub_find_root_device_from_mountinfo): Use unescape.
7702
7703 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7704
7705 Support ZFS embedding.
7706
7707 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
7708 (grub_zfs_fs): Register grub_zfs_embed.
7709
7710 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7711
7712 Fix MIPS compilation.
7713
7714 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
7715 * include/grub/offsets.h: Rename decompressor fields from
7716 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
7717 * util/grub-mkimage.c (image_targets): Use new names.
7718
7719 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7720
7721 Defer multiboot device parsing until we're in compressed part.
7722
7723 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
7724 bsd_part. setdevice has fallen into disuse.
7725 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
7726 (bsd_part): Likewise.
7727 (boot_dev): New variable.
7728 (multiboot_trampoline): Don't parse multiboot device.
7729 Pass multiboot device in %edx.
7730 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
7731 grub_boot_device.
7732 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
7733 Likewise.
7734 * grub-core/kern/i386/pc/startup.S: Save edx.
7735 (grub_boot_drive): Removed.
7736 (grub_install_dos_part): Likewise.
7737 (grub_install_bsd_part): Likewise.
7738 (grub_boot_device): New variable.
7739 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
7740 (grub_install_bsd_part): Likewise.
7741 (grub_boot_drive): Likewise.
7742 (grub_boot_device): New variable.
7743 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
7744 Removed.
7745 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
7746 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
7747 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
7748 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
7749 * util/grub-install.in: Remove redundant condition.
7750
7751 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7752
7753 Fix bug introduced by previous commit.
7754
7755 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
7756
7757 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7758
7759 Use decompressors framework on i386-pc. It increases core size
7760 by 46 bytes but improves compatibility and maintainability.
7761
7762 * grub-core/Makefile.core.def (lzma_decompress): New image.
7763 (kernel): Add i386_pc_ldflags.
7764 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
7765 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
7766 to real_to_prot, prot_to_real and device info.
7767 * include/grub/offsets.h: Renamed decompressor offsets.
7768 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
7769 (image_target_desc): Remove raw_size and rename decompressor fields.
7770 (compress_kernel): Handle lzma.
7771 (generate_image): Handle decompressors on i386-pc.
7772
7773 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7774
7775 * configure.ac: Add -fno-asynchronous-unwind-tables.
7776
7777 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7778
7779 Move assembly code to C by using intwrap. It increases core size
7780 by 88 bytes but improves compatibility and maintainability.
7781
7782 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
7783 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
7784 ... here. Translated to C.
7785 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
7786 * grub-core/term/i386/pc/console.c (grub_console_getkey):
7787 ... here. Translated to C.
7788 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
7789 * grub-core/term/i386/pc/console.c (grub_console_getxy):
7790 ... here. Translated to C.
7791 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
7792 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
7793 ... here. Translated to C.
7794 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
7795 * grub-core/term/i386/pc/console.c (grub_console_cls):
7796 ... here. Translated to C.
7797 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
7798 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
7799 ... here. Translated to C.
7800 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
7801 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
7802 Translated to C.
7803 * grub-core/term/i386/pc/console.c (int10_9): New function.
7804 (grub_console_putchar): Likewise.
7805 * include/grub/i386/pc/console.h: Removed the not anymore shared
7806 functions.
7807
7808 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7809
7810 Move grub_chainloader_real_boot out of the kernel.
7811
7812 * grub-core/Makefile.am: Remove machine/loader.h.
7813 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
7814 Removed.
7815 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
7816 variable.
7817 (grub_relocator16_keep_a20_enabled): Likewise.
7818 (grub_relocator16_boot): Fill new variables.
7819 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
7820 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
7821 relocator.
7822 (grub_chainloader_unload): Likewise.
7823 (grub_chainloader_cmd): Likewise.
7824 * include/grub/i386/pc/loader.h: Removed.
7825 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
7826 and esi. All initialisers updated.
7827
7828 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7829 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
7830
7831 * Makefile.util.def (grub-mount): New util.
7832 * .bzrignore: Add grub-mount.
7833 * configure.ac: Check for fuse and enable grub-mount if available.
7834 * docs/man/grub-mount.h2m: New file.
7835 * util/grub-mount.c: Likewise.
7836
7837 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7838
7839 * grub-core/commands/efi/fixvideo.c: Gettextize.
7840 * grub-core/commands/hashsum.c: Likewise.
7841 * grub-core/commands/i386/cmostest.c: Likewise.
7842 * grub-core/commands/i386/pc/drivemap.c: Likewise.
7843 * grub-core/commands/i386/pc/lsapm.c: Likewise.
7844 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7845 * grub-core/commands/lsmmap.c: Likewise.
7846 * grub-core/commands/menuentry.c: Likewise.
7847 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
7848 * grub-core/commands/setpci.c: Likewise.
7849 * grub-core/loader/i386/bsd.c: Likewise.
7850 * grub-core/loader/i386/linux.c: Likewise.
7851 * util/getroot.c: Likewise.
7852 * util/grub-editenv.c: Likewise.
7853 * util/grub-fstest.c: Likewise.
7854 * util/grub-mkfont.c: Likewise.
7855 * util/grub-mkimage.c: Likewise.
7856 * util/grub-mkpasswd-pbkdf2.c: Likewise.
7857 * util/grub-pe2elf.c: Likewise.
7858 * util/grub-probe.c: Likewise.
7859 * util/grub-setup.c: Likewise.
7860 * util/ieee1275/ofpath.c: Likewise.
7861 * util/misc.c: Likewise.
7862 * util/raid.c: Likewise.
7863
7864 2011-11-11 Robert Millan <rmh@gnu.org>
7865
7866 * util/getroot.c (grub_util_get_geom_abstraction): Remove
7867 __attribute__((unused)) from `os_dev', which *is* being used.
7868
7869 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7870
7871 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
7872 forgotten define.
7873 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
7874 GRUB_IA64_DL_GOT_ALIGN.
7875 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
7876 GRUB_IA64_DL_TRAMP_ALIGN.
7877
7878 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7879
7880 Replace grub_fatal with normal errors in i386 linux loader.
7881
7882 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
7883 (allocate_pages): Check find_efi_mmap_size return value.
7884 (grub_e820_add_region): Return error.
7885 (grub_linux_boot): Check mmap return value.
7886
7887 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7888
7889 * grub-core/commands/acpihalt.c: Gettextized.
7890 * grub-core/commands/cacheinfo.c: Likewise.
7891 * grub-core/commands/cmp.c: Likewise.
7892 * grub-core/commands/efi/loadbios.c: Likewise.
7893 * grub-core/commands/gptsync.c: Likewise.
7894 * grub-core/commands/ieee1275/suspend.c: Likewise.
7895 * grub-core/commands/legacycfg.c: Likewise.
7896 * grub-core/commands/memrw.c: Likewise.
7897 * grub-core/commands/minicmd.c: Likewise.
7898 * grub-core/commands/parttool.c: Likewise.
7899 * grub-core/commands/time.c: Likewise.
7900 * grub-core/commands/videoinfo.c: Likewise.
7901 * grub-core/disk/geli.c: Likewise.
7902 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
7903 * grub-core/disk/luks.c: Likewise.
7904 * grub-core/disk/lvm.c: Likewise.
7905 * grub-core/font/font_cmd.c: Likewise.
7906 * grub-core/fs/zfs/zfscrypt.c: Likewise.
7907 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7908 * grub-core/gfxmenu/view.c: Likewise.
7909 * grub-core/kern/emu/hostdisk.c: Likewise.
7910 * grub-core/kern/emu/main.c: Likewise.
7911 * grub-core/kern/emu/misc.c: Likewise.
7912 * grub-core/kern/emu/mm.c: Likewise.
7913 * grub-core/kern/mips/arc/init.c: Likewise.
7914 * grub-core/kern/mips/loongson/init.c: Likewise.
7915 * grub-core/kern/partition.c: Likewise.
7916 * grub-core/lib/i386/halt.c: Likewise.
7917 * grub-core/lib/mips/arc/reboot.c: Likewise.
7918 * grub-core/lib/mips/loongson/reboot.c: Likewise.
7919 * grub-core/loader/i386/pc/chainloader.c: Likewise.
7920 * grub-core/loader/i386/xnu.c: Likewise.
7921 * grub-core/loader/multiboot.c: Likewise.
7922 * grub-core/net/bootp.c: Likewise.
7923 * grub-core/net/net.c: Likewise.
7924 * grub-core/normal/term.c: Likewise.
7925 * grub-core/partmap/bsdlabel.c: Likewise.
7926 * grub-core/parttool/msdospart.c: Likewise.
7927 * grub-core/term/gfxterm.c: Likewise.
7928 * grub-core/term/terminfo.c: Likewise.
7929 * grub-core/video/i386/pc/vbe.c: Likewise.
7930 * util/grub-menulst2cfg.c: Likewise.
7931 * util/grub-mkdevicemap.c: Likewise.
7932 * util/grub-mklayout.c: Likewise.
7933 * util/grub-mkrelpath.c: Likewise.
7934 * util/grub-script-check.c: Likewise.
7935 * util/ieee1275/grub-ofpathname.c: Likewise.
7936 * util/resolve.c: Likewise.
7937
7938 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7939
7940 Support %1$d syntax.
7941
7942 * tests/printf_unit_test.c: New file.
7943 * Makefile.util.def (printf_test): New test.
7944 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
7945
7946 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7947
7948 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
7949 fix.
7950
7951 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7952
7953 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
7954 dprintf.
7955 * grub-core/font/font.c (grub_font_load): Likewise.
7956
7957 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7958
7959 * util/grub-macho2img.c: Add comment concerning gettext.
7960 * grub-core/lib/legacy_parse.c: Likewise.
7961
7962 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7963
7964 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
7965 (grub_xvasprintf): Likewise.
7966
7967 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7968
7969 Add const keyword to grub_env_get and gettextize week days.
7970
7971 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
7972 (grub_read_hook_datetime): Return const char *.
7973 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
7974 updated.
7975 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
7976 Mark for gettext.
7977 (grub_get_weekday_name): Return const char *. Call gettext.
7978 * grub-core/script/argv.c (grub_script_argv_append): Receive const
7979 char * and len as the argument. All users updated.
7980 (grub_script_argv_split_append): Receive const char *.
7981 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
7982 * include/grub/env.h (grub_env_get): Likewise.
7983 (grub_env_read_hook_t): Return const char *.
7984 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
7985 (grub_script_argv_split_append): Likewise.
7986
7987 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7988
7989 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
7990
7991 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7992
7993 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
7994 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
7995
7996 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7997
7998 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
7999 Fix prototype.
8000
8001 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8002
8003 Fix mips compilation.
8004
8005 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
8006 normal decoder.
8007 (hashes): Use in embed decoder as well (for sizes).
8008 (dec_stream_header): Fix embed decompressor logic.
8009 (dec_stream_footer): Likewise.
8010
8011 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8012
8013 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
8014 an error and not a fatal on unrecognised relocation types.
8015
8016 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8017
8018 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
8019 Issue error rather than printf on unknown arguments.
8020
8021 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8022
8023 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
8024 Make buf a const.
8025
8026 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8027
8028 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
8029 Fix module name.
8030
8031 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8032
8033 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
8034 leftover debug printf.
8035
8036 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8037
8038 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
8039
8040 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8041
8042 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
8043 A stylistic fix.
8044
8045 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8046
8047 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
8048
8049 2011-11-10 Shea Levy <slevy@tieronedesign.com>
8050
8051 Allow all modules to perform serial IO
8052
8053 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
8054 * include/grub/serial.h (grub_serial_port_configure): New inline
8055 function.
8056 (grub_serial_port_fetch): Likewise.
8057 (grub_serial_port_put): Likewise.
8058 (grub_serial_port_fini): Likewise.
8059 (grub_serial_find): New proto.
8060
8061 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8062
8063 Put symlink at the end of the node and fix a potential
8064 memory corruption.
8065
8066 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
8067 Make symlink into an array.
8068 (set_rockridge): Set have_symlink and alloc_dirents.
8069 (grub_iso9660_read_symlink): Use new layout.
8070 (grub_iso9660_iterate_dir): Fix memory corruption.
8071 Use new layout.
8072 (grub_iso9660_dir): Set have_symlink.
8073 (grub_iso9660_open): Likewise.
8074
8075 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8076
8077 Remove local keyword.
8078
8079 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
8080 (version_test_gt): Likewise.
8081 (version_find_latest): Likewise.
8082 (gettext_printf): Likewise.
8083 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
8084
8085 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8086
8087 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
8088
8089 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8090
8091 Fix ZFS memory and resource leaks.
8092
8093 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
8094 All users updated.
8095 Free type on exit.
8096 (fill_vdev_info): New parameter inserted. All users updated.
8097 (check_pool_label): Likewise.
8098 (scan_disk): Likewise.
8099 (scan_devices): Close non-inserted disks.
8100 (fzap_iterate): Free l.
8101 (unmount_device): Free children descripto memory.
8102
8103 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8104
8105 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
8106 argument (access out of bounds).
8107
8108 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8109
8110 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
8111 >= 6 drives.
8112
8113 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8114
8115 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
8116 Fix declaration.
8117
8118 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8119
8120 Fix several memory leaks.
8121
8122 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
8123 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
8124 (grub_cpio_dir): Likewise.
8125 * grub-core/fs/fat.c (grub_fat_label): Likewise.
8126 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
8127 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
8128 (grub_romfs_label): Likewise.
8129 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
8130 (squash_unmount): New function.
8131 (grub_squash_dir): Fix memory leak.
8132 (grub_squash_open): Likewise.
8133 (grub_squash_read): Likewise.
8134 (grub_squash_mtime): Likewise.
8135 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
8136 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
8137 * util/grub-fstest.c (fstest): Likewise.
8138
8139 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8140
8141 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
8142 avoid accessing beyond the array.
8143
8144 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8145
8146 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
8147
8148 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8149
8150 Several AFFS fixes.
8151
8152 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
8153 (GRUB_AFFS_FLAG_FFS): Removed.
8154 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
8155 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
8156 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
8157 (grub_fshelp_node): Make block 32-bit.
8158 Add block_cache and last_block_cache.
8159 (grub_affs_read_block): Fill and use block cache.
8160 (grub_affs_read_file): Removed.
8161 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
8162 boot block.
8163 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
8164 safety.
8165 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
8166 space.
8167 (grub_affs_close): Free block cache.
8168 (grub_affs_read): Use grub_fshelp_read_file directly.
8169
8170 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8171
8172 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
8173 with no error set.
8174
8175 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8176
8177 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
8178 used variable.
8179 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8180 Likewise.
8181
8182 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8183
8184 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
8185
8186 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
8187 byteswap when needed.
8188
8189 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8190
8191 Fix FreeBSD compilation.
8192
8193 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
8194 to avoid circular dependency.
8195 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
8196 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
8197 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
8198
8199 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8200
8201 Fix ZFS crypto error types.
8202
8203 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
8204 (grub_gcm_decrypt): Likewise.
8205 (grub_zfs_load_key_real): Fix error code type. Handle possible error
8206 from PBKDF2.
8207
8208 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8209
8210 Illumos support.
8211
8212 * Makefile.util.def (10_illumos): New script.
8213 * configure.ac: Set COND_HOST_ILLUMOS.
8214 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
8215 Support Illumos calls.
8216 (find_partition_start) [__sun__]: Likewise.
8217 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
8218 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
8219 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
8220 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
8221 device.
8222 * util/grub-probe.c (probe) [__sun__]: Do character check.
8223 * util/grub.d/10_illumos.in: New file.
8224
8225 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8226
8227 Support escaped commas in hostdisk.
8228
8229 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
8230 (find_grub_drive): Use unescape_cmp.
8231 (make_device_name): Escape commas.
8232
8233 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8234
8235 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
8236
8237 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8238
8239 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
8240 variable.
8241
8242 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8243
8244 Support trampoline jumps on powerpc.
8245
8246 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
8247 __ia64__ path.
8248 (grub_dl_load_segments): Set mod->sz.
8249 (grub_dl_flush_cache): Flush whole space occupied by module, not just
8250 segments.
8251 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
8252 (jump): Likewise.
8253 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
8254 function.
8255 (trampoline): New struct.
8256 (trampoline_template): New const.
8257 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
8258 * include/grub/dl.h (grub_dl): Add sz element.
8259 [__powerpc__]: Follow __ia64__.
8260 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
8261 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
8262 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
8263 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
8264
8265 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8266
8267 ZFS crypto support.
8268
8269 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
8270 * grub-core/Makefile.core.def (zfscrypt): New module.
8271 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
8272 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
8273 it. All users updated.
8274 (grub_zfs_decrypt): New var.
8275 (grub_zfs_load_key): Likewise.
8276 (zio_checksum_functions): Add SHA256+MAC.
8277 (zio_checksum_verify): Handle incomplete comparison due to MAC.
8278 (zio_read): Handle encrypted blocks.
8279 (zap_verify): Remove incorrect check.
8280 (fzap_iterate): Handle non-standard fzap.
8281 (zap_iterate): Likewise.
8282 (zap_iterate_u64): New function.
8283 (dnode_get_fullpath): Load keys.
8284 * grub-core/fs/zfs/zfscrypt.c: New file.
8285 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
8286 (grub_crypto_ecb_encrypt): Make input const.
8287 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
8288 (grub_crypto_ecb_encrypt): Make input const.
8289 (GRUB_CIPHER_AES): New macro.
8290 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
8291 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
8292 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
8293 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
8294 prefix. All users updated.
8295 (grub_zfs_add_key): New proto.
8296 (grub_zfs_decrypt): Likewise.
8297 (grub_zfs_load_key): Likewise.
8298 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
8299 * util/grub-fstest.c (options): Add -K option.
8300 (argp_parser): Likewise.
8301
8302 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8303
8304 Support zle compression on ZFS.
8305
8306 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
8307 (decomp_table): Add zle.
8308 * include/grub/zfs/zio.h (zio_compress): Add zle.
8309
8310 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8311
8312 Support BtrFS embedding.
8313
8314 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
8315 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
8316 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
8317 * util/grub-setup.c (setup): Use fs embedding if available.
8318 Add additional sanity check.
8319
8320 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8321
8322 * util/grub-install.in: Fix condition for config_opt.
8323
8324 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8325
8326 Support third redundancy strip on raidz3.
8327
8328 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
8329 Return error on singularity. All users updated.
8330 (read_device): Don't stop on 3rd failure on raidz3.
8331
8332 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8333
8334 Support case-insensitive ZFS subvolumes.
8335
8336 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
8337 All users updated.
8338 (zap_hash): Likewise.
8339 (name_cmp): New function.
8340 (zap_leaf_array_equal): New parameter case_insensitive.
8341 All users updated.
8342 (zap_leaf_lookup): Likewise.
8343 (fzap_lookup): Likewise.
8344 (zap_lookup): Likewise.
8345 (dnode_get_path): New parameter case_insensitive. Retrieve case
8346 sensitiviness of a volume. All users updated.
8347 (dnode_get_fullpath): New parameter case_insensitive.
8348 All users updated.
8349 (grub_zfs_dir): Set info.case_insensitiveness.
8350
8351 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8352
8353 Support second redundancy strip on raidz(2,3).
8354
8355 * grub-core/fs/zfs/zfs.c (powx): New array.
8356 (powx_inv): Likewise.
8357 (poly): New const.
8358 (xor_out): New function.
8359 (gf_mul): Likewise.
8360 (recovery): Likewise.
8361 (read_device): Use second redundancy strip.
8362
8363 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8364
8365 Use a power of generator representation of GF(256) multiplication group
8366 to save space time and complexity.
8367
8368 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
8369 (raid6_table2): Likewise.
8370 (powx): New array.
8371 (powx_inv): Likewise.
8372 (poly): New const.
8373 (grub_raid_block_mul): Replace with ...
8374 (grub_raid_block_mulx): ...this.
8375 (grub_raid6_init_table): Rewritten.
8376 (grub_raid6_recover): Use power of generator representation.
8377
8378 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8379
8380 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
8381 for the right device.
8382
8383 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8384
8385 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
8386 expected by grub-mkimage and it's more clear since there is no implicit
8387 padding.
8388
8389 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8390
8391 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
8392 disk.
8393 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8394
8395 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
8396
8397 * util/grub-mkrescue.in: Fix handling xorriso option.
8398
8399 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8400
8401 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
8402 NULL.
8403
8404 2011-11-03 crocket <crockabiscuit@gmail.com>
8405
8406 * util/grub.d/10_linux.in: Add Slackware initrd naming.
8407
8408 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8409
8410 XZ CRC64 and SHA256 support.
8411
8412 * Makefile.util.def (libgrubmods): Add crc64.c.
8413 * grub-core/Makefile.core.def (crc64): New module.
8414 * grub-core/lib/crc64.c: New file.
8415 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
8416 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
8417 Fix the type.
8418 (MAX_HASH_SIZE): New define.
8419 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
8420 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
8421 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8422 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8423 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
8424 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
8425 Handle non-crc32 hashes.
8426 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
8427 (dec_stream_header): Handle non-crc32 hashes.
8428 (dec_stream_footer): Likewise.
8429 (dec_block_header): Likewise.
8430 (dec_main): Likewise.
8431 (xz_dec_init): Likewise.
8432 (xz_dec_reset): Likewise.
8433 (xz_dec_end): Likewise.
8434 * util/import_gcry.py: Add CRC64 line.
8435
8436 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8437
8438 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
8439 as well.
8440
8441 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8442
8443 Make reiserfs label retrieval similar to other *_label functions.
8444
8445 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
8446 (REISERFS_MAX_LABEL_LENGTH): Removed.
8447 (REISERFS_LABEL_OFFSET): Likewise.
8448 (grub_reiserfs_label): Rewritten.
8449
8450 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8451
8452 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
8453 field.
8454
8455 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8456
8457 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
8458
8459 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8460
8461 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
8462 drive failure on both raidz and raidz2.
8463
8464 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8465
8466 Fix RAIDZ(2) for >= 5 devices.
8467
8468 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
8469 asize argument. All users updated.
8470
8471 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8472
8473 Fix RAIDZ(2).
8474
8475 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
8476 (fill_vdev_info_real): Set ashift.
8477 (read_device): Rewrite RAIDZ part based on reverse engineering.
8478
8479 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8480
8481 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
8482 don't report potentially unavialiable fields in debug output.
8483 (find_path): Fix double-free and memory leak.
8484
8485 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8486
8487 Read label on UFS1.
8488
8489 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
8490 (grub_ufs_fs): Always set .label.
8491
8492 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8493
8494 Use shifts in UFS.
8495
8496 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
8497 (grub_ufs_data): New field log2_blksz.
8498 (grub_ufs_read_file): Use shifts.
8499 (grub_ufs_mount): Check block size and logarithm it.
8500
8501 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8502
8503 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
8504 long symlinks.
8505
8506 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8507
8508 Handle symlinks and long names on tar and cpio.
8509
8510 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
8511 (ATTR_FILE): Likewise.
8512 (ATTR_DIR): Likewise.
8513 (ATTR_LNK): Likewise.
8514 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
8515 (grub_cpio_find_file): Fill mode, handle linkname field as well as
8516 L and K entries.
8517 (grub_cpio_mount): Zero-fill data.
8518 (handle_symlink): New function.
8519 (grub_cpio_dir): Handle symlinks.
8520 (grub_cpio_open): Likewise.
8521 (grub_cpio_close) [MODE_USTAR]: Free linkname.
8522
8523 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8524
8525 Fix iso9660 filename limitations and fix memory leaks.
8526
8527 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
8528 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
8529
8530 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8531
8532 Fix JFS file name length limitations.
8533
8534 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
8535 (grub_jfs_diropen): Fix maximum filename length.
8536 (grub_jfs_getent): Fix filename length.
8537 (grub_jfs_lookup_symlink): Fix size checks.
8538
8539 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8540
8541 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
8542 string.
8543
8544 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8545
8546 Leverage BFS implementation to read AFS.
8547
8548 * Makefile.util.def (libgrubmods): Add afs.c.
8549 * grub-core/Makefile.core.def (afs): New module
8550 * grub-core/fs/afs.c: New file.
8551 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
8552
8553 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8554
8555 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
8556
8557 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8558
8559 * grub-core/fs/bfs.c: Run indent.
8560
8561 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8562
8563 BFS implementation based on the specification.
8564
8565 * grub-core/fs/bfs.c: New file.
8566 * Makefile.util.def (libgrubmods): Add bfs.c.
8567 * grub-core/Makefile.core.def (bfs): New module.
8568
8569 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8570
8571 * util/grub-fstest.c (cmd_cp): Clarify error message.
8572 (cmd_cmp): Likewise.
8573
8574 2011-10-30 Yves Blusseau <blusseau@zetam.org>
8575
8576 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
8577 and befs_be.
8578
8579 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
8580
8581 Remove afs and befs because of copyright problem.
8582
8583 * grub-core/fs/afs.c: Removed.
8584 * grub-core/fs/afs_be.c: Removed.
8585 * grub-core/fs/befs.c: Removed.
8586 * grub-core/fs/befs_be.c: Removed.
8587 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
8588 * grub-core/Makefile.core.def (afs): Removed.
8589 (afs_be): Likewise.
8590 (befs): Likewise.
8591 (befs_be): Likewise.
8592
8593 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8594
8595 Prefer rockridge over Joliet.
8596
8597 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
8598 to ...
8599 (set_rockridge): ... here.
8600 (grub_iso9660_mount): Check rockridge on the primary label when
8601 discovering. Ignore Joliet if Rockridge is present.
8602
8603 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8604
8605 Use shifts in nilfs2.
8606
8607 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
8608 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
8609 (grub_nilfs2_palloc_entries_per_group): Replace with ...
8610 (grub_nilfs2_log_palloc_entries_per_group): ... this.
8611 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
8612 (grub_nilfs2_entries_per_block): Replaced with ...
8613 (grub_nilfs2_log_entries_per_block_log): ... this.
8614 (grub_nilfs2_blocks_per_group): Replaced with ...
8615 (grub_nilfs2_blocks_per_group_log): ... this.
8616 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
8617 (grub_nilfs2_blocks_per_desc_block_log): ... this.
8618 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
8619 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
8620 (grub_nilfs2_palloc_entry_offset): Replaced ...
8621 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
8622 (grub_nilfs2_dat_translate): Use shifts.
8623 (grub_nilfs2_read_inode): Likewise.
8624 (GRUB_MOD_INIT): Ensure that logs are correct.
8625
8626 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8627
8628 Use shifts in minix filesystem.
8629
8630 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
8631 (GRUB_MINIX_ZONE2SECT): Likewise.
8632 (grub_minix_data): Replace block_size with log_block_size.
8633 (grub_minix_read_file): Use shifts.
8634 (grub_minix_mount): Check block size and take a logarithm.
8635
8636 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8637
8638 Use shifts in squash4.
8639
8640 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
8641 (squash_mount): Check block size and take logarithm.
8642 (direct_read): Use shifts.
8643
8644 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8645
8646 Correct befs block counting logic.
8647
8648 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
8649 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
8650 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
8651 (grub_afs_read_inode): Use block_shift.
8652 (RANGE_SHIFT): New definition.
8653 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
8654 unexpected conditions, use shifts and appropriate types.
8655 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
8656
8657 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8658
8659 * grub-core/disk/raid.c (scan_devices): Check partition.
8660 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8661
8662 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8663
8664 Support BFS (befs) UUID.
8665
8666 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
8667 (grub_afs_small_data_element_header): New struct.
8668 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
8669 (grub_afs_read_attribute) [MODE_BFS]: New function.
8670 (grub_afs_iterate_dir): Allocate for complete inode.
8671 (grub_afs_mount): Likewise.
8672 (grub_afs_uuid) [MODE_BFS]: New function.
8673 (grub_afs_fs) [MODE_BFS]: Add .uuid.
8674
8675 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8676
8677 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
8678 (zfs_unmount): Fix memory leak.
8679
8680 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8681
8682 Support NTFS reparse points.
8683
8684 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
8685 (symlink_descriptor): New struct.
8686 (grub_ntfs_read_symlink): New function.
8687 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
8688 (grub_ntfs_open): Likewise.
8689
8690 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8691
8692 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
8693
8694 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8695
8696 fstest xnu_uuid subcommand.
8697
8698 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
8699 grub-core/commands/xnu_uuid.c.
8700 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
8701 (fstest): Handle xnu_uuid.
8702 (options): Document xnu_uuid.
8703 (argp_parser): Parse xnu_uuid.
8704
8705 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8706
8707 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
8708 -l argument. Add newline at the end if printing.
8709 (GRUB_MOD_INIT): Document -l.
8710
8711 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8712
8713 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
8714
8715 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8716
8717 ZFS multi-device and version 33 support.
8718
8719 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
8720 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
8721 (grub_zfs_data): Add multidev-ice-related fields.
8722 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
8723 (dva_get_offset): Make dva const.
8724 (zfs_fetch_nvlist): New function.
8725 (fill_vdev_info_real): Likewise.
8726 (fill_vdev_info): Likewise.
8727 (check_pool_label): Likewise.
8728 (scan_disk): Likewise.
8729 (scan_devices): Likewise.
8730 (read_device): Likewise.
8731 (read_dva): Likewise.
8732 (zio_read_gang): Use read_dva.
8733 (zio_read_data): Likewise.
8734 (zap_leaf_lookup): Add missing endian conversion.
8735 (zap_verify): Add missing endian conversion. All users updated.
8736 (fzap_lookup): Likewise.
8737 (fzap_iterate): Likewise.
8738 (dnode_get_path): Handle SA bonus.
8739 (nvlist_find_value): Make input const. All users updated.
8740 (unmount_device): New function.
8741 (zfs_unmount): Use unmount_device.
8742 (zfs_mount): Use scan_disk.
8743 (zfs_mtime): New function.
8744 (grub_zfs_open): Handle system attributes.
8745 (fill_fs_info): Likewise.
8746 (grub_zfs_dir): Likewise.
8747 (grub_zfs_fs): Add mtime.
8748 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
8749 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
8750 (SA_MTIME_OFFSET): Likewise.
8751 (SA_SYMLINK_OFFSET): Likewise.
8752 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
8753 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
8754 (fstest): Support zfsinfo.
8755 (argp_parser): Likewise.
8756
8757 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8758
8759 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
8760 error.
8761
8762 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8763
8764 ZFS fixes.
8765
8766 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
8767 sharing the same block. Iterate over correct number of indices.
8768 (dnode_get_path): Handle symlinks correctly.
8769
8770 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8771
8772 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
8773
8774 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8775
8776 Read label on HFS+.
8777
8778 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
8779 (grub_hfsplus_btree_search): Fix types.
8780 (grub_hfsplus_label): Implement.
8781
8782 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8783
8784 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
8785
8786 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8787
8788 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
8789
8790 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8791
8792 Fix symlink handling on iso9660.
8793
8794 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
8795 All users updated.
8796 (grub_iso9660_susp_iterate): Accept zero-size iterate.
8797 (grub_iso9660_read_symlink): Moved most of code ...
8798 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
8799
8800 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8801
8802 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
8803 Use union to avoid breaking strict-aliasing rules.
8804
8805 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8806
8807 Support multi-extent iso files.
8808
8809 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
8810 Add node.
8811 (grub_fshelp_node): Revamp. All users updated.
8812 (FLAG_*): New enum.
8813 (read_node): New function.
8814 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
8815 All users updated.
8816 (grub_iso9660_mount): Don't attempt to read sua when there is none.
8817 (get_node_size): New function.
8818 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
8819 entries.
8820 Fix memory leak on . and ..
8821 (grub_iso9660_read): Use read_node.
8822 (grub_iso9660_close): Free node.
8823
8824 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8825
8826 Fix tar 4G limit and handle paths containing dot.
8827
8828 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
8829 (canonicalize): New function.
8830 (grub_cpio_find_file): Use canonicalize. Store offs in
8831 grub_disk_addr_t.
8832 (grub_cpio_dir): Use grub_disk_addr_t.
8833 (grub_cpio_open): Likewise.
8834
8835 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8836
8837 Fix handling of uncompressed blocks on squashfs and break 4G limit.
8838
8839 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
8840 unused flags.
8841 (grub_squash_inode): Add long_file and block_size.
8842 (grub_squash_cache_inode): New struct.
8843 (grub_squash_dirent): Make types into enum.
8844 (SQUASH_TYPE_LONG_REGULAR): New type.
8845 (grub_squash_frag_desc): Add field size.
8846 (SQUASH_BLOCK_FLAGS): New enum.
8847 (grub_squash_data): Use grub_squash_cache_inode.
8848 (grub_fshelp_node): Make ino_chunk 64-bit.
8849 (read_chunk): Minor argument change. All users updated.
8850 (squash_mount): Use correct le_to_cpu.
8851 (grub_squash_open): Handle LONG_REGULAR.
8852 (direct_read): New function.
8853 (grub_squash_read_data): Handle blocks correctly.
8854
8855 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8856
8857 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
8858
8859 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8860
8861 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
8862
8863 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8864
8865 Fix 2G limit on ZFS.
8866
8867 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
8868 types.
8869 (uberblock_verify): Likewise.
8870 (dmu_read): Likewise.
8871 (grub_zfs_read): Likewise. Remove invalid cast.
8872
8873 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8874
8875 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
8876 (grub_jfs_blkno): Fix incorrect shift.
8877 (grub_jfs_read_file): Use more appropriate types.
8878
8879 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8880
8881 Support triple indirect on minix2 and minix3.
8882
8883 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
8884 Declare triple_indir_zone.
8885 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
8886 indirect.
8887
8888 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
8889
8890 Minix FS fixes.
8891
8892 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
8893 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
8894 Rename ctime to mtime. All users updated.
8895 (grub_minix_get_file_block): Fix types and double indirect computations.
8896
8897 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8898
8899 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
8900 if no label is found.
8901 (grub_fat_iterate_dir): Fix file size type.
8902 (grub_fat_iterate_dir): Likewise.
8903
8904 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8905
8906 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
8907 save some space.
8908 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
8909 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
8910
8911 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8912
8913 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
8914
8915 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8916
8917 * util/import_gcry.py: Accept space between # and include.
8918
8919 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8920
8921 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
8922
8923 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8924
8925 Fine grainely disable warnings on lexer. Remove Wno-error on it.
8926
8927 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
8928 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
8929 yylex_strncpy.
8930 * grub-core/script/yylex.l: Add fine-grained #pragma.
8931
8932 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8933
8934 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
8935 New inline function.
8936 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
8937 Likewise.
8938 (memset) [GRUB_UTIL]: Likewise.
8939 (memcmp) [GRUB_UTIL]: Likewise.
8940
8941 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8942
8943 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
8944 inline function rather than a define.
8945
8946 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8947
8948 * util/grub-setup.c: Add missing include.
8949
8950 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8951
8952 * util/ieee1275/grub-ofpathname.c: Add missing include.
8953
8954 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8955
8956 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
8957 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
8958 Likewise.
8959
8960 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8961
8962 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
8963 grub_memcmp usage.
8964
8965 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8966
8967 * util/grub-install.in: Add datarootdir as per automake manual
8968 suggestion.
8969 * util/grub-mknetdir.in: Likewise.
8970
8971 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8972
8973 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
8974 suggestion.
8975 * util/grub.d/10_kfreebsd.in: Likewise.
8976 * util/grub.d/10_linux.in: Likewise.
8977 * util/grub.d/10_netbsd.in: Likewise.
8978 * util/grub.d/10_windows.in: Likewise.
8979 * util/grub.d/20_linux_xen.in: Likewise.
8980
8981 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
8982
8983 Remove redundant grub_kernel_image_size.
8984
8985 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
8986 _edata and _start.
8987 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
8988 the small code. It moves it only by few bytes but simplifies the code.
8989 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
8990 _start.
8991 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
8992 (grub_kernel_image_size): Removed.
8993 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
8994 (grub_kernel_image_size): Removed.
8995 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
8996 compiled with Apple toolchain.
8997 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
8998 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
8999 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
9000 (grub_total_module_size): Likewise.
9001 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
9002 Removed.
9003 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
9004 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
9005 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
9006 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
9007 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
9008 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
9009 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
9010 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
9011 Removed.
9012 (grub_total_module_size): Removed.
9013 * util/grub-mkimage.c (image_target_desc): Remove image_size.
9014 (image_targets): Likewise.
9015 Set .compressed_size to no field on sparc.
9016 (generate_image): Remove kernel_image_size handling.
9017
9018 2011-10-19 Szymon Janc <szymon@janc.net.pl>
9019
9020 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
9021 NULL pointer dereference.
9022
9023 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9024
9025 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
9026 done with a dedicated section.
9027
9028 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
9029 Ensure the correct position of boot_path.
9030 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
9031 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
9032 other fields.
9033 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
9034 * include/grub/boot.h: Removed. All references removed.
9035 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
9036 Removed.
9037 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
9038
9039 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9040
9041 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
9042 name.
9043
9044 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9045
9046 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
9047
9048 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9049
9050 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9051 Don't add the bogus brackets.
9052
9053 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9054
9055 ExFAT support.
9056
9057 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
9058 * grub-core/Makefile.core.def (exfat): New module.
9059 * grub-core/fs/exfat.c: New file.
9060 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
9061 (GRUB_FAT_ATTR_*): Make into an enum.
9062 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
9063 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
9064 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
9065 (GRUB_FAT_MAXFILE): Removed.
9066 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
9067 (grub_current_fat_bpb_t): New type.
9068 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
9069 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
9070 (grub_fat_dir_node_t): New type.
9071 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
9072 (fat_log2) [MODE_EXFAT]: Removed.
9073 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
9074 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
9075 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
9076 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
9077 (grub_fat_label) [MODE_EXFAT]: New function.
9078 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
9079 reserved_first_sector to 0.
9080
9081 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9082
9083 Move grub_reboot out of the kernel.
9084
9085 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
9086 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
9087 * grub-core/lib/efi/reboot.c: ... here.
9088 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
9089 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
9090 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
9091 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
9092 * grub-core/lib/i386/reboot_trampoline.S: ... here.
9093 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
9094 * grub-core/lib/ieee1275/reboot.c: ... here.
9095 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
9096 * grub-core/lib/mips/arc/reboot.c: ... here.
9097 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
9098 * grub-core/lib/mips/loongson/reboot.c: ...here.
9099 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
9100 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
9101 * include/grub/emu/misc.h (grub_reboot): New function declaration.
9102 * include/grub/i386/reboot.h: New file.
9103 * include/grub/mips/loongson/ec.h: Fix includes.
9104 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
9105 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
9106 * grub-core/lib/i386/reboot.c: New file.
9107
9108 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
9109
9110 Make grub_prefix into module to fix the arbitrary limit and save
9111 some space.
9112
9113 * grub-core/kern/emu/main.c (grub_prefix): Removed.
9114 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
9115 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
9116 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
9117 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
9118 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
9119 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
9120 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
9121 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
9122 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
9123 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
9124 * include/grub/ia64/efi/kernel.h: Removed.
9125 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
9126 (grub_prefix): Removed.
9127 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
9128 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
9129 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
9130 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
9131 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
9132 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
9133 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
9134 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
9135 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
9136 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
9137 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
9138 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
9139 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
9140 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
9141 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
9142 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
9143 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
9144 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
9145 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
9146 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
9147 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
9148 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
9149 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
9150 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
9151 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
9152 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
9153 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
9154 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
9155 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
9156 from module.
9157 * util/grub-mkimage.c (image_target_desc): Removed prefix and
9158 prefix_end.
9159 (image_targets): Likewise.
9160 (generate_image): Put prefix as a module.
9161
9162 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9163
9164 Replace grub_module_iterate with FOR_MODULES.
9165
9166 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
9167 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
9168 (grub_efi_modules_addr): ...this.
9169 * grub-core/kern/efi/init.c (grub_modbase): New variable.
9170 (grub_efi_init): Set grub_modbase.
9171 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
9172 (grub_modbase): New variable.
9173 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
9174 (grub_modbase): New variable.
9175 (grub_machine_init): Set grub_modbase.
9176 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
9177 (grub_modbase): New variable.
9178 (grub_machine_init): Set grub_modbase.
9179 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
9180 (grub_modbase): New variable.
9181 (grub_machine_init): Set grub_modbase.
9182 * grub-core/kern/main.c (grub_module_iterate): Remove.
9183 (grub_modules_get_end): Use grub_modbase.
9184 (grub_load_modules): Use FOR_MODULES.
9185 (grub_load_config): Likewise.
9186 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
9187 (grub_modbase): New variable.
9188 (grub_machine_init): Set grub_modbase.
9189 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
9190 (grub_modbase): New variable.
9191 (grub_machine_init): Set grub_modbase.
9192 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
9193 Removed.
9194 (grub_modbase): New variable.
9195 (grub_machine_init): Set grub_modbase.
9196 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
9197 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
9198 (grub_module_iterate): Likewise.
9199 (grub_modbase): New variable declaration.
9200 (FOR_MODULES): New macro.
9201
9202 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9203
9204 * configure.ac: Check for __ctzdi2 and __ctzsi2.
9205 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
9206
9207 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9208
9209 Fix few obvious type discrepancies.
9210
9211 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
9212 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
9213 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
9214 variable.
9215 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
9216 and connected types.
9217 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
9218 offset.
9219 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
9220 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
9221 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
9222 and connected types.
9223
9224 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9225
9226 Fix python 3.x incompatibilities.
9227
9228 * gentpl.py: Put brackets around print strings.
9229 * util/import_gcry.py: Open explicitly as utf-8.
9230 Use in instead of has_key.
9231
9232 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9233
9234 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
9235 (GRUB_XFS_INO_AGBITS): Make into inline function.
9236 (GRUB_XFS_INO_INOINAG): Likewise.
9237 (GRUB_XFS_INO_AG): Likewise.
9238 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
9239 (GRUB_XFS_EXTENT_OFFSET): Likewise.
9240 (GRUB_XFS_EXTENT_BLOCK): Likewise.
9241 (GRUB_XFS_EXTENT_SIZE): Likewise.
9242 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
9243 (GRUB_XFS_NEXT_DIRENT): Likewise.
9244 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
9245 (grub_xfs_read_file): Fix offset type.
9246
9247 2011-10-15 Robert Millan <rmh@gnu.org>
9248
9249 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
9250
9251 2011-10-15 Robert Millan <rmh@gnu.org>
9252
9253 Fix build problem on FreeBSD and GNU/kFreeBSD.
9254
9255 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
9256
9257 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9258
9259 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
9260
9261 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
9262 types.
9263 (grub_hfsplus_btree_recoffset): Likewise.
9264 (grub_hfsplus_btree_recptr): Likewise.
9265 (grub_hfsplus_find_block): Likewise.
9266 (grub_hfsplus_btree_search): Likewise.
9267 (grub_hfsplus_read_block): Likewise.
9268 (grub_hfsplus_read_file): Likewise.
9269 (grub_hfsplus_mount): Likewise.
9270 (grub_hfsplus_btree_iterate_node): Likewise.
9271 (grub_hfsplus_btree_search): Likewise.
9272 (grub_hfsplus_iterate_dir): Likewise.
9273 (grub_hfsplus_read): A small code simplification.
9274
9275 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9276
9277 * grub-core/kern/emu/hostdisk.c
9278 (convert_system_partition_to_system_disk): Don't assume that children
9279 of mapper nodes are mapper nodes.
9280
9281 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9282
9283 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
9284 * include/grub/misc.h (grub_isxdigit): New function.
9285 * grub-core/video/colors.c (my_isxdigit): Removed. All users
9286 switched to grub_isxdigit.
9287 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
9288 number starting with a letter.
9289
9290 2011-10-09 Robert Millan <rmh@gnu.org>
9291
9292 LVM support for FreeBSD and GNU/kFreeBSD.
9293
9294 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
9295 GNU/kFreeBSD.
9296 (LVM_DEV_MAPPER_STRING): Move from here ...
9297 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
9298 * util/getroot.c: Include `<grub/util/lvm.h>'.
9299 (grub_util_get_dev_abstraction): Enable
9300 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
9301 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
9302 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
9303 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
9304 support it.
9305 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
9306 GNU/kFreeBSD.
9307 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
9308 when LVM abstraction is required for ${GRUB_DEVICE}.
9309
9310 2011-10-06 Szymon Janc <szymon@janc.net.pl>
9311
9312 Add support for LZO compression in GRUB:
9313 - import of minilzo library,
9314 - LZO decompression for btrfs,
9315 - lzop files decompression.
9316
9317 * grub-core/io/lzopio.c: New file.
9318 * grub-core/lib/adler32.c: Likewise.
9319 * grub-core/lib/minilzo/lzoconf.h: Likewise.
9320 * grub-core/lib/minilzo/lzodefs.h: Likewise.
9321 * grub-core/lib/minilzo/minilzo.c: Likewise.
9322 * grub-core/lib/minilzo/minilzo.h: Likewise.
9323 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
9324 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
9325 grub-core/lib/minilzo/minilzo.c to common.
9326 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
9327 cflags in cppflags.
9328 * grub-core/Makefile.core.def (btrfs): Likewise.
9329 * grub-core/Makefile.core.def (lzopio): New module.
9330 (adler32): Likewise.
9331 * grub-core/fs/btrfs.c: Include minilzo.h.
9332 (GRUB_BTRFS_COMPRESSION_LZO): New define.
9333 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
9334 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
9335 (grub_btrfs_lzo_decompress): New function.
9336 (grub_btrfs_extent_read): Add support for LZO compression type.
9337 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
9338 (GRUB_USHRT_MAX): Likewise.
9339 (GRUB_UINT_MAX): Likewise.
9340 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
9341 (UINT_MAX): Likewise.
9342 (CHAR_BIT): Likewise.
9343 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
9344 grub-core/lib/posix_wrap/limits.h
9345 (UCHAR_MAX): Likewise.
9346 * include/grub/file.h (grub_file_filter_id): New compression filter
9347 GRUB_FILE_FILTER_LZOPIO.
9348 * include/grub/file.h (grub_file_filter_id): Set
9349 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
9350 * include/grub/types.h (grub_get_unaligned16): New function.
9351 (grub_get_unaligned32): Likewise.
9352 (grub_get_unaligned64): Likewise.
9353 * util/import_gcry.py (cryptolist): Add adler32.
9354
9355 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
9356
9357 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
9358 in perspective decreases the complexity of build system and fixes
9359 compilation right now.
9360
9361 2011-10-01 Ales Nesrsta <starous@volny.cz>
9362
9363 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
9364 (fixed problem related to using UHCI with coreboot).
9365
9366 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
9367
9368 * gentpl.py: Use Autogen macros so that the output template file
9369 (Makefile.tpl) size is reduced.
9370
9371 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
9372
9373 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
9374 extra_dist.
9375
9376 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9377
9378 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
9379 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
9380
9381 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9382
9383 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
9384 _fullpath.
9385
9386 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9387
9388 Remove extra declaration of sleep for mingw32.
9389
9390 * util/misc.c (sleep) [__MINGW32__]: Removed.
9391 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
9392
9393 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
9394
9395 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
9396 type and packname.
9397 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
9398 Resurrected.
9399 (NETBSD_BTINFO_BOOTWEDGE): New definition.
9400 (grub_netbsd_btinfo_bootwedge): New struct.
9401 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
9402 New function.
9403 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
9404
9405 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
9406
9407 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
9408 loader.
9409
9410 2011-09-28 Andreas Born <futur.andy@googlemail.com>
9411
9412 Fix incorrect identifiers in bash-completion.
9413
9414 * util/bash-completion.d/grub-completion.bash.in
9415 (_grub_mkpasswd-pbkdf2): Rename to ...
9416 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
9417 (_grub_script-check): Rename to ...
9418 (_grub_script_check): ... this. All users updated.
9419
9420 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
9421
9422 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
9423 Return 0 if disk isn't biosdisk.
9424
9425 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9426
9427 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
9428 on NetBSD.
9429 * Makefile.util.def (grub-fstest): Likewise.
9430
9431 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9432
9433 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
9434 Get sector size from disk label.
9435
9436 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
9437
9438 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
9439 */README* as well as README*.
9440 Reported by: Axel Beckert.
9441
9442 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9443
9444 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
9445 case of less than 256 MiB of RAM.
9446
9447 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9448
9449 * grub-core/commands/wildcard.c (make_regex): Handle @.
9450
9451 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9452
9453 * util/grub-install.in: Move cryptodisk logic to appropriate place.
9454
9455 2011-08-21 Szymon Janc <szymon@janc.net.pl>
9456
9457 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
9458 AC_LANG_CONFTEST macros.
9459
9460 2011-08-20 Szymon Janc <szymon@janc.net.pl>
9461
9462 Add grub-fstest option to uncompress data for commands.
9463
9464 * util/grub-fstest.c (uncompress): New var.
9465 (options): New option -u.
9466
9467 2011-08-20 Szymon Janc <szymon@janc.net.pl>
9468
9469 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
9470 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
9471
9472 2011-08-20 Szymon Janc <szymon@janc.net.pl>
9473
9474 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
9475 file type was not recognized correctly (not gzip or corrupted).
9476
9477 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9478
9479 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
9480 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
9481
9482 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9483
9484 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
9485 loongson.
9486 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
9487 video_radeon_fuloong2e.
9488 * grub-core/video/radeon_fuloong2e.c: New file.
9489 * include/grub/video.h (grub_video_id_t): Add new ID
9490 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
9491
9492 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9493
9494 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
9495 define.
9496 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
9497 that PRID matches the detected subplatform and reset the subplatform
9498 if it doesn't.
9499
9500 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9501
9502 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
9503
9504 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9505
9506 Fix PCI iterating on functions >= 4.
9507
9508 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
9509 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
9510 Removed.
9511 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
9512 (grub_pci_read): Fix bitmask.
9513 (grub_pci_read_word): Likewise.
9514 (grub_pci_read_byte): Likewise.
9515 (grub_pci_write): Likewise.
9516 (grub_pci_write_word): Likewise.
9517 (grub_pci_write_byte): Likewise.
9518
9519 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9520
9521 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
9522 can still be specified in TARGET_CFLAGS)
9523
9524 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9525
9526 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
9527
9528 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
9529 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
9530 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
9531 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
9532 (FULOONG): Rename to ...
9533 (FULOONG2F): ... this. All users updated.
9534 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
9535 (machtype_fuloong2f_str): ... this.
9536 (machtype_fuloong2e_str): New string.
9537 Check for machtype_fuloong2e_str.
9538 * grub-core/loader/mips/linux.c (loongson_machtypes)
9539 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
9540 * grub-core/term/serial.c (loongson_defserial)
9541 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
9542 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
9543 loongson_defserial.
9544 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
9545 Rename to ...
9546 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
9547 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
9548 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
9549 to IMAGE_FULOONG2F_FLASH. All users updated.
9550 (image_targets): Rename images.
9551 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
9552
9553 2011-08-19 Szymon Janc <szymon@janc.net.pl>
9554
9555 Make enable of disk cache statistics code configurable.
9556
9557 * configure.ac: --enable-cache-stats added.
9558 * config.h.in (DISK_CACHE_STATS): New define.
9559 * grub-core/Makefile.core.def (cacheinfo): New command.
9560 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
9561 * grub-core/commands/cacheinfo.c: New file.
9562 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
9563 moved to cacheinfo.c.
9564 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
9565 debug code.
9566 * include/grub/disk.h: Likewise.
9567
9568 2011-08-19 Szymon Janc <szymon@janc.net.pl>
9569
9570 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
9571 * grub-core/Makefile.am: Likewise.
9572
9573 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9574
9575 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
9576 non-zero pull.
9577
9578 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9579
9580 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
9581 All users updated.
9582 (grub_jfs_lookup_symlink): Use correct starting inode.
9583
9584 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9585
9586 * util/grub-setup.c (main): Add missing gcry initialisation.
9587
9588 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9589
9590 Don't accept text modes on EFI when booting Linux.
9591
9592 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
9593 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
9594
9595 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
9596 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
9597
9598 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
9599 use of "/path/.." as in grub-install for EFI as well as handling
9600 symlinks correctly.
9601 Fixes Debian bug #637768.
9602
9603 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
9604
9605 * util/grub-probe.c: Remove duplicate #include.
9606
9607 2011-08-10 Robert Millan <rmh@gnu.org>
9608
9609 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
9610
9611 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
9612 function.
9613 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
9614 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
9615
9616 2011-08-03 Robert Millan <rmh@gnu.org>
9617
9618 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
9619 la_array as packed.
9620 Reported by: Zachary Bedell
9621
9622 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
9623
9624 * configure.ac: The Loongson port requires grub-mkfont due to its
9625 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
9626 be built.
9627
9628 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
9629
9630 * util/grub-install.in: Don't source grub-mkconfig_lib until after
9631 processing arguments (otherwise help2man fails when GRUB has not yet
9632 been installed).
9633
9634 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9635
9636 New script grub-mkstandalone.
9637
9638 * Makefile.util.def (grub-mkstandalone): New script.
9639 * docs/man/grub-mkstandalone.h2m: New file.
9640 * util/grub-mkstandalone.in: Likewise.
9641
9642 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9643
9644 Support ATA disks with 4K sectors.
9645
9646 * include/grub/ata.h (grub_ata): New member log_sector_size.
9647 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
9648 (grub_ata_identify): Read sector size.
9649 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
9650
9651 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9652
9653 * util/grub-install.in: Don't use uhci outside of x86.
9654
9655 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9656
9657 * util/grub-mkrescue.in: Add missing quotes.
9658
9659 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9660
9661 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
9662 dereference.
9663
9664 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9665
9666 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
9667
9668 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9669
9670 * include/grub/video.h: add missing EXPORT_FUND on
9671 grub_video_edid_checksum and grub_video_edid_preferred_mode.
9672
9673 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9674
9675 * include/grub/mips/kernel.h: Fix define conflict.
9676
9677 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9678
9679 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
9680 all four ways.
9681
9682 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
9683
9684 Preferred resolution detection for VBE.
9685
9686 * grub-core/video/video.c (grub_video_edid_checksum): New function.
9687 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
9688 the Flat Panel extension, in line with the X.org VESA driver.
9689 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
9690 New function.
9691 (grub_vbe_bios_get_ddc_capabilities): Likewise.
9692 (grub_vbe_bios_read_edid): Likewise.
9693 (grub_vbe_get_preferred_mode): Likewise.
9694 (grub_video_vbe_setup): When the mode is "auto", try to get the
9695 preferred mode from VBE, and use the largest mode that is no larger
9696 than the preferred mode (some BIOSes expose a preferred mode that is
9697 not in their mode list!). If this fails, fall back to 640x480 as a
9698 safe conservative choice.
9699 (grub_video_vbe_get_edid): New function.
9700 (grub_video_vbe_adapter): Add get_edid.
9701 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
9702 (struct grub_video_adapter): Add get_edid.
9703 (grub_video_edid_checksum): Add prototype.
9704 (grub_video_edid_preferred_mode): Likewise.
9705 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
9706 structure.
9707
9708 * grub-core/commands/videoinfo.c (print_edid): New function.
9709 (grub_cmd_videoinfo): Print EDID if available.
9710
9711 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
9712 is more appropriate on a wider range of platforms than 640x480.
9713 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
9714 documentation.
9715
9716 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9717
9718 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
9719
9720 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9721
9722 * po/POTFILES.in: Regenerate.
9723
9724 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9725
9726 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
9727 incorrect memory usage.
9728
9729 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9730
9731 * util/grub-install.in: Source grub-mkconfig_lib.
9732
9733 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9734
9735 Remove getroot.c from core on emu platform.
9736
9737 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
9738 kern/emu/raid.c.
9739 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
9740 useless.
9741 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
9742 * util/getroot.c (get_win32_path): ... here.
9743 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
9744 * util/getroot.c (fini_libzfs): ... here.
9745 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
9746 * util/getroot.c (grub_get_libzfs_handle): ... here.
9747 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
9748 Moved from here...
9749 * util/getroot.c (grub_find_zpool_from_dir): ... here.
9750 * grub-core/kern/emu/misc.c
9751 (grub_make_system_path_relative_to_its_root): Moved from here...
9752 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
9753 * grub-core/kern/emu/getroot.c: Moved from here ...
9754 * util/getroot.c: ... here. All users updated.
9755 * grub-core/kern/emu/raid.c: Moved from here ...
9756 * util/raid.c: ... here. All users updated.
9757
9758 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9759
9760 * po/POTFILES.in: Regenerate.
9761
9762 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9763
9764 Fix compilation on GNU/Linux.
9765
9766 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
9767 Disable geli.
9768 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
9769 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
9770 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
9771
9772 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9773 2011-07-07 Michael Gorven <michael@gorven.za.net>
9774 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
9775
9776 LUKS and GELI support.
9777
9778 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
9779 grub-core/disk/luks.c, grub-core/disk/geli.c,
9780 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
9781 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
9782 grub-core/lib/arg.c.
9783 (libgrubmods.a): Remove gcrypts cflags and cppflags.
9784 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
9785 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
9786 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
9787 (grub-bin2h): Add libgcry.a.
9788 (grub-mkimage): Likewise.
9789 (grub-mkrelpath): Likewise.
9790 (grub-script-check): Likewise.
9791 (grub-editenv): Likewise.
9792 (grub-mkpasswd-pbkdf2): Likewise.
9793 (grub-pe2elf): Likewise.
9794 (grub-fstest): Likewise.
9795 (grub-mkfont): Likewise.
9796 (grub-mkdevicemap): Likewise.
9797 (grub-probe): Likewise.
9798 (grub-ofpath): Likewise.
9799 (grub-mklayout): Likewise.
9800 (example_unit_test): Likewise.
9801 (grub-menulst2cfg): Likewise.
9802 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
9803 * grub-core/Makefile.core.def (cryptodisk): New module.
9804 (luks): Likewise.
9805 (geli): Likewise.
9806 * grub-core/disk/AFSplitter.c: New file.
9807 * grub-core/disk/cryptodisk.c: Likewise.
9808 * grub-core/disk/geli.c: Likewise.
9809 * grub-core/disk/luks.c: Likewise.
9810 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
9811 grub_util_is_lvm.
9812 (grub_util_get_dm_abstraction): New function.
9813 (grub_util_follow_gpart_up): Likewise.
9814 (grub_util_get_geom_abstraction): Likewise.
9815 (grub_util_get_dev_abstraction): Use new functions.
9816 (grub_util_pull_device): Pull GELI and LUKS.
9817 (grub_util_get_grub_dev): Handle LUKS and GELI.
9818 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
9819 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
9820 (follow_geom_up): Removed.
9821 (grub_util_fd_seek): New function.
9822 (open_device): Use grub_util_fd_seek.
9823 (nread): Rename to ..
9824 (grub_util_fd_read): ... this. All users updated.
9825 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
9826 (grub_crypto_cbc_decrypt): Likewise.
9827 (grub_crypto_hmac_write): Likewise.
9828 (grub_crypto_hmac_buffer): Likewise.
9829 (grub_password_get): Extend to util.
9830 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
9831 New member modname.
9832 (gcry_md_spec) [GRUB_UTIL]: Likewise.
9833 * include/grub/cryptodisk.h: New file.
9834 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
9835 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
9836 LUKS and GELI.
9837 (grub_util_follow_gpart_up): New proto.
9838 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
9839 (grub_util_fd_read): Likewise.
9840 (grub_cryptodisk_cheat_mount): Likewise.
9841 (grub_util_cryptodisk_print_uuid): Likewise.
9842 (grub_util_get_fd_sectors): Likewise.
9843 * util/grub-fstest.c (mount_crypt): New var.
9844 (fstest): Mount crypto if requested.
9845 (options): New option -C.
9846 (argp_parser): Parse -C.
9847 (main): Init and fini gcry.
9848 * util/grub-install.in: Support cryptodisk install.
9849 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
9850 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
9851 cryptodisk.
9852 (prepare_grub_to_access_device): Likewise.
9853 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
9854 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
9855 (probe_cryptodisk_uuid): New function.
9856 (probe_abstraction): Likewise.
9857 (probe): Use new functions.
9858 * util/import_gcry.py: Create Makefile.utilgcry.def.
9859 Add modname member.
9860
9861 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9862
9863 Lazy device scanning.
9864
9865 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
9866 (grub-setup): Remove util/raid.c.
9867 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
9868 * grub-core/disk/lvm.c (scan_depth): New variable.
9869 (grub_lvm_iterate): Rescan if necessary.
9870 (find_lv): New function based on grub_lvm_open.
9871 (grub_lvm_open): Use find_lv. Rescan on error.
9872 (is_node_readable): New function.
9873 (is_lv_readable): Likewise.
9874 (grub_lvm_scan_device): Skip already found disks.
9875 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
9876 Stop if searched device is found and readable.
9877 * grub-core/disk/raid.c (inscnt): New variable.
9878 (scan_depth): Likewise.
9879 (scan_devices): New function based on grub_raid_register. Abort if
9880 looked for device is found.
9881 (grub_raid_iterate): Rescan if needed.
9882 (find_array): NEw function based on -grub_raid_open.
9883 (grub_raid_open): Use find_array and rescan.
9884 (insert_array): Set became_readable_at.
9885 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
9886 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
9887 New function.
9888 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
9889 (grub_util_pull_device): New function.
9890 (grub_util_get_grub_dev): Call grub_util_pull_device.
9891 * util/raid.c: Moved to ..
9892 * grub-core/kern/emu/raid.c: ... here.
9893 (grub_util_raid_getmembers): New parameter "bootable".
9894 All users updated. Support 1.x.
9895 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
9896 All users updated.
9897 * include/grub/disk.h (grub_disk_pull_t): New enum.
9898 (grub_disk_dev): Change iterate prototype.
9899 All users updated.
9900 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
9901 New proto.
9902 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
9903 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
9904 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
9905 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
9906 All users updated.
9907 * include/grub/util/raid.h: Removed.
9908
9909 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
9910
9911 * po/POTFILES.in: Regenerate.
9912
9913 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
9914
9915 Unify sparc init with other ieee1275.
9916
9917 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
9918 instead of kern/sparc64/ieee1275/init.c.
9919 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
9920 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
9921 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
9922 grub/machine/kernel.h.
9923 (grub_ieee1275_original_stack) [__sparc__]: New variable.
9924 (grub_claim_heap) [__sparc__]: Use sparc version.
9925 (grub_machine_init): Moved args parsing to
9926 (grub_parse_cmdline): ...this.
9927 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
9928 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
9929 New definition.
9930 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
9931
9932 Move BOOTP to separate file.
9933
9934 * grub-core/Makefile.core.def (net): Add net/bootp.c.
9935 * grub-core/net/net.c: Move all BOOTP functions to
9936 * grub-core/net/bootp.c: ... here.
9937
9938 Use frame interface on PXE.
9939
9940 * grub-core/Makefile.core.def (pxecmd): Removed.
9941 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
9942 * grub-core/commands/i386/pc/pxecmd.c: Removed.
9943 * grub-core/i386/pc/pxe.c: Moved from here ...
9944 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
9945 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
9946 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
9947
9948 EFI network support.
9949
9950 * grub-core/Makefile.core.def (efinet): New module.
9951 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
9952 here...
9953 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
9954 All users updated.
9955 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
9956 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
9957 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
9958 * grub-core/net/drivers/efi/efinet.c: New file.
9959 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
9960 (grub_efi_net_config): New extern var.
9961
9962 Various cleanups and bugfixes.
9963
9964 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
9965 error.
9966 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
9967 disk declared as partition.
9968 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
9969 leak on failure.
9970 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
9971 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
9972 (grub_debug_zalloc): Likewise.
9973 (grub_debug_realloc): Likewise.
9974 (grub_debug_memalign): Likewise.
9975 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
9976 Check that target is IPv4.
9977 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
9978 local-mac-address as fallback.
9979 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
9980 memory leak.
9981 * grub-core/net/ip.c (ipchksum): Rename to ...
9982 (grub_net_ip_chksum): ... this. All users updated.
9983 (grub_net_recv_ip_packets): Special handling for DHCP.
9984 * util/grub-mkimage.c (generate_image): Zero-out aout header.
9985
9986 Unify prefix handling
9987
9988 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
9989 (grub_machine_get_bootlocation): ... this.
9990 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
9991 (grub_machine_get_bootlocation): ... this.
9992 (grub_prefix): New variable.
9993 (prefix): Removed.
9994 (root_dev): New variable.
9995 (dir): Likewise.
9996 (main): Use new variables.
9997 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
9998 Revamped into ...
9999 (grub_machine_get_bootlocation): ... this.
10000 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
10001 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
10002 (grub_machine_get_bootlocation): ... this.
10003 (grub_machine_set_prefix): Removed.
10004 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
10005 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
10006 Revamped into ...
10007 (grub_machine_get_bootlocation): ... this.
10008 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
10009 (grub_set_prefix_and_root): ... this. All users updated.
10010 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
10011 Revamped into ...
10012 (grub_machine_get_bootlocation): ... this.
10013 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
10014 (grub_machine_get_bootlocation): New proto.
10015 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
10016
10017 Less intrusive and more reliable seek on network implementation.
10018
10019 * grub-core/kern/file.c (grub_file_net_seek): Removed.
10020 (grub_file_seek): Don't call grub_file_net_seek.
10021 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
10022 (grub_net_fs_read_real): .. this.
10023 (grub_net_seek_real): Use net->offset.
10024 (grub_net_fs_read): Seek if necessary.
10025
10026 Unify IEEE1275 netwotk config with the other platforms.
10027
10028 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
10029 New variable.
10030 (grub_machine_get_bootlocation): Support network.
10031 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
10032 Support type and device parsing.
10033 (grub_ieee1275_get_device_type): New function.
10034 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
10035 into ...
10036 (grub_ieee1275_net_config_real): ... this.
10037 (grub_ofnet_probecards): Removed.
10038 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
10039 * include/grub/ieee1275/ofnet.h: Removed.
10040 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
10041 extern var.
10042 (grub_ieee1275_get_device_type): New function.
10043
10044 Unify network device closing across platforms and make more robust.
10045
10046 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
10047 grub_grubnet_fini.
10048 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
10049 already.
10050 * grub-core/net/net.c (grub_net_network_level_interface_register):
10051 Update num_ifaces.
10052 (grub_net_card_unregister): Close all interfaces.
10053 (receive_packets): Don't poll if no iterfaces are registered.
10054 Open if necessary.
10055 (grub_net_fini_hw): New function.
10056 (grub_net_restore_hw): Likewise.
10057 (fini_hnd): New variable.
10058 (GRUB_MOD_INIT): Register preboot hook.
10059 (GRUB_MOD_FINI): Run and unregister preboot hook.
10060
10061 Poll network cards when idle.
10062
10063 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
10064 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
10065 * grub-core/net/net.c (receive_packets): Save last poll time.
10066 (grub_net_poll_cards_idle_real): New function.
10067 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
10068 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
10069 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
10070
10071 Rename ofnet interfaces.
10072
10073 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
10074 (grub_ofnet_findcards): Use ofnet_%s names.
10075
10076 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
10077
10078 Cleanup socket opening.
10079
10080 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
10081 (grub_net_fs_close): Likewise.
10082 (grub_net_fs_read_real): Use eof member.
10083 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
10084 (+grub_net_udp_close): New inline function.
10085
10086 * include/grub/net/tftp.h: Moved to the top of ...
10087 * grub-core/net/tftp.c: ... here.
10088 * include/grub/net/ip.h: Moved mostly to the top of ...
10089 * grub-core/net/ip.c: ... here.
10090 * include/grub/net/ethernet.h: Moved mostly to the top of ...
10091 * grub-core/net/ethernet.c: ... here.
10092
10093 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
10094
10095 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
10096 FS name.
10097
10098 * include/grub/net/ip.h (ipv4_ini): Removed.
10099 (ipv4_fini): Likewise.
10100
10101 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
10102 (grub_net_send_ip_packets): Likewise.
10103
10104 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10105
10106 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
10107 grub_read_cmos prototype.
10108
10109 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10110
10111 VGA text support in qemu-mips
10112
10113 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
10114 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
10115 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
10116 text.
10117 * grub-core/kern/i386/qemu/init.c: Renamed to ...
10118 * grub-core/kern/vga_init.c: ... this.
10119 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
10120 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
10121 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
10122 Adjust.
10123 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
10124 GRUB_MACHINE_PCI_IO_BASE.
10125
10126 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10127
10128 MIPS qemu flash support.
10129
10130 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
10131 magic.
10132 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
10133 (grub_machine_init): Probe memory if its size isn't known.
10134 * util/grub-mkimage.c (image_targets): Add flash targets.
10135 (generate_image): Handle flash targets.
10136
10137 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10138
10139 MIPS qemu at_keyboard support.
10140
10141 * gentpl.py (videoinkernel): Add qemu-mips.
10142 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
10143 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
10144 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
10145 modules.
10146 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
10147 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
10148 * grub-core/term/serial.c (grub_serial_register)
10149 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
10150
10151 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10152
10153 CMOS support on sparc.
10154
10155 * gentpl.py (cmos): Add powerpc and sparc.
10156 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
10157 powerpc and sparc.
10158 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
10159 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
10160 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
10161 grub_set_datetime_cmos.
10162 * grub-core/lib/ieee1275/cmos.c: New file.
10163 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
10164 (find_rtc): Set no_ieee1275_rtc on error.
10165 (grub_get_datetime): Call grub_get_datetime_cmos on error.
10166 (grub_set_datetime): Call grub_set_datetime_cmos on error.
10167 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
10168 fail. Move value to argument. All users updated
10169 (grub_cmos_write): Likewise.
10170 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
10171 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
10172 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
10173 grub_get_datetime_cmos and grub_set_datetime_cmos.
10174
10175 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
10176
10177 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
10178 sourcing grub-mkconfig_lib.
10179 * util/update-grub_lib.in: Likewise.
10180 * util/grub.d/00_header.in: Likewise.
10181 * util/grub.d/10_hurd.in: Likewise.
10182 * util/grub.d/10_kfreebsd.in: Likewise.
10183 * util/grub.d/10_linux.in: Likewise.
10184 * util/grub.d/10_netbsd.in: Likewise.
10185 * util/grub.d/10_windows.in: Likewise.
10186 * util/grub.d/20_linux_xen.in: Likewise.
10187 * util/grub.d/30_os-prober.in: Likewise.
10188
10189 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
10190
10191 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
10192 default_bg_color rather than black.
10193 (grub_gfxterm_fullscreen): Likewise.
10194 (grub_gfxterm_background_color_cmd): Save new background color in
10195 default_bg_color.
10196
10197 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10198
10199 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
10200
10201 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10202
10203 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
10204 mismerge.
10205
10206 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10207
10208 Chainloading on coreboot support.
10209
10210 * grub-core/Makefile.core.def (chain): Add coreboot.
10211 * grub-core/loader/i386/coreboot/chainloader.c: New file.
10212
10213 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10214
10215 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
10216 if it happens.
10217
10218 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10219
10220 Implement time command.
10221
10222 * grub-core/Makefile.core.def (time): New module.
10223 * grub-core/commands/time.c: New file.
10224 * grub-core/script/parser.y: Remove "time" keyword.
10225 * grub-core/script/yylex.l: Likewise.
10226
10227 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10228
10229 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
10230
10231 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10232
10233 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
10234 when handling leftovers.
10235
10236 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10237
10238 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
10239 so that help2man doesn't fail.
10240
10241 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10242
10243 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
10244 type in pointers on sparc64.
10245 (get_card_packet): Likewise.
10246
10247 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
10248
10249 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
10250 with `*'.
10251 (grub_cmd_videoinfo): Fetch current video mode.
10252
10253 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10254
10255 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
10256 because of underlying system restrictions.
10257
10258 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10259
10260 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
10261 necessary.
10262
10263 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10264
10265 Coreboot video support.
10266
10267 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
10268 (vbe): Likewise.
10269 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
10270 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
10271 here ...
10272 * grub-core/kern/i386/int.S: ... here.
10273 * grub-core/video/i386/pc/vbe.c: Updated includes.
10274 * grub-core/video/i386/pc/vga.c: Likewise.
10275 * include/grub/i386/coreboot/memory.h
10276 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
10277 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
10278 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
10279 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
10280 Disable interrupts.
10281 * include/grub/i386/pc/vga.h: Removed. All users updated.
10282
10283 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10284
10285 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
10286 definitions for dprintf.
10287 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
10288
10289 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10290
10291 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
10292 prototype.
10293 (get_card_packet): Likewise.
10294
10295 2011-06-26 Yves Blusseau <blusseau@zetam.org>
10296
10297 Display the path of the file when file is not found
10298
10299 * grub-core/fs/fat.c: Display the filename when file is not found.
10300 * grub-core/fs/fshelp.c: Likewise.
10301 * grub-core/fs/hfs.c: Likewise.
10302 * grub-core/fs/jfs.c: Likewise.
10303 * grub-core/fs/minix.c: Likewise.
10304 * grub-core/fs/ufs.c: Likewise.
10305 * grub-core/fs/btrfs.c: Likewise.
10306 * grub-core/commands/i386/pc/play.c: Likewise.
10307
10308 2011-06-26 Szymon Janc <szymon@janc.net.pl>
10309
10310 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
10311 pointer checks before calling grub_free().
10312 * grub-core/commands/wildcard.c (match_devices): Likewise.
10313 * grub-core/commands/wildcard.c (match_files): Likewise.
10314 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
10315 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
10316 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
10317 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
10318 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
10319 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
10320 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
10321 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
10322 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
10323
10324 2011-06-25 Patrick <p55@mailinator.com>
10325
10326 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
10327
10328 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
10329
10330 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
10331 (grub_pxe_send): Likewise.
10332 (GRUB_MOD_INIT): Fix types.
10333
10334 2011-06-24 Szymon Janc <szymon@janc.net.pl>
10335
10336 * grub-core/io/xzio.c: Fix code style issues
10337
10338 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10339 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
10340
10341 Network infrastructure.
10342 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
10343
10344 * include/grub/net/arp.h: New file.
10345 * include/grub/net/device.h: Likewise.
10346 * include/grub/net/ethernet.h: Likewise.
10347 * include/grub/net/ip.h: Likewise.
10348 * include/grub/net/netbuff.h: Likewise.
10349 * include/grub/net/tftp.h: Likewise.
10350 * include/grub/net/udp.h: Likewise.
10351 * include/grub/ieee1275/ofnet.h: Likewise.
10352 * include/grub/emu/export.h: Likewise.
10353 * include/grub/net.h: Likewise.
10354 * grub-core/net/arp.c: Likewise.
10355 * grub-core/net/ethernet.c: Likewise.
10356 * grub-core/net/ip.c: Likewise.
10357 * grub-core/net/udp.c: Likewise.
10358 * grub-core/net/tftp.c: Likewise.
10359 * grub-core/net/netbuff.c: Likewise.
10360 * grub-core/net/net.c: Likewise.
10361 * grub-core/net/drivers/emu/emunet.c: Likewise.
10362 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
10363 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
10364 export.h.
10365 * grub-core/Makefile.core.def (net): New module.
10366 (tftp): Likewise.
10367 (ofnet): Likewise.
10368 (emunet): Likewise.
10369 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
10370 network protocols.
10371 * grub-core/kern/device.c (grub_net_open) : New variable.
10372 (grub_device_open): Handle network device.
10373 (grub_device_close): Likewise.
10374 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
10375 (grub_grubnet_fini): Likewise.
10376 (grub_file_seek): Seek in network device.
10377 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
10378 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
10379 network root.
10380 (grub_machine_fini): Call grub_grubnet_fini.
10381 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
10382 network.
10383 (grub_ieee1275_get_aliasdevname): New function.
10384 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10385 Add unofficial Solaris network info.
10386 (grub_multiboot_make_mbi): Likewise.
10387 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
10388 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
10389 * include/grub/device.h (grub_fs): Removed.
10390 * include/grub/err.h (grub_err_t): Add network-related values.
10391 * include/grub/i386/pc/pxe.h: Removed bootp parts.
10392 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
10393 (grub_ieee1275_get_aliasdevname): New proto.
10394 * include/grub/net.h: Rewritten.
10395
10396 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10397
10398 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
10399 names.
10400
10401 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10402
10403 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
10404 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
10405 it truncates the output.
10406 Reported by: Ximin Luo.
10407
10408 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10409
10410 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
10411
10412 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10413
10414 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
10415 partmap before abstraction.
10416
10417 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
10418
10419 * util/grub-mkconfig_lib.in: Add missing quotes.
10420
10421 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10422
10423 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
10424 old method if mountinfo would return /dev/root and /dev/root doesn't
10425 exist.
10426
10427 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10428
10429 ZFS zlib support
10430
10431 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
10432 (decomp_table): Add zlib entries.
10433 (zio_read): USe 8 bits for compression function rather than 3.
10434 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
10435
10436 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10437
10438 * grub-core/disk/ahci.c: Add missing license statements.
10439 * grub-core/fs/romfs.c: Likewise.
10440 * grub-core/lib/ia64/setjmp.S: Likewise.
10441 * grub-core/loader/i386/pc/freedos.c: Likewise.
10442 * grub-core/loader/ia64/efi/linux.c: Likewise.
10443 * grub-core/video/colors.c: Likewise.
10444 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
10445
10446 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10447
10448 AHCI support.
10449
10450 * grub-core/Makefile.core.def (ata_pthru): Removed.
10451 (ahci): New module.
10452 (pata): Likewise.
10453 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
10454 on unload.
10455 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
10456 readwrite.
10457 (grub_hdparm_do_check_powermode_cmd): Likewise.
10458 (grub_hdparm_do_smart_cmd): Likewise.
10459 (grub_hdparm_set_val_cmd): Likewise.
10460 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
10461 * grub-core/disk/ahci.c: New file.
10462 * grub-core/disk/ata.c: Factor out the low-level part into ...
10463 * grub-core/disk/pata.c: ... here.
10464 * grub-core/disk/ata_pthru.c: Contents moved to ...
10465 * grub-core/disk/pata.c: ... here.
10466 * grub-core/disk/scsi.c (grub_scsi_names): New array.
10467 (grub_scsi_iterate): Use grub_scsi_names.
10468 (grub_scsi_open): Likewise.
10469 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
10470 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
10471 (grub_ata_regs_t): New struct.
10472 (grub_disk_ata_pass_through_parms): Likewise.
10473 (grub_ata_device): Renamed to ...
10474 (grub_ata): ... this.
10475 (grub_ata_dev): New struct.
10476 Removed all low-level inline functions.
10477 * include/grub/scsi.h: Add PATA and AHCI subsystems.
10478 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
10479 iterate hooks and open. All users updated.
10480 * util/grub-install.in: Handle AHCI disk module.
10481
10482 2011-06-23 Szymon Janc <szymon@janc.net.pl>
10483
10484 Add support for DRI and RSTn markers in JPEG files.
10485
10486 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
10487 (JPEG_MARKER_RST0): Likewise.
10488 (JPEG_MARKER_RST1): Likewise.
10489 (JPEG_MARKER_RST2): Likewise.
10490 (JPEG_MARKER_RST3): Likewise.
10491 (JPEG_MARKER_RST4): Likewise.
10492 (JPEG_MARKER_RST5): Likewise.
10493 (JPEG_MARKER_RST6): Likewise.
10494 (JPEG_MARKER_RST7): Likewise.
10495 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
10496 (grub_jpeg_decode_dri): New function.
10497 (grub_jpeg_decode_sos): Move image data related part into
10498 grub_jpeg_decode_data function.
10499 (grub_jpeg_decode_data): New function.
10500 (grub_jpeg_reset): New function.
10501 (grub_jpeg_decode_jpeg): Handle new markers.
10502
10503 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10504
10505 * util/ieee1275/ofpath.c (check_sas): Close fd.
10506 (main): Free of_path.
10507 Reported by: David Volgyes <dvolgyes>.
10508
10509 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10510
10511 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
10512 Reported by: David Volgyes <dvolgyes>.
10513
10514 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10515
10516 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
10517 file after stat.
10518 Reported by: David Volgyes <dvolgyes>.
10519
10520 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10521
10522 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
10523
10524 Reported by: David Volgyes <dvolgyes>.
10525
10526 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10527
10528 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
10529 Prevent memory leak.
10530
10531 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10532
10533 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
10534 (main): Close file.
10535 Reported by: David Volgyes <dvolgyes>.
10536
10537 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10538
10539 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
10540 to continue if allocation is failed.
10541
10542 Reported by: David Volgyes <dvolgyes>.
10543
10544 2011-06-23 David Volgyes <dvolgyes>
10545
10546 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
10547 dereference.
10548
10549 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10550
10551 Fix spurious warning.
10552
10553 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
10554 (acorn_partition_map_find): Use .bin member.
10555
10556 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10557
10558 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
10559 /dev/root as a valid device.
10560
10561 2011-06-23 Jim Meyering <meyering@redhat.com>
10562
10563 Avoid NULL deref in grub_device_open.
10564
10565 * grub-core/kern/device.c (grub_device_open): Don't dereference
10566 a NULL pointer upon failed grub_env_get.
10567
10568 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10569
10570 Support non-512B sectors and agglomerate reads.
10571
10572 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
10573 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
10574 (disk_io_guid): Removed.
10575 (make_devices): Locate solely by BlockIO.
10576 (grub_efidisk_open): Fill log_sector_size and total_sectors.
10577 (grub_efidisk_read): Use read_blocks.
10578 (grub_efidisk_write): Use write_blocks.
10579 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
10580 log_sector_size.
10581 (get_safe_sectors): Handle non-512B sectors.
10582 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
10583 sectors.
10584 (grub_biosdisk_write): Handle non-512B sectors.
10585 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
10586 (grub_scsi_read): Remove special non-512B block handling (now handled
10587 one level up).
10588 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
10589 and do sanity checks.
10590 (grub_disk_adjust_range): Handle non-512B sectors.
10591 (transform_sector): New function.
10592 (grub_disk_read_small): Likewise.
10593 (grub_disk_read): Rewritten.
10594 (grub_disk_write): Handle non-512B sectors.
10595 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
10596 log_sector_size.
10597 (open_device): Use log_sector_size.
10598 (grub_util_biosdisk_read): Likewise.
10599 (grub_util_biosdisk_write): Likewise.
10600 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
10601 non-512B sectors.
10602 (pc_partition_map_embed): Likewise.
10603 * include/grub/disk.h (grub_disk): New field log_sector_size.
10604 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
10605 (GRUB_DISK_CACHE_BITS): Increased to 6.
10606 * util/grub-fstest.c (fstest): New command testload.
10607 (argp_parser): Likewise.
10608
10609 2011-06-16 Robert Millan <rmh@gnu.org>
10610
10611 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
10612 `ata' driver on kernel of FreeBSD 9.
10613
10614 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
10615 (get_ataraid_disk_name): New functions.
10616 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
10617 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
10618 get_ataraid_disk_name() and get_ada_disk_name().
10619
10620 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
10621
10622 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
10623 input format.
10624
10625 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
10626
10627 * docs/grub.texi (Obtaining and Building GRUB): Substitute
10628 `ftp.gnu.org' for `alpha.gnu.org'.
10629
10630 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
10631
10632 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
10633 partitions under /dev/disk/by-id/.
10634
10635 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
10636
10637 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
10638 after ten consecutive open failures. Scanning all the way up to
10639 10000 is excessive and can cause serious performance problems in
10640 some configurations.
10641 Fixes Ubuntu bug #787461.
10642
10643 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10644
10645 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
10646 opening new one.
10647
10648 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
10649 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10650
10651 Don't stat devices unless we have to.
10652
10653 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
10654 dir == /dev/mapper.
10655 (grub_guess_root_device): Use already known os_dev if possible.
10656 * grub-core/kern/emu/hostdisk.c
10657 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
10658 if device is known to be a dm one.
10659
10660 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
10661
10662 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
10663 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
10664 Reported by: Pawel Tecza.
10665
10666 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
10667
10668 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
10669 (lsefisystab): Likewise.
10670 (lssal): Likewise.
10671 (lsefimmap): Likewise.
10672 (hdparm): Enable on qemu-mips.
10673 (setjmp): Add ia64 nodist.
10674 (serial): Simplify tags.
10675
10676 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10677
10678 * Makefile.util.def (grub-ofpathname): Install manual page.
10679
10680 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10681
10682 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
10683
10684 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10685
10686 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
10687
10688 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10689
10690 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
10691 into dprintf.
10692
10693 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10694
10695 Use full 64-bit division.
10696
10697 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
10698 (grub_divmod64): ... this.
10699 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
10700 version.
10701
10702 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10703
10704 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
10705 `source'.
10706
10707 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10708
10709 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
10710 to avoid accidents when debugging with 'sh -x'.
10711 * grub-core/gensyminfo.sh.in: Likewise.
10712 * tests/example_scripted_test.in: Likewise.
10713 * tests/grub_cmd_regexp.in: Likewise.
10714 * tests/grub_script_blanklines.in: Likewise.
10715 * tests/grub_script_dollar.in: Likewise.
10716 * tests/grub_script_expansion.in: Likewise.
10717 * tests/grub_script_final_semicolon.in: Likewise.
10718 * tests/partmap_test.in: Likewise.
10719 * tests/util/grub-shell-tester.in: Likewise.
10720 * tests/util/grub-shell.in: Likewise.
10721
10722 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10723
10724 Move gfxmenu color handling to video, so that gfxterm can use it
10725 too.
10726
10727 * grub-core/gfxmenu/named_colors.c: Move to ...
10728 * grub-core/video/colors.c: ... here. Rename
10729 grub_gui_get_named_color to grub_video_get_named_color.
10730 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
10731 * grub-core/video/colors.c (my_isxdigit): ... here.
10732 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
10733 Move to ...
10734 * grub-core/video/colors.c (parse_hex_color_component): ... here.
10735 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
10736 to ...
10737 * grub-core/video/colors.c (grub_video_parse_color): ... here.
10738
10739 * include/grub/gui.h (grub_gui_color_t): Move to ...
10740 * include/grub/video.h (grub_video_rgba_color_t): ... here.
10741 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
10742 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
10743 * include/grub/gui.h (grub_gui_map_color): Move to ...
10744 * include/grub/video.h (grub_video_map_rgba_color): ... here.
10745 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
10746 to ...
10747 * include/grub/video.h (grub_video_get_named_color): ... here.
10748 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
10749 * include/grub/video.h (grub_video_parse_color): ... here.
10750
10751 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
10752 video/colors.c.
10753 (gfxmenu): Remove gfxmenu/named_colors.c.
10754 (video) [videomodules]: Add video/colors.c.
10755
10756 Add a background_color command.
10757
10758 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
10759 function.
10760 (GRUB_MOD_INIT): Register background_color command.
10761 (GRUB_MOD_FINI): Unregister background_color command.
10762 (redraw_screen_rect): Allow blend/replace of text layer to be
10763 controlled independently from whether there is a background bitmap.
10764 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
10765 changing bitmap.
10766
10767 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10768
10769 Patch BPB in ntldr and chainloader --bpb.
10770
10771 * grub-core/fs/fat.c: Include grub/fat.h.
10772 (grub_fat_bpb): Moved to ...
10773 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
10774 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
10775 grub/ntfs.h.
10776 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
10777 Moved from here...
10778 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
10779 here.
10780 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
10781 New function.
10782 (grub_chainloader_cmd): Patch BPB if --bpb is given.
10783 (GRUB_MOD_INIT): Show --bpb.
10784 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
10785 * grub-core/normal/main.c (features): New variable.
10786 (GRUB_MOD_INIT): Set feature_* variables.
10787 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
10788 proto.
10789 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
10790
10791 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10792
10793 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
10794 for cleanness.
10795
10796 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10797
10798 FreeDOS direct loading support.
10799
10800 * docs/grub.texi (Supported OS): Add FreeDOS.
10801 * grub-core/Makefile.core.def (freedos): New module.
10802 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
10803 variable.
10804 (grub_relocator16_boot): Handle %ebx.
10805 * grub-core/lib/i386/relocator16.S: Likewise.
10806 * grub-core/loader/i386/pc/freedos.c: New file.
10807
10808 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10809
10810 Long Linux command line support.
10811
10812 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10813 (maximal_cmdline_size): New variable.
10814 (allocate_pages): Use maximal_cmdline_size.
10815 (grub_cmd_linux): Set and use maximal_cmdline_size.
10816 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10817 (allocate_pages): Use maximal_cmdline_size.
10818 (grub_cmd_linux): Set and use maximal_cmdline_size.
10819 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
10820 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
10821 and cmdline_size.
10822
10823 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10824 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
10825
10826 Improve devmapper support
10827
10828 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
10829 (grub_util_is_lvm): New function.
10830 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
10831 than lvm if not dmraid.
10832 Handle mapped md nodes.
10833 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
10834 (grub_util_device_is_mapped): ... this. Make always available. All users
10835 updated.
10836 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
10837 (convert_system_partition_to_system_disk): Handle lvm, mpath and
10838 dmraid nodes.
10839 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
10840
10841 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10842
10843 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
10844
10845 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
10846 * grub-core/modinfo.sh.in: New file.
10847 * grub-core/Makefile.core.def (modinfo.sh): New script.
10848 * util/grub-mknetdir.in: Use modinfo.sh.
10849 * util/grub-mkrescue.in: Likewise.
10850
10851 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10852
10853 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
10854 Fix potential usage of Elf32 instead of Elf64 when compiling on
10855 32-bit architecture. Add endianness macros while on it.
10856
10857 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10858
10859 Use mipsel- rather than mips- in directories involving mipsel ports to
10860 allow both endiannesses coexist.
10861
10862 * configure.ac: proparate target_cpu=mipsel rather than resetting to
10863 mips. All conditions adjusted.
10864 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
10865 variable.
10866 * util/grub-install.in: Adjust conditions to take renaming into account.
10867 * util/grub-mkimage.c (image_targets): Likewise. New target
10868 mips-qemu_mips-elf for bigendian mips.
10869
10870 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10871
10872 Avoid unnecessary copying on MIPS.
10873
10874 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
10875 early if src == dest.
10876 * util/grub-mkimage.c (generate_image): Arange for src == dest if
10877 compression is none.
10878
10879 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10880
10881 Reduce memory footprint on SGI by putting modules before the kernel
10882 as opposed to after.
10883
10884 * grub-core/Makefile.core.def (kernel): Increase linking address.
10885 (none_decompress): Likewise.
10886 (xz_decompress): Likewise.
10887 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
10888 address.
10889 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
10890 layout change.
10891 (grub_arch_modules_addr): New function.
10892 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
10893 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
10894 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
10895 here.
10896 * grub-core/kern/mips/startup.S (total_size): Rename to ...
10897 (grub_total_modules_size): ... this. Make global.
10898 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
10899 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
10900 New definition.
10901 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
10902 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
10903 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
10904 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
10905 * util/grub-mkimage.c (image_target_desc): New flag
10906 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
10907 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
10908 (generate_image): Handle images with modules before kernel.
10909
10910 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10911
10912 Prevent potential loss of memory map by overwrite on qemu-mips.
10913
10914 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
10915 Save ram size in $s4.
10916 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
10917 All users changed to grub_arch_memsize.
10918 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
10919 Loongson.
10920 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
10921 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
10922 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
10923 external variable.
10924
10925 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
10926
10927 * .bzrignore: Remove grub-dumpbios.
10928
10929 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
10930
10931 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
10932 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
10933 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
10934 existing options which append).
10935 * docs/grub.texi (Simple configuration): Document new options.
10936 Reported by: Ian Jackson. Fixes Debian bug #617538.
10937
10938 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
10939
10940 * util/grub-fstest.c (cmd_cat): New function.
10941 (fstest): Handle CMD_CAT.
10942 (options): Add cat.
10943 (argp_parser): Handle cat.
10944
10945 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
10946
10947 * Makefile.util.def (grub-bin2h): Don't install.
10948 * docs/man/grub-bin2h.h2m: Remove.
10949
10950 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10951
10952 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
10953 place.
10954
10955 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10956
10957 Reenable qemu-mips port.
10958
10959 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
10960 Fix small arc bug while on it.
10961 * gentpl.py: Handle qemu_mips.
10962 * grub-core/Makefile.am: Likewise.
10963 * grub-core/Makefile.core.def: Likewise.
10964 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
10965 inappropriate includes.
10966 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
10967 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
10968 * grub-core/kern/main.c (grub_modules_get_end)
10969 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
10970 * grub-core/kern/mips/qemu-mips: Moved to ..
10971 * grub-core/kern/mips/qemu_mips: ... this.
10972 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
10973 (grub_machine_init): Call terminfo_init and serial_init.
10974 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
10975 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
10976 New variable.
10977 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
10978 parameter passing.
10979 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
10980 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
10981 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
10982 * include/grub/mips/qemu_mips/cmos.h: New file.
10983 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
10984 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
10985 Removed.
10986 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
10987 Use correct mips-style address.
10988 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
10989 (GRUB_TICKS_PER_SECOND): Removed.
10990 (grub_get_rtc): Likewise.
10991 (grub_cpu_idle): Likewise.
10992 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
10993 New definition.
10994 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
10995 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
10996 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
10997 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
10998 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
10999 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
11000 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
11001 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
11002
11003 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11004
11005 SGI ARCS port.
11006
11007 * Makefile.util.def (libgrubmods.a): Add dvh.c.
11008 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
11009 platforms.
11010 * configure.ac: New target mips-arc.
11011 * gentpl.py: Likewise.
11012 * grub-core/Makefile.am: Likewise.
11013 * grub-core/Makefile.core.def: Likewise.
11014 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
11015 (none_decompress): Likewise.
11016 (lsdev): New module.
11017 (datetime): Use lib/arc/datetime.c on ARC.
11018 (part_dvh): New module.
11019 * grub-core/commands/arc/lsdev.c: New file.
11020 * grub-core/disk/arc/arcdisk.c: Likewise.
11021 * grub-core/kern/mips/arc/init.c: Likewise.
11022 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
11023 aligned addresses.
11024 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
11025 support.
11026 (grub_arch_dl_relocate_symbols): Likewise.
11027 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
11028 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
11029 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
11030 platforms.
11031 * grub-core/lib/arc/datetime.c: New file.
11032 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
11033 pci.h on non-loongson.
11034 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
11035 (grub_linux_boot): Set unused registers to 0.
11036 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
11037 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
11038 * grub-core/mmap/mips/uppermem.c: ...here.
11039 * grub-core/partmap/dvh.c: New file.
11040 * grub-core/term/arc/console.c: Likewise.
11041 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
11042 (grub_terminfo_set_current): Add terminal "arc".
11043 (grub_terminfo_readkey): Support ARC sequences.
11044 * include/grub/arc/arc.h: New file.
11045 * include/grub/arc/console.h: Likewise.
11046 * include/grub/disk.h (grub_disk_dev_id): Add
11047 GRUB_DISK_DEVICE_ARCDISK_ID.
11048 * include/grub/mips/arc/kernel.h: New file.
11049 * include/grub/mips/arc/memory.h: Likewise.
11050 * include/grub/mips/arc/time.h: Likewise.
11051 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
11052 * include/grub/mips/kernel.h (grub_halt): ... here.
11053 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
11054 here...
11055 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
11056 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
11057 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
11058 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
11059 proto.
11060 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
11061 from here ...
11062 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
11063 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
11064 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
11065 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
11066 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
11067 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
11068 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
11069 (grub_phys_addr_t): Moved from here ...
11070 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
11071 (grub_vtop): Moved from here ...
11072 * include/grub/mips/memory.h (grub_vtop): ... here.
11073 (grub_map_memory): Moved from here ...
11074 * include/grub/mips/memory.h (grub_map_memory): ... here.
11075 (grub_unmap_memory): Moved from here ...
11076 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
11077 (grub_machine_mmap_iterate): Moved from here ...
11078 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
11079 (grub_mmap_get_lower): Moved from here ...
11080 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
11081 (grub_mmap_get_upper): Moved from here ...
11082 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
11083 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11084 here ...
11085 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11086 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
11087 here ...
11088 * include/grub/mips/time.h (grub_get_rtc): ... here.
11089 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11090 here ...
11091 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11092 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
11093 here ...
11094 * include/grub/mips/time.h (grub_cpu_idle): ... here.
11095 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
11096 definition.
11097 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
11098 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
11099 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
11100 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
11101 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
11102 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
11103 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
11104 (GRUB_MACHINE_LINK_ADDR): Likewise.
11105 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
11106 to 6.
11107 * util/grub-install.in: Run dvhtool on ARC.
11108 * util/grub-mkimage.c (image_targets): Add mips-arc.
11109 (generate_image): Handle ECOFF output for mips-arc.
11110
11111 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11112
11113 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
11114 blocks.
11115
11116 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11117
11118 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
11119 after enabling port.
11120
11121 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11122
11123 Skip incorrect USB devices.
11124
11125 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
11126 configcnt == 0.
11127 * include/grub/usb.h (grub_usb_err_t): New enum value
11128 GRUB_USB_ERR_BADDEVICE.
11129
11130 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11131
11132 Fuloong video init support.
11133
11134 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
11135 well.
11136 (grub_vga_read_arx): New function.
11137 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
11138 definition.
11139 (framebuffer): New members io, mmioptr and mmiobase.
11140 (read_sis_cmd): New function.
11141 (write_sis_cmd): Likewise.
11142 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
11143 rather than 640x400.
11144 * grub-core/video/sis315_init.c: New file.
11145
11146 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11147
11148 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
11149 non-loongson.
11150 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
11151 to grub_dl_register_symbol.
11152
11153 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11154
11155 Fix compilation errors.
11156
11157 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
11158 potentially unused.
11159 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
11160 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
11161 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
11162 to loongson machines.
11163
11164 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11165
11166 Several FS mtime support.
11167
11168 * grub-core/fs/affs.c (grub_affs_time): New struct.
11169 (grub_affs_file): New field mtime.
11170 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
11171 type. Removed 'size'. New field 'di'. All users updated.
11172 (grub_affs_mount): Simplify checsum checking.
11173 (grub_affs_iterate_dir): New helper grub_affs_create_node.
11174 (grub_affs_dir): Handle mtime.
11175 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
11176 (grub_cpio_dir): Likewise.
11177 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
11178 (grub_hfs_filerec): New field mtime.
11179 (grub_hfs_dir): Handle mtime.
11180 (grub_hfs_mtime): New function.
11181 (grub_hfs_fs): Register grub_hfs_mtime.
11182 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
11183 (grub_iso9660_dir): New field mtime.
11184 (grub_fshelp_node): New field dirent.
11185 (iso9660_to_unixtime): New function.
11186 (iso9660_to_unixtime2): Likewise.
11187 (grub_iso9660_read_symlink): Use node->dirent.
11188 (grub_iso9660_iterate_dir): Likewise.
11189 (grub_iso9660_dir): Set mtime.
11190 (grub_iso9660_mtime): New function.
11191 (grub_iso9660_fs): Register grub_iso9660_mtime.
11192 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
11193 (grub_jfs_inode): New fields atime, ctime and mtime.
11194 (grub_jfs_dir): Set mtime.
11195 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11196 * grub-core/fs/ntfs.c (list_file): Set mtime.
11197 (grub_ntfs_dir): Likewise.
11198 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
11199 (grub_reiserfs_iterate_dir): Set mtime.
11200 (grub_reiserfs_dir): Likewise.
11201 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
11202 (grub_fshelp_node): Likewise.
11203 (grub_sfs_iterate_dir): Set mtime.
11204 (grub_sfs_dir): Likewise.
11205 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
11206 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
11207 (grub_xfs_inode): New fields atime, mtime, ctime.
11208 (grub_xfs_dir): Set mtime.
11209 * include/grub/datetime.h (grub_datetime2unixtime): New function.
11210 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
11211 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
11212
11213 Support UDF symlinks.
11214
11215 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
11216 (grub_ufs_read_symlink): New function. All users updated.
11217
11218 Check amiga partmap checksum.
11219
11220 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
11221 (grub_amiga_partition): Likewise.
11222 (amiga_partition_map_checksum): New function.
11223 (amiga_partition_map_iterate): Check checksum.
11224
11225 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11226
11227 ROMFS support.
11228
11229 * Makefile.util.def (libgrubmods.a): Add romfs.
11230 * grub-core/Makefile.core.def (romfs): New module.
11231 * grub-core/fs/romfs.c: New file.
11232
11233 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11234
11235 Squashfs v4 support.
11236
11237 * Makefile.util.def (libgrubmods.a): Add squash4.
11238 * grub-core/Makefile.core.def (squash4): New module.
11239 * grub-core/fs/squash4.c: New file.
11240 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
11241 disk_input_start, disk_input.
11242 (get_byte): Handle disk_input.
11243 (grub_zlib_disk_read): New function.
11244 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
11245
11246 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11247 2011-05-15 Feiran Zheng <famcool@gmail.com>
11248
11249 * Makefile.util.def (libgrubmods.a): Add minix3.
11250 * grub-core/Makefile.core.def (minix3): New module.
11251 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
11252 (GRUB_MINIX_BSIZE): Removed.
11253 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
11254 (grub_minix_ino_t): New type.
11255 (grub_minix_le_to_cpu_ino): New macro.
11256 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
11257 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
11258 (grub_minix_data): New field block_size.
11259 (grub_minix_read_file): Handle 64-bit correctly.
11260 * grub-core/fs/minix3.c: New file.
11261
11262 2011-05-15 Tristan Gingold <gingold@free.fr>
11263 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
11264 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11265
11266 IA64 support.
11267
11268 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
11269 * configure.ac: Add ia64-efi target.
11270 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
11271 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
11272 * gentpl.py: Add ia64_efi platform.
11273 Rename x86_efi to efi and Add ia64-efi. All users updated.
11274 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
11275 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
11276 Remove kern/generic/rtc_get_time_ms.c on EFI.
11277 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
11278 kern/ia64/dl_helper.c on ia64-efi.
11279 Add kern/emu/cache.c on emu.
11280 (linux): Use on loader/ia64/efi/linux.c on ia64.
11281 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
11282 whether symbol is a function.
11283 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
11284 (grub_symbol): New field 'isfunc'.
11285 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
11286 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
11287 (grub_dl_load_segments): Place all sections into the same region.
11288 [__ia64__]: Create trampolines and got.
11289 [GRUB_MACHINE_EMU]: Call mprotect.
11290 (grub_dl_resolve_symbols): Resolve symbol type as well.
11291 [__ia64__]: Create function descriptors.
11292 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
11293 (grub_rtc_get_time_ms): ... this. Expressions simplified.
11294 (grub_get_rtc): New function.
11295 * grub-core/kern/emu/cache.c [__ia64__]: New file.
11296 * grub-core/kern/emu/cache.S: Renamed to ...
11297 * grub-core/kern/emu/cache_s.S: ... this.
11298 [__ia64__]: Add a nop.
11299 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
11300 [__ia64__]: New function.
11301 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
11302 * grub-core/kern/ia64/dl.c: New file.
11303 * grub-core/kern/ia64/dl_helper.c: Likewise.
11304 * grub-core/kern/ia64/efi/init.c: New file.
11305 * grub-core/kern/ia64/efi/startup.S: Likewise.
11306 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
11307 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
11308 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
11309 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
11310 * grub-core/loader/ia64/efi/linux.c: New file.
11311 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
11312 (GRUB_MOD_DEP): Likewise.
11313 (grub_dl) [__ia64__]: New fields got and tramp.
11314 (grub_dl): New field 'base'.
11315 (grub_dl_register_symbol): New argument isfunc. All users updated.
11316 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
11317 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
11318 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
11319 (grub_ia64_dl_get_tramp_got_size): New proto.
11320 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
11321 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
11322 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
11323 * include/grub/efi/api.h: Skip call wrappers on ia64.
11324 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
11325 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
11326 * include/grub/elf.h (ELF_ST_INFO): New definition.
11327 * include/grub/ia64/efi/kernel.h: New file.
11328 * include/grub/ia64/efi/memory.h: Likewise.
11329 * include/grub/ia64/efi/time.h: Likewise.
11330 * include/grub/ia64/kernel.h: Likewise.
11331 * include/grub/ia64/setjmp.h: Likewise (from glibc).
11332 * include/grub/ia64/time.h: New file.
11333 * include/grub/ia64/types.h: Likewise.
11334 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
11335 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
11336 New protos.
11337 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
11338 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
11339 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
11340 * util/grub-mkimage.c (image_target_desc): New field pe_target.
11341 All users updated.
11342 (EFI64_HEADER_SIZE): New definition. All users updated.
11343 (image_targets): Add ia64-efi.
11344 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
11345 jumpers_addr. All users updated.
11346 Create function descriptors.
11347 (count_funcs): New function.
11348 (unaligned_uint32): New struct.
11349 (MASK20): New definition.
11350 (MASK19): Likewise.
11351 (MASKF21): Likewise.
11352 (add_value_to_slot_20b): New function.
11353 (add_value_to_slot_21_real): Likewise.
11354 (add_value_to_slot_21): Likewise.
11355 (ia64_kernel_trampoline): New struct.
11356 (nopm): New variable.
11357 (jump): Likewise.
11358 (make_trampoline): New function.
11359 (relocate_addresses): Handle ia64.
11360 (make_reloc_section): Likewise.
11361 (load_image): Likewise.
11362
11363 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11364
11365 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
11366 warning. Move variables before code while on it.
11367
11368 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11369
11370 Fuloong support.
11371
11372 * configure.ac: Rename yeeloong platform to loongson. All users updated.
11373 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
11374 * grub-core/boot/mips/loongson/fuloong.S: New file.
11375 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
11376 Explicitly init CS5536.
11377 [FULOONG]: Don't use serial until CS5536 is available.
11378 Set GPIO based on dumps.
11379 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
11380 [FULOONG]: Handle GPIO and memory controller differences.
11381 Parse machine type in $a2.
11382 * grub-core/boot/mips/startup_raw.S: Determine and save the
11383 architecture.
11384 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
11385 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
11386 init on architecture type.
11387 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
11388 SIS315E. Don't init at_keyboard on fuloong.
11389 (grub_halt): Support Fuloong.
11390 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
11391 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
11392 (loongson_machtypes): New array.
11393 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
11394 type.
11395 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
11396 config. All users updated. Handle CS5536 serial.
11397 * grub-core/term/serial.c (grub_serial_register): Conditionalise
11398 default port on machine type. Register serial as inactive.
11399 * grub-core/video/sis315pro.c: New file.
11400 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
11401 definition.
11402 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
11403 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
11404 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
11405 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
11406 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
11407 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
11408 to ...
11409 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
11410 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
11411 definition.
11412 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
11413 (grub_arch_machine): New extern var.
11414 * include/grub/mips/loongson/serial.h
11415 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
11416 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
11417 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
11418 (GRUB_MACHINE_SERIAL_PORT0): ... this.
11419 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
11420 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
11421 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
11422 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
11423 * include/grub/term.h (grub_term_register_input_inactive): New inline
11424 function.
11425 (grub_term_register_output_inactive): Likewise.
11426 * include/grub/video.h (grub_video_driver_id): New value
11427 GRUB_VIDEO_DRIVER_SIS315PRO.
11428 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
11429 New field "names". All users updated.
11430 New field value IMAGE_FULOONG_FLASH.
11431 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
11432
11433 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
11434
11435 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
11436 and add some clarification.
11437
11438 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11439
11440 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
11441 platforms if kernel is compressed.
11442
11443 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11444
11445 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
11446 unused modules since currently referrence counter isn't reliable and
11447 there isn't much memory to recover there anyway.
11448
11449 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11450
11451 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
11452 rather than resetting it to allow modules to reference themselves
11453 in init.
11454
11455 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11456
11457 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
11458 counter on dependencies since grub_dl_unref already handles this.
11459
11460 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11461
11462 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
11463 on error if not already done.
11464
11465 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11466
11467 Fix few potential memory misusage.
11468
11469 * grub-core/font/font.c (load_font_index): Don't free char_index to
11470 avoid double free.
11471 (grub_font_load): Zero-fill font at alloc for safety.
11472 Close file on error.
11473 (free_font): Free bmp_idx.
11474
11475 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11476
11477 * docs/grub.texi (Installation): Fix several outdated claims.
11478
11479 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11480
11481 Handle module_license on windows.
11482
11483 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
11484 sections shifted.
11485 (insert_string): Make argument const char * instead of char *.
11486 (write_section_data): Handle long section names.
11487 Handle module_license.
11488
11489 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11490
11491 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
11492 handle class-free menuentries.
11493 (grub_normal_add_menu_entry): Add a check to be sure.
11494
11495 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11496
11497 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
11498 PgUp and PgDown.
11499
11500 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11501
11502 * configure.ac: Bump version to 1.99.
11503
11504 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11505
11506 Give ATA device a bit more time on first try in order to allow disks
11507 to spin up.
11508
11509 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
11510 if dev->present is 1. Reset dev->present on failure.
11511 (grub_ata_device_initialize): Set dev->present to 1.
11512 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
11513 (grub_ata_device): New member 'present'.
11514
11515 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11516
11517 * util/grub-mkimage.c (generate_image): Update hash.
11518
11519 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11520
11521 Flush caches on DMA memory.
11522
11523 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
11524 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
11525 (grub_dma_free): Likewise.
11526 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
11527
11528 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11529
11530 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
11531 to avoid asm treating ld and sd as macros.
11532
11533 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11534
11535 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
11536 decompressor.
11537
11538 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11539
11540 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
11541 grub_decompress_core since later would fail if grub_decompress_core
11542 is too far.
11543
11544 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11545
11546 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
11547 R_MIPS_JALR since it's used by newer compiler.
11548
11549 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
11550
11551 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
11552
11553 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11554
11555 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
11556 file_path to 0 for surety.
11557 (grub_chainloader_boot): Set exit_data to NULL.
11558 Unset the loader once done.
11559 (grub_cmd_chainloader): Fix confusing error message if file is empty.
11560
11561 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11562
11563 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
11564 unknown key into a dprintf.
11565
11566 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11567
11568 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
11569 on first non-existant partition.
11570
11571 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11572
11573 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
11574 openning fails.
11575 Reported by: Mark Korenberg.
11576
11577 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11578
11579 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
11580 overflow.
11581
11582 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11583
11584 * util/grub-mkimage.c (main): Explicitely flush and sync the output
11585 before closing to ensure that it will be readable by grub-setup.
11586
11587 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11588
11589 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
11590 (devpath_1): Use MAKE_PIWG_PATH.
11591 (devpath_2): Likewise.
11592 (devpath_3): Likewise.
11593 (devpath_4): Likewise.
11594 (devpath_5): Likewise.
11595 (devpath_6): Likewise.
11596
11597 The appleldr.mod was checked that to be binary identical to previous
11598 version.
11599
11600 2011-05-05 Zach <mikezackles>
11601
11602 Support 2010 Macbooks.
11603
11604 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
11605 (devs): Add devpath_6.
11606
11607 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11608
11609 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
11610 /dev/random. /dev/urandom is good enough for our purposes (salting).
11611
11612 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11613
11614 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
11615
11616 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11617
11618 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
11619 hexadecimal.
11620
11621 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11622
11623 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
11624 and not 0 on failure.
11625
11626 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
11627
11628 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
11629 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
11630 disk; otherwise grub_fs_probe will not fall back to the next
11631 filesystem.
11632 (grub_pxefs_open): Likewise, for consistency.
11633 Reported and tested by: Ezekiel Grave.
11634
11635 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
11636
11637 * tests/partmap_test.in: Don't hardcode path to parted.
11638 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
11639
11640 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
11641
11642 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
11643 of `ls' to find out which devices are available.
11644
11645 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11646
11647 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
11648 than source address for efi mmap buffer.
11649
11650 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11651
11652 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
11653 wrong action on non-detecting the magic.
11654
11655 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11656
11657 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
11658 already supplied by another part of the module (fixes compilation on
11659 FreeBSD).
11660
11661 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11662
11663 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
11664 match the one used by mdadm.
11665
11666 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11667
11668 * po/README: Add instructions for creating po/LINGUAS.
11669
11670 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11671
11672 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
11673 #551428.
11674
11675 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
11676 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
11677 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
11678 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
11679 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
11680 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
11681 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
11682 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
11683 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
11684 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
11685 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
11686 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
11687 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
11688 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
11689 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
11690 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
11691 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
11692 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
11693 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
11694 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
11695 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
11696 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
11697
11698 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11699
11700 * grub-core/kern/emu/getroot.c
11701 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
11702 test that was incorrectly reintroduced in r3214.
11703 Reported by: Ian Dall. Fixes Savannah bug #33133.
11704
11705 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
11706
11707 Fix stack pointer handling in 16-bit relocator.
11708
11709 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
11710 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
11711 Fixes Ubuntu bug #683904.
11712
11713 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11714
11715 * configure.ac: Bump version to 1.99~rc2.
11716
11717 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11718
11719 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
11720 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
11721 * grub-core/lib/x86_64/setjmp.S: Likewise.
11722 * grub-core/lib/mips/setjmp.S: Likewise.
11723 * grub-core/lib/powerpc/setjmp.S: Likewise.
11724 * grub-core/lib/sparc64/setjmp.S: Likewise.
11725
11726 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11727
11728 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
11729 * grub-core/lib/efi/datetime.c: Likewise.
11730
11731 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11732
11733 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
11734 New function.
11735 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
11736 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
11737 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
11738
11739 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11740
11741 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
11742 bitmap.
11743 (grub_gfxterm_term_init): Likewise.
11744
11745 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11746
11747 Take into account the decorations the computing menu entry width.
11748
11749 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
11750 (grub_gfxmenu_create_box): Register get_border_width.
11751 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
11752 if available.
11753 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
11754 get_border_width.
11755
11756 2011-04-18 Endres Puschner <code@e7p.de>
11757
11758 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
11759 Don't skip first class.
11760
11761 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11762
11763 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
11764 chunks.
11765 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
11766
11767 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11768
11769 Complete 64-bit division support.
11770
11771 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
11772 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
11773 * include/grub/misc.h (grub_divmod64): Rename to ...
11774 (grub_divmod64_full): ... this.
11775 (grub_divmod64): New inline function.
11776
11777 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11778
11779 * util/grub-mkimage.c (generate_image): Add forgotten comma.
11780
11781 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11782
11783 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
11784 performing the necessary test.
11785
11786 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11787
11788 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
11789 (kfreebsd.elf): Likewise.
11790 (pc-chainloader.elf): Likewise.
11791 (ntldr.elf): Likewise.
11792
11793 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11794
11795 Identify RAID by its UUID rather than (guessed) name.
11796
11797 * grub-core/disk/raid.c (ascii2hex): New function.
11798 (grub_raid_open): Accept mduuid/%s specification.
11799 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
11800 (get_mdadm_uuid): ... this.
11801 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
11802
11803 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
11804
11805 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
11806 to negative size.
11807
11808 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
11809
11810 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
11811 btrfs subvolume.
11812 * util/grub.d/20_linux_xen.in: Likewise.
11813
11814 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
11815
11816 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
11817 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
11818
11819 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
11820 Build a list of relevant visible mounts using the mnt_id and
11821 parent_mnt_id fields, and then scan that list at the end.
11822
11823 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
11824
11825 * docs/grub.texi (normal): New section.
11826 (normal_exit): New section.
11827 (Embedded configuration): Add reference to normal.
11828 (GRUB only offers a rescue shell): Likewise.
11829 * docs/grub-dev.texi (Error Handling): Fix typo.
11830
11831 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
11832
11833 * NEWS: Drop obsolete entry about probe-only btrfs support.
11834
11835 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
11836
11837 * util/import_gcry.py: Fix typo.
11838
11839 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11840
11841 * NEWS: Add btrfs support.
11842
11843 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11844 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
11845
11846 BtrFS support. Written by me (Vladimir) with important bugfixes and
11847 even more important testing by Colin.
11848
11849 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
11850 * grub-core/Makefile.core.def (btrfs): Add crc.c.
11851 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
11852 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
11853 mem_input_off and mem_input. All users updated to accept in-RAM input.
11854 (gzio_seek): New function.
11855 (test_zlib_header): Likewise.
11856 (grub_gzio_read): Likewise.
11857 (grub_zlib_decompress): Likewise.
11858 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
11859 Accept partial and non-virtual mounts.
11860 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
11861 avoid receiving /dev/dm-X as device.
11862 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
11863 Handle bind and partial mounts.
11864 * grub-core/lib/crc.c: New file.
11865 * include/grub/deflate.h: Likewise.
11866 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
11867 proto.
11868 * include/grub/lib/crc.h: New file.
11869
11870 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11871
11872 Implement automatic module license checking according to new GNU
11873 guidelines.
11874
11875 * grub-core/kern/dl.c (grub_dl_check_license): New function.
11876 (grub_dl_load_core): Use grub_dl_check_license.
11877 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
11878 (GRUB_MOD_LICENSE): Likewise.
11879 (GRUB_MOD_DUAL_LICENSE): Likewise.
11880 All modules updated.
11881
11882 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
11883
11884 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
11885 reserved_first_sector to 1. btrfs reserves plenty of space for boot
11886 loaders.
11887 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
11888
11889 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11890
11891 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
11892
11893 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11894
11895 * util/grub-fstest.c (read_file): Report GRUB error if file opening
11896 failed.
11897
11898 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11899
11900 * grub-core/kern/file.c (grub_file_open): Don't take into account the
11901 parenthesis in the middle of the filename.
11902
11903 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11904
11905 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
11906 rather than trying to put initrd way too high.
11907 Reported by: Ryan Lortie <desrt@desrt.ca>
11908
11909 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11910
11911 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
11912 improperly removed string.
11913
11914 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11915
11916 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
11917 is_disk.
11918 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
11919 (open_device) Likewise.
11920 (grub_util_biosdisk_close): Likewise.
11921 Reported by: Mark Korenberg.
11922
11923 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
11924
11925 * util/grub-mkconfig_lib.in: Add missing quotes.
11926
11927 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
11928
11929 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
11930 is NULL.
11931
11932 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11933
11934 Dynamically count the number of lines for the lower banner.
11935
11936 * grub-core/normal/menu_entry.c (per_term_screen): New member
11937 num_entries.
11938 (print_down): Use num_entries.
11939 (update_screen): Likewise.
11940 (grub_menu_entry_run): Set num_entries.
11941 * grub-core/normal/menu_text.c (menu_viewer_data): New member
11942 num_entries.
11943 (grub_print_message_indented): Move real part to ...
11944 (grub_print_message_indented_real): ... here. Additional argument
11945 dry_run.
11946 (draw_border): Additional argument num_entries.
11947 (print_message): Additional argument dry_run.
11948 (print_entries): Receive menu viewer data.
11949 (grub_menu_init_page): New argment num_entries.
11950 (menu_text_set_chosen_entry): Use num_entries.
11951 (grub_menu_try_text): Likewise.
11952 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
11953 All users updated.
11954 (grub_ucs4_count_lines): New function.
11955 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
11956 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
11957 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
11958 (grub_term_border_height): Likewise.
11959 (grub_term_num_entries): Likewise.
11960
11961 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
11962
11963 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
11964 Remove now unused string.
11965
11966 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
11967
11968 * docs/grub-dev.texi (Finding your way around): Update for 1.99
11969 build system.
11970 (Getting started): GRUB is developed in Bazaar now, not Subversion.
11971
11972 (Comment): Fix typo.
11973 (Getting started): General copy-editing.
11974 (Typical Development Experience): Likewise.
11975 (Error Handling): Likewise.
11976 (Video API): Likewise.
11977
11978 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
11979
11980 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
11981 throughout.
11982
11983 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11984
11985 * util/grub-mkimage.c (main): Handle special naming of yeeloong
11986 directory.
11987
11988 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
11989
11990 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
11991 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
11992 "development".
11993
11994 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
11995
11996 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
11997 grub_strcpy since the lines aren't necessarily 0-terminated.
11998
11999 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12000
12001 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
12002 root on legacy.
12003
12004 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12005
12006 * grub-core/commands/probe.c (options): Argument to set isn't optional.
12007 (GRUB_MOD_INIT): DEVICE isn't optional.
12008
12009 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12010
12011 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
12012 word on new line if it's too long anyway. Fixes a hang.
12013
12014 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12015
12016 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
12017 const.
12018 * util/grub-setup.c (main): Reuse md device name if available.
12019 * util/raid.c (grub_util_raid_getmembers): Receive device name and
12020 not GRUB name as argument.
12021 Based on patch by: Florian Wagner <fwagner>.
12022
12023 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12024
12025 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12026 Place mbi on low memory for better compatibility.
12027
12028 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12029
12030 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
12031
12032 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12033 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
12034
12035 * autogen.sh: Ensure that collate and ctype locale is C.
12036 * conf/Makefile.common: Likewise.
12037
12038 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12039
12040 * grub-core/normal/menu.c: Add missing include.
12041
12042 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12043
12044 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
12045
12046 2011-04-08 Martin Zuther <mzuther@mzuther.de>
12047
12048 * util/grub-mkconfig.in: Ignore emacsen backup.
12049
12050 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12051
12052 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
12053 on open.
12054 (grub_util_biosdisk_close): Likewise.
12055
12056 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12057
12058 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
12059 const attribute and use grub_isdigit.
12060
12061 2011-04-06 Andrey <dev_null@ukr.net>
12062
12063 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
12064 gcc warning.
12065
12066 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12067
12068 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
12069 useful grub_dprintf's.
12070
12071 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12072
12073 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
12074
12075 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12076
12077 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
12078
12079 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12080
12081 Output errors if theme loading failed.
12082
12083 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
12084 grub_gfxterm_fullscreen on error paths to ...
12085 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
12086 theme loading error.
12087
12088 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12089
12090 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
12091 space for older compilers.
12092 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12093
12094 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12095
12096 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
12097 and report them as not RAID members since they are useless for GRUB.
12098 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12099
12100 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12101
12102 Increase LVM implementation robustness in order not to crash on
12103 configurations like pvmove. Previously code assumed that in some places
12104 only lvs or only pvs are used whereas it seems that they are used
12105 interchangeably.
12106
12107 * grub-core/disk/lvm.c (read_node): New function.
12108 (read_lv): Use read_node.
12109 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
12110 Match volumes only at the end when all lvs are found. Take both
12111 pvs (first) and lvs (second) into account.
12112 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
12113 mirror_* into node_*. All users updated.
12114 (grub_lvm_stripe): Merge this ...
12115 (grub_lvm_mirror): ... and this ...
12116 (grub_lvm_node): ... into this. All users updated.
12117
12118 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12119
12120 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
12121 of function to allow further scanning for LVMs.
12122
12123 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12124
12125 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
12126 on failed seek as it breaks open fd reusage.
12127
12128 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12129
12130 * util/grub-install.in: Add a recommendation to use --recheck before
12131 reporting bugs.
12132
12133 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12134
12135 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
12136 are obtained.
12137
12138 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12139
12140 GRUB developper manual based on existing Internals section and
12141 contributions by the various authors with active copyright assignment.
12142
12143 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
12144 * docs/font_char_metrics.png: New file.
12145 * docs/font_char_metrics.txt: Likewise.
12146 * docs/grub-dev.texi: Likewise.
12147 * docs/grub.texi (Internals): Move from here ...
12148 * docs/grub-dev.texi: ... here.
12149
12150 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
12151
12152 Store the loopback device as data on loopback grub_disk structures,
12153 rather than the file it points to. This fixes use of freed memory
12154 if an existing loopback device is replaced.
12155
12156 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
12157 disk->data, not dev->file.
12158 (grub_loopback_read): Adjust file assignment to match.
12159 Fixes Ubuntu bug #742967.
12160
12161 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
12162
12163 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
12164 when replacing an existing device.
12165
12166 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
12167
12168 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
12169 memory corruptions.
12170
12171 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
12172 unsigned.
12173 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
12174 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
12175 (grub_jfs_read_inode): Likewise.
12176 (grub_jfs_opendir): Likewise. Remove now useless casts.
12177 (grub_jfs_getent): Likewise.
12178 Make ino a grub_uint32_t rather than int.
12179 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
12180 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
12181 division and module with bit operations.
12182 (grub_jfs_find_file): Make ino a grub_uint32_t.
12183 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
12184
12185 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
12186
12187 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
12188 warning. (This was in fact always initialised before use, but GCC
12189 wasn't smart enough to prove that.)
12190 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
12191
12192 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
12193
12194 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
12195 stack alignment.
12196 (efi_wrap_1): Likewise.
12197 (efi_wrap_2): Likewise.
12198 (efi_wrap_3): Likewise.
12199 (efi_wrap_4): Likewise.
12200 (efi_wrap_5): Likewise.
12201 (efi_wrap_6): Likewise.
12202 (efi_wrap_10): Likewise.
12203 Based on information by: Red Hat/Peter Jones.
12204
12205 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
12206
12207 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
12208 set-but-not-used variable.
12209
12210 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
12211
12212 * docs/grub.texi (Simple configuration): Be more explicit about
12213 GRUB_DEFAULT, and add an example.
12214 Reported by: Leslie Rhorer.
12215
12216 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12217
12218 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
12219 shell".
12220
12221 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12222
12223 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
12224 * util/grub.d/20_linux_xen.in: Likewise.
12225
12226 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12227
12228 * util/grub.d/10_linux.in: Try alternative config filenames where
12229 we parse config file.
12230 * util/grub.d/20_linux_xen.in: Likewise.
12231
12232 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12233
12234 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
12235 * util/grub.d/20_linux_xen.in: Likewise.
12236
12237 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12238
12239 * grub-core/disk/raid.c (insert_array): Add few potentially
12240 useful grub_util_info.
12241 (grub_raid_register): Likewise.
12242
12243 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12244
12245 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
12246 Preserve partition number in mdadm code path.
12247
12248 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12249
12250 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
12251 few potentially useful grub_util_info.
12252
12253 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12254
12255 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
12256
12257 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12258
12259 * docs/grub.texi (default): Use @example rather than nested
12260 itemized lists to avoid breaking gendocs.
12261
12262 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12263
12264 * docs/grub.texi (Future): Update.
12265
12266 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12267
12268 * docs/grub.texi (Environment): New chapter.
12269 (Changes from GRUB Legacy): Link to "Environment block" section for
12270 details of limitations.
12271 (Simple configuration): Likewise. Link to documentation of gfxmode
12272 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
12273 respectively.
12274 (Shell-like scripting): Note that normal variables are stored in the
12275 environment.
12276 (gettext): Link to documentation of lang and locale_dir.
12277 (list_env): New section.
12278 (load_env): New section.
12279 (save_env): New section.
12280
12281 (Reporting bugs): Fix typo.
12282
12283 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12284
12285 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
12286 the example.
12287
12288 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12289
12290 * grub-core/term/at_keyboard.c (set_scancodes)
12291 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
12292
12293 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12294
12295 * docs/grub.texi (Menu-specific commands): Remove some semantics
12296 that were true in GRUB Legacy but not in GRUB 2.
12297 (submenu): New section.
12298 (false): New section.
12299 (read): New section.
12300 (true): New section.
12301
12302 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12303
12304 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
12305
12306 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
12307
12308 * docs/grub.texi (Simple configuration): Explain some of the
12309 current limitations of grub-mkconfig.
12310 Reported by: Leslie Rhorer.
12311
12312 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12313
12314 Old macs search for boot.efi rather than for bootia32.efi.
12315
12316 * util/grub-install.in: Copy bootia32.efi to boot.efi.
12317 * util/grub-mkrescue.in: Likewise.
12318 Suggested by: Peter Jones.
12319
12320 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12321
12322 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
12323
12324 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12325
12326 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
12327 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
12328 (grub_lvm_mirror): New struct.
12329 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
12330 (grub_lvm_iterate): Iterate only visible volumes.
12331 (grub_lvm_read): Factor out to ..
12332 (read_lv): ... this. Support mirrors.
12333 (grub_lvm_read): New wrapper function.
12334 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
12335 stripped or mirrored.
12336
12337 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12338
12339 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
12340
12341 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
12342
12343 * docs/grub.texi (loopback): New section.
12344
12345 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
12346
12347 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
12348 removed -p option.
12349
12350 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
12351
12352 * docs/grub.texi (BIOS installation): New section, partly based on
12353 previous text in other sections.
12354 (Installing GRUB using grub-install): Replace BIOS discussion with a
12355 cross-reference.
12356 (Images): Likewise.
12357
12358 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12359
12360 * grub-core/kern/emu/hostdisk.c (find_partition_start)
12361 [HAVE_DIOCGDINFO]: Add safety checks.
12362
12363 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12364
12365 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
12366 per default compiled in kernel and prior to 8.0 isn't shipped at all.
12367
12368 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
12369
12370 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
12371 real_sb->size is zero (e.g. RAID-0), get the disk size from
12372 real_sb->data_size instead.
12373 Fixes Ubuntu bug #743136.
12374
12375 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12376
12377 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
12378 printf clauses for printing size and start.
12379
12380 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12381
12382 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
12383 Reported and tested by: Timothy Nikkel.
12384
12385 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12386
12387 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
12388 (dirty_region_add_real): ... this.
12389 (dirty_region_add): Don't discard margin refresh when performing
12390 scheduled repaint.
12391
12392 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12393
12394 * grub-core/lib/relocator.c (allocate_regstart)
12395 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
12396 terminals are capabple of malloc-free operation.
12397 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12398 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12399
12400 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
12401
12402 * util/grub-setup.c: Copy the partition table zone if floppy support
12403 is disabled, even if no partition table is found.
12404
12405 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
12406 during POST if an invalid partition table is contained in the PBR
12407 of the active partition when GRUB is installed to a partition.
12408
12409 2011-03-28 Colin Watson <cjwatson@debian.org>
12410
12411 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
12412 comment.
12413
12414 2011-03-28 Colin Watson <cjwatson@debian.org>
12415
12416 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
12417 to be specific about what kind of RAID device we're scanning for.
12418
12419 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
12420
12421 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
12422 return freed string.
12423
12424 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12425
12426 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
12427
12428 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12429
12430 Use libgeom on FreeBSD to detect partitions.
12431
12432 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
12433 (grub-mkrelpath): Likewise.
12434 (grub-script-check): Likewise.
12435 (grub-editenv): Likewise.
12436 (grub-mkpasswd-pbkdf2): Likewise.
12437 (grub-fstest): Likewise.
12438 (grub-mkfont): Likewise.
12439 (grub-mkdevicemap): Likewise.
12440 (grub-probe): Likewise.
12441 (grub-setup): Likewise.
12442 (grub-ofpathname): Likewise.
12443 (grub-mklayout): Likewise.
12444 (example_unit_test): Likewise.
12445 (grub-menulst2cfg): Likewise.
12446 * grub-core/Makefile.core.def (grub-emu): Likewise.
12447 (grub-emu-lite): Likewise.
12448 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
12449 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
12450 define HAVE_DIOCGDINFO.
12451 (follow_geom_up) [FreeBSD]: New function.
12452 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
12453 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
12454 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
12455 unconditionally of HAVE_DIOCGDINFO.
12456
12457 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12458
12459 Fix FreeBSD compilation problem.
12460
12461 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
12462 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
12463
12464 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
12465
12466 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
12467 Switch back to page zero before loading a kernel, since some kernel
12468 drivers expect that.
12469 Thanks to: Felix Kuehling.
12470
12471 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12472
12473 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
12474 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
12475 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
12476
12477 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12478
12479 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
12480 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
12481
12482 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12483
12484 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
12485 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
12486 malloc is disabled.
12487
12488 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12489
12490 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
12491 for modules headers when counting the needed allocation size.
12492
12493 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12494
12495 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
12496 if no ASCII character is found to prevent crash.
12497
12498 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
12499
12500 * grub-core/video/bitmap.c (match_extension): Ignore case.
12501
12502 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12503
12504 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
12505
12506 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12507
12508 * grub-core/script/parser.y: Declare "time" as valid argument.
12509
12510 2011-03-23 Peter Jones <pjones@redhat.com>
12511
12512 Fix incorrect assert failure reporting.
12513
12514 * grub-core/tests/example_functional_test.c (example_test): Add
12515 a failure comment.
12516 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
12517 (failure_start): ...this. Check that malloc succeeded.
12518 Don't call xvasprintf. Return failure struct.
12519 (failure_append_vtext): New function.
12520 (failure_append_text): Likewise.
12521 (add_failure): Likewise.
12522 (grub_test_assert_helper): Likewise.
12523 * include/grub/test.h (grub_test_assert_helper): New declaration.
12524 (grub_test_assert): Macro rewritten.
12525
12526 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12527
12528 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
12529
12530 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12531
12532 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
12533
12534 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12535
12536 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
12537 into GRUB-style one.
12538
12539 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12540
12541 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
12542 error and not grub_errno.
12543 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
12544
12545 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12546
12547 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
12548 GRUB_USB_SPEED_NONE in case of failure and not the error code.
12549
12550 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12551
12552 * grub-core/efiemu/i386/pc/cfgtables.c
12553 (grub_machine_efiemu_init_tables): Make declaration a prototype.
12554 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
12555 (grub_xnu_unlock): Likewise.
12556 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
12557
12558 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12559
12560 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
12561 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
12562 * grub-core/commands/hashsum.c (aliases): Likewise.
12563 * grub-core/commands/setpci.c (pci_registers): Likewise.
12564 * grub-core/disk/usbms.c (attach_hook): Likewise.
12565 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
12566 (zio_checksum_table): Likewise.
12567 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
12568 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
12569 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
12570 * grub-core/lib/relocator.c (leftovers): Likewise.
12571 (extra_blocks): Likewise.
12572 * grub-core/loader/i386/bsd.c (relocator): Likewise.
12573 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
12574 (modules_last): Likewise.
12575 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
12576 (devices): Likewise.
12577 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
12578 (modules_last): Likewise.
12579 * grub-core/normal/auth.c (users): Likewise.
12580 * grub-core/normal/context.c (initial_menu): Likewise.
12581 (current_menu): Likewise.
12582 * grub-core/normal/crypto.c (crypto_specs): Likewise.
12583 * grub-core/term/serial.c (grub_serial_ports): Likewise.
12584 (grub_serial_terminfo_input_template): Likewise.
12585 (grub_serial_terminfo_output_template): Likewise.
12586 (grub_serial_terminfo_input): Likewise.
12587 (grub_serial_terminfo_output): Likewise.
12588 (registered): Likewise.
12589 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
12590
12591 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12592
12593 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
12594 grub_video_mode_type_t.
12595 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
12596 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
12597 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
12598
12599 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12600
12601 * util/grub-install.in: Correct the x86-64 name as x86_64.
12602
12603 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
12604
12605 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
12606 initial chunk read from the kernel always includes GRUB's multiboot
12607 header, which is now outside the first sector.
12608
12609 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
12610
12611 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
12612 cached mmap_size, so that this works correctly when called multiple
12613 times.
12614 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
12615
12616 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
12617
12618 * docs/grub.texi (Simple configuration): Tidy up formatting.
12619
12620 2011-03-07 Szymon Janc <szymon@janc.net.pl>
12621
12622 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
12623 Set-but-not-used variable removed.
12624
12625 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12626
12627 Workaround yet another IEEE1275 bug.
12628
12629 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
12630 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
12631 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
12632 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
12633 is set.
12634 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12635 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
12636
12637 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12638
12639 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
12640 error.
12641
12642 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
12643
12644 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
12645 empty, since in that case we can only generate either nothing or a
12646 syntactically invalid configuration file.
12647 Reported by: Michal Suchanek. Fixes Debian bug #612898.
12648
12649 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
12650
12651 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
12652 (Making a GRUB bootable CD-ROM): Likewise.
12653 (Invoking grub-mkrescue): New section.
12654 Reported by: Yann Dirson. Fixes Debian bug #612585.
12655
12656 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
12657
12658 * util/grub-install.in: Remove unnecessary brackets from tr
12659 arguments.
12660 * util/grub.d/10_hurd.in: Likewise.
12661 * util/grub.d/10_kfreebsd.in: Likewise.
12662 * util/grub.d/10_linux.in: Likewise.
12663 * util/grub.d/20_linux_xen.in: Likewise.
12664 Reported by: Jamie Heilman. Fixes Debian bug #612564.
12665
12666 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
12667
12668 * include/grub/file.h (not_easly_seekable): Rename to ...
12669 (not_easily_seekable): ... this. Update all users.
12670
12671 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
12672
12673 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
12674 grub-mkrescue.
12675
12676 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12677
12678 * util/grub-mkimage.c (generate_image): Refuse to create the images
12679 bigger than the actual flash (512K) in Loongson machines. 512K is also
12680 the biggest chip supported by them.
12681
12682 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12683
12684 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
12685
12686 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
12687
12688 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
12689 super_offset field.
12690
12691 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12692
12693 * util/grub-install.in: Ignore install device on platforms
12694 where it doesn't make sense. Always use UUIDs except on pc, efi and
12695 sparc64.
12696 Reported by: Daniel Kahn Gillmor.
12697
12698 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12699
12700 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
12701
12702 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12703
12704 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
12705 (iterate_real): Don't rely on partition being non-NULL.
12706
12707 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12708
12709 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
12710 supported platforms. Put a compile time assert for this rather than
12711 generate a warning with 32-bit shift.
12712
12713 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12714
12715 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
12716 logical expression more readable.
12717
12718 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12719
12720 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
12721 even if some elements have a name.
12722 Reported by: Alexander GQ Gerasiov.
12723
12724 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
12725
12726 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
12727 path unreadable if `grub-probe -t abstraction' fails, for example if
12728 memberlist fails on an LVM volume group.
12729 Reported by: Darius Jahandarie.
12730
12731 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
12732
12733 * docs/grub.texi (Simple configuration): Document
12734 GRUB_PRELOAD_MODULES.
12735
12736 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
12737
12738 * .bzrignore: Remove nonexistent grub-pbkdf2.
12739
12740 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
12741
12742 * configure.ac: Bump version to 1.99~rc1.
12743
12744 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
12745
12746 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
12747 for safety.
12748
12749 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12750
12751 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
12752 module.
12753
12754 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12755
12756 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
12757
12758 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12759
12760 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
12761 diskdevid.
12762
12763 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12764
12765 Fix compilation on cygwin.
12766
12767 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
12768 -R .drectve on cygwin.
12769 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
12770 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
12771 (COND_CYGWIN): New condition.
12772 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
12773 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
12774 not @TARGET_OBJ2ELF@.
12775 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
12776 type to determine whether aux is to be used.
12777
12778 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12779
12780 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
12781 realpath'ed device string.
12782 Handle floppy (somewhat).
12783 Issue error in unknown case rather than garbage.
12784 Reported by: Axel Beckert.
12785
12786 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12787
12788 * util/grub.d/00_header.in (load_video): Handle the case when no video
12789 drivers available.
12790 Thanks to: Axel Beckert.
12791
12792 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12793
12794 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
12795 variable. Fixes problem on big endian platforms.
12796
12797 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12798
12799 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
12800 It doesn't work well there.
12801
12802 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12803
12804 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
12805 warning.
12806 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
12807 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
12808 counter.
12809
12810 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12811
12812 Use alias->path rather than buggy "canon".
12813
12814 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
12815 (ofdisk_hash_add): New argument curcan. All users updated.
12816
12817 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
12818
12819 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
12820
12821 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12822
12823 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
12824 loadmask before doing any calculations. Use correct type for offset.
12825 (grub_linux_load64): Likewise.
12826
12827 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
12828
12829 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
12830 with NULL.
12831 (console_grub_equivalences_unshift): Likewise.
12832 Reported by: Daniel Dehennin.
12833
12834 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12835
12836 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
12837 (set_env_limn_ro): Likewise.
12838 (GRUB_MOD_INIT): Likewise.
12839 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
12840 ARRAY_SIZE while on it.
12841 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
12842 * grub-core/normal/context.c (grub_env_export): Move from here ...
12843 * grub-core/kern/env.c (grub_env_export): ... here.
12844 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
12845 prefix.
12846 * grub-core/kern/main.c (grub_main): Export root and prefix.
12847 * include/grub/env.h (grub_env_export): Export.
12848 Reported by: Seth Goldberg.
12849
12850 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12851
12852 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12853 Take into account space used by ELF sections and multiboot palette.
12854 Reported by: Grégoire Sutre.
12855
12856 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12857
12858 * BUGS: New file.
12859
12860 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12861
12862 Pass more appropriate video id to Linux.
12863
12864 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
12865 grub_video_get_driver_id and variable gfxpayloadforcelfb to
12866 fill have_vga.
12867 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
12868 shift params->lfb_size.
12869 * include/grub/i386/linux.h: Make an enume out of have_vga values.
12870
12871 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12872
12873 * util/grub-menulst2cfg.c: Add missing include of misc.h.
12874
12875 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12876
12877 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
12878 separator and pass bootpath/devid even if only one of them is available.
12879 Reported by: Seth Goldberg.
12880
12881 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12882
12883 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
12884 implementations bug on them.
12885
12886 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
12887 memory.
12888 (filter_memory_map): Likewise.
12889
12890 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12891
12892 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
12893 Reported by: nebuchadnezzar.
12894
12895 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12896
12897 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
12898 Reported by: nebuchadnezzar.
12899
12900 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12901
12902 Submenu default support.
12903
12904 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
12905 auto_boot. All users updated.
12906 Declared static.
12907 Handle chosen and default with submenus.
12908 (grub_menu_execute_with_fallback): Declared static.
12909 Don't notify failure if autobooted. Upper level does it.
12910 (menuentry_eq): New function.
12911 (get_entry_number): Use menuentry_eq.
12912 (show_menu): New parameter "autobooted". All users updated.
12913 (grub_show_menu): Likewise.
12914 * include/grub/normal.h (grub_show_menu): Likewise.
12915 * include/grub/menu.h (grub_menu_execute_entry): Removed.
12916 (grub_menu_execute_with_fallback): Likewise.
12917
12918 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12919
12920 * util/grub-mklayout.c (usage): Update help text.
12921
12922 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12923
12924 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
12925
12926 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12927
12928 * util/grub-menulst2cfg.c (main): Trim the line.
12929
12930 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12931
12932 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
12933 (grub_machine_init): Don't check amount of low memory as reportedly
12934 INT 12h can be broken and if low memory is too low we wouldn't have
12935 gotten into grub_machine_init anyway.
12936
12937 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12938
12939 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
12940 (grub_machine_mmap_iterate): Take low memory into account
12941
12942 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12943
12944 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
12945 badfs.
12946 Reported by: TiCPU.
12947
12948 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
12949
12950 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
12951 members errors.
12952
12953 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
12954
12955 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
12956 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
12957
12958 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
12959
12960 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
12961 openbsd and netbsd types being in part_bsd module.
12962
12963 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12964
12965 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
12966 (_FILE_OFFSET_BITS): Likewise.
12967 Reported by: Seth Goldberg.
12968
12969 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12970
12971 * configure.ac: Check for libdevmapper header.
12972
12973 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12974
12975 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
12976 avoid aliasing.
12977 (fzap_lookup): Likewise.
12978 (dnode_get): Likewise.
12979 (make_mdn): Likewise.
12980 (zfs_mount): Likewise.
12981 (fzap_iterate): Use temporary pointer to avoid aliasing.
12982 (grub_zfs_read): Likewise.
12983 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
12984 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
12985 pointers to avoid aliasing.
12986 (grub_cmd_xnu_kernel64): Likewise.
12987 (grub_xnu_load_driver): Likewise.
12988
12989 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12990
12991 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
12992 aliasing warning.
12993 (grub_cmd_terminal_output): Likewise.
12994 Reported and tested by: Grégoire Sutre.
12995
12996 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
12997
12998 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
12999 warning.
13000 Reported and tested by: Grégoire Sutre.
13001
13002 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13003
13004 * configure.ac: Do CPU substitution even if it's specified explicitly.
13005 Reported and tested by: Alain Greppin.
13006
13007 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13008
13009 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
13010 Reported and tested by: Alain Greppin.
13011
13012 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13013
13014 Satisfy some bison versions need for inttypes.h.
13015
13016 * grub-core/lib/posix_wrap/inttypes.h: New file.
13017 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
13018 (int16_t): Likewise.
13019 (int32_t): Likewise.
13020 (int64_t): Likewise.
13021 Reported and tested by: Alain Greppin.
13022
13023 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13024
13025 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
13026 Silence spurious warning.
13027 Reported and tested by: Alain Greppin.
13028
13029 2011-01-07 Szymon Janc <szymon@janc.net.pl>
13030
13031 * docs/grub.texi (Support automatic decompression): Update with xz
13032 decompression support.
13033
13034 2011-01-07 Szymon Janc <szymon@janc.net.pl>
13035
13036 Improve loaders' kernel command line handling.
13037
13038 * grub-core/lib/cmdline.c: New file.
13039 * include/grub/lib/cmdline.h: Likewise.
13040 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
13041 grub_create_loader_cmdline to create kernel command line.
13042 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13043 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
13044 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
13045 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
13046 (linux): Add lib/cmdline.c on common.
13047
13048 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13049
13050 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
13051 inopos might be unaligned.
13052
13053 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13054
13055 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
13056 endian transformations.
13057 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13058 Based on report by: Doug Nazar.
13059
13060 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
13061
13062 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
13063 array->members[i].start_sector.
13064 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
13065
13066 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13067
13068 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
13069 Reported and tested by: Grégoire Sutre.
13070
13071 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
13072
13073 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
13074 avoid causing test failures by clearing the screen.
13075
13076 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
13077
13078 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
13079 Fix prefix check to handle the case where dir ends with a slash
13080 (most significantly, "/" itself).
13081 Reported by: Michael Vogt.
13082
13083 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13084
13085 Run terminfo_cls on initing terminfo output to clear the screen and
13086 move the cursor to (0,0).
13087
13088 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
13089 Call grub_terminfo_output_init.
13090 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
13091 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
13092 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
13093
13094 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13095
13096 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
13097 only when needed.
13098
13099 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13100
13101 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
13102 CTRL.
13103
13104 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13105
13106 The E820 type 5 is BADRAM, not EXEC_CODE.
13107
13108 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13109 (GRUB_E820_BADRAM): New define.
13110 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
13111 into reserved. Propagate BADRAM.
13112 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13113 (GRUB_E820_BADRAM): New define.
13114
13115 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13116
13117 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
13118 Ignore the memory post-4G.
13119 (grub_relocator_firmware_alloc_region): Additional debug statement.
13120
13121 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13122
13123 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
13124 names.
13125 Reported by: David Pravec.
13126
13127 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13128
13129 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
13130 BIOSes.
13131
13132 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13133
13134 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
13135 Prevent overflow.
13136 (grub_reed_solomon_recover): Likewise.
13137
13138 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13139
13140 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
13141
13142 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13143
13144 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
13145 variable.
13146
13147 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
13148
13149 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
13150 descriptions of extract_legacy_entries_source and
13151 extract_legacy_entries_configfile.
13152 Reported by: Seung Soo, Ha.
13153
13154 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
13155
13156 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
13157 on devices that do not implement function 0.
13158
13159 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
13160
13161 * grub-core/fs/hfsplus.c: Make parent unsigned.
13162 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
13163 overflows.
13164 (grub_hfsplus_cmp_extkey): Likewise
13165
13166 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13167
13168 * util/grub-install.in: Correctly use bootloader_id and not
13169 GRUB_DISTRIBUTOR on efibootmgr line.
13170
13171 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13172
13173 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
13174
13175 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
13176
13177 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
13178 Xen and reorder menu item wording to make it clearer that this entry
13179 will launch Xen. Print separate messages when loading Xen and
13180 Linux.
13181
13182 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13183
13184 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
13185 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
13186 loop in case of incorrect amiga partmap.
13187
13188 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13189
13190 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
13191 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
13192 Reported by:EHeM.
13193
13194 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13195
13196 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
13197 spurious warning.
13198 Reported by: crocket
13199
13200 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13201
13202 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
13203 Preload EFIemu.
13204 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
13205
13206 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13207
13208 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
13209 is loaded
13210 (grub_cmd_xnu_kextdir): Likewise.
13211 (grub_cmd_xnu_splash): Likewise.
13212
13213 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13214
13215 Avoid using Reed-Solomon with 0 redundancy.
13216
13217 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
13218 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
13219 or 0 redundancy.
13220 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
13221 (grub_reed_solomon_recover): Likewise.
13222
13223 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13224
13225 Don't use disk subsystem in freebsd_boot.
13226
13227 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
13228 (freebsd_biosdev): Likewise.
13229 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
13230 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
13231
13232 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13233
13234 Handling of files of unknown size is currently limited. They can't be
13235 used e.g. for initrd or modules. Moreover gzip handling of not
13236 easily seekable files is buggy. Disable unknown file size for now. May
13237 be inefficient but works.
13238
13239 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
13240 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
13241
13242 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
13243
13244 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
13245 floppy probe.
13246
13247 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
13248
13249 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
13250
13251 2010-12-25 Shea Levy <shlevy>
13252
13253 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
13254
13255 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13256
13257 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
13258 Windows Server 2008.
13259 Reported by: Devin Giddings.
13260
13261 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13262
13263 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
13264 writing an error message because of async power management.
13265 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
13266 (grub_reboot): Likewise.
13267
13268 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
13269
13270 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
13271 keep unit tests from failing when they shouldn't.
13272
13273 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13274
13275 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
13276 previous patch increased the size of the RS code by 20 bytes (at
13277 least with gcc-4.4), so increase this by 20 bytes to match.
13278 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13279
13280 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13281
13282 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
13283 scratch area. Make sure to initialise chosen in standalone mode as
13284 well as non-standalone.
13285 Reported by: Robert Hooker and Andy Whitcroft.
13286 Tested by: Andy Whitcroft.
13287
13288 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13289
13290 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
13291 constructing a new unescaped string and passing it to grub_xputs in
13292 one go, rather than passing characters to grub_printf one at a time.
13293
13294 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13295
13296 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
13297 initialising utf16.
13298
13299 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
13300
13301 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
13302 comment. Add an extra layer of quotation, requiring the output of
13303 this function to be used in a printf format string.
13304 (gettext_printf): New function.
13305 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
13306 Extract translatable strings from here-documents and use a temporary
13307 variable instead, so that xgettext can find them.
13308 * util/grub.d/10_kfreebsd.in: Likewise.
13309 * util/grub.d/10_linux.in: Likewise.
13310 * util/grub.d/20_linux_xen.in: Likewise.
13311
13312 * po/grub.d.sed: New file.
13313 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
13314 arguments. Set c-format flags on all strings extracted from
13315 util/grub.d/ (xgettext refuses to include these itself for strings
13316 it extracted from a shell file, but these really are c-format).
13317
13318 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13319
13320 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
13321 Avoid next pointing to nowhere.
13322
13323 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13324
13325 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
13326 rather than assuming than rootblock is exactly in the middle.
13327 (grub_affs_label): Likewise.
13328
13329 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13330
13331 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
13332 reserved_first_sector to 0.
13333 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
13334 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
13335 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
13336
13337 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13338
13339 Fix handling of UTF-16 UDF labels.
13340
13341 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
13342 (read_string): .. here.
13343 (grub_udf_label): Use read_string.
13344
13345 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
13346
13347 * grub-core/normal/menu_entry.c (run): Execute commands from menu
13348 editor under argument scope.
13349 Reported by: Jordan Uggla
13350
13351 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13352
13353 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
13354
13355 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
13356
13357 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
13358 line, and other keys scroll an entire page (previous handling was
13359 for \r and \n to scroll a page and other keys to scroll two lines).
13360
13361 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13362
13363 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13364 Set ptrdest to correct get_physical_target_address rather than
13365 incorrect get_virtual_current_address.
13366
13367 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
13368
13369 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
13370 correct cat to grub_uint8_t * rather than grub_uint32_t *.
13371
13372 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
13373
13374 * .bzrignore: Ignore grub-core/rs_decoder.S.
13375
13376 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
13377
13378 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
13379 .mo/.mo.gz opening sequence to ...
13380 (grub_mofile_open_lang): ... here.
13381 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
13382 * util/grub.d/00_header.in (grub_lang): Include country part of
13383 locale.
13384 Reported by: Mario Limonciello.
13385
13386 2010-12-09 Robert Millan <rmh@gnu.org>
13387
13388 * NEWS: Document addition of ZFS support.
13389
13390 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
13391
13392 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
13393 rather than `/ 2', as the latter requires -Wa,--divide which would
13394 require bumping our minimum binutils version.
13395
13396 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
13397
13398 * util/grub-script-check.c (main): Print script line number on
13399 error.
13400
13401 2010-12-01 Robert Millan <rmh@gnu.org>
13402
13403 * grub-core/fs/zfs/zfs.c: New file.
13404 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
13405 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
13406 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
13407 * grub-core/fs/zfs/zfsinfo.c: Likewise.
13408
13409 * include/grub/zfs/dmu.h: Likewise.
13410 * include/grub/zfs/dmu_objset.h: Likewise.
13411 * include/grub/zfs/dnode.h: Likewise.
13412 * include/grub/zfs/dsl_dataset.h: Likewise.
13413 * include/grub/zfs/dsl_dir.h: Likewise.
13414 * include/grub/zfs/sa_impl.h: Likewise.
13415 * include/grub/zfs/spa.h: Likewise.
13416 * include/grub/zfs/uberblock_impl.h: Likewise.
13417 * include/grub/zfs/vdev_impl.h: Likewise.
13418 * include/grub/zfs/zap_impl.h: Likewise.
13419 * include/grub/zfs/zap_leaf.h: Likewise.
13420 * include/grub/zfs/zfs.h: Likewise.
13421 * include/grub/zfs/zfs_acl.h: Likewise.
13422 * include/grub/zfs/zfs_znode.h: Likewise.
13423 * include/grub/zfs/zil.h: Likewise.
13424 * include/grub/zfs/zio.h: Likewise.
13425 * include/grub/zfs/zio_checksum.h: Likewise.
13426
13427 * Makefile.util.def: Build ZFS into libgrubmods.
13428 * grub-core/Makefile.core.def: Build zfs.mod.
13429
13430 2010-11-30 Szymon Janc <szymon@janc.net.pl>
13431
13432 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
13433 variable.
13434 * grub-core/commands/wildcard.c (match_files): Likewise.
13435
13436 2010-11-30 Robert Millan <rmh@gnu.org>
13437
13438 * grub-core/loader/i386/bsd.c
13439 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
13440 whether kernel is loaded using grub_loader_is_loaded(), rather
13441 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
13442 certain error conditions.
13443
13444 2010-11-30 Robert Millan <rmh@gnu.org>
13445
13446 * grub-core/commands/echo.c: Include `<grub/term.h>'.
13447 (grub_cmd_echo): Call grub_refresh() after printing a message.
13448
13449 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13450
13451 Avoid using tricks for initialising endian variables.
13452
13453 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
13454 Make const.
13455 (GRUB_MOD_INIT): Don't byte-swap.
13456 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13457 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
13458 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
13459 (grub_swap_bytes32_compile_time): Likewise.
13460 (grub_cpu_to_le32_compile_time): Likewise.
13461 (grub_cpu_to_le16_compile_time): Likewise.
13462
13463 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13464
13465 * util/grub-setup.c (setup): Stop recommending --force. People who
13466 understand the dangers of blocklists are able to find this option
13467 anyway and the ones who don't shouldn't use it anyway.
13468
13469 2010-11-26 Robert Millan <rmh@gnu.org>
13470
13471 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
13472 Update all users.
13473
13474 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
13475
13476 Fix LVM-on-RAID probing.
13477
13478 * util/grub-probe.c (probe): Remember which disk was detected as
13479 RAID (perhaps an LVM physical volume). Use that disk's raidname
13480 rather than that of the top-level disk.
13481
13482 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
13483
13484 Fix cmdline argument quotes for setparams command of menuentry
13485 definitions.
13486
13487 * grub-core/commands/menuentry.c (setparams_prefix): Use single
13488 quotes for arguments.
13489 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
13490 grub_strchrsub function instead.
13491
13492 * include/grub/misc.h (grub_strchrsub): New function.
13493
13494 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
13495
13496 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
13497 effort by skipping "." and ".." entries up-front.
13498 Suggested by: Michael Lazarev.
13499
13500 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
13501
13502 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
13503 ldflags to ldadd, to fix link line ordering.
13504 (none_decompress): Likewise.
13505
13506 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
13507
13508 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
13509 platforms.
13510 (grub-emu-lite): Remove kern/emu/cache.S.
13511
13512 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13513
13514 * util/deviceiter.c (compare_devices): If the by-id link for a
13515 device couldn't be resolved, fall back to sorting by the by-id link
13516 rather than segfaulting.
13517 Reported and tested by: Daniel Mierswa.
13518
13519 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13520
13521 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
13522 ldflags, to fix link line ordering.
13523
13524 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13525
13526 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
13527 linkers are picky about this.
13528
13529 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13530
13531 * grub-core/Makefile.am (command.lst): Adjust sed expression
13532 ordering so that extended and priority commands aren't treated as
13533 ordinary commands.
13534
13535 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
13536
13537 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13538 Remove byte-swapping function calls, which are not valid in
13539 structure initialisers.
13540 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
13541 non-const.
13542 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
13543 grub_gpt_partition_type_bios_boot.
13544
13545 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
13546
13547 Fix test program build on GNU/kFreeBSD.
13548
13549 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
13550 $(LIBNVPAIR)' library dependencies.
13551
13552 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
13553
13554 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
13555
13556 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
13557
13558 * util/grub-install.in: Remove excessive quoting that broke
13559 installations to RAID devices.
13560
13561 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13562
13563 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
13564 bootloader version instead of 0.
13565
13566 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13567
13568 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
13569 warning.
13570
13571 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13572
13573 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
13574 retrieve the metadat sector if size isn't known.
13575 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13576
13577 2010-11-18 Robert Millan <rmh@gnu.org>
13578
13579 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
13580 with grub_memcmp().
13581
13582 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
13583
13584 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
13585 arrow.
13586 Reported by: Jordan Uggla.
13587
13588 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13589
13590 Make better UTF compliant.
13591
13592 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
13593 sequences as incorrect.
13594 (grub_is_valid_utf8): Likewise.
13595 (grub_utf8_to_ucs4): Likewise.
13596 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
13597 (grub_ucs4_to_utf8_alloc): Likewise.
13598 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
13599
13600 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13601
13602 Make legacy_source behave like source.
13603
13604 * grub-core/commands/legacycfg.c (legacy_file): Don't call
13605 grub_show_menu.
13606 (grub_cmd_legacy_source): Call grub_show_menu if needed.
13607
13608 2010-11-16 Colin Watson <cjwatson@debian.org>
13609
13610 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
13611 (-Wunused implies -Wunused-parameter, but not vice versa).
13612
13613 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
13614
13615 * configure.ac: Make error messages less confusing by testing for
13616 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
13617 accepted, but produces a diagnostic if something else is wrong).
13618
13619 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13620
13621 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
13622 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
13623 (now unused).
13624 (grub_keyboard_controller_init)
13625 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
13626 read the initial state since controller isn't inited yet.
13627
13628 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13629
13630 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
13631 allocate_regbeg may need to create new chunk header.
13632
13633 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13634
13635 Fix quoting in legacy parser.
13636
13637 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
13638 single quotes.
13639 (grub_legacy_parse): Likewise.
13640 Reported by: Jordan Uggla.
13641 Tested by: Jordan Uggla.
13642
13643 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13644
13645 Don't add -lgcc on i386 and x86_64.
13646
13647 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
13648 * conf/Makefile.common (LDADD_KERNEL): Likewise.
13649 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
13650
13651 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13652
13653 * configure.ac: Add -Wno-trampolines when supported.
13654
13655 2010-11-14 Modestas Vainius <modax@debian.org>
13656
13657 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
13658 fakeraid.
13659
13660 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13661
13662 Add generic logical block size support for UDF.
13663
13664 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
13665 (GRUB_UDF_BLKSZ): Removed.
13666 (struct grub_udf_data): New field "lbshift" to hold the logical block
13667 size of the file system in log2 format. All users updated.
13668 (sblocklist): Change type to unsigned.
13669 (grub_udf_mount): Change type of "sblklist" to unsigned.
13670 Move AVDP search before VRS recognition, because the latter requires
13671 knowledge of the logical block size, which is detected during the
13672 former.
13673 Detect and validate logical block size during AVDP search, adding
13674 support for block sizes 512, 1024 and 4096.
13675 Make VRS recognition independent of block size.
13676
13677 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13678
13679 Properly handle deleted files on UDF.
13680
13681 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
13682 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
13683 set.
13684
13685 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13686
13687 Support reading files larger than 2 GiB.
13688
13689 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
13690 "offset" to grub_off_t.
13691 (grub_udf_read_file): Likewise for parameter "pos".
13692
13693 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13694
13695 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
13696 unavailable.
13697 (Simple configuration): Refer to Changes from GRUB Legacy about
13698 save_env availability.
13699
13700 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13701
13702 * util/grub-install.in: Ignore empty partition table detection
13703 instead of trying to include part_ module.
13704
13705 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13706
13707 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
13708 LVM on RAID support.
13709
13710 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13711
13712 Properly define WORDS_BIGENDIAN in wrapped environments.
13713
13714 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
13715 definition.
13716 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
13717
13718 Reported by: Manoel Rebelo Abranches.
13719 Tested by: Manoel Rebelo Abranches.
13720
13721 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13722
13723 * util/grub-mkconfig.in: Fix quoting.
13724
13725 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13726
13727 Support big ext2 files.
13728
13729 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
13730 (grub_ext2_read_block): Support triple indirect blocks.
13731 (grub_ext2_read_file): Use 64-bit types and read size_high.
13732 (grub_ext2_open): Read size_high.
13733 Reported by: Ximin Luo.
13734 Tested by: Manoel Rebelo Abranches.
13735
13736 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13737
13738 * util/grub-install.in: Handle filenames containing spaces.
13739 Reported by: Jordan Uggla.
13740 Tested by: Jordan Uggla.
13741
13742 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13743
13744 * util/grub-mkconfig.in (grub_script_check): New variable.
13745 Use grub_script_check instead of grub-script-check.
13746 Reported by: Barry Jackson.
13747
13748 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13749
13750 * docs/grub.texi (menu): Correct the order.
13751 Reported by: D. Hugh Redelmeier.
13752
13753 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13754
13755 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
13756 jump.
13757
13758 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
13759
13760 * include/grub/elfload.h (grub_elf32_size): New parameter.
13761 All users updated.
13762 Return maximum segments alignment.
13763 (grub_elf64_size): Likewise.
13764 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
13765 Return maximum segments alignment.
13766 (grub_elf64_size): Likewise.
13767 * grub-core/loader/powerpc/ieee1275/linux.c:
13768 (grub_linux_claimmap_iterate): New function. Uses the
13769 "available" property in the "memory" node for memory allocation
13770 for kernel in the PowerPC loader.
13771 (grub_linux_load32): Correctly find linux entry point offset.
13772 (grub_linux_load64): Likewise.
13773
13774 2010-11-07 Robert Millan <rmh@gnu.org>
13775
13776 On mips-yeeloong, build with -march=loongson2f when this flag is
13777 available (GCC >= 4.4).
13778 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
13779 `-march=mips3'.
13780 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
13781 or otherwise add -march=mips3.
13782
13783 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
13784
13785 Suppress shell expansion on echo '*' and echo "*" like cases.
13786 Reported by: Jordan Uggla.
13787
13788 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
13789 string arguments before shell expansion.
13790 * tests/grub_cmd_echo.in: New testcases.
13791
13792 2010-11-07 Robert Millan <rmh@gnu.org>
13793
13794 * conf/mips-qemu-mips.rmk: Remove stale file from previous
13795 transition.
13796
13797 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
13798
13799 * grub-core/kern/emu/hostdisk.c
13800 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
13801
13802 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13803
13804 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
13805 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
13806 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
13807
13808 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13809
13810 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
13811
13812 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13813
13814 * util/grub-install.in: Replace useless recomendation to pass
13815 --modules with a recomendation to report a bug.
13816
13817 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13818
13819 Properly register serial terminfo.
13820 Reported by: Jordan Uggla
13821
13822 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
13823 const.
13824 (grub_serial_terminfo_output_template): Likewise.
13825 (grub_cmd_serial): Register "serial" with terminfo.
13826 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
13827 grub_serial_terminfo_output.
13828
13829 2010-11-05 Robert Millan <rmh@gnu.org>
13830
13831 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
13832 needed).
13833
13834 2010-11-05 Robert Millan <rmh@gnu.org>
13835
13836 On Yeeloong, pass machine type information to Linux.
13837
13838 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
13839 (LOONGSON_MACHTYPE): New macro, set to
13840 "machtype=lemote-yeeloong-2f-8.9inches".
13841 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
13842 additional argument to Linux.
13843
13844 2010-11-04 Robert Millan <rmh@gnu.org>
13845
13846 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
13847 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
13848 (its SATA disks are detected as slaveless IDE master drives on
13849 kFreeBSD).
13850 Reported by Carsten Aulbert.
13851
13852 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
13853
13854 * util/bin2h.c (main): Fix spelling error in generated output.
13855
13856 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
13857
13858 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
13859
13860 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13861
13862 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
13863 vga= option is supplied.
13864
13865 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13866
13867 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
13868 * util/grub.d/10_kfreebsd.in: Likewise.
13869 * util/grub.d/10_linux.in: Likewise.
13870 * util/grub.d/20_linux_xen.in: Likewise.
13871
13872 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13873
13874 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
13875 argument as an argument to no-argument option.
13876
13877 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13878
13879 * util/grub.d/10_linux.in: Add missing load_video with explicit
13880 GRUB_GFXPAYLOAD_LINUX.
13881
13882 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13883
13884 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
13885
13886 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13887
13888 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
13889 elements with invlid index.
13890 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13891 * grub-core/disk/raid.c (insert_array): Automatically reallocate
13892 members.
13893 * include/grub/raid.h (grub_raid_member): New struct.
13894 (grub_raid_array): Transform devices and start_sector into usage of
13895 grub_raid_member. All users updated
13896 (allocated_devs): New member.
13897
13898 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
13899
13900 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
13901 is modified
13902
13903 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
13904
13905 NetBSD build fix for getline function conflict from gnulib.
13906
13907 * Makefile.util.def (libgrubkern.a): New library for grub kernel
13908 components that depend on gnulib headers.
13909 (libgrubmods.a): Renamed from earlier libgrub.a.
13910 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
13911
13912 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13913
13914 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
13915 install rather than creating a broken install.
13916
13917 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13918
13919 * util/grub-setup.c (argp): Remove misleading example of installing to
13920 a partition.
13921
13922 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13923
13924 * util/grub-setup.c (setup): Clarify the error message.
13925
13926 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
13927
13928 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
13929
13930 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13931
13932 * grub-core/kern/emu/misc.c
13933 (grub_make_system_path_relative_to_its_root)
13934 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
13935
13936 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
13937
13938 * grub-core/kern/emu/misc.c
13939 (grub_make_system_path_relative_to_its_root): Revert r2882.
13940
13941 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
13942
13943 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
13944 useless field head. All users updated.
13945 (free_subchunk): Correct handling of IN_REGION subchunk.
13946
13947 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
13948
13949 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
13950 (Supported kernels): Likewise.
13951
13952 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
13953
13954 Make mktemp invocations portable.
13955
13956 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
13957 exit if mktemp fails.
13958 * tests/grub_script_blockarg.in: Likewise.
13959 * tests/partmap_test.in: Likewise.
13960 * tests/util/grub-shell-tester.in: Likewise.
13961 * tests/util/grub-shell.in: Likewise.
13962 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13963 * Makefile.am: Likewise, and chain shell commands with `&&'
13964 instead of ';'.
13965 * util/grub-mkrescue.in: Use the same explicit template as above, and
13966 exit if mktemp fails.
13967
13968 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
13969
13970 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
13971 Linux kernel, reported by Dennis Schridde.
13972
13973 2010-10-17 Szymon Janc <szymon@janc.net.pl>
13974
13975 * grub-core/normal/auth.c (grub_auth_check_authentication):
13976 Set-but-not-used variable removed.
13977
13978 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13979
13980 * docs/grub.texi (GNU/Linux): Document APM unavailability with
13981 32-bit linux protocol.
13982
13983 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13984
13985 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
13986 cursor shape for sanity.
13987
13988 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13989
13990 * docs/grub.texi (Installation): Document buggy BIOS install.
13991
13992 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13993
13994 * docs/grub.texi (Installation): Indent.
13995
13996 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
13997
13998 * util/grub-setup.c (setup): New parameter allow_floppy.
13999 (arguments): New member allow_floppy.
14000 (argp_parser): Handle --allow-floppy.
14001 (main): Pass allow_floppy.
14002 * util/grub-install.in: New option --allow-floppy passed though to
14003 grub-setup.
14004
14005 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14006
14007 * util/grub-install.in: Handle partitionless disks.
14008
14009 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14010
14011 * util/grub-setup.c (setup): Don't clean blocklists before readability
14012 verfification.
14013
14014 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14015
14016 * docs/grub.texi (Installation): Document embedding zone. Remove
14017 obsolete grub-install example.
14018
14019 2010-10-16 Szymon Janc <szymon@janc.net.pl>
14020
14021 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
14022 Set-but-not-used variable ifdef'ed.
14023 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
14024 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
14025 variable removed.
14026 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
14027 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
14028 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
14029 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
14030 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
14031 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
14032 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
14033 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
14034 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
14035 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
14036 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
14037 Likewise.
14038
14039 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14040
14041 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
14042 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
14043 enum value.
14044
14045 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14046
14047 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
14048 synonym to _S5_. Needed for some DSDTs.
14049
14050 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14051
14052 Userspace ACPI parser debugging.
14053
14054 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
14055 headers and add relevant defines. Don't include standard headers.
14056 (main) [GRUB_DSDT_TEST]: New function.
14057 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
14058 Don't declare functions.
14059
14060 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14061
14062 Remove dead grub_efi_mm_fini.
14063
14064 * grub-core/kern/efi/mm.c (allocated_page): Removed.
14065 (ALLOCATED_PAGES_SIZE): Likewise.
14066 (MAX_ALLOCATED_PAGES): Likewise.
14067 (allocated_pages): Likewise.
14068 (grub_efi_allocate_pages): Don't record allocated pages.
14069 (grub_efi_free_pages): Likewise.
14070 (grub_efi_mm_init): Likewise.
14071 (grub_efi_mm_fini): Removed.
14072
14073 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14074
14075 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
14076 (grub_efi_mm_init): Take into account the memory map size increase.
14077
14078 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14079
14080 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
14081 (serial_hw_put): Wait based on real time rather than port reads. Don't
14082 roken ports.
14083 * include/grub/serial.h (grub_serial_port): New field broken.
14084
14085 2010-10-16 Robert Millan <rmh@gnu.org>
14086
14087 * grub-core/kern/emu/misc.c
14088 (grub_make_system_path_relative_to_its_root): Fix premature return
14089 when processing non-root ZFS filesystems.
14090 Reported by Sergio Talens-Oliag.
14091
14092 2010-10-15 Robert Millan <rmh@gnu.org>
14093
14094 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
14095 guarantee compressed ones are processed first.
14096
14097 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14098
14099 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
14100 grub_efiemu_autocore.
14101
14102 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14103
14104 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
14105 rather than 0x1b.
14106 (grub_console_getkey): Use correct jae opcode rather than ja.
14107
14108 2010-10-12 Robert Millan <rmh@gnu.org>
14109
14110 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
14111 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
14112 variable. All references updated.
14113
14114 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
14115
14116 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
14117
14118 Correctly distinguish mdraid flavours.
14119
14120 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
14121 (insert_array): New argument raid.
14122 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
14123 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
14124 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
14125
14126 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
14127
14128 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
14129 handling of special keys.
14130
14131 2010-10-02 Aleš Nesrsta <starous@volny.cz>
14132
14133 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
14134 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
14135
14136 2010-10-02 Aleš Nesrsta <starous@volny.cz>
14137
14138 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
14139 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
14140 users updated.
14141 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
14142 Use right endpoint when querying descriptor.
14143
14144 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14145
14146 Clear out 0x80 color bit on EFI.
14147 Tested by: decoder
14148 Reported by: decoder and meta tech.
14149
14150 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
14151 (grub_console_setcolorstate): Clear out 0x80 bit.
14152 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
14153 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
14154 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
14155
14156 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14157
14158 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
14159 Set to "auto".
14160
14161 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14162
14163 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
14164 mo_file after freeing.
14165
14166 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14167
14168 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
14169
14170 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14171
14172 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
14173 flags.
14174
14175 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14176
14177 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
14178 usage.
14179
14180 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14181
14182 Put terminfo into core on ieee1275 and yeeloong (needed for console).
14183
14184 * gentpl.py: New groups terminfoinkernel and terminfomodule.
14185 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
14186 and terminfo.h when needed.
14187 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
14188 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
14189 (terminfo): Enable only on terminfokernel.
14190 (extcmd): Likewise.
14191 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
14192 * include/grub/lib/arg.h: Likewise.
14193 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
14194 incorrect usage of ->.
14195
14196 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14197
14198 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
14199 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
14200
14201 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14202
14203 Fix coreboot compilation.
14204
14205 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14206 Take VBE info into account even if only text is supported.
14207 (fill_vbe_info): Take into account the case when only VGA text
14208 is supported.
14209 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
14210 on coreboot, multiboot and qemu.
14211
14212 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14213
14214 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
14215 debug messages.
14216 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
14217
14218 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14219
14220 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
14221 parameters.
14222
14223 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14224
14225 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
14226 if they were BSD-style.
14227
14228 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14229
14230 * grub-core/boot/i386/pc/lnxboot.S: Replace
14231 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
14232 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
14233
14234 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14235
14236 Write embedding zone using Reed-Solomon.
14237
14238 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
14239 * grub-core/Makefile.am (rs_decoder.S): New target.
14240 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
14241 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
14242 (multiboot): Move to RS part.
14243 (post_reed_solomon): New label.
14244 (grub_boot_drive): Move to non-RS part since it's modified in memory
14245 on boot.
14246 Include rs_decoder.S.
14247 * grub-core/lib/reed_solomon.c: New file.
14248 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
14249 New definition.
14250 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
14251 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
14252 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
14253 * include/grub/partition.h (grub_partition_map): Change prototype of
14254 embed to allow returning additional sectors.
14255 * include/grub/reed_solomon.h: New file.
14256 * util/grub-setup.c (setup): Handle Reed-Solomon.
14257
14258 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
14259
14260 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14261 i386 and x86-64 definedness tests.
14262
14263 2010-09-27 Yves Blusseau <blusseau@zetam.org>
14264
14265 Fix generation of kernel_syms.lst
14266
14267 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
14268 ASM_PREFIX
14269
14270 2010-09-26 Robert Millan <rmh@gnu.org>
14271
14272 Support degraded ZFS arrays in "grub-probe -t device" resolution.
14273
14274 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
14275 the pool is an array of devices, iterate through it and return the
14276 first device that passes a stat() test (instead of blindly returning
14277 the first one).
14278
14279 2010-09-26 Robert Millan <rmh@gnu.org>
14280
14281 Build fixes for GNU/kFreeBSD.
14282
14283 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
14284 to programs that require ZFS conversion.
14285 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
14286 kernels that don't have FLOPPY_MAJOR.
14287
14288 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14289
14290 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
14291
14292 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14293
14294 Fix grub-emu build.
14295
14296 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
14297 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
14298 mdraid09 and mdraid1x.
14299
14300 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
14301
14302 Re-enable grub-extras.
14303
14304 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
14305 avoid confusing Automake. Run autogen only twice, once for the top
14306 level and once for grub-core. Add Makefile.util.def and
14307 Makefile.core.def from extra modules to the appropriate autogen
14308 invocations. If Makefile.common exists in an extra module, include
14309 it in both Makefile.util.am and grub-core/Makefile.core.am;
14310 similarly, include any Makefile.util.common file in Makefile.util.am
14311 and any Makefile.core.common file in grub-core/Makefile.core.am.
14312 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
14313 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
14314 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
14315 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
14316
14317 * gentpl.py (gvar_add): Turn GVARS into a set.
14318 (global_variable_initializers): Sort global variables on output.
14319 (vars_init): New function.
14320 (first_time): Likewise.
14321 (library): Ensure that non-global variable initialisations are
14322 emitted before the first time we emit code for a library block.
14323 Append to variables rather than setting them. Only emit
14324 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
14325 each conditional path.
14326 (program): installdir() emits an Autogen macro, so must be passed to
14327 var_add rather than gvar_add.
14328 (data): Likewise.
14329 (script): Likewise.
14330 (rules): New function, centralising handling for different target
14331 types. Set up Guile association lists for first_time and vars_init,
14332 and send most output to a diversion so that variable initialisations
14333 can be emitted first.
14334 (module_rules): Use new rules function.
14335 (kernel_rules): Likewise.
14336 (image_rules): Likewise.
14337 (library_rules): Likewise.
14338 (program_rules): Likewise.
14339 (script_rules): Likewise.
14340 (data_rules): Likewise.
14341
14342 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
14343
14344 * .bzrignore: Add contrib and grub-core/contrib. Remove
14345 grub-core/Makefile.gcry.am.
14346
14347 2010-09-24 Yves Blusseau <blusseau@zetam.org>
14348
14349 * grub-core/lib/LzFind.c: Add missing include.
14350 * grub-core/lib/LzmaEnc.c: Likewise.
14351 * grub-core/script/lexer.c: Likewise.
14352 * grub-core/script/yylex.l: Likewise.
14353 * util/grub-macho2img.c: Likewise.
14354 * util/grub-menulst2cfg.c: Likewise.
14355 * util/grub-mklayout.c: Likewise.
14356 * util/grub-mkpasswd-pbkdf2.c
14357 * util/grub-mkrelpath.c: Likewise.
14358 * util/resolve.c: Likewise.
14359
14360 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
14361
14362 * Makefile.util.def (example_unit_test): Add
14363 grub-core/gnulib/libgnu.a.
14364
14365 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
14366
14367 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
14368
14369 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
14370
14371 Support xz compression on yeeloong.
14372
14373 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
14374 * configure.ac: Check for LZMA.
14375 * grub-core/Makefile.core.def (xz_decompress): New target.
14376 (none_decompress): Likewise.
14377 * grub-core/boot/decompressor/minilib.c: New file.
14378 * grub-core/boot/decompressor/none.c: Likewise.
14379 * grub-core/boot/decompressor/xz.c: Likewise.
14380 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
14381 * grub-core/kern/mips/cache_flush.S: Likewise.
14382 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
14383 * grub-core/kern/mips/startup.S: Move first stage to ...
14384 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
14385 nomacro.
14386 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
14387 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
14388 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
14389 Allocate statically.
14390 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
14391 Allocate statically or use scratch. Don't check CRC32.
14392 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
14393 Allocate statically. Don't check CRC32.
14394 * include/grub/decompressor.h: New file.
14395 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
14396 Removed.
14397 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
14398 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
14399 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
14400 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
14401 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
14402 * util/grub-mkimage.c (grub_compression_t): New type.
14403 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
14404 (image_target_desc): New field default_compression.
14405 (image_targets): Adjust yeeloong targets.
14406 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
14407 (compress_kernel): New parameter comp.
14408 (generate_image): Likewise. Handle new compression case.
14409 (options): New option --compression
14410 (help): Likewise.
14411 (main): Handle new option.
14412
14413 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
14414
14415 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
14416
14417 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
14418
14419 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14420 typo in __i386__ conditional.
14421
14422 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14423
14424 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
14425 include.
14426
14427 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14428
14429 Implement EFI and ACPI multiboot2 extensions.
14430
14431 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
14432 new tags as supported.
14433 (acpiv2_size): New function.
14434 (grub_multiboot_get_mbi_size): Take new tags into account.
14435 (grub_multiboot_make_mbi): Add new tags.
14436 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
14437
14438 2010-09-21 Aleš Nesrsta <starous@volny.cz>
14439
14440 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
14441 Added missing configuration of USB device.
14442
14443 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14444
14445 * grub-core/normal/menu_entry.c (run): Make sure we always return
14446 a value.
14447
14448 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14449
14450 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
14451 NumberOfPages is UINT64 according to the UEFI specification, not
14452 UINTN. Fix printf format.
14453
14454 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14455
14456 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
14457 `err' to grub_usb_err_t.
14458 Reported and tested by: KESHAV P.R.
14459
14460 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14461
14462 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
14463 tpart non-const, so that we can assign to it. (Since this is a
14464 typedef, the constness refers to the pointer rather than what it
14465 points to.)
14466
14467 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14468
14469 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
14470 $(top_srcdir)/grub-core/gnulib as well as
14471 $(top_builddir)/grub-core/gnulib.
14472 Reported by: KESHAV P.R.
14473
14474 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14475
14476 * util/grub-install.in: Fix the bootloader ID option to be
14477 consistently --bootloader-id, not --bootloader_id.
14478 Reported by: KESHAV P.R.
14479
14480 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14481
14482 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
14483 check hash checksum." consistently translatable.
14484
14485 2010-09-21 Yves Blusseau <blusseau@zetam.org>
14486
14487 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
14488 $(top_builddir).
14489
14490 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14491
14492 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
14493 (GRUB_MOD_INIT): Register sha1sum command.
14494 (GRUB_MOD_FINI): Unregister sha1sum command.
14495
14496 2010-09-21 Yves Blusseau <blusseau@zetam.org>
14497
14498 Keep boot and grub directory names in sync with utils scripts
14499
14500 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
14501 * config.h.in: Add previous macros.
14502 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
14503 * util/grub-install.in: Use $bootdir and $grubdir variables.
14504
14505 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14506
14507 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
14508 convert partition names to disk names if the new `convert' parameter
14509 is set.
14510 (grub_util_biosdisk_get_grub_dev): If opening the disk device
14511 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
14512 disk in its own right. This can happen with Xen disk images.
14513
14514 2010-09-21 Yves Blusseau <blusseau@zetam.org>
14515
14516 * util/grub-editenv.c: Update strings to avoid warnings when generating
14517 grub.pot file.
14518 * util/grub-setup.c: Likewise.
14519
14520 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14521
14522 * configure.ac: Change version to 1.99~beta0.
14523
14524 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14525
14526 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14527 Add BADRAM.
14528 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
14529 Likewise.
14530 * include/multiboot.h: Resynced with specification.
14531 * include/multiboot2.h: Likewise.
14532
14533 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
14534
14535 Fix po directory handling.
14536
14537 * configure.ac: Create po/Makefile.in rather than po/Makefile.
14538 * grub-core/gnulib/Makefile.am: Import gettext module.
14539 * m4/gnulib-cache.m4: Likewise.
14540 * m4/gnulib-comp.m4: Likewise.
14541 * m4/gettext.m4: New file, from gnulib.
14542 * m4/glibc2.m4: Likewise.
14543 * m4/iconv.m4: Likewise.
14544 * m4/intdiv0.m4: Likewise.
14545 * m4/intl.m4: Likewise.
14546 * m4/intldir.m4: Likewise.
14547 * m4/intlmacosx.m4: Likewise.
14548 * m4/intmax.m4: Likewise.
14549 * m4/inttypes-pri.m4: Likewise.
14550 * m4/lcmessage.m4: Likewise.
14551 * m4/lib-ld.m4: Likewise.
14552 * m4/lib-link.m4: Likewise.
14553 * m4/lib-prefix.m4: Likewise.
14554 * m4/lock.m4: Likewise.
14555 * m4/nls.m4: Likewise.
14556 * m4/po.m4: Likewise.
14557 * m4/printf-posix.m4: Likewise.
14558 * m4/progtest.m4: Likewise.
14559 * m4/threadlib.m4: Likewise.
14560 * m4/uintmax_t.m4: Likewise.
14561 * m4/visibility.m4: Likewise.
14562 * po/Makefile.am: Remove.
14563 * po/Makefile.in.in: New file, from gettext.
14564 ($(DOMAIN).pot-update): Support POTFILES-shell.
14565 * po/Makevars: New file.
14566 * po/POTFILES-shell: Rename to ...
14567 * po/POTFILES-shell.in: ... this. Update.
14568 * po/POTFILES: Rename to ...
14569 * po/POTFILES.in: ... this. Update.
14570 * po/Rules-quot: New file, from gettext.
14571 * po/boldquot.sed: Likewise.
14572 * po/en@boldquot.header: Likewise.
14573 * po/en@quot.header: Likewise.
14574 * po/insert-header.sin: Likewise.
14575 * po/quot.sed: Likewise.
14576 * po/remove-potcdate.sin: Likewise.
14577
14578 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14579
14580 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
14581
14582 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14583
14584 * util/grub.d/20_linux_xen.in: Use submenus.
14585
14586 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14587
14588 Support submenus.
14589
14590 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
14591 parameter submenu. All users updated.
14592 * grub-core/normal/main.c (free_menu): Rename to ...
14593 (grub_normal_free_menu): ... this. Made global.
14594 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
14595 if requested.
14596 * grub-core/normal/menu_entry.c (screen): New field submenu.
14597 (make_screen): Set submenu.
14598 (run): Open new context if requested.
14599 * include/grub/menu.h (grub_menu_entry): New field submenu.
14600 * include/grub/normal.h (grub_normal_free_menu): New proto.
14601
14602 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14603
14604 Menu entries extractor.
14605
14606 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
14607 variants.
14608 (GRUB_MOD_INIT): Register new variants.
14609 (GRUB_MOD_FINI): Unregister new variants.
14610 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
14611 into grub_cmd_legacy_source.
14612 (grub_cmd_legacy_source): Implement extractor variants.
14613 (GRUB_MOD_INIT): Register new variants.
14614 (GRUB_MOD_FINI): Unregister new variants.
14615 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
14616 as an extractor.
14617 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
14618 search as an extractor.
14619 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
14620 test as an extractor.
14621 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
14622 as an extractor.
14623 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
14624 (grub_env_new_context): New function.
14625 (grub_env_context_open): Likewise.
14626 (grub_env_extractor_open): Likewise.
14627 (grub_env_extractor_close): Likewise.
14628 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
14629 grub_extractor_level.
14630 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
14631 * include/grub/env.h (grub_env_extractor_open): New proto.
14632 (grub_env_extractor_close): Likewise.
14633 * include/grub/normal.h (grub_extractor_level): New external variable.
14634
14635 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14636
14637 Make cutmem accept a region specification.
14638 Suggested by: Samuel Thibault
14639
14640 * grub-core/mmap/mmap.c (parsemem): New function.
14641 (grub_cmd_cutmem): Handle new arguments.
14642
14643 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14644
14645 New command cutmem.
14646
14647 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
14648 (GRUB_MOD_INIT): Register new command.
14649 (GRUB_MOD_FINI): Unregister new command.
14650
14651 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14652
14653 Support some annoying BSD and Minix subpartitions.
14654
14655 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
14656 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
14657 Properly handle concatenation.
14658 * grub-core/kern/device.c (grub_device_iterate): Likewise.
14659 * grub-core/normal/completion.c (iterate_partition): Likewise.
14660 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
14661 contain partition. All users updated.
14662 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
14663 struct.
14664 (grub_openbsdlabel_partition_map): Likewise.
14665 (bsdlabel_partition_map_iterate): Rename to ..
14666 (iterate_real): ... this. New arguments sector, freebsd and pmap.
14667 (bsdlabel_partition_map_iterate): New function.
14668 (netopenbsdlabel_partition_map_iterate): Likewise.
14669 (netbsdlabel_partition_map_iterate): Likewise.
14670 (openbsdlabel_partition_map_iterate): Likewise.
14671 (GRUB_MOD_INIT): Register new partmaps.
14672 (GRUB_MOD_FINI): Unregister new partmaps.
14673 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
14674 (grub_partition_msdos_iterate): ... this. All users updated.
14675 Don't support embedding other than in a minix partition.
14676 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
14677 proto.
14678 * include/grub/partition.h (grub_partition): New field msdostype.
14679 * util/grub-install.in: Handle openbsd and netbsd types being in
14680 part_bsd module.
14681
14682 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14683
14684 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
14685
14686 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
14687 * grub-core/Makefile.core.def (mdraid): Renamed to ...
14688 (mdraid09): ... this.
14689 (mdraid1x): New module.
14690 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
14691 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
14692
14693 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14694
14695 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
14696 vsprintf.
14697
14698 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14699
14700 * grub-core/commands/efi/lsefimmap.c: Correct header.
14701 * NEWS: Update.
14702
14703 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14704
14705 * util/grub-editenv.c (argp_parser): Don't pass translated strings
14706 as printf format strings; the translations might contain '%' which
14707 could cause a crash.
14708 (main): Likewise.
14709 * util/grub-fstest.c (argp_parser): Likewise.
14710 * util/grub-setup.c (argp_parser): Likewise.
14711 (main): Likewise.
14712
14713 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14714
14715 Use argp in grub-fstest.
14716
14717 * util/grub-fstest.c: Don't include getopt.h.
14718 Include argp.h.
14719 (root): New variable.
14720 (args_count): Likewise.
14721 (nparm): Likewise.
14722 (num_disks): Likewise.
14723 (images): Likewise.
14724 (cmd): Likewise.
14725 (debug_str): Likewise.
14726 (args): Likewise.
14727 (options): Transformed to argp.
14728 (usage): Removed.
14729 (main): Split argument parsing into ...
14730 (argp_parser): ... this. Changed to argp format.
14731 (argp): New variable.
14732 (main): Use argp_parse.
14733
14734 2010-09-20 Tristan Gingold <gingold@free.fr>
14735 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
14736 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14737
14738 * grub-core/commands/efi/lsefimmap.c: New file.
14739 * grub-core/Makefile.core.def (lsefimmap): New module.
14740 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
14741
14742 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14743
14744 Pause the execution (10s max) if any errors are displayed so the user
14745 has a chance to see them.
14746
14747 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
14748 (grub_print_error): Increment grub_err_printed_errors.
14749 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
14750 execution if any errors were displayed.
14751 (show_menu): Remove old code for pause.
14752 * grub-core/normal/menu_entry.c (run): Likewise.
14753 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
14754 users updated.
14755 (grub_normal_get_char_counter): Likewise.
14756 * include/grub/err.h (grub_err_printed_errors): New external variable.
14757 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
14758
14759 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14760
14761 Support multiboot VBE info.
14762
14763 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14764 Take VBE info into account.
14765 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
14766 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14767 Call fill_vbe_info when appropriate.
14768 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
14769 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
14770 as supported.
14771 (grub_multiboot_get_mbi_size): Take new tags into account.
14772 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
14773 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14774 Call fill_vbe_tag when appropriate.
14775 (grub_multiboot_make_mbi): Properly align tags.
14776 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
14777 function.
14778 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
14779 proto.
14780 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
14781
14782 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14783
14784 Suport manual terminal geometry specification.
14785
14786 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
14787 Save state in grub_ofconsole_terminfo_output.
14788 (grub_ofconsole_term): Use grub_terminfo_getwh.
14789 (grub_ofconsole_getwh): Removed.
14790 * grub-core/term/serial.c (grub_serial_getwh): Removed.
14791 (grub_serial_term): Use grub_terminfo_getwh.
14792 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
14793 (options): New struct.
14794 (OPTION_*): New enum.
14795 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
14796 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
14797 width and height.
14798 (grub_terminfo_getwh): New proto.
14799 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
14800
14801 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14802
14803 Handle legacy "terminal" command.
14804
14805 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
14806 and FLAG_TERMINAL.
14807 (legacy_commands): Add terminal and title.
14808 (grub_legacy_parse): Handle terminal. Simplify title handling.
14809
14810 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14811
14812 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
14813 parameters overflow.
14814
14815 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14816
14817 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
14818 widthspec.h.
14819
14820 * docs/grub.texi (Shell-like scripting): Document `!'.
14821 (Network): Simplify using new i386-pc-pxe format. Mention
14822 grub-mknetdir.
14823
14824 * NEWS: Update.
14825
14826 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14827
14828 * Makefile.am (SUBDIRS): Restore "."; it's important to force
14829 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
14830 when needed.
14831
14832 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14833
14834 * grub-core/commands/efi/lsefisystab.c: Correct header.
14835 * grub-core/commands/efi/lssal.c: Likewise.
14836 * grub-core/commands/testload.c: Likewise.
14837
14838 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14839
14840 * util/grub-mkrescue.in: Add explicit root argument to --set to
14841 prevent the UUID being interpreted as an argument to --set (matches
14842 previous change to prepare_grub_to_access_device).
14843
14844 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
14845
14846 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
14847 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
14848 the verbosity of later #ifs.
14849 (find_partition_start): Define this function on FreeBSD too.
14850 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
14851 function.
14852 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
14853 on FreeBSD.
14854
14855 2010-09-20 Yves Blusseau <blusseau@zetam.org>
14856
14857 * util/grub-editenv.c: Use argp instead of getopt.
14858
14859 2010-09-20 Yves Blusseau <blusseau@zetam.org>
14860
14861 * util/grub-setup.c: Use argp instead of getopt.
14862
14863 2010-09-20 Yves Blusseau <blusseau@zetam.org>
14864
14865 Use gnulib-tool to create gnulib source files.
14866
14867 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
14868 grub-core/gnulib directories
14869 * .bzignore: Add **/.deps and autogenerated gnulib files
14870 * configure.ac: Assign auxiliary directory to build-aux, add invocation
14871 of gnulib macros, add grub-core/gnulib/Makefile
14872 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
14873 include m4 directory to aclocal.
14874 * Makefile.util.def: Remove direct compilation of gnulib source files
14875 and use the new grub-core/gnulib/libgnu.a.
14876 * build-aux/config.rpath: move config.rpath from top directory to
14877 build-aux
14878 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
14879 in gnulib headers
14880 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
14881 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
14882 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
14883 header.
14884 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
14885 string.
14886
14887 2010-09-20 Yves Blusseau <blusseau@zetam.org>
14888
14889 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
14890 grub-core/genmod.sh and grub-core/gensyminfo.sh
14891
14892 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
14893
14894 Add a test for echo command options.
14895
14896 * tests/grub_cmd_echo.in: New test.
14897 * Makefile.util.def: Rules for new test.
14898
14899 2010-09-20 Szymon Janc <szymon@janc.net.pl>
14900
14901 Remove crc.mod and move crc command to hashsum.mod.
14902 Remove lib/crc.c - users updated to use gcrypt implementation.
14903
14904 * grub-core/commands/crc.c: Removed.
14905 * grub-core/Makefile.core.def (crc): Module removed.
14906 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
14907 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
14908 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
14909 * grub-core/lib/crc.c: Removed.
14910 * include/grub/lib/crc.h: Removed.
14911 * Makefile.util.def (crc): Remove lib/crc.c
14912 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
14913 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
14914 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
14915 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
14916 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
14917 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
14918
14919 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14920
14921 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
14922
14923 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14924
14925 Split config.h for util and core.
14926
14927 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
14928 (ADDR32): Likewise.
14929 (DATA32): Likewise.
14930 (BSS_START_SYMBOL): Likewise.
14931 (END_SYMBOL): Likewise.
14932 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
14933 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
14934 * config.h.in: New file.
14935 * configure.ac: Use config-util.h as config define file.
14936 Rename MACHINE into GRUB_MACHINE. All users updated.
14937 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
14938 updated.
14939 (NESTED_FUNC_ATTR): Likewise.
14940 Substitue new variables.
14941 (COND_HAVE_ASM_USCORE): New conditional.
14942 * grub-core/Makefile.am (ASM_PREFIX): New variable.
14943 (kernel_syms.lst): Use ASM_PREFIX.
14944 * grub-core/kern/emu/console.c: Include config-util.h.
14945 * grub-core/kern/emu/misc.c: Likewise.
14946 * grub-core/kern/emu/mm.c: Likewise.
14947 * include/grub/emu/misc.h: Likewise.
14948 * include/grub/libgcc.h: Likewise.
14949
14950 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14951
14952 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
14953 constants usage.
14954 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
14955 Fix GRUB_TERM_KEY_* constants usage.
14956 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
14957
14958 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14959
14960 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
14961 print pointer.
14962 * grub-core/bus/usb/uhci.c: Remove empty define.
14963 (grub_uhci_check_transfer): Add missing cast.
14964 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
14965 print pointer.
14966 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
14967 PRIuGRUB_SIZE.
14968 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
14969
14970 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
14971
14972 * grub-core/Makefile.core.def (legacycfg): Add
14973 lib/i386/pc/vesa_modes_table.c on emu.
14974
14975 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
14976
14977 Reduce number of temporary files generated by build system.
14978
14979 * grub-core/gencmdlist.sh: Removed.
14980 * grub-core/genfslist.sh: Removed.
14981 * grub-core/genhandlerlist.sh: Removed.
14982 * grub-core/genmodsrc.sh: Removed.
14983 * grub-core/genpartmaplist.sh: Removed.
14984 * grub-core/genparttoollist.sh: Removed.
14985 * grub-core/gentermiinallist.sh: Removed.
14986 * grub-core/genvideolist.sh: Removed.
14987
14988 * grub-core/genmod.sh.in: New file.
14989 * grub-core/gensyminfo.sh.in: New file.
14990
14991 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
14992 * conf/Makefile.extra-dist: Update with new files.
14993 * gentpl.py: Remove rules related to unnecessary temporary files.
14994 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
14995 and und-* files.
14996 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
14997 genmod.sh scripts.
14998 * grub-core/bus/usb/uhci.c: Remove empty #define.
14999 * grub-core/genmoddep.awk: Updated with new syminfo format.
15000 * util/bash-completion.d/Makefile.am: Add config.log to
15001 CLEANFILES.
15002
15003 2010-09-19 Yves Blusseau <blusseau@zetam.org>
15004
15005 * Makefile.util.def: Add forgotten $(LIBINTL) library.
15006
15007 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15008
15009 * util/grub-mkconfig.in: Check the config script for syntax errors
15010 before saving.
15011
15012 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
15013 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15014
15015 * Makefile.util.def (grub-install): Use util/grub-install.in on all
15016 platforms.
15017 * util/grub-install.in: Add EFI and IEEE1275 support.
15018 * util/i386/efi/grub-install.in: Removed.
15019 * util/ieee1275/grub-install.in: Likewise.
15020
15021 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15022
15023 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
15024 (grub_cmd_cmosclean): Likewise.
15025 (GRUB_MOD_INIT): Register command cmosclean.
15026 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
15027 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
15028
15029 2010-09-18 Carles Pina i Estany <carles@pina.cat>
15030 2010-09-18 Aleš Nesrsta <starous@volny.cz>
15031 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15032
15033 Add keyboard layouts support.
15034
15035 * Makefile.util.def (grub-mklayout): New file.
15036 (grub-kbdcomp): New script.
15037 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
15038 Add keyboard_layouts.h.
15039 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
15040 commands/boot.c on yeeloong.
15041 (keylayouts): New module.
15042 * grub-core/bus/usb/ohci.c
15043 * grub-core/bus/usb/uhci.c
15044 * grub-core/bus/usb/usbhub.c (rescan): New variable.
15045 (grub_usb_add_hub): Poll interrupt pipe for device handling.
15046 (attach_root_port): Likewise.
15047 (poll_nonroot_hub): Likewise.
15048 (grub_usb_poll_devices): Likewise.
15049 (detach_device): Close transfer.
15050 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
15051 function.
15052 (grub_usb_bulk_setup_readwrite): Likewise.
15053 (grub_usb_bulk_finish_readwrite): Likewise.
15054 * grub-core/commands/keylayouts.c: New file.
15055 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
15056 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
15057 aliases.
15058 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
15059 support scancode 2.
15060 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
15061 * include/grub/keyboard_layouts.h: New file.
15062 * util/grub-mklayout.c: New file.
15063 * util/grub-kbdcomp.in: Likewise.
15064
15065 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15066
15067 Unify memory types.
15068
15069 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
15070 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
15071 types.
15072 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
15073 (grub_upper_mem): Likewise.
15074 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
15075 * include/grub/memory.h (grub_memory_type_t): New enum.
15076 All users updated.
15077
15078 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15079
15080 * grub-core/Makefile.core.def (lsapm): New module.
15081 * grub-core/commands/i386/pc/lsapm.c: New file.
15082 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
15083 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
15084 Likewise.
15085 * include/grub/i386/pc/apm.h: New file.
15086 * include/multiboot.h (multiboot_apm_info): New struct.
15087
15088 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15089
15090 GRUB-legacy configuration file support.
15091
15092 * Makefile.util.def (grub-menulst2cfg): New util.
15093 * docs/man/grub-menulst2cfg.h2m: New file.
15094 * grub-core/Makefile.core.def (legacycfg): New module.
15095 * grub-core/commands/legacycfg.c: New file.
15096 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
15097 (grub_normal_add_menu_entry): ... this.
15098 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
15099 (grub_normal_set_password): ...this.
15100 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
15101 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
15102 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
15103 * grub-core/lib/legacy_parse.c: New file.
15104 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
15105 * include/grub/i386/pc/vesa_modes_table.h: New file.
15106 * include/grub/legacy_parse.h: Likewise.
15107 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
15108 * util/grub-menulst2cfg.c: New file.
15109
15110 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
15111
15112 * grub-core/kern/emu/hostdisk.c
15113 (convert_system_partition_to_system_disk): Initialise node.
15114
15115 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
15116
15117 * grub-core/kern/emu/hostdisk.c
15118 (convert_system_partition_to_system_disk): Fix devmapper memory pool
15119 leak.
15120 Reported and based on patch by: Modestas Vainius.
15121
15122 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
15123
15124 Fix DM-RAID probing with recent versions of device-mapper udev
15125 rules.
15126
15127 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
15128 canonicalise device paths under /dev/mapper/.
15129 (convert_system_partition_to_system_disk): Compare the
15130 uncanonicalised path to /dev/mapper/ rather than the canonicalised
15131 path, since device nodes under /dev/mapper/ are often symlinks.
15132
15133 2010-09-17 Yves Blusseau <blusseau@zetam.org>
15134
15135 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
15136
15137 2010-09-16 Yves Blusseau <blusseau@zetam.org>
15138
15139 * configure.ac: Avoid some annoying error messages if freetype-config
15140 program is not found.
15141
15142 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
15143
15144 Support RAID on virtio devices, and others.
15145
15146 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
15147 Rename to ...
15148 [__MINGW32__] (grub_find_device): ... this.
15149 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
15150 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
15151 reasonable default if dir is NULL.
15152 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
15153 ...
15154 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
15155 (grub_guess_root_device): Update callers.
15156 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
15157
15158 * util/raid.c (grub_util_getdiskname): Remove.
15159 (grub_util_raid_getmembers): Use grub_find_device rather than
15160 grub_util_getdiskname.
15161
15162 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
15163
15164 * docs/grub.texi (serial): Remove obsolete comment about GRUB
15165 needing to be compiled with serial support.
15166 (ls): Indicate that multiple files are accepted.
15167 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
15168 indicate that multiple files are accepted.
15169
15170 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
15171
15172 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
15173 libgrub_a_init.c, and util/bash-completion.d/grub.
15174
15175 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15176
15177 * util/grub-setup.c (setup): Fix incorrect container semantics.
15178
15179 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15180
15181 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
15182 misusage.
15183 Reported by: J. Nick Terry
15184
15185 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15186
15187 Move embedding routines to partmap sources files.
15188
15189 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
15190 [GRUB_UTIL]: New variable.
15191 (gpt_partition_map_iterate): Set part.parent.
15192 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
15193 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
15194 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
15195 New function.
15196 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
15197 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
15198 (grub_partition_map) [GRUB_UTIL]: New field embed.
15199 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
15200 (setup): Use ->embed.
15201
15202 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15203
15204 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
15205 function.
15206 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
15207 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
15208
15209 2010-09-15 Yves Blusseau <blusseau@zetam.org>
15210
15211 Add function to get completions from usage.
15212
15213 * util/bash-completion.d/grub-completion.bash.in: Add function to get
15214 completions from usage. Use LC_ALL=C to get options properly.
15215
15216 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15217
15218 * grub-core/gnulib/basename-lgpl.c: Imported.
15219 * grub-core/gnulib/basename.c: Likewise.
15220 * grub-core/gnulib/dirname-lgpl.c: Likewise.
15221 * grub-core/gnulib/dirname.c: Likewise.
15222 * grub-core/gnulib/dirname.h: Likewise.
15223 * grub-core/gnulib/stripslash.c: Likewise.
15224
15225 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15226
15227 * grub-core/gnulib/error.c: Resynced.
15228 * grub-core/gnulib/getopt.c: Likewise.
15229 * grub-core/gnulib/getopt_int.h: Likewise.
15230 * grub-core/gnulib/regex.h: Likewise.
15231 * grub-core/gnulib/regex_internal.c: Likewise.
15232 * grub-core/gnulib/regex_internal.h: Likewise.
15233
15234 2010-09-15 Szymon Janc <szymon@janc.net.pl>
15235
15236 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
15237 CRC calculations and validity checks.
15238 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
15239 calculations.
15240
15241 2010-09-15 Szymon Janc <szymon@janc.net.pl>
15242
15243 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
15244
15245 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15246
15247 Fix incorrect echo options handling.
15248 Reported by: Yves Blusseau.
15249
15250 * include/grub/command.h (grub_command_flags_t): New flags
15251 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
15252 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
15253 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
15254
15255 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15256
15257 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
15258 users updated.
15259 (GRUB_COMMAND_FLAG_MENU): Likewise.
15260 (GRUB_COMMAND_FLAG_BOTH): Likewise.
15261 (GRUB_COMMAND_FLAG_TITLE): Removed.
15262 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
15263 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
15264 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
15265 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
15266 (grub_command_flags_t): New enum. All users updated.
15267
15268 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
15269
15270 Fix solaris compilation.
15271
15272 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
15273 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
15274 (grub-emu-list): Likewise.
15275
15276 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15277
15278 Remove deprecated root command.
15279
15280 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
15281 updated.
15282
15283 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15284
15285 * util/i386/pc/grub-setup.c: Merge this ...
15286 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
15287 * util/grub-setup.c: ... into this.
15288 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
15289 New struct.
15290
15291 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15292
15293 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
15294 possible.
15295
15296 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15297
15298 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
15299 allocate p.
15300
15301 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15302
15303 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
15304 explicit root argument to set to prevent UUID to be interpreted as
15305 argument to set.
15306
15307 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15308
15309 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
15310
15311 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15312
15313 Don't export grub_gate_a20.
15314
15315 * grub-core/kern/i386/pc/init.c: Remove leftovers.
15316 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
15317 to ...
15318 (grub_gate_a20): ... this. All users updated.
15319 * include/grub/i386/pc/init.h: Removed. All users updated.
15320
15321 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15322
15323 Create euro.pf2 which supports most European languages.
15324
15325 * Makefile.am (grubdata_DATA): Add euro.pf2.
15326 (euro.pf2): New target.
15327 (CLEANFILES): Add euro.pf2.
15328
15329 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15330
15331 * configure.ac: Disable emu-usb by default to prevent inadvertent
15332 device takeover.
15333
15334 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15335
15336 Disable usbserial on grub-emu since our libusb code isn't good enough
15337 yet.
15338
15339 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
15340 (usbserial_pl2303): Likewise.
15341 (usbserial_ftdi): Likewise.
15342
15343 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15344
15345 * include/grub/disk.h (grub_disk): Remove has_partitions.
15346 All users updated.
15347 * disk/loopback.c (grub_loopback): Remove has_partitions.
15348 All users updated.
15349 (options): Remove partitions. All users updated.
15350 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
15351 * util/i386/pc/grub-setup.c (setup): copy partition table only when
15352 actual partition table is found.
15353
15354 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15355
15356 Remove readability checks (too many false negatives).
15357
15358 * util/grub-install.in: Remove readability checks.
15359 * util/grub-mkconfig.in: Likewise.
15360 * util/grub.d/10_hurd.in: Likewise.
15361 * util/grub.d/10_kfreebsd.in: Likewise.
15362 * util/grub.d/10_linux.in: Likewise.
15363 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
15364 way.
15365
15366 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15367
15368 Enable acpi shutdown on all ACPI platforms.
15369
15370 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
15371 on coreboo, multiboot and EFI.
15372 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
15373 (grub_acpi_halt): Likewise.
15374 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
15375 (grub_cmd_halt): Don't call grub_acpi_halt directly.
15376 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
15377 * grub-core/lib/i386/halt.c (grub_halt)
15378 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
15379
15380 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15381
15382 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
15383 context.
15384
15385 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15386
15387 * grub-core/video/efi_gop.c: Fix over-80-chars line.
15388 * grub-core/video/efi_uga.c: Likewise.
15389
15390 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15391
15392 Filter devaliases and never open same device twice.
15393
15394 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
15395 (last_ihandle): Likewise.
15396 (ofdisk_hash_ent): New member shortest.
15397 (ofdisk_hash_add): Add canonical path too.
15398 (scan): New function.
15399 (grub_ofdisk_iterate): Iterate over hashed entries.
15400 (compute_dev_path): Don't add :0.
15401 (grub_ofdisk_open): Don't really open the disk.
15402 (grub_ofdisk_close): Avoid closing unrelated disk.
15403 (grub_ofdisk_read): Implement reopen logic.
15404 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
15405 New function.
15406 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
15407 New proto.
15408
15409 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15410
15411 Fix sparc64.
15412
15413 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
15414 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
15415 right address. Add sparc64_ieee1275_ldflags.
15416 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
15417 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
15418 to grub_host_to_target_addr
15419 (load_image): Likewise.
15420
15421 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15422
15423 * grub-core/normal/completion.c (complete_file): Handle device
15424 containing slash.
15425 Fix based on patch by Doug Nazar.
15426
15427 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15428
15429 grub-mknetdir script.
15430
15431 * Makefile.util.def (grub-mknetdir): New module.
15432 * tests/util/grub-shell.in: Support boot=net
15433 * util/grub-mknetdir.in: New file.
15434
15435 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15436
15437 videoinfo on non-vbe.
15438
15439 * grub-core/Makefile.core.def (vbeinfo): Removed.
15440 (vbetest): Removed.
15441 (videoinfo): New module.
15442 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
15443 * grub-core/commands/i386/pc/vbetest.c: Removed.
15444 * grub-core/commands/videoinfo.c: New file.
15445 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
15446 specification.
15447 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
15448 as vbetest.
15449 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
15450 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
15451 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
15452 mode_number. New parameter mode. All users updated.
15453 (grub_video_gop_iterate): New function.
15454 (grub_video_efi_gop): New member iterate.
15455 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
15456 (grub_vbe_set_video_mode): Remove setting useless fields.
15457 (vbe2videoinfo): New function.
15458 (grub_video_vbe_iterate): Likewise.
15459 (grub_video_vbe_setup): Use vbe2videoinfo.
15460 (grub_video_vbe_print_adapter_specific_info): New function.
15461 (grub_video_vbe_adapter): New fields iterate and
15462 print_adapter_specific_info.
15463 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
15464 All users updated.
15465 (grub_video_mode_info): New field mode_number.
15466 (grub_video_adapter): New fields iterate and
15467 print_adapter_specific_info.
15468
15469 2010-09-13 Tristan Gingold <gingold@free.fr>
15470 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
15471 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15472
15473 * grub-core/commands/efi/lsefisystab.c: New file.
15474 * grub-core/commands/efi/lssal.c: Likewise.
15475 * grub-core/Makefile.core.def (lsacpi): New module.
15476 (lsefisystab): Likewise.
15477 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
15478 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
15479 (grub_efi_sal_system_table): New struct.
15480 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
15481 (grub_efi_sal_system_table_memory_descriptor): Likewise.
15482 (grub_efi_sal_system_table_platform_features): Likewise.
15483 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
15484 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
15485 (grub_efi_sal_system_table_ap_wakeup): Likewise.
15486 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
15487
15488 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15489
15490 Support explicit user claim that a device is BIOS-visible.
15491
15492 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
15493 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
15494 * grub-core/kern/emu/hostdisk.c
15495 (convert_system_partition_to_system_disk): Support mdX.
15496 (find_system_device): New parameter add. All users updated.
15497 (grub_util_biosdisk_is_present): New function.
15498 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
15499 proto.
15500
15501 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15502
15503 Search hints support.
15504
15505 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
15506 All users updated.
15507
15508 2010-09-13 Yves Blusseau <blusseau@zetam.org>
15509
15510 Bash completion script for util commands
15511
15512 * Makefile.am: Add util/bash-completion.d directory
15513 * configure.ac: Likewise.
15514 * util/bash-completion.d/Makefile.am: New file.
15515 * util/bash-completion.d/grub-completion.bash.in: Likewise.
15516
15517 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15518
15519 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
15520 (print_backlog): set backlog_ucs4 and backlog_glyphs.
15521 Reported by: Yves Blusseau.
15522
15523 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15524
15525 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
15526 partition size and offset.
15527
15528 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15529
15530 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
15531
15532 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15533
15534 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
15535
15536 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15537
15538 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
15539 (grub_xvasprintf): Likewise.
15540
15541 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15542
15543 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
15544
15545 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15546
15547 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
15548 args ending with NULL.
15549
15550 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15551
15552 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
15553 pointer.
15554
15555 2010-09-11 Szymon Janc <szymon@janc.net.pl>
15556
15557 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
15558
15559 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15560
15561 Shutdown using ACPI.
15562
15563 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
15564 * grub-core/commands/acpihalt.c: New file.
15565 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
15566 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
15567 (grub_acpi_halt): New proto.
15568 (GRUB_ACPI_SLP_EN): New const.
15569 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
15570 (GRUB_ACPI_OPCODE_*): New enum.
15571 (GRUB_ACPI_EXTOPCODE_*): Likewise.
15572
15573 2010-09-11 Tristan Gingold <gingold@free.fr>
15574 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
15575 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15576
15577 * commands/lsacpi.c: New file.
15578 * grub-core/Makefile.core.def (lsacpi): New module.
15579 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
15580 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
15581 (grub_acpi_madt_entry_header): New struct.
15582 (grub_acpi_madt): Likewise.
15583 (grub_acpi_madt_entry_interrupt_override): Likewise.
15584 (grub_acpi_madt_entry_sapic): Likewise.
15585 (grub_acpi_madt_entry_lsapic): Likewise.
15586 (grub_acpi_madt_entry_platform_int_source): Likewise.
15587 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
15588 (PRIuGRUB_UINT32_T): Likewise.
15589 (PRIxGRUB_UINT64_T): Likewise.
15590
15591 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15592
15593 Implement loading palette on ieee1275_fb.
15594
15595 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
15596 (have_setcolors): Likewise.
15597 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
15598 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
15599 (grub_video_ieee1275_set_palette): Implement.
15600
15601 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15602 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
15603
15604 * util/grub-install.in (grub_partition): New variable.
15605 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
15606 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
15607 Fixes a bug reported by Yves Blusseau.
15608
15609 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15610
15611 Fix emu on mipsel.
15612
15613 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
15614 =grub_cpu_flush_cache on all mips and not only yeeloong.
15615 * configure.ac (COND_mips): New conditional.
15616 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
15617 platforms.
15618 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
15619 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
15620 [GRUB_LINKER_HAVE_INIT]: New function.
15621 (grub_emu_post_init): Likewise.
15622 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
15623 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
15624 * include/grub/cache.h (_mips): Include mips/cache.h.
15625 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
15626 LVM and RAID prototypes.
15627 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
15628 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
15629 function.
15630
15631 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
15632
15633 * util/grub-install.in: Don't try to verify core.img until after
15634 running grub-mkimage to create it.
15635
15636 2010-09-10 Robert Millan <rmh@gnu.org>
15637
15638 * util/grub.d/10_hurd.in: Add misc readability checks.
15639 * util/grub.d/10_kfreebsd.in: Likewise.
15640 * util/grub.d/10_linux.in: Likewise.
15641
15642 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
15643
15644 * util/grub-install.in: ${imgext} won't be defined here until the
15645 install branch is merged. For the meantime, only verify core.img on
15646 i386-pc and sparc64-ieee1275 platforms.
15647
15648 2010-09-10 Robert Millan <rmh@gnu.org>
15649
15650 Solaris support in grub_find_zpool_from_dir(). Thanks
15651 Seth Goldberg for referring to getextmntent() facility.
15652
15653 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
15654 `sys/mkdev.h'.
15655 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
15656 `<sys/mnttab.h>'.
15657 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
15658 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
15659 method for finding zpool name.
15660
15661 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
15662
15663 grub-fstest needs the host and hostfs modules while other utilities
15664 actively require those modules to be absent, so grub-fstest needs
15665 its own initialisation and finalisation code.
15666
15667 * Makefile.am (grub_fstest.pp): New target.
15668 (grub_fstest_init.lst): Likewise.
15669 (grub_fstest_init.c): Likewise.
15670 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
15671
15672 2010-09-10 Robert Millan <rmh@gnu.org>
15673
15674 * configure.ac: Check for `struct statfs.f_fstypename' and
15675 `struct statfs.f_mntfromname'.
15676
15677 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
15678 kFreeBSD-specific code.
15679
15680 2010-09-10 Robert Millan <rmh@gnu.org>
15681
15682 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
15683 on ZFS. Now non-main filesystems are supported as / too.
15684
15685 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
15686
15687 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
15688 and grub-core/disk/host.c to ...
15689 (grub-fstest): ... here. Having the host disk implementation
15690 present confuses grub-probe and other utility programs.
15691
15692 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
15693 when writing to a file, not when writing to stdout.
15694
15695 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
15696
15697 * tests/partmap_test.in: New test for partitions.
15698 * Makefile.util.def: Rules for new test.
15699
15700 2010-09-09 Robert Millan <rmh@gnu.org>
15701
15702 * util/grub-probe.c (probe): Fix a pair of unhandled error
15703 conditions.
15704
15705 2010-09-09 Robert Millan <rmh@gnu.org>
15706
15707 Basic Btrfs support (detection and UUID).
15708
15709 * grub-core/fs/btrfs.c: New file.
15710 * Makefile.util.def (library): Register btrfs.c.
15711 * grub-core/Makefile.core.def: Likewise.
15712
15713 2010-09-08 Robert Millan <rmh@gnu.org>
15714
15715 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
15716 with (optional) parameters to specify device and relative path.
15717 * util/grub-install.in: Use is_path_readable_by_grub() to
15718 verify readability of a few critical files.
15719 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
15720 verify readability of grub.cfg.new.
15721
15722 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15723
15724 Split minix.mod into minix.mod and minix2.mod.
15725
15726 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
15727 * grub-core/Makefile.core.def (minix2): New module.
15728 * grub-core/fs/minix.c: Use definitions instead of runtime version
15729 checking.
15730 * grub-core/fs/minix2.c: New file.
15731
15732 2010-09-08 Yves Blusseau <blusseau@zetam.org>
15733
15734 Add new --boot-directory option to replace --root-directory
15735
15736 * util/grub-install.in: Add new --boot-directory option
15737 * util/grub-reboot.in: Likewise.
15738 * util/grub-set-default.in: Likewise.
15739
15740 2010-09-08 Yves Blusseau <blusseau@zetam.org>
15741
15742 * util/grub-mkconfig.in: Use new variable.
15743
15744 2010-09-08 Yves Blusseau <blusseau@zetam.org>
15745
15746 * configure.ac: Define some useful variables.
15747
15748 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15749
15750 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15751 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
15752 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
15753 Use terminfo and don't use cursor-on/cursor-off unless it's known
15754 to work.
15755 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
15756 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
15757
15758 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
15759
15760 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
15761 starts with "(,", fill the drive containing the loaded image in
15762 between those two characters, but expect that a full partition
15763 specification including partition map names will follow.
15764
15765 2010-09-08 Robert Millan <rmh@gnu.org>
15766
15767 * configure.ac: Remove `--enable-grub-fstest' option.
15768 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
15769
15770 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
15771 `grub-fstest' instead of `grub-probe' for readability verification.
15772 * util/grub-probe.c (probe): Remove readability verification kludge.
15773
15774 2010-09-08 Robert Millan <rmh@gnu.org>
15775
15776 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
15777 initializing `GRUB_FS'.
15778
15779 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
15780
15781 Not command (!) support to GRUB script.
15782
15783 * tests/grub_script_not.in: New test.
15784 * Makefile.util.def: Rules for new test.
15785
15786 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
15787 ! command as a special case.
15788 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
15789
15790 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15791
15792 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
15793 grub_free.
15794
15795 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15796
15797 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
15798
15799 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15800
15801 * docs/grub.texi (Shell-like scripting): Documentation for break,
15802 continue, shift and return commands.
15803
15804 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
15805
15806 Rename CD-ROM to cd on BIOS.
15807
15808 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
15809 "cd".
15810 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
15811
15812 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15813
15814 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
15815 * util/grub-probe.c (main): Likewise.
15816 * util/i386/pc/grub-setup.c (main): Likewise.
15817 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
15818 Reported and debugged by: alexxy
15819
15820 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15821
15822 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
15823 diagnostic info.
15824
15825 2010-09-05 Jo Shields <directhex@apebox.org>
15826
15827 * util/grub.d/30_os-prober.in: Add missing classes.
15828
15829 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15830
15831 * docs/grub.texi (Theme file format): Document new position format.
15832
15833 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15834
15835 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
15836 a table. Use @code instead of @verbatim.
15837
15838 2010-09-05 Colin D Bennett <colin@gibibit.com>
15839
15840 Gfxmenu documentation.
15841
15842 * docs/grub.texi (Theme file format): New chapter.
15843
15844 2010-09-05 Szymon Janc <szymon@janc.net.pl>
15845
15846 * grub-core/Makefile.core.def (xzio): New module.
15847 * grub-core/io/xzio.c: New file.
15848 * grub-core/lib/xzembed/xz.h: New file (from xembed).
15849 * grub-core/lib/xzembed/xz_config.h: Likewise.
15850 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
15851 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
15852 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
15853 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
15854 * grub-core/lib/xzembed/xz_private.h: Likewise.
15855 * grub-core/lib/xzembed/xz_stream.h: Likewise.
15856 * include/grub/file.h (grub_file_filter_id): New compression filter
15857 GRUB_FILE_FILTER_XZIO.
15858
15859 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15860
15861 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
15862 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
15863 size.
15864
15865 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15866
15867 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
15868 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
15869
15870 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15871
15872 Uncompressed checksum support.
15873
15874 * grub-core/commands/hashsum.c (options): Add option --uncompress.
15875 (check_list): New parameter uncompress.
15876 (grub_cmd_hashsum): Handle --uncompress.
15877
15878 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15879
15880 Reintroduce testload.
15881
15882 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
15883 from here ...
15884 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
15885 (GRUB_MOD_INIT): New function.
15886 (GRUB_MOD_FINI): Likewise.
15887 * grub-core/Makefile.core.def (testload): New module.
15888
15889 2010-09-05 Szymon Janc <szymon@janc.net.pl>
15890
15891 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
15892 (uint8_t): New type.
15893 (uint16_t): Likewise.
15894 (uint32_t): Likewise.
15895 (uint64_t): Likewise.
15896
15897 2010-09-05 Szymon Janc <szymon@janc.net.pl>
15898
15899 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
15900
15901 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15902
15903 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
15904 Made static.
15905 (grub_gzfile_open): Removed. All users updated.
15906 (GRUB_MOD_INIT): New function.
15907 (GRUB_MOD_FINI): Likewise.
15908 * grub-core/kern/file.c (grub_file_filters_all): New variable.
15909 (grub_file_filters_enabled): Likewise.
15910 (grub_file_open): Handle filters.
15911 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
15912 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
15913 * include/grub/file.h (grub_file_filter_id_t): New type.
15914 (grub_file_filter_t): Likewise.
15915 (grub_file_filters_all): New extern variable.
15916 (grub_file_filters_enabled): Likewise.
15917 (grub_file_filter_register): New inline function.
15918 (grub_file_filter_unregister): Likewise.
15919 (grub_file_filter_disable): Likewise.
15920 (grub_file_filter_disable_compression): Likewise.
15921 * include/grub/gzio.h: Removed.
15922
15923 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15924
15925 Filename expansion support for wildcards in GRUB script.
15926
15927 * tests/grub_script_expansion.in: New test.
15928 * Makefile.util.def: Rule for new test.
15929
15930 * grub-core/commands/wildcard.c: New file, implements filename
15931 expansion support for GRUB script.
15932 * grub-core/Makefile.core.def: Rule update for regexp.mod.
15933 * grub-core/script/argv.c: Cosmetic changes.
15934 * grub-core/script/execute.c (grub_script_arglist_to_argv):
15935 Refactored to perform wildcard expansion on arguments.
15936 * include/grub/script_sh.h (grub_script_wildcard_translator): New
15937 struct.
15938
15939 * tests/util/grub-shell.in: Fix quoting for read input.
15940
15941 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15942
15943 Support for updating environment variables with matched substrings
15944 of regexp.
15945
15946 * tests/grub_cmd_regexp.in: New test.
15947 * Makefile.util.def: Rule for new test.
15948
15949 * grub-core/commands/regexp.c: New option -s to update environment
15950 variables with regexp matches.
15951
15952 2010-09-04 Szymon Janc <szymon@janc.net.pl>
15953
15954 * include/grub/file.h (grub_file): New member not_easly_seekable.
15955 (grub_file_seekable): New inline function.
15956 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
15957 easily seekable.
15958 (grub_gzio_open): Set not_easly_seekable.
15959 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
15960 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
15961
15962 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15963
15964 Support for options to appear multiple times on cmdline.
15965
15966 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
15967 * grub-core/commands/extcmd.c: Support for repeatable option.
15968 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
15969 repeatable option support.
15970
15971 Refactor menuentry into a regular command.
15972
15973 * grub-core/commands/menuentry.c: New file, menuentry command
15974 implementation.
15975 * grub-core/Makefile.core.def: Rule update for normal.mod.
15976 * grub-core/normal/main.c: Moved menuentry creation to
15977 grub-core/commands/menuentry.c.
15978 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
15979 (grub_menu_execute_entry_real): Removed.
15980 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
15981 function.
15982 (grub_script_execute_menuentry): Removed.
15983 * grub-core/script/parser.y (menuentry): Removed.
15984 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
15985 * grub-core/script/yylex.l (menuentry): Removed.
15986 * include/grub/menu.h (grub_menu_init): New prototype.
15987 (grub_menu_fini): New prototype.
15988 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
15989 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
15990 (grub_script_execute_sourcecode): New prototype.
15991
15992 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
15993
15994 "return" command for GRUB script functions.
15995
15996 * tests/grub_script_return.in: New test.
15997 * Makefile.util.def: Rules for new test.
15998
15999 * grub-core/script/execute.c (grub_script_return): New function.
16000 * grub-core/script/main.c: Register/unregister return commaond.
16001 * include/grub/script_sh.h (grub_script_return): New prototype.
16002
16003 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16004
16005 "setparams" command to update positional parameters.
16006
16007 * tests/grub_script_setparams.in: New test.
16008 * Makefile.util.def: Rules for new test.
16009
16010 * grub-core/script/argv.c (grub_script_argv_make): New function.
16011 * grub-core/script/execute.c (replace_scope): New function.
16012 (grub_script_setparams): New function.
16013 * grub-core/script/lexer.c: Remove unused variables.
16014 * grub-core/script/main.c: Register/unregister setparams command.
16015 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
16016 (grub_script_setparams): New prototype.
16017
16018 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16019
16020 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
16021 grub_free order.
16022
16023 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16024
16025 Support for passing block of commands as an argument to extcmds.
16026
16027 * Makefile.util.def: Rules for new test.
16028 * tests/grub_script_blockarg.in: New test.
16029 * grub-core/tests/test_blockarg.c: New file, block argument
16030 command used in the test.
16031
16032 * include/grub/extcmd.h (grub_extcmd_context): New struct.
16033 (grub_register_extcmd_prio): New function prototype.
16034 (grub_extcmd_dispatcher): New function prototype.
16035 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
16036 type.
16037 * include/grub/script_sh.h (struct grub_script): New members
16038 `children', `next_siblings' and `refcnt' for block arguments and
16039 reference counting.
16040 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
16041 (grub_script_arg): New member `script' for block argument.
16042 (grub_script_argv): New member `script' for block argument.
16043 (grub_parser_param): New member `scripts' for block argument.
16044 (grub_script_mem_free): New extern function prototype.
16045 (grub_script_ref): New function prototype.
16046 (grub_script_unref): New function prototype.
16047
16048 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
16049 extcmd form to support block arguments.
16050 * grub-core/script/argv.c: Block arguments support.
16051 * grub-core/script/execute.c: Likewise.
16052 * grub-core/script/lexer.c: Likewise.
16053 * grub-core/script/main.c: Likewise.
16054 * grub-core/script/script.c: Likewise.
16055 * grub-core/script/parser.y: Likewise. New `block' and `block0'
16056 non-terminals.
16057
16058 * grub-core/commands/acpi.c: Update extcmd implementations with
16059 grub_extcmd_context_t.
16060 * grub-core/commands/cat.c: Likewise.
16061 * grub-core/commands/echo.c: Likewise.
16062 * grub-core/commands/extcmd.c: Likewise.
16063 * grub-core/commands/hashsum.c: Likewise.
16064 * grub-core/commands/hdparm.c: Likewise.
16065 * grub-core/commands/help.c: Likewise.
16066 * grub-core/commands/hexdump.c: Likewise.
16067 * grub-core/commands/i386/cpuid.c: Likewise.
16068 * grub-core/commands/i386/pc/drivemap.c: Likewise.
16069 * grub-core/commands/i386/pc/halt.c: Likewise.
16070 * grub-core/commands/i386/pc/sendkey.c: Likewise.
16071 * grub-core/commands/iorw.c: Likewise.
16072 * grub-core/commands/keystatus.c: Likewise.
16073 * grub-core/commands/loadenv.c: Likewise.
16074 * grub-core/commands/ls.c: Likewise.
16075 * grub-core/commands/lspci.c: Likewise.
16076 * grub-core/commands/memrw.c: Likewise.
16077 * grub-core/commands/probe.c: Likewise.
16078 * grub-core/commands/search_wrap.c: Likewise.
16079 * grub-core/commands/setpci.c: Likewise.
16080 * grub-core/commands/sleep.c: Likewise.
16081 * grub-core/disk/loopback.c: Likewise.
16082 * grub-core/hello/hello.c: Likewise.
16083 * grub-core/loader/i386/bsd.c: Likewise.
16084 * grub-core/loader/xnu.c: Likewise.
16085 * grub-core/term/gfxterm.c: Likewise.
16086 * grub-core/term/serial.c: Likewise.
16087 * grub-core/tests/lib/functional_test.c: Likewise.
16088
16089 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16090
16091 Multi-line quoted strings support.
16092
16093 * grub-core/script/lexer.c (append_newline): Removed.
16094 (grub_script_lexer_yywrap): Refactored.
16095 (grub_script_lexer_init): Refactored.
16096 * grub-core/script/yylex.l (yywrap): New function.
16097 (grub_lexer_resplit): New function.
16098 (grub_lexer_unput): New function.
16099 * include/grub/script_sh.h (grub_lexer_param): New members, unput
16100 and resplit.
16101 * tests/grub_script_echo1.in: Added few more testcases.
16102
16103 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
16104
16105 * grub-core/kern/misc.c: Don't add abort alias in utils.
16106 Reported by: echoline.
16107
16108 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
16109
16110 Add missing files into "make dist" tarball for other platforms.
16111
16112 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
16113 * conf/Makefile.common (dist_noinst_DATA): New variable.
16114 * conf/Makefile.extra-dist: Added missing make dist files.
16115 * grub-core/Makefile.core.def: Likewise.
16116
16117 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16118
16119 Compress grub_prefix.
16120
16121 * grub-core/boot/i386/pc/lnxboot.S: Use
16122 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
16123 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
16124 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
16125 GRUB_MACHINE_PREFIX_END. All users updated.
16126 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
16127 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
16128 + 0x40.
16129 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
16130 * util/grub-mkimage.c (image_target_desc): Change data_end to
16131 prefix_end. All users updated.
16132
16133 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16134
16135 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
16136 value.
16137 (grub_openbsd_boot): Likewise.
16138 (grub_netbsd_boot): Likewise.
16139 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
16140 (grub_xnu_boot): Likewise.
16141
16142 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16143
16144 * configure.ac: Clean LIBS variable after tests.
16145
16146 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
16147
16148 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
16149
16150 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16151
16152 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
16153 echo if libdevmapper will be used.
16154
16155 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
16156
16157 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
16158 constant for the same file.
16159
16160 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16161
16162 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
16163
16164 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
16165
16166 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
16167 grub-core/*.pp.
16168
16169 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
16170
16171 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
16172 required by the boot protocol.
16173
16174 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
16175 ebp and edi members.
16176 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
16177 state.ebp and state.edi.
16178 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
16179 %ebp and %edi according to grub_relocator32_ebp and
16180 grub_relocator32_edi respectively.
16181 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
16182 and state.edi.
16183
16184 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16185
16186 Add i386-pc-pxe image target.
16187
16188 * util/grub-mkimage.c (image_target_desc): New enum value
16189 IMAGE_I386_PC_PXE.
16190 (image_targets): New target i386-pc-pxe.
16191 (generate_image): Handle i386-pc-pxe image.
16192
16193 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16194
16195 Fix grub_pxe_scan.
16196
16197 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
16198 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
16199 All users updated.
16200 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
16201 (grub_pxe_pxenv): Correct type.
16202
16203 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
16204
16205 * NEWS: Document most of the important changes since 1.98.
16206
16207 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
16208
16209 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
16210 generated manual page) a little.
16211
16212 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
16213
16214 * docs/grub.texi: Add myself as an author.
16215
16216 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
16217
16218 * Makefile.util.def (libgrub.a): Add missing sunpc.
16219 Reported by: Seth Goldberg.
16220
16221 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16222
16223 Interrupt wrapping and code simplifications.
16224
16225 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
16226 x86_noieee1275 which are functionaly equivalent in this case.
16227 (grub-install): Make source on each platform explicit. Enable on
16228 all noemu.
16229 * gentpl.py (x86_efi_pc): Removed group.
16230 (x86_noefi): Likewise.
16231 (i386_noefi): Likewise.
16232 (x86_noieee1275): Likewise.
16233 (i386_noieee1275): Likewise.
16234 (i386_noefi_noieee1275): Likewise.
16235 (i386_pc_qemu_coreboot): Likewise.
16236 (i386_coreboot_multiboot): Likewise.
16237 (i386_pc_coreboot_multiboot_qemu): Likewise.
16238 (x86_noefi_mips): Likewise.
16239 (noieee1275): Likewise.
16240 (ieee1275_mips): Likewise.
16241 (noemu_noieee1275): Likewise.
16242 (cmos): New group.
16243 (usb): Likewise.
16244 (videoinkernel): Likewise.
16245 (videomodules): Likewise.
16246 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
16247 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
16248 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
16249 include/grub/loader.h, include/grub/msdos_partition.h,
16250 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
16251 include/grub/machine/console.h, include/grub/machine/vga.h,
16252 include/grub/machine/vbe.h, include/grub/machine/init.h,
16253 include/grub/machine/kernel.h, include/grub/cpu/time.h,
16254 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
16255 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
16256 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
16257 * grub-core/Makefile.core.def (kernel): Explicit the source for
16258 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
16259 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
16260 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
16261 Use videoinkernel tag.
16262 (usb): Enable on all usb.
16263 (usbserial_common): Likewise.
16264 (usbserial_pl2303): Likewise.
16265 (usbserial_ftdi): Likewise.
16266 (uhci): Enable on all x86.
16267 (ohci): Enable on all pci.
16268 (cmostest): Enable on all CMOS.
16269 (acpi): Include commands/acpi.c on all platforms.
16270 (halt): Add relevant lib/*/halt.c.
16271 (hdparm): Enable on all pci.
16272 (lspci): Likewise.
16273 (usbtest): Enable on all usb.
16274 (ata): Enable on all pci.
16275 (ata_pthru): Likewise.
16276 (usbms): Enable on all usb.
16277 (usb_keyboard): Likewise.
16278 (font): Use tag videomodules.
16279 (bufio): Likewise.
16280 (datetime): Use tag cmos. Enable on all noemu.
16281 (mmap): Use tags common and x86.
16282 (gfxterm): Use tag videomodules.
16283 (bitmap): Likewise.
16284 (bitmap_scale): Likewise.
16285 (video_fb): Likewise.
16286 (video): Likewise.
16287 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
16288 adjust padding accordingly. All users updated.
16289 (grub_ohci_transaction): Fix bad format specification.
16290 (GRUB_MOD_INIT): Add asserts for struct size.
16291 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
16292 (grub_alloc_td): Likewise.
16293 (grub_free_queue): Likewise.
16294 (grub_uhci_transfer): Likewise.
16295 (grub_uhci_transaction): Fix bad format specification.
16296 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
16297 (grub_usb_bulk_readwrite): Likewise.
16298 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
16299 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
16300 Made static.
16301 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
16302 Made static.
16303 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
16304 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
16305 Transformed into C.
16306 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
16307 Moved from here ...
16308 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
16309 ... here. Transformed into C. Made static.
16310 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
16311 Moved from here ...
16312 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
16313 ... here. Transformed into C. Made static.
16314 * grub-core/kern/i386/pc/startup.S
16315 (grub_biosdisk_check_int13_extensions): Moved from here ...
16316 * grub-core/disk/i386/pc/biosdisk.c
16317 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
16318 Made static.
16319 * grub-core/kern/i386/pc/startup.S
16320 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
16321 * grub-core/disk/i386/pc/biosdisk.c
16322 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
16323 Transformed into C. Made static.
16324 * grub-core/kern/i386/pc/startup.S
16325 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
16326 * grub-core/disk/i386/pc/biosdisk.c
16327 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
16328 Transformed into C. Made static.
16329 * grub-core/kern/i386/pc/startup.S
16330 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
16331 * grub-core/disk/i386/pc/biosdisk.c
16332 (grub_biosdisk_get_diskinfo_standard): ... here.
16333 Transformed into C. Made static.
16334 * grub-core/kern/i386/pc/startup.S
16335 (grub_biosdisk_get_num_floppies): Moved from here ...
16336 * grub-core/disk/i386/pc/biosdisk.c
16337 (grub_biosdisk_get_num_floppies): ... here.
16338 Transformed into C. Made static.
16339 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
16340 New function.
16341 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
16342 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
16343 Transformed into C. Made static.
16344 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
16345 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
16346 Transformed into C. Made static.
16347 * grub-core/kern/i386/ieee1275/init.c: Removed.
16348 * grub-core/kern/i386/misc.S: Likewise.
16349 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
16350 Splitted from here ...
16351 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
16352 Transformed into C. Made static. All users updated.
16353 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
16354 Transformed into C. Made static. All users updated.
16355 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
16356 Moved from here...
16357 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
16358 Transformed into C. Made static. All users updated.
16359 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
16360 Moved from here...
16361 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
16362 Transformed into C. Made static. All users updated.
16363 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
16364 Removed (replaced by C version).
16365 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
16366 Moved from here...
16367 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
16368 Transformed into C. Made static.
16369 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
16370 Moved from here...
16371 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
16372 ... here. Transformed into C.
16373 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
16374 Moved from here...
16375 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
16376 ... here. Transformed into C.
16377 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
16378 Moved from here...
16379 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
16380 ... here. Transformed into C. Made static.
16381 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
16382 Moved from here...
16383 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
16384 ... here. Transformed into C.
16385 * grub-core/kern/i386/pc/startup.S
16386 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
16387 * grub-core/video/i386/pc/vbe.c
16388 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
16389 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
16390 Moved from here...
16391 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
16392 ... here. Transformed into C.
16393 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
16394 Moved from here...
16395 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
16396 ... here. Transformed into C.
16397 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
16398 Moved from here...
16399 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
16400 ... here. Transformed into C.
16401 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
16402 Moved from here...
16403 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
16404 ... here. Transformed into C.
16405 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
16406 Moved from here...
16407 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
16408 ... here. Transformed into C. Made static.
16409 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
16410 Moved from here...
16411 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
16412 ... here. Transformed into C. Made static.
16413 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
16414 Moved from here...
16415 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
16416 ... here. Transformed into C. Made static.
16417 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
16418 pxe_rm_entry as third argument.
16419 (grub_bios_interrupt): New function.
16420 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
16421 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
16422 of calling grub_stop.
16423 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
16424 * grub-core/lib/efi/halt.c (grub_halt): ...here.
16425 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
16426 * grub-core/lib/emu/halt.c (grub_halt): ... here.
16427 * grub-core/lib/i386/halt.c: Moved from here ...
16428 * grub-core/lib/i386/halt.c: ... here.
16429 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
16430 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
16431 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
16432 grub_stop_floppy.
16433 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
16434 * include/grub/i386/coreboot/init.h: Removed.
16435 * include/grub/i386/multiboot/init.h: Likewise.
16436 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
16437 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
16438 * include/grub/i386/pc/int.h: New file.
16439 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
16440 (grub_pxe_scan): Removed.
16441 (grub_pxe_call): Update prototype.
16442 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
16443 prototypes.
16444 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
16445 * include/grub/i386/qemu/init.h: Removed.
16446 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
16447 noreturn.
16448 (grub_halt): Likewise.
16449 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
16450 (grub_reboot): Likewise.
16451 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
16452 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
16453 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
16454
16455 2010-08-30 Robert Millan <rmh@gnu.org>
16456
16457 * NEWS: Document addition of ZFS support in `grub-install' and
16458 `grub-mkconfig'.
16459
16460 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
16461
16462 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
16463 dprintf output.
16464
16465 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16466
16467 Remove leftover embedding of font objects.
16468
16469 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16470 * util/grub-install.in (font): Removed.
16471 * util/grub-mkimage.c (generate_image): Remove font support. All users
16472 updated.
16473
16474 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16475
16476 Remove leftover embedding of font objects.
16477
16478 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16479 * util/grub-install.in (font): Removed.
16480 * util/grub-mkimage.c (generate_image): Remove font support. All users
16481 updated.
16482
16483 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16484
16485 * docs/grub.texi (Network): Fix reference to pxe_blksize.
16486 Reported by: Ian Turner
16487
16488 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16489
16490 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
16491 timeout to avoid indefinite boot stalling.
16492
16493 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16494
16495 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
16496 (grub_env_write_color_highlight): Likewise.
16497
16498 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16499
16500 * grub-core/normal/term.c (print_more): Return to normal and not
16501 to standard state after printing "---MORE---".
16502
16503 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16504
16505 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
16506 Mask out the bit 0x80 since it has other meaning that specifiing color.
16507
16508 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16509
16510 New relocator. Allows for more kernel support and more straightforward
16511 loader writing.
16512
16513 * Makefile.am (BOOTTARGET): New variable.
16514 (QEMU32): Likewise.
16515 (linux.init.x86_64): New target.
16516 (linux.init.i386): Likewise.
16517 (multiboot.elf): Likewise.
16518 (kfreebsd.elf): Likewise.
16519 (kfreebsd.aout): Likewise.
16520 (pc-chainloader.elf): Likewise.
16521 (pc-chainloader.bin): Likewise.
16522 (ntldr.elf): Likewise.
16523 (ntldr.bin): Likewise.
16524 (multiboot2.elf): Likewise.
16525 (kfreebsd.init.x86_64): Likewise.
16526 (kfreebsd.init.i386): Likewise.
16527 (knetbsd.init.i386): Likewise.
16528 (kopenbsd.init.i386): Likewise.
16529 (knetbsd.init.x86_64): Likewise.
16530 (kopenbsd.init.x86_64): Likewise.
16531 (linux-initramfs.i386): Likewise.
16532 (linux-initramfs.x86_64): Likewise.
16533 (kfreebsd-mfsroot.i386.img): Likewise.
16534 (knetbsd.image.i386): Likewise.
16535 (kopenbsd.image.i386): Likewise.
16536 (kopenbsd.image.x86_64): Likewise.
16537 (knetbsd.miniroot-image.i386.img): Likewise.
16538 (kfreebsd-mfsroot.x86_64.img): Likewise.
16539 (knetbsd.image.x86_64): Likewise.
16540 (knetbsd.miniroot-image.x86_64.img): Likewise.
16541 (kfreebsd-mfsroot.i386.gz): Likewise.
16542 (bootcheck-kfreebsd-i386): Likewise.
16543 (kfreebsd-mfsroot.x86_64.gz): Likewise.
16544 (bootcheck-kfreebsd-x86_64): Likewise.
16545 (knetbsd.miniroot-image.i386.gz): Likewise.
16546 (bootcheck-knetbsd-i386): Likewise.
16547 (bootcheck-kopenbsd-i386): Likewise.
16548 (bootcheck-kopenbsd-x86_64): Likewise.
16549 (knetbsd.miniroot-image.x86_64.gz): Likewise.
16550 (bootcheck-knetbsd-x86_64): Likewise.
16551 (bootcheck-linux-i386): Likewise.
16552 (bootcheck-linux-x86_64): Likewise.
16553 (bootcheck-linux16-i386): Likewise.
16554 (bootcheck-linux16-x86_64): Likewise.
16555 (bootcheck-multiboot): Likewise.
16556 (bootcheck-multiboot2): Likewise.
16557 (bootcheck-kfreebsd-aout): Likewise.
16558 (bootcheck-pc-chainloader): Likewise.
16559 (bootcheck-ntldr): Likewise.
16560 (CLEANFILES): Add new targets.
16561 (BOOTCHECKS): New variable.
16562 (.PHONY): Add bootchecks.
16563 (SUCCESSFUL_BOOT_STRING): New variable.
16564 (BOOTCHECK_TIMEOUT): Likewise.
16565 (bootcheck): New target
16566 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
16567 * configure.ac: Correct efiemu excuse.
16568 * docs/grub.texi (Supported kernels): New chapter.
16569 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
16570 include/grub/mm_private.h. Simplify inclusion of
16571 include/grub/boot.h, include/grub/loader.h
16572 and include/grub/msdos_partition.h
16573 (KERNEL_HEADER_FILES) [i386_coreboot]:
16574 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
16575 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
16576 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
16577 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
16578 include/grub/machine/loader.h.
16579 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
16580 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
16581 extra_dist.
16582 (pci.mod): Enable on i386-multiboot.
16583 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
16584 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
16585 i386-qemu.
16586 (relocator.mod): Rewritten.
16587 (aout.mod): Enable on all x86.
16588 (bsd.mod): Likewise.
16589 (ntldr.mod): New module.
16590 (linux.mod): Use loader/i386/linux.c on all x86.
16591 (xnu.mod): Enable on all x86.
16592 (vga_text.mod): disable on EFI and QEMU.
16593 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
16594 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
16595 * grub-core/efiemu/loadcore.c: Likewise.
16596 * grub-core/efiemu/main.c: Likewise.
16597 (grub_efiemu_exit_boot_services): Removed.
16598 (grub_efiemu_finish_boot_services): Likewise.
16599 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
16600 function.
16601 * grub-core/efiemu/i386/nocfgtables.c: New file.
16602 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
16603 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
16604 (grub_efi_finish_boot_services): Moved from here ...
16605 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
16606 Fille finish memory map and related data.
16607 (finish_mmap_buf): New variable.
16608 (grub_efi_uintn_t finish_mmap_size): Likewise.
16609 (grub_efi_uintn_t finish_key): Likewise.
16610 (grub_efi_uintn_t finish_desc_size): Likewise.
16611 (grub_efi_uint32_t finish_desc_version): Likewise.
16612 (grub_efi_is_finished): Likewise.
16613 (grub_efi_get_memory_map): Use saved memory map if EFI is already
16614 finished.
16615 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
16616 (grub_elf64_phdr_iterate): Likewise.
16617 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
16618 (grub_os_area_size): Likewise.
16619 (grub_machine_init): Don't reserve os area.
16620 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
16621 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
16622 * grub-core/kern/i386/loader.S: Removed.
16623 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
16624 (grub_os_area_size): Likewise.
16625 (grub_machine_init): Don't reserve os area.
16626 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16627 Don't call grub_dl_unload_all.
16628 Don't include loader.S.
16629 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
16630 Declare the memory after _end as available.
16631 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
16632 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
16633 (GRUB_MM_ALLOC_MAGIC): Moved from here...
16634 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
16635 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
16636 * include/grub/mm_private.h (grub_mm_header): ... here.
16637 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
16638 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
16639 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
16640 (grub_mm_region): ..here. Removed addr. Added pre_size.
16641 All users updated.
16642 * grub-core/kern/mm.c (base): Renamed to ...
16643 (grub_mm_base): ... this. Made global.
16644 (grub_real_malloc): Alloc from end of region.
16645 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
16646 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
16647 * grub-core/kern/powerpc/cache_flush.S: ... here.
16648 * grub-core/lib/efi/relocator.c: New file.
16649 * grub-core/lib/i386/relocator.c: Rewritten.
16650 * grub-core/lib/i386/relocator16.S: New file.
16651 * grub-core/lib/i386/relocator32.S: Likewise.
16652 * grub-core/lib/i386/relocator64.S: Likewise.
16653 * grub-core/lib/i386/relocator_asm.S: Rewritten.
16654 * grub-core/lib/i386/relocator_common.S: New file.
16655 * grub-core/lib/ieee1275/relocator.c: Likewise.
16656 * grub-core/lib/mips/relocator.c: Rewritten.
16657 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
16658 stylistic adjustments.
16659 * grub-core/lib/powerpc/relocator.c: New file.
16660 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
16661 * grub-core/lib/relocator.c: Rewritten.
16662 * grub-core/lib/x86_64/relocator_asm.S: New file.
16663 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
16664 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
16665 (bsd_tag): New struct.
16666 (tags): New variable.
16667 (tags_last): Likewise.
16668 (netbsd_module): New struct.
16669 (netbsd_mods): New variable.
16670 (netbsd_mods_last): Likewise.
16671 (openbsd_opts): New parameter "serial".
16672 (OPENBSD_SERIAL_ARG): New definition.
16673 (netbsd_opts): New parameter "serial".
16674 (NETBSD_SERIAL_ARG): New definition.
16675 (grub_freebsd_add_meta): Reorganised into ...
16676 (grub_bsd_add_meta): ...this. All users updated.
16677 (grub_freebsd_add_mmap): Reorganised into ...
16678 (generate_e820_mmap): ...this...
16679 (grub_bsd_add_mmap): ...and this. All users updated.
16680 (grub_freebsd_list_modules): Use tags.
16681 (grub_netbsd_add_meta_module): New function.
16682 (grub_netbsd_list_modules): Likewise.
16683 (grub_freebsd_boot): Use relocator and finish EFI.
16684 (grub_openbsd_boot): Likewise.
16685 (grub_netbsd_setup_video): New function.
16686 (grub_netbsd_add_modules): Likewise.
16687 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
16688 and finish EFI.
16689 (grub_bsd_unload): Unload tags.
16690 (grub_bsd_load_aout): Use relocator.
16691 (grub_bsd_elf32_size_hook): New function.
16692 (grub_bsd_elf32_hook): Use relocator.
16693 (grub_bsd_elf64_size_hook): New function.
16694 (grub_bsd_elf64_hook): Use relocator.
16695 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
16696 (grub_bsd_load): Zero-out openbsd_ramdisk.
16697 (grub_bsd_load): Use relocator.
16698 (grub_cmd_openbsd): Support serial.
16699 (grub_cmd_netbsd): Support modules.
16700 (grub_cmd_freebsd_module): Use relocator.
16701 (grub_netbsd_module_load): New function.
16702 (grub_cmd_netbsd_module): Likewise.
16703 (grub_cmd_openbsd_ramdisk): Likewise.
16704 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
16705 kopenbsd_ramdisk.
16706 (GRUB_MOD_FINI): Unregister new commands.
16707 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
16708 (grub_freebsd_load_elfmodule_obj): Use relocator.
16709 (grub_freebsd_load_elfmodule): Likewise.
16710 (grub_freebsd_load_elf_meta): Likewise.
16711 (grub_netbsd_load_elf_meta): New function.
16712 (grub_openbsd_find_ramdisk): Likewise.
16713 * grub-core/loader/i386/bsd_helper.S: Removed.
16714 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
16715 * grub-core/loader/i386/bsd_trampoline.S: Removed.
16716 * grub-core/loader/i386/efi/linux.c: Likewise.
16717 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
16718 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
16719 (DEFAULT_VIDEO_MODE): Likewise.
16720 (real_mode_target): New variable.
16721 (prot_mode_target): Likewise.
16722 (initrd_mem_target): Likewise.
16723 (relocator): Likewise.
16724 (efi_mmap_buf): Likewise.
16725 (efi_mmap_size): Likewise.
16726 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
16727 (free_pages): Use relocator.
16728 (allocate_pages): Account for efi_mmap and use relocator. Return error.
16729 (grub_linux_setup_video): Return error.
16730 (grub_linux_trampoline_start): Removed.
16731 (grub_linux_trampoline_end): Likewise.
16732 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
16733 andd video parameters depending on firmware.
16734 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
16735 [GRUB_MACHINE_EFI]: Pass EFI parameters.
16736 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
16737 (grub_cmd_initrd): Use relocator.
16738 * grub-core/loader/i386/linux_trampoline.S: Removed.
16739 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
16740 (elf_sec_entsize): Likewise.
16741 (elf_sec_shstrndx): Likewise.
16742 (elf_sections): Likewise.
16743 (grub_multiboot_load): Use relocator.
16744 (grub_multiboot_get_mbi_size): Account for sections.
16745 (grub_multiboot_make_mbi): Use relocator and support sections.
16746 (grub_multiboot_add_elfsyms): New function.
16747 (grub_multiboot_free_mbi): Free sections.
16748 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
16749 (grub_linux_real_target): Likewise.
16750 (grub_linux_real_chunk): Likewise.
16751 (grub_linux16_prot_size): Likewise.
16752 (grub_linux16_boot): Use relocator.
16753 (grub_linux_unload): Unload relocator.
16754 (grub_cmd_linux): Use relocator.
16755 (grub_cmd_initrd): Likewise.
16756 * grub-core/loader/i386/pc/ntldr.c: New file.
16757 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
16758 Don't try to guess CPU frequency.
16759 (grub_xnu_set_video): Stretch bitmap.
16760 (grub_xnu_boot): Use relocator.
16761 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
16762 (grub_linux_unload): Free relocator.
16763 (grub_linux_load32): Use relocator.
16764 (grub_linux_load64): Likewise.
16765 (grub_cmd_initrd): Likewise.
16766 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
16767 (grub_multiboot_unload): Unload relocator.
16768 (grub_cmd_multiboot): Use relocator.
16769 (grub_cmd_module): Likewise.
16770 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
16771 Use relocator and support sections.
16772 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
16773 (elf_sec_entsize): Likewise.
16774 (elf_sec_shstrndx): Likewise.
16775 (elf_sections): Likewise.
16776 (grub_multiboot_load): Use relocator.
16777 (grub_multiboot_get_mbi_size): Account for sections.
16778 (grub_multiboot_make_mbi): Use relocator and support sections.
16779 (grub_multiboot_add_elfsyms): New function.
16780 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
16781 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
16782 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
16783 Prototype changed. All users updated.
16784 (grub_xnu_align_heap): Simplified.
16785 (grub_xnu_writetree_toheap): Likewise.
16786 (grub_xnu_unload): Unload relocator.
16787 (grub_cmd_xnu_kernel): Use relocator.
16788 (grub_cmd_xnu_kernel64): Likewise.
16789 (grub_xnu_register_memory): Simplified.
16790 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
16791 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
16792 EFI is finished.
16793 (grub_console_checkkey): Likewise.
16794 (grub_console_getkey): Likewise.
16795 (grub_console_getwh): Likewise.
16796 (grub_console_getxy): Likewise.
16797 (grub_console_gotoxy): Likewise.
16798 (grub_console_cls): Likewise.
16799 (grub_console_setcolorstate): Likewise.
16800 (grub_console_setcursor): Likewise.
16801 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
16802 * grub-core/tests/boot/kbsd.init-i386.S: New file.
16803 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
16804 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
16805 * grub-core/tests/boot/kernel-8086.S: Likewise.
16806 * grub-core/tests/boot/kernel-i386.S: Likewise.
16807 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
16808 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
16809 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
16810 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
16811 * grub-core/tests/boot/knetbsd.cfg: Likewise.
16812 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
16813 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
16814 * grub-core/tests/boot/linux.cfg: Likewise.
16815 * grub-core/tests/boot/linux.init-i386.S: Likewise.
16816 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
16817 * grub-core/tests/boot/linux16.cfg: Likewise.
16818 * grub-core/tests/boot/multiboot.cfg: Likewise.
16819 * grub-core/tests/boot/multiboot2.cfg: Likewise.
16820 * grub-core/tests/boot/ntldr.cfg: Likewise.
16821 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
16822 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
16823 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
16824 New definition.
16825 * include/grub/dl.h (grub_dl_unload_all): Removed.
16826 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
16827 (grub_efi_finish_boot_services): Change prototype.
16828 (grub_efi_is_finished): New variable.
16829 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
16830 Changed prototype.
16831 (grub_efiemu_finish_boot_services): Removed.
16832 (grub_machine_efiemu_init_tables): New prototype.
16833 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
16834 (grub_elf64_phdr_iterate): Likewise.
16835 * include/grub/i386/bsd.h: Include relocator.h.
16836 (freebsd_tag_header): New struct.
16837 (grub_openbsd_bios_mmap): Removed.
16838 (grub_unix_real_boot): Removed.
16839 (grub_freebsd_load_elfmodule32): Changed prototype.
16840 (grub_freebsd_load_elfmodule_obj64): Likewise.
16841 (grub_freebsd_load_elf_meta32): Likewise.
16842 (grub_freebsd_load_elf_meta64): Likewise.
16843 (grub_freebsd_add_meta): Removed.
16844 (grub_netbsd_load_elf_meta32): New prototype.
16845 (grub_netbsd_load_elf_meta64): Likewise.
16846 (grub_bsd_add_meta): Likewise.
16847 (grub_openbsd_ramdisk_descriptor): New struct.
16848 (grub_openbsd_find_ramdisk32): New prototype.
16849 (grub_openbsd_find_ramdisk64): Likewise.
16850 * include/grub/i386/coreboot/loader.h: Removed.
16851 * include/grub/i386/efi/loader.h: Likewise.
16852 * include/grub/i386/ieee1275/loader.h: Likewise.
16853 * include/grub/i386/linux.h (linux_kernel_header): Change void *
16854 to grub_uint32_t.
16855 * include/grub/i386/loader.h: Removed.
16856 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
16857 value.
16858 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
16859 (grub_phys_addr_t): New type.
16860 (grub_vtop): New inline function.
16861 (grub_map_memory): Likewise.
16862 (grub_unmap_memory): Likewise.
16863 * include/grub/i386/multiboot/loader.h: Removed.
16864 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
16865 (NETBSD_BTINFO_CONSOLE): New definition.
16866 (NETBSD_BTINFO_SYMTAB): Likewise.
16867 (NETBSD_BTINFO_MODULES): Likewise.
16868 (NETBSD_BTINFO_FRAMEBUF): Likewise.
16869 (grub_netbsd_bootinfo): New struct.
16870 (grub_netbsd_btinfo_common): Use explicit bitsize.
16871 (grub_netbsd_btinfo_mmap_entry): Removed.
16872 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
16873 (grub_netbsd_btinfo_bootdisk): New struct.
16874 (grub_netbsd_btinfo_symtab): Likewise.
16875 (grub_netbsd_btinfo_serial): Likewise.
16876 (grub_netbsd_btinfo_modules): Likewise.
16877 (grub_netbsd_btinfo_framebuf): Likewise.
16878 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
16879 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
16880 Likewise.
16881 (grub_openbsd_bootargs): Use explicit bitsize.
16882 (grub_openbsd_bootarg_console): New struct.
16883 (GRUB_OPENBSD_COM_MAJOR): New definition.
16884 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
16885 * include/grub/i386/pc/efiemu.h: Removed.
16886 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
16887 * include/grub/i386/qemu/loader.h: Removed.
16888 * include/grub/i386/relocator.h: Rewritten.
16889 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
16890 * include/grub/mips/memory.h: New file.
16891 * include/grub/mips/multiboot.h: Rewritten.
16892 * include/grub/mips/relocator.h: Rewritten.
16893 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
16894 (grub_vtop): New function.
16895 (grub_map_memory): Likewise.
16896 (grub_unmap_memory): Likewise.
16897 * include/grub/misc.h (ALIGN_DOWN): New definition.
16898 * include/grub/mm.h (grub_mm_check_real): New proto.
16899 (GRUB_MM_CHECK): New definition.
16900 * include/grub/mm_private.h: New file.
16901 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
16902 (grub_multiboot_get_mbi_size): Removed.
16903 (grub_multiboot_make_mbi): Change prottype.
16904 (grub_multiboot_set_accepts_video): New proto.
16905 (grub_multiboot_add_elfsyms): Likewise.
16906 (grub_multiboot_payload_eip): New variable.
16907 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
16908 New prototype.
16909 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
16910 New definition.
16911 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
16912 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
16913 * include/grub/powerpc/ieee1275/loader.h: Removed.
16914 * include/grub/powerpc/memory.h: New file.
16915 * include/grub/powerpc/relocator.h: Likewise.
16916 * include/grub/relocator.h: Likewise.
16917 * include/grub/relocator_private.h: Likewise.
16918 * include/grub/sparc64/ieee1275/loader.h: Removed.
16919 * include/grub/x86_64/memory.h: New file.
16920 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
16921 (grub_xnu_heap_malloc): Likewise.
16922 (grub_xnu_heap_real_start): Removed.
16923 (grub_xnu_heap_start): Likewise.
16924 (grub_xnu_relocator): New variable.
16925 (grub_xnu_heap_target_start): Likewise.
16926 * tests/util/grub-shell.in: Support non-pc.
16927 * util/grub-mkimage.c (image_targets): Fix multiboot target.
16928
16929 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16930
16931 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
16932 on malloc error.
16933 (grub_bidi_logical_to_visual): Check that malloc succeded.
16934 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
16935 puts.
16936 (grub_xputs_normal): Likewise.
16937
16938 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16939
16940 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
16941 extra_dist.
16942
16943 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16944
16945 * grub-core/efiemu/runtime/efiemu.sh: Removed.
16946
16947 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16948
16949 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
16950
16951 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16952
16953 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
16954 dprintf.
16955
16956 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
16957
16958 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
16959
16960 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16961
16962 * grub-core/normal/term.c (print_more): Fix a memory leak.
16963 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
16964 (grub_xputs_normal): Likewise.
16965
16966 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16967
16968 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
16969 the begining of the string
16970
16971 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16972
16973 * grub-core/script/script.c (grub_script_parse): Free parsed on
16974 failure.
16975
16976 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16977
16978 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
16979 on failure.
16980
16981 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16982
16983 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
16984 return.
16985
16986 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16987
16988 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
16989 (scroll_up): Fix a memory leak.
16990
16991 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
16992
16993 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
16994 errors.
16995
16996 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
16997
16998 Handle USB pendrives exposed as floppies.
16999
17000 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
17001 floppy.
17002 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
17003 Check for partitions on all devices.
17004
17005 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17006
17007 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
17008 (readkey): Likewise.
17009
17010 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17011
17012 Multiple variable names support to "export" command.
17013
17014 * normal/context.c (grub_cmd_export): "export" command supports
17015 multiple variable names.
17016
17017 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
17018
17019 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
17020 --target=drive output to Mach device name.
17021
17022 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17023
17024 New Automake based build system for GRUB.
17025
17026 * ABOUT-NLS: New file.
17027 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
17028 in Makefile.util.def file.
17029 * Makefile.util.def: New file. Autogen build definitions file for
17030 GRUB host utils.
17031 * conf/Makefile.common: New file. Common variables for GRUB host
17032 utils and target modules.
17033 * conf/Makefile.extra-dist: New file. Extra files for make dist.
17034 * docs/Makefile.am: New file. Automake file for docs.
17035 * gentpl.py: New file. Python script to generate Autogen
17036 template.
17037 * grub-core/Makefile.am: New file. GRUB target modules' rules
17038 that doesn't fit in Makefile.core.def file.
17039 * grub-core/Makefile.core.def: New file. Autogen build
17040 definitions file for GRUB target modules.
17041 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
17042 specific setjmp.S file.
17043 * po/Makefile.am: New file.
17044
17045 * .bzrignore: New ignores.
17046 * INSTALL: New requirements, without Ruby.
17047 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
17048 * autogen.sh: Updated to invoke autogen as necessary.
17049 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
17050 and defines for Automake conditionals.
17051 * geninit.sh: Refactoring.
17052
17053 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
17054 necessary.
17055 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
17056 New prototype.
17057
17058 * include/grub/test.h: Fix functional test modules' naming.
17059 * grub-core/tests/example_functional_test.c: Fix test module name.
17060
17061 * util/misc.c: Hosted versions' of grub functions for libgrub.a
17062 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
17063 * util/grub-editenv.c: Likewise.
17064 * util/grub-fstest.c: Likewise.
17065 * util/grub-mkdevicemap.c: Likewise.
17066 * util/grub-mkfont.c: Likewise.
17067 * util/grub-mkimage.c: Likewise.
17068 * util/grub-mkpasswd-pbkdf2.c: Likewise.
17069 * util/grub-probe.c: Likewise.
17070 * util/grub-script-check.c: Likewise.
17071 * util/i386/pc/grub-setup.c: Likewise.
17072 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17073
17074 * tests/util/grub-shell.in: Fix override directory path.
17075 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
17076 * util/import_gcry.py: Create Makefile.gcry.def file instead.
17077
17078 * util/lvm.c: Update #includes.
17079 * util/raid.c: Likewise.
17080 * util/resolve.c: Likewise.
17081 * grub-core/bus/emu/pci.c: Likewise.
17082 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
17083 * grub-core/lib/posix_wrap/string.h: Likewise.
17084 * grub-core/kern/emu/main.c: Likewise.
17085
17086 * grub-core/gensymlist.sh: New file. Script for generating kernel
17087 symbols file.
17088 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
17089
17090 * grub-core/gentrigtables.c: Fix unused variable warnings.
17091
17092 * Makefile.in: Removed.
17093 * conf/any-emu.rmk: Removed.
17094 * conf/common.rmk: Removed.
17095 * conf/i386-coreboot.rmk: Removed.
17096 * conf/i386-efi.rmk: Removed.
17097 * conf/i386-ieee1275.rmk: Removed.
17098 * conf/i386-multiboot.rmk: Removed.
17099 * conf/i386-pc.rmk: Removed.
17100 * conf/i386-qemu.rmk: Removed.
17101 * conf/i386.rmk: Removed.
17102 * conf/mips-yeeloong.rmk: Removed.
17103 * conf/mips.rmk: Removed.
17104 * conf/powerpc-ieee1275.rmk: Removed.
17105 * conf/sparc64-ieee1275.rmk: Removed.
17106 * conf/tests.rmk: Removed.
17107 * conf/x86-efi.rmk: Removed.
17108 * conf/x86_64-efi.rmk: Removed.
17109 * gendistlist.sh: Removed.
17110 * geninitheader.sh: Removed.
17111 * genkernsyms.sh.in: Removed.
17112 * genmk.rb: Removed.
17113 * gensymlist.sh.in: Removed.
17114 * mkinstalldirs: Removed.
17115 * boot: Moved ...
17116 * grub-core/boot: ... to here.
17117 * bus: Moved ...
17118 * grub-core/bus: ... to here.
17119 * commands: Moved ...
17120 * grub-core/commands: ... to here.
17121 * disk: Moved ...
17122 * grub-core/disk: ... to here.
17123 * efiemu: Moved ...
17124 * grub-core/efiemu: ... to here.
17125 * font: Moved ...
17126 * grub-core/font: ... to here.
17127 * fs: Moved ...
17128 * grub-core/fs: ... to here.
17129 * gencmdlist.sh: Moved ...
17130 * grub-core/gencmdlist.sh: ... to here.
17131 * genemuinit.sh: Moved ...
17132 * grub-core/genemuinit.sh: ... to here.
17133 * genemuinitheader.sh: Moved ...
17134 * grub-core/genemuinitheader.sh: ... to here.
17135 * genfslist.sh: Moved ...
17136 * grub-core/genfslist.sh: ... to here.
17137 * genhandlerlist.sh: Moved ...
17138 * grub-core/genhandlerlist.sh: ... to here.
17139 * genmoddep.awk: Moved ...
17140 * grub-core/genmoddep.awk: ... to here.
17141 * genmodsrc.sh: Moved ...
17142 * grub-core/genmodsrc.sh: ... to here.
17143 * genpartmaplist.sh: Moved ...
17144 * grub-core/genpartmaplist.sh: ... to here.
17145 * genparttoollist.sh: Moved ...
17146 * grub-core/genparttoollist.sh: ... to here.
17147 * genterminallist.sh: Moved ...
17148 * grub-core/genterminallist.sh: ... to here.
17149 * gentrigtables.c: Moved ...
17150 * grub-core/gentrigtables.c: ... to here.
17151 * genvideolist.sh: Moved ...
17152 * grub-core/genvideolist.sh: ... to here.
17153 * gettext: Moved ...
17154 * grub-core/gettext: ... to here.
17155 * gfxmenu: Moved ...
17156 * grub-core/gfxmenu: ... to here.
17157 * gnulib: Moved ...
17158 * grub-core/gnulib: ... to here.
17159 * hello: Moved ...
17160 * grub-core/hello: ... to here.
17161 * hook: Moved ...
17162 * grub-core/hook: ... to here.
17163 * io: Moved ...
17164 * grub-core/io: ... to here.
17165 * kern: Moved ...
17166 * grub-core/kern: ... to here.
17167 * lib: Moved ...
17168 * grub-core/lib: ... to here.
17169 * loader: Moved ...
17170 * grub-core/loader: ... to here.
17171 * mmap: Moved ...
17172 * grub-core/mmap: ... to here.
17173 * normal: Moved ...
17174 * grub-core/normal: ... to here.
17175 * partmap: Moved ...
17176 * grub-core/partmap: ... to here.
17177 * parttool: Moved ...
17178 * grub-core/parttool: ... to here.
17179 * script: Moved ...
17180 * grub-core/script: ... to here.
17181 * term: Moved ...
17182 * grub-core/term: ... to here
17183 * tests/example_functional_test.c: Moved ...
17184 * grub-core/tests/example_functional_test.c: ... to here.
17185 * tests/lib/functional_test.c: Moved ...
17186 * grub-core/tests/lib/functional_test.c: ... to here.
17187 * tests/lib/test.c: Moved ...
17188 * grub-core/tests/lib/test.c: ... to here.
17189 * video: Moved ...
17190 * grub-core/video: ... to here.
17191
17192 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17193
17194 Replace --enable-grub-emu-modules with grub-emu-lite.
17195
17196 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
17197 cache.S.
17198
17199 * include/grub/emu/misc.h (grub_emu_init): New prototype.
17200 * kern/emu/full.c: New file. For grub-emu specific initialization.
17201 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
17202 * kern/emu/main.c: Call initialization function grub_emu_init.
17203
17204 * Makefile.in: Include grub-emu-lite in install.
17205 * commands/parttool.c: Use grub_no_autoload to differentiate
17206 between grub-emu and grub-emu-lite.
17207 * include/grub/misc.h: New variable grub_no_autoload.
17208
17209 * conf/any-emu.rmk: New rules for grub-emu-lite.
17210 * configure.ac: Remove --enable-grub-emu-modules.
17211 * genmk.rb: Cleanup unnecessary rules.
17212 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
17213
17214 * normal/main.c: Don't load list files on grub-emu-lite.
17215 * util/misc.c (grub_arch_sync_caches): Removed.
17216
17217 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
17218
17219 * kern/mips/startup.S (grub_prefix): Update comment to refer to
17220 grub-mkimage rather than grub-mkelfimage.
17221 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
17222
17223 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
17224
17225 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
17226 a key after CapsLock or NumLock. It's just a qemu bug.
17227
17228 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17229
17230 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
17231 needed by libusb wrapper.
17232
17233 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
17234
17235 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
17236
17237 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17238
17239 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
17240 --nounzip is passed.
17241
17242 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
17243
17244 USB hotunplugging and USB serial support.
17245
17246 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
17247 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
17248 (grub_uhci_transfer): Respect timeout and set *actual.
17249 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
17250 non-standard length.
17251 (grub_usb_device_attach): Autoload modules.
17252 (GRUB_MOD_INIT): Set grub_term_poll_usb.
17253 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
17254 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
17255 users updated.
17256 (grub_usb_add_hub): Fill nports and children.
17257 (attach_root_port): Receive hub instead of controller.
17258 All users updated. Fill hub->devices.
17259 (grub_usb_root_hub): Allocate hub->devices.
17260 (detach_device): New function.
17261 (poll_nonroot_hub): Fill children and detach devices.
17262 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
17263 actual arguments. All users updated.
17264 (grub_usb_bulk_read_extended): New function.
17265 * bus/usb/serial/common.c: New file.
17266 * bus/usb/serial/ftdi.c: Likewise.
17267 * bus/usb/serial/pl2303.c: Likewise.
17268 * commands/terminal.c (handle_command): Support wildcard.
17269 * commands/usbtest.c: Output "Unknown" instead of empty string.
17270 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
17271 (usbserial_common_mod_SOURCES): New variable.
17272 (usbserial_common_mod_CFLAGS): Likewise.
17273 (usbserial_common_mod_LDFLAGS): Likewise.
17274 (pkglib_MODULES): Add usbserial_pl2303.mod.
17275 (usbserial_pl2303_mod_SOURCES): New variable.
17276 (usbserial_pl2303_mod_CFLAGS): Likewise.
17277 (usbserial_pl2303_mod_LDFLAGS): Likewise.
17278 (pkglib_MODULES): Add usbserial_ftdi.mod.
17279 (usbserial_ftdi_mod_SOURCES): New variable.
17280 (usbserial_ftdi_mod_CFLAGS): Likewise.
17281 (usbserial_ftdi_mod_LDFLAGS): Likewise.
17282 (pkglib_MODULES): Add serial.mod.
17283 (serial_mod_SOURCES): New variable.
17284 (serial_mod_CFLAGS): Likewise.
17285 (serial_mod_LDFLAGS): Likewise.
17286 * conf/i386-pc.rmk: Likewise.
17287 * conf/mips-yeeloong.rmk: Likewise.
17288 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
17289 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
17290 * disk/usbms.c (first_available_slot): New variable.
17291 (grub_usbms_attach): Don't reuse free slots due to potential cache
17292 problems.
17293 * include/grub/serial.h: Moved to ..
17294 * include/grub/ns8250.h: ...this.
17295 * include/grub/serial.h: New file.
17296 * include/grub/term.h (grub_term_poll_usb): New variable.
17297 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
17298 readkey. All users updated.
17299 (grub_terminfo_output_state): Pass term to put.
17300 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
17301 (grub_usb_controller_dev): Add timeout and actual arguments to
17302 transfer. All users updated.
17303 (grub_usb_interface): New field detach_data.
17304 (grub_usb_device): New fields children and nports.
17305 (grub_usb_ep_type_t): New type.
17306 (grub_usb_get_ep_type): New function.
17307 (grub_usb_bulk_read_extended): Likewise.
17308 * include/grub/usbdesc.h (grub_usb_desc): New type.
17309 * include/grub/usbserial.h: New file.
17310 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
17311 * kern/term.c (grub_term_poll_usb): New variable.
17312 (grub_getkey): Call grub_term_poll_usb if set.
17313 (grub_checkkey): Likewise.
17314 (grub_getkeystatus): Likewise.
17315 * term/serial.c: Moved controller-specific parts to ...
17316 * term/ns8250.c: ... here.
17317 * term/serial.c: Mostly rewritten.
17318 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
17319 according to spec.
17320
17321 2010-08-20 Robert Millan <rmh@gnu.org>
17322
17323 Make kFreeBSD code more generic to support ext2fs as root, ufs as
17324 a separate module and maybe other interesting combinations.
17325
17326 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
17327 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
17328 (kfreebsd_entry): Add generic filesystem module load routine.
17329 Map GRUB `ext2' to kFreeBSD `ext2fs'.
17330
17331 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
17332
17333 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
17334 "numcenter" (I misunderstood the purpose of this entry).
17335 * docs/grub.texi (sendkey): Likewise.
17336
17337 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
17338
17339 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
17340 status flag options; simply omitting the option is equivalent and
17341 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
17342 (keysym_table): Rename "num5numlock" to "numlock".
17343 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
17344 can uniformly say that only the last of multiple `sendkey'
17345 invocations has any effect.
17346 * docs/grub.texi (sendkey): New section.
17347
17348 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
17349
17350 * commands/i386/pc/sendkey.c (options): Fix three typos.
17351
17352 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17353
17354 Implement sendkey support.
17355
17356 * commands/i386/pc/sendkey.c: New file.
17357 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
17358 (sendkey_mod_SOURCES): New variable.
17359 (sendkey_mod_CFLAGS): Likewise.
17360 (sendkey_mod_LDFLAGS): Likewise.
17361
17362 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
17363
17364 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
17365 fix warnings from Autoconf.
17366
17367 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
17368
17369 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
17370 to avoid false positives with some assemblers that output things
17371 like "someprefix_func" as part of their output.
17372
17373 2010-08-15 Robert Millan <rmh@gnu.org>
17374
17375 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
17376 errors.
17377 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
17378 grub_get_libzfs_handle() errors.
17379
17380 2010-08-14 Robert Millan <rmh@gnu.org>
17381
17382 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
17383 filesystem is not ZFS.
17384
17385 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17386
17387 Fix for misspelled color names defaulting to black/black (bug
17388 reported by Doug Nazar)
17389
17390 * include/grub/normal.h (grub_parse_color_name_pair): Add return
17391 status to prototype.
17392 * normal/color.c (grub_parse_color_name_pair): Return failure
17393 status.
17394 (grub_env_write_color_normal): Ignore bad color names.
17395 (grub_env_write_color_highlight): Likewise.
17396 * normal/main.c (GRUB_MOD_INIT): Set default color names.
17397
17398 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17399
17400 "shift" command support to GRUB script.
17401
17402 * include/grub/script_sh.h (grub_script_shift): New prototype.
17403 * script/execute.c (grub_script_shift): New function.
17404 * script/main.c (grub_script_init): Register shift command.
17405 (grub_script_fini): Unregister shift command.
17406 * util/grub-script-check.c (grub_script_cmd_shift): New function.
17407
17408 * tests/grub_script_shift.in: New testcase.
17409 * conf/tests.rmk: Rules for new testcase.
17410
17411 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17412
17413 "continue" command support to GRUB script.
17414
17415 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
17416 (grub_script_break): Continue support.
17417 * script/main.c (grub_script_init): Register continue command.
17418 (grub_script_fini): Unregister continue command.
17419
17420 * tests/grub_script_continue.in: New testcase.
17421 * conf/tests.rmk: Rules for new testcase.
17422
17423 2010-08-12 BVK Chaitanya <bvk@dbook>
17424
17425 "break" command support to GRUB script.
17426
17427 * conf/common.rmk: Rule updates to grub-script-check.
17428 * include/grub/misc.h (grub_min): New function.
17429 * include/grub/script_sh.h (grub_script_init): New prototype.
17430 (grub_script_fini): New prototype.
17431 (grub_script_break): New prototype.
17432 * script/main.c (grub_script_init): New function.
17433 (grub_script_fini): New function.
17434 * script/execute.c (grub_script_break): New function.
17435 * normal/main.c: Calls to grub_script_{init,fini}.
17436 * util/grub-script-check.c (grub_script_break): New function.
17437
17438 * tests/grub_script_break.in: New testcase.
17439 * conf/tests.rmk: Rules for new test case.
17440
17441 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17442
17443 Function parameters support to GRUB script.
17444
17445 * script/yylex.l (VARIABLE): Regular expression update.
17446 * script/function.c (grub_script_function_call): Moved ...
17447 * script/execute.c (grub_script_function_call): ... to here.
17448 (grub_script_execute_arglist_to_argv): Removed.
17449 (grub_script_arglist_to_argv): New function.
17450 * script/argv.c: New file.
17451 (grub_script_argv_free): New function.
17452 (grub_script_argv_next): Likewise.
17453 (grub_script_argv_append): Likewise.
17454 (grub_script_argv_split_append): Likewise.
17455 * include/grub/script_sh.h (grub_script_argv): New struct.
17456 (grub_script_argv_free): New function.
17457 (grub_script_argv_next): Likewise.
17458 (grub_script_argv_append): Likewise.
17459 (grub_script_argv_split_append): Likewise.
17460
17461 * conf/common.rmk (normal.mod): New source script/argv.c.
17462
17463 * tests/grub_script_echo1.in: More tests.
17464 * tests/grub_script_vars1.in: Likewise.
17465 * tests/grub_script_functions.in: New test case.
17466 * conf/tests.rmk: Rules for new testcase.
17467
17468 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17469
17470 Remove grub_script_cmdblock struct.
17471
17472 * include/grub/script_sh.h: Remove grub_script_cmdblock.
17473 * script/parser.y: Likewise.
17474 * script/execute.c: Rename cmdblock suffix to cmdlist.
17475 * script/script.c: Likewise.
17476 * util/grub-script-check.c: Likewise.
17477
17478 2010-08-11 Yves Blusseau <blusseau@zetam.org>
17479
17480 * .bzrignore: add grub-macho2img
17481
17482 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17483
17484 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
17485
17486 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17487
17488 Remove the dump of sm712 initialisation sequence.
17489
17490 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
17491 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
17492 (GRUB_VGA_IO_MISC_WRITE): Likewise.
17493 (GRUB_VGA_CR_*): Added many registers.
17494 (GRUB_VGA_SR_*): Likewise.
17495 (GRUB_VGA_GR_*): Likewise.
17496 (grub_vga_write_arx): New function.
17497 (grub_video_hw_config): New struct.
17498 (grub_vga_set_geometry): New function.
17499 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
17500 GRUB_PCI_CLASS_SUBCLASS_VGA.
17501 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
17502 * video/sm712.c (grub_sm712_write_reg): New function
17503 (grub_sm712_read_reg): Likewise.
17504 (grub_sm712_sr_write): Likewise.
17505 (grub_sm712_gr_write): Likewise.
17506 (grub_sm712_cr_write): Likewise.
17507 (grub_sm712_write_arx): Likewise.
17508 (grub_sm712_cr_shadow_write): Likewise.
17509 (grub_sm712_write_dda_lookup): Likewise.
17510 (grub_video_sm712_setup): Initialise the video rather then
17511 blindly replay the dump.
17512 (main) [TEST]: Add a routine to be able to compile as standalone for
17513 tests.
17514 * video/sm712_init.c (sm712_init): Removed.
17515 (sm712_sr_seq1): New array.
17516 (sm712_sr_seq2): Likewise.
17517
17518 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17519
17520 * include/grub/vga.h: Add missing grub/pci.h include.
17521
17522 2010-08-10 Yves Blusseau <blusseau@zetam.org>
17523
17524 * util/grub-macho2img.c (main): fix typo
17525
17526 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17527
17528 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
17529 (grub_vga_gr_read): Likewise.
17530 (grub_vga_cr_write): Likewise.
17531 (grub_vga_cr_read): Likewise.
17532 (grub_vga_sr_write): Likewise.
17533 (grub_vga_sr_read): Likewise.
17534 (grub_vga_palette_read): Likewise.
17535 (grub_vga_palette_write): Likewise.
17536 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
17537 (grub_sm712_sr_read): New function.
17538 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
17539 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
17540
17541 2010-08-09 Robert Millan <rmh@gnu.org>
17542
17543 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
17544 out unused variables on non-ZFS build.
17545
17546 2010-08-08 Robert Millan <rmh@gnu.org>
17547
17548 Fix path generation for sub-filesystems in ZFS.
17549
17550 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
17551 missing slash.
17552
17553 2010-08-08 Robert Millan <rmh@gnu.org>
17554
17555 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
17556
17557 2010-08-08 Robert Millan <rmh@gnu.org>
17558
17559 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
17560 exist, issue a proper error message (rely on `ls' for translated
17561 strings).
17562
17563 2010-08-08 Robert Millan <rmh@gnu.org>
17564
17565 Fix grub-probe invocation.
17566
17567 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
17568
17569 2010-08-04 Robert Millan <rmh@gnu.org>
17570
17571 * configure.ac: Remove checks for getfsstat() and getmntany().
17572 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
17573 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
17574 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
17575 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
17576 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
17577 function.
17578 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
17579 via find_mount_point_from_dir() and getfsstat() / getmntany().
17580
17581 2010-08-04 Robert Millan <rmh@gnu.org>
17582
17583 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17584 (grub_find_zpool_from_mount_point): Merge into ...
17585 (grub_find_zpool_from_dir): ... this.
17586 * kern/emu/misc.c: Likewise.
17587
17588 * kern/emu/misc.c
17589 (grub_make_system_path_relative_to_its_root): Replace
17590 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
17591 with grub_find_zpool_from_dir().
17592 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
17593
17594 2010-08-04 Robert Millan <rmh@gnu.org>
17595
17596 Support OpenSolaris in ZFS device resolution.
17597
17598 * configure.ac: Check for getmntany().
17599 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
17600 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
17601 support.
17602
17603 2010-08-03 Robert Millan <rmh@gnu.org>
17604
17605 Fix grub-emu build.
17606
17607 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
17608 * include/grub/emu/misc.h: ... here.
17609
17610 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
17611 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
17612
17613 * util/misc.c: Remove `<grub/util/libzfs.h>'.
17614 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
17615 (grub_get_libzfs_handle): Move to ...
17616 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
17617 (grub_get_libzfs_handle): ... here.
17618
17619 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
17620
17621 * script/execute.c (grub_script_execute_cmdline): Check for NULL
17622 as command name case.
17623
17624 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
17625
17626 * disk/raid.c (insert_array): Select unique numbers for named arrays
17627 as well, for use as keys in the disk cache.
17628
17629 2010-08-01 Robert Millan <rmh@gnu.org>
17630
17631 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
17632 kFreeBSD device name, except on ZFS where the filesystem label is
17633 used.
17634 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
17635 `/boot/zfs/zpool.cache'.
17636 Set mountfrom kernel variable using ${kfreebsd_device}.
17637
17638 2010-08-01 Robert Millan <rmh@gnu.org>
17639
17640 Make it even harder to use uninitialized `libzfs_handle' (and
17641 make the interface a bit simpler).
17642
17643 * include/grub/util/misc.h (grub_util_init_libzfs)
17644 (libzfs_handle): Remove.
17645 (grub_get_libzfs_handle): New prototype.
17646
17647 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
17648 attribute.
17649 (grub_util_init_libzfs): Remove.
17650 (grub_get_libzfs_handle): New function.
17651
17652 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
17653 grub_get_libzfs_handle() to obtain a libzfs handle instead of
17654 accessing `libzfs_handle' directly.
17655
17656 2010-08-01 Robert Millan <rmh@gnu.org>
17657
17658 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17659 (grub_find_zpool_from_mount_point): New function prototypes.
17660
17661 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17662 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17663
17664 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17665 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17666 `static' attribute.
17667
17668 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17669 finding zpool from mount point into ...
17670 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17671
17672 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17673 requested path is part of a ZFS pool, use
17674 grub_find_zpool_from_mount_point() to detect its filesystem name,
17675 and generate a path with `/fsname@path' syntax.
17676
17677 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17678
17679 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
17680 (void) rather than () so that this is a proper prototype.
17681
17682 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17683
17684 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
17685
17686 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17687
17688 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
17689 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
17690
17691 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17692
17693 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
17694
17695 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17696
17697 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
17698
17699 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17700
17701 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
17702 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
17703 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
17704 disable gfxpayload.
17705 (Shell-like scripting): Add real content.
17706 (Serial terminal): Suggest `terminal_input serial; terminal_output
17707 serial' rather than putting the two commands on separate lines,
17708 since console input will be inoperative after the first command.
17709 (menuentry): Document --class, --users, and --hotkey options.
17710 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
17711 Vladimir Serbinenko).
17712
17713 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17714 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17715
17716 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
17717
17718 2010-08-01 Robert Millan <rmh@gnu.org>
17719
17720 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17721 (grub_find_zpool_from_mount_point): New function prototypes.
17722
17723 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17724 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17725
17726 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17727 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17728 `static' attribute.
17729
17730 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17731 finding zpool from mount point into ...
17732 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17733
17734 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17735 requested path is part of a ZFS pool, use
17736 grub_find_zpool_from_mount_point() to detect its filesystem name,
17737 and generate a path with `/fsname@path' syntax.
17738
17739 2010-08-01 Robert Millan <rmh@gnu.org>
17740
17741 Prevent accidental use of uninitialized libzfs_handle.
17742
17743 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
17744 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
17745 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
17746
17747 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
17748
17749 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
17750 util/grub.d/10_linux.in). Fixes Debian bug #591093.
17751
17752 2010-08-01 Robert Millan <rmh@gnu.org>
17753
17754 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
17755
17756 2010-07-31 Robert Millan <rmh@gnu.org>
17757
17758 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
17759
17760 2010-07-31 Robert Millan <rmh@gnu.org>
17761
17762 * kern/emu/misc.c: Add missing license header.
17763
17764 2010-07-31 Robert Millan <rmh@gnu.org>
17765
17766 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
17767
17768 * include/grub/util/libnvpair.h: Include `<config.h>'.
17769 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
17770 declaring libnvpair prototypes ourselves.
17771 * include/grub/util/libzfs.h: Include `<config.h>'.
17772 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
17773 declaring libzfs prototypes ourselves.
17774
17775 (libzfs_handle): Moved to ...
17776 * include/grub/util/misc.h (libzfs_handle): ... here.
17777 Include `<grub/util/libzfs.h>'.
17778
17779 2010-07-30 Robert Millan <rmh@gnu.org>
17780
17781 * include/grub/emu/misc.h: Add missing license header.
17782
17783 2010-07-30 Robert Millan <rmh@gnu.org>
17784
17785 Enable `grub-probe -t device' resolution on ZFS.
17786
17787 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
17788 * include/grub/util/libnvpair.h: New file.
17789 * include/grub/util/libzfs.h: New file.
17790
17791 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
17792 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
17793 `<grub/util/libnvpair.h>'.
17794 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
17795
17796 (find_mount_point_from_dir): New static function.
17797 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
17798 function.
17799 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
17800 find_root_device_from_libzfs() before ressorting to find_root_device().
17801
17802 * include/grub/util/misc.h (grub_util_init_libzfs): New function
17803 prototype.
17804 * util/misc.c: Include `<grub/util/libzfs.h>'.
17805 (grub_util_init_libzfs): New function.
17806 [HAVE_LIBZFS] (libzfs_handle): New global variable.
17807 [HAVE_LIBZFS] (fini_libzfs): New static function.
17808 (grub_util_init_libzfs): New function.
17809 * util/grub-probe.c (main): Call grub_util_init_libzfs().
17810
17811 2010-07-30 Robert Millan <rmh@gnu.org>
17812
17813 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
17814 (xmalloc, xrealloc, xstrdup, xasprintf): Add
17815 `warn_unused_result' attribute.
17816 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
17817 (grub_xasprintf, grub_xvasprintf): Likewise.
17818 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
17819
17820 2010-07-29 Robert Millan <rmh@gnu.org>
17821
17822 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
17823 (probe): Handle `PRINT_FS_LABEL'.
17824 (main): Handle `-t fs_label'.
17825
17826 2010-07-29 Robert Millan <rmh@gnu.org>
17827
17828 * configure.ac: Remove grub-mkisofs checks.
17829
17830 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
17831
17832 * util/ieee1275/grub-install.in: Don't use empty grub_device.
17833 Reported by: Lennart Sorensen.
17834
17835 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17836
17837 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
17838 prior to terminal_input/terminal_output separation. It's been over 1.5
17839 years and those versions weren't widely deployed.
17840
17841 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
17842
17843 * disk/raid.c (insert_array): Don't count named arrays when looking
17844 for unused array numbers.
17845 Reported and tested by: Michael Guntsche.
17846
17847 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17848
17849 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
17850 implementation of this so that grub-emu links again, with a note
17851 that this should support hotplugging in the future.
17852
17853 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17854
17855 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
17856
17857 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17858
17859 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
17860 handle on failure.
17861 (grub_loopback_close): Remove empty function.
17862 (grub_loopback_dev): Remove close method.
17863
17864 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17865
17866 Disable EFI cursor when the EFI console becomes inactive.
17867
17868 * term/efi/console.c (grub_efi_console_init): New function.
17869 (grub_efi_console_fini): New function.
17870 (grub_console_term_output): Register init and fini methods.
17871
17872 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17873
17874 * tests/util/grub-shell-tester.in: Remove bashism and declare as
17875 sh script.
17876
17877 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17878
17879 * disk/loopback.c (grub_loopback): Replace filename with file.
17880 (delete_loopback): Handle new semantics.
17881 (grub_cmd_loopback): Likewise.
17882 (grub_loopback_iterate): Likewise.
17883 (grub_loopback_close): Likewise.
17884
17885 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17886
17887 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
17888 with -p "".
17889 Reported by: Tito Keitel.
17890
17891 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17892
17893 * docs/grub.texi (Naming convention): Document new naming convention.
17894
17895 2010-07-20 Vadim Solomin <vadic052@gmail.com>
17896 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17897
17898 Generate device.map in something closer to the old ordering.
17899
17900 * util/deviceiter.c (struct device): New declaration.
17901 (compare_file_names): Rename to ...
17902 (compare_devices): ... this. Sort by kernel name in preference to
17903 the stable by-id name, but keep the latter as a fallback comparison.
17904 Update header comment.
17905 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
17906 of `struct device' rather than of plain file names.
17907
17908 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
17909
17910 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
17911 on i386.
17912
17913 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17914
17915 * commands/acpi.c (setup_common_tables): Use sizeof instead of
17916 hardcoding size.
17917 (setv1table): Likewise.
17918
17919 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17920
17921 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
17922 removing the homehost if present.
17923 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
17924 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
17925 removing the homehost if present.
17926 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
17927 if possible.
17928 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
17929
17930 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
17931 parameter. Set its pointer target to 0.
17932 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
17933 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
17934 `data_offset' value from the superblock for 1.x metadata.
17935 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
17936 data on the device.
17937 (insert_array): Record the start sector of data on the device.
17938 (grub_raid_register): Pass start_sector parameters to
17939 grub_raid_list->detect and insert_array.
17940 * include/grub/raid.h (struct grub_raid_array): Add start_sector
17941 member.
17942 (struct grub_raid): Add start_sector parameter to `detect'.
17943
17944 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
17945 __attribute__ ((packed)), leaving a comment.
17946 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
17947 (grub_mdraid_detect_09): ... here and ...
17948 (grub_mdraid_detect_1x): ... here.
17949
17950 2010-07-20 Peter Henn <peter.henn@web.de>
17951
17952 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
17953 chunk size and disk size, which are already given as sector counts
17954 as distinct from the 0.90 units. Fetch the correct device number
17955 from the role table instead of using the table index.
17956
17957 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
17958
17959 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
17960 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
17961 (WriteMostly1): New macro.
17962 Set array->name to NULL for metadata format 0.90. Add support for
17963 metadata 1.x. Fix some comments.
17964 * disk/raid.c (): Add support for name based RAID arrays. Fix a
17965 few comments.
17966 * util/getroot.c (grub_util_get_grub_dev): Add support for
17967 /dev/md/name style devices.
17968
17969 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
17970
17971 * .bzrignore: Ignore 20_linux_xen.
17972
17973 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
17974
17975 * util/import_unicode.py: Remove unnecessary imports.
17976
17977 2010-07-17 Aleš Nesrsta <starous@volny.cz>
17978
17979 Hotplugging and USB hub support.
17980
17981 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
17982 (grub_ohci): Likewise.
17983 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
17984 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
17985 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
17986 (GRUB_OHCI_CTRL_EDS): Likewise.
17987 (GRUB_OHCI_BULK_EDS): Likewise.
17988 (GRUB_OHCI_TDS): Likewise.
17989 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
17990 (grub_ohci_ed_phys2virt): New function.
17991 (grub_ohci_virt_to_phys): Likewise.
17992 (grub_ohci_td_phys2virt): Likewise.
17993 (grub_ohci_td_virt2phys): Likewise.
17994 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
17995 attachment.
17996 (grub_ohci_find_ed): New function.
17997 (grub_ohci_alloc_td): Likewise.
17998 (grub_ohci_free_td): Likewise.
17999 (grub_ohci_free_tds): Likewise.
18000 (grub_ohci_transfer): Use previously allocated memory.
18001 (grub_ohci_portstatus): Reset status changed bit.
18002 (grub_ohci_detect_dev): Supply status changed.
18003 (grub_ohci_fini_hw): Free memory.
18004 (grub_ohci_restore_hw): Reallocate memory.
18005 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
18006 Reset status change.
18007 (grub_uhci_detect_dev): Supply status_change.
18008 * bus/usb/usb.c (attach_hooks): New var.
18009 (grub_usb_device_attach): New function.
18010 (grub_usb_register_attach_hook_class): Likewise.
18011 (grub_usb_unregister_attach_hook_class): Likewise.
18012 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
18013 (grub_usb_add_hub): Reset connection changed bit.
18014 (attach_root_port): New function.
18015 (grub_usb_root_hub): Likewise.
18016 (poll_nonroot_hub): Likewise.
18017 (grub_usb_poll_devices): Likewise.
18018 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
18019 * disk/usbms.c (grub_usbms_open): Use device hooks.
18020 (grub_usbms_iterate) :Poll devices.
18021 (grub_usbms_finddevs): Split into ...
18022 (grub_usbms_attach): ... this ...
18023 (grub_usbms_attach): ... and this.
18024 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
18025 in detect_dev.
18026 (grub_usb_interface): New fields attached and detach_hook.
18027 (grub_usb_attach_hook_class): New type.
18028 (grub_usb_attach_desc): New struct.
18029 (grub_usb_register_attach_hook_class): New function.
18030 (grub_usb_unregister_attach_hook_class): Likewise.
18031 (grub_usb_poll_devices): Likewise.
18032 (grub_usb_device_attach): Likewise.
18033 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
18034 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
18035
18036 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18037
18038 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
18039 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
18040 delta determination style. Works with most NetBSD partitions too.
18041
18042 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18043
18044 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
18045 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
18046
18047 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18048
18049 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
18050
18051 2010-07-14 Anton Blanchard <anton@samba.org>
18052
18053 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
18054 ET_DYN files.
18055
18056 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18057
18058 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
18059
18060 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18061
18062 * kern/partition.c (grub_partition_check_containment): New function to
18063 check that a partition is physically contained in a parent. Since
18064 offsets are relative (and non-negative), this reduces to checking that
18065 the partition ends before its parent.
18066 (grub_partition_map_probe): Discard out-of-range sub-partitions.
18067 (grub_partition_iterate): Likewise.
18068 * include/grub/partition.h (grub_partition_map): Slightly more detailed
18069 comments.
18070 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
18071 partitions that start before their parent, and add debug printfs.
18072
18073 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
18074
18075 * Makefile.in (.SUFFIX): Spell correctly, as ...
18076 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
18077 bare module name without `.mod', e.g. `test') tried to invoke a
18078 Modula-2 compiler.
18079
18080 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
18081
18082 * README: Point to the Info manual.
18083
18084 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
18085
18086 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
18087 2nd superblock position from partition size.
18088
18089 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
18090
18091 * Makefile.in (MAINTAINER_CLEANFILES): Remove
18092 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
18093 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
18094 outputs.
18095
18096 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18097
18098 Restructure SCSI .id handling.
18099 Reported and tested by: Aleš Nesrsta.
18100
18101 * disk/ata.c (grub_atapi_close): Removed. All users updated.
18102 (grub_atapi_dev): Changed .name to "ata". New field .id.
18103 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
18104 (grub_usbms_dev): New field .id.
18105 * disk/scsi.c (grub_scsi_iterate): Generate name.
18106 (grub_scsi_open): Parse name.
18107 * include/grub/scsi.h (grub_make_scsi_id): New function.
18108 (grub_scsi_dev): Change iterate and open to number instead of naming
18109 busses. All users updated.
18110 (grub_scsi): Remove name. Add .bus.
18111
18112 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18113
18114 * commands/help.c (grub_cmd_help): Fix a typo.
18115
18116 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18117
18118 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
18119 Reported and tested by: Colin Watson.
18120
18121 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18122
18123 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
18124 in this context.
18125
18126 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18127
18128 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
18129
18130 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
18131
18132 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
18133 indentation.
18134
18135 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18136
18137 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
18138 and disk/raid6_recover.c.
18139 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18140 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18141
18142 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18143
18144 * term/gfxterm.c (repaint_schedulded): Rename to ...
18145 (repaint_scheduled): ... this. Update all callers.
18146 (repaint_was_schedulded): Rename to ...
18147 (repaint_was_scheduled): ... this. Update all callers.
18148
18149 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18150
18151 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
18152 which we expect to be handled by upper layers.
18153
18154 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
18155
18156 * bus/usb/usbhub.c: #include time.h header.
18157
18158 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18159
18160 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
18161 entry_name also for entries without stat blocks (e.g. ".."); fixes
18162 corruption of the first entry in a directory.
18163
18164 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
18165
18166 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
18167 after setting gfxterm as the active terminal. GRUB_BACKGROUND
18168 doesn't work otherwise.
18169
18170 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18171
18172 * docs/grub.texi (Features): Update list of supported file systems.
18173 (GNU/Linux): Update for GRUB 2.
18174 (Serial terminal): Remove mention of --disable-serial, which was a
18175 GRUB Legacy configure option. Update instructions to use
18176 `terminal_input' and `terminal_output' rather than `terminal'.
18177 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
18178 configuration' and `Installing GRUB using grub-install'.
18179 (Menu entry editor): Update for GRUB 2.
18180 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
18181 Document new -a, -u, and -v options.
18182 (initrd): New section.
18183 (initrd16): New section.
18184 (linux): New section.
18185 (linux16): New section.
18186 (search): The `var' argument to `--set' is optional.
18187 (GRUB only offers a rescue shell): Go into a little more detail on
18188 drive ordering.
18189
18190 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18191
18192 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
18193
18194 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18195
18196 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
18197 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
18198
18199 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
18200
18201 * util/i386/pc/grub-setup.c (setup): Rename prefix to
18202 install_prefix, in line with install_dos_part and install_bsd_part.
18203 Add new prefix variable, which is copied to install_prefix after
18204 comparing core.img in memory with the one read from disk in the
18205 no-embedding case, and use that rather than overwriting
18206 install_prefix immediately when installing to a partition.
18207 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
18208 Bicakci.
18209
18210 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18211
18212 * configure.ac: Avoid == in test command, it's not portable.
18213 * util/grub.d/30_os-prober.in: Likewise.
18214
18215 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
18216
18217 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
18218
18219 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18220
18221 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
18222 multiple (top-level) partmaps.
18223
18224 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18225
18226 * util/i386/efi/grub-install.in: Don't use empty grub_device.
18227 Reported by: Tino Keitel.
18228
18229 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18230
18231 Bidi and diacritics support.
18232
18233 * Makefile.in (widthspec.bin): New target.
18234 (widthspec.h): Likewise.
18235 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
18236 * autogen.sh: Generate unidata.c.
18237 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
18238 * commands/ls.c (grub_ls_list_devices): Likewise.
18239 (grub_ls_list_files): Likewise.
18240 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
18241 (grub_mini_cmd_lsmod): Likewise.
18242 * commands/read.c: Likewise.
18243 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
18244 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
18245 * lib/arg.c (grub_arg_show_help): Likewise.
18246 * lib/crypto.c (grub_password_get): Likewise.
18247 * normal/auth.c (grub_username_get): Likewise.
18248 * normal/misc.c (grub_normal_print_device_info): Likewise.
18249 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
18250 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
18251 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
18252 (normal/charset.c_DEPENDENCIES): New variable.
18253 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
18254 (pkglib_MODULES): Remove charset.mod.
18255 (charset_mod_SOURCES): Removed.
18256 (charset_mod_CFLAGS): Likewise.
18257 (charset_mod_LDFLAGS): Likewise.
18258 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
18259 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
18260 and term/tparm.c.
18261 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18262 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18263 (kernel_img_HEADERS): Add terminfo.h.
18264 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
18265 Fill ->font. Reverse ascii bitmaps.
18266 (grub_font_get_xheight): New function.
18267 * font/font.c (grub_font_get_string_width): Moved from here ...
18268 * gfxmenu/font.c (grub_font_get_string_width): ... here.
18269 * font/font.c (grub_font_draw_string): Moved from here ...
18270 * gfxmenu/font.c (grub_font_draw_string): ... here.
18271 * font/font.c (grub_font_dup_glyph): New function.
18272 (grub_font_blit_glyph): Likewise.
18273 (grub_font_blit_glyph_mirror): Likewise.
18274 (blit_comb): Likewise.
18275 (grub_font_construct_dry_run): Likewise.
18276 (grub_font_get_constructed_device_width): Likewise.
18277 (grub_font_construct_glyph): Likewise.
18278 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
18279 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
18280 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
18281 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
18282 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
18283 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
18284 (grub_font_get_xheight): New proto.
18285 (grub_font_get_constructed_device_width): Likewise.
18286 (grub_font_construct_glyph): Likewise.
18287 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
18288 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
18289 * include/grub/font.h (grub_font_draw_string): Moved from here ...
18290 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
18291 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
18292 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
18293 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
18294 (grub_console_getcharwidth): Likewise.
18295 * include/grub/misc.h (grub_xputs): New proto.
18296 (grub_puts): Inlined.
18297 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
18298 (grub_normal_get_line_counter): Removed.
18299 (grub_install_newline_hook): Likewise.
18300 (grub_normal_get_char_counter): New proto.
18301 (grub_normal_reset_more): Likewise.
18302 (grub_xputs_normal): Likewise.
18303 * include/grub/powerpc/ieee1275/console.h: Removed.
18304 * include/grub/sparc64/ieee1275/console.h: Likewise.
18305 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
18306 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
18307 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
18308 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
18309 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
18310 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
18311 (grub_term_input): Pass reference to self. All users updated.
18312 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
18313 Pass reference to self. New fields normal_color, highlight_color and
18314 data. All users updated.
18315 (grub_putchar): Removed.
18316 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
18317 (grub_unicode_estimate_width): New function.
18318 (grub_term_getcharwidth): Add defaults.
18319 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
18320 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
18321 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
18322 (grub_cls): Remove EXPORT_FUNC.
18323 (grub_setcolorstate): Inline.
18324 (grub_newline_hook): Removed.
18325 * include/grub/terminfo.h: Rewritten. All users updated.
18326 * include/grub/unicode.h: New file.
18327 * include/grub/video.h (grub_video_signed_rect): New type.
18328 * kern/emu/console.c (grub_console_highlight_color): Removed.
18329 (grub_console_normal_color): Likewise.
18330 (grub_console_standard_color): Made static.
18331 (grub_ncurses_putchar): Remove mapping.
18332 (grub_ncurses_getcharwidth): Removed.
18333 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18334 (grub_ncurses_setcolor): Removed.
18335 (grub_ncurses_getcolor): Likewise.
18336 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
18337 (grub_console_putchar): ... this.
18338 (grub_console_putchar): Handle argument difference.
18339 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
18340 console_init_early and console_init_lately.
18341 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
18342 * kern/misc.c (grub_puts): Removed.
18343 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
18344 (grub_vsnprintf_real): Remove str = NULL support.
18345 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
18346 * normal/charset.c (grub_utf8_to_ucs4): ... here.
18347 * kern/term.c (grub_putcode): Renamed to ...
18348 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
18349 (grub_putchar): Removed.
18350 (grub_xputs_dumb): New function.
18351 (grub_xputs): New variable.
18352 * lib/charset.c: Move from here ...
18353 * normal/charset.c: ... to here.
18354 (grub_ucs4_to_utf8): New function.
18355 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
18356 (join_types): New variable.
18357 (unpack_join): New function.
18358 (bidi_types): New variable.
18359 (unpack_bidi): New function.
18360 (get_bidi_type): Likewise.
18361 (get_join_type): Likewise.
18362 (is_mirrored): Likewise.
18363 (grub_unicode_get_comb_type): Likewise.
18364 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
18365 (is_type_after): Likewise.
18366 (grub_unicode_aglomerate_comb): Likewise.
18367 (bidi_line_wrap): Likewise.
18368 (grub_bidi_line_logical_to_visual): Likewise.
18369 (grub_bidi_logical_to_visual): Likewise.
18370 (grub_unicode_mirror_code): Likewise.
18371 (grub_unicode_shape_code): Likewise.
18372 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
18373 Don't use grub_putchar.
18374 * normal/main.c (grub_normal_init_page): Use grub_putcode.
18375 (grub_normal_reader_init): Likewise.
18376 (grub_xputs_saved): New variable.
18377 (GRUB_MOD_INIT): Set grub_xputs.
18378 (GRUB_MOD_FINI): Restore grub_xputs.
18379 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
18380 (menu_init): Avoid printing gfxmenu error.
18381 (show_menu): Use grub_normal_get_char_counter.
18382 * normal/menu_entry.c (update_screen): Fix out-of-array.
18383 (complete): Avoid NULL dereferencing.
18384 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
18385 * normal/menu_text.c (print_spaces): Removed.
18386 (grub_print_ucs4): Likewise.
18387 (grub_print_message_indented): Use grub_print_ucs4.
18388 (print_message): Use grub_putcode.
18389 (print_entry): Hanlde diacritics.
18390 * normal/term.c (term_state): New type.
18391 (grub_more_lines): Removed.
18392 (term_states): New variable.
18393 (grub_normal_line_counter): Renamed to ..
18394 (grub_normal_char_counter): ...this. All users updated.
18395 (grub_normal_get_line_counter): Renamed to ...
18396 (grub_normal_get_char_counter): ... this.
18397 (grub_normal_reset_more): New function.
18398 (process_newline): Removed.
18399 (print_more): New function.
18400 (grub_install_newline_hook): Removed.
18401 (map_code): New function.
18402 (grub_puts_terminal): Use grub_print_ucs4.
18403 (putglyph): New function.
18404 (putcode_real): Likewise.
18405 (grub_putcode): Use putcode_real.
18406 (get_maxwidth): New function.
18407 (get_startwidth): Likewise.
18408 (print_ucs4_terminal): Likewise.
18409 (find_term_state): Likewise.
18410 (put_glyphs_terminal): Likewise.
18411 (print_backlog): Likewise.
18412 (print_ucs4_real): Likewise.
18413 (grub_print_ucs4): Likewise.
18414 (grub_xputs_normal): Likewise.
18415 * term/efi/console.c (grub_console_putchar): Output diacritics.
18416 (grub_console_getcharwidth): Removed.
18417 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18418 * term/gfxterm.c (clear_char): Free chars.
18419 (scroll_up): Avoid leaking memory.
18420 (grub_gfxterm_putchar): Support diacritics.
18421 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18422 * term/i386/pc/console.c (grub_console_term_output): Declare as
18423 GRUB_TERM_CODE_TYPE_VGA.
18424 * term/i386/pc/vga.c (grub_vga_term): Declare as
18425 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
18426 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
18427 GRUB_TERM_CODE_TYPE_VGA.
18428 * term/i386/vga_common.c (map_char): Removed.
18429 (grub_console_putchar): Likewise.
18430 (grub_console_getcharwidth): Likewise.
18431 * term/ieee1275/ofconsole.c: Simplify using terminfo.
18432 (colors): Reordered to match terminfo.
18433 (grub_ofconsole_normal_color): Removed.
18434 (grub_ofconsole_writeesc): Likewise.
18435 (grub_ofconsole_highlight_color): Likewise.
18436 (grub_ofconsole_getcharwidth): Likewise.
18437 (grub_ofconsole_setcolorstate): Likewise.
18438 (grub_ofconsole_setcolor): Likewise.
18439 (grub_ofconsole_getcolor): Likewise.
18440 (grub_ofconsole_readkey): Renamed to ...
18441 (readkey): ... this. Remove escape sequence handling. Return -1 on no
18442 key.
18443 (grub_ofconsole_checkkey): Removed.
18444 (grub_ofconsole_getkey): Likewise.
18445 (grub_ofconsole_getxy): Likewise.
18446 (grub_ofconsole_gotoxy): Likewise.
18447 (grub_ofconsole_cls): Likewise.
18448 (grub_ofconsole_refresh): Likewise.
18449 (grub_ofconsole_terminfo_input): New struct.
18450 (grub_ofconsole_terminfo_output): Likewise.
18451 (grub_ofconsole_term_input): Use terminfo.
18452 (grub_ofconsole_term_output): Likewise.
18453 (grub_console_init): Split into ...
18454 (grub_console_init_early): ...this and ...
18455 (grub_console_init_lately): ...this. Use terminfo.
18456 (grub_ofconsole_putchar): Renamed to ...
18457 (put): ... this. Remove mapping.
18458 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18459 * term/serial.c: Simplify using terminfo.
18460 (xpos): Removed.
18461 (ypos): Likewise.
18462 (keep_track): Likewise.
18463 (registered): Likewise.
18464 (input_buf): Likewise.
18465 (npending): Likewise.
18466 (serial_translate_key_sequence): Likewise.
18467 (fill_input_buf): Likewise.
18468 (grub_serial_checkkey): Likewise.
18469 (grub_serial_getkey): Likewise.
18470 (grub_serial_getxy): Likewise.
18471 (grub_serial_gotoxy): Likewise.
18472 (grub_serial_putchar): Likewise.
18473 (grub_serial_cls): Likewise.
18474 (grub_serial_setcolorstate): Likewise.
18475 (grub_serial_setcursor): Likewise.
18476 (serial_hw_init): Use serial_hw_fetch.
18477 (grub_serial_terminfo_input): New variable.
18478 (grub_serial_terminfo_output): Likewise.
18479 (grub_serial_term_input): Use terminfo.
18480 (grub_serial_term_output): Likewise.
18481 * term/terminfo.c (putstr): Use put.
18482 (grub_terminfo_all_free): New function
18483 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
18484 (grub_terminfo_output_register): New function.
18485 (grub_terminfo_output_unregister): Likewise.
18486 (grub_terminfo_getxy): Likewise.
18487 (grub_terminfo_readkey): Likewise.
18488 (grub_terminfo_checkkey): Likewise.
18489 (grub_terminfo_getkey): Likewise.
18490 (grub_terminfo_input_init): Likewise.
18491 (print_terminfo): Likewise.
18492 (grub_cmd_terminfo): Handle encoding.
18493 (grub_terminfo_gotoxy): Track position.
18494 (grub_terminfo_cls): Likewise.
18495 (grub_terminfo_putchar): Likewise.
18496 (grub_terminfo_setcolorstate): Handle colors
18497 (grub_terminfo_cursor_on): This ...
18498 (grub_terminfo_cursor_off): ... and this merged into ...
18499 (grub_terminfo_setcursor): ... this.
18500 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
18501 * unicode/ArabicShaping.txt: New file (imported from Unicode).
18502 * unicode/BidiMirroring.txt: Likewise.
18503 * unicode/UnicodeData.txt: Likewise.
18504 * unicode/COPYING: Likewise.
18505 * util/grub-editenv.c (grub_putchar): Removed.
18506 (grub_xputs_real): New function.
18507 (grub_xputs): New variable.
18508 * util/grub-fstest.c (grub_putchar): Removed.
18509 (grub_xputs_real): New function.
18510 (grub_xputs): New variable.
18511 * util/grub-mkdevicemap.c (grub_putchar): Removed.
18512 (grub_xputs_real): New function.
18513 (grub_xputs): New variable.
18514 * util/grub-probe.c (grub_putchar): Removed.
18515 (grub_xputs_real): New function.
18516 (grub_xputs): New variable.
18517 * util/grub-script-check.c (grub_putchar): Removed.
18518 (grub_xputs_real): New function.
18519 (grub_xputs): New variable.
18520 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
18521 (grub_xputs_real): New function.
18522 (grub_xputs): New variable.
18523 * util/import_unicode.py: New file.
18524 * util/grub-mkfont.c (ft_errmsgs): New array.
18525 (grub_glyph_info): Make bitmap a pointer.
18526 (file_formats): New type WIDTH_SPEC.
18527 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
18528 (options): Add width-spec.
18529 (help): Likewise.
18530 (add_char): Renamed to ...
18531 (add_glyph): ... this.
18532 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
18533 (glyph_replace): New type.
18534 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
18535 (add_char): New function.
18536 (add_subst): Likewise.
18537 (process_cursive): Likewise.
18538 (add_font): Handle GSUB.
18539 (write_font_width_spec): New function.
18540 (main): Sort glyphs.
18541 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
18542 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
18543 * kern/term.c (grub_cls): Moved from here...
18544 * normal/term.c (grub_cls): ... here.
18545
18546 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18547
18548 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
18549 suitable for using within the format argument of printf when
18550 converting grub_size_t.
18551 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
18552 "x" to convert grub_size_t arguments.
18553
18554 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18555
18556 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
18557 too long captions.
18558 (list_get_minimal_size): Take selection box into account.
18559
18560 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18561
18562 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
18563 NULL font.
18564
18565 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18566
18567 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
18568 devices when iterating over /dev/disk/by-id; they will be handled
18569 later if appropriate, which they aren't always (e.g. LVM).
18570
18571 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18572
18573 * include/grub/misc.h (grub_reboot): Declare as noreturn.
18574 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
18575 fails.
18576 (grub_halt): Likewise.
18577 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
18578 reset-all fails.
18579 (grub_halt): Don't return, even if all of shut-down, power-off, and
18580 poweroff fail.
18581
18582 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18583
18584 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
18585 arguments, not three.
18586
18587 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18588
18589 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
18590 * util/grub.d/10_linux.in: Use it to check for LVM, so that
18591 LVM-on-RAID is handled correctly.
18592
18593 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18594
18595 * docs/grub.texi (Changes from GRUB Legacy): New section.
18596 (Future): Fix typo.
18597
18598 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
18599
18600 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
18601 grub.d/README accidentally ends up executable for one reason or
18602 another. Ignore it.
18603
18604 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18605
18606 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
18607 (gpt_partition_map_iterate): Support non-512B sectors.
18608
18609 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18610
18611 * kern/efi/init.c (grub_efi_init): Disable watchdog.
18612 Tested by: Seth Goldberg.
18613
18614 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18615
18616 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
18617 Properly align mbi.
18618 Reported by: Seth Goldberg.
18619
18620 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18621
18622 * util/grub-mkrescue.in: Avoid module duplication.
18623
18624 2010-07-01 Sean Finney <seanius@seanius.net>
18625
18626 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
18627
18628 2010-07-01 Sean Finney <seanius@seanius.net>
18629
18630 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
18631
18632 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18633
18634 * disk/lvm.c (grub_lvm_checkvalue): New function.
18635 (grub_lvm_check_flag): Likewise.
18636
18637 2010-07-01 Robert Millan <rmh@gnu.org>
18638
18639 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
18640 Support 'p' as partition separator on kernel of FreeBSD (used
18641 with GPT labels).
18642 (grub_util_biosdisk_get_grub_dev): Likewise.
18643
18644 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18645
18646 Yeeloong firmware port.
18647
18648 * boot/mips/yeeloong/fwstart.S: New file.
18649 * bus/cs5536.c (gpiodump): New const.
18650 (set_io_space): New function.
18651 (set_iod): Likewise.
18652 (set_p2d): Likewise.
18653 (grub_cs5536_init_geode): Likewise.
18654 * commands/mips/yeeloong/lsspd.c: New file.
18655 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
18656 (serial_mod_SOURCES): New variable.
18657 (serial_mod_CFLAGS): Likewise.
18658 (serial_mod_LDFLAGS): Likewise.
18659 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
18660 term/terminfo.c and term/tparm.c.
18661 (pkglib_IMAGES): Add fwstart.img.
18662 (fwstart_img_SOURCES): New variable.
18663 (fwstart_img_CFLAGS): Likewise.
18664 (fwstart_img_ASFLAGS): Likewise.
18665 (fwstart_img_LDFLAGS): Likewise.
18666 (fwstart_img_FORMAT): Likewise.
18667 (pkglib_MODULES): Add lsspd.mod.
18668 (lsspd_mod_SOURCES): New variable.
18669 (lsspd_mod_CFLAGS): Likewise.
18670 (lsspd_mod_LDFLAGS): Likewise.
18671 (pkglib_MODULES): Add halt.mod.
18672 (halt_mod_SOURCES): New variable.
18673 (halt_mod_CFLAGS): Likewise.
18674 (halt_mod_LDFLAGS): Likewise.
18675 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
18676 (serial_mod_SOURCES): Removed.
18677 (serial_mod_CFLAGS): Likewise.
18678 (serial_mod_LDFLAGS): Likewise.
18679 * disk/ata.c (check_device): New function.
18680 (grub_ata_device_initialize): Use check_device.
18681 (grub_ata_iterate): Recheck devices.
18682 (grub_ata_open): Likewise.
18683 (grub_atapi_iterate): Likewise.
18684 (grub_atapi_open): Likewise.
18685 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
18686 (GRUB_ATA_CH1_PORT1): Likewise.
18687 (GRUB_ATA_CH0_PORT2): Likewise.
18688 (GRUB_ATA_CH1_PORT2): Likewise.
18689 * include/grub/mips/loongson.h: New file.
18690 * include/grub/mips/yeeloong/ec.h: Likewise.
18691 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
18692 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
18693 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
18694 * include/grub/misc.h (grub_halt): Declare as noreturn.
18695 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
18696 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
18697 (UART_ENABLE_FIFO_TRIGGER1): New definition.
18698 (UART_ENABLE_DTRRTS): Likewise.
18699 (UART_ENABLE_MODEM): Removed.
18700 (UART_ENABLE_OUT2): New const.
18701 * include/grub/term.h (grub_term_register_input_active): New function.
18702 (grub_term_register_output_active): Likewise.
18703 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
18704 argument.
18705 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
18706 (init_pci): New function.
18707 (grub_machine_init): Execute platform init when firmware. Init serial.
18708 (grub_halt): Implement.
18709 (grub_exit): Likewise.
18710 (grub_reboot): Likewise.
18711 * term/serial.c (serial_hw_init): Update macros.
18712 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
18713 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
18714 (image_targets): New target mipsel-yeeloong-flash.
18715 (generate_image): Support IMAGE_YEELOONG_FLASH.
18716 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
18717 (grub_video_sm712_setup): Init card.
18718 (grub_video_sm712_set_palette): Removed.
18719 * video/sm712_init.c: New file.
18720
18721 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
18722
18723 * Makefile.in (install-local): Temporarily prepend $(builddir) to
18724 PATH when running help2man and then run it on the unadorned
18725 executable names, rather than passing $(builddir)/* paths to
18726 help2man. This avoids the build directory ending up in generated
18727 manual pages.
18728
18729 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
18730
18731 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
18732 to avoid accidents when debugging with 'sh -x'.
18733 * util/grub-mkrescue.in: Likewise.
18734 * util/grub.d/00_header.in: Likewise.
18735 * util/grub.d/10_hurd.in: Likewise.
18736 * util/grub.d/10_kfreebsd.in: Likewise.
18737 * util/grub.d/10_linux.in: Likewise.
18738 * util/grub.d/10_netbsd.in: Likewise.
18739 * util/grub.d/10_windows.in: Likewise.
18740 * util/grub.d/20_linux_xen.in: Likewise.
18741 * util/grub.d/30_os-prober.in: Likewise.
18742 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18743
18744 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
18745
18746 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
18747 last character in the buffer.
18748 Reported by: Vladimir Serbinenko.
18749
18750 2010-06-29 Robert Millan <rmh@gnu.org>
18751
18752 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
18753 (Command-line and menu entry commands): Document `badram' command.
18754
18755 2010-06-28 Robert Millan <rmh@gnu.org>
18756
18757 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
18758 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
18759 command using ${GRUB_BADRAM} as parameter.
18760
18761 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18762
18763 * docs/grub.texi (Device map): New section.
18764 (Themes): New section (stub).
18765 * Makefile.in (docs/grub.info): The info documentation now builds
18766 without errors. Make sure it stays that way.
18767
18768 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18769
18770 Use normal parser for menu entries.
18771 Reported by: Thomas Frauendorfer
18772
18773 * include/grub/parser.h (grub_parser_execute): Don't export.
18774 * normal/menu.c (grub_menu_execute_entry_real): New function.
18775 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
18776
18777 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18778
18779 * docs/grub.texi (Embedded configuration): New section (replacing
18780 old "Preset Menu" stub).
18781 (Images): New section.
18782 (configfile): Note that any menu entries defined in `file' are shown
18783 immediately.
18784
18785 2010-06-28 Josh Triplett <josh@joshtriplett.org>
18786
18787 * mmap/i386/pc/mmap_helper.S: Set CF on return.
18788
18789 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18790
18791 * util/grub-install.in: Add --debug-image= option.
18792
18793 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18794
18795 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
18796 possible on Linux.
18797
18798 * util/deviceiter.c (check_device): Rename to ...
18799 (check_device_readable_unique): ... this. Update all callers.
18800 Maintain and check a list of which devices (by canonicalized name)
18801 have already been seen.
18802 (clear_seen_devices): New function.
18803 (compare_file_names) [__linux__]: New function.
18804 (grub_util_iterate_devices): Clear the list of seen devices on exit
18805 and (just in case) on entry.
18806 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
18807 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
18808 seen-devices list, superseded by general code in check_device.
18809
18810 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
18811
18812 * commands/cat.c (options): New variable.
18813 (grub_cmd_cat): Parse options. If the --dos option is given, print
18814 DOS-style "\r\n" line endings as simple newlines (Debian bug
18815 #586358).
18816 (GRUB_MOD_INIT): Use extcmd.
18817 (GRUB_MOD_FINI): Likewise.
18818 * docs/grub.texi (cat): Document --dos.
18819
18820 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18821
18822 XEN with Linux grub-mkconfig support.
18823
18824 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
18825 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
18826 GRUB_CMDLINE_XEN_DEFAULT.
18827 * util/grub.d/20_linux_xen.in: New file.
18828
18829 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18830
18831 Initialise VGA video on qemu ourselves.
18832
18833 * boot/i386/qemu/boot.S: Don't call 0xc000.
18834 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
18835 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
18836 (kernel_img_HEADERS): Add pci.h.
18837 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
18838 * configure.ac: Force unifont on qemu and yeeloong.
18839 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
18840 (grub_vga_palette_write): Use correct register.
18841 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
18842 Call grub_qemu_init_cirrus.
18843 * kern/i386/qemu/init.c: New file.
18844 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
18845
18846 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
18847
18848 2010-06-26 Pavel Roskin <proski@gnu.org>
18849
18850 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
18851 13.
18852
18853 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
18854
18855 * docs/grub.texi (Simple configuration): Explain that
18856 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
18857 set to `true' to disable their respective recovery entries, not
18858 merely set.
18859
18860 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
18861
18862 Make the `source' command slightly faster.
18863
18864 * normal/main.c (grub_normal_execute): Don't re-read list files when
18865 nested.
18866
18867 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
18868
18869 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
18870 field position and mask size to red fields from mode_info, not
18871 green.
18872 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
18873 Remove redundant tag->common.framebuffer_type assignment.
18874 Reported by: Seth Goldberg.
18875
18876 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
18877
18878 Sync up other versions of the Linux loader with Robert Millan's
18879 change of 2010-01-09, "Make loader output a bit more user-friendly".
18880
18881 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
18882 grub_dprintf().
18883 (grub_cmd_linux): Likewise.
18884 (grub_cmd_initrd): Likewise.
18885 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
18886 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
18887
18888 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
18889
18890 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
18891 larger than MEMORY_MAP_SIZE.
18892
18893 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
18894
18895 Fix parallel build.
18896
18897 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
18898 dependency.
18899 * script/parser.y: #include grub_script.tab.h header.
18900
18901 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18902
18903 Support >3GiB and <16MiB RAM in i386-qemu.
18904
18905 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
18906 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
18907 (grub_lower_mem): Removed.
18908 (grub_upper_mem): Likewise.
18909 (mem_size): Made static.
18910 (above_4g): New variable.
18911 (grub_machine_mmap_init): Detect small mem_size and above_4g.
18912 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
18913 support.
18914
18915 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
18916
18917 Cirrus 5446 and Bochs video cards support.
18918
18919 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
18920 video_bochs.mod
18921 (video_cirrus_mod_SOURCES): New variable.
18922 (video_cirrus_mod_CFLAGS): Likewise.
18923 (video_cirrus_mod_LDFLAGS): Likewise.
18924 (video_bochs_mod_SOURCES): Likewise.
18925 (video_bochs_mod_CFLAGS): Likewise.
18926 (video_bochs_mod_LDFLAGS): Likewise.
18927 * include/grub/vga.h: New file.
18928 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
18929 (grub_video_fb_set_page_t): New type.
18930 (grub_video_fb_setup): New prototype.
18931 (grub_video_fb_swap_buffers): Likewise.
18932 (grub_video_fb_get_info_and_fini): Likewise.
18933 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
18934 (CRTC_DATA_PORT): Likewise.
18935 (CRTC_CURSOR): Likewise.
18936 (CRTC_CURSOR_ADDR_HIGH): Likewise.
18937 (CRTC_CURSOR_ADDR_LOW): Likewise.
18938 (CRTC_CURSOR_DISABLE): Likewise.
18939 (update_cursor): Use grub_vga_cr_write.
18940 (grub_vga_text_setcursor): Likewise.
18941 * video/bochs.c: New file.
18942 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
18943 (palette): Likewise.
18944 (palette_size): Likewise.
18945 (framebuffer): New variable.
18946 (grub_video_fb_init): Use 'framebuffer'.
18947 (grub_video_fb_fini): Likewise.
18948 (grub_video_fb_get_info): Likewise.
18949 (grub_video_fb_get_palette): Likewise.
18950 (grub_video_fb_set_palette): Likewise.
18951 (grub_video_fb_set_viewport): Likewise.
18952 (grub_video_fb_get_viewport): Likewise.
18953 (grub_video_fb_map_color): Likewise.
18954 (grub_video_fb_map_rgb): Likewise.
18955 (grub_video_fb_map_rgba): Likewise.
18956 (grub_video_fb_unmap_color): Likewise.
18957 (grub_video_fb_unmap_color_int): Likewise.
18958 (grub_video_fb_fill_rect): Likewise.
18959 (grub_video_fb_blit_bitmap): Likewise.
18960 (grub_video_fb_blit_render_target): Likewise.
18961 (grub_video_fb_scroll): Likewise.
18962 (grub_video_fb_create_render_target): Likewise.
18963 (grub_video_fb_doublebuf_blit_init): Likewise.
18964 (grub_video_fb_set_active_render_target): Handle doublebuffering.
18965 (doublebuf_pageflipping_update_screen): New function.
18966 (doublebuf_pageflipping_init): Likewise.
18967 (grub_video_fb_setup): Likewise.
18968 (grub_video_fb_swap_buffers): Likewise.
18969 (grub_video_fb_get_info_and_fini): Likewise.
18970 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
18971 All users updated.
18972 (doublebuf_pageflipping_commit): Restructured into ...
18973 (doublebuf_pageflipping_set_page): ... this.
18974 (doublebuf_pageflipping_update_screen): Removed.
18975 (doublebuf_pageflipping_init): Likewise.
18976 (double_buffering_init): Likewise.
18977 (grub_video_vbe_setup): Use grub_video_fb_setup.
18978 (grub_video_vbe_swap_buffers): Removed.
18979 (grub_video_vbe_set_active_render_target): Likewise.
18980 (grub_video_vbe_get_active_render_target): Likewise.
18981 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
18982 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
18983 grub_video_fb_set_active_render_target and
18984 grub_video_fb_get_active_render_target.
18985 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
18986 (SEQUENCER_DATA_PORT): Likewise.
18987 (MAP_MASK_REGISTER): Likewise.
18988 (CRTC_ADDR_PORT): Likewise.
18989 (CRTC_DATA_PORT): Likewise.
18990 (START_ADDR_HIGH_REGISTER): Likewise.
18991 (START_ADDR_LOW_REGISTER): Likewise.
18992 (GRAPHICS_ADDR_PORT): Likewise.
18993 (GRAPHICS_DATA_PORT): Likewise.
18994 (READ_MAP_REGISTER): Likewise.
18995 (INPUT_STATUS1_REGISTER): Likewise.
18996 (INPUT_STATUS1_VERTR_BIT): Likewise.
18997 (get_map_mask): Use grub_vga_sr_read.
18998 (set_map_mask): Use grub_vga_sr_write.
18999 (set_read_map): Use grub_vga_gr_write.
19000 (set_start_address): Use grub_vga_cr_write.
19001 * video/sm712.c (framebuffer): Remove leftover fields.
19002
19003 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
19004
19005 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
19006 setting GRUB_VIDEO_BACKEND. Make it available as a user override
19007 instead. Replace the gfxterm backend check with a check that
19008 ${GRUB_PREFIX}/video.lst is non-empty.
19009 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
19010 again.
19011 (load_video): New generated function. Call it before loading
19012 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
19013 * util/grub.d/10_linux.in (linux_entry): Call load_video.
19014 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
19015 * docs/grub.texi (Simple configuration): Document
19016 GRUB_VIDEO_BACKEND.
19017
19018 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19019
19020 Use video functions in linux and xnu loaders.
19021
19022 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
19023 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
19024 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
19025 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
19026 loader/i386/pc/linux.c.
19027 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
19028 (find_line_len): Removed.
19029 (find_framebuf): Likewise.
19030 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
19031 * loader/i386/efi/xnu.c: Removed.
19032 * loader/i386/pc/xnu.c: Moved from here...
19033 * loader/i386/xnu.c: ...here.
19034
19035 Enable priorities in video drivers.
19036
19037 * include/grub/video.h (grub_video_adapter_prio_t): New type.
19038 (grub_video_adapter): New field prio.
19039 (grub_video_register): Respect prio when inserting.
19040 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
19041 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
19042 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
19043 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
19044 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
19045 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
19046 * video/sm712.c (grub_video_sm712_adapter): Likewise.
19047
19048 Fix SDL driver ID.
19049
19050 * include/grub/video.h (grub_video_driver_id_t): New value
19051 GRUB_VIDEO_DRIVER_SDL.
19052 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
19053
19054 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
19055
19056 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
19057 argument to printf.
19058 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19059
19060 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
19061
19062 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
19063 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19064
19065 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
19066
19067 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
19068 directly, and recommend grub-install instead.
19069 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19070
19071 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
19072
19073 Fix i386-pc prefix handling with nested partitions (Debian bug
19074 #585068). Note that the case where the core image is booted using
19075 multiboot and relocated from its original location still requires
19076 more work.
19077
19078 * kern/i386/pc/init.c (make_install_device): If the prefix starts
19079 with "(,", fill the boot drive in between those two characters, but
19080 expect that a full partition specification including partition map
19081 names will follow.
19082 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
19083 specified, write a prefix without the drive name but including a
19084 full partition specification.
19085
19086 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
19087
19088 * util/grub-mkconfig.in: Ignore non-option arguments, for
19089 compatibility with older versions (before 2010-06-12) which did the
19090 same. In particular, this makes it easier to ship an update-grub
19091 wrapper which is compatible with that used with GRUB Legacy (Debian
19092 bug #586056).
19093
19094 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19095
19096 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
19097 for manual page generation.
19098
19099 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19100
19101 * po/POTFILES: Remove leftover commands/handler.c.
19102
19103 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
19104
19105 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
19106 left this script non-functional.
19107
19108 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
19109
19110 * docs/man/grub-emu.h2m: New file.
19111
19112 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
19113
19114 * docs/grub.texi (Commands): Document reduced command set in rescue
19115 mode.
19116 (cpuid): New section.
19117
19118 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
19119
19120 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
19121 new partition naming style.
19122 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
19123
19124 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
19125
19126 Add "-o grub.iso" like cmdline options support.
19127
19128 * util/grub-install.in: Improve cmdline option parsing.
19129 * util/grub-mkconfig.in: Likewise.
19130 * util/grub-mkrescue.in: Likewise.
19131 * util/grub-reboot.in: Likewise.
19132 * util/grub-set-default.in: Likewise.
19133 * util/i386/efi/grub-install.in: Likewise.
19134 * util/ieee1275/grub-install.in: Likewise.
19135 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19136
19137 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
19138
19139 * .bzrignore: Ignore 41_custom.
19140
19141 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19142
19143 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
19144
19145 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
19146
19147 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
19148 prototype declarations.
19149
19150 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
19151 generating fs, partmap, and video lists.
19152 * include/grub/fs.h (grub_fs_register): Omit prototype if
19153 GRUB_LST_GENERATOR is defined.
19154 * include/grub/partition.h (grub_partition_map_register): Likewise.
19155 * include/grub/video.h (grub_video_register): Likewise.
19156
19157 2010-06-12 Javier Martín <lordhabbit@gmail.com>
19158
19159 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
19160
19161 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19162
19163 * util/grub-mkrescue.in: Support --xorriso argument.
19164
19165 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19166
19167 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
19168 Suggested by: Thomas Schmitt.
19169
19170 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19171
19172 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
19173 Suggested by: Thomas Schmitt.
19174
19175 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19176
19177 custom.cfg support.
19178
19179 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
19180 * util/grub.d/41_custom.in: New file.
19181
19182 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
19183
19184 * util/grub-mkrescue.in (make_image): Remove sh module, which has
19185 been merged back into normal.
19186
19187 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
19188
19189 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
19190 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
19191
19192 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
19193
19194 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
19195 when generating manual pages.
19196 * docs/man/grub-bin2h.h2m: New file.
19197 * docs/man/grub-editenv.h2m: New file.
19198 * docs/man/grub-fstest.h2m: New file.
19199 * docs/man/grub-install.h2m: New file.
19200 * docs/man/grub-macho2img.h2m: New file.
19201 * docs/man/grub-mkconfig.h2m: New file.
19202 * docs/man/grub-mkdevicemap.h2m: New file.
19203 * docs/man/grub-mkfont.h2m: New file.
19204 * docs/man/grub-mkimage.h2m: New file.
19205 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
19206 * docs/man/grub-mkrelpath.h2m: New file.
19207 * docs/man/grub-mkrescue.h2m: New file.
19208 * docs/man/grub-ofpathname.h2m: New file.
19209 * docs/man/grub-pe2elf.h2m: New file.
19210 * docs/man/grub-probe.h2m: New file.
19211 * docs/man/grub-reboot.h2m: New file.
19212 * docs/man/grub-script-check.h2m: New file.
19213 * docs/man/grub-set-default.h2m: New file.
19214 * docs/man/grub-setup.h2m: New file.
19215
19216 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
19217
19218 Use FOR_* macros instead of *_iterate whenever possible.
19219
19220 * commands/handler.c: Removed.
19221 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
19222 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
19223 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19224 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
19225 (grub_probe_SOURCES): Remove kern/parser.c.
19226 (util/grub-script-check.c_DEPENDENCIES): Removed.
19227 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
19228 and grub_script_check_init.c.
19229 (grub_script_check_init.lst): Removed.
19230 (grub_script_check_init.h): Likewise.
19231 (grub_script_check_init.c): Likewise.
19232 (pkglib_MODULES): Remove handler.mod and sh.mod.
19233 (handler_mod_SOURCES): Removed.
19234 (handler_mod_CFLAGS): Likewise.
19235 (handler_mod_LDFLAGS): Likewise.
19236 (normal_mod_SOURCES): Remove normal/handler.c.
19237 Add script/main.c, script/script.c, script/execute.c,
19238 script/function.c, script/lexer.c, grub_script.tab.c
19239 and grub_script.yy.c.
19240 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19241 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19242 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
19243 (grub_setup_SOURCES): Remove kern/parser.c.
19244 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19245 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
19246 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
19247 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19248 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19249 (grub_setup_SOURCES): Remove kern/parser.c.
19250 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19251 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
19252 * include/grub/command.h (grub_command_iterate): Removed.
19253 (FOR_COMMANDS): New macro.
19254 * include/grub/dl.h (grub_dl): New member next.
19255 (grub_dl_iterate): Removed.
19256 (grub_dl_head): New variable declaration.
19257 (FOR_DL_MODULES): New macro.
19258 * include/grub/fs.h: Include list.h.
19259 (grub_fs): Make next first element.
19260 (grub_fs_list): New variable declaration.
19261 (grub_fs_register): Make inline.
19262 (grub_fs_unregister): Likewise.
19263 (grub_fs_iterate): Removed.
19264 (FOR_FILESYSTEMS): New macro.
19265 * include/grub/handler.h: Removed.
19266 * include/grub/list.h (grub_list_hook_t): Removed.
19267 (grub_list_test_t): Likewise.
19268 (grub_list_pop): Likewise.
19269 (grub_list_iterate): Likewise.
19270 (grub_list_insert): Likewise.
19271 (FOR_LIST_ELEMENTS): New macro.
19272 * include/grub/parser.h (grub_parser_class): Removed.
19273 (grub_parser_register): Likewise.
19274 (grub_parser_unregister): Likewise.
19275 (grub_parser_get_current): Likewise.
19276 (grub_parser_set_current): Likewise.
19277 (grub_register_rescue_parser): Likewise.
19278 (grub_rescue_parse_line): New function.
19279 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
19280 * include/grub/script_sh.h (grub_script_function_list): New variable
19281 declaration.
19282 (FOR_SCRIPT_FUNCTIONS): New macro.
19283 (grub_script_function_iterate): Removed.
19284 (grub_normal_parse_line): New prototype.
19285 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
19286 (FOR_DISABLED_TERM_INPUTS): Likewise.
19287 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
19288 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
19289 * include/grub/video.h (grub_video_adapter): Move 'next' to first
19290 element.
19291 (grub_video_register): Inline.
19292 (grub_video_unregister): Likewise.
19293 (grub_video_adapter_list): New variable declaration.
19294 (grub_video_iterate): Removed.
19295 (FOR_VIDEO_ADAPTERS): New macro.
19296 * kern/dl.c (grub_dl_list): Removed. All users updated.
19297 (grub_dl_iterate): Removed.
19298 * kern/fs.c (grub_fs_list): Make global.
19299 (grub_fs_register): Removed.
19300 (grub_fs_unregister): Likewise.
19301 (grub_fs_iterate): Likewise.
19302 * kern/handler.c: Removed.
19303 * kern/list.c (grub_list_pop): Removed.
19304 (grub_list_iterate): Likewise.
19305 (grub_list_insert): Likewise.
19306 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
19307 (grub_prio_list_insert): Don't use grub_list_insert.
19308 * kern/main.c (grub_register_rescue_parser): Don't call
19309 grub_register_rescue_parser.
19310 * kern/parser.c (grub_parser_class): Removed.
19311 (grub_parser_execute): Use grub_rescue_parse_line.
19312 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
19313 (grub_rescue_parser): Removed.
19314 (grub_register_rescue_parser): Likewise.
19315 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
19316 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
19317 (grub_auth_check_authentication): Likewise.
19318 * normal/completion.c (iterate_command): Removed.
19319 (grub_normal_do_completion): Use FOR_COMMANDS.
19320 * normal/handler.c: Removed.
19321 * normal/main.c (read_config_file): Remove parser changing.
19322 (grub_normal_execute): Don't call read_handler_list.
19323 (grub_normal_read_line_real): Statically allocate prompt.
19324 (grub_cmdline_run): Use grub_normal_parse_line.
19325 (GRUB_MOD_FINI): Don't call free_handler_list.
19326 * normal/menu_entry.c (run): Likewise.
19327 * script/function.c (grub_script_function_list): Make global.
19328 (grub_script_function_iterate): Removed.
19329 * script/main.c (grub_normal_parse_line): Make global.
19330 (grub_sh_parser): Removed.
19331 (GRUB_MOD_INIT): Likewise.
19332 (GRUB_MOD_FINI): Likewise.
19333 * tests/lib/functional_test.c (grub_functional_test): Use
19334 FOR_LIST_ELEMENTS.
19335 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
19336 (grub_test_run): Use FOR_LIST_ELEMENTS.
19337 * tests/lib/unit_test.c (main): Likewise.
19338 * util/deviceiter.c (grub_util_iterate_devices): Don't use
19339 grub_list_pop.
19340 * util/grub-fstest.c (grub_term_input_class): Removed.
19341 (grub_term_output_class): Likewise.
19342 * util/grub-probe.c: Likewise.
19343 * util/i386/pc/grub-setup.c: Likewise.
19344 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19345 * util/grub-script-check.c (main): Don't call grub_init_all and
19346 grub_fini_all.
19347 * video/video.c (grub_video_adapter_list): Make global.
19348 (grub_video_register): Removed.
19349 (grub_video_unregister): Likewise.
19350 (grub_video_iterate): Likewise.
19351
19352 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
19353
19354 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
19355 reported by Henrique Ferreiro.
19356
19357 2010-06-09 Robert Millan <rmh@gnu.org>
19358
19359 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
19360 ones, when both are available.
19361
19362 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19363
19364 Make --version uniform and avoid hard-coded program name.
19365
19366 * util/grub-mkimage.c (main): Use `program_name' instead of
19367 hard-coded string.
19368 * util/i386/pc/grub-setup.c (main): Likewise.
19369 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
19370 * util/grub-install.in: Save the basename of $0 in $self, and use the
19371 latter in informational messages. Use the same format for --version
19372 as the binary programs.
19373 * util/grub-mkconfig.in: Likewise.
19374 * util/grub-mkrescue.in: Likewise.
19375 * util/grub-reboot.in: Likewise.
19376 * util/grub-set-default.in: Likewise.
19377 * util/i386/efi/grub-install.in: Likewise.
19378 * util/ieee1275/grub-install.in: Likewise.
19379 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19380
19381 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19382
19383 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
19384 embedding area. Use <= instead of == when checking for non-emptiness.
19385
19386 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19387
19388 * configure.ac: Add `.' to the directories searched for unifont.
19389
19390 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
19391
19392 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
19393 grub_script.yy.h.
19394
19395 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
19396
19397 * docs/grub.texi (History): Expand to cover GRUB 2.
19398 (Serial terminal): Refer to `terminal_input' and `terminal_output'
19399 commands, not `terminal'.
19400 (serial): Likewise.
19401 (terminal_input): New section.
19402 (terminal_output): New section.
19403 (uppermem): New section (stub).
19404 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
19405
19406 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
19407
19408 * docs/grub.texi (Security): Menu entries are unrestricted by
19409 default, not restricted to superusers as I had previously thought.
19410 Reword to account for this.
19411
19412 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19413
19414 * kern/emu/misc.c (device_mapper_null_log): New function.
19415 (grub_device_mapper_supported): New function.
19416 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
19417 prototype.
19418 * kern/emu/hostdisk.c (find_partition_start): Check whether
19419 device-mapper is supported before trying to use it.
19420 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
19421
19422 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19423
19424 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
19425 (File name syntax): Likewise.
19426 (help): --all is no longer supported in GRUB 2. Be more precise
19427 about pattern matching.
19428
19429 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19430
19431 * normal/completion.c (grub_normal_do_completion): When completing
19432 arguments to "set" and the current word contains an equals sign,
19433 skip to after the equals sign before starting completion.
19434
19435 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19436
19437 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
19438
19439 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19440
19441 * docs/grub.texi (Network): New section.
19442 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
19443 `(nd)' as in GRUB Legacy.
19444 (pxe_unload): New section.
19445
19446 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19447
19448 * docs/grub.texi (Troubleshooting): `echo' is not usually available
19449 in the rescue shell, so recommend using `set' instead. Thanks,
19450 Jordan Uggla.
19451
19452 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19453
19454 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
19455 (password): New section.
19456 (password_pbkdf2): New section.
19457 (search): New section.
19458 (Security): New section.
19459 (Troubleshooting): New section, currently very incomplete.
19460 (Invoking grub-mkpasswd-pbkdf2): New section.
19461 (Internals): New section, currently very incomplete.
19462
19463 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19464
19465 * util/grub.d/00_header.in: Add some more quoting (of
19466 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
19467 work again.
19468 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
19469
19470 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
19471
19472 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
19473 to `count', fixing variable shadowing that broke the -c option.
19474
19475 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
19476
19477 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
19478 in case they contain spaces.
19479
19480 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
19481
19482 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
19483 "part_" to partmap module names, in line with grub-install.
19484 Reported by: Jindřich Makovička (Debian bug #584426).
19485
19486 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
19487
19488 * util/grub-mkimage.c: Make target-related error messages slightly
19489 more helpful; -O talks about "format". Explicitly point to the use
19490 of -O if no target is specified.
19491 Reported by: Didier Raboud (Debian bug #584415).
19492
19493 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
19494
19495 * INSTALL: Document several build requirements for optional features
19496 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
19497
19498 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
19499
19500 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
19501 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
19502 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
19503
19504 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19505
19506 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
19507 Thanks to Jordan Uggla for spotting this.
19508
19509 2010-06-02 Aleš Nesrsta <starous@volny.cz>
19510
19511 Finally make USB usable.
19512
19513 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
19514 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
19515 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
19516 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
19517 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
19518 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
19519 (GRUB_OHCI_FSMPS): Likewise.
19520 (GRUB_OHCI_PERIODIC_START): Likewise.
19521 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
19522 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
19523 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
19524 (GRUB_OHCI_SET_PORT_RESET): Likewise.
19525 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
19526 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
19527 (grub_ohci_transaction): Likewise.
19528 (grub_ohci_transfer): Improve condition detection algorithms.
19529 Handle toggle property. Program the transactions correctly.
19530 Improve error handling. Various important fixups.
19531 (grub_ohci_portstatus): Put register writes in right order.
19532 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
19533 (grub_uhci_transfer): Don't show "failed" message on success.
19534 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
19535 array.
19536 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
19537 determine its size.
19538 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
19539 before initialization is completed. Use IN direction for empty
19540 transfers. Use last_trans and compute toggle.
19541 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
19542 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
19543 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
19544 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
19545 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
19546 (grub_usb_device): Increase toggle to 256.
19547 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
19548 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
19549 GRUB_USBMS_SUBCLASS_SFF8070.
19550 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
19551 (grub_scsi_inquiry): New member page and alloc_length.
19552 (grub_scsi_request_sense): New structure.
19553 (grub_scsi_request_sense_data): Likewise.
19554 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
19555 control.
19556 * disk/scsi.c (grub_scsi_request_sense): New function.
19557 (grub_scsi_test_unit_ready): Likewise.
19558 (grub_scsi_inquiry): Fill new fields.
19559 (grub_scsi_read_capacity): Likewise.
19560 (grub_scsi_read10): Add request sense at the end.
19561 (grub_scsi_read12): Likewise.
19562 (grub_scsi_write10): Likewise.
19563 (grub_scsi_write12): Likewise.
19564 (grub_scsi_open): Add Test Unit Ready.
19565 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
19566 Support additional subclasses. Con't clear halt yet. Activate the
19567 proper config. Calculate LUNs correctly.
19568 (grub_usbms_transfer): Various important fixups.
19569
19570 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19571
19572 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
19573 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
19574 (grub_ohci_fini_hw): New function.
19575 (grub_ohci_restore_hw): Likewise.
19576 (GRUB_MOD_INIT(ohci)): Register preboot hook.
19577 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
19578 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
19579
19580 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19581
19582 Dedicated DMA allocations.
19583
19584 * bus/pci.c (grub_memalign_dma32): New function
19585 (grub_dma_free): Likewise.
19586 (grub_dma_get_virt): Likewise.
19587 (grub_dma_get_phys): Likewise.
19588 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
19589 (grub_ohci_pci_iter): Use dma32_alloc.
19590 (grub_ohci_transfer): Likewise.
19591 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
19592 (grub_usb_bulk_readwrite): Likewise.
19593 * include/grub/pci.h: Add declarations.
19594
19595 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19596
19597 CS5536 support.
19598
19599 * bus/cs5536.c: New file.
19600 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
19601 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
19602 (cs5536_mod_SOURCES): New variable.
19603 (cs5536_mod_CFLAGS): Likewise.
19604 (cs5536_mod_LDFLAGS): Likewise.
19605 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
19606 machine/pci.h.
19607 (kernel_img_SOURCES): Add bus/cs5536.c.
19608 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
19609 usb_keyboard.mod.
19610 (usb_mod_SOURCES): New variable.
19611 (usb_mod_CFLAGS): New variable.
19612 (usb_mod_LDFLAGS): New variable.
19613 (usbtest_mod_SOURCES): New variable.
19614 (usbtest_mod_CFLAGS): New variable.
19615 (usbtest_mod_LDFLAGS): New variable.
19616 (ohci_mod_SOURCES): New variable.
19617 (ohci_mod_CFLAGS): New variable.
19618 (ohci_mod_LDFLAGS): New variable.
19619 (usbms_mod_SOURCES): New variable.
19620 (usbms_mod_CFLAGS): New variable.
19621 (usbms_mod_LDFLAGS): New variable.
19622 (usb_keyboard_mod_SOURCES): New variable.
19623 (usb_keyboard_mod_CFLAGS): New variable.
19624 (usb_keyboard_mod_LDFLAGS): New variable.
19625 * include/grub/smbus.h: New file.
19626 * include/grub/cs5536.h: New file.
19627
19628 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19629
19630 * util/grub.d/00_header.in: Add safety check to make sure that
19631 ${locale_dir} exists before trying to probe it.
19632
19633 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19634
19635 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
19636 per the GNU Coding Standards; this is now too obscure to be worth
19637 documenting.
19638 (QNX): Likewise.
19639 (chainloader): Remove cross-reference to `SCO UnixWare'.
19640
19641 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19642
19643 * docs/grub.texi (Chain-loading): New section.
19644 (DOS/Windows): New section, borrowed from GRUB Legacy with details
19645 adjusted for GRUB 2.
19646 (SCO UnixWare): Likewise.
19647 (QNX): Likewise.
19648 (chainloader): Add reference to `Block list syntax'.
19649 (drivemap): New section.
19650 (parttool): New section.
19651
19652 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19653
19654 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
19655 the grub shell'.
19656 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
19657 (Installing GRUB using grub-install): Remove reference to the grub
19658 shell; mention `grub-mkimage' and `grub-setup' instead.
19659 (Invoking grub-install): Likewise.
19660 (Interface): Add reference to `Menu entry editor'.
19661 (serial): Remove `--device' option.
19662
19663 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19664
19665 * docs/grub.texi (Configuration): New section, documenting
19666 configuration file generation using grub-mkconfig. I've left a slot
19667 for documenting the full shell scripting format but have not yet
19668 started on writing that up.
19669 (Invoking grub-mkconfig): New section.
19670
19671 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19672
19673 * docs/grub.texi (direntry): Remove grub-terminfo reference.
19674 (GNU GRUB manual): Likewise.
19675 (General commands): Update description of `terminfo' for GRUB 2.
19676
19677 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19678
19679 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
19680 (GRUB_MOD_INIT): Fix capitalisation.
19681 * docs/grub.texi (Command-line and menu entry commands): Document
19682 gettext and gptsync commands.
19683
19684 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
19685
19686 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
19687 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
19688
19689 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
19690
19691 Add btrfs probing support, currently only in the single-device case.
19692
19693 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
19694 function.
19695 (grub_guess_root_device): Call find_root_device_from_mountinfo
19696 before looking in /dev.
19697
19698 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19699
19700 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
19701 GRUB_DISK_SIZE_UNKNOWN.
19702 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
19703
19704 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
19705
19706 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
19707 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
19708 corrupted or not synced properly.
19709
19710 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19711
19712 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
19713 Reported by: Seth Goldberg.
19714
19715 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19716
19717 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
19718 addition of dest.
19719 Reported by: Seth Goldberg.
19720
19721 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19722
19723 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
19724 Reported by: Seth Goldberg.
19725
19726 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19727
19728 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
19729 64-bit address as signed on MIPS.
19730
19731 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
19732
19733 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
19734 to the empty string.
19735
19736 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
19737
19738 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
19739
19740 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
19741 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
19742 * kern/misc.c (__enable_execute_stack): Disable on
19743 GRUB_MACHINE_EMU.
19744
19745 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
19746
19747 Make grub-probe work with symbolic links under /dev/mapper as well
19748 as with real block devices. The Linux world seems to be (at best)
19749 in transition here, and GRUB shouldn't get caught in the middle.
19750
19751 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
19752 /dev/mapper.
19753
19754 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
19755
19756 * util/grub-script-check.c (main): Ensure defined behaviour on empty
19757 input files (in which case exit zero).
19758
19759 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
19760
19761 * kern/emu/misc.c (canonicalize_file_name): realpath can still
19762 return NULL for various reasons even if it has a maximum-length
19763 buffer: for example, there might be a symlink loop, or the path
19764 might exceed PATH_MAX. If this happens, return NULL.
19765
19766 2010-05-27 Robert Millan <rmh@gnu.org>
19767
19768 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
19769 partmap module to handle cross-partmap setups.
19770 Reported by Orestes Mas. Gràcies!
19771
19772 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
19773
19774 * util/grub-mkrescue.in: Initialise override_dir rather than
19775 assuming that it's unset or empty in the environment.
19776
19777 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
19778
19779 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
19780 variable index into p_index to suppress a warning with -Wshadow.
19781
19782 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
19783
19784 * INSTALL: Added flex >= 2.5.35 requirement.
19785
19786 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19787
19788 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
19789
19790 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19791
19792 cmostest support.
19793
19794 * commands/i386/cmostest.c: New file.
19795 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
19796 (cmostest_mod_SOURCES): New variable.
19797 (cmostest_mod_CFLAGS): Likewise.
19798 (cmostest_mod_LDFLAGS): Likewise.
19799 * conf/i386-pc.rmk: Likewise.
19800 * docs/grub.texi (Vendor power-on keys): New section.
19801 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
19802 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
19803 and GRUB_BUTTON_CMOS_ADDRESS.
19804 * util/grub.d/00_header.in: Handle powering-on by separate button.
19805
19806 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19807
19808 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
19809 Removed drawing_scrollbar argument. All users updated
19810 Fixes #29792.
19811 Reported by Jo Shields
19812
19813 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19814
19815 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
19816 buffer since gfxterm handles double repaint.
19817
19818 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19819
19820 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
19821 * term/gfxterm.c (real_scroll): Likewise.
19822
19823 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19824
19825 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
19826 before calling BIOS.
19827
19828 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19829
19830 * include/grub/i18n.h: Always enable grub_gettext.
19831
19832 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19833
19834 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
19835 partition naming style.
19836
19837 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
19838
19839 * util/grub-mkconfig.in: Fix handling of -o so that it works when
19840 not the first option.
19841
19842 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
19843
19844 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
19845
19846 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
19847
19848 * util/misc.c: Move inclusion of <limits.h> to ...
19849 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
19850
19851 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
19852
19853 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
19854 Fix merge error in NetBSD code.
19855 (find_partition_start) [__NetBSD__]: Likewise.
19856
19857 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
19858
19859 Fix grub-mkrescue usage unit testing.
19860
19861 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
19862
19863 2010-05-18 Christian Franke <franke@computer.org>
19864
19865 * util/grub.d/10_windows.in: Use path names instead of
19866 drive letters to prevent warning from Cygwin 1.7.
19867 Add drivemap command to menuentry if needed.
19868
19869 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
19870
19871 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
19872 gnumach and gnumach.gz.
19873
19874 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19875
19876 * include/grub/i18n.h (gettext): Inline instead of using #define.
19877 (grub_gettext): Likewise.
19878 (_): Likewise.
19879
19880 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19881
19882 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
19883 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
19884 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
19885 (main): Add a slash after pkglibdirroot.
19886
19887 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19888
19889 * util/grub-install.in: Add missing "in" keyword.
19890
19891 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19892
19893 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
19894 Reported by: Seth Goldberg.
19895
19896 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
19897
19898 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
19899
19900 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
19901
19902 * configure.ac: Check for Linux device-mapper support.
19903
19904 * util/hostdisk.c (device_is_mapped): New function.
19905 (find_partition_start): New function, partly broken out from
19906 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
19907 device-mapper support added.
19908 (linux_find_partition): Use find_partition_start.
19909 (convert_system_partition_to_system_disk): Add `st' argument.
19910 Support Linux /dev/mapper/* devices if device-mapper support is
19911 available; only DM-RAID devices are understood at present.
19912 (find_system_device): Add `st' argument. Pass it to
19913 convert_system_partition_to_system_disk.
19914 (grub_util_biosdisk_get_grub_dev): Pass stat result to
19915 find_system_device and convert_system_partition_to_system_disk. Use
19916 find_partition_start.
19917
19918 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
19919 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
19920 * util/deviceiter.c [__linux__]: Define MINOR.
19921 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
19922 * util/mkdevicemap.c (grub_putchar): New function.
19923 (grub_getkey): New function.
19924 (grub_refresh): New function.
19925 (main): Set debug=all if -v -v is used.
19926
19927 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
19928
19929 Fix build with non-GNU libcs.
19930
19931 * util/misc.c (canonicalize_file_name): Move to ...
19932 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
19933 grub_make_system_path_relative_to_its_root.
19934
19935 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
19936
19937 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
19938 we handle finding grub-mkimage. Default to finding grub-mkimage in
19939 ${bindir} with program_transform_name applied, and provide a
19940 --grub-mkimage option to override this.
19941
19942 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19943
19944 Remove grub-mkisofs.
19945
19946 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
19947 (grub_mkisofs_SOURCES): Removed.
19948 (grub_mkisofs_CFLAGS): Removed.
19949 * util/mkisofs/defaults.h: Removed.
19950 * util/mkisofs/eltorito.c: Likewise.
19951 * util/mkisofs/exclude.h: Likewise.
19952 * util/mkisofs/hash.c: Likewise.
19953 * util/mkisofs/include/: Likewise.
19954 * util/mkisofs/include/fctldefs.h: Likewise.
19955 * util/mkisofs/include/mconfig.h: Likewise.
19956 * util/mkisofs/include/prototyp.h: Likewise.
19957 * util/mkisofs/include/statdefs.h: Likewise.
19958 * util/mkisofs/iso9660.h: Likewise.
19959 * util/mkisofs/joliet.c: Likewise.
19960 * util/mkisofs/match.c: Likewise.
19961 * util/mkisofs/match.h: Likewise.
19962 * util/mkisofs/mkisofs.c: Likewise.
19963 * util/mkisofs/mkisofs.h: Likewise.
19964 * util/mkisofs/msdos_partition.h: Likewise.
19965 * util/mkisofs/multi.c: Likewise.
19966 * util/mkisofs/name.c: Likewise.
19967 * util/mkisofs/rock.c: Likewise.
19968 * util/mkisofs/tree.c: Likewise.
19969 * util/mkisofs/write.c: Likewise.
19970
19971 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
19972
19973 Unify grub-mkimage accross platforms.
19974
19975 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
19976 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
19977 (grub_mkelfimage_SOURCES): Removed.
19978 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
19979 (util/grub-mkimage.c_DEPENDENCIES): .. this.
19980 (bin_UTILITIES): Add grub-mkimage.
19981 (grub_mkimage_SOURCES): New variable.
19982 (kernel_img_HEADERS): Remove machine/kernel.h.
19983 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
19984 (pkglib_PROGRAMS): Add kernel.img.
19985 (kernel_img_HEADERS): Add machine/kernel.h.
19986 (kernel_img_FORMAT): Removed.
19987 (bin_UTILITIES): Remove grub-mkimage.
19988 (grub_mkimage_SOURCES): Removed.
19989 (grub_mkimage_CFLAGS): Likewise.
19990 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19991 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
19992 (pkglib_PROGRAMS): Add kernel.img.
19993 (bin_UTILITIES): Remove grub-mkimage.
19994 (grub_mkimage_SOURCES): Removed.
19995 (grub_mkimage_CFLAGS): Likewise.
19996 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
19997 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
19998 (pkglib_PROGRAMS): Add kernel.img.
19999 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
20000 (pkglib_PROGRAMS): Add kernel.img.
20001 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
20002 (grub_mkimage_SOURCES): Removed.
20003 (grub_mkimage_CFLAGS): Likewise.
20004 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20005 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
20006 (pkglib_PROGRAMS): Add kernel.img.
20007 (bin_UTILITIES): Remove grub-mkimage.
20008 (grub_mkimage_SOURCES): Removed.
20009 (grub_mkimage_CFLAGS): Likewise.
20010 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20011 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
20012 (grub_mkimage_SOURCES): Removed.
20013 (grub_mkimage_CFLAGS): Likewise.
20014 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20015 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
20016 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
20017 (grub_pe32_optional_header): ... this.
20018 (grub_pe64_optional_header): ... and this. All users updated.
20019 (GRUB_PE32_PE32_MAGIC): Split into ..
20020 (GRUB_PE32_PE32_MAGIC): .. this.
20021 (GRUB_PE32_PE64_MAGIC): .. and this.
20022 (GRUB_PE32_SIGNATURE_SIZE): New definition.
20023 * include/grub/elf.h (PT_GNU_STACK): New definition.
20024 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
20025 * include/grub/i386/efi/kernel.h: Likewise.
20026 * include/grub/i386/kernel.h: Likewise.
20027 * include/grub/i386/pc/kernel.h: Likewise.
20028 * include/grub/i386/qemu/boot.h: Likewise.
20029 * include/grub/mips/kernel.h: Likewise.
20030 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20031 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20032 * include/grub/powerpc/kernel.h: Likewise.
20033 * include/grub/sparc64/ieee1275/boot.h: Likewise.
20034 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20035 * include/grub/sparc64/kernel.h: Likewise.
20036 * include/grub/x86_64/efi/kernel.h: Likewise.
20037 * include/grub/x86_64/kernel.h: Likewise.
20038 * include/grub/offsets.h: New file.
20039 * include/grub/kernel.h (grub_module_info): Split into ...
20040 (grub_module_info32): ... this.
20041 (grub_module_info64): ... and this.
20042 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
20043 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
20044 (grub_boot_blocklist): Moved from here ...
20045 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
20046 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
20047 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
20048 * include/grub/types.h (grub_target_to_host16): Removed.
20049 (grub_target_to_host32): Likewise.
20050 (grub_target_to_host64): Likewise.
20051 (grub_host_to_target16): Likewise.
20052 (grub_host_to_target32): Likewise.
20053 (grub_host_to_target64): Likewise.
20054 (grub_host_to_target_addr): Likewise.
20055
20056 Support grub-mkrescue for efi, coreboot and qemu.
20057
20058 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
20059 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
20060 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
20061 * util/grub-mkrawimage.c: Moved from here ...
20062 * util/grub-mkimage.c: ... here. All users updated.
20063 (ALIGN_ADDR): Use image_target.
20064 (TARGET_NO_FIELD): New const.
20065 (image_target_desc): New type.
20066 (image_targets): New array.
20067 (grub_target_to_host64): Use image_target.
20068 (grub_target_to_host32): Likewise.
20069 (grub_target_to_host16): Likewise.
20070 (grub_host_to_target64): Likewise.
20071 (grub_host_to_target32): Likewise.
20072 (grub_host_to_target16): Likewise.
20073 (grub_host_to_target_addr): Likewise.
20074 (generate_image): Handle multiimage.
20075 (main): Require -O parameter. All users updated.
20076 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
20077 util/efi/grub-mkimage.c
20078 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
20079 New option --rom-directory.
20080 Use xorriso.
20081 * util/i386/efi/grub-mkimage.c: Removed.
20082 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
20083 (grub_target_to_host32): Likewise.
20084 (grub_target_to_host64): Likewise.
20085 (grub_host_to_target16): Likewise.
20086 (grub_host_to_target32): Likewise.
20087 (grub_host_to_target64): Likewise.
20088 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
20089 (grub_target_to_host32): Likewise.
20090 (grub_target_to_host64): Likewise.
20091 (grub_host_to_target16): Likewise.
20092 (grub_host_to_target32): Likewise.
20093 (grub_host_to_target64): Likewise.
20094
20095 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
20096
20097 Source tree is reorganized for emu build.
20098
20099 * include/grub/util/console.h: Move from here...
20100 * include/grub/emu/console.h: ...to here.
20101 * include/grub/util/getroot.h: Move from here...
20102 * include/grub/emu/getroot.h: ...to here.
20103 * include/grub/util/hostdisk.h: Move from here...
20104 * include/grub/emu/hostdisk.h: ...to here.
20105 * util/console.c: Move from here...
20106 * kern/emu/console.c: ...to here.
20107 * util/getroot.c: Move from here...
20108 * kern/emu/getroot.c: ...to here.
20109 * util/grub-emu.c: Move from here...
20110 * kern/emu/main.c: ...to here.
20111 * util/hostdisk.c: Move from here...
20112 * kern/emu/hostdisk.c: ...to here.
20113 * util/hostfs.c: Move from here...
20114 * kern/emu/hostfs.c: ...to here.
20115 * util/mm.c: Move from here...
20116 * kern/emu/mm.c: ...to here.
20117 * util/pci.c: Move from here...
20118 * bus/emu/pci.c: ...to here.
20119 * util/sdl.c: Move from here...
20120 * video/emu/sdl.c: ...to here.
20121 * util/time.c: Move from here...
20122 * kern/emu/time.c: ...to here.
20123 * util/usb.c: Move from here...
20124 * bus/usb/emu/usb.c: ...to here.
20125
20126 * include/grub/emu/misc.h: New header for grub-emu functions.
20127 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
20128
20129 * conf/any-emu.rmk: Rule updates for above renames.
20130 * conf/common.rmk: Likewise.
20131 * conf/i386-pc.rmk: Likewise.
20132 * conf/i386-qemu.rmk: Likewise.
20133 * conf/mips.rmk: Likewise.
20134 * conf/sparc64-ieee1275.rmk: Likewise.
20135 * conf/x86-efi.rmk: Likewise.
20136
20137 * disk/lvm.h: #include updates for above renames.
20138 * util/grub-mkrelpath.c: Likewise.
20139 * util/grub-probe.c: Likewise.
20140 * util/i386/pc/grub-setup.c: Likewise.
20141 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20142 * kern/emu/console.c: Likewise.
20143 * kern/emu/getroot.c: Likewise.
20144 * kern/emu/hostdisk.c: Likewise.
20145 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
20146
20147 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
20148 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
20149 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
20150 * util/misc.c: Remove grub-emu functions.
20151
20152 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20153
20154 Fix gfxmenu crash.
20155 Reported by: Thorsten Grützmacher.
20156
20157 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
20158 timeout hook.
20159 (circprog_set_property): Register and unregister timeout hook.
20160 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
20161 (label_destroy): Free template. and unregister hook.
20162 (label_set_state): New function.
20163 (label_set_property): Handle templates and hooks.
20164 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
20165 timeout hook.
20166 (progress_bar_set_property): Register and unregister timeout hook.
20167 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
20168 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
20169 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
20170 (update_timeout_visit): Removed.
20171 (update_timeouts): New function.
20172 (redraw_timeouts): Likewise.
20173 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
20174 (grub_gfxmenu_clear_timeout): Likewise.
20175 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
20176 (grub_gfxmenu_timeout_notify): Likewise.
20177 (grub_gfxmenu_timeout_notifications): New external variable.
20178 (grub_gfxmenu_timeout_register): New function.
20179 (grub_gfxmenu_timeout_unregister): Likewise.
20180
20181 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20182
20183 Transform (broken) vga terminal into (working) vga video driver.
20184
20185 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
20186 video/i386/pc/vga.c.
20187 * include/grub/video.h (grub_video_driver_id):
20188 Add GRUB_VIDEO_DRIVER_VGA.
20189 * term/i386/pc/vga.c: Renamed to ...
20190 * video/i386/pc/vga.c: ...this
20191 (DEBUG_VGA): Removed.
20192 (CHAR_WIDTH): Likewise.
20193 (CHAR_HEIGHT): Likewise.
20194 (TEXT_WIDTH): Likewise.
20195 (TEXT_HEIGHT): Likewise.
20196 (DEFAULT_FG_COLOR): Likewise.
20197 (DEFAULT_BG_COLOR): Likewise.
20198 (colored_char): Likewise.
20199 (xpos): Likewise.
20200 (ypos): Likewise.
20201 (cursor_state): Likewise.
20202 (fg_color): Likewise.
20203 (bg_color): Likewise.
20204 (text_buf): Likewise.
20205 (page): Likewise.
20206 (font): Likewise.
20207 (framebuffer): New variable.
20208 (set_read_map): Disabled.
20209 (setup): New variable.
20210 (is_target): Likewise.
20211 (grub_vga_mod_init): Likewise.
20212 (grub_vga_mod_fini): Likewise.
20213 (check_vga_mem): Likewise.
20214 (write_char): Likewise.
20215 (write_cursor): Likewise.
20216 (scroll_up): Likewise.
20217 (grub_vga_putchar): Likewise.
20218 (grub_vga_getcharwidth): Likewise.
20219 (grub_vga_getwh): Likewise.
20220 (grub_vga_getxy): Likewise.
20221 (grub_vga_gotoxy): Likewise.
20222 (grub_vga_cls): Likewise.
20223 (grub_vga_setcolorstate): Likewise.
20224 (grub_vga_setcursor): Likewise.
20225 (grub_video_vga_init): New function.
20226 (grub_video_vga_setup): Likewise.
20227 (grub_video_vga_fini): Likewise.
20228 (update_target): Likewise.
20229 (grub_video_vga_blit_bitmap): Likewise.
20230 (grub_video_vga_blit_render_target): Likewise.
20231 (grub_video_vga_set_active_render_target): Likewise.
20232 (grub_video_vga_get_active_render_target): Likewise.
20233 (grub_video_vga_swap_buffers): Likewise.
20234 (grub_video_vga_set_palette): Likewise.
20235 (grub_video_vga_get_info_and_fini): Likewise.
20236 (grub_vga_term): Removed.
20237 (grub_video_vga_adapter): New variable.
20238 (GRUB_MOD_INIT): Register a video driver instead of terminal.
20239 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
20240
20241 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20242
20243 * video/readers/jpeg.c: Indented.
20244
20245 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20246
20247 Various jpeg cleanups.
20248
20249 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
20250 (grub_jpeg_decode_quan_table): Use sizeof.
20251 (grub_jpeg_decode_du): Use ARRAY_SIZE.
20252
20253 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
20254
20255 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
20256 tables. Ignore non-last ac bit.
20257 (grub_jpeg_decode_quan_table): Likewise.
20258
20259 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20260
20261 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
20262 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
20263 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20264 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
20265 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
20266 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
20267
20268 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20269
20270 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
20271 error.
20272
20273 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20274
20275 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
20276
20277 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20278
20279 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
20280 condition.
20281
20282 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20283
20284 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
20285 part.
20286
20287 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20288
20289 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
20290 pointers.
20291
20292 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20293
20294 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
20295
20296 2010-05-01 Christian Franke <franke@computer.org>
20297
20298 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
20299 Remove broken Cygwin path conversion.
20300 * util/misc.c: [__CYGWIN__] Add include and define.
20301 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
20302 for Cygwin 1.7.
20303 (make_system_path_relative_to_its_root): Simplify loop, replace early
20304 return by break.
20305 [__CYGWIN__] Add conversion to win32 path.
20306 Include "/" case in trailing slash removal.
20307
20308 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20309
20310 * kern/main.c (grub_load_config): Fix copy-pasted comment.
20311 Reported by: Seth Goldberg
20312
20313 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20314
20315 * commands/help.c (grub_cmd_help): Fix a typo.
20316 Reported by: Seth Goldberg
20317
20318 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20319
20320 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
20321 name and add N_.
20322 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
20323 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
20324 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
20325 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
20326 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
20327 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
20328 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
20329 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
20330 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
20331 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20332 * normal/context.c (GRUB_MOD_INIT): Likewise.
20333 * normal/main.c (GRUB_MOD_INIT): Likewise.
20334 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
20335 * term/serial.c (GRUB_MOD_INIT): Likewise.
20336 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
20337
20338 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20339
20340 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
20341 extra == 0.
20342
20343 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20344
20345 * commands/iorw.c: New file.
20346 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
20347 (iorw_mod_SOURCES): New variable.
20348 (iorw_mod_CFLAGS): Likewise.
20349 (iorw_mod_LDFLAGS): Likewise.
20350
20351 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20352
20353 Hotkey support
20354
20355 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
20356 * normal/main.c (hotkey_aliases): New variable.
20357 (grub_normal_add_menu_entry): Parse "--hotkey".
20358 * normal/menu_text.c (run_menu): Handle hotkeys.
20359
20360 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20361
20362 * kern/i386/coreboot/init.c (grub_machine_init): Call
20363 grub_machine_mmap_init on qemu.
20364
20365 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20366
20367 * boot/i386/qemu/boot.S: Add a missing .code16.
20368
20369 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20370
20371 Use LBIO on coreboot.
20372
20373 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
20374 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
20375 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
20376 New declaration.
20377 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
20378 grub_machine_mmap_init on coreboot.
20379 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
20380 GRUB_LINUXBIOS_MEMBER_LINK.
20381 (grub_machine_mmap_iterate): Fix declaration.
20382 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
20383
20384 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20385
20386 Split coreboot and multiboot ports.
20387
20388 * conf/i386-multiboot.rmk: New file.
20389 * configure.ac: Add multiboot port.
20390 * include/grub/i386/multiboot/boot.h: New file.
20391 * include/grub/i386/multiboot/console.h: Likewise.
20392 * include/grub/i386/multiboot/init.h: Likewise.
20393 * include/grub/i386/multiboot/kernel.h: Likewise.
20394 * include/grub/i386/multiboot/loader.h: Likewise.
20395 * include/grub/i386/multiboot/memory.h: Likewise.
20396 * include/grub/i386/multiboot/serial.h: Likewise.
20397 * include/grub/i386/multiboot/time.h: Likewise.
20398 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
20399 * loader/multiboot.c: Likewise.
20400 * loader/multiboot_mbi2.c: Likewise.
20401 * util/grub-mkrescue.in: Generate multiboot rescue.
20402
20403 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20404
20405 * kern/parser.c (grub_parser_execute): Cope with read-only config.
20406
20407 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20408
20409 Merge handling of input and output terminals. Fix a hang.
20410
20411 * commands/terminal.c (abstract_terminal): New struct.
20412 (handle_command): New function. Based on grub_cmd_terminal_input.
20413 (grub_cmd_terminal_input): Use handle_command.
20414 (grub_cmd_terminal_output): Use handle_command.
20415
20416 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
20417
20418 Fix comment handling.
20419
20420 * tests/grub_script_comments.in: New testcase.
20421 * conf/tests.rmk: Rules for new testcase.
20422 * script/yylex.l: Updated flex rules.
20423
20424 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
20425
20426 * docs/grub.texi (play): Document that zero pitches produce rests.
20427 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
20428 if argc is 1.
20429
20430 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
20431
20432 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
20433 autogen issues.
20434
20435 2010-04-26 Christian Franke <franke@computer.org>
20436
20437 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
20438 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
20439 (grub_get_prefix): Remove function.
20440 * util/grub-emu.c (main): Replace grub_get_prefix () call by
20441 make_system_path_relative_to_its_root ().
20442 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20443
20444 2010-04-24 Christian Franke <franke@computer.org>
20445
20446 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
20447 (kernel_img_LDFLAGS): Remove -static-libgcc.
20448
20449 2010-04-24 Christian Franke <franke@computer.org>
20450
20451 * configure.ac: Do not CHECK_BSS_START_SYMBOL
20452 and CHECK_END_SYMBOL if grub-emu is built.
20453 Unset TARGET_OBJ2ELF if grub-emu is built
20454 without module support.
20455
20456 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
20457
20458 Nilfs2 support.
20459
20460 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
20461 (grub_fstest_SOURCES): Likewise.
20462 (pkglib_MODULES): Add nilfs2.mod.
20463 (nilfs2_mod_SOURCES): New variable.
20464 (nilfs2_mod_CFLAGS): Likewise.
20465 (nilfs2_mod_LDFLAGS): Likewise.
20466 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20467 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20468 * fs/nilfs2.c: New file.
20469
20470 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
20471
20472 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
20473 is not supported.
20474
20475 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
20476
20477 Add grub-mkconfig support for NetBSD.
20478
20479 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
20480 * util/grub-mkconfig.in: export new NetBSD specific variables.
20481 * po/POTFILES-shell: added 10_netbsd.in.
20482 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
20483
20484 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
20485
20486 Fix emu build with grub-emu-pci and grub-emu-modules.
20487
20488 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
20489 functions.
20490 * include/grub/libpciaccess.h: New file.
20491 * conf/any-emu.rmk: Update kernel headers for emu build.
20492
20493 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20494
20495 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
20496
20497 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20498
20499 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
20500
20501 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20502
20503 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
20504 Retrieve chosen/bootpath if bootpath isn't hardcoded.
20505 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
20506 util/ieee1275/ofpath.c.
20507 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
20508 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
20509 * include/grub/sparc64/ieee1275/boot.h
20510 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
20511 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
20512 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
20513 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
20514 const char *.
20515 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
20516 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
20517 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
20518 install.
20519
20520 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20521
20522 * util/grub-mkconfig.in: Corrected two == equality tests.
20523 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
20524 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
20525 expect a number appended to it.
20526 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
20527 expects a number appended to it.
20528
20529 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20530
20531 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
20532
20533 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20534
20535 * util/hostdisk.c (make_device_name): Change to new partition naming.
20536
20537 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20538
20539 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
20540
20541 2010-04-17 Christian Franke <franke@computer.org>
20542
20543 * Makefile.in: Add missing localedir setting.
20544
20545 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
20546
20547 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
20548 mistake in r2156. Noticed by Anthony Fok.
20549
20550 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
20551 @localedir@.
20552 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
20553
20554 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
20555
20556 Fix a spurious, uninitialized variable warning.
20557
20558 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
20559 Initialize variable, shdr.
20560 (grub_freebsd_load_elfmodule): Likewise.
20561 (grub_freebsd_load_elf_meta): Likewise.
20562
20563 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
20564
20565 Fix for escaped dollar in double quoted strings.
20566
20567 * script/yylex.l: Updated flex rules.
20568 * conf/tests.rmk: Rule for new testcase.
20569 * tests/grub_script_dollar.in: New testcase.
20570
20571 2010-04-13 Carles Pina i Estany <carles@pina.cat>
20572 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
20573
20574 Enclose all translated strings in grub.cfg in single quotes, and
20575 escape them appropriately (Ubuntu bug #552921).
20576
20577 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
20578 * util/grub.d/10_hurd.in: Use it.
20579 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20580 * util/grub.d/10_linux.in (linux_entry): Likewise.
20581
20582 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20583
20584 Fix cygwin compilation.
20585
20586 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
20587 * include/grub/misc.h (__register_frame_info)
20588 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
20589 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20590 * kern/misc.c (__register_frame_info)
20591 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
20592 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20593
20594 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20595
20596 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
20597
20598 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20599
20600 Unify libgcc processing.
20601
20602 * Makefile.in (kernel_img_LDFLAGS): New variable.
20603 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
20604 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
20605 overwriting.
20606 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
20607 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
20608 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
20609 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
20610 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
20611 overwriting. Remove -lgcc and -static-libgcc
20612 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
20613 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20614 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20615 (kernel_img_LDFLAGS): Append instead of overwriting.
20616 Remove -lgcc and -static-libgcc
20617 * conf/sparc64-ieee1275.rmk: Likewise.
20618 * include/grub/powerpc/libgcc.h: Move to ...
20619 * include/grub/libgcc.h: .. this.
20620 * include/grub/libgcc.h: Don't export most of the function on x86.
20621 (__bswapsi2): New export.
20622 (__bswapdi2): Likewise.
20623 * include/grub/mips/libgcc.h: Removed.
20624 * include/grub/sparc64/libgcc.h: Likewise.
20625
20626 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20627
20628 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
20629 disk_info_msg (conflicts with gettexting into languages with cases).
20630
20631 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
20632
20633 Add grub-probe support for NetBSD.
20634
20635 * util/getroot.c (find_root_device): Convert block device to
20636 character device on NetBSD.
20637 * util/probe.c (probe): Require character device on NetBSD.
20638 * util/hostdisk.c: NetBSD specific headers.
20639 (configure_device_driver): new function to tune device driver
20640 parameters (currently only for NetBSD floppy driver).
20641 (grub_util_biosdisk_open): NetBSD specific code (get disk size
20642 via disklabel ioctl).
20643 (open_device): call configure_device_driver on NetBSD.
20644 (convert_system_partition_to_system_disk): NetBSD specific code.
20645 (device_is_wholedisk): Likewise.
20646 (grub_util_biosdisk_get_grub_dev): Likewise.
20647 (make_device_name): Fixed a typo in bsd_part_str.
20648 * configure.ac: check for opendisk() and getrawpartition() on
20649 NetBSD and set LIBUTIL.
20650 * Makefile.in: add LIBUTIL to LIBS.
20651
20652 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20653
20654 Documentation fix.
20655
20656 * util/grub-script-check.c: Better help message.
20657
20658 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20659
20660 Fix FreeBSD build.
20661
20662 * configure.ac: Flex version check.
20663 * conf/common.rmk: Add -Wno-error to sh.mod.
20664 * script/yylex.l: Remove all #pragma.
20665
20666 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20667
20668 * include/grub/util/misc.h (canonicalise_file_name): Add missing
20669 prototype.
20670 Reported by: Seth Goldberg.
20671
20672 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20673
20674 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
20675 Rename "module" to "module2".
20676 Reported by: Seth Goldberg.
20677
20678 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20679
20680 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
20681 EXPORT_FUNC.
20682 Reported by: Seth Goldberg.
20683
20684 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20685
20686 * lib/posix_wrap/locale.h: Add missing file.
20687 Reported by: Seth Goldberg.
20688
20689 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20690
20691 grub-emu module load support.
20692
20693 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
20694 NO_DYNAMIC_MODULES switched to this.
20695 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
20696 (CFLAGS): Likewise.
20697 * conf/any-emu.rmk: Generate symlist.
20698 (kernel_img_HEADERS): Add util/datetime.h.
20699 (kernel_img_HEADERS) [sdl]: Add sdl.h.
20700 (kernel_img_HEADERS) [libusb]: Add libusb.h.
20701 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
20702 kern/$(target_cpu)/cache.S.
20703 * configure.ac (grub-emu-modules): New option.
20704 * genmk.rb: Handle multiple source lists.
20705 * include/grub/sdl.h: New file.
20706 * include/grub/libusb.h: Likewise.
20707 * util/grub-emu.c (main): Hanle (host) root.
20708 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
20709 GRUB_ERR_UNKNOWN_DEVICE.
20710 * util/misc.c: Move mm functions to ...
20711 * util/mm.c: ... here. All users updated.
20712
20713 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20714
20715 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
20716 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
20717 missing files.
20718 (maintainer-clean): Remove libgcrypt-grub.
20719
20720 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20721
20722 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
20723
20724 2010-04-09 EFI Coder <eficoder@hotmail.com>
20725
20726 * normal/menu_text.c (print_message): Clean up the message and show
20727 the Fn information when on EFI
20728 * term/efi/console.c (grub_console_checkkey): Add F4 support.
20729
20730 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20731
20732 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
20733 All users updated.
20734 * normal/crypto.c (read_crypto_list): Likewise.
20735 * normal/dyncmd.c (read_command_list): Likewise.
20736 * normal/term.c (read_terminal_list): Likewise.
20737 * normal/main.c (read_lists): Use explicit prefix.
20738 (read_lists_hook): Use read_lists.
20739 (grub_normal_execute): Likewise.
20740
20741 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20742
20743 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
20744 Reported by: Thomas Schmitt.
20745 Add -no-emul-boot to grub-mkisofs parameters.
20746
20747 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20748
20749 * font/font.c: Indented.
20750
20751 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20752
20753 Elif support to GRUB script (by Deepak Vankadaru).
20754
20755 * tests/grub_script_if.in: New testcase.
20756 * conf/tests.rmk: Rule for new testcase.
20757 * script/parser.y: Grammar rules for elif.
20758
20759 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20760
20761 While and until loops support to GRUB script.
20762
20763 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
20764 (grub_script_create_cmdwhile): New function prototype.
20765 (grub_script_execute_cmdwhile): New function prototype.
20766 * script/execute.c (grub_script_execute_cmdwhile): New function.
20767 * script/parser.y (command): New commands.
20768 (whilecmd): New grammar rule.
20769 (untilcmd): New grammar rule.
20770 * script/script.c (grub_script_create_cmdwhile): New function.
20771 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
20772 function.
20773
20774 * tests/grub_script_while1.in: New testcase.
20775 * conf/tests.rmk: Rule for new testcase.
20776
20777 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20778
20779 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
20780 as *.jpg.
20781
20782 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
20783
20784 GRUB_BACKGROUND support.
20785
20786 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
20787 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
20788
20789 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20790
20791 Load fonts and modules for gfxmenu in grub-mkconfig.
20792 Idea by: Mario Vazquez
20793
20794 * util/grub.d/00_header.in: Load pf2 and image modules.
20795
20796 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20797
20798 grub-mkconfig multiple terminal support.
20799
20800 * util/grub-mkconfig.in: Handle multiple terminals correctly.
20801 * util/grub.d/00_header.in: Likewise.
20802
20803 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20804
20805 * Makefile.in: Specify files explicitly instead of using $< and $@ since
20806 we use cd $(srcdir).
20807
20808 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
20809
20810 * util/grub.d/10_linux.in: Only use the first word of
20811 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
20812 spaces in GRUB_DISTRIBUTOR.
20813 * util/grub.d/10_kfreebsd.in: Likewise.
20814 * util/grub.d/10_hurd.in: Likewise.
20815
20816 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
20817
20818 Fix unit testing framework for Qemu 0.12.
20819
20820 * tests/util/grub-shell.in: Remove -serial stdio option.
20821
20822 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20823
20824 POSIX header file wrappers.
20825
20826 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
20827 equivalents.
20828 * lib/posix_wrap/ctype.h: Likewise.
20829 * lib/posix_wrap/errno.h: Likewise.
20830 * lib/posix_wrap/langinfo.h: Likewise.
20831 * lib/posix_wrap/limits.h: Likewise.
20832 * lib/posix_wrap/localcharset.h: Likewise.
20833 * lib/posix_wrap/stdint.h: Likewise.
20834 * lib/posix_wrap/stdio.h: Likewise.
20835 * lib/posix_wrap/stdlib.h: Likewise.
20836 * lib/posix_wrap/string.h: Likewise.
20837 * lib/posix_wrap/sys/types.h: Likewise.
20838 * lib/posix_wrap/unistd.h: Likewise.
20839 * lib/posix_wrap/wchar.h: Likewise.
20840 * lib/posix_wrap/wctype.h: Likewise.
20841 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
20842 (grub_script.yy.h): Likewise.
20843 * script/yylex.l: Remove POSIX emulation #defines.
20844 * Makefile.in (POSIX_CFLAGS): New variable.
20845 (GNULIB_UTIL_CFLAGS): Likewise.
20846
20847 Regexp support.
20848
20849 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
20850 (regexp_mod_SOURCES): New variable.
20851 (regexp_mod_CFLAGS): Likewise.
20852 (regexp_mod_LDFLAGS): Likewise.
20853 * commands/regexp.c: New file.
20854 * gnulib/regcomp.c: New file. Imported from gnulib.
20855 * gnulib/regex.c: Likewise.
20856 * gnulib/regex_internal.c: Likewise.
20857 * gnulib/regex_internal.h: Likewise.
20858 * gnulib/regexec.c: Likewise.
20859 * gnulib/regex.h: Likewise.
20860
20861 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20862
20863 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
20864 unsupported video mode types.
20865
20866 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20867
20868 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
20869
20870 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
20871
20872 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
20873 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
20874
20875 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
20876
20877 Remove unused grub_vga_get_font.
20878
20879 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
20880 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
20881
20882 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20883
20884 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
20885 * include/grub/misc.h: Likewise.
20886
20887 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20888
20889 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
20890 for which failure is fatal.
20891
20892 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20893
20894 * util/grub-install.in: Use mkdir -p to create grub directory.
20895 * util/i386/efi/grub-install.in: Likewise.
20896 * util/ieee1275/grub-install.in: Likewise.
20897
20898 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20899
20900 * Makefile.in (LEX): new variable.
20901
20902 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
20903
20904 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
20905 `=' and added double quotes on operands of this equality test.
20906
20907 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
20908
20909 * Makefile.in (uninstall): Remove a leftover debug echo.
20910 Reported by: Grégoire Sutre
20911
20912 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
20913
20914 MIPS multiboot2 support.
20915
20916 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
20917 (multiboot2_mod_SOURCES): New variable.
20918 (multiboot2_mod_CFLAGS): Likewise.
20919 (multiboot2_mod_LDFLAGS): Likewise.
20920 (multiboot2_mod_ASFLAGS): Likewise.
20921 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
20922 definition.
20923 (MULTIBOOT_ENTRY_REGISTER): Likewise.
20924 (MULTIBOOT_MBI_REGISTER): Likewise.
20925 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
20926 (MULTIBOOT_ELF32_MACHINE): Likewise.
20927 (MULTIBOOT_ELF64_MACHINE): Likewise.
20928 * include/grub/mips/multiboot.h: New file.
20929 * include/grub/video.h (grub_video_driver_id): New type
20930 GRUB_VIDEO_DRIVER_SM712.
20931 (grub_video_get_info_and_fini): Export.
20932 (grub_video_get_palette): Likewise.
20933 (grub_video_get_driver_id): Likewise.
20934 * include/multiboot2.h: Resynced with spec.
20935 * loader/i386/multiboot.c: Moved from here ...
20936 * loader/multiboot.c: ... here. All users updated.
20937 (grub_multiboot_boot): Use platform-specific macros.
20938 * loader/i386/multiboot_elfxx.c: Moved from here ...
20939 * loader/multiboot_elfxx.c: ... here. All users updated.
20940 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
20941 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
20942 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
20943
20944 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
20945
20946 Import gnulib argp module.
20947
20948 * gnulib/argp-ba.c: New file.
20949 * gnulib/argp-eexst.c: Likewise.
20950 * gnulib/argp-fmtstream.c: Likewise.
20951 * gnulib/argp-fmtstream.h: Likewise.
20952 * gnulib/argp-fs-xinl.c: Likewise.
20953 * gnulib/argp-help.c: Likewise.
20954 * gnulib/argp-namefrob.h: Likewise.
20955 * gnulib/argp-parse.c: Likewise.
20956 * gnulib/argp-pin.c: Likewise.
20957 * gnulib/argp-pv.c: Likewise.
20958 * gnulib/argp-pvh.c: Likewise.
20959 * gnulib/argp-version-etc.c: Likewise.
20960 * gnulib/argp-version-etc.h: Likewise.
20961 * gnulib/argp-xinl.c: Likewise.
20962 * gnulib/argp.h: Likewise.
20963
20964 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20965
20966 * kern/device.c (grub_device_iterate): Clear errors after failed
20967 opening device.
20968
20969 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
20970
20971 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
20972 returned by firmware.
20973
20974 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
20975
20976 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
20977 compilation on coreboot and qemu
20978
20979 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
20980
20981 * include/multiboot2.h: Resync with spec.
20982
20983 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
20984
20985 Multiboot2 tag support
20986
20987 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
20988 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
20989 Remove loader/multiboot_loader.c.
20990 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
20991 (grub_multiboot2_real_boot): Likewise.
20992 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
20993 (grub_get_multiboot_mmap_count): New proto.
20994 (grub_fill_multiboot_mmap): Likewise.
20995 (grub_multiboot_set_video_mode): Likewise.
20996 (grub_multiboot_set_console): Likewise.
20997 (grub_multiboot_load): Likewise.
20998 (grub_multiboot_load_elf): Likewise.
20999 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
21000 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
21001 * include/multiboot.h: Resynced with specification.
21002 * include/multiboot2.h: Resynced with specification.
21003 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
21004 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
21005 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
21006 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
21007 users updated.
21008 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
21009 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
21010 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
21011 Removed.
21012 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
21013 Moved from here...
21014 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
21015 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21016 Moved from here...
21017 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
21018 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
21019 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
21020 All users updated.
21021 * loader/i386/multiboot_mbi2.c: New file.
21022
21023 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21024
21025 Resync with gnulib.
21026
21027 * Makefile.in (GNULIB_CFLAGS): New variable.
21028 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
21029 (grub_script_check_CFLAGS): New variable.
21030 * gnulib/alloca.h: Resync with gnulib.
21031 * gnulib/error.c: Likewise.
21032 * gnulib/error.h: Likewise.
21033 * gnulib/fnmatch.c: Likewise.
21034 * gnulib/fnmatch_loop.c: Likewise.
21035 * gnulib/getdelim.c: Likewise.
21036 * gnulib/getline.c: Likewise.
21037 * gnulib/getopt.c: Likewise.
21038 * gnulib/getopt1.c: Likewise.
21039 * gnulib/getopt_int.h: Likewise.
21040 * gnulib/gettext.h: Likewise.
21041 * gnulib/progname.c: Likewise.
21042 * gnulib/progname.h: Likewise.
21043
21044 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
21045
21046 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
21047 which is the case with --disabled-nls.
21048
21049 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
21050 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
21051 * util/misc.c: Likewise.
21052 * util/mkisofs/mkisofs.c: Likewise.
21053 * util/mkisofs/mkisofs.h: Likewise.
21054
21055 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21056
21057 Simplify Apple CC support.
21058
21059 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
21060 Add 0 byte at the end not to have a symbol with empty target.
21061 * mmap/i386/pc/mmap_helper.S: Likewise.
21062 * genmk.rb: Ignore errors 2030 and 2050.
21063 * kern/i386/pc/startup.S: Use LOCAL when possible.
21064
21065 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
21066
21067 Testcase and the fix for final semicolon on cmdline.
21068
21069 * tests/grub_script_final_semicolon.in: New testcase.
21070 * conf/tests.rmk: Rules for the new testcase.
21071 * script/parser.y: Grammar fix.
21072
21073 2010-03-26 BVK Chaitanya <bvk@localhost>
21074
21075 Blank lines testcase for GRUB script.
21076
21077 * tests/grub_script_blanklines.in: New testcase.
21078 * conf/tests.rmk: Rules for the new testcase.
21079
21080 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21081
21082 Don't use __FILE__.
21083
21084 * genmk.rb: Add -DGRUB_FILE to all C targets.
21085 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
21086 * include/grub/list.h: Likewise.
21087 * include/grub/misc.h: Likewise.
21088 * include/grub/mm.h: Likewise.
21089 * include/grub/test.h: Likewise.
21090 * kern/mm.c: Likewise.
21091 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21092
21093 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21094
21095 Sunpc partitions support.
21096
21097 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
21098 (grub_fstest_SOURCES): Likewise.
21099 (pkglib_MODULES): Add part_sunpc.mod.
21100 (part_sunpc_mod_SOURCES): New variable.
21101 (part_sunpc_mod_CFLAGS): Likewise.
21102 (part_sunpc_mod_LDFLAGS): Likewise.
21103 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
21104 * partmap/sunpc.c: New file.
21105
21106 2010-03-26 BVK Chaitanya <bvk@localhost>
21107
21108 For loop support to GRUB script.
21109
21110 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
21111 (grub_script_create_cmdfor): New function prototype.
21112 (grub_script_execute_cmdfor): New function prototype.
21113 * script/execute.c (grub_script_execute_cmdfor): New function.
21114 * script/parser.y (command): New for command.
21115 (forcmd): New grammar rule.
21116 * script/script.c (grub_script_create_cmdfor): New function.
21117 * util/grub-script-check.c (grub_script_execute_cmdfor): New
21118 function.
21119 * tests/grub_script_for1.in: New testcase.
21120 * conf/tests.rmk: Rules for new testcase.
21121
21122 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21123
21124 Nested partitions
21125
21126 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
21127 'partition' is NULL, grub_partition_get_start already does that.
21128 * commands/loadenv.c (check_blocklists): Likewise.
21129 (write_blocklists): Likewise.
21130 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
21131 (grub_fstest_SOURCES): Likewise.
21132 (pkglib_MODULES): Add part_bsd.mod.
21133 (part_bsd_mod_SOURCES): New variable.
21134 (part_bsd_mod_CFLAGS): Likewise.
21135 (part_bsd_mod_LDFLAGS): Likewise.
21136 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
21137 (grub_emu_SOURCES): Likewise.
21138 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21139 * include/grub/bsdlabel.h: New file.
21140 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
21141 'get_name'.
21142 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
21143 (grub_partition_map_list): New variable.
21144 (grub_partition_map_register): Inline.
21145 (grub_partition_map_unregister): Likewise.
21146 (FOR_PARTITION_MAPS): New macro.
21147 (grub_partition_map_iterate): Removed.
21148 (grub_partition_get_start): Handle nested partitions.
21149 * include/grub/msdos_partition.h: Remove bsd-related entries.
21150 (grub_pc_partition): Remove.
21151 * kern/disk.c (grub_disk_close): Free partition data.
21152 (grub_disk_adjust_range): Handle nested partitions.
21153 * kern/partition.c (grub_partition_map_probe): New function.
21154 (grub_partition_probe): Parse name to number, handle subpartitions.
21155 (get_partmap): New function.
21156 (grub_partition_iterate): Handle subpartitions.
21157 (grub_partition_get_name): Likewise.
21158 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
21159 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
21160 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
21161 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
21162 Set 'number'.
21163 (acorn_partition_map_probe): Remove.
21164 (acorn_partition_map_get_name): Likewise.
21165 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
21166 Set 'number'.
21167 Set 'index' to 0 since there can be only one partition entry per sector.
21168 (amiga_partition_map_probe): Remove.
21169 (amiga_partition_map_get_name): Likewise.
21170 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
21171 Set 'number'.
21172 Set 'offset' and 'index' to real positions of partitions.
21173 (apple_partition_map_probe): Remove.
21174 (apple_partition_map_get_name): Likewise.
21175 * partmap/bsdlabel.c: New file.
21176 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
21177 Set 'number'.
21178 Allocate 'data' so it can be correctly freed.
21179 Set 'index' to offset inside sector.
21180 (gpt_partition_map_probe): Remove.
21181 (gpt_partition_map_get_name): Likewise.
21182 * partmap/msdos.c (grub_partition_parse): Remove.
21183 (pc_partition_map_iterate): Don't force raw access.
21184 Set 'number'.
21185 Make 'ext_offset' a local variable.
21186 (pc_partition_map_probe): Remove.
21187 (pc_partition_map_get_name): Remove.
21188 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
21189 Set 'number'.
21190 (sun_partition_map_probe): Remove.
21191 (sun_partition_map_get_name): Likewise.
21192 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
21193 (grub_pcpart_type): Likewise.
21194 * util/hostdisk.c (open_device): Handle new numbering scheme.
21195 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
21196 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
21197 * util/grub-probe.c (probe_partmap): Handle nested paritions.
21198 * util/grub-install.in: Insert all subpartition modules.
21199 * util/ieee1275/grub-install.in: Likewise.
21200
21201 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
21202
21203 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
21204 grammar.
21205
21206 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
21207
21208 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
21209
21210 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
21211
21212 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
21213 match where 'make install' puts them.
21214 * util/i386/efi/grub-install.in: Likewise.
21215
21216 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
21217
21218 * .bzrignore: Add gentrigtables, grub-script-check,
21219 grub_script_check_init.c, grub_script_check_init.h, and
21220 trigtables.c.
21221
21222 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
21223
21224 * kern/parser.c: Indented.
21225
21226 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21227
21228 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
21229
21230 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21231
21232 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
21233 alpha_mask_size == 0 case.
21234
21235 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
21236
21237 GRUB shell lexer and parser improvements.
21238
21239 * conf/any-emu.rmk: Build rule updates.
21240 * conf/common.rmk: Likewise.
21241 * conf/i386-coreboot.rmk: Likewise.
21242 * conf/i386-efi.rmk: Likewise.
21243 * conf/i386-ieee1275.rmk: Likewise.
21244 * conf/i386-pc.rmk: Likewise.
21245 * conf/powerpc-ieee1275.rmk: Likewise.
21246 * conf/x86_64-efi.rmk: Likewise.
21247
21248 * configure.ac: Configure check for flex.
21249
21250 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
21251 types.
21252 (grub_lexer_param): Struct member updates.
21253 (grub_parser_param): Likewise.
21254 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
21255 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
21256 (grub_script_lexer_init): Prototype update.
21257 (grub_script_lexer_record_start): Likewise.
21258 (grub_script_lexer_record_stop): Likewise.
21259 (grub_script_lexer_yywrap): New function prototype.
21260 (grub_script_lexer_fini): Likewise.
21261 (grub_script_execute_argument_to_string): Removed by...
21262 (grub_script_execute_argument_to_argv): ...better version.
21263
21264 * script/execute.c (ROUND_UPTO): New macro.
21265 (grub_script_execute_cmdline): Out of memory fixes.
21266 (grub_script_execute_menuentry): Likewise.
21267 (grub_script_execute_argument_to_string): Removed. Update all
21268 users by...
21269 (grub_script_execute_argument_to_argv): ...better version.
21270 * script/function.c (grub_script_function_create): Use
21271 grub_script_execute_argument_to_argv instead of
21272 grub_script_execute_argument_to_string.
21273
21274 * script/lexer.c (check_varstate): Removed.
21275 (check_textstate): Removed.
21276 (grub_script_lexer_record_start): Likewise.
21277 (grub_script_lexer_record_stop): Likewise.
21278 (recordchar): Replaced with...
21279 (grub_script_lexer_record): ...new function.
21280 (nextchar): Removed.
21281 (grub_script_lexer_init): Rewritten.
21282 (grub_script_yylex): Rewritten.
21283 (append_newline): New function.
21284 (grub_script_lexer_yywrap): New function.
21285 (grub_script_lexer_fini): New function.
21286 (grub_script_yyerror): Sets error flag.
21287
21288 * script/yylex.l: New file.
21289 (grub_lexer_yyfree): Wrapper for flex yyffre.
21290 (grub_lexer_yyalloc): Likewise.
21291 (grub_lexer_yyrealloc): Likewise.
21292 * script/parser.y: Refactored.
21293
21294 * script/script.c (grub_script_arg_add): Out of memory fixes.
21295 (grub_script_add_arglist): Likewise.
21296 (grub_script_create_cmdline): Likewise.
21297 (grub_script_create_cmdmenu): Likewise.
21298 (grub_script_add_cmd): Likewise.
21299 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
21300 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
21301 unnecessary code.
21302
21303 * tests/grub_script_echo1.in: New testcase.
21304 * tests/grub_script_vars1.in: New testcase.
21305 * tests/grub_script_echo_keywords.in: New testcase.
21306
21307 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21308
21309 Remove some redundancy in build system.
21310
21311 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
21312 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
21313 (TARGET_LDFLAGS): Add -nostdlib.
21314 (TARGET_IMG_LDFLAGS): Likewise.
21315 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
21316 anything since mmap isn't available.
21317 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
21318 Add util/time.c.
21319 (pkglib_MODULES): Remove reboot.mod.
21320 (reboot_mod_SOURCES): Removed.
21321 (reboot_mod_CFLAGS): Likewise.
21322 (reboot_mod_LDFLAGS): Likewise.
21323 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
21324 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
21325 (DEFSYMFILES): Add kernel_syms.lst.
21326 (kernel_img_HEADERS): Add common headers.
21327 (symlist.c): New target.
21328 (kernel_syms.lst): Likewise.
21329 (pkglib_MODULES): Add memdisk.mod.
21330 (memdisk_mod_SOURCES): New variable.
21331 (memdisk_mod_CFLAGS): Likewise.
21332 (memdisk_mod_LDFLAGS): Likewise.
21333 (pkglib_MODULES): Add reboot.mod.
21334 (reboot_mod_SOURCES): New variable.
21335 (reboot_mod_CFLAGS): Likewise.
21336 (reboot_mod_LDFLAGS): Likewise.
21337 (pkglib_MODULES): Add date.mod.
21338 (date_mod_SOURCES): New variable.
21339 (date_mod_CFLAGS): Likewise.
21340 (date_mod_LDFLAGS): Likewise.
21341 (pkglib_MODULES): Add datehook.mod.
21342 (datehook_mod_SOURCES): New variable.
21343 (datehook_mod_CFLAGS): Likewise.
21344 (datehook_mod_LDFLAGS): Likewise.
21345 (pkglib_MODULES): Add lsmmap.mod.
21346 (lsmmap_mod_SOURCES): New variable.
21347 (lsmmap_mod_CFLAGS): Likewise.
21348 (lsmmap_mod_LDFLAGS): Likewise.
21349 (pkglib_MODULES): Add boot.mod.
21350 (boot_mod_SOURCES): New variable.
21351 (boot_mod_CFLAGS): Likewise.
21352 (boot_mod_LDFLAGS): Likewise.
21353 * conf/i386-coreboot.rmk: Removed redundant parts.
21354 * conf/i386-ieee1275.rmk: Likewise.
21355 * conf/i386-pc.rmk: Likewise.
21356 * conf/mips-yeeloong.rmk: Likewise.
21357 * conf/mips.rmk: Likewise.
21358 * conf/powerpc-ieee1275.rmk: Likewise.
21359 * conf/sparc64-ieee1275.rmk: Likewise.
21360 * conf/x86_64-efi.rmk: Likewise.
21361 * conf/i386-coreboot.rmk: Moved qemu parts ..
21362 * conf/i386-qemu.rmk: ... here
21363 * conf/i386-efi.rmk: Moved common parts to...
21364 * conf/x86-efi.rmk: ... here.
21365 * conf/i386.rmk: Added modules common to all x86 variants.
21366 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
21367 * disk/memdisk.c: Remove grub/machine/kernel.h.
21368 * gensymlist.sh.in: Include symbol.h.
21369 * hook/datehook.c: Correct module name.
21370 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
21371 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
21372 * include/grub/i386/efi/serial.h: New file.
21373 * include/grub/x86_64/efi/serial.h: Likewise.
21374 * util/time.c: Likewise.
21375 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
21376
21377 2010-03-14 Colin King <colin.king@ubuntu.com>
21378 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
21379
21380 Shrink the pre-partition-table part of boot.img by eight bytes.
21381
21382 * boot/i386/pc/boot.S (ERR): New macro.
21383 (chs_mode): Use ERR.
21384 (geometry_error): Likewise.
21385 (hd_probe_error): Remove. This is only used once, so we wrwite
21386 it inline instead.
21387 (read_error): Instead of printing read_error_string, just set up
21388 %si and fall through to ...
21389 (error_message): ... this new function, also used by ERR.
21390
21391 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
21392
21393 Speed up consecutive hostdisk operations on the same device.
21394
21395 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
21396 (grub_util_biosdisk_open): Initialise disk->data.
21397 (struct linux_partition_cache): New structure.
21398 (linux_find_partition): Cache partition start positions; these are
21399 expensive to compute on every read and write.
21400 (open_device): Cache open file descriptor in disk->data, so that we
21401 don't have to reopen it and flush the buffer cache for consecutive
21402 operations on the same device.
21403 (grub_util_biosdisk_close): New function.
21404 (grub_util_biosdisk_dev): Set `close' member.
21405
21406 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
21407 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
21408 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21409 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
21410 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
21411
21412 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21413
21414 Compile parts of grub-emu as modules.
21415
21416 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
21417 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
21418 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
21419 (all-local): Add $(GRUB_EMU).
21420 (install-local): Install $(GRUB_EMU).
21421 (uninstall): Uninstall $(GRUB_EMU).
21422 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
21423 * kern/dl.c: Likewise.
21424 * commands/sleep.c: Not include machine/time.h.
21425 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
21426 (COMMON_CFLAGS): Likewise.
21427 (sbin_UTILITIES): Remove grub-emu.
21428 (grub_emu_SOURCES): Removed.
21429 (kernel_img_RELOCATABLE): New variable.
21430 (pkglib_PROGRAMS): Add kernel.img.
21431 (kernel_img_SOURCES): New variable
21432 (kernel_img_CFLAGS): Likewise.
21433 (kernel_img_LDFLAGS): Likewise.
21434 (TARGET_NO_STRIP): Likewise.
21435 (TARGET_NO_DYNAMIC_MODULES): Likewise.
21436 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
21437 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
21438 (grub-emu): New target.
21439 (GRUB_EMU): New variable.
21440 * configure.ac: Whitelist -emu as possible x86_64 architecture.
21441 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
21442 * loader/xnu.c: Likewise.
21443 * include/grub/pci.h: Likewise.
21444 * genemuinit.sh: New file.
21445 * genemuinitheader.sh: Likewise.
21446 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
21447 Support TARGET_NO_DYNAMIC_MODULES.
21448 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
21449 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
21450 * disk/loopback.c: Likewise.
21451 * font/font_cmd.c: Likewise.
21452 * partmap/acorn.c: Likewise.
21453 * partmap/amiga.c: Likewise.
21454 * partmap/apple.c: Likewise.
21455 * partmap/gpt.c: Likewise.
21456 * partmap/msdos.c: Likewise.
21457 * partmap/sun.c: Likewise.
21458 * parttool/msdospart.c: Likewise.
21459 * term/gfxterm.c: Likewise.
21460 * video/bitmap.c: Likewise.
21461 * video/readers/jpeg.c: Likewise.
21462 * video/readers/png.c: Likewise.
21463 * video/readers/tga.c: Likewise.
21464 * video/video.c: Likewise.
21465 * util/grub-emu.c (read_command_list): Removed.
21466 (main): Don't call util_init_nls.
21467 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
21468 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
21469
21470 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21471
21472 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
21473 date.mod, datehook.mod.
21474 (datetime_mod_SOURCES): New variable.
21475 (datetime_mod_CFLAGS): Likewise.
21476 (datetime_mod_LDFLAGS): Likewise.
21477 (date_mod_SOURCES): Likewise.
21478 (date_mod_CFLAGS): Likewise.
21479 (date_mod_LDFLAGS): Likewise.
21480 (datehook_mod_SOURCES): Likewise.
21481 (datehook_mod_CFLAGS): Likewise.
21482 (datehook_mod_LDFLAGS): Likewise.
21483 * conf/sparc64-ieee1275.rmk: Likewise.
21484 * lib/ieee1275/datetime.c: New file.
21485
21486 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21487
21488 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
21489 (ieee1275_fb_mod_SOURCES): New variable.
21490 (ieee1275_fb_mod_CFLAGS): Likewise.
21491 (ieee1275_fb_mod_LDFLAGS): Likewise.
21492 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
21493 New proto.
21494 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
21495 (HEAP_MAX_ADDR): Likewise.
21496 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
21497 type.
21498 Correct stop condition.
21499 (grub_ieee1275_devices_iterate): New function.
21500 * video/ieee1275.c: New file.
21501
21502 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21503
21504 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
21505
21506 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
21507 as scratch.
21508 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
21509 SCRATCH_PAD_DISKBOOT as scratch.
21510 (bootit): Pass Openfirmware pointer in %o4.
21511 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
21512 of 0x200000.
21513 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
21514 with util/grub-mkrawimage.c.
21515 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
21516 * include/grub/aout.h (AOUT_MID_SUN): New definition.
21517 (grub_aout_get_type) [GRUB_UTIL]: Removed.
21518 (grub_aout_load) [GRUB_UTIL]: Likewise.
21519 * include/grub/kernel.h (grub_modules_get_end): New proto.
21520 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
21521 (SCRATCH_PAD_BOOT): New definition.
21522 (SCRATCH_PAD_DISKBOOT): Likewise.
21523 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
21524 * include/grub/sparc64/ieee1275/ieee1275.h
21525 (grub_ieee1275_original_stack): New variable
21526 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21527 New definition
21528 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
21529 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
21530 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
21531 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
21532 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
21533 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
21534 (grub_platform_image_format_t): New type.
21535 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
21536 * kern/main.c (grub_modules_get_end)
21537 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
21538 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
21539 (codestart): Switch stacks.
21540 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
21541 variable.
21542 (grub_heap_init): Use grub_modules_get_end.
21543 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
21544 stack.
21545 * util/grub-mkrawimage.c (generate_image): Support sparc64.
21546 (main): Likewise.
21547 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
21548
21549 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
21550
21551 * util/grub-mkrescue.in: Base ISO UUID on UTC.
21552
21553 2010-03-08 Matt Kraai <kraai@ftbfs.org>
21554
21555 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
21556 bug #559005).
21557
21558 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
21559
21560 * genmoddep.awk: Output all missing symbols and not only first.
21561
21562 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21563
21564 * NEWS: Put the date of 1.98 release.
21565
21566 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21567
21568 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
21569 ft2build.h.
21570
21571 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21572
21573 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
21574 completition in the middle of string.
21575
21576 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21577
21578 * util/grub-mkrescue.in: Use mktemp with explicit template.
21579
21580 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21581
21582 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
21583
21584 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21585
21586 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
21587 right pointer.
21588
21589 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21590
21591 Fix FreeBSD compilation.
21592
21593 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
21594 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
21595
21596 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21597
21598 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
21599
21600 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21601
21602 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
21603
21604 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21605
21606 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
21607
21608 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
21609
21610 Support relative image path in theme file.
21611
21612 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
21613 (image_set_property): Handle theme_dir and relative path.
21614
21615 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21616
21617 * configure.ac: Alias amd64 to x86_64.
21618
21619 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21620
21621 * NEWS: mention multiboot on EFI.
21622
21623 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21624
21625 * kern/main.c (grub_load_modules): Handle errors from init functions of
21626 embeded modules.
21627
21628 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21629
21630 * normal/autofs.c (autoload_fs_module): Handle errors.
21631
21632 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21633
21634 Disable linux.mod on qemu-mips since it's not functional and leads
21635 to compilation failure.
21636
21637 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
21638 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
21639 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
21640 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
21641 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
21642 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
21643 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
21644 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
21645 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
21646 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
21647 Reported by: BVK Chaitanya
21648
21649 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
21650
21651 * INSTALL: Add gettext as a dependency and add qemu to a new section
21652 "Prerequisites for make-check".
21653
21654 2010-03-04 Christian Franke <franke@computer.org>
21655
21656 * util/grub-pe2elf.c: Add missing include "progname.h".
21657
21658 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21659
21660 * normal/crypto.c (read_crypto_list): Fix a typo.
21661 Reported by: Seth Goldberg.
21662
21663 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21664
21665 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
21666 Reported by: Seth Goldberg.
21667
21668 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21669
21670 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
21671 ascii.bitmaps.
21672
21673 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21674
21675 * genmk.rb: Remove terminal*.lst in make clean.
21676 Reported by: Seth Goldberg.
21677
21678 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21679
21680 * util/i386/efi/grub-install.in: Copy gettext files.
21681
21682 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21683
21684 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
21685
21686 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21687
21688 Wait for user entry basing on presence of output rather than on errors.
21689
21690 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
21691 (grub_install_newline_hook): Likewise.
21692 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
21693 * normal/menu.c (show_menu): Check line_counter to determine presence
21694 of output.
21695 * normal/term.c (grub_normal_line_counter): New variable.
21696 (grub_normal_get_line_counter): New function.
21697 (grub_install_newline_hook): Likewise.
21698
21699 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21700
21701 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
21702
21703 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21704
21705 * configure.ac: Update version to 1.98.
21706
21707 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
21708
21709 * util/grub.d/10_linux.in (linux_entry): Don't default to
21710 gfxpayload=keep if Linux doesn't support video handover.
21711
21712 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
21713
21714 Don't compile video modules on yeeloong since video subsystem is part
21715 of kernel.
21716
21717 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
21718 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
21719 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
21720 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
21721 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
21722 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
21723 * include/grub/bitmap_scale.h: Likewise.
21724 * include/grub/bufio.h: Likewise.
21725 * include/grub/font.h: Likewise.
21726 * include/grub/gfxterm.h: Likewise.
21727 * include/grub/video.h: Likewise.
21728 * include/grub/vbe.h: Don't include video_fb.h.
21729 * video/i386/pc/vbe.c: Include video_fb.h.
21730 * commands/i386/pc/vbetest.c: Include video.h.
21731
21732 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
21733
21734 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
21735 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
21736 default entry if GRUB_SAVEDEFAULT=true. This allows using
21737 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
21738 saving a new default on every boot.
21739
21740 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21741
21742 * normal/crypto.c (read_crypto_list): Fix a memory leak.
21743 * normal/term.c (read_terminal_list): Likewise.
21744 * normal/main.c (grub_normal_init_page): Likewise.
21745 (grub_normal_read_line_real): Likewise.
21746
21747 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21748
21749 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
21750 memory leak.
21751 Reported by: Seth Goldberg.
21752
21753 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
21754
21755 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
21756 duplicate declaration of `start'.
21757
21758 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21759
21760 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
21761 filename.
21762 Reported by: Georgy Buranov
21763
21764 2010-02-20 Carles Pina i Estany <carles@pina.cat>
21765
21766 * util/grub-mkrawimage.c (usage): Change string formatting to
21767 improve gettext.
21768
21769 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
21770
21771 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
21772 backspace keys.
21773
21774 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21775
21776 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
21777 Reported by: Michael Suchanek.
21778
21779 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
21780
21781 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
21782 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
21783
21784 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
21785
21786 Remove any reference to non-free fonts.
21787
21788 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
21789 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
21790 uses non-free components.
21791 * font/font.c (grub_font_get_name): Remove example name.
21792 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
21793 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
21794 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
21795 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
21796
21797 2010-02-16 Georgy Buranov <gburanov@gmail.com>
21798
21799 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
21800
21801 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21802
21803 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
21804 Double divisor.
21805 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
21806 features.
21807 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
21808
21809 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21810
21811 * gensymlist.sh.in: Use TARGET_CC instead of CC.
21812
21813 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21814
21815 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
21816 * docs/grub.texi (Command-line and menu entry commands): Document play
21817 command.
21818
21819 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21820
21821 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
21822 parse arguments as inline tempo and notes. Move code for playing notes
21823 to...
21824 (play): ... new function.
21825
21826 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21827
21828 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
21829 grub_uint16_t instead of short.
21830 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
21831 disk from little endian to cpu endianness.
21832
21833 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
21834
21835 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
21836 GRUB_TICKS_PER_SECOND instead of 120.
21837
21838 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21839
21840 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
21841 escape sequence after \e.
21842
21843 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21844
21845 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
21846 non-ASCII characters.
21847
21848 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21849
21850 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
21851 set root in single quotes to prevent \, from being unescaped.
21852
21853 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21854
21855 Prevent unknown commands from stopping menuentry execution.
21856
21857 * script/execute.c (grub_script_execute_cmdline): Print error after
21858 unknown command.
21859
21860 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21861
21862 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
21863 Reported by: Pavel Pisa.
21864
21865 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21866
21867 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
21868
21869 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21870
21871 Merge grub_ieee1275_map_physical into grub_map and rename to
21872 grub_ieee1275_map
21873
21874 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
21875 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
21876 Remove.
21877 * kern/ieee1275/openfw.c (grub_map): Rename to ...
21878 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
21879 necessary.
21880 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
21881
21882 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21883
21884 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
21885 opening and not after.
21886
21887 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21888
21889 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
21890 constants.
21891
21892 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21893
21894 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
21895 (alloc_phys): Use ALIGN_UP instead of align_addr.
21896
21897 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21898
21899 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
21900
21901 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21902
21903 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
21904
21905 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21906
21907 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
21908 verbose dprintf.
21909
21910 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21911
21912 Fix over-4GiB seek on sparc64.
21913
21914 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
21915 Replace pos_i and pos_lo with pos. All users updated.
21916 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
21917 New constant.
21918 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
21919 Likewise.
21920 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
21921 and pos_lo.
21922
21923 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21924
21925 * util/grub-mkrawimage.c (main): Call set_program_name.
21926
21927 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21928
21929 Properly align 64-bit targets.
21930
21931 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
21932 (generate_image): Use ALIGN_ADDR.
21933
21934 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21935
21936 Properly create cross-endian images.
21937
21938 * include/grub/types.h (grub_host_to_target_addr): New macro
21939 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
21940
21941 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
21942
21943 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
21944
21945 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21946
21947 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
21948
21949 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
21950 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
21951 (grub_linux_boot): Divide by 64K when on VESA.
21952
21953 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21954
21955 Support GRUB_GFXPAYLOAD_LINUX.
21956
21957 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
21958 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
21959
21960 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
21961
21962 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
21963 to show messages instead of discarding them.
21964 Process errors after executing command and not before. Keep old method
21965 too as precaution.
21966
21967 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
21968
21969 * configure.ac: Check for ft2build.h.
21970
21971 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21972
21973 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
21974
21975 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21976
21977 * genkernsyms.sh.in: Use TARGET_CC.
21978
21979 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
21980
21981 * NEWS: Update.
21982
21983 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21984
21985 * include/grub/multiboot2.h: Remove leftover file.
21986 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
21987 * include/grub/partition.h [GRUB_UTIL]: Likewise.
21988
21989 2010-02-07 Yves Blusseau <blusseau@zetam.org>
21990
21991 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
21992
21993 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
21994
21995 Fix warnings in grub-emu when compiling with maximum warning options.
21996
21997 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
21998 (grub_arch_modules_addr): Return 0 and not NULL.
21999 * util/misc.c (ENABLE_RELOCATABLE): New definition.
22000 (xstrdup): Use newstr instead of dup.
22001 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
22002 of disk to dsk to avoid shadowing.
22003 (find_free_slot): Fix prototype.
22004 * util/getroot.c (grub_util_is_dmraid): Make static.
22005 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
22006 Add missing prototype.
22007 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
22008
22009 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22010
22011 * loader/i386/linux.c (grub_linux_setup_video): Handle error
22012 appropriately.
22013
22014 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22015
22016 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
22017 code out.
22018
22019 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22020
22021 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
22022 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
22023 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
22024 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
22025 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
22026 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
22027
22028 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22029
22030 * include/grub/err.h (grub_err_printf): Don't export.
22031
22032 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22033
22034 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
22035
22036 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22037
22038 * include/grub/i18n.h (grub_gettext_dummy): Removed.
22039 * kern/misc.c (grub_gettext_dummy): Make static.
22040
22041 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22042
22043 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
22044 by non-valid ones.
22045 * kern/term.c (grub_putchar): Likewise.
22046
22047 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22048
22049 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
22050 buggy hook call and memory leak.
22051
22052 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22053
22054 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
22055
22056 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22057
22058 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
22059
22060 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22061
22062 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
22063 modevar.
22064 Return grub_errno on allocation error.
22065
22066 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22067
22068 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
22069
22070 2010-02-06 Yves Blusseau <blusseau@zetam.org>
22071
22072 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
22073 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
22074
22075 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22076
22077 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
22078 non-pxe disk.
22079 (grub_pxefs_open): Likewise.
22080
22081 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22082
22083 * util/grub.d/10_hurd.in: Add --class information to menuentries.
22084 * util/grub.d/10_kfreebsd.in: Likewise.
22085 * util/grub.d/10_linux.in: Likewise.
22086
22087 2010-02-06 Colin D Bennett <colin@gibibit.com>
22088
22089 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
22090 (gfxmenu_mod_SOURCES): New variable.
22091 (gfxmenu_mod_CFLAGS): Likewise.
22092 (gfxmenu_mod_LDFLAGS): Likewise.
22093 * include/grub/term.h (grub_term_set_current_output): Declare
22094 argument as const.
22095 * docs/gfxmenu-theme-example.txt: New file.
22096 * gfxmenu/gfxmenu.c: Likewise.
22097 * gfxmenu/gui_box.c: Likewise.
22098 * gfxmenu/gui_canvas.c: Likewise.
22099 * gfxmenu/gui_circular_progress.c: Likewise.
22100 * gfxmenu/gui_image.c: Likewise.
22101 * gfxmenu/gui_label.c: Likewise.
22102 * gfxmenu/gui_list.c: Likewise.
22103 * gfxmenu/gui_progress_bar.c: Likewise.
22104 * gfxmenu/gui_string_util.c: Likewise.
22105 * gfxmenu/gui_util.c: Likewise.
22106 * gfxmenu/icon_manager.c: Likewise.
22107 * gfxmenu/model.c: Likewise.
22108 * gfxmenu/named_colors.c: Likewise.
22109 * gfxmenu/theme_loader.c: Likewise.
22110 * gfxmenu/view.c: Likewise.
22111 * gfxmenu/widget-box.c: Likewise.
22112 * include/grub/gfxmenu_model.h: Likewise.
22113 * include/grub/gfxmenu_view.h: Likewise.
22114 * include/grub/gfxwidgets.h: Likewise.
22115 * include/grub/gui.h: Likewise.
22116 * include/grub/gui_string_util.h: Likewise.
22117 * include/grub/icon_manager.h: Likewise.
22118
22119 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22120
22121 Agglomerate scrolling in gfxterm.
22122
22123 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
22124 (grub_virtual_screen_setup): Initialise 'total_screen'.
22125 (write_char): Split to ...
22126 (paint_char): ... this ...
22127 (write_char): ... and this.
22128 (paint_char): Handle delayed scrolling.
22129 (draw_cursor): Likewise.
22130 (scroll_up): Split to ...
22131 (real_scroll): ... this ...
22132 (scroll_up): ... and this.
22133 (real_scroll): Handle multi-line scroll and draw below-the-bottom
22134 characters.
22135 (grub_gfxterm_refresh): Call real_scroll.
22136
22137 2010-02-06 Colin D Bennett <colin@gibibit.com>
22138
22139 * include/grub/misc.h (grub_iscntrl): New inline function.
22140 (grub_isalnum): Likewise.
22141 (grub_strtol): Likewise.
22142
22143 2010-02-06 Colin D Bennett <colin@gibibit.com>
22144
22145 * normal/menu_text.c (get_entry_number): Move from here ...
22146 * normal/menu.c (get_entry_number): ... moved here.
22147 * include/grub/menu.h (grub_menu_get_default_entry_index):
22148 New prototype.
22149 * normal/menu.c (grub_menu_get_default_entry_index): New function.
22150 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
22151 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
22152 (grub_menu_viewer_should_return): Likewise.
22153 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
22154 * normal/menu_text.c (run_menu): Enable menu switching.
22155 * normal/menu_viewer.c (should_return): New variable.
22156 (menu_viewer_changed): Likewise.
22157 (grub_menu_viewer_show_menu): Handle menu viewer changes.
22158 (grub_menu_viewer_should_return): New function.
22159 (menuviewer_write_hook): Likewise.
22160 (grub_menu_viewer_init): Likewise.
22161
22162 2010-02-06 Colin D Bennet <colin@gibibit.com>
22163 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22164
22165 Support for gfxterm in a window.
22166
22167 * include/grub/gfxterm.h: New file.
22168 * include/grub/video.h (struct grub_video_rect): New declaration.
22169 (grub_video_rect_t): Likewise.
22170 * term/gfxterm.c (struct grub_gfxterm_window): New type.
22171 (refcount): New variable.
22172 (render_target): Likewise.
22173 (window): Likewise.
22174 (repaint_callback): Likewise.
22175 (grub_virtual_screen_setup): Use 'render_target'.
22176 (init_window): New function.
22177 (grub_gfxterm_init_window): Likewise.
22178 (grub_gfxterm_init): Check reference counter.
22179 Use init_window.
22180 (destroy_window): New function.
22181 (grub_gfxterm_destroy_window): Likewise.
22182 (grub_gfxterm_fini): Check reference counter.
22183 Use destroy_window.
22184 (redraw_screen_rect): Restore viewport.
22185 Use 'render_target' and 'window'.
22186 Call 'repaint_callback'.
22187 (write_char): Use 'render_target'.
22188 (draw_cursor): Likewise.
22189 (scroll_up): Restore viewport.
22190 Use 'render_target' and 'window'.
22191 Call 'repaint_callback'.
22192 (grub_gfxterm_cls): Likewise.
22193 (grub_gfxterm_refresh): Use 'window'.
22194 (grub_gfxterm_set_repaint_callback): New function.
22195 (grub_gfxterm_background_image_cmd): Use 'window'.
22196 (grub_gfxterm_get_term): New function.
22197 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
22198
22199 2010-02-06 Colin D Bennett <colin@gibibit.com>
22200
22201 Bitmap scaling support.
22202
22203 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
22204 (bitmap_scale_mod_SOURCES): New variable.
22205 (bitmap_scale_mod_CFLAGS): Likewise.
22206 (bitmap_scale_mod_LDFLAGS): Likewise.
22207 * include/grub/bitmap_scale.h: New file.
22208 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
22209 (background_image_cmd_options): New variable.
22210 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
22211 (cmd): Rename and change type to ...
22212 (background_image_cmd_handle): ... this. All users updated.
22213 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
22214 * video/bitmap_scale.c: New file.
22215
22216 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22217
22218 SDL support.
22219
22220 * Makefile.in (LIBSDL): New variable.
22221 (enable_grub_emu_sdl): Likewise.
22222 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
22223 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
22224 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
22225 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
22226 * util/sdl.c: New file.
22227
22228 2010-02-06 Colin D Bennett <colin@gibibit.com>
22229 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22230
22231 Double buffering support.
22232
22233 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
22234 * include/grub/video.h: Update comment.
22235 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
22236 New type.
22237 (grub_video_fb_doublebuf_blit_init): New prototype.
22238 * term/gfxterm.c (scroll_up): Support double buffering.
22239 (grub_gfxterm_refresh): Likewise.
22240 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
22241 (grub_video_fb_doublebuf_blit_init): Likewise.
22242 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
22243 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
22244 'displayed_page', 'render_page' and 'update_screen'.
22245 (grub_video_vbe_fini): Free offscreen buffer.
22246 (doublebuf_pageflipping_commit): New function.
22247 (doublebuf_pageflipping_update_screen): Likewise.
22248 (doublebuf_pageflipping_init): Likewise.
22249 (double_buffering_init): Likewise.
22250 (grub_video_vbe_setup): Enable doublebuffering.
22251 (grub_video_vbe_swap_buffers): Implement.
22252 (grub_video_vbe_set_active_render_target): Handle double buffering.
22253 (grub_video_vbe_get_active_render_target): Likewise.
22254 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
22255 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
22256 (grub_video_vbe_enable_double_buffering): Likewise.
22257 (grub_video_vbe_swap_buffers): Use update_screen.
22258 (grub_video_set_mode): Use double buffering.
22259
22260 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22261
22262 * maintainance/gentrigtables.py: Remove.
22263 * lib/trig.c: Likewise.
22264
22265 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
22266
22267 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
22268 `trigtables.c'.
22269 (trigtables.c): New rule.
22270 (gentrigtables): Likewise.
22271 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
22272
22273 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22274
22275 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
22276 integer constants.
22277
22278 2010-02-06 Colin D Bennet <colin@gibibit.com>
22279
22280 Trigonometry support.
22281
22282 * include/grub/trig.h: New file.
22283 * lib/trig.c: Likewise.
22284 * maintainance/gentrigtables.py: Likewise.
22285 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
22286 (trig_mod_SOURCES): New variable.
22287 (trig_mod_CFLAGS): Likewise.
22288 (trig_mod_LDFLAGS): Likewise.
22289
22290 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22291
22292 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
22293 disk devices.
22294
22295 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22296
22297 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
22298 error.
22299
22300 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22301
22302 * util/hostdisk.c (open_device): Don't use partition device when reading
22303 before the partition.
22304 (grub_util_biosdisk_read): Don't read from partition and before the
22305 partition in single operation.
22306 (grub_util_biosdisk_write): Don't write to partition and before the
22307 partition in single operation.
22308
22309 2010-02-03 Torsten Landschoff <torsten@debian.org>
22310
22311 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22312 last sectors.
22313
22314 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22315
22316 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
22317 CDROM reads.
22318 (grub_biosdisk_write): Refuse to write to CDROM.
22319
22320 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22321
22322 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
22323
22324 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22325
22326 * font/font.c (find_glyph): Check that bmp_idx is available before
22327 using it.
22328 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
22329 with (font == NULL).
22330
22331 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
22332
22333 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
22334
22335 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
22336
22337 * include/grub/script_sh.h (sourcecode): Add const qualifier.
22338 * util/grub-script-check.c (getline): Fix empty lines case.
22339
22340 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
22341
22342 * Makefile.in (check): Exit with fail status when one of the tests
22343 fails.
22344 * tests/example_functional_test.c (example_test): Fix reversed assert.
22345 * tests/example_unit_test.c (example_test): Likewise.
22346
22347 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
22348
22349 * util/grub.d/10_linux.in: This script does not use any of the
22350 contents of gettext.sh, only the external command `gettext', so stop
22351 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
22352 the same prefix as GRUB.)
22353 * util/grub.d/10_kfreebsd.in: Likewise.
22354
22355 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22356
22357 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
22358 of the line.
22359
22360 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22361
22362 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22363 last sectors.
22364
22365 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22366
22367 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
22368 having a 4KiB and not 32KiB buffer size.
22369
22370 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22371
22372 * util/hostfs.c: Include `<errno.h>'.
22373 (grub_hostfs_read): Handle errors from fseeko() and fread().
22374
22375 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22376
22377 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
22378 loop when using read hooks on files whose size isn't sector-aligned.
22379
22380 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22381
22382 Remove unused parameter.
22383
22384 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
22385 (grub_iso9660_open): Remove initialization of `data->length'.
22386
22387 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22388
22389 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
22390 memleak conditions.
22391
22392 2010-01-27 Carles Pina i Estany <carles@pina.cat>
22393
22394 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
22395 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
22396
22397 2010-01-26 Carles Pina i Estany <carles@pina.cat>
22398
22399 * util/bin2h.c (usage): Fix warning (space after backslash).
22400
22401 2010-01-26 Carles Pina i Estany <carles@pina.cat>
22402
22403 * font/font.c: Include `grub/fontformat.h.
22404 Remove font file format constants.
22405 (grub_font_load): Use the new macros.
22406 * include/grub/fontformat.h: New file.
22407 * util/grub-mkfont.c: Include `grub/fontformat.c'.
22408 (write_font_pf2): Use the new macros.
22409
22410 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22411
22412 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
22413 does.
22414
22415 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22416
22417 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
22418
22419 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
22420 (_start): Macroify `0x7F'.
22421
22422 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
22423 (make_install_device): Use "(pxe)" as fallback prefix when booting
22424 via PXE.
22425
22426 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
22427
22428 * configure.ac: Reset LIBS after check for libgcc symbols.
22429
22430 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
22431
22432 * util/hostdisk.c (open_device): Add trailing newline to debug
22433 message.
22434
22435 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
22436
22437 * configure.ac: Check for `limits.h'.
22438 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
22439
22440 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
22441
22442 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
22443 capitalize error strings.
22444
22445 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
22446
22447 * util/grub.d/10_hurd.in: Add a recovery mode.
22448
22449 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
22450
22451 * configure.ac: Check for libgcc symbols with -nostdlib.
22452
22453 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
22454
22455 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
22456
22457 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22458
22459 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
22460 stack since heap may be unavailable at that point.
22461 (grub_ofconsole_gotoxy): Likewise.
22462
22463 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22464
22465 * configure.ac: Check for _restgpr_14_x.
22466 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
22467 and _savegpr_* prototypes.
22468
22469 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
22470
22471 Use generic grub_reboot() for i386-efi.
22472
22473 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
22474 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
22475 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
22476
22477 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22478
22479 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
22480 presence of "prefix" variable as it breaks when normal.mod is
22481 embedded.
22482
22483 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22484
22485 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
22486 stack since heap is unavailable at that point.
22487
22488 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22489
22490 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
22491 (grub_freebsd_bootinfo): Rewritten.
22492 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
22493
22494 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22495
22496 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
22497
22498 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
22499
22500 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
22501 domain now.
22502
22503 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
22504
22505 * util/misc.c (make_system_path_relative_to_its_root): Change the work
22506 around for handling "/" to the correct fix. Fix a memory leak. Use
22507 xstrdup instead of strdup.
22508
22509 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22510
22511 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
22512
22513 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22514
22515 Optimise glyph lookup by Basic Multilingual Plane lookup array.
22516
22517 * font/font.c (struct grub_font): New member 'bmp_idx'.
22518 (font_init): Initialise 'bmp_idx'.
22519 (load_font_index): Fill 'bmp_idx'.
22520 (find_glyph): Make inline. Use bmp_idx for BMP characters.
22521
22522 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22523
22524 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
22525 unnecessary calls.
22526
22527 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22528
22529 Move context handling out of the kernel.
22530
22531 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
22532 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
22533 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
22534 * conf/i386-efi.rmk: Likewise.
22535 * conf/i386-ieee1275.rmk: Likewise.
22536 * conf/i386-pc.rmk: Likewise.
22537 * conf/powerpc-ieee1275.rmk: Likewise.
22538 * conf/sparc64-ieee1275.rmk: Likewise.
22539 * conf/x86_64-efi.rmk: Likewise.
22540 * include/grub/env.h: Include grub/menu.h.
22541 (grub_env_var_type): Removed.
22542 (grub_env_var): Replaced field 'type' with 'global'.
22543 (grub_env_find): New prototype.
22544 (grub_env_context_open): Remove EXPORT_FUNC.
22545 (grub_env_context_close): Likewise.
22546 (grub_env_export): Likewise.
22547 (grub_env_set_data_slot): Removed.
22548 (grub_env_get_data_slot): Likewise.
22549 (grub_env_unset_data_slot): Likewise.
22550 (grub_env_unset_menu): New prototype.
22551 (grub_env_set_menu): Likewise.
22552 (grub_env_get_menu): Likewise.
22553 * include/grub/env_private.h: New file.
22554 * include/grub/normal.h (grub_context_init): New prototype.
22555 (grub_context_fini): Likewise.
22556 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
22557 * normal/context.c (grub_cmd_export): ... to here.
22558 * kern/env.c: Include env_private.h.
22559 (HASHSZ): Moved to include/grub/env_private.h.
22560 (grub_env_context): Likewise.
22561 (grub_env_sorted_var): Likewise.
22562 (current_context): Renamed from this ...
22563 (grub_current_context): ...to this. 'static' removed. All users updated.
22564 (grub_env_find): Removed 'static'.
22565 (grub_env_context_open): Moved to normal/context.c.
22566 (grub_env_context_close): Likewise.
22567 (grub_env_export): Likewise.
22568 (mangle_data_slot_name): Removed.
22569 (grub_env_set_data_slot): Likewise.
22570 (grub_env_get_data_slot): Likewise.
22571 (grub_env_unset_data_slot): Likewise.
22572 * kern/main.c (grub_set_root_dev): Don't export root.
22573 It will be done later.
22574 (grub_main): Don't export prefix.
22575 It will be done later.
22576 * normal/context.c: New file.
22577 * normal/main.c (free_menu): Use grub_env_unset_menu.
22578 (grub_normal_add_menu_entry): Use grub_env_get_menu.
22579 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
22580 (GRUB_MOD_INIT(normal)): Call grub_context_init.
22581 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
22582
22583 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22584
22585 setpci support.
22586
22587 * commands/setpci.c: New file.
22588 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
22589 (setpci_mod_SOURCES): New variable.
22590 (setpci_mod_CFLAGS): Likewise.
22591 (setpci_mod_LDFLAGS): Likewise.
22592
22593 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22594
22595 Byte-addressable PCI configuration space.
22596
22597 * bus/pci.c (grub_pci_make_address): Use byte address instead of
22598 dword address.
22599 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
22600 GRUB_PCI_REG_CACHELINE.
22601 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
22602 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
22603 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
22604 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
22605 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
22606 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
22607 grub_pci_make_address.
22608 (lock_rom_area): Likewise.
22609 * commands/lspci.c (grub_lspci_iter): Use macroses
22610 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
22611 of grub_pci_make_address.
22612 * disk/ata.c (grub_ata_pciinit): Likewise.
22613 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
22614 (GRUB_PCI_REG_VENDOR): Likewise.
22615 (GRUB_PCI_REG_DEVICE): Likewise.
22616 (GRUB_PCI_REG_COMMAND): Likewise.
22617 (GRUB_PCI_REG_STATUS): Likewise.
22618 (GRUB_PCI_REG_REVISION): Likewise.
22619 (GRUB_PCI_REG_CLASS): Likewise.
22620 (GRUB_PCI_REG_CACHELINE): Likewise.
22621 (GRUB_PCI_REG_LAT_TIMER): Likewise.
22622 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
22623 (GRUB_PCI_REG_BIST): Likewise.
22624 (GRUB_PCI_REG_ADDRESSES): Likewise.
22625 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22626 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22627 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22628 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22629 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22630 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22631 (GRUB_PCI_REG_CIS_POINTER): Likewise.
22632 (GRUB_PCI_REG_SUBVENDOR): Likewise.
22633 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
22634 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
22635 (GRUB_PCI_REG_CAP_POINTER): Likewise.
22636 (GRUB_PCI_REG_IRQ_LINE): Likewise.
22637 (GRUB_PCI_REG_IRQ_PIN): Likewise.
22638 (GRUB_PCI_REG_MIN_GNT): Likewise.
22639 (GRUB_PCI_REG_MAX_LAT): Likewise.
22640 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
22641 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
22642 * video/efi_uga.c (find_framebuf): Likewise.
22643 * video/sm712.c (grub_video_sm712_setup): Likewise.
22644 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
22645 space.
22646
22647 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22648
22649 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
22650 can be reliably determined to be supported.
22651
22652 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22653
22654 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
22655 that VESA is supported.
22656 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
22657 supported.
22658
22659 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22660
22661 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
22662
22663 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22664
22665 * util/misc.c (make_system_path_relative_to_its_root): Work around
22666 special-casing of "/", as previous incarnation of this routine did.
22667
22668 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22669
22670 Fix any-emu compilation.
22671
22672 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
22673 * grub_bin2h_SOURCES: New variable.
22674
22675 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22676
22677 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
22678
22679 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22680
22681 * util/grub.d/00_header.in: Fix handling of locale_dir.
22682
22683 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22684
22685 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
22686 as possible unifont location (Gentoo).
22687 Reported by: Alexander Brüning
22688
22689 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22690
22691 Don't try to generate lists for kernel.img.
22692
22693 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
22694 (pkglib_MODULES): Remove kernel.img.
22695 (kernel_img_EXPORTS): Removed.
22696 (kernel_img_RELOCATABLE): New variable.
22697 * conf/x86_64-efi.rmk: Likewise.
22698 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
22699
22700 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22701
22702 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
22703 grub_xasprintf or grub_snprintf.
22704 (grub_vsprintf): Likewise.
22705 (grub_snprintf): New proto.
22706 (grub_vsnprintf): Likewise.
22707 (grub_xasprintf): Likewise.
22708 (grub_xvasprintf): Likewise.
22709 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
22710 (grub_sprintf): Removed.
22711 (grub_vsnprintf): New function.
22712 (grub_snprintf): Likewise.
22713 (grub_xvasprintf): Likewise.
22714 (grub_xasprintf): Likewise.
22715 (grub_vsprintf): Renamed to ...
22716 (grub_vsnprintf_real): ...this. New argument max_len.
22717
22718 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
22719
22720 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
22721 fix grub-script-check warning.
22722
22723 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22724
22725 * include/grub/font.h (grub_font_load): Fix prototype.
22726
22727 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22728
22729 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
22730
22731 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22732
22733 * include/grub/x86_64/at_keyboard.h: New file.
22734
22735 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22736
22737 * loader/mips/linux.c: Include missing grub/i18n.h.
22738
22739 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22740
22741 * normal/menu.c (notify_execution_failure): Clarify error message.
22742
22743 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22744
22745 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
22746 return value (and revert all return statements). Update users.
22747
22748 2010-01-20 Dan Merillat <debian@dan.merillat.org>
22749
22750 * kern/device.c (grub_device_iterate): Allocate new part_ent
22751 structure based on sizeof (*p) rather than sizeof (p->next), to
22752 account for structure padding.
22753
22754 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
22755 disk is NULL, which might happen for LVM physical volumes with no
22756 LVM signature.
22757
22758 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22759
22760 * loader/mips/linux.c (grub_cmd_initrd)
22761 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
22762
22763 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22764
22765 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
22766 (grub_video_video_init, grub_video_bitmap_init)
22767 (grub_font_manager_init, grub_term_gfxterm_init)
22768 (grub_at_keyboard_init): New extern declarations.
22769 (grub_machine_init): Initialize gfxterm and at_keyboard.
22770
22771 * kern/main.c (grub_main): Revert grub_printf delay kludge.
22772
22773 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
22774 `gfxterm.mod' into core image.
22775
22776 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22777 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22778 (kernel_img_FORMAT): Copy to ...
22779
22780 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22781 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22782 (kernel_img_FORMAT): ... here, and ...
22783
22784 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22785 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22786 (kernel_img_FORMAT): ... here.
22787
22788 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
22789 and input (at_keyboard) terminals in kernel.
22790 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
22791
22792 (pkglib_MODULES): Remove `pci.mod'.
22793 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
22794 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
22795 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
22796 (at_keyboard_mod_LDFLAGS): Remove variables.
22797
22798 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
22799
22800 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
22801
22802 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
22803
22804 * include/grub/mips/libgcc.h: Only export symbols for functions
22805 that libgcc provides.
22806
22807 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
22808
22809 MIPS support.
22810
22811 * bus/bonito.c: New file.
22812 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
22813 GRUB_PCI_NUM_DEVICES.
22814 * term/i386/pc/serial.c: Move to ...
22815 * term/serial.c: ... here. All users updated.
22816 * util/i386/pc/grub-mkimage.c: Move to ...
22817 * util/grub-mkrawimage.c: ... here. All users updated.
22818 * term/i386/pc/at_keyboard.c: Move to ...
22819 * term/at_keyboard.c: ... here. All users updated.
22820 * conf/mips-qemu-mips.rmk: New file.
22821 * conf/mips-yeeloong.rmk: Likewise.
22822 * conf/mips.rmk: Likewise.
22823 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
22824 mipsel-qemu-mips.
22825 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
22826 to port addresses.
22827 (grub_ata_pciinit): Support CS5536.
22828 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
22829 * font/font_cmd.c (loadfont_command): Open file before passing it to
22830 grub_font_load.
22831 (pseudo_file_read): New function.
22832 (pseudo_file_close): Likewise.
22833 (pseudo_fs): New structure.
22834 (load_font_module): New function.
22835 (GRUB_MOD_INIT(font_manager)): Load embedded font.
22836 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
22837 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
22838 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
22839 * include/grub/i386/at_keyboard.h: Split into ...
22840 * include/grub/at_keyboard.h: ... this ...
22841 * include/grub/i386/at_keyboard.h: ... and this.
22842 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
22843 New prototype.
22844 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
22845 updated.
22846 (grub_elf64_size): Likewise.
22847 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
22848 filename.
22849 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
22850 * include/grub/i386/coreboot/serial.h: Rewritten.
22851 * include/grub/i386/ieee1275/serial.h: Include
22852 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
22853 * include/grub/i386/pc/serial.h: Moved from here ...
22854 * include/grub/serial.h: ... to here. All users updated.
22855 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
22856 (GRUB_PCI_NUM_BUS): Likewise.
22857 (GRUB_PCI_NUM_DEVICES): Likewise.
22858 (grub_pci_device_map_range): Add missing volatile keyword.
22859 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
22860 * include/grub/mips/at_keyboard.h: New file.
22861 * include/grub/mips/cache.h: Likewise.
22862 * include/grub/mips/io.h: Likewise.
22863 * include/grub/mips/kernel.h: Likewise.
22864 * include/grub/mips/libgcc.h: Likewise.
22865 * include/grub/mips/pci.h: Likewise.
22866 * include/grub/mips/qemu-mips/boot.h: Likewise.
22867 * include/grub/mips/qemu-mips/kernel.h: Likewise.
22868 * include/grub/mips/qemu-mips/loader.h: Likewise.
22869 * include/grub/mips/qemu-mips/memory.h: Likewise.
22870 * include/grub/mips/qemu-mips/serial.h: Likewise.
22871 * include/grub/mips/qemu-mips/time.h: Likewise.
22872 * include/grub/mips/relocator.h: Likewise.
22873 * include/grub/mips/time.h: Likewise.
22874 * include/grub/mips/types.h: Likewise.
22875 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
22876 * include/grub/mips/yeeloong/boot.h: Likewise.
22877 * include/grub/mips/yeeloong/kernel.h: Likewise.
22878 * include/grub/mips/yeeloong/loader.h: Likewise.
22879 * include/grub/mips/yeeloong/memory.h: Likewise.
22880 * include/grub/mips/yeeloong/pci.h: Likewise.
22881 * include/grub/mips/yeeloong/serial.h: Likewise.
22882 * include/grub/mips/yeeloong/time.h: Likewise.
22883 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
22884 * kern/elf.c (grub_elf32_size): New parameter. All users
22885 updated.
22886 (grub_elf64_size): Likewise.
22887 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
22888 Load modules before saying "Welcome to GRUB!".
22889 Call grub_refresh after saying "Welcome to GRUB!".
22890 * kern/mips/cache.S: New file.
22891 * kern/mips/cache_flush.S: Likewise.
22892 * kern/mips/dl.c: Likewise.
22893 * kern/mips/init.c: Likewise.
22894 * kern/mips/qemu-mips/init.c: Likewise.
22895 * kern/mips/startup.S: Likewise.
22896 * kern/mips/yeeloong/init.c: Likewise.
22897 * kern/term.c (grub_putcode): Handle NULL terminal.
22898 (grub_getcharwidth): Likewise.
22899 (grub_getkey): Likewise.
22900 (grub_checkkey): Likewise.
22901 (grub_getkeystatus): Likewise.
22902 (grub_getxy): Likewise.
22903 (grub_getwh): Likewise.
22904 (grub_gotoxy): Likewise.
22905 (grub_cls): Likewise.
22906 (grub_setcolorstate): Likewise.
22907 (grub_setcolor): Likewise.
22908 (grub_getcolor): Likewise.
22909 (grub_refresh): Likewise.
22910 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
22911 (write_jump): Add hatch nop.
22912 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
22913 * lib/mips/setjmp.S: New file.
22914 * loader/mips/linux.c: Likewise.
22915 * term/i386/pc/at_keyboard.c: Move from here ...
22916 * term/at_keyboard.c: ... to here.
22917 * term/i386/pc/serial.c: Moved from here ...
22918 * term/serial.c: ... to here. All users updated.
22919 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
22920 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
22921 (serial_translate_key_sequence): Avoid deadlock.
22922 (grub_serial_getkey): Handle backspace.
22923 (grub_serial_putchar): Fix newline handling.
22924 * util/i386/pc/grub-mkimage.c: Move from here ...
22925 * util/grub-mkrawimage.c: ... to here. All users updated.
22926 (generate_image): New parameters 'font_path' and 'format'.
22927 Support embedding font.
22928 Use grub_host_to_target* instead of grub_cpu_to_le*.
22929 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
22930 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
22931 (options): New option "--font".
22932 (usage): Likewise.
22933 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
22934 (main): Handle "--font".
22935 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
22936 (grub_virtual_screen_setup): Set bg_color_display.
22937 (redraw_screen_rect): Use bg_color_display instead of incorrect
22938 bg_color.
22939 (grub_gfxterm_cls): Likewise.
22940 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
22941 Support embedding config file.
22942 (add_segments): Likewise.
22943 (options): New option "--config".
22944 (main): Handle "--config".
22945 * video/sm712.c: New file.
22946
22947 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
22948
22949 Fix parallel builds.
22950
22951 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
22952 font.c depend on ascii.h).
22953
22954 2010-01-12 Carles Pina i Estany <carles@pina.cat>
22955
22956 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
22957
22958 2010-01-11 Carles Pina i Estany <carles@pina.cat>
22959
22960 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
22961 By default: disabled.
22962 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
22963 parameter.
22964
22965 2010-01-10 Carles Pina i Estany <carles@pina.cat>
22966
22967 * font/font.c: Update copyright years.
22968 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
22969
22970 2010-01-10 Carles Pina i Estany <carles@pina.cat>
22971
22972 * font/font.c: Include `ascii.h'.
22973 (ASCII_BITMAP_SIZE): New macro.
22974 (ascii_font_glyph): Define.
22975 (ascii_glyph_lookup): New function.
22976 (grub_font_get_string_width): Change comment. If glyph not found, use
22977 ascii_glyph_lookup.
22978 (grub_font_get_glyph_with_fallback): If glyph not available returns
22979 ascii_glyph_lookup.
22980 * util/grub-mkfont.c (file_formats): New enum.
22981 (options): Add `ascii-bitmaps' new option.
22982 (usage): Add `asii-bitmaps' new option.
22983 (write_font_ascii_bitmap): New function.
22984 (write_font): Rename to ...
22985 (write_font_p2): ... this. Remove print_glyphs call.
22986 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
22987 used. Call print_glyphs.
22988 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
22989
22990 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
22991
22992 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
22993 (grub_bin2h_SOURCES): New variable.
22994 * util/bin2h.c: New file.
22995
22996 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22997
22998 * include/multiboot.h: Resynced with spec.
22999 * include/multiboot2.h: Likewise.
23000 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
23001 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
23002
23003 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23004
23005 * include/grub/term.h (grub_term_register_input,
23006 grub_term_register_output): Check return of terminal init()
23007 routines, and abort if errors are raised.
23008
23009 * commands/terminal.c: Update copyright year.
23010
23011 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23012
23013 * commands/terminal.c (grub_cmd_terminal_input)
23014 (grub_cmd_terminal_output): Check return of terminal init()
23015 routines, and abort if errors are raised.
23016
23017 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23018
23019 * include/grub/i386/bsd.h: Fix include pathes.
23020
23021 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23022
23023 Add missing *BSD copyright headers.
23024
23025 * include/grub/aout.h: Add BSD licence.
23026 * include/grub/i386/bsd.h: Parts under different licences moved to ...
23027 * include/grub/i386/freebsd_linker.h: ... here,
23028 * include/grub/i386/freebsd_reboot.h: ... here,
23029 * include/grub/i386/netbsd_bootinfo.h: ... here,
23030 * include/grub/i386/netbsd_reboot.h: ... here,
23031 * include/grub/i386/openbsd_bootarg.h: ... here,
23032 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
23033 licence to each file.
23034
23035 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23036
23037 * acinclude.m4: Remove `nop' assembly instruction; it's not
23038 implemented by all architectures.
23039
23040 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23041
23042 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
23043 ELILO. This is no longer necessary.
23044
23045 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
23046
23047 Added new tool, grub-scrit-check to verify grub.cfg syntax.
23048
23049 * util/grub-script-check.c: grub-script-check tool.
23050 * conf/common.rmk: Make rules for grub-script-check.
23051
23052 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23053
23054 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
23055 spotting it back in 2008. Shame on me for forgetting he did.
23056
23057 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
23058
23059 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23060
23061 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
23062 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
23063 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
23064 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
23065 (GRUB_VIDEO_TYPE_EFI): Rename to ...
23066 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
23067
23068 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
23069
23070 * include/grub/test.h: Add license header.
23071 * tests/example_functional_test.c: Likewise.
23072 * tests/example_unit_test.c: Likewise.
23073 * tests/lib/functional_test.c: Likewise.
23074 * tests/lib/test.c: Likewise.
23075 * tests/lib/unit_test.c: Likewise.
23076
23077 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
23078
23079 Use flag-based instead of hook-based video mode selection and "auto"
23080 keyword.
23081
23082 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
23083 (grub_video_set_mode): Changed prototype. All users updated.
23084 (grub_video_check_mode_flag): New inline function.
23085 * video/video.c (parse_modespec): New function.
23086 (grub_video_set_mode): Parse flags and keywords.
23087
23088 2010-01-17 Carles Pina i Estany <carles@pina.cat>
23089
23090 * util/misc.c (grub_util_info): Fix the order of the parameters in a
23091 fprintf call.
23092
23093 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
23094
23095 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
23096
23097 2010-01-16 Carles Pina i Estany <carles@pina.cat>
23098
23099 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
23100 string.
23101 * util/grub-emu.c (usage): Likewise.
23102 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
23103 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23104 * util/i386/pc/grub-mkimage.c (usage): Likewise.
23105 * util/i386/pc/grub-setup.c (usage): Likewise.
23106
23107 2010-01-16 Carles Pina i Estany <carles@pina.cat>
23108
23109 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
23110 the message.
23111 (grub_util_info): Likewise.
23112 (grub_util_error): Likewise.
23113 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
23114 and/or new lines in `grub_util_warna', `grub_util_info',
23115 `grub_util_error' calls.
23116 * util/getroot.c: Likewise.
23117 * util/grub-editenv.c: Likewise.
23118 * util/grub-emu.c: Likewise.
23119 * util/grub-fstest.c: Likewise.
23120 * util/grub-mkdevicemap.c: Likewise.
23121 * util/grub-mkfont.c: Likewise.
23122 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23123 * util/grub-mkrelpath.c: Likewise.
23124 * util/grub-pe2elf.c: Likewise.
23125 * util/grub-probe.c: Likewise.
23126 * util/hostdisk.c: Likewise.
23127 * util/i386/efi/grub-mkimage.c: Likewise.
23128 * util/i386/pc/grub-mkimage.c: Likewise.
23129 * util/i386/pc/grub-setup.c: Likewise.
23130 * util/ieee1275/ofpath.c: Likewise.
23131 * util/mkisofs/eltorito.c: Likewise.
23132 * util/mkisofs/rock.c: Likewise.
23133 * util/mkisofs/write.c: Likewise.
23134 * util/raid.c: Likewise.
23135 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
23136 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23137
23138 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23139
23140 Enable multiboot on non-pc.
23141
23142 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
23143 multiboot.mod and multiboot2.mod to ...
23144 * conf/i386.rmk (pkglib_MODULES): ... here.
23145 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
23146 Moved to ...
23147 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
23148 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
23149 Moved to ...
23150 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
23151 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
23152 Moved to ...
23153 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
23154 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
23155 Moved to ...
23156 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
23157 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
23158 relocator.mod.
23159 (ata_mod_SOURCES): Removed.
23160 (ata_mod_CFLAGS): Likewise.
23161 (ata_mod_LDFLAGS): Likewise.
23162 (relocator_mod_SOURCES): Removed.
23163 (relocator_mod_CFLAGS): Likewise.
23164 (relocator_mod_ASFLAGS): Likewise.
23165 (relocator_mod_LDFLAGS): Likewise.
23166 Include i386.mk.
23167 * include/grub/x86_64/multiboot.h: New file.
23168 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
23169 Terminate EFI.
23170
23171 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23172
23173 Video multiboot support.
23174
23175 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
23176 New prototype.
23177 * include/multiboot.h: Resynced with multiboot specification.
23178 * include/multiboot2.h: Likewise.
23179 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
23180 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
23181 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
23182 (HAS_VGA_TEXT): Likewise.
23183 (accepts_video): New variable.
23184 (grub_multiboot_set_accepts_video): New function.
23185 (grub_multiboot_get_mbi_size): Account for video structures.
23186 (set_video_mode): New function.
23187 (retrieve_video_parameters): Likewise.
23188 (grub_multiboot_make_mbi): Fill video fields.
23189
23190 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23191
23192 Video driver ids.
23193
23194 * include/grub/video.h (grub_video_driver_id): New type.
23195 (grub_video_adapter): New member 'id'. All users updated.
23196 (grub_video_get_driver_id): New proto.
23197 * video/video.c (grub_video_get_driver_id): New function.
23198
23199 2010-01-14 Carles Pina i Estany <carles@pina.cat>
23200
23201 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
23202 `var=val'.
23203
23204 2010-01-14 Carles Pina i Estany <carles@pina.cat>
23205
23206 * normal/cmdline.c (print_completion): Gettextizze.
23207
23208 2001-01-14 Carles Pina i Estany <carles@pina.cat>
23209
23210 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
23211
23212 2010-01-14 Carles Pina i Estany <carles@pina.cat>
23213
23214 * gettext/gettext.c (grub_gettext_translate): Push and pop
23215 grub_errno.
23216 (grub_gettext_delete_list): Change comment style.
23217 * kern/err.c (grub_error): Gettextizze.
23218 (grub_fatal): Gettextizze.
23219
23220 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23221
23222 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
23223 (grub_linux16_real_boot): ... this.
23224 * kern/i386/loader.S: Likewise.
23225 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
23226 (grub_linux16_boot): New function. Switches to text mode and calls
23227 grub_linux16_real_boot().
23228
23229 * loader/i386/bsd.c: Include `<grub/video.h>'.
23230 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
23231 text mode before calling grub_unix_real_boot().
23232
23233 * loader/i386/multiboot.c: Include `<grub/video.h>'.
23234 (grub_multiboot_boot): Switch to text mode before calling
23235 grub_relocator32_boot().
23236
23237 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
23238 (grub_chainloader_boot): Switch to text mode before calling
23239 grub_chainloader_real_boot().
23240
23241 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
23242 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23243
23244 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
23245 non-empty value.
23246
23247 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
23248 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23249
23250 * util/grub.d/00_header.in: Define a "savedefault" function for use
23251 in menu entries.
23252 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
23253
23254 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
23255 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23256
23257 * util/grub-mkconfig_lib.in (save_default_entry): Only set
23258 saved_entry if boot_once is unset.
23259 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
23260 previous saved entry (i.e. grub-reboot).
23261
23262 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23263
23264 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
23265
23266 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23267
23268 * util/grub.d/00_header.in: Use `set var=val' rather than plain
23269 `var=val'.
23270 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
23271
23272 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23273
23274 * util/grub-reboot.in: Fix --version output.
23275 * util/grub-set-default.in: Likewise.
23276
23277 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23278
23279 * util/grub.d/00_header.in: Silently ignore zero-sized environment
23280 blocks.
23281
23282 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23283
23284 * util/grub.d/00_header.in: Quote the value assigned to `default',
23285 in case it contains spaces.
23286
23287 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
23288
23289 * util/grub.d/30_os-prober.in: Fix merge error that moved a
23290 `save_default_entry' call from the macosx case to the linux case.
23291
23292 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
23293 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
23294
23295 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
23296 in `chosen' environment variable.
23297 * normal/menu_text.c (get_entry_number): Check if the variable
23298 matches the title of a menu entry.
23299 (run_menu): Pass menu to get_entry_number.
23300
23301 * util/grub-reboot.in: New file.
23302 * util/grub-set-default.in: New file.
23303 * conf/common.rmk (grub-reboot): New utility.
23304 (grub-set-default): New utility.
23305
23306 * util/grub-mkconfig_lib.in (save_default_entry): New function.
23307 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
23308 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
23309 move it to `saved_entry' for the next boot. Load environment on
23310 initialisation.
23311 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
23312 * util/grub.d/10_hurd.in: Likewise.
23313 * util/grub.d/10_linux.in (linux_entry): Likewise.
23314 * util/grub.d/10_windows.in: Likewise.
23315 * util/grub.d/30_os-prober.in: Likewise.
23316
23317 * util/grub-install.in: Create environment block.
23318 * util/i386/efi/grub-install.in: Likewise.
23319 * util/ieee1275/grub-install.in: Likewise.
23320 * util/sparc64/ieee1275/grub-install.in: Likewise.
23321
23322 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
23323
23324 Unit testing framework for GRUB.
23325
23326 * Makefile.in: Test framework build rules for 'make check'.
23327 * conf/tests.rmk: Build rules for individual tests and framework.
23328
23329 * include/grub/test.h: Header file for whitebox tests.
23330 * tests/lib/functional_test.c: Framework support for whitebox
23331 functional tests.
23332 * tests/lib/test.c: Common whitebox testing code for unit and
23333 functional tests.
23334 * tests/lib/unit_test.c: Framework support for whitebox unit
23335 tests.
23336
23337 * tests/util/grub-shell-tester.in: Support utility for grub-script
23338 tests.
23339 * tests/util/grub-shell.in: Utility to execute grub-script
23340 commands in a Qemu instance.
23341
23342 * tests/example_functional_test.c: Example whitebox functional
23343 test.
23344 * tests/example_grub_script_test.in: Example grub-script test.
23345 * tests/example_scripted_test.in: Example scripted test.
23346 * tests/example_unit_test.c: Example whitebox unit test.
23347
23348 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
23349
23350 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
23351 Add loader/i386/multiboot_mbi.c.
23352 (multiboot2_mod_SOURCES): Likewise.
23353 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
23354 (multiboot2_mod_SOURCES): Likewise.
23355 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
23356 (grub_multiboot_make_mbi): Likewise.
23357 (grub_multiboot_free_mbi): Likewise.
23358 (grub_multiboot_init_mbi): Likewise.
23359 (grub_multiboot_add_module): Likewise.
23360 (grub_multiboot_set_bootdev): Likewise.
23361 * loader/i386/multiboot.c (mbi): Removed.
23362 (mbi_dest): Likewise.
23363 (alloc_mbi): New variable.
23364 (grub_multiboot_payload_size): Removed. All users updated.
23365 (grub_multiboot_pure_size): New variable.
23366 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
23367 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
23368 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
23369 (grub_fill_multiboot_mmap): Likewise.
23370 (grub_multiboot_get_bootdev): Likewise.
23371 (grub_multiboot): Use multiboot_mbi functions.
23372 * loader/i386/multiboot_mbi.c: New file.
23373
23374 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23375
23376 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
23377 it would result in module crash.
23378
23379 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23380
23381 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
23382 (grub_ofconsole_getwh): Split to ...
23383 (grub_ofconsole_getwh): ... this.
23384 (grub_ofconsole_dimensions): ...and this.
23385 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
23386
23387 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
23388
23389 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
23390
23391 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23392
23393 * loader/i386/pc/multiboot2.c: Removed stalled file.
23394
23395 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23396
23397 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
23398 Reported by: Grégoire Sutre
23399
23400 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
23401
23402 * util/misc.c (canonicalize_file_name): New function.
23403 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
23404 instead of realpath().
23405
23406 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
23407
23408 * util/grub-install.in (usage): Clarify meaning of --root-directory,
23409 and make it clearer that it's optional. Based on confusion
23410 witnessed on IRC.
23411
23412 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23413
23414 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
23415 in premature implicit newline.
23416
23417 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23418
23419 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
23420 which resulted in garbled command line at the end of screen.
23421
23422 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23423
23424 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
23425 initialization with similar approach as with other Linux loaders.
23426
23427 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23428
23429 Fix i386-ieee1275 build.
23430
23431 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
23432 and grub_term_height() for video_{width,height} initialization.
23433
23434 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23435
23436 Fix grub-emu build.
23437
23438 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
23439
23440 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23441 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23442
23443 Support for multiple terminals.
23444
23445 * Makefile.in (pkglib_DATA): terminal.lst.
23446 (terminal.lst): New target.
23447 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
23448 (GRUB_MOD_INIT(handler)): Likewise.
23449 (GRUB_MOD_FINI(handler)): Likewise.
23450 * commands/help.c (grub_cmd_help): Handle multiple terminals.
23451 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
23452 * commands/sleep.c (do_print): Use grub_term_restore_pos.
23453 (grub_cmd_sleep): Use grub_term_save_pos.
23454 * commands/terminal.c: New file.
23455 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
23456 commands/terminal.c and lib/charset.c.
23457 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
23458 (pkglib_MODULES): Add terminal.mod.
23459 (terminal_mod_SOURCES): New variable.
23460 (terminal_mod_CFLAGS): Likewise.
23461 (terminal_mod_LDFLAGS): Likewise.
23462 * genhandlerlist.sh: Don't handle terminals.
23463 * genmk.rb: Generate terminal-*.lst.
23464 * genterminallist.sh: New file.
23465 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
23466 (grub_is_valid_utf8): Likewise.
23467 (grub_utf8_to_ucs4_alloc): Likewise.
23468 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
23469 (grub_menu_register_viewer): Changed argument.
23470 (grub_menu_try_text): New proto.
23471 (grub_gfxmenu_try_hook): New declaration.
23472 * include/grub/normal.h (grub_normal_exit_level): New declaration.
23473 (grub_menu_init_page): Additional argument term.
23474 (grub_normal_init_page): Likewise.
23475 (grub_cmdline_get): Arguments simplified.
23476 (grub_utf8_to_ucs4_alloc): Removed.
23477 (grub_print_ucs4): Additional argument term.
23478 (grub_getstringwidth): Likewise.
23479 (grub_print_message_indented): Likewise.
23480 (grub_menu_text_register_instances): New proto.
23481 (grub_show_menu): Likewise.
23482 (read_terminal_list): Likewise.
23483 (grub_set_more): Likewise.
23484 * include/grub/parser.h: Include handler.h.
23485 * include/grub/reader.h: Rewritten.
23486 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
23487 (GRUB_TERM_WIDTH): Changed to function.
23488 (GRUB_TERM_HEIGHT): Likewise.
23489 (GRUB_TERM_BORDER_WIDTH): Likewise.
23490 (GRUB_TERM_BORDER_HEIGHT): Likewise.
23491 (GRUB_TERM_NUM_ENTRIES): Likewise.
23492 (GRUB_TERM_ENTRY_WIDTH): Likewise.
23493 (GRUB_TERM_CURSOR_X): Likewise.
23494 (grub_term_input_class): Likewise.
23495 (grub_term_output_class): Likewise.
23496 (grub_term_outputs_disabled): New declaration.
23497 (grub_term_inputs_disabled): Likewise.
23498 (grub_term_outputs): Likewise.
23499 (grub_term_inputs): Likewise.
23500 (grub_term_register_input): Rewritten.
23501 (grub_term_register_output): Likewise.
23502 (grub_term_unregister_input): Likewise.
23503 (grub_term_unregister_output): Likewise.
23504 (FOR_ACTIVE_TERM_INPUTS): New macro.
23505 (FOR_DISABLED_TERM_INPUTS): Likewise.
23506 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23507 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23508 * include/grub/terminfo.h: Add oterm argument to all protypes.
23509 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
23510 Use grub_rescue_run.
23511 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
23512 All users updated.
23513 * kern/reader.c: Removed. All users updated.
23514 * kern/rescue_reader.c (grub_rescue_init): Removed.
23515 (grub_rescue_reader): Likewise.
23516 (grub_register_rescue_reader): Likewise.
23517 (grub_rescue_run): New function based on kern/reader.c.
23518 * kern/term.c: Adapted for multiterm.
23519 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
23520 (grub_is_valid_utf8): Likewise.
23521 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
23522 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
23523 right terminal.
23524 * loader/i386/linux.c (grub_linux_boot): Likewise.
23525 * normal/auth.c (grub_username_get): New function.
23526 (grub_auth_check_authentication): Use grub_username_get.
23527 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
23528 * normal/color.c: Adapt for multiterm.
23529 * normal/main.c (read_config_file): Don't use grub_reader_loop.
23530 (grub_normal_init_page): Additional argument term.
23531 (read_lists): Call read_terminal_lists.
23532 (grub_enter_normal_mode): Call grub_cmdline_run.
23533 Handle grub_normal_exit_level.
23534 (grub_cmd_normal): Make reentrant.
23535 (grub_cmd_normal_exit): New function.
23536 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
23537 * normal/menu.c: Adapt for multiterm.
23538 * normal/menu_entry.c: Likewise.
23539 * normal/menu_text.c: Likewise.
23540 * normal/menu_viewer.c: Removed. All users updated.
23541 * normal/term.c: New file.
23542 * util/console.c: Change order of includes to workaround a bug in
23543 ncurses headers.
23544 * term/terminfo.c: New argument oterm on all exported functions.
23545 All users updated.
23546 * util/grub-editenv.c (grub_term_input_class): Removed.
23547 (grub_term_output_class): Likewise.
23548
23549 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23550
23551 Make loader output a bit more user-friendly.
23552
23553 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
23554 is being loaded. Likewise for the Hurd.
23555
23556 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
23557 that kernel of FreeBSD ${version} is being loaded.
23558
23559 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
23560 grub_dprintf().
23561 (grub_cmd_initrd): Likewise.
23562 * util/grub.d/10_linux.in (linux_entry): Print message indicating
23563 that Linux ${version} is being loaded. Likewise for initrd.
23564
23565 2010-01-09 Carles Pina i Estany <carles@pina.cat>
23566
23567 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
23568
23569 2010-01-08 Carles Pina i Estany <carles@pina.cat>
23570
23571 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
23572 (GRUB_MOD_INIT): Gettextizze.
23573 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
23574 (GRUB_MOD_INIT): Gettextizze.
23575 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
23576 (grub_cmd_linux): Capitalise Linux.
23577 (GRUB_MOD_INIT): Gettextizze.
23578 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
23579 (grub_cmd_linux): Capitalise Linux.
23580 (GRUB_MOD_INIT): Gettextizze.
23581 * loader/i386/linux.c: Include `<grub/i18n.h>'.
23582 (grub_cmd_linux): Capitalise Linux.
23583 (GRUB_MOD_INIT): Gettextizze.
23584 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
23585 (GRUB_MOD_INIT): Gettextizze.
23586 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
23587 (grub_cmd_linux): Capitalise Linux.
23588 (GRUB_MOD_INIT): Gettextizze.
23589 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
23590 (grub_cpu_xnu_init): Gettextizze.
23591 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
23592 (GRUB_MOD_INIT): Gettextizze.
23593 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
23594 (GRUB_MOD_INIT): Gettextizze.
23595 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
23596 (grub_linux_load64): Capitalise Linux.
23597 (GRUB_MOD_INIT): Gettextizze.
23598 * loader/xnu.c: Include `<grub/i18n.h>'.
23599 (GRUB_MOD_INIT): Gettextizze.
23600 * po/POTFILES: Add `loader/efi/appleloader.c',
23601 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
23602 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
23603 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
23604 `loader/i386/xnu.c', `loader/multiboot_loader.c',
23605 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
23606 and `loader/xnu.c'.
23607
23608 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
23609
23610 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
23611
23612 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
23613
23614 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
23615 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
23616 * util/mkisofs/mkisofs.c (main): Readjust --version output.
23617
23618 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23619
23620 Reset Multiboot 2 support. New loader implements the draft in
23621 /branches/multiboot2 and shares as much code as possible with the
23622 production Multiboot 1 implementation.
23623
23624 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
23625 * loader/multiboot2.c: Likewise.
23626 * loader/i386/multiboot_helper.S: Likewise.
23627 * include/multiboot2.h: Replace with latest version from the draft
23628 in /branches/multiboot2.
23629
23630 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
23631 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
23632 and `loader/multiboot2.c'.
23633 (pkglib_MODULES): Add `multiboot2.mod'.
23634 (multiboot2_mod_SOURCES): New variable.
23635 (multiboot2_mod_LDFLAGS): Likewise.
23636 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
23637
23638 * conf/i386-pc.rmk: Likewise.
23639
23640 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23641 (multiboot_mod_SOURCES): Remove variable.
23642 (multiboot_mod_LDFLAGS): Likewise.
23643 (multiboot_mod_CFLAGS): Likewise.
23644
23645 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
23646 `<multiboot2.h>' instead of `<multiboot.h>'.
23647 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
23648 (MULTIBOOT_HEADER_MAGIC): New macros.
23649
23650 * loader/multiboot_loader.c (module_version_status): Remove variable.
23651 (find_multi_boot2_header): Remove function.
23652 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
23653 logic. Always check for the Multiboot version we're compiling for.
23654 (grub_cmd_module_loader): Likewise.
23655 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
23656 command instead of `multiboot'.
23657
23658 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23659
23660 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
23661 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
23662 all users.
23663
23664 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23665 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23666
23667 Fix breakage introduced with previous commit.
23668
23669 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
23670 commands.
23671 * normal/handler.c (read_handler_list): Revert part of previous commit
23672 affecting this file.
23673 * normal/main.c (read_lists): Move read_handler_list() call back to ...
23674 (grub_normal_execute): ... here.
23675
23676 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23677
23678 Merge prefix-redefinition-fix branch.
23679
23680 * normal/autofs.c (read_fs_list): Make function capable of being
23681 run multiple times, gracefuly replacing the previous data
23682 structures.
23683 * normal/dyncmd.c (read_command_list): Likewise.
23684 * normal/handler.c (read_handler_list): Likewise.
23685 * normal/main.c (read_lists): New function. Calls all the
23686 list reading functions.
23687 (grub_normal_execute): Use read_lists() instead of calling all
23688 list reading functions explicitly. Register read_lists() as a
23689 variable hook attached to ${prefix}.
23690
23691 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23692
23693 Merge crypto branch.
23694
23695 * Makefile.in (pkglib_DATA): Add crypto.lst.
23696 (crypto.lst): New target.
23697 * commands/hashsum.c: New file.
23698 * commands/password.c (check_password): Use grub_crypto_memcmp.
23699 * commands/password_pbkdf2.c: New file.
23700 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
23701 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
23702 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
23703 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
23704 -I$(srcdir)/lib/libgcrypt_wrap.
23705 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
23706 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
23707 password_pbkdf2.mod.
23708 (crypto_mod_SOURCES): New variable.
23709 (crypto_mod_CFLAGS): Likewise.
23710 (crypto_mod_LDFLAGS): Likewise.
23711 (hashsum_mod_SOURCES): New variable.
23712 (hashsum_mod_CFLAGS): Likewise.
23713 (hashsum_mod_LDFLAGS): Likewise.
23714 (pbkdf2_mod_SOURCES): New variable.
23715 (pbkdf2_mod_CFLAGS): Likewise.
23716 (pbkdf2_mod_LDFLAGS): Likewise.
23717 (password_pbkdf2_mod_SOURCES): New variable.
23718 (password_pbkdf2_mod_CFLAGS): Likewise.
23719 (password_pbkdf2_mod_LDFLAGS): Likewise.
23720 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
23721 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
23722 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
23723 Include conf/gcry.rmk.
23724 * include/grub/auth.h: Rewritten.
23725 * include/grub/crypto.h: New file.
23726 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
23727 * include/grub/normal.h (read_crypto_list): New prototype.
23728 * lib/crypto.c: New file.
23729 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
23730 * lib/pbkdf2.c: Likewise.
23731 * normal/auth.c (grub_auth_strcmp): Removed.
23732 (grub_iswordseparator): Likewise.
23733 (grub_auth_strword): Likewise.
23734 (is_authenticated): Use grub_strword.
23735 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
23736 and grub_strword. Pass entered password to authentication callback.
23737 * normal/crypto.c: New file.
23738 * normal/main.c: Call read_crypto_list.
23739 * util/grub-mkpasswd-pbkdf2.c: New file.
23740 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
23741
23742 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
23743
23744 Fix descent and ascent calculation.
23745
23746 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
23747 (options): New option "asce".
23748 (usage): Likewise.
23749 (add_char): Ignore invalid glyphs for descent calculation.
23750 Calculate ascent from actual content.
23751 (print_glyphs): Use 'asce'.
23752 (write_font): Likewise. Allow ascent override.
23753 (main): Handle "asce" option.
23754
23755 2010-01-06 Carles Pina i Estany <carles@pina.cat>
23756
23757 * kern/err.c: Include `<grub/i18n.h>'.
23758 (grub_print_error): Add full stop. Gettextizze.
23759 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
23760 (grub_bsd_load_elf): Capitalise ELF.
23761 (grub_cmd_freebsd_loadenv): Add `s' in error string.
23762 (grub_cmd_freebsd_module): Likewise.
23763 (grub_cmd_freebsd_module_elf): Likewise.
23764 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
23765
23766 2010-01-06 Carles Pina i Estany <carles@pina.cat>
23767
23768 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
23769 * commands/search_file.c (HELP_MESSAGE): New macro.
23770 * commands/search_label.c (HELP_MESSAGE): Likewise.
23771 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
23772 * po/POTFILES: Add `commands/search_file.c',
23773 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
23774 `commands/search.c'.
23775
23776 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23777
23778 * config.rpath: Update from Gnulib.
23779
23780 2010-01-05 Yves Blusseau <blusseau@zetam.org>
23781
23782 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
23783
23784 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
23785
23786 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
23787
23788 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23789
23790 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
23791 arguments to fread so that we get a return value in bytes, rather
23792 than something that will normally be rounded down to 0.
23793 Adjust error handling to avoid producing garbage when size_t is not
23794 the same size as long long.
23795
23796 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
23797
23798 * util/mkisofs/write.c (padblock_write): Check return value of
23799 fread.
23800
23801 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23802
23803 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
23804 floppy images now.
23805
23806 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
23807
23808 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23809
23810 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
23811 instead of manual alignment.
23812 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
23813 verbose). Avoid attempts to read past end of the device
23814 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
23815 but GRUB_DISK_CACHE_SIZE may exceed that).
23816
23817 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23818
23819 * commands/crc.c (grub_cmd_crc): Abort on read errors.
23820 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
23821 it to upper layer.
23822
23823 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23824
23825 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
23826 New constant.
23827 (grub_efi_piwg_device_path): New structure
23828 (grub_efi_piwg_device_path_t): New type.
23829 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
23830 (devpath_1): Transform to a structure. All users updated.
23831 (devpath_2): Likewise.
23832 (devpath_3): Likewise.
23833 (devpath_4): Likewise.
23834 (devpath_5): Likewise.
23835
23836 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23837
23838 * loader/efi/appleloader.c: Restored. Update all users.
23839
23840 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23841
23842 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
23843
23844 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
23845 (struct boot_blocklist): Move from here ...
23846 * include/grub/i386/pc/boot.h [ASM_FILE]
23847 (struct grub_boot_blocklist): ... to here. Update all users.
23848 (setup): Only initialize `start' member of `first_block'
23849 structure. Add assert() calls to verify the other members.
23850
23851 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
23852 (generate_image): Fix broken blocklist length initialization.
23853 Add assert() call to verify blocklist `segment' field.
23854
23855 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23856
23857 * loader/efi/appleloader.c: Remove. Update all users.
23858
23859 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23860
23861 * boot/i386/pc/boot.S: Update copyright year.
23862 * boot/i386/pc/cdboot.S: Likewise.
23863 * boot/i386/pc/diskboot.S: Likewise.
23864 * boot/i386/pc/lnxboot.S: Likewise.
23865 * boot/i386/pc/pxeboot.S: Likewise.
23866 * bus/pci.c: Likewise.
23867 * commands/cmp.c: Likewise.
23868 * commands/help.c: Likewise.
23869 * commands/hexdump.c: Likewise.
23870 * commands/i386/pc/halt.c: Likewise.
23871 * commands/i386/pc/play.c: Likewise.
23872 * commands/i386/pc/vbeinfo.c: Likewise.
23873 * commands/ls.c: Likewise.
23874 * commands/test.c: Likewise.
23875 * disk/dmraid_nvidia.c: Likewise.
23876 * disk/i386/pc/biosdisk.c: Likewise.
23877 * disk/ieee1275/nand.c: Likewise.
23878 * disk/ieee1275/ofdisk.c: Likewise.
23879 * disk/lvm.c: Likewise.
23880 * disk/raid.c: Likewise.
23881 * disk/raid6_recover.c: Likewise.
23882 * disk/scsi.c: Likewise.
23883 * fs/affs.c: Likewise.
23884 * fs/cpio.c: Likewise.
23885 * fs/ext2.c: Likewise.
23886 * fs/hfs.c: Likewise.
23887 * fs/iso9660.c: Likewise.
23888 * fs/ntfs.c: Likewise.
23889 * fs/sfs.c: Likewise.
23890 * fs/udf.c: Likewise.
23891 * fs/ufs.c: Likewise.
23892 * fs/xfs.c: Likewise.
23893 * gencmdlist.sh: Likewise.
23894 * genmk.rb: Likewise.
23895 * include/grub/disk.h: Likewise.
23896 * include/grub/efi/api.h: Likewise.
23897 * include/grub/efi/efi.h: Likewise.
23898 * include/grub/efi/pe32.h: Likewise.
23899 * include/grub/elf.h: Likewise.
23900 * include/grub/fs.h: Likewise.
23901 * include/grub/i386/at_keyboard.h: Likewise.
23902 * include/grub/i386/pc/memory.h: Likewise.
23903 * include/grub/i386/pc/vbe.h: Likewise.
23904 * include/grub/i386/pci.h: Likewise.
23905 * include/grub/i386/tsc.h: Likewise.
23906 * include/grub/ieee1275/ieee1275.h: Likewise.
23907 * include/grub/ntfs.h: Likewise.
23908 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
23909 * include/grub/sparc64/libgcc.h: Likewise.
23910 * include/grub/symbol.h: Likewise.
23911 * include/grub/types.h: Likewise.
23912 * include/multiboot2.h: Likewise.
23913 * io/gzio.c: Likewise.
23914 * kern/device.c: Likewise.
23915 * kern/disk.c: Likewise.
23916 * kern/efi/efi.c: Likewise.
23917 * kern/efi/mm.c: Likewise.
23918 * kern/elf.c: Likewise.
23919 * kern/file.c: Likewise.
23920 * kern/i386/dl.c: Likewise.
23921 * kern/i386/pc/init.c: Likewise.
23922 * kern/i386/pc/startup.S: Likewise.
23923 * kern/ieee1275/ieee1275.c: Likewise.
23924 * kern/ieee1275/init.c: Likewise.
23925 * kern/main.c: Likewise.
23926 * kern/mm.c: Likewise.
23927 * kern/powerpc/dl.c: Likewise.
23928 * kern/sparc64/dl.c: Likewise.
23929 * kern/x86_64/dl.c: Likewise.
23930 * lib/hexdump.c: Likewise.
23931 * loader/efi/appleloader.c: Likewise.
23932 * loader/i386/ieee1275/linux.c: Likewise.
23933 * loader/i386/pc/chainloader.c: Likewise.
23934 * loader/i386/pc/linux.c: Likewise.
23935 * loader/i386/pc/multiboot2.c: Likewise.
23936 * loader/ieee1275/multiboot2.c: Likewise.
23937 * loader/multiboot2.c: Likewise.
23938 * loader/multiboot_loader.c: Likewise.
23939 * loader/powerpc/ieee1275/linux.c: Likewise.
23940 * normal/completion.c: Likewise.
23941 * normal/menu_entry.c: Likewise.
23942 * partmap/apple.c: Likewise.
23943 * util/grub.d/10_hurd.in: Likewise.
23944 * util/hostfs.c: Likewise.
23945 * video/readers/png.c: Likewise.
23946
23947 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
23948
23949 * include/grub/misc.h (GNUC_PREREQ): New macro.
23950 (ATTRIBUTE_ERROR): New macro.
23951 * include/grub/list.h (grub_bad_type_cast_real): Use
23952 ATTRIBUTE_ERROR.
23953
23954 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23955
23956 * normal/menu_text.c (print_message): Change messages.
23957
23958 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23959
23960 * normal/menu_entry.c (store_completion): Gettextizze.
23961
23962 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23963
23964 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
23965
23966 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23967
23968 * po/POTFILES: Sort correctly.
23969
23970 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23971
23972 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
23973 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
23974 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
23975 full stop.
23976 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
23977 summary. Gettextizze the strings.
23978 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
23979 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
23980 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
23981 full stop.
23982 (GRUB_MOD_INIT): Remove command name from summary.
23983 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
23984 summary.
23985 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
23986 * term/i386/pc/serial.c (options): Add full stops.
23987 (GRUB_MOD_INIT): Remove command name from the summary.
23988
23989 2010-01-03 Carles Pina i Estany <carles@pina.cat>
23990
23991 * commands/acpi.c: Gettextizze help strings and/or options. Include
23992 `grub/i18n.h' if needed.
23993 * commands/blocklist.c: Likewise.
23994 * commands/boot.c: Likewise.
23995 * commands/cat.c: Likewise.
23996 * commands/cmp.c: Likewise.
23997 * commands/configfile.c: Likewise.
23998 * commands/crc.c: Likewise.
23999 * commands/date.c: Likewise.
24000 * commands/echo.c: Likewise.
24001 * commands/efi/fixvideo.c: Likewise.
24002 * commands/efi/loadbios.c: Likewise.
24003 * commands/gptsync.c: Likewise.
24004 * commands/halt.c: Likewise.
24005 * commands/handler.c: Likewise.
24006 * commands/hdparm.c: Likewise.
24007 * commands/hexdump.c: Likewise.
24008 * commands/i386/cpuid.c: Likewise.
24009 * commands/i386/pc/drivemap.c: Likewise.
24010 * commands/i386/pc/halt.c: Likewise.
24011 * commands/i386/pc/pxecmd.c: Likewise.
24012 * commands/i386/pc/vbeinfo.c: Likewise.
24013 * commands/i386/pc/vbetest.c: Likewise.
24014 * commands/ieee1275/suspend.c: Likewise.
24015 * commands/keystatus.c: Likewise.
24016 * commands/loadenv.c: Likewise.
24017 * commands/ls.c: Likewise.
24018 * commands/lsmmap.c: Likewise.
24019 * commands/lspci.c: Likewise.
24020 * commands/memrw.c: Likewise.
24021 * commands/minicmd.c: Likewise.
24022 * commands/parttool.c: Likewise.
24023 * commands/password.c: Likewise.
24024 * commands/probe.c: Likewise.
24025 * commands/read.c: Likewise.
24026 * commands/reboot.c: Likewise.
24027 * commands/search.c: Likewise.
24028 * commands/sleep.c: Likewise.
24029 * commands/test.c: Likewise.
24030 * commands/true.c: Likewise.
24031 * commands/usbtest.c: Likewise.
24032 * commands/videotest.c: Likewise.
24033 * commands/xnu_uuid.c: Likewise.
24034 * disk/loopback.c: Likewise.
24035 * hello/hello.c: Likewise.
24036 * loader/i386/bsd.c: Likewise.
24037 * term/i386/pc/serial.c: Likewise.
24038 * po/POTFILES: Add new files.
24039
24040 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
24041
24042 * term/i386/pc/at_keyboard.c
24043 (keyboard_controller_wait_untill_ready): Rename to ...
24044 (keyboard_controller_wait_until_ready): ... this. Update all users.
24045
24046 2010-01-01 Carles Pina i Estany <carles@pina.cat>
24047
24048 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
24049 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
24050 string using string width.
24051 * normal/menu_text.c (grub_print_message_indented): Use
24052 grub_print_spaces and not print_spaces.
24053 (print_timeout): Likewise.
24054 (print_spaces): Move to...
24055 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
24056
24057 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
24058
24059 Import from Gnulib.
24060
24061 * gnulib/getdelim.c: New file.
24062 * gnulib/getline.c: Likewise.
24063
24064 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
24065
24066 * include/grub/list.h (grub_assert_fail): Removed.
24067 (grub_bad_type_cast_real): New function.
24068 (grub_bad_type_cast): New macro.
24069 (GRUB_AS_LIST): Use grub_bad_type_cast.
24070 (GRUB_AS_LIST_P): Likewise.
24071 (GRUB_AS_NAMED_LIST): Likewise.
24072 (GRUB_AS_NAMED_LIST_P): Likewise.
24073 (GRUB_AS_PRIO_LIST): Likewise.
24074 (GRUB_AS_PRIO_LIST_P): Likewise.
24075 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
24076
24077 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
24078
24079 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
24080 Fix syntax error.
24081
24082 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
24083
24084 * configure.ac: Check for TARGET_CFLAGS initialization before we
24085 initialize it ourselves (sigh).
24086 Move a few modifications to TARGET_CFLAGS to be unconditional
24087 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
24088 eh_frame)
24089
24090 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
24091 * term/i386/pc/at_keyboard.c
24092 (keyboard_controller_wait_untill_ready): Likewise.
24093 (keyboard_controller_led): Rename `led_status' paramter to avoid
24094 name conflict.
24095
24096 2009-12-28 Carles Pina i Estany <carles@pina.cat>
24097
24098 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
24099 quotes.
24100
24101 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24102
24103 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
24104
24105 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24106
24107 * normal/menu_text.c (grub_print_message_indented): Prevent
24108 past-the-end-of-array dereference.
24109
24110 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24111
24112 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
24113 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
24114
24115 2009-12-27 Carles Pina i Estany <carles@pina.cat>
24116
24117 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
24118 * normal/main.c (grub_normal_read_line): Remove a space from the
24119 default prompt.
24120
24121 2009-12-27 Carles Pina i Estany <carles@pina.cat>
24122
24123 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
24124 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24125 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24126 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24127 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24128 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24129 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24130
24131 2009-12-26 Carles Pina i Estany <carles@pina.cat>
24132
24133 * video/readers/jpeg.c (cmd): Declare.
24134 (grub_cmd_jpegtest): Use `grub_command_t' type.
24135 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24136 Assign to `cmd'.
24137 (GRUB_MOD_FINI): Use `cmd' to unregister.
24138 * video/readers/png.c (cmd): Declare.
24139 (grub_cmd_pngtest): Use `grub_command_t' type.
24140 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24141 Assign to `cmd'.
24142 (GRUB_MOD_FINI): Use `cmd' to unregister.
24143 * video/readers/tga.c (cmd): Declare.
24144 (grub_cmd_tgatest): Use `grub_command_t' type.
24145 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24146 Assign to `cmd'.
24147 (GRUB_MOD_FINI): Use `cmd' to unregister.
24148
24149 2009-12-26 Carles Pina i Estany <carles@pina.cat>
24150
24151 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
24152 stops.
24153 * kern/corecmd.c (grub_register_core_commands): Likewise.
24154 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
24155 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24156 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
24157 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24158 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24159 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
24160 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24161 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
24162 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24163 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24164 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24165 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24166 * normal/handler.c (insert_handler): Likewise.
24167 * normal/main.c (GRUB_MOD_INIT): Likewise.
24168 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24169
24170 2009-12-26 Carles Pina i Estany <carles@pina.cat>
24171
24172 * commands/help.c (grub_cmd_help): Print the command name before the
24173 summary.
24174 (GRUB_MOD_INIT): Remove command name from the summary.
24175 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
24176 string as summary.
24177 * lib/arg.c (find_long): Print the command name before the summary.
24178 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
24179 summary.
24180 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
24181 * commands/cat.c (GRUB_MOD_INIT): Likewise.
24182 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
24183 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
24184 * commands/crc.c (GRUB_MOD_INIT): Likewise.
24185 * commands/date.c (GRUB_MOD_INIT): Likewise.
24186 * commands/echo.c (GRUB_MOD_INIT): Likewise.
24187 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
24188 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24189 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24190 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
24191 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
24192 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
24193 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
24194 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24195 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
24196 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
24197 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
24198 * commands/ls.c (GRUB_MOD_INIT): Likewise.
24199 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24200 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24201 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24202 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
24203 * commands/password.c (GRUB_MOD_INIT): Likewise.
24204 * commands/probe.c (GRUB_MOD_INIT): Likewise.
24205 * commands/read.c (GRUB_MOD_INIT): Likewise.
24206 * commands/search.c (GRUB_MOD_INIT): Likewise.
24207 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
24208 * commands/test.c (GRUB_MOD_INIT): Likewise.
24209 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
24210 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24211 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24212 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
24213 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24214 * lib/arg.c (GRUB_MOD_INIT): Likewise.
24215 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
24216 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24217 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24218 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24219 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24220 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
24221 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
24222 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
24223
24224 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24225
24226 Use search command for preliminar UUID search.
24227
24228 * commands/search.c: Split into ...
24229 * commands/search_wrap.c: ...this
24230 * commands/search.c: ...and this.
24231 * commands/search_file.c: New file.
24232 * commands/search_label.c: New file.
24233 * commands/search_uuid.c: New file.
24234 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
24235 Add commands/search_wrap.c, commands/search_file.c,
24236 commands/search_label.c and commands/search_uuid.c.
24237 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
24238 (search_mod_SOURCES): Set to commands/search_wrap.c.
24239 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
24240 search_label.mod.
24241 (search_fs_file_mod_SOURCES): New variable.
24242 (search_fs_file_mod_CFLAGS): Likewise.
24243 (search_fs_file_mod_LDFLAGS): Likewise.
24244 (search_label_mod_SOURCES): Likewise.
24245 (search_label_mod_CFLAGS): Likewise.
24246 (search_label_mod_LDFLAGS): Likewise.
24247 (search_fs_uuid_mod_SOURCES): New variable.
24248 (search_fs_uuid_mod_CFLAGS): Likewise.
24249 (search_fs_uuid_mod_LDFLAGS): Likewise.
24250 (fs_file_mod_SOURCES): Removed.
24251 (fs_file_mod_CFLAGS): Likewise.
24252 (fs_file_mod_LDFLAGS): Likewise.
24253 (fs_uuid_mod_SOURCES): Removed.
24254 (fs_uuid_mod_CFLAGS): Likewise.
24255 (fs_uuid_mod_LDFLAGS): Likewise.
24256 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
24257 Set to util/grub-install.in.
24258 * disk/fs_file.c: Removed.
24259 * disk/fs_uuid.c: Likewise.
24260 * include/grub/search.h: New file.
24261 * util/grub-install.in: Handle sparc64.
24262 Create and use load.cfg.
24263 * util/sparc64/ieee1275/grub-install.in: Removed.
24264
24265 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24266
24267 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
24268 Ignore return status if CF is cleared.
24269 (grub_biosdisk_get_diskinfo_standard): Likewise.
24270
24271 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24272
24273 * term/i386/pc/at_keyboard.c
24274 (keyboard_controller_wait_untill_ready): New function.
24275 (grub_keyboard_controller_write, grub_keyboard_controller_read)
24276 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
24277 for keyboard polling, rather than duplicate the same loop. This
24278 saves a few bytes in code size.
24279
24280 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24281
24282 Support for (pxe[:server[:gateway]]) syntax and
24283 use environment variable for PXE.
24284
24285 * commands/i386/pc/pxecmd.c (options): Removed.
24286 (print_ip): Removed.
24287 (grub_cmd_pxe): Removed
24288 (grub_cmd_pxe_unload): New function.
24289 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
24290 (grub_pxe_your_ip): Made static.
24291 (grub_pxe_default_server_ip): Likewise.
24292 (grub_pxe_default_gateway_ip): Likewise.
24293 (grub_pxe_blksize): Likewise.
24294 (parse_ip): New function.
24295 (grub_pxe_open): Support server and gateway specification.
24296 (grub_pxe_close): Free disk->data.
24297 (grub_pxefs_open): Use disk->data.
24298 (grub_pxefs_read): Likewise.
24299 (grub_env_write_readonly): New function.
24300 (set_mac_env): Likewise.
24301 (set_env_limn_ro): Likewise.
24302 (parse_dhcp_vendor): Likewise.
24303 (grub_pxe_detect): Set the environment variables.
24304 (set_ip_env): New function.
24305 (write_ip_env): Likewise.
24306 (grub_env_write_pxe_default_server): Likewise.
24307 (grub_env_write_pxe_default_gateway): Likewise.
24308 (grub_env_write_pxe_blocksize): Likewise.
24309 (GRUB_MOD_INIT(pxe)): Set environment variables.
24310 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
24311 (grub_pxe_mac_addr_t): ... this. All users updated.
24312 (grub_pxe_your_ip): Removed.
24313 (grub_pxe_server_ip): Likewise.
24314 (grub_pxe_gateway_ip): Likewise.
24315 (grub_pxe_blksize): Likewise.
24316
24317 2009-12-25 Carles Pina i Estany <carles@pina.cat>
24318
24319 * commands/help.c: Include `<grub/i18n.h>'.
24320 (grub_cmd_help): Gettextizze.
24321 (GRUB_MOD_INIT): Likewise.
24322 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
24323 (GRUB_MOD_INIT): Gettextizze.
24324 * commands/search.c: Include `<grub/i18n.h>'.
24325 (options): Gettextizze.
24326 (GRUB_MOD_INIT): Gettextizze.
24327 * lib/arg.c: Include `<grub/i18n.h>'.
24328 (help_options): Gettextizze.
24329 (find_long): Likewise.
24330 (grub_arg_show_help): Likewise.
24331 * normal/dyncmd.c: Include `<grub/i18n.h>'.
24332 (read_command_list): Gettextizze.
24333 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
24334 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
24335
24336 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24337
24338 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
24339 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
24340 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
24341 (led_status): New variable.
24342 (keyboard_controller_led): New function.
24343 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
24344 update led status for caps lock, num lock and scroll lock.
24345
24346 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
24347
24348 * util/hostdisk.c (open_device): Fix a comment.
24349
24350 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24351
24352 * util/grub-install.in (host_os): New variable.
24353 * util/i386/efi/grub-install.in (host_os): Likewise.
24354
24355 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24356
24357 * util/mkisofs/write.c (padblock_write): Abort when given an
24358 excedingly large embed image, instead of silently truncating it.
24359
24360 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24361
24362 * include/multiboot.h: Indentation fixes.
24363
24364 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24365
24366 * include/multiboot.h (struct multiboot_aout_symbol_table)
24367 (struct multiboot_elf_section_header_table): New structure
24368 declarations (stolen from GRUB Legacy).
24369 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
24370 table information.
24371
24372 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
24373 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
24374 type aliases.
24375
24376 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24377
24378 * include/multiboot.h: Make comments src2texi-friendly.
24379
24380 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24381
24382 For consistency with [multiboot]/docs/boot.S.
24383
24384 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
24385 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
24386 (MULTIBOOT_MAGIC2): Rename from this ...
24387 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
24388
24389 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24390
24391 * include/multiboot.h: Remove `<grub/types.h>'.
24392 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
24393 types. Update all users.
24394
24395 2009-12-25 Carles Pina i Estany <carles@pina.cat>
24396
24397 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
24398 `couldn't' and `can not' by `cannot'.
24399 * commands/i386/pc/drivemap.c: Likewise.
24400 * disk/ata.c: Likewise.
24401 * disk/ieee1275/nand.c: Likewise.
24402 * fs/affs.c: Likewise.
24403 * fs/fat.c: Likewise.
24404 * fs/hfs.c: Likewise.
24405 * fs/hfsplus.c: Likewise.
24406 * fs/iso9660.c: Likewise.
24407 * fs/jfs.c: Likewise.
24408 * fs/minix.c: Likewise.
24409 * fs/reiserfs.c: Likewise.
24410 * fs/sfs.c: Likewise.
24411 * fs/udf.c: Likewise.
24412 * fs/ufs.c: Likewise.
24413 * fs/xfs.c: Likewise.
24414 * loader/powerpc/ieee1275/linux.c: Likewise.
24415 * loader/sparc64/ieee1275/linux.c: Likewise.
24416 * util/grub-probe.c: Likewise.
24417 * util/misc.c: Likewise.
24418
24419 2009-12-24 Carles Pina i Estany <carles@pina.cat>
24420
24421 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
24422 grub_errno calls.
24423 * commands/acpi.c: Likewise.
24424 * commands/blocklist.c: Likewise.
24425 * commands/efi/loadbios.c: Likewise.
24426 * commands/i386/pc/drivemap.c: Likewise.
24427 * commands/loadenv.c: Likewise.
24428 * commands/memrw.c: Likewise.
24429 * commands/password.c: Likewise.
24430 * commands/videotest.c: Likewise.
24431 * disk/ata.c: Likewise.
24432 * disk/ata_pthru.c: Likewise.
24433 * disk/dmraid_nvidia.c: Likewise.
24434 * disk/ieee1275/nand.c: Likewise.
24435 * disk/ieee1275/ofdisk.c: Likewise.
24436 * disk/loopback.c: Likewise.
24437 * disk/lvm.c: Likewise.
24438 * disk/mdraid_linux.c: Likewise.
24439 * disk/raid.c: Likewise.
24440 * disk/raid6_recover.c: Likewise.
24441 * disk/scsi.c: Likewise.
24442 * efiemu/main.c: Likewise.
24443 * efiemu/mm.c: Likewise.
24444 * efiemu/pnvram.c: Likewise.
24445 * efiemu/symbols.c: Likewise.
24446 * font/font.c: Likewise.
24447 * fs/cpio.c: Likewise.
24448 * fs/hfsplus.c: Likewise.
24449 * fs/iso9660.c: Likewise.
24450 * fs/jfs.c: Likewise.
24451 * fs/minix.c: Likewise.
24452 * fs/ntfs.c: Likewise.
24453 * fs/ntfscomp.c: Likewise.
24454 * fs/reiserfs.c: Likewise.
24455 * fs/ufs.c: Likewise.
24456 * fs/xfs.c: Likewise.
24457 * gettext/gettext.c: Likewise.
24458 * include/grub/auth.h: Likewise.
24459 * kern/elf.c: Likewise.
24460 * kern/file.c: Likewise.
24461 * kern/ieee1275/init.c: Likewise.
24462 * kern/ieee1275/mmap.c: Likewise.
24463 * kern/ieee1275/openfw.c: Likewise.
24464 * kern/powerpc/dl.c: Likewise.
24465 * kern/sparc64/dl.c: Likewise.
24466 * lib/arg.c: Likewise.
24467 * loader/i386/bsd.c: Likewise.
24468 * loader/i386/bsdXX.c: Likewise.
24469 * loader/i386/efi/linux.c: Likewise.
24470 * loader/i386/efi/xnu.c: Likewise.
24471 * loader/i386/ieee1275/linux.c: Likewise.
24472 * loader/i386/linux.c: Likewise.
24473 * loader/i386/multiboot.c: Likewise.
24474 * loader/i386/pc/linux.c: Likewise.
24475 * loader/i386/pc/multiboot2.c: Likewise.
24476 * loader/i386/xnu.c: Likewise.
24477 * loader/ieee1275/multiboot2.c: Likewise.
24478 * loader/macho.c: Likewise.
24479 * loader/machoXX.c: Likewise.
24480 * loader/multiboot2.c: Likewise.
24481 * loader/multiboot_loader.c: Likewise.
24482 * loader/powerpc/ieee1275/linux.c: Likewise.
24483 * loader/sparc64/ieee1275/linux.c: Likewise.
24484 * loader/xnu.c: Likewise.
24485 * loader/xnu_resume.c: Likewise.
24486 * mmap/i386/pc/mmap.c: Likewise.
24487 * normal/menu_viewer.c: Likewise.
24488 * partmap/acorn.c: Likewise.
24489 * partmap/amiga.c: Likewise.
24490 * partmap/apple.c: Likewise.
24491 * script/lexer.c: Likewise.
24492 * term/gfxterm.c: Likewise.
24493 * term/i386/pc/serial.c: Likewise.
24494 * term/i386/pc/vga.c: Likewise.
24495 * term/ieee1275/ofconsole.c: Likewise.
24496 * term/terminfo.c: Likewise.
24497 * video/bitmap.c: Likewise.
24498 * video/efi_gop.c: Likewise.
24499 * video/efi_uga.c: Likewise.
24500 * video/fb/video_fb.c: Likewise.
24501 * video/i386/pc/vbe.c: Likewise.
24502 * video/readers/tga.c: Likewise.
24503 * video/video.c: Likewise.
24504
24505 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
24506
24507 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
24508 * commands/lspci.c: Likewise.
24509 * commands/probe.c: Likewise.
24510 * commands/xnu_uuid.c: Likewise.
24511 * conf/i386-coreboot.rmk: Likewise.
24512 * conf/i386-efi.rmk: Likewise.
24513 * conf/i386-ieee1275.rmk: Likewise.
24514 * conf/i386-pc.rmk: Likewise.
24515 * conf/powerpc-ieee1275.rmk: Likewise.
24516 * conf/sparc64-ieee1275.rmk: Likewise.
24517 * conf/x86_64-efi.rmk: Likewise.
24518 * fs/i386/pc/pxe.c: Likewise.
24519 * gettext/gettext.c: Likewise.
24520 * include/grub/efi/graphics_output.h: Likewise.
24521 * include/grub/i386/pc/memory.h: Likewise.
24522 * kern/env.c: Likewise.
24523 * kern/i386/qemu/startup.S: Likewise.
24524 * lib/i386/pc/biosnum.c: Likewise.
24525 * lib/i386/relocator.c: Likewise.
24526 * lib/i386/relocator_asm.S: Likewise.
24527 * lib/relocator.c: Likewise.
24528 * loader/i386/bsd.c: Likewise.
24529 * loader/i386/multiboot.c: Likewise.
24530 * loader/i386/pc/chainloader.c: Likewise.
24531 * loader/i386/xnu.c: Likewise.
24532 * loader/xnu.c: Likewise.
24533 * normal/main.c: Likewise.
24534 * normal/menu_text.c: Likewise.
24535 * util/getroot.c: Likewise.
24536 * util/grub-mkconfig_lib.in: Likewise.
24537 * util/grub.d/00_header.in: Likewise.
24538 * util/i386/pc/grub-mkimage.c: Likewise.
24539 * util/mkisofs/eltorito.c: Likewise.
24540 * util/mkisofs/exclude.h: Likewise.
24541 * util/mkisofs/hash.c: Likewise.
24542 * util/mkisofs/iso9660.h: Likewise.
24543 * util/mkisofs/joliet.c: Likewise.
24544 * util/mkisofs/mkisofs.c: Likewise.
24545 * util/mkisofs/mkisofs.h: Likewise.
24546 * util/mkisofs/multi.c: Likewise.
24547 * util/mkisofs/name.c: Likewise.
24548 * util/mkisofs/rock.c: Likewise.
24549 * util/mkisofs/tree.c: Likewise.
24550 * util/mkisofs/write.c: Likewise.
24551 * video/efi_gop.c: Likewise.
24552
24553 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
24554
24555 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
24556 size counting.
24557
24558 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24559
24560 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
24561 * genmk.rb (class SCRIPT): Modify the target file instead of source.
24562
24563 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24564
24565 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
24566 (GRUB_MOD_INIT(memrw)): Update help line.
24567
24568 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24569
24570 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
24571 Use grub_extcmd_t. All users updated.
24572 (options): New variable.
24573 (grub_cmd_read): Restructure for readability. Support "-v" option.
24574 (grub_cmd_write): Restructure for readability.
24575
24576 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24577
24578 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
24579
24580 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24581
24582 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
24583 with the actual contents of the correspondending make variable.
24584 * util/grub-mkrescue.in (pkglib_DATA): New variable.
24585 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
24586 specifying `*.lst' and `efiemu??.o'
24587
24588 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24589
24590 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
24591 after function name.
24592 Noticed by Rene Engelhard <rene@debian.org>.
24593
24594 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24595
24596 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
24597 (options): New variable.
24598 (iospace): Likewise.
24599 (grub_lspci_iter): List IO spaces if "-i" was given.
24600 (grub_cmd_lspci): Parse options.
24601 (GRUB_MOD_INIT(lspci)): Use extcmd.
24602 (GRUB_MOD_FINI(lspci)): Likewise.
24603
24604 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
24605
24606 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
24607 `function' keyword.
24608 Patch by Tony Mancill <tmancill@debian.org>.
24609
24610 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24611
24612 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
24613 (grub_uhci_portstatus): Likewise.
24614 (grub_uhci_portstatus): Add necessary delay.
24615 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
24616
24617 2009-12-21 Carles Pina i Estany <carles@pina.cat>
24618
24619 * commands/acpi.c (options): Fix capitalizations and/or full stops.
24620 (GRUB_MOD_INIT): Likewise.
24621 * commands/boot.c (GRUB_MOD_INIT): Likewise.
24622 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
24623 * commands/echo.c (options): Fix capitalizations and/or full stops.
24624 * commands/efi/loadbios.c (enable_rom_area): Likewise.
24625 (enable_rom_area): Likewise.
24626 (GRUB_MOD_INIT): Likewise.
24627 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24628 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
24629 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24630 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
24631 * commands/hexdump.c (options): Likewise.
24632 * commands/i386/cpuid.c (options): Likewise.
24633 (GRUB_MOD_INIT): Likewise.
24634 * commands/i386/pc/drivemap.c (options): Likewise.
24635 (GRUB_MOD_INIT): Likewise.
24636 * commands/i386/pc/halt (options): Likewise.
24637 (GRUB_MOD_INIT): Likewise.
24638 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24639 * commands/i386/pc/pxecmd.c (options): Likewise.
24640 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
24641 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
24642 * commands/keystatus.c (options): Likewise.
24643 (GRUB_MOD_INIT): Likewise.
24644 * commands/loadenv.c (options): Likewise.
24645 * commands/ls.c (options): Likewise.
24646 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24647 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24648 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24649 * commands/parttool.c (helpmsg): Likewise.
24650 * commands/probe.c (options): Likewise.
24651 * commands/read.c (GRUB_MOD_INIT): Likewise.
24652 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
24653 * commands/search.c (options): Likewise.
24654 * commands/sleep.c (options): Likewise.
24655 * commands/test.c (GRUB_MOD_INIT): Likewise.
24656 * commands/true.c (GRUB_MOD_INIT): Likewise.
24657 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
24658 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
24659 * lib/arg.c (help_options): Likewise.
24660 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
24661 `$(XGETTEXT)'.
24662 * po/POTFILES: Add `commands/loadenv.c'.
24663
24664 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
24665
24666 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
24667 instead of specifying them explicit.
24668
24669 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24670
24671 * NEWS: Add grub-probe support for GNU/Hurd.
24672
24673 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24674
24675 * NEWS: gettext was added after 1.97.
24676
24677 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24678
24679 * util/mkisofs/msdos_partition.h: New file (based on
24680 include/grub/msdos_partition.h).
24681 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
24682 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
24683 (ld_options, main): Recognize --protective-msdos-label.
24684 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
24685 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
24686 (padblock_write): If `use_protective_msdos_label' is set, patch a
24687 protective DOS-style label in the output image.
24688
24689 * util/grub-mkrescue.in: Use --protective-msdos-label.
24690
24691 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24692
24693 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
24694 boot.
24695
24696 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24697
24698 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
24699 variables.
24700 (ld_options, main): Recognize `--embedded-boot'.
24701 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
24702 declarations.
24703 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
24704 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
24705 (padblock_write): Likewise. Rewrite to support embedded boot image.
24706
24707 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
24708 for BIOS-based disk boot instead of only ElTorito.
24709
24710 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24711
24712 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
24713 build (not needed for bootstrap).
24714
24715 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24716
24717 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
24718 from i386-pc build (not needed for bootstrap).
24719 Rewrite a pair of strings.
24720
24721 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24722
24723 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
24724
24725 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
24726
24727 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
24728
24729 2009-12-21 Andreas Born <futur.andy@googlemail.com>
24730
24731 * kern/env.c (grub_env_context_open): Mark exported variable for
24732 reexport.
24733
24734 2009-12-21 Andreas Born <futur.andy@googlemail.com>
24735
24736 * kern/env.c (grub_env_export): Create nonexistent variables before
24737 exporting.
24738
24739 2009-12-20 Carles Pina i Estany <carles@pina.cat>
24740
24741 * include/grub/auth.h: Include `<grub/i18n.h>'.
24742 (GRUB_GET_PASSWORD): Gettextizze string.
24743 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
24744 menu_text.c.
24745 (grub_utf8_to_ucs4_alloc): Fix indentation.
24746 (grub_print_ucs4): Likewise.
24747 (grub_getstringwidth): Likewise.
24748 (print_message_indented): New declaration.
24749 * normal/auth.c: Include `<grub/i18n.h>'.
24750 (grub_auth_check_authentication): Gettexttize string.
24751 * normal/cmdline.c: Include `<grub/i18n.h>'.
24752 (grub_cmdline_get): Gettextizze.
24753 * normal/color.c: Include `<grub/i18n.h>'.
24754 (grub_parse_color_name_pair): Gettexttize strings.
24755 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
24756 string (use `print_message_indented').
24757 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
24758 `include/grub/normal.h'.
24759 (print_message_indented): Renamed to ...
24760 (grub_print_message_indented): ... this. Remove `static' qualifer (now
24761 used in normal/main.c).
24762 (print_message): Use `grub_print_message_indented' instead of
24763 `print_message_indented'.
24764 (print_timeout): Likewise.
24765 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
24766 (grub_normal_print_device_info): Gettexttize strings.
24767 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
24768
24769 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24770
24771 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
24772 of arguments. Return number of tokens and not arguments. All users
24773 updated.
24774
24775 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24776
24777 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
24778 non-MSDOS paritions.
24779
24780 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
24781
24782 * include/grub/types.h (UNUSED): Removed since it conflicts with
24783 NetBSD headers. All users changed to direct __attribute__ ((unused)).
24784 Reported by Grégoire Sutre.
24785
24786 2009-12-19 Carles Pina i Estany <carles@pina.cat>
24787
24788 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
24789 (grub_print_ucs4_alloc): Likewise.
24790 (grub_getstringwidth): Likewise.
24791 * normal/main.c (grub_normal_init_page): Gettextize version string.
24792 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
24793 (getstringwidth): Renamed to ...
24794 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
24795 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
24796 (grub_print_ucs4): Remove `static' qualifer (now used in
24797 normal/main.c).
24798 * po/POTFILES: Add normal/main.c.
24799
24800 2009-12-19 Carles Pina i Estany <carles@pina.cat>
24801
24802 * normal/menu_text.c (STANDARD_MARGIN): New macro.
24803 (print_message_indented): Add `margin_left' and `margin_right'
24804 parameters.
24805 (print_message): Update `print_message_indented' calls. Adds '\n' to the
24806 strings.
24807 (print_timeout): Use `print_message_indented' to print the message.
24808 Deletes `second_stage' parameter.
24809 (run_menu): Update `print_timeout' calls.
24810
24811 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24812
24813 Fix console palette on OpenFirmware.
24814
24815 * term/ieee1275/ofconsole.c (MAX): Removed.
24816 (colors): Redone based on VGA palette.
24817 (grub_ofconsole_setcolor): Discard brightness bit since only 8
24818 colors are supported.
24819 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
24820
24821 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24822
24823 Fix potential EfiEmu double prepare.
24824
24825 * efiemu/main.c (prepared): New variable
24826 (grub_efiemu_unload): Set prepare to '0'.
24827 (grub_efiemu_prepare): Return if already prepared. Set prepared.
24828
24829 set_virtual_address_map support.
24830
24831 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
24832 prototype.
24833 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
24834 prototype.
24835 (grub_efiemu_crc32): Likewise.
24836 (grub_efiemu_crc64): Likewise.
24837 (grub_efiemu_set_virtual_address_map): Likewise.
24838 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
24839 New definition.
24840 (grub_autoefi_set_virtual_address_map): Likewise.
24841 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
24842 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
24843 Restructure flow to accomodate it.
24844 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
24845 (grub_efiemu_crc): Recompute CRC32.
24846 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
24847 (efiemu_ptv_relocated): ... this. Made global. All users updated.
24848 * efiemu/symbols.c (relocated_handle): New variable.
24849 (grub_efiemu_free_syms): Free relocated_handle.
24850 (grub_efiemu_alloc_syms): Allocate relocated_handle.
24851 (grub_efiemu_write_sym_markers): New function.
24852 (grub_efiemu_set_virtual_address_map): Likewise.
24853
24854 Newer XNU parameters.
24855
24856 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
24857 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
24858 (grub_xnu_fill_devicetree): New prototype.
24859 (grub_xnu_heap_real_start): New variable.
24860 * loader/xnu.c (get_name_ptr): New function.
24861 (grub_xnu_load_driver): Fill namelen and name.
24862
24863 64-bit xnu support.
24864
24865 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
24866 and 'loader/macho64.c'.
24867 * conf/i386-pc.rmk: Likewise.
24868 * conf/x86_64-efi.rmk: Likewise.
24869 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
24870 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
24871 * include/grub/macho.h (grub_macho_segment64): New structure.
24872 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
24873 (grub_macho_size32): ... to this.
24874 (grub_macho32_get_entry_point): Renamed from ...
24875 (grub_macho_get_entry_point32): ... to this.
24876 (grub_macho_contains_macho64): New prototype.
24877 (grub_macho_size64): Likewise.
24878 (grub_macho_get_entry_point64): Likewise.
24879 (grub_macho32_load): Renamed from ...
24880 (grub_macho_load32): ... to this.
24881 (grub_macho32_filesize): Renamed from ...
24882 (grub_macho_filesize32): ... to this.
24883 (grub_macho32_readfile): Renamed from ...
24884 (grub_macho_readfile32): ... to this.
24885 (grub_macho_filesize64): New prototype.
24886 (grub_macho_readfile64): Likewise.
24887 (grub_macho_parse32): Likewise.
24888 (grub_macho_parse64): Likewise.
24889 * loader/macho.c: Split into ...
24890 * loader/machoXX.c: ... and this. Replace 32 with XX.
24891 * loader/macho32.c: New file.
24892 * loader/macho64.c: Likewise.
24893 * loader/xnu.c (grub_xnu_is_64bit): New variable.
24894 (grub_cmd_xnu_kernel): Make 32-bit only.
24895 (grub_cmd_xnu_kernel64): New function.
24896 (grub_xnu_load_driver): Support Mach-O 64.
24897 (grub_cmd_xnu_mkext): Likewise.
24898 * util/grub.d/30_os-prober.in (osx_entry): New function.
24899 Generate entries for 64-bit boot too.
24900
24901 Eliminate ad-hoc tree format in XNU and EfiEmu.
24902
24903 * efiemu/main.c (grub_efiemu_prepare): Update comment.
24904 * efiemu/pnvram.c: Rewritten to use environment variables.
24905 All users updated.
24906
24907 Inline utf16_to_utf8.
24908
24909 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
24910 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
24911 All users updated.
24912 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
24913
24914 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
24915 * commands/usbtest.c (grub_usb_get_string): ... move here.
24916 (usb_print_str): Fix error handling.
24917 * include/grub/usb.h (grub_usb_get_string): Remove.
24918
24919 UTF-8 to UTF-16 transformation.
24920
24921 * conf/common.rmk (pkglib_MODULES): Add charset.mod
24922 (charset_mod_SOURCES): New variable.
24923 (charset_mod_CFLAGS): Likewise.
24924 (charset_mod_LDFLAGS): Likewise.
24925 * include/grub/utf.h: New file.
24926 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
24927
24928 Support for device properties.
24929
24930 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
24931 (grub_xnu_devprop_device_header): Likewise.
24932 (grub_xnu_devprop_device_descriptor): Likewise.
24933 (grub_xnu_devprop_add_device): New prototype.
24934 (grub_xnu_devprop_remove_device): Likewise.
24935 (grub_xnu_devprop_remove_property): Likewise.
24936 (grub_xnu_devprop_add_property_utf8): Likewise.
24937 (grub_xnu_devprop_add_property_utf16): Likewise.
24938 (grub_cpu_xnu_init): Likewise.
24939 (grub_cpu_xnu_fini): Likewise.
24940 (grub_cpu_xnu_unload): Likewise.
24941 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
24942 (property_descriptor): Likewise.
24943 (devices): New variable.
24944 (grub_xnu_devprop_remove_property): New function.
24945 (grub_xnu_devprop_add_device): Likewise.
24946 (grub_xnu_devprop_remove_device): Likewise.
24947 (grub_xnu_devprop_add_property): Likewise.
24948 (grub_xnu_devprop_add_property_utf8): Likewise.
24949 (grub_xnu_devprop_add_property_utf16): Likewise.
24950 (hextoval): Likewise.
24951 (grub_cpu_xnu_fill_devprop): Likewise.
24952 (grub_cmd_devprop_load): Likewise.
24953 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
24954 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
24955 (cmd_devprop_load): New variable.
24956 (grub_cpu_xnu_init): New function.
24957 (grub_cpu_xnu_fini): Likewise.
24958 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
24959 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
24960 (grub_cmd_xnu_devtree): Likewise.
24961 (hextoval): New function.
24962 (unescape): Likewise.
24963 (grub_xnu_fill_devicetree): Likewise.
24964
24965 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
24966 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
24967
24968 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24969
24970 Workaround for broken ATI VBE.
24971
24972 * video/i386/pc/vbe.c (last_set_mode): New variable.
24973 (grub_vbe_set_video_mode): Set 'last_set_mode'.
24974 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
24975 (grub_video_vbe_setup): Don't check for reserved flag.
24976
24977 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
24978
24979 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
24980 the `find' command.
24981
24982 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
24983
24984 UUID support for HFS.
24985
24986 * fs/hfs.c (grub_hfs_uuid): New function.
24987 (grub_hfs_fs): New value .uuid.
24988 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
24989
24990 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
24991
24992 Fix a segfault with parsing unknown long options.
24993
24994 * util/grub-mkrelpath.c (options): Zero terminate it.
24995
24996 2009-12-13 Carles Pina i Estany <carles@pina.cat>
24997
24998 * include/grub/misc.h (grub_puts): New declaration.
24999 (grub_puts_): Likewise.
25000 * kern/misc.c (grub_puts): New definition.
25001 (grub_puts_): Likewise.
25002
25003 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25004
25005 * util/grub-probe.c (probe): Improve error message.
25006
25007 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25008
25009 * loader/i386/multiboot_elfxx.c
25010 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
25011 initialization.
25012
25013 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25014
25015 Relocator framework
25016
25017 * loader/i386/xnu_helper.S: Removed. All users updated.
25018 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
25019 (relocator_mod_SOURCES): New variable.
25020 (relocator_mod_CFLAGS): Likewise.
25021 (relocator_mod_LDFLAGS): Likewise.
25022 (relocator_mod_ASFLAGS): Likewise.
25023 * conf/x86_64.rmk: Likewise.
25024 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
25025 (grub_multiboot_payload_entry_offset): Likewise.
25026 (grub_multiboot_forward_relocator): Likewise.
25027 (grub_multiboot_forward_relocator_end): Likewise.
25028 (grub_multiboot_backward_relocator): Likewise.
25029 (grub_multiboot_backward_relocator_end): Likewise.
25030 (grub_multiboot_payload_eip): New variable.
25031 (grub_multiboot_payload_orig): Likewise.
25032 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
25033 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
25034 * include/grub/i386/memory.h
25035 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
25036 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
25037 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
25038 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
25039 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
25040 * include/grub/i386/relocator.h: New file.
25041 * include/grub/x86_64/relocator.h: Likewise.
25042 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
25043 (XNU_RELOCATOR): New macro.
25044 (grub_xnu_launcher_start): Remove.
25045 (grub_xnu_launcher_end): Likewise.
25046 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
25047 (grub_xnu_heap_real_start): Remove.
25048 (grub_xnu_heap_start): Change to void *. All users updated.
25049 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
25050 * lib/i386/relocator.c: New file.
25051 * lib/i386/relocator_asm.S: Likewise.
25052 * lib/i386/relocator_backward.S: Likewise.
25053 * lib/mips/relocator.c: Likewise.
25054 * lib/mips/relocator_asm.S: Likewise.
25055 * lib/relocator.c: Likewise.
25056 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
25057 (entry): Removed.
25058 (playground): Likewise.
25059 (grub_multiboot_payload_orig): New variable.
25060 (grub_multiboot_payload_dest): Likewise.
25061 (grub_multiboot_payload_size): Likewise.
25062 (grub_multiboot_payload_eip): Likewise.
25063 (grub_multiboot_payload_esp): Likewise.
25064 (grub_multiboot_boot): Use grub_relocator32_boot.
25065 (grub_multiboot_unload): Free relocators.
25066 (grub_multiboot): Setup stack. Use relocators.
25067 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
25068 (grub_multiboot_load_elfXX): Use relocators.
25069 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
25070 (grub_multiboot_payload_size): Likewise.
25071 (grub_multiboot_payload_dest): Likewise.
25072 (grub_multiboot_payload_entry_offset): Likewise.
25073 (grub_multiboot_forward_relocator): Likewise.
25074 (grub_multiboot_backward_relocator): Likewise.
25075 (grub_multiboot_real_boot): Likewise.
25076 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
25077 (grub_xnu_entry_point): Likewise.
25078 (grub_xnu_arg1): Likewise.
25079 (grub_xnu_stack): Likewise.
25080 (grub_xnu_launch): Removed.
25081 (grub_xnu_boot_resume): New function.
25082 (grub_xnu_boot): Use relocators.
25083 * loader/i386/xnu_helper.S: Removed.
25084 * loader/xnu.c (grub_xnu_heap_start): New variable.
25085 (grub_xnu_heap_size): Likewise.
25086 (grub_xnu_heap_malloc): Use relocators.
25087 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
25088
25089 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25090
25091 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
25092 anything.
25093
25094 2009-12-13 Carles Pina i Estany <carles@pina.cat>
25095
25096 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
25097 GRUB_ERR_NONE before calling grub_env_set.
25098
25099 2009-12-12 Robert Millan <rmh@aybabtu.com>
25100
25101 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
25102 * genmk.rb (video): New variable.
25103 (CLEANFILES, VIDEOFILES): Add #{video}.
25104 (#{video}): New target rule.
25105 * genvideolist.sh: New file.
25106 * Makefile.in (pkglib_DATA): Add video.lst.
25107 (video.lst): New target rule.
25108 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
25109 `video.lst'.
25110 * util/grub.d/30_os-prober.in: Replace `vbe' with
25111 ${GRUB_VIDEO_BACKEND}.
25112
25113 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
25114
25115 * THANKS: Add David Miller.
25116
25117 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
25118
25119 libpciaccess support.
25120
25121 * Makefile.in (LIBPCIACCESS): New variable.
25122 (enable_grub_emu_pci): Likewise.
25123 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
25124 util/pci.c and commands/lspci.c.
25125 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
25126 * configure.ac (grub-emu-pci): New option.
25127 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
25128 (grub_pci_device_unmap_range): Likewise.
25129 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
25130 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
25131 (grub_pci_address_t) [!GRUB_UTIL]: New type.
25132 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
25133 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
25134 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
25135 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
25136 * include/grub/pciutils.h: New file.
25137 * util/pci.c: Likewise.
25138
25139 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
25140
25141 * util/misc.c: Don't include <errno.h> twice.
25142
25143 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
25144
25145 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
25146 name in an error message.
25147 (grub_biosdisk_rw): Likewise.
25148
25149 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25150
25151 Eliminate NTFS 4Gib barrier.
25152
25153 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
25154 (read_run_data): Likewise.
25155 (grub_ntfs_read_run_list): Likewise.
25156 (grub_ntfs_read_block): Likewise.
25157 (grub_ntfs_iterate_dir): Likewise.
25158 (read_mft): Likewise.
25159 (read_data): Likewise.
25160 Use COM_LOG_LEN.
25161 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
25162 to avoid 64-bit division
25163 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
25164 (grub_ntfs_rlst): Use grub_disk_addr_t.
25165
25166 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25167
25168 Eliminate grub-fstest 4Gib barrier.
25169
25170 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
25171 (read_file): Fix error reporting.
25172
25173 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25174
25175 Eliminate hexdump 4Gib barrier.
25176
25177 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
25178 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
25179
25180 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25181
25182 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
25183 Fixes amarsh bug.
25184
25185 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
25186
25187 Remove miscellaneous files in distclean target.
25188
25189 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
25190
25191 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
25192
25193 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
25194 if they're already set. This resolves the conflict between my
25195 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
25196 fixing the --grub-probe option again.
25197 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
25198 change on 2009-10-06, so that we now once again source
25199 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
25200
25201 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
25202
25203 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
25204 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
25205 `util/devicemap.c'.
25206
25207 2009-12-08 Carles Pina i Estany <carles@pina.cat>
25208
25209 * include/grub/misc.h (grub_printf_): New declaration.
25210 * kern/misc.c (grub_printf_): New definition.
25211 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
25212 instead of `grub_printf' and `_'.
25213 * normal/menu_entry.c (store_completion): Likewise.
25214 (run): Likewise.
25215 (grub_menu_entry_run): Likewise.
25216 * normal/menu_text.c (grub_wait_after_message): Likewise.
25217 (notify_booting): Likewise.
25218 (notify_fallback): Likewise.
25219 (notify_execution_failure): Likewise.
25220
25221 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
25222
25223 * configure.ac: Check for vasprintf.
25224 * util/misc.c (asprintf): Move allocation from here ...
25225 (vasprintf): ... to here. New function.
25226 (xasprintf): New function.
25227 * include/grub/util/misc.h (vasprintf, xasprintf): Add
25228 prototypes.
25229 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
25230 * util/grub-mkfont.c (write_font): Likewise.
25231 * util/grub-probe.c (probe): Likewise.
25232 * util/hostdisk.c (make_device_name): Likewise.
25233
25234 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
25235
25236 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
25237 anything even prefixed with 'cdrom' as a cdrom.
25238
25239 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
25240
25241 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
25242 mount points.
25243
25244 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25245
25246 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
25247 grub_gettext_msg_list.
25248 (grub_gettext_gettranslation_from_position): Return const char *
25249 and not char *.
25250 (grub_gettext_translate): Add the translated strings into a list,
25251 returns from the list if existing there.
25252 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
25253 (grub_gettext_delete_list): Delete the list.
25254 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
25255 lang environment variable is changed.
25256 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
25257
25258 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25259
25260 Rename kernel.mod to kernel.img.
25261
25262 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
25263 (kernel_mod_EXPORTS): Rename to ...
25264 (kernel_img_EXPORTS): ... this.
25265 (kernel_mod_SOURCES): Rename to ...
25266 (kernel_img_SOURCES): ... this.
25267 (kernel_mod_HEADERS): Rename to ...
25268 (kernel_img_HEADERS): ... this. All users updated.
25269 (kernel_mod_CFLAGS): Rename to ...
25270 (kernel_img_CFLAGS): ... this.
25271 (kernel_mod_ASFLAGS): Rename to ...
25272 (kernel_img_ASFLAGS): ... this.
25273 (kernel_mod_LDFLAGS): Rename to ...
25274 (kernel_img_LDFLAGS): ... this.
25275 * conf/x86_64-efi.rmk: Likewise.
25276 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
25277 (read_kernel_image): ... this. All users updated.
25278 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
25279
25280 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25281
25282 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
25283 (print_spaces): New function.
25284 (grub_print_ucs4): New function.
25285 (getstringwidth): New function.
25286 (print_message_indented): New function.
25287 (print_message): Gettexttize strings using print_message_indented.
25288 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
25289 width.
25290 (get_entry_number): Gettextize and uses dynamic terminal width.
25291 (notify_booting, notify_fallback, notify_execution_failure):
25292 Gettextize.
25293 * normal/menu_entry.c (store_completion): Cleanup the gettextized
25294 string.
25295 (run): Likewise.
25296 (grub_menu_entry_run): Likewise.
25297 * PO/POTFILES: Add normal/menu_entry.c.
25298
25299 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25300
25301 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
25302
25303 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25304
25305 * util/grub-install.in: Install gettext .mo files.
25306 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
25307
25308 2009-12-05 Carles Pina i Estany <carles@pina.cat>
25309
25310 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
25311 grub_dprintf.
25312
25313 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
25314
25315 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
25316 non-firmware-dependant one in realmode.S takes precedence.
25317
25318 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
25319
25320 * commands/halt.c: Replace misc arch-specific headers with
25321 `<grub/misc.h>'.
25322 * commands/reboot.c: Likewise.
25323 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
25324 `<grub/misc.h>'.
25325 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
25326 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
25327 (kernel_img_SOURCES): ... to here.
25328
25329 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
25330 * include/grub/i386/pc/init.h: Likewise.
25331 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25332 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25333
25334 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
25335
25336 * include/grub/i386/halt.h: Remove.
25337 * include/grub/i386/reboot.h: Likewise.
25338
25339 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
25340
25341 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
25342
25343 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
25344 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
25345 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
25346 "progname.h"
25347 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25348 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25349 (usage): Add missing comma in printf.
25350
25351 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
25352
25353 Use the same reboot approach on i386 coreboot and qemu as we do on
25354 BIOS.
25355
25356 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
25357 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
25358 * kern/i386/reboot.c: Remove.
25359 * include/grub/i386/reboot.h (grub_reboot): Export function.
25360 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
25361 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
25362 0xf000:0xfff0 instead of 0xffff:0x0000.
25363 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
25364 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
25365
25366 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
25367
25368 Fix $srcdir != $objdir build.
25369
25370 * Makefile.in (po/%.po): Rewrite as ...
25371 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
25372
25373 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
25374
25375 Fix GNU/Hurd grub-install crash.
25376 * util/grub-probe.c (probe): Try to access `path' only when it is not
25377 NULL.
25378
25379 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25380
25381 Correct module naming.
25382
25383 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25384 (GRUB_MOD_INIT(efi_uga)): ... to this
25385 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25386 (GRUB_MOD_FINI(efi_uga)): ... to this
25387 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25388 (GRUB_MOD_INIT(efi_gop)): ... to this
25389 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25390 (GRUB_MOD_FINI(efi_gop)): ... to this
25391
25392 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
25393
25394 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
25395 translatable.
25396 (usage): Translate `arg' strings using gettext().
25397 Thanks to Jordi Mallach for the suggestion.
25398
25399 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25400
25401 GOP support. Based on patch from Bean
25402 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25403
25404 * video/efi_gop.c: New file.
25405 * include/grub/efi/graphics_output.h: Likewise.
25406 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
25407 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25408 variables.
25409 * conf/x86_64-efi.rmk: Likewise.
25410
25411 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25412
25413 Rename efi_fb to efi_uga.
25414
25415 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25416 'efi_uga.mod'.
25417 (efi_fb_mod_SOURCES): Rename this ...
25418 (efi_uga_mod_SOURCES): ... to this.
25419 (efi_fb_mod_CFLAGS): Rename this ...
25420 (efi_uga_mod_CFLAGS): ... to this.
25421 (efi_fb_mod_LDFLAGS): Rename this ...
25422 (efi_uga_mod_LDFLAGS): ... to this.
25423 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25424 'efi_uga.mod'.
25425 (efi_fb_mod_SOURCES): Rename this ...
25426 (efi_uga_mod_SOURCES): ... to this.
25427 (efi_fb_mod_CFLAGS): Rename this ...
25428 (efi_uga_mod_CFLAGS): ... to this.
25429 (efi_fb_mod_LDFLAGS): Rename this ...
25430 (efi_uga_mod_LDFLAGS): ... to this.
25431 * video/efi_fb.c: Move this ...
25432 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
25433
25434 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25435
25436 * po/README: New file. Explain our PO file workflow.
25437
25438 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25439
25440 * po/ChangeLog: Remove. Move relevant entries back to ...
25441 * ChangeLog: ... here.
25442 * po/ca.po: Remove (now handled by TLP).
25443 * po/id.po: Likewise.
25444 * po/zh_CN.po: Likewise.
25445 * Makefile.in (LINGUAS): Initialize in a way that supports
25446 empty set.
25447
25448 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25449
25450 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
25451 reliing on po/LINGUAS.
25452 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
25453 (po/%.po): ... this.
25454
25455 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
25456
25457 * util/i386/efi/grub-mkimage.c: Include "progname.h".
25458 (main): Use `program_name' instead of nonexistent `progname'.
25459
25460 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
25461
25462 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25463 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
25464
25465 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25466
25467 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
25468 commit.
25469 * conf/i386-efi.rmk: Likewise.
25470 * conf/i386-ieee1275.rmk: Likewise.
25471 * conf/powerpc-ieee1275.rmk: Likewise.
25472 * conf/sparc64-ieee1275.rmk: Likewise.
25473 * conf/x86_64-efi.rmk: Likewise.
25474
25475 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
25476
25477 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
25478
25479 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
25480
25481 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
25482
25483 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25484
25485 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
25486 (grub_mkdevicemap_SOURCES): New variable.
25487 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
25488 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
25489 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
25490 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
25491 (grub_mkdevicemap_SOURCES): Remove.
25492 * conf/i386-efi.rmk: Likewise.
25493 * conf/i386-ieee1275.rmk: Likewise.
25494 * conf/i386-pc.rmk: Likewise.
25495 * conf/powerpc-ieee1275.rmk: Likewise.
25496 * conf/sparc64-ieee1275.rmk: Likewise.
25497 * conf/x86_64-efi.rmk: Likewise.
25498 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
25499 (usage): Fix strings to use `program_name'.
25500 (main): Initialize gettext.
25501 * util/grub-editenv.c: Likewise.
25502 * util/grub-emu.c: Likewise.
25503 * util/grub-fstest.c: Likewise.
25504 * util/grub-mkdevicemap.c: Likewise.
25505 * util/grub-mkfont.c: Likewise.
25506 * util/grub-mkrelpath.c: Likewise.
25507 * util/grub-pe2elf.c: Likewise.
25508 * util/grub-probe.c: Likewise.
25509 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
25510 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25511 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25512
25513 * util/misc.c: Include `"progname.h"'.
25514 (progname): Remove variable.
25515 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
25516
25517 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
25518
25519 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
25520 printf and print a newline after the menuentry header line.
25521 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25522
25523 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
25524
25525 autoconf >= 2.60 support $(localedir).
25526
25527 * INSTALL: Note that autoconf 2.60 is required.
25528 * configure.ac (AC_PREREQ): Bump to 2.60.
25529 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
25530 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
25531
25532 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
25533
25534 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
25535 aclocal is run.
25536
25537 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25538
25539 * normal/main.c (grub_normal_read_line): Fix off-by-one
25540 buffer overflow.
25541
25542 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25543
25544 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
25545 "parser.grub" in grub_command_execute() call.
25546
25547 2009-11-24 Carles Pina i Estany <carles@pina.cat>
25548
25549 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
25550 * conf/i386-efi.rmk: Likewise.
25551 * conf/i386-ieee1275.rmk: Likewise.
25552 * conf/i386-pc.rmk: Likewise.
25553 * conf/powerpc-ieee1275.rmk: Likewise.
25554 * conf/sparc64-ieee1275.rmk: Likewise.
25555 * conf/x86_64-efi.rmk: Likewise.
25556 * gettext/gettex.c: Include <grub/i18n.h>.
25557 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
25558 here ...
25559 * include/grub/i18n.h: ... to here
25560 * include/grub/i18n.h: ... to here.
25561 * kern/misc.c: Include <grub/i18n.h>
25562 (grub_gettext_dummy): Move above user.
25563
25564 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25565
25566 * util/Makefile.in (install-local): Convert a `for' into a normal
25567 shell expansion.
25568
25569 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
25570
25571 * autogen.sh: Add automake call.
25572 * config.guess: Remove.
25573 * config.sub: Likewise.
25574 * install-sh: Likewise.
25575
25576 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25577
25578 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
25579
25580 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25581
25582 * util/Makefile.in (install-local): Convert a make `$(foreach)'
25583 function to a normal shell `for'.
25584
25585 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25586
25587 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25588
25589 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25590
25591 * util/grub-mkrelpath.c: New file.
25592 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
25593 (grub_mkrelpath_SOURCES): New variable.
25594 * include/grub/util/misc.h: New function prototype.
25595 * util/misc.c (make_system_path_relative_to_its_root): New function.
25596
25597 * util/grub-mkconfig_lib.in (bindir): New variable.
25598 (grub_mkrelpath): Likewise.
25599 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
25600
25601 * util/probe.c (probe): Make the file path relative to its root.
25602 Change a info message to use the GRUB path. Enable again the
25603 check if we can read the file with GRUB facilities.
25604
25605 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
25606 to its root.
25607
25608 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25609
25610 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
25611 platform.
25612
25613 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25614
25615 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
25616 strncmp().
25617
25618 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
25619
25620 * util/getroot.c (grub_util_is_dmraid): New function.
25621 (grub_util_get_dev_abstraction): Treat dmraid and multipath
25622 devices as normal ones, not as LVM.
25623
25624 2009-11-23 Carles Pina i Estany <carles@pina.cat>
25625
25626 * conf/common.rmk: Add grub-gettext_lib target and updates
25627 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
25628 LDFLAGS.
25629 * gettext/gettext.c: New file. (Reads mo files).
25630 * include/grub/file.h (grub_file_pread): New prototype.
25631 * include/grub/i18n.h (_): New prototype.
25632 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
25633 prototypes.
25634 * kern/misc.c (grub_gettext_dummy): New function.
25635 * normal/menu_text.c: Include <grub/i18n.h>.
25636 * normal/menu_text.c (print_timeout): Gettexttize string.
25637 * normal/menu_text.c (print_message): Gettexttize string.
25638 * po/POTFILES: Add `normal/menu_text.c'.
25639 * po/ca.po: Add new translations.
25640 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
25641 gettext module and defines locale_dir and lang in grub.cfg.
25642 * NEWS: Add gettext support.
25643
25644 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25645
25646 * util/hostdisk.c: Include `<grub/i18n.h>'.
25647 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
25648 (make_device_name): Rewrite using asprintf.
25649 (convert_system_partition_to_system_disk): Replace 0 with NULL.
25650 (find_system_device): If a device is not found, generate one just
25651 by reusing the OS path name.
25652 (read_device_map): Make it permissible for device.map not to exist.
25653
25654 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25655
25656 * script/sh/execute.c: Move from here ...
25657 * script/execute.c: ... to here. Update all users.
25658 * script/sh/function.c: Move from here ...
25659 * script/function.c: ... to here. Update all users.
25660 * script/sh/lexer.c: Move from here ...
25661 * script/lexer.c: ... to here. Update all users.
25662 * script/sh/main.c: Move from here ...
25663 * script/main.c: ... to here. Update all users.
25664 * script/sh/parser.y: Move from here ...
25665 * script/parser.y: ... to here. Update all users.
25666 * script/sh/script.c: Move from here ...
25667 * script/script.c: ... to here. Update all users.
25668
25669 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25670
25671 * configure.ac: Detect all `emu' platforms. Define
25672 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
25673 --enable-grub-emu logic. Disable include/grub/machine
25674 symlink on `emu' platforms.
25675
25676 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
25677 * gensymlist.sh.in: Likewise.
25678
25679 * include/grub/i386/coreboot/machine.h: Remove file.
25680 * include/grub/i386/efi/machine.h: Likewise.
25681 * include/grub/i386/ieee1275/machine.h: Likewise.
25682 * include/grub/i386/pc/machine.h: Likewise.
25683 * include/grub/i386/qemu/machine.h: Likewise.
25684 * include/grub/powerpc/ieee1275/machine.h: Likewise.
25685 * include/grub/sparc64/ieee1275/machine.h: Likewise.
25686 * include/grub/x86_64/efi/machine.h: Likewise.
25687
25688 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
25689 * commands/halt.c: Likewise.
25690 * commands/reboot.c: Likewise.
25691 * include/grub/autoefi.h: Likewise.
25692 * include/grub/i386/at_keyboard.h: Likewise.
25693 * include/grub/i386/kernel.h: Likewise.
25694 * include/grub/i386/loader.h: Likewise.
25695 * include/grub/i386/pc/memory.h: Likewise.
25696 * kern/dl.c: Likewise.
25697 * kern/i386/coreboot/init.c: Likewise.
25698 * loader/i386/bsd.c: Likewise.
25699 * loader/i386/linux.c: Likewise.
25700 * loader/multiboot_loader.c: Likewise.
25701 * term/i386/pc/serial.c: Likewise.
25702 * term/usb_keyboard.c: Likewise.
25703
25704 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
25705 `<grub/machine/machine.h>'
25706 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
25707 * util/misc.c: Remove `<grub/machine/machine.h>' and
25708 `<grub/machine/time.h>'.
25709
25710 * Makefile.in (enable_grub_emu): Remove variable.
25711 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
25712
25713 * conf/any-emu.rmk: New file.
25714 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
25715 (grub_emu_init.c): Move from here ...
25716 * conf/any-emu.rmk: ... to here.
25717
25718 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
25719 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
25720 * conf/any-emu.rmk: ... to here.
25721
25722 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25723
25724 * include/grub/parser.h (grub_parser_register): Document need
25725 of `name' parameter.
25726 * normal/main.c (grub_normal_read_line): Simplify prompt string.
25727 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
25728 "sh" to "grub".
25729
25730 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25731
25732 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
25733 `$(XGETTEXT)'.
25734 * include/grub/i18n.h (N_): New macro.
25735 * util/mkisofs/mkisofs.h: Likewise.
25736 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
25737 around N_().
25738 (usage): Use gettext() to translate help strings when printing them.
25739
25740 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25741
25742 Based on patch from Bean
25743 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25744
25745 * video/efi_fb.c: New file.
25746 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
25747 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25748 variables.
25749 * conf/x86_64-efi.rmk: Likewise.
25750
25751 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
25752
25753 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
25754 * util/i386/pc/grub-setup.c: Likewise.
25755
25756 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
25757
25758 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
25759 <hurd/fs.h>
25760 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
25761 file_get_storage_info to implement grub_guess_root_device.
25762
25763 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
25764
25765 * Makefile.in (target): Use make's builtin $(shell) function
25766 instead of calling directly $(SHELL) to create the locale directories,
25767 inside the $(foreach) function.
25768
25769 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
25770
25771 * util/grub-mkrescue.in: Print an error and usage if output option
25772 has not been given.
25773
25774 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
25775
25776 Patch from Loïc Minier <loic.minier@ubuntu.com>.
25777 * util/grub.d/30_os-prober.in: Cope with Linux entries where
25778 root and /boot are on different devices.
25779
25780 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25781
25782 Fix build for srcdir != objdir.
25783
25784 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
25785 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
25786 $(srcdir).
25787 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
25788 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
25789 reference for input.
25790
25791 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25792
25793 * util/grub-mkrescue.in: Use source directory direcly (without copiing
25794 or hardlinking it). Remove -J option, Joliet is not compatible with
25795 multiple source directories.
25796
25797 2009-11-21 Carles Pina i Estany <carles@pina.cat>
25798 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25799
25800 * util/grub-mkrescue.in: Recognize `--override-directory' option.
25801 (process_input_dir): New function. Process an arbitrary input
25802 directory.
25803 Misc adjustments to support both "override mode" and system-wide mode.
25804
25805 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
25806
25807 * configure.ac (UNIFONT_BDF): Rename to ...
25808 (FONT_SOURCE): ... this. Update all users.
25809
25810 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
25811
25812 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
25813 to the list of unifont files to look for.
25814
25815 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25816
25817 Patch from Joe Auricchio <jauricchio@gmail.com>
25818 * commands/minicmd.c (grub_mini_cmd_clear): New function.
25819 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
25820 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
25821
25822 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
25823
25824 * Makefile.in (install-local): Add a missing backslash.
25825
25826 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
25827
25828 * include/grub/x86_64/io.h: New file.
25829
25830 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25831
25832 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
25833 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
25834 Include `"progname.h"'.
25835 (main): Initialize gettext.
25836 * util/i386/pc/grub-setup.c: Gettexttize.
25837 * util/i386/pc/grub-mkimage.c: Likewise.
25838
25839 * Makefile.in (po/*.po): Redefine as ...
25840 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
25841
25842 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
25843
25844 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25845
25846 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
25847 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
25848 (program_name): Remove.
25849 (main): Initialize gettext support.
25850 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
25851 Include `<libintl.h>'.
25852 (_): New macro.
25853
25854 * util/mkisofs/eltorito.c: Gettexttize.
25855 * util/mkisofs/joliet.c: Likewise.
25856 * util/mkisofs/mkisofs.c: Likewise.
25857 * util/mkisofs/multi.c: Likewise.
25858 * util/mkisofs/rock.c: Likewise.
25859 * util/mkisofs/tree.c: Likewise.
25860 * util/mkisofs/write.c: Likewise.
25861
25862 * po/POTFILES: Update with new files.
25863
25864 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25865
25866 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
25867 * util/mkisofs/iso9660.h: Likewise.
25868 * util/mkisofs/joliet.c: Likewise.
25869 * util/mkisofs/mkisofs.c: Likewise.
25870 * util/mkisofs/mkisofs.h: Likewise.
25871 * util/mkisofs/rock.c: Likewise.
25872 * util/mkisofs/tree.c: Likewise.
25873 * util/mkisofs/write.c: Likewise.
25874
25875 * util/mkisofs/eltorito.c (rcsid): Remove.
25876 * util/mkisofs/hash.c: Likewise.
25877 * util/mkisofs/joliet.c: Likewise.
25878 * util/mkisofs/name.c: Likewise.
25879 * util/mkisofs/rock.c: Likewise.
25880 * util/mkisofs/tree.c: Likewise.
25881 * util/mkisofs/write.c: Likewise.
25882
25883 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25884
25885 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
25886 instead of static allocation.
25887 * util/mkisofs/match.h: Likewise.
25888
25889 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25890
25891 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
25892 and `util/grub.d/10_linux.in'.
25893 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
25894 translatable Shell files.
25895
25896 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
25897
25898 * Makefile.in ($(srcdir)/aclocal.m4): New target.
25899
25900 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25901
25902 * INSTALL: Document Automake is needed for bootstrap.
25903 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
25904 * util/grub.d/10_kfreebsd.in (bindir): New variable.
25905 Add gettext initialization.
25906 (kfreebsd_entry): Make menuentry output translatable.
25907
25908 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25909
25910 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
25911 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
25912 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
25913 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
25914 (LINGUAS): Auto-generate using `po/LINGUAS'.
25915 * po/LINGUAS: New file.
25916
25917 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25918
25919 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
25920 other things).
25921 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
25922 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
25923 bindtextdomain() calls for gettext initialization.
25924
25925 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25926
25927 * gnulib/progname.c: New file (imported from Gnulib).
25928 * gnulib/progname.h: Likewise.
25929 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25930 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
25931 (usage): Replace `progname' with `program_name'.
25932 (main): Use set_program_name() for program name initialization.
25933
25934 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25935
25936 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
25937 from here ...
25938 * Makefile.in (CPPFLAGS): ... to here.
25939
25940 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25941
25942 * aclocal.m4: Move from here ...
25943 * acinclude.m4: ... to here.
25944 * autogen.sh: Add call to `aclocal'.
25945 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
25946
25947 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
25948
25949 * Makefile.in (CLEANFILES): Add `po/*.mo'.
25950 (LINGUAS): New variable.
25951 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
25952 (install-local): Install MO files.
25953 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
25954 * include/grub/i18n.h: New file.
25955 * po/POTFILES: New file.
25956 * po/ca.po: New file.
25957 * util/grub.d/10_linux.in (bindir): New variable.
25958 Add gettext initialization.
25959 (linux_entry): Make menuentry output translatable.
25960 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
25961 (usage): Make --help output translatable.
25962 (main): Initialize gettext.
25963
25964 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25965
25966 * import_gcry.py: New file (written by Vladimir with minor
25967 adjustments).
25968 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
25969 ciphers.
25970 * INSTALL: Document that Python is required for bootstrap.
25971
25972 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
25973
25974 Import ciphers from libgcrypt 1.4.4.
25975
25976 * lib/libgcrypt/cipher/ChangeLog
25977 * lib/libgcrypt/cipher/ac.c
25978 * lib/libgcrypt/cipher/arcfour.c
25979 * lib/libgcrypt/cipher/bithelp.h
25980 * lib/libgcrypt/cipher/blowfish.c
25981 * lib/libgcrypt/cipher/camellia-glue.c
25982 * lib/libgcrypt/cipher/camellia.c
25983 * lib/libgcrypt/cipher/camellia.h
25984 * lib/libgcrypt/cipher/cast5.c
25985 * lib/libgcrypt/cipher/cipher.c
25986 * lib/libgcrypt/cipher/crc.c
25987 * lib/libgcrypt/cipher/des.c
25988 * lib/libgcrypt/cipher/dsa.c
25989 * lib/libgcrypt/cipher/ecc.c
25990 * lib/libgcrypt/cipher/elgamal.c
25991 * lib/libgcrypt/cipher/hash-common.c
25992 * lib/libgcrypt/cipher/hash-common.h
25993 * lib/libgcrypt/cipher/hmac-tests.c
25994 * lib/libgcrypt/cipher/md.c
25995 * lib/libgcrypt/cipher/md4.c
25996 * lib/libgcrypt/cipher/md5.c
25997 * lib/libgcrypt/cipher/primegen.c
25998 * lib/libgcrypt/cipher/pubkey.c
25999 * lib/libgcrypt/cipher/rfc2268.c
26000 * lib/libgcrypt/cipher/rijndael-tables.h
26001 * lib/libgcrypt/cipher/rijndael.c
26002 * lib/libgcrypt/cipher/rmd.h
26003 * lib/libgcrypt/cipher/rmd160.c
26004 * lib/libgcrypt/cipher/rsa.c
26005 * lib/libgcrypt/cipher/seed.c
26006 * lib/libgcrypt/cipher/serpent.c
26007 * lib/libgcrypt/cipher/sha1.c
26008 * lib/libgcrypt/cipher/sha256.c
26009 * lib/libgcrypt/cipher/sha512.c
26010 * lib/libgcrypt/cipher/tiger.c
26011 * lib/libgcrypt/cipher/twofish.c
26012 * lib/libgcrypt/cipher/whirlpool.c
26013
26014 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26015
26016 Fix build for systems without error().
26017
26018 * gnulib/error.c: New file (imported from Gnulib).
26019 * gnulib/error.h: Likewise.
26020 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
26021 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
26022 (this variable is now used by error()).
26023
26024 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
26025
26026 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
26027 instead of relying that char is signed.
26028
26029 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
26030
26031 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
26032 blocksize different from specified.
26033 (grub_pxefs_read): Likewise.
26034
26035 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
26036
26037 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
26038
26039 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
26040 (grub_ata_readwrite): Likewise. Update 2 format strings.
26041 (grub_atapi_read): Likewise.
26042
26043 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
26044 * conf/i386.rmk (pkglib_MODULES): ... to here ...
26045 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
26046 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
26047 (ata_mod_LDFLAGS): Move from here ...
26048 * conf/i386.rmk: ... to here ...
26049 * conf/x86_64-efi.rmk: ... and here.
26050 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
26051 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
26052
26053 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26054
26055 Relicense multiboot.h, with RMS' blessing.
26056
26057 * include/multiboot.h: Change to X11 license.
26058
26059 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
26060
26061 Support --version in grub-mkisofs.
26062
26063 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
26064 (OPTION_VERSION): New macro.
26065 (ld_options): Recognize --version.
26066 (usage): Move `program_name' from here ...
26067 (program_name): ... to here. Add `static' qualifier.
26068 (main): Recognize `OPTION_VERSION'.
26069
26070 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
26071
26072 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
26073 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
26074
26075 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26076
26077 Fix help2man generation for mkisofs.
26078
26079 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
26080 (usage): Send output to stdout (rather than stderr).
26081
26082 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26083
26084 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
26085 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26086 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
26087 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26088 (bin_SCRIPTS): Add `grub-mkfloppy'.
26089 (grub_mkfloppy_SOURCES): New variable.
26090
26091 * util/grub-mkrescue.in: New file.
26092 * util/i386/pc/grub-mkfloppy.in: New file.
26093
26094 * util/i386/coreboot/grub-mkrescue.in: Remove.
26095 * util/i386/pc/grub-mkrescue.in: Remove.
26096
26097 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26098
26099 * include/grub/multiboot.h (struct grub_multiboot_header): Move
26100 from here ...
26101 * include/multiboot.h (struct multiboot_header): ... to here. Update
26102 all users.
26103 * include/grub/multiboot.h (struct grub_multiboot_info): Move
26104 from here ...
26105 * include/multiboot.h (struct multiboot_info): ... to here. Update
26106 all users.
26107 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
26108 from here ...
26109 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
26110 Update all users.
26111 * include/grub/multiboot.h (struct grub_mod_list): Move
26112 from here ...
26113 * include/multiboot.h (struct multiboot_mod_list): ... to here.
26114 Update all users.
26115
26116 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26117
26118 * include/multiboot2.h (multiboot_word): Rename from this ...
26119 (multiboot2_word): ... to this. Update all users.
26120 (multiboot_header): Rename from this ...
26121 (multiboot2_header): ... to this. Update all users.
26122 (multiboot_tag_header): Rename from this ...
26123 (multiboot2_tag_header): ... to this. Update all users.
26124 (multiboot_tag_start): Rename from this ...
26125 (multiboot2_tag_start): ... to this. Update all users.
26126 (multiboot_tag_name): Rename from this ...
26127 (multiboot2_tag_name): ... to this. Update all users.
26128 (multiboot_tag_module): Rename from this ...
26129 (multiboot2_tag_module): ... to this. Update all users.
26130 (multiboot_tag_memory): Rename from this ...
26131 (multiboot2_tag_memory): ... to this. Update all users.
26132 (multiboot_tag_unused): Rename from this ...
26133 (multiboot2_tag_unused): ... to this. Update all users.
26134 (multiboot_tag_end): Rename from this ...
26135 (multiboot2_tag_end): ... to this. Update all users.
26136
26137 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26138
26139 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
26140 this platform we should support Multiboot1 first.
26141
26142 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
26143 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
26144 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
26145
26146 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26147
26148 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
26149 of write calls (converting them to fwrite() if they aren't already).
26150 (get_torito_desc): Likewise.
26151 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
26152
26153 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26154
26155 * util/i386/pc/grub-install.in: Move from here ...
26156 * util/grub-install.in: ... to here. Update all users.
26157
26158 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
26159
26160 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
26161
26162 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26163
26164 Support for El Torito without floppy emulation.
26165
26166 * util/mkisofs/eltorito.c: Include `<errno.h>'.
26167 (init_boot_catalog): Improve error handling.
26168 (get_torito_desc): Don't use floppy emulation unless requested by
26169 user. Patch boot information table when requested via
26170 `-boot-info-table'.
26171 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
26172 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
26173 (use_boot_info_table): New variables.
26174 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
26175 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
26176 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
26177 `--eltorito-emul-floppy'.
26178 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
26179 and `OPTION_ELTORITO_EMUL_FLOPPY'.
26180 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
26181 (use_boot_info_table, get_731): New prototypes.
26182 * util/mkisofs/write.c (get_731): New function.
26183
26184 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
26185
26186 Fix the generation of the man page.
26187
26188 * util/pc/i386/grub-install.in: Source
26189 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
26190
26191 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26192
26193 Large file support for grub-mkisofs.
26194
26195 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
26196 * util/mkisofs/mkisofs.c (next_extent, last_extent)
26197 (session_start): Upgrade type to `uint64_t'. Update all users.
26198 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
26199 (struct directory_entry): Upgrade type of `starting_block' and
26200 `size' to `uint64_t'. Update all users.
26201 (struct deferred): Remove unused structure.
26202 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
26203 Update all users.
26204 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
26205 file is larger than `UINT32_MAX'.
26206 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
26207 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
26208 return value.
26209 (struct deferred_write): Upgrade type of `extent' and `size' to
26210 `uint64_t'. Update all users.
26211 (last_extent_written): Upgrade type to `uint64_t'. Update all
26212 users.
26213 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
26214 Update all users. Upgrade type of `remain' to `int64_t' and
26215 `use' to `size_t'. Use error() to handle fread() errors.
26216 (write_files): Rely on write_one_file() rather than calling
26217 xfwrite() directly.
26218
26219 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
26220
26221 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
26222
26223 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26224
26225 * util/mkisofs/fnmatch.c: Remove.
26226 * util/mkisofs/getopt1.c: Likewise.
26227 * util/mkisofs/getopt.c: Likewise.
26228 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
26229 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
26230 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
26231 `gnulib/getopt1.c' and `gnulib/getopt.c'.
26232 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
26233
26234 * configure.ac: Detect `mingw32msvc' host_os.
26235 Check for lstat(), getuid() and getgid().
26236
26237 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
26238 instances of `u_char' with `uint8_t'.
26239
26240 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
26241 [!HAVE_GETUID] (getuid): New function (stub).
26242 [!HAVE_GETGID] (getgid): Likewise.
26243 [!HAVE_LSTAT] (lstat): Likewise.
26244 [!S_IROTH] (S_IROTH): New macro (dummy).
26245 [!S_IRGRP] (S_IRGRP): Likewise.
26246
26247 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26248
26249 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
26250 conditional expression).
26251
26252 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26253
26254 Import from Gnulib.
26255
26256 * gnulib/fnmatch.c: New file.
26257 * gnulib/fnmatch.h: Likewise.
26258 * gnulib/fnmatch_loop.c: Likewise.
26259 * gnulib/getopt.c: Likewise.
26260 * gnulib/getopt.h: Likewise.
26261 * gnulib/getopt1.c: Likewise.
26262 * gnulib/getopt_int.h: Likewise.
26263 * gnulib/gettext.h: Likewise.
26264
26265 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26266
26267 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
26268 * normal/handler.c (read_handler_list): Likewise.
26269
26270 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26271
26272 Misc cleanup.
26273
26274 * kern/command.c (grub_register_command_prio): Use
26275 grub_zalloc() instead of explicitly zeroing data.
26276 * kern/list.c: Include `<grub/mm.h>'.
26277 (grub_named_list_find): Replace `0' with `NULL'.
26278 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
26279 (fs_module_list): Change type to `grub_named_list_t'. Update all
26280 users.
26281 * normal/dyncmd.c (read_command_list): Add space between function
26282 call and parenthesis.
26283 * normal/handler.c (read_handler_list): Likewise.
26284
26285 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26286
26287 * normal/auth.c (punishment_delay): Moved from here ...
26288 (grub_auth_strcmp): ... to here (inside function).
26289
26290 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26291
26292 * include/grub/list.h (struct grub_named_list): Remove `const'
26293 qualifier from `name'.
26294 (struct grub_prio_list): Likewise.
26295
26296 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26297
26298 * normal/auth.c: Include `<grub/time.h>'.
26299 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
26300
26301 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26302
26303 * normal/auth.c (punishment_delay): New variable.
26304 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
26305 (grub_auth_check_authentication): Punish failed login attempts with
26306 an incremental (2^N) delay.
26307
26308 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26309
26310 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
26311 path with $(srcdir).
26312
26313 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26314
26315 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
26316
26317 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26318
26319 * util/i386/coreboot/grub-mkrescue.in: New file.
26320 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
26321 variables.
26322
26323 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
26324 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
26325 * configure.ac: Add header and function checks to satisfy grub-mkisofs
26326 requirements.
26327 * util/mkisofs/defaults.h: New file.
26328 * util/mkisofs/eltorito.c: Likewise.
26329 * util/mkisofs/exclude.h: Likewise.
26330 * util/mkisofs/fnmatch.c: Likewise.
26331 * util/mkisofs/getopt.c: Likewise.
26332 * util/mkisofs/getopt1.c: Likewise.
26333 * util/mkisofs/hash.c: Likewise.
26334 * util/mkisofs/include/fctldefs.h: Likewise.
26335 * util/mkisofs/include/mconfig.h: Likewise.
26336 * util/mkisofs/include/prototyp.h: Likewise.
26337 * util/mkisofs/include/statdefs.h: Likewise.
26338 * util/mkisofs/iso9660.h: Likewise.
26339 * util/mkisofs/joliet.c: Likewise.
26340 * util/mkisofs/match.c: Likewise.
26341 * util/mkisofs/match.h: Likewise.
26342 * util/mkisofs/mkisofs.c: Likewise.
26343 * util/mkisofs/mkisofs.h: Likewise.
26344 * util/mkisofs/multi.c: Likewise.
26345 * util/mkisofs/name.c: Likewise.
26346 * util/mkisofs/rock.c: Likewise.
26347 * util/mkisofs/tree.c: Likewise.
26348 * util/mkisofs/write.c: Likewise.
26349
26350 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26351
26352 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
26353 being insecure.
26354
26355 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26356
26357 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
26358 `grub-mkimage' (and use $0 when possible).
26359
26360 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26361
26362 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
26363 error message for excessively large memory map.
26364
26365 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26366
26367 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
26368 executable bit.
26369
26370 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26371
26372 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
26373 message for coreboot users.
26374
26375 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
26376
26377 Fix build with GNU gold.
26378
26379 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
26380 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
26381 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
26382 link addresses.
26383 * aclocal.m4: Likewise.
26384
26385 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
26386
26387 * configure.ac (AC_PREREQ): Bump to 2.59d.
26388 * INSTALL: Make it more clear when Autoconf and Ruby are
26389 needed and when to run `./autogen.sh'.
26390
26391 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
26392
26393 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
26394 OSes.
26395
26396 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26397
26398 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
26399
26400 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26401
26402 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
26403 giving it to GNU Mach.
26404
26405 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26406
26407 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
26408 GNU partition number to get internal GRUB partition number.
26409
26410 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26411
26412 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
26413 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
26414
26415 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
26416
26417 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
26418 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
26419 case.
26420
26421 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
26422
26423 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
26424
26425 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26426
26427 Fix build problem.
26428
26429 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
26430 `-isystem=$(srcdir)/include'.
26431
26432 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26433
26434 * util/i386/pc/grub-install.in: Remove hint that device.map should be
26435 checked (grub-install doesn't currently rely on it).
26436
26437 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
26438
26439 Revert SVN r2660.
26440
26441 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
26442 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26443 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
26444 * conf/i386-ieee1275.rmk: Likewise.
26445 * conf/i386-pc.rmk: Likewise.
26446 * conf/powerpc-ieee1275.rmk: Likewise.
26447 * conf/sparc64-ieee1275.rmk: Likewise.
26448 * conf/x86_64-efi.rmk: Likewise.
26449
26450 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26451
26452 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
26453
26454 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26455
26456 * include/grub/misc.h: Stop checking for APPLE_CC.
26457
26458 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26459
26460 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
26461 doesn't cause an infinite call loop.
26462
26463 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
26464
26465 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
26466 strings.
26467
26468 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26469
26470 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
26471 variable.
26472 * Makefile.in: Likewise.
26473
26474 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26475
26476 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
26477
26478 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26479
26480 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
26481
26482 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26483
26484 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
26485
26486 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26487
26488 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
26489 from here ...
26490 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
26491
26492 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26493
26494 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
26495 in $(MAKEINFO) invocation. This makes it clear in output that
26496 errors are being ignored.
26497
26498 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26499
26500 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
26501 from here ...
26502 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26503 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
26504 * conf/i386-ieee1275.rmk: Likewise.
26505 * conf/i386-pc.rmk: Likewise.
26506 * conf/powerpc-ieee1275.rmk: Likewise.
26507 * conf/sparc64-ieee1275.rmk: Likewise.
26508 * conf/x86_64-efi.rmk: Likewise.
26509
26510 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
26511
26512 * util/grub-editenv.c (main): If only a command is given, use
26513 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
26514 (usage): FILENAME is now optional and has a default.
26515
26516 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
26517
26518 Improve grub-mkconfig performance when there are several menu
26519 entries on a single filesystem.
26520
26521 * util/grub.d/10_linux.in (linux_entry): Cache the output of
26522 prepare_grub_to_access_device.
26523 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26524 * util/grub.d/30_os-prober.in: Likewise.
26525
26526 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26527
26528 * util/grub.d/10_freebsd.in: Remove.
26529 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
26530 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
26531
26532 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26533
26534 * docs/grub.cfg: Fix example usage of *BSD loaders.
26535
26536 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26537
26538 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
26539 grub_util_error() call.
26540
26541 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26542
26543 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
26544 `reserved_first_sector' member.
26545 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
26546 `reserved_first_sector' to 1.
26547 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
26548 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
26549 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
26550 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
26551 filesystems which begin at first sector.
26552 (options): New option --skip-fs-probe.
26553 (main): Handle --skip-fs-probe and pass it to setup().
26554
26555 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26556
26557 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
26558 (memset): Fix function prototype.
26559
26560 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26561 2009-10-25 Vasily Averin <vvs@parallels.com>
26562
26563 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
26564 `dirent.direntlen == 0'.
26565
26566 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26567
26568 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
26569 `cpio'.
26570 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
26571
26572 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26573
26574 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
26575 `__trampoline_setup' and `__ucmpdi2'.
26576 * include/grub/powerpc/libgcc.h: Only export symbols for functions
26577 that libgcc provides.
26578
26579 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26580
26581 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
26582 * include/grub/sparc64/libgcc.h (memset): Likewise.
26583 * include/grub/misc.h (memset, memcmp): New function prototypes.
26584
26585 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26586
26587 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
26588 `cpio'.
26589 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
26590
26591 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26592
26593 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
26594 * docs/grub.cfg: Compensate for recent change in multiboot
26595 loader (since 2009-08-14 it won't pass filename to payload).
26596 * util/grub.d/10_hurd.in: Likewise.
26597
26598 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
26599
26600 * config.guess: Update to latest version from config git
26601 repository.
26602 * config.sub: Likewise.
26603
26604 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
26605
26606 Fix build on sparc64.
26607
26608 * configure.ac: Perform checks for libgcc symbols before
26609 adding `-nostdlib' to LDFLAGS.
26610
26611 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26612
26613 Let user specify OpenBSD root device.
26614
26615 * loader/i386/bsd.c (openbsd_root): New variable.
26616 (openbsd_opts): New option 'root'.
26617 (OPENBSD_ROOT_ARG): New macro.
26618 (grub_openbsd_boot): Use 'openbsd_root'.
26619 (grub_cmd_openbsd): Fill 'openbsd_root'.
26620
26621 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26622
26623 * NEWS: Misc adjustments.
26624
26625 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26626
26627 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
26628
26629 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26630
26631 * configure.ac: Bump version to 1.97.
26632
26633 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
26634
26635 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
26636 -mno-3dnow on x86 architectures. Some toolchains enable these
26637 features by default, but they rely on registers that aren't enabled
26638 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
26639
26640 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
26641
26642 Make entry text a bit more readable.
26643
26644 * util/grub.d/10_linux.in: Add `with' before `Linux'.
26645
26646 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26647
26648 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
26649
26650 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26651
26652 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
26653 operations.
26654
26655 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26656
26657 * configure.ac: Add missing dollar.
26658
26659 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26660
26661 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
26662
26663 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
26664 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
26665 exports.
26666 * include/grub/sparc64/libgcc.h: Likewise. Use
26667 preprocessor conditionals.
26668
26669 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26670
26671 * conf/common.rmk (grub-dumpbios): Remove rule.
26672 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
26673 * util/grub-dumpbios.in: Remove file.
26674
26675 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26676
26677 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
26678 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
26679
26680 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
26681 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
26682 users.
26683
26684 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
26685 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
26686 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
26687 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
26688 users.
26689
26690 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
26691
26692 * term/tparm.c: Switch to GPLv3.
26693
26694 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26695
26696 * include/grub/i386/cpuid.h: Add header protection.
26697
26698 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26699
26700 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
26701
26702 * include/grub/i386/cpuid.h: New file.
26703 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
26704 (has_longmode): Rename to ...
26705 (grub_cpuid_has_longmode): ... this. Update all users. Remove
26706 `static' attribute.
26707 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
26708 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
26709 on a CPU that doesn't implement AMD64 instruction set.
26710
26711 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
26712
26713 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
26714 that version.texi is rebuilt on version number changes.
26715
26716 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
26717
26718 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
26719 Fixes bug #27602.
26720
26721 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
26722
26723 * util/i386/pc/grub-install.in: Source
26724 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
26725 that the --grub-probe option will work.
26726 * util/sparc64/ieee1275/grub-install.in: Likewise.
26727
26728 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
26729
26730 * configure.ac: Bump version to 1.97~beta4.
26731
26732 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
26733
26734 Resync grub-mkdevicemap in x86_64-efi.
26735
26736 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
26737 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
26738 `util/devicemap.c'.
26739
26740 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
26741
26742 * util/grub-editenv.c (create_envblk_file): Write new block with a
26743 .new suffix and then rename it into place, to ensure atomic
26744 creation.
26745
26746 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
26747
26748 Do not automatically install headers.
26749
26750 * Makefile.in (include_DATA): Remove. Update all users.
26751
26752 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
26753
26754 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
26755 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
26756
26757 * util/osdetect.lua: Remove.
26758 * script/lua/lauxlib.c: Likewise.
26759 * script/lua/ldebug.c: Likewise.
26760 * script/lua/grub_main.c: Likewise.
26761 * script/lua/lauxlib.h: Likewise.
26762 * script/lua/ldebug.h: Likewise.
26763 * script/lua/ltablib.c: Likewise.
26764 * script/lua/liolib.c: Likewise.
26765 * script/lua/lstrlib.c: Likewise.
26766 * script/lua/lualib.h: Likewise.
26767 * script/lua/ldo.c: Likewise.
26768 * script/lua/ldump.c: Likewise.
26769 * script/lua/ldo.h: Likewise.
26770 * script/lua/loslib.c: Likewise.
26771 * script/lua/lundump.c: Likewise.
26772 * script/lua/grub_lib.c: Likewise.
26773 * script/lua/ldblib.c: Likewise.
26774 * script/lua/lundump.h: Likewise.
26775 * script/lua/lmem.c: Likewise.
26776 * script/lua/grub_lib.h: Likewise.
26777 * script/lua/lmathlib.c: Likewise.
26778 * script/lua/lstate.c: Likewise.
26779 * script/lua/ltm.c: Likewise.
26780 * script/lua/lvm.c: Likewise.
26781 * script/lua/lmem.h: Likewise.
26782 * script/lua/lstate.h: Likewise.
26783 * script/lua/ltm.h: Likewise.
26784 * script/lua/ltable.c: Likewise.
26785 * script/lua/lvm.h: Likewise.
26786 * script/lua/llex.c: Likewise.
26787 * script/lua/lgc.c: Likewise.
26788 * script/lua/grub_lua.h: Likewise.
26789 * script/lua/loadlib.c: Likewise.
26790 * script/lua/lfunc.c: Likewise.
26791 * script/lua/lopcodes.c: Likewise.
26792 * script/lua/lparser.c: Likewise.
26793 * script/lua/ltable.h: Likewise.
26794 * script/lua/llex.h: Likewise.
26795 * script/lua/lgc.h: Likewise.
26796 * script/lua/lfunc.h: Likewise.
26797 * script/lua/lbaselib.c: Likewise.
26798 * script/lua/lopcodes.h: Likewise.
26799 * script/lua/lparser.h: Likewise.
26800 * script/lua/lzio.c: Likewise.
26801 * script/lua/linit.c: Likewise.
26802 * script/lua/lobject.c: Likewise.
26803 * script/lua/llimits.h: Likewise.
26804 * script/lua/lstring.c: Likewise.
26805 * script/lua/lzio.h: Likewise.
26806 * script/lua/lapi.c: Likewise.
26807 * script/lua/lcode.c: Likewise.
26808 * script/lua/lua.h: Likewise.
26809 * script/lua/lobject.h: Likewise.
26810 * script/lua/lstring.h: Likewise.
26811 * script/lua/lapi.h: Likewise.
26812 * script/lua/lcode.h: Likewise.
26813 * script/lua/luaconf.h: Likewise.
26814
26815 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
26816
26817 * docs/grub.texi (Command-line and menu entry commands): Document
26818 date and echo commands.
26819
26820 2009-09-24 Pavel Roskin <proski@gnu.org>
26821
26822 * include/grub/kernel.h (struct grub_module_header): Remove
26823 `grub_module_header_types'. Make `type' unsigned. Make `size'
26824 32-bit on all platforms.
26825 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
26826 8-bit field. Use grub_host_to_target32() for `size'.
26827 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
26828 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
26829 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
26830
26831 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26832
26833 Fix "lost keypress" bug in at_keyboard.
26834
26835 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
26836 Checks for readyness of input buffer (without flushing it).
26837 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
26838 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
26839
26840 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26841
26842 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
26843 size check within GRUB_MACHINE_PCBIOS section.
26844
26845 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26846
26847 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
26848 return value.
26849 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
26850 KEYBOARD_ISREADY check.
26851 (grub_at_keyboard_checkkey): Rename to ...
26852 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
26853 Remove gratuitous cast.
26854
26855 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
26856
26857 * configure.ac: Call AC_PROG_MKDIR_P.
26858 * Makefile.in (docs/stamp-vti): Create docs directory. Create
26859 version.texi in $(builddir) rather than $(srcdir).
26860 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
26861 to makeinfo's @include search path.
26862
26863 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
26864
26865 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
26866
26867 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
26868
26869 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
26870 for `*.dpkg-new'.
26871
26872 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
26873
26874 Build info documentation. Some code borrowed from Automake.
26875
26876 * configure.ac: Check for makeinfo.
26877 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
26878 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
26879 docs/version.texi.
26880 (MOSTLYCLEANFILES): Add vti.tmp.
26881 (docs/version.texi, docs/stamp-vti): Update automatically.
26882 (docs/grub.info): Build info documentation. Use --force and ignore
26883 errors for now.
26884 (all-local): Add $(INFOS).
26885 (install-local): Install info files.
26886 (uninstall): Uninstall info files.
26887 * docs/version.texi: Remove from revision control. This file is
26888 automatically generated on build now.
26889 * gendistlist.sh: Add `*.info'.
26890
26891 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
26892
26893 * kern/term.c: Fix indentation.
26894
26895 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
26896
26897 * util/hostdisk.c: Fix a comment.
26898
26899 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
26900
26901 Fix regression introduced in r2539.
26902
26903 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
26904 to 0xA1.
26905
26906 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
26907
26908 * util/grub.d/30_os-prober.in: Don't throw away stderr from
26909 os-prober. Under normal operation, it does not print anything to
26910 stderr; if it does, we need to debug it, and throwing away stderr
26911 makes that excessively difficult.
26912
26913 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
26914
26915 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
26916
26917 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
26918
26919 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
26920 AC_LANG_PROGRAM from autoconf.
26921 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
26922 prototypes (fixes warning).
26923
26924 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
26925 `--disable-werror' was used.
26926
26927 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
26928
26929 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
26930 uninitialized `lastaddr'.
26931
26932 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
26933
26934 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
26935
26936 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
26937
26938 * commands/test.c (get_fileinfo): Return immediately if
26939 grub_fs_probe fails.
26940
26941 2009-09-14 José Martínez <xosemp@gmail.com>
26942
26943 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
26944
26945 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
26946
26947 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
26948 output.
26949
26950 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
26951
26952 * configure.ac: Remove --enable-grub-pe2elf. Only build
26953 grub-pe2elf when needed by the build system itself.
26954 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
26955
26956 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26957
26958 * configure.ac: Bump version to 1.97~beta3.
26959 * docs/version.texi: Likewise.
26960
26961 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26962
26963 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
26964 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
26965 from here ...
26966 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
26967 (grub_linux_setup_video): ... to here (with some adjustments).
26968
26969 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
26970
26971 Fix memory corruption issue (spotted by Colin Watson).
26972
26973 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
26974 causing returned size to be stored in an incorrect memory location.
26975 Fix use of uninitialized value when storing the returned size.
26976
26977 2009-09-12 Yves Blusseau <blusseau@zetam.org>
26978
26979 Change clean rules to properly remove files
26980
26981 * genmk.rb: add new clean rules
26982 * Makefile.in (clean): add the new targets
26983 (mostlyclean): likewise
26984
26985 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
26986
26987 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
26988 to grub_uint64_t.
26989 * fs/ntfs.c (init_file): Understand 64-bit sizes for
26990 non-resident files.
26991
26992 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
26993
26994 * configure.ac: Don't look for help2man when cross-compiling. Fixes
26995 part of bug #27349.
26996
26997 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
26998
26999 * util/grub-mkconfig.in: Make the created config mode 400 and
27000 print a warning if it fails.
27001
27002 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
27003
27004 * util/grub.d/40_custom.in: Ask user to type custom entries below
27005 comment, rather than below 'exec tail' line.
27006
27007 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
27008
27009 * util/grub.d/40_custom.in: Make sure that the explanatory text is
27010 visible in grub.cfg.
27011
27012 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
27013
27014 * util/grub.d/40_custom.in: Make it a little clearer how to use this
27015 file.
27016
27017 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
27018
27019 * docs/grub.cfg: Add an example menu entry for memtest86+.
27020
27021 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
27022
27023 * config.guess: Update to latest version from config git.
27024 * config.sub: Likewise.
27025
27026 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
27027
27028 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
27029 unknown-command case. Fixes bug #27320.
27030
27031 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
27032
27033 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
27034 `help' if the command exists.
27035
27036 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
27037
27038 * INSTALL: Require GCC 4.1.3 or later.
27039
27040 2009-09-06 Yves Blusseau <blusseau@zetam.org>
27041
27042 * Makefile.in (RMKFILES): add i386-qemu.rmk
27043 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
27044 $(srcdir)/stamp-h.in
27045
27046 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
27047
27048 * util/grub-probe.c (probe): Comment out buggy codepath, which
27049 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
27050 should be re-enabled after 1.97.
27051
27052 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
27053
27054 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
27055 find searches for.
27056
27057 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
27058
27059 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
27060 unnecessary calls to grub_error.
27061
27062 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
27063
27064 * NEWS: Mention `keystatus' and Unicode fonts.
27065
27066 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
27067
27068 * configure.ac: Bump version to 1.97~beta2.
27069 * docs/version.texi: Likewise.
27070
27071 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
27072
27073 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
27074 containing unwind information in some cases where it previously did
27075 not. Use -fno-dwarf2-cfi-asm if available to restore the old
27076 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
27077 discussion.
27078
27079 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
27080
27081 Embedding loadenv module into grub-emu
27082
27083 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
27084 commands/loadenv.c
27085 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
27086 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
27087 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
27088 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
27089 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
27090 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
27091
27092 2009-09-03 Magnus Granberg <zorry@ume.nu>
27093
27094 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
27095 include -fPIE in the default specs.
27096 * configure.ac: Check if pie_possible is yes and add -fno-PIE
27097 to TARGET_CFLAGS.
27098
27099 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
27100
27101 * INSTALL: Note that GNU Bison 2.3 or later is required.
27102
27103 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
27104
27105 * kern/i386/pc/startup.S: Fix typo.
27106
27107 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
27108
27109 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
27110 according to GCS.
27111
27112 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
27113
27114 * docs/grub.texi (Naming convention): Describe one-based partition
27115 numbering.
27116 (Device syntax): Likewise.
27117 (File name syntax): Likewise.
27118 (Block list syntax): Likewise.
27119 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
27120 menu.lst.
27121 (File name syntax): Likewise.
27122 (Command-line and menu entry commands): Document acpi, blocklist,
27123 crc, export, insmod, keystatus, ls, set, and unset commands.
27124
27125 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
27126
27127 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
27128 to avoid implying that only one of --shift, --ctrl, or --alt may be
27129 used.
27130
27131 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
27132
27133 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
27134 rather than comparing against S_IFREG, which will almost never work.
27135
27136 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
27137
27138 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
27139 (write_blocklists): Likewise.
27140
27141 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
27142
27143 * script/lua/grub_lua.h (fputs): Supply a format string as the first
27144 argument to grub_printf.
27145
27146 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
27147
27148 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
27149 non GNU test.
27150
27151 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27152
27153 * kern/file.c (grub_file_read): Spelling fix
27154
27155 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27156
27157 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
27158 loading of headers in some cases.
27159
27160 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
27161
27162 * configure.ac: Bump version to 1.97~beta1.
27163 * docs/version.texi: Likewise.
27164
27165 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
27166
27167 * include/grub/i386/xnu.h: Add license header.
27168 include grub/err.h explicitly.
27169
27170 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27171
27172 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
27173 to `ufs' in the vfs.root.mountfrom kernel parameter.
27174
27175 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27176
27177 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
27178
27179 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
27180 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
27181
27182 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
27183 `ARRAY_SIZE' macro.
27184
27185 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27186
27187 * kern/file.c (grub_file_read): Check offset.
27188 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
27189 * fs/jfs.c (grub_jfs_read_file): Likewise.
27190 * fs/ntfs.c (grub_ntfs_read): Likewise.
27191 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
27192 * fs/minix.c (grub_minix_read_file): Correct offset check.
27193 * fs/ufs.c (grub_ufs_read_file): Likewise.
27194
27195 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
27196
27197 * term/i386/pc/console.c (bios_data_area): Cast
27198 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
27199
27200 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27201
27202 1-bit optimised blitters.
27203
27204 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
27205 prototype.
27206 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27207 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27208 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27209 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27210 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27211 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27212 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
27213 function.
27214 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27215 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27216 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27217 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27218 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27219 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27220 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
27221 when possible.
27222 * video/video.c (grub_video_get_blit_format): Return
27223 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
27224
27225 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
27226
27227 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
27228 the first argument to grub_printf.
27229
27230 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
27231 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
27232
27233 Add `getkeystatus' terminal method. Add a new `keystatus' command
27234 to query it.
27235
27236 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
27237 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
27238 modifier key bitmasks.
27239 (struct grub_term_input): Add `getkeystatus' member.
27240 (grub_getkeystatus): Add prototype.
27241 * kern/term.c (grub_getkeystatus): New function.
27242
27243 * include/grub/i386/pc/memory.h
27244 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
27245 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
27246 Data Area layout.
27247 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
27248 (grub_console_term_input): Set `getkeystatus' member.
27249 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
27250 constants.
27251 (grub_usb_keyboard_getreport): Likewise.
27252 (grub_usb_keyboard_checkkey): Likewise.
27253 (grub_usb_keyboard_getkeystatus): New function.
27254 (grub_usb_keyboard_term): Set `getkeystatus' member.
27255
27256 * commands/keystatus.c: New file.
27257 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
27258 (keystatus_mod_SOURCES): New variable.
27259 (keystatus_mod_CFLAGS): Likewise.
27260 (keystatus_mod_LDFLAGS): Likewise.
27261 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
27262 commands/keystatus.c.
27263 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27264 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27265 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27266 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27267 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27268 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27269
27270 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27271
27272 Split befs.mod and afs.mod into *_be.mod and *.mod
27273
27274 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
27275 (grub_fstest_SOURCES): Likewise.
27276 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
27277 (afs_be_mod_SOURCES): New variable.
27278 (afs_be_mod_CFLAGS): Likewise.
27279 (afs_be_mod_LDFLAGS): Likewise.
27280 (befs_be_mod_SOURCES): Likewise.
27281 (befs_be_mod_CFLAGS): Likewise.
27282 (befs_be_mod_LDFLAGS): Likewise.
27283 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
27284 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27285 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27286 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27287 (grub_emu_SOURCES): Likewise.
27288 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27289 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27290 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27291 * fs/afs_be.c: New file.
27292 * fs/befs_be.c: New file.
27293 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
27294 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
27295 (U16): Replaced with ...
27296 (grub_afs_to_cpu16): ...this. All users updated.
27297 (U32): Replaced with ...
27298 (grub_afs_to_cpu32): ...this. All users updated.
27299 (U64): Replaced with ...
27300 (grub_afs_to_cpu64): ...this. All users updated.
27301 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
27302 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
27303 (grub_afs_validate_sblock): Check only one endianness.
27304 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27305 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27306 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27307 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27308 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27309 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27310 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27311 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27312
27313 2009-08-26 Bean <bean123ch@gmail.com>
27314
27315 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
27316 64-bit number.
27317 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
27318 (grub_xfs_inode_block): Change return type to grub_uint64_t.
27319 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
27320
27321 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27322
27323 NetBSD memory map support.
27324
27325 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
27326 (grub_netbsd_btinfo_mmap_header): New structure.
27327 (grub_netbsd_btinfo_mmap_entry): Likewise.
27328 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
27329
27330 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27331
27332 Enable bsd.mod on coreboot.
27333
27334 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
27335 (bsd_mod_SOURCES): New variable.
27336 (bsd_mod_CFLAGS): Likewise.
27337 (bsd_mod_LDFLAGS): Likewise.
27338 (bsd_mod_ASFLAGS): Likewise.
27339 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
27340 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
27341
27342 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27343
27344 Cleanup NetBSD root support.
27345
27346 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
27347 grub_bsd_get_device.
27348 Fix typo.
27349
27350 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
27351
27352 * util/grub.d/00_header.in: Move check for the video backend of
27353 gfxterm from here ...
27354 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
27355 a suitable video backend.
27356
27357 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27358
27359 Fix breakage in grub-setup.
27360
27361 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
27362 "msdos_partition_map".
27363
27364 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27365
27366 Fix breakage in normal/auth.c.
27367
27368 * normal/auth.c (grub_iswordseparator): New function.
27369
27370 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27371
27372 Authentication support.
27373
27374 * commands/password.c: New file.
27375 * conf/common.rmk (pkglib_MODULES): Add password.mod.
27376 (password_mod_SOURCES): New variable.
27377 (password_mod_CFLAGS): Likewise.
27378 (password_mod_LDFLAGS): Likewise.
27379 (normal_mod_SOURCES): Add normal/auth.c.
27380 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
27381 normal/auth.c.
27382 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27383 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27384 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27385 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27386 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27387 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27388 * include/grub/auth.h: New file.
27389 * include/grub/err.h (grub_err_t): New enum value
27390 GRUB_ERR_ACCESS_DENIED.
27391 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
27392 'users'.
27393 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
27394 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
27395 users updated.
27396 * normal/auth.c: New file.
27397 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
27398 (grub_cmdline_run): Don't allow to go to command line without
27399 authentication.
27400 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
27401 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
27402 menuentry without superuser rights.
27403 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
27404 user isn't a superuser.
27405
27406 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27407
27408 Save space by inlining misc.c functions.
27409
27410 * kern/misc.c (grub_iswordseparator): Made static.
27411 * kern/misc.c (grub_strcat): Moved from here ...
27412 * include/grub/misc.h (grub_strcat): ... here. Inlined.
27413 * kern/misc.c (grub_strncat): Moved from here ...
27414 * include/grub/misc.h (grub_strncat): ... here. Inlined.
27415 * kern/misc.c (grub_strcasecmp): Moved from here ...
27416 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
27417 * kern/misc.c (grub_strncasecmp): Moved from here ...
27418 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
27419 * kern/misc.c (grub_isalpha): Moved from here ...
27420 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
27421 * kern/misc.c (grub_isdigit): Moved from here ...
27422 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
27423 * kern/misc.c (grub_isgraph): Moved from here ...
27424 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
27425 * kern/misc.c (grub_tolower): Moved from here ...
27426 * include/grub/misc.h (grub_tolower): ... here. Inlined.
27427
27428 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27429
27430 * script/sh/function.c (grub_script_function_find): Cut error message
27431 not to flood terminal.
27432 * script/sh/lexer.c (grub_script_yylex): Remove command line length
27433 limit.
27434 * script/sh/script.c (grub_script_arg_add): Duplicate string.
27435
27436 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
27437
27438 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
27439 `report' grub_uint8_t *.
27440 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
27441 Use a 50-millisecond timeout rather than just repeating
27442 grub_usb_keyboard_getreport 50 times.
27443 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
27444
27445 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27446
27447 Rename *_partition_map to part_*
27448
27449 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
27450 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
27451 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
27452 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
27453 All users updated.
27454 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
27455 All users updated.
27456 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
27457 * util/grub-probe.c (probe_partmap): Don't transform partition name
27458 to get module name.
27459
27460 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27461
27462 Fix OpenBSD and NetBSD support.
27463
27464 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
27465 memory address conflict.
27466 (OPENBSD_MMAP_ACPI): New definition.
27467 (OPENBSD_MMAP_NVS): Likewise.
27468 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
27469 and OPENBSD_MMAP_NVS.
27470 Add memory map terminator
27471 Explicit cast when calling grub_unix_real_boot.
27472 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
27473
27474 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27475
27476 Let user specify NetBSD root device.
27477
27478 * loader/i386/bsd.c (netbsd_root): New variable.
27479 (netbsd_opts): New option 'root'.
27480 (NETBSD_ROOT_ARG): New macro.
27481 (grub_netbsd_boot): Use 'netbsd_root'.
27482 (grub_bsd_unload): Free 'netbsd_root'.
27483 (grub_cmd_netbsd): Fill 'netbsd_root'.
27484
27485 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27486
27487 Support for 64-bit NetBSD.
27488
27489 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
27490 point when booting non-FreeBSD.
27491
27492 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27493
27494 Support --no-smp and --no-acpi for NetBSD.
27495
27496 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
27497 (NETBSD_AB_NOACPI): Likewise.
27498 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
27499 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
27500
27501 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27502
27503 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
27504 errors.
27505 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
27506 errors. Call grub_error when needed.
27507
27508 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27509
27510 * commands/search.c (search_fs): Try searching without autoload first.
27511 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
27512 filesystem module explicitly for faster booting.
27513
27514 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
27515
27516 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
27517
27518 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
27519
27520 * util/grub.d/30_os-prober.in: Disable os-prober if
27521 `GRUB_DISABLE_OS_PROBER' was set to true.
27522
27523 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
27524
27525 * partmap/pc.c: Rename to ...
27526 * partmap/msdos.c: ... this. Update all users.
27527 (grub_pc_partition_map): Rename to ...
27528 (grub_msdos_partition_map): ... this. Update all users.
27529
27530 * parttool/pcpart.c: Rename to ...
27531 * parttool/msdospart.c: ... this. Update all users.
27532
27533 * include/grub/pc_partition.h: Rename to ...
27534 * include/grub/msdos_partition.h: ... this. Update all users.
27535 (grub_pc_partition_bsd_entry): Rename to ...
27536 (grub_msdos_partition_bsd_entry): ... this. Update all users.
27537 (grub_pc_partition_disk_label): Rename to ...
27538 (grub_msdos_partition_disk_label): ... this. Update all users.
27539 (grub_pc_partition_entry): Rename to ...
27540 (grub_msdos_partition_entry): ... this. Update all users.
27541 (grub_pc_partition_mbr): Rename to ...
27542 (grub_msdos_partition_mbr): ... this. Update all users.
27543 (grub_pc_partition): Rename to ...
27544 (grub_msdos_partition): ... this. Update all users.
27545 (grub_pc_partition_is_empty): Rename to ...
27546 (grub_msdos_partition_is_empty): ... this. Update all users.
27547 (grub_pc_partition_is_extended): Rename to ...
27548 (grub_msdos_partition_is_extended): ... this. Update all users.
27549 (grub_pc_partition_is_bsd): Rename to ...
27550 (grub_msdos_partition_is_bsd): ... this. Update all users.
27551
27552 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
27553 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
27554 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
27555 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
27556 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
27557 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
27558 (gpt_mod_LDFLAGS): Rename to ...
27559 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
27560 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
27561 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
27562 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
27563 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
27564 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
27565 (part_gpt_mod_LDFLAGS): ... this.
27566 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
27567 `pcpart.mod' to `msdospart.mod'.
27568 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
27569 to ...
27570 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
27571 (msdospart_mod_LDFLAGS): ... this.
27572
27573 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27574
27575 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
27576 (openbsd_opts): Likewise.
27577 (netbsd_opts): Likewise.
27578 (freebsd_flags): Added 0 terminator.
27579 (openbsd_flags): Likewise.
27580 (netbsd_flags): Likewise.
27581 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
27582 (grub_cmd_freebsd): Transformed into extended command.
27583 (grub_cmd_openbsd): Likewise.
27584 (grub_cmd_netbsd): Likewise.
27585 (cmd_freebsd): Changed type to grub_extcmd_t.
27586 (cmd_openbsd): Likewise.
27587 (cmd_netbsd): Likewise.
27588 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
27589 grub_cmd_openbsd as extended commands.
27590 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
27591 cmd_netbsd and cmd_openbsd
27592
27593 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
27594
27595 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
27596
27597 2009-08-21 Pavel Roskin <proski@gnu.org>
27598
27599 * Makefile.in (install-local): When checking if a file is in the
27600 build directory, use "test -e" to detect symlinks.
27601
27602 * Makefile.in (install-local): Remove all files in
27603 $(DESTDIR)$(pkglibdir) before installing new files there.
27604
27605 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
27606
27607 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
27608 grub-mkelfimage.
27609
27610 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
27611
27612 * util/grub-mkconfig.in: Don't use gfxterm by default if not
27613 explicitly specified by the user.
27614
27615 2009-08-18 Pavel Roskin <proski@gnu.org>
27616
27617 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
27618 grub_uint8_t pointer for data.
27619 * include/grub/fbutil.h (struct grub_video_fbblit_info):
27620 Likewise.
27621 * video/fb/fbutil.c: Remove unnecessary casts.
27622
27623 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
27624
27625 VBE cleanup.
27626
27627 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
27628 (grub_vbe_set_video_mode): Save active mode info
27629 only after setting the mode.
27630 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
27631 second argument.
27632
27633 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
27634
27635 Rename variables for clarity.
27636
27637 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
27638 (active_vbe_mode_info): ... this. All users updated.
27639 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
27640 All users updated.
27641 (initial_mode): Rename to ...
27642 (initial_vbe_mode): ... this. All users updated.
27643 (mode_in_use): Rename to ..
27644 (vbe_mode_in_use): ... this. All users updated.
27645 (mode_list): Rename to ..
27646 (vbe_mode_list): ... this. All users updated.
27647 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
27648 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
27649 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
27650 'mode_list_size' to 'vbe_mode_list_size'.
27651 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
27652 'best_mode_info' to 'best_vbe_mode_info' and
27653 'best_mode' to 'best_vbe_mode'
27654
27655 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
27656
27657 Remove duplicate grub_video_fb_get_video_ptr.
27658
27659 * include/grub/fbutil.h (get_data_ptr): Rename to ...
27660 (grub_video_fb_get_video_ptr): ... this.
27661 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
27662 * video/fb/fbutil.c: Add comment about addressing.
27663 (get_data_ptr): Rename to ...
27664 (grub_video_fb_get_video_ptr): ... this. All users updated.
27665 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
27666
27667 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27668
27669 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
27670 grub_dprintf() that was just added.
27671
27672 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27673
27674 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
27675 (DEFAULT_VIDEO_MODE): Remove macros.
27676 (grub_linux_boot): Remove assumption that Linux has FB support,
27677 and use "text" as default video mode.
27678
27679 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
27680
27681 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
27682 grub_dprintf.
27683 * fs/fat.c (grub_fat_read_data): Likewise.
27684
27685 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27686
27687 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
27688 payload.
27689 (grub_module): Likewise.
27690
27691 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27692
27693 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
27694 mbi->cmdline but free playground.
27695
27696 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27697
27698 Handle group offset on UFS1.
27699
27700 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
27701 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
27702
27703 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27704
27705 Split ufs.mod into ufs1.mod and ufs2.mod.
27706
27707 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
27708 (grub_fstest_SOURCES): Likewise.
27709 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
27710 (ufs_mod_SOURCES): Remove.
27711 (ufs_mod_CFLAGS): Likewise.
27712 (ufs_mod_LDFLAGS): Likewise.
27713 (ufs1_mod_SOURCES): New variable.
27714 (ufs1_mod_CFLAGS): Likewise.
27715 (ufs1_mod_LDFLAGS): Likewise.
27716 (ufs2_mod_SOURCES): New variable.
27717 (ufs2_mod_CFLAGS): Likewise.
27718 (ufs2_mod_LDFLAGS): Likewise.
27719 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
27720 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27721 Likewise.
27722 (grub_emu_SOURCES): Likewise.
27723 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27724 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27725 (grub_setup_SOURCES): Likewise.
27726 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27727 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
27728 (grub_setup_SOURCES): Likewise.
27729 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27730 Likewise.
27731 * fs/ufs2.c: New file.
27732 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
27733
27734 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27735
27736 Framebuffer split.
27737
27738 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
27739 subsystem at the end.
27740 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
27741 (video_fb_mod_SOURCES): New variable.
27742 (video_fb_mod_CFLAGS): Likewise.
27743 (video_fb_mod_LDFLAGS): Likewise.
27744 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
27745 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
27746 * video/i386/pc/vbeblit.c: Moved from here ...
27747 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
27748 * video/i386/pc/vbefill.c: Moved from here ...
27749 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
27750 * video/i386/pc/vbeutil.c: Moved from here ...
27751 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
27752 * include/grub/i386/pc/vbeblit.h: Moved from here ...
27753 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
27754 * include/grub/i386/pc/vbefill.h: Moved from here ...
27755 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
27756 * include/grub/i386/pc/vbeutil.h: Moved from here ...
27757 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
27758 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
27759 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
27760 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
27761 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
27762 (grub_video_adapter): Added 'get_info_and_fini'.
27763 (grub_video_get_info_and_fini): New prototype.
27764 (grub_video_set_mode): make modestring const char *.
27765 * loader/i386/linux.c (grub_linux_setup_video): Use
27766 grub_video_get_info_and_fini.
27767 (grub_linux_boot): Move modesetting just before booting.
27768 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
27769 grub_video_get_info_and_fini.
27770 * video/i386/pc/vbe.c: Moved framebuffer part ...
27771 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
27772 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
27773 grub_video_fbstd_colors and grub_video_fb_set_palette.
27774 (grub_video_vbe_init): Clear 'framebuffer' variable and use
27775 grub_video_fb_init.
27776 (grub_video_vbe_fini): Use grub_video_fb_fini.
27777 (grub_video_vbe_setup): Use framebuffer.render_target instead of
27778 render_target and use grub_video_fb_set_active_render_target and
27779 grub_video_fb_set_palette.
27780 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
27781 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
27782 (grub_video_vbe_adapter): Use framebuffer.
27783 * video/video.c (grub_video_get_info_and_fini): New function.
27784 (grub_video_set_mode): Make modestring const char *.
27785 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
27786 values are already initialised.
27787
27788 2009-08-14 Pavel Roskin <proski@gnu.org>
27789
27790 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
27791 ABS and APPLE_CC.
27792 * boot/i386/pc/diskboot.S: Likewise.
27793 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
27794 sectors allow compilation on MacOSX.
27795 * conf/i386-pc.rmk: Enable unconditional compilation of
27796 lnxboot.img.
27797
27798 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
27799
27800 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
27801 * util/grub.d/00_header.in: Enter interruptible sleep if
27802 GRUB_HIDDEN_TIMEOUT is set.
27803
27804 2009-08-13 Yves Blusseau <blusseau@zetam.org>
27805
27806 * include/grub/symbol.h: Add the LOCAL macro.
27807 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
27808 starting with "L_".
27809
27810 2009-08-13 Pavel Roskin <proski@gnu.org>
27811
27812 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
27813 any modern compilers we support.
27814
27815 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
27816 Use local labels starting with "L_" so that Apple assembler
27817 knows they are local.
27818
27819 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
27820
27821 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
27822 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
27823 (bsd_kernel_types): ... this enum.
27824
27825 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
27826 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
27827 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
27828
27829 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
27830 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
27831 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
27832 messages.
27833
27834 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27835
27836 * util/grub-dumpdevtree: Moved from here ...
27837 * util/i386/efi/grub-dumpdevtree: ... to here.
27838 (hexify): New function. Converts a string to its hex version.
27839 Generate hex versions of "efi" and "device-properties" by calling
27840 hexify() on the ASCII strings rather than by hardcoding numbers.
27841
27842 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27843
27844 * fs/jfs.c: Update copyright year.
27845
27846 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
27847
27848 * util/grub.d/00_header.in: Fix a comment.
27849 * util/grub.d/10_linux.in: Likewise.
27850 * util/grub.d/10_windows.in: Likewise.
27851 * util/grub.d/10_hurd.in: Likewise.
27852
27853 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
27854
27855 * util/grub-mkconfig.in: Allow the user to specify the used font
27856 with GRUB_FONT.
27857
27858 2009-08-08 Pavel Roskin <proski@gnu.org>
27859
27860 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
27861 available, xfs.mod needs it now.
27862
27863 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
27864 the "g" modifier in sed when the intention is to strip something
27865 once. This fixes comparison of kernels with multiple dashes.
27866
27867 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
27868 on it. Add missing space before closing bracket. Fix
27869 misleading formatting.
27870
27871 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27872
27873 * docs/grub.texi: Major overhaul. Remove all sections that are
27874 specific to GRUB Legacy, or mostly composed of Legacy-specific
27875 information.
27876
27877 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27878
27879 * docs/version.texi: New file. Provides version information for
27880 grub.texi.
27881
27882 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27883
27884 * docs/grub.texi: Update CVS information to SVN.
27885 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
27886
27887 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
27888
27889 * util/grub-mkconfig.in: Remove a wrong `fi'.
27890
27891 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
27892
27893 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
27894 (grub_jfs_uuid): New function.
27895 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
27896
27897 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
27898
27899 * util/grub-mkconfig_lib.in (font_path): Move the functionality
27900 of it to ...
27901 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
27902 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
27903
27904 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27905
27906 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
27907 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
27908 Update all users.
27909
27910 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
27911 not just "vmlinu[zx]".
27912 Moved from here ...
27913 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
27914 all users.
27915
27916 * util/grub.d/10_linux.in (find_latest): Moved from here ...
27917 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
27918 all users.
27919
27920 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
27921
27922 * util/grub.d/10_freebsd.in: Use an absolute device path for
27923 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
27924
27925 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
27926
27927 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
27928 handling of multiple abstraction modules.
27929
27930 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
27931
27932 Fix a bug resulting in black screen when loading Linux using a
27933 packed video mode.
27934
27935 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
27936 function.
27937
27938 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
27939 (grub_vbe_bios_getset_dac_palette_width): New function.
27940 (grub_vbe_bios_get_dac_palette_width)
27941 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
27942 grub_vbe_bios_getset_dac_palette_width()).
27943
27944 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
27945 check for return status.
27946 (grub_vbe_get_video_mode_info): When getting information for a packed
27947 mode (<= 8 bpp), obtain DAC palette width using
27948 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
27949 {red,green,blue}_mark_size.
27950
27951 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
27952
27953 * commands/search.c (options): Fix help output to match actual code.
27954
27955 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
27956
27957 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
27958 of homegrown code.
27959
27960 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
27961
27962 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
27963 on XFS or ReiserFS.
27964
27965 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
27966
27967 Support Apple partition map with sector size different from 512 bytes.
27968
27969 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
27970 (apple_partition_map_iterate): Respect 'aheader.blocksize'
27971 and 'apart.partmap_size'.
27972
27973 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
27974 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
27975
27976 Fix cpuid command.
27977
27978 * commands/i386/cpuid.c (options): New variable.
27979 (grub_cmd_cpuid): Return real error.
27980 (GRUB_MOD_INIT(cpuid)): Declare options.
27981
27982 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
27983
27984 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
27985 valid.
27986
27987 2009-07-31 Bean <bean123ch@gmail.com>
27988
27989 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
27990 log2_inode.
27991 (grub_fshelp_node): Move inode field to the end.
27992 (grub_xfs_data): Remove inode field.
27993 (grub_xfs_inode_block): Calculate inode size using sblock.
27994 (grub_xfs_inode_offset): Likewise.
27995 (grub_xfs_read_inode): Calculate inode size using sblock.
27996 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
27997 (grub_xfs_iterate_dir): Calculate inode size using sblock.
27998 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
27999 to match inode size.
28000 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
28001 not accessible when data is null.
28002 (grub_xfs_open): Likewise.
28003
28004 2009-07-31 Bean <bean123ch@gmail.com>
28005
28006 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
28007 Don't change pv->disk if it's already set.
28008
28009 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
28010 (grub_raid_register): ... here.
28011 (grub_raid_rescan): Removed.
28012
28013 * include/grub/raid.h (grub_raid_rescan): Removed.
28014
28015 * util/grub-fstest.c: Remove include file <grub/raid.h>.
28016 (fstest): Replace grub_raid_rescan with module fini function followed
28017 by init function.
28018
28019 * util/grub-probe.c: Add include file <grub/raid.h>.
28020 (probe_raid_level): New function.
28021 (probe): Detect abstraction by walking the disk device, support two
28022 level of abstraction (LVM on RAID) when detecting partition map.
28023
28024 2009-07-31 Pavel Roskin <proski@gnu.org>
28025
28026 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
28027 to grub_zalloc(), it was erroneous.
28028 Reported by Bean <bean123ch@gmail.com>
28029
28030 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
28031
28032 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
28033 embedding zone, not only the first one.
28034
28035 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
28036
28037 * term/gfxterm.c (clear_char): New function.
28038 (grub_virtual_screen_setup): Use clear_char.
28039 (scroll_up): Likewise.
28040 (grub_virtual_screen_cls): Likewise.
28041
28042 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
28043
28044 * util/deviceiter.c (get_acceleraid_disk_name): New static
28045 function.
28046 (grub_util_iterate_devices): Handle Accelraid devices.
28047 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
28048
28049 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
28050
28051 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
28052 separator for the suggested gfxpayload string (';' collides with the
28053 parser and needs escaping).
28054
28055 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
28056
28057 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
28058 Clear direction flag before jumping to OS.
28059 (grub_multiboot2_real_boot): Likewise.
28060
28061 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
28062
28063 * util/i386/pc/grub-install: Fix parsing of --disk-module
28064 option.
28065
28066 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
28067
28068 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
28069 when embedding.
28070
28071 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
28072
28073 * util/grub-mkconfig.in (package_version): New variable.
28074 Use it do display the version.
28075
28076 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
28077
28078 * kern/file.c (grub_file_open): Revert to previous check with
28079 grub_errno.
28080
28081 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28082
28083 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
28084 from help line. It's out of sync with code.
28085
28086 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28087
28088 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
28089 entries on failed boot.
28090
28091 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
28092
28093 * kern/file.c (grub_file_open): Fix an error check.
28094
28095 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
28096
28097 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
28098 partition map couldn't be identified.
28099
28100 2009-07-23 Pavel Roskin <proski@gnu.org>
28101
28102 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
28103 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
28104 case of little endian words becomes just an optimization.
28105 Respect const modifier.
28106 (md5_final): Use code that doesn't depend on endianness.
28107
28108 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
28109 to avoid loss of upper bits if align is unsigned and shorter
28110 than addr.
28111
28112 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28113
28114 UUID support for UFS
28115
28116 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
28117 (grub_ufs_uuid): New function.
28118 (grub_ufs_fs): add .uuid
28119
28120 2009-07-21 Pavel Roskin <proski@gnu.org>
28121
28122 * kern/dl.c (grub_dl_check_header): Make static.
28123
28124 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
28125
28126 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
28127 add drivemap for Vista. It breaks Windows 7.
28128
28129 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28130
28131 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
28132 128 bytes
28133
28134 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28135
28136 Add BFS support
28137
28138 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
28139 (grub_fstest_SOURCES): Likewise.
28140 (pkglib_MODULES): Add befs.mod.
28141 (befs_mod_SOURCES): New variable.
28142 (befs_mod_CFLAGS): Likewise.
28143 (befs_mod_LDFLAGS): Likewise.
28144 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28145 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28146 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28147 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28148 (grub_setup_SOURCES): Likewise.
28149 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28150 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28151 (grub_setup_SOURCES): Likewise.
28152 * fs/befs.c: New file.
28153 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
28154 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
28155 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
28156 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
28157 (B_KEY_INDEX_ALIGN): New declaration.
28158 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
28159 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
28160 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
28161 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
28162 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
28163 (grub_afs_mount) [MODE_BFS]: Likewise.
28164 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
28165 (grub_afs_fs): Use GRUB_AFS_FSNAME
28166 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
28167 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
28168 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
28169 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
28170
28171 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
28172
28173 * util/getroot.c (find_root_device): Add support for MacOSX.
28174 * util/hostdisk.c: Likewise.
28175
28176 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28177
28178 * font/font.c (find_glyph): Check whether a font is present to avoid
28179 segmentation fault.
28180
28181 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
28182
28183 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
28184
28185 2009-07-20 Pavel Roskin <proski@gnu.org>
28186
28187 * configure.ac: Trim excessively wordy excuses.
28188
28189 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28190
28191 Add symlink, mtime and label support to AtheFS.
28192
28193 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
28194 (grub_afs_iterate_dir): Handle symlinks.
28195 (grub_afs_open): Use grub_afs_read_symlink.
28196 (grub_afs_dir): Likewise.
28197 Pass mtime.
28198 (grub_afs_label): New function.
28199 (grub_afs_fs): Add grub_afs_label.
28200 (grub_afs_read_symlink): New function.
28201
28202 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28203
28204 Fix AtheFS support.
28205
28206 * fs/afs.c: Fix comments style.
28207 (grub_afs_blockrun): Declare as packed.
28208 (grub_afs_datastream): Likewise.
28209 (grub_afs_bnode): Likewise.
28210 (grub_afs_btree): Likewise.
28211 (grub_afs_sblock): Likewise.
28212 Declare `name' as char.
28213 (grub_afs_inode): Declare as packed.
28214 Change void *vnode to grub_uint32_t unused.
28215 (grub_afs_iterate_dir): Check that key_size is positive.
28216 (grub_afs_mount): Don't read superblock twice.
28217 (grub_afs_dir): Don't free node in case of error,
28218 grub_fshelp_find_file already handles this.
28219 (grub_afs_open): Likewise.
28220
28221 2009-07-19 Pavel Roskin <proski@gnu.org>
28222
28223 * Makefile.in: Remove LIBLZO and enable_lzo.
28224 * conf/i386-pc.rmk: Remove lzo support.
28225 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
28226 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
28227 support.
28228 * kern/i386/pc/lzo1x.S: Remove.
28229 * kern/i386/pc/startup.S: Remove lzo support.
28230 * util/i386/pc/grub-mkimage.c: Likewise.
28231
28232 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
28233
28234 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
28235 * fs/xfs.c (grub_xfs_dir): Likewise.
28236 * fs/afs.c (grub_afs_dir): Likewise.
28237 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
28238 (grub_iso9660_open): Likewise.
28239 * fs/jfs.c (grub_jfs_open): Likewise.
28240 * fs/ext2.c (grub_ext2_dir): Likewise.
28241 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
28242 * script/sh/lexer.c (grub_script_yylex): Likewise.
28243
28244 2009-07-16 Pavel Roskin <proski@gnu.org>
28245
28246 * configure.ac: Never add "-c" to CFLAGS.
28247
28248 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
28249
28250 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
28251 grub_cv_cc_efiemu should be used.
28252
28253 * configure.ac: Typo fixes.
28254
28255 * kern/mm.c (grub_zalloc): New function.
28256 (grub_debug_zalloc): Likewise.
28257 * include/grub/mm.h: Declare grub_zalloc() and
28258 grub_debug_zalloc().
28259 * util/misc.c (grub_zalloc): New function.
28260 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
28261 instead of grub_malloc(), remove unneeded initializations.
28262 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
28263 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
28264 * commands/parttool.c (grub_cmd_parttool): Likewise.
28265 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
28266 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
28267 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
28268 * disk/usbms.c (grub_usbms_finddevs): Likewise.
28269 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
28270 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
28271 (grub_cmd_efiemu_pnvram): Likewise.
28272 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
28273 * fs/iso9660.c (grub_iso9660_mount): Likewise.
28274 (grub_iso9660_iterate_dir): Likewise.
28275 * fs/jfs.c (grub_jfs_opendir): Likewise.
28276 * fs/ntfs.c (list_file): Likewise.
28277 (grub_ntfs_mount): Likewise.
28278 * kern/disk.c (grub_disk_open): Likewise.
28279 * kern/dl.c (grub_dl_load_core): Likewise.
28280 * kern/elf.c (grub_elf_file): Likewise.
28281 * kern/env.c (grub_env_context_open): Likewise.
28282 (grub_env_set): Likewise.
28283 (grub_env_set_data_slot): Likewise.
28284 * kern/file.c (grub_file_open): Likewise.
28285 * kern/fs.c (grub_fs_blocklist_open): Likewise.
28286 * loader/i386/multiboot.c (grub_module): Likewise.
28287 * loader/xnu.c (grub_xnu_create_key): Likewise.
28288 (grub_xnu_create_value): Likewise.
28289 * normal/main.c (grub_normal_add_menu_entry): Likewise.
28290 (read_config_file): Likewise.
28291 * normal/menu_entry.c (make_screen): Likewise.
28292 * partmap/sun.c (sun_partition_map_iterate): Likewise.
28293 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
28294 * script/sh/script.c (grub_script_parse): Likewise.
28295 * video/bitmap.c (grub_video_bitmap_create): Likewise.
28296 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
28297 * video/readers/png.c (grub_png_output_byte): Likewise.
28298 (grub_video_reader_png): Likewise.
28299
28300 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28301
28302 Enable all targets that can be built by default
28303
28304 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
28305 grub-mkfont and grub-fstest if they can be built
28306
28307 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28308
28309 Fix hang and segmentation fault in grub-emu-usb
28310
28311 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
28312 * util/usb.c (grub_libusb_devices): likewise
28313 (grub_libusb_init): rename to ...
28314 (GRUB_MOD_INIT (libusb)):...this
28315 (grub_libusb_fini): rename to ..
28316 (GRUB_MOD_FINI (libusb)):...this
28317 * disk/usbms.c (grub_usbms_transfer): fix retry logic
28318 * include/grub/disk.h (grub_raid_init): removed, it's useless
28319 (grub_raid_fini): likewise
28320 (grub_lvm_init): likewise
28321 (grub_lvm_fini): likewise
28322 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
28323 by grub_init_all
28324
28325 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28326
28327 Fix libusb
28328
28329 * Makefile.in (LIBUSB): new macro
28330 * genmk.rb (Utility/print_tail): new method
28331 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
28332 (top level): call util.print_tail at the end.
28333
28334 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28335
28336 Make FreeBSD accept zpool.cache
28337
28338 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
28339 type is /boot/zfs/zpool.cache
28340
28341 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28342
28343 Fix 64-bit efiemu
28344
28345 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
28346 correct wrong typedef
28347 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
28348
28349 2009-07-15 Pavel Roskin <proski@gnu.org>
28350
28351 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
28352 * kern/disk.c (struct grub_disk_cache): Likewise.
28353
28354 * commands/probe.c (options): Typo fix.
28355
28356 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
28357 Increase to 0x5a to accommodate FAT32. Adjust other offsets
28358 accordingly.
28359 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
28360
28361 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
28362 the end of "Error" to make the message more readable.
28363
28364 * boot/i386/pc/boot.S (kernel_segment): Remove.
28365 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
28366 for destination.
28367
28368 * boot/i386/pc/boot.S (boot_version): Remove.
28369 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
28370 Remove.
28371
28372 * include/grub/i386/pc/boot.h: Sort all offsets.
28373 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
28374 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
28375 * boot/i386/pc/boot.S: Assert location of every offset listed in
28376 include/grub/i386/pc/boot.h.
28377
28378 2009-07-13 Pavel Roskin <proski@gnu.org>
28379
28380 * include/grub/i386/coreboot/machine.h: Rename
28381 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
28382 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
28383 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
28384
28385 * kern/dl.c: Force native word size to suppress warnings when
28386 compiling grub-emu.
28387
28388 * kern/device.c (grub_device_iterate): Change struct part_ent to
28389 hold the name, not a pointer to it. Use one grub_malloc() per
28390 partition, not two. Free partition_name if grub_malloc() fails.
28391 Set ents to NULL only before grub_partition_iterate() is called.
28392
28393 2009-07-11 Bean <bean123ch@gmail.com>
28394
28395 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
28396 childname.
28397
28398 2009-07-10 Bean <bean123ch@gmail.com>
28399 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
28400
28401 * kern/ieee1275/openfw.c (grub_children_iterate)
28402 (grub_devalias_iterate): Fix size evaluation for property or path
28403 strings, which was broken since r2132.
28404
28405 2009-07-07 Pavel Roskin <proski@gnu.org>
28406
28407 * commands/search.c (search_file): Merge into ...
28408 (search_fs): ... this. Accept search type as argument.
28409 (grub_cmd_search): Pass search type to search_fs().
28410
28411 * include/grub/util/console.h: New file.
28412 * util/console.c: Use it instead of grub/machine/console.h.
28413 * util/grub-emu.c: Likewise.
28414
28415 * lib/arg.c (find_long_option): Remove.
28416 (find_long): Add `len' argument, make `s' const char *.
28417 (grub_arg_parse): Parse long options in place, not in a
28418 temporary buffer.
28419
28420 2009-07-06 Pavel Roskin <proski@gnu.org>
28421
28422 * commands/search.c (search_fs): Fix potential NULL pointer
28423 dereference.
28424
28425 * commands/search.c (search_fs): Replace QUID macro with quid_fn
28426 function pointer.
28427
28428 2009-07-06 Daniel Mierswa <impulze@impulze.org>
28429
28430 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
28431 comparison.
28432
28433 2009-07-05 Pavel Roskin <proski@gnu.org>
28434
28435 * include/grub/i386/linux.h (struct linux_kernel_params):
28436 Restore padding3, it's still needed.
28437
28438 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
28439 FreeBSD.
28440 * util/osdetect.lua: Likewise.
28441
28442 2009-07-05 Bean <bean123ch@gmail.com>
28443
28444 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
28445
28446 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
28447 (grub_lua_getenv): Likewise.
28448 (grub_lua_setenv): Likewise.
28449 (save_errno): New function.
28450 (push_result): Likewise.
28451 (grub_lua_enum_device): Likewise.
28452 (grub_lua_enum_file): Likewise.
28453 (grub_lua_file_open): Likewise.
28454 (grub_lua_file_close): Likewise.
28455 (grub_lua_file_seek): Likewise.
28456 (grub_lua_file_read): Likewise.
28457 (grub_lua_file_getline): Likewise.
28458 (grub_lua_file_getsize): Likewise.
28459 (grub_lua_file_getpos): Likewise.
28460 (grub_lua_file_eof): Likewise.
28461 (grub_lua_file_exist): Likewise.
28462 (grub_lua_add_menu): Likewise.
28463
28464 * script/lua/grub_lua.h (isupper): New inline function.
28465 (islower): Likewise.
28466 (ispunct): Likewise.
28467 (isxdigit): Likewise.
28468 (strcspn): Change to normal function.
28469 (strpbkr): New function declaration.
28470 (memchr): Likewise.
28471
28472 * script/lua/grub_main.c (scan_str): New function.
28473 (strcspn): Likewise.
28474 (strpbrk): Likewise.
28475 (memchr): Likewise.
28476
28477 * script/lua/linit.c (lualibs): Enable the string library.
28478
28479 * util/osdetect.lua: New file.
28480
28481 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
28482
28483 * include/grub/i386/linux.h (struct linux_kernel_params): Add
28484 `capabilities' member.
28485
28486 2009-07-02 Pavel Roskin <proski@gnu.org>
28487
28488 * genparttoollist.sh: Add missing newline at the end.
28489
28490 2009-07-01 Pavel Roskin <proski@gnu.org>
28491
28492 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
28493
28494 * util/hostdisk.c (open_device): Remove `const' from
28495 `sysctl_size', as sysctlbyname() can change it (in this case it
28496 doesn't actually happen).
28497
28498 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
28499 using signed long int constants.
28500
28501 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
28502 constant to avoid a warning on FreeBSD.
28503
28504 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
28505 where it's needed.
28506
28507 * Makefile.in: Install include/grub/machine symlink.
28508
28509 * Makefile.in: When installing symlinks, use "cp -fR", which
28510 works on FreeBSD and MacOSX.
28511 From Yves Blusseau <cl7m42e02@sneakemail.com>
28512
28513 * kern/dl.c (grub_dl_resolve_symbol): Make static.
28514 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
28515
28516 * util/misc.c: Move grub_reboot() and grub_halt() ...
28517 * util/grub-emu.c: ... here. Make main_env static.
28518 * include/grub/util/misc.h: Remove main_env.
28519
28520 * kern/mm.c: Use correct format to print size_t.
28521
28522 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
28523 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
28524 * kern/powerpc/dl.c: Likewise.
28525 * kern/sparc64/dl.c: Likewise.
28526 * kern/x86_64/dl.c: Likewise.
28527
28528 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28529
28530 Fix grub-emu build on sparc64-ieee1275.
28531
28532 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
28533 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
28534
28535 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28536
28537 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
28538 (grub_reboot, grub_halt): New functions.
28539
28540 * util/i386/pc/misc.c: Delete. Update all users.
28541 * util/sparc64/ieee1275/misc.c: Likewise.
28542 * util/powerpc/ieee1275/misc.c: Likewise.
28543
28544 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28545
28546 * conf/i386.rmk (setjmp_mod_SOURCES)
28547 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
28548 * conf/common.rmk (setjmp_mod_SOURCES)
28549 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
28550 to use $(target_cpu).
28551 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
28552 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
28553 * conf/powerpc-ieee1275.rmk: Likewise.
28554 * conf/sparc64-ieee1275.rmk: Likewise.
28555
28556 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
28557 $(target_cpu) for kern/$(target_cpu)/dl.c.
28558 * conf/i386-efi.rmk: Likewise.
28559 * conf/i386-ieee1275.rmk: Likewise.
28560 * conf/x86_64-efi.rmk: Likewise.
28561 * conf/i386-coreboot.rmk: Likewise.
28562 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
28563 $(target_cpu) for kern/$(target_cpu)/dl.c and for
28564 kern/$(target_cpu)/cache.S.
28565 * conf/sparc64-ieee1275.rmk: Likewise.
28566
28567 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28568
28569 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
28570 type to `grub_uint8_t', and adjust `padding9' accordingly.
28571
28572 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28573
28574 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
28575
28576 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
28577 assembly in final jump, using register constraints.
28578
28579 (grub_linux_boot): For text mode, initialize `have_vga' using
28580 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
28581
28582 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
28583 right before the final jump.
28584
28585 Set `video_mode' to 0x3.
28586
28587 Document initialization of `video_page', `video_mode' and
28588 `video_ega_bx'.
28589
28590 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28591
28592 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
28593 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
28594 and set GRUB_LINUX_FLAG_QUIET appropriately.
28595
28596 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28597
28598 Fix build on Debian / sparc.
28599
28600 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
28601
28602 2009-06-28 Pavel Roskin <proski@gnu.org>
28603
28604 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
28605 fix a warning.
28606
28607 * util/grub.d/10_linux.in: Match SUSE style initrd names.
28608
28609 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28610
28611 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
28612 `err'.
28613
28614 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28615
28616 Revert r2338.
28617
28618 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
28619 file can't be opened. grub_file_open() is already supposed to set
28620 grub_errno / grub_errmsg appropriately.
28621 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28622
28623 2009-06-27 Pavel Roskin <proski@gnu.org>
28624 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28625
28626 * include/grub/dl.h: Include grub/elf.h.
28627 (struct grub_dl): Add symtab field.
28628 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
28629 GRUB_MODULES_MACHINE_READONLY.
28630 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
28631 of the header for read-only modules.
28632 (grub_dl_unload): Free mod->symtab for read-only modules.
28633 * kern/i386/dl.c: Use mod->symtab.
28634 * kern/powerpc/dl.c: Likewise.
28635 * kern/sparc64/dl.c: Likewise.
28636 * kern/x86_64/dl.c: Likewise.
28637
28638 * conf/i386-qemu.rmk: New file.
28639 * kern/i386/qemu/startup.S: Likewise.
28640 * kern/i386/qemu/mmap.c: Likewise.
28641 * boot/i386/qemu/boot.S: Likewise.
28642 * include/grub/i386/qemu/time.h: Likewise.
28643 * include/grub/i386/qemu/serial.h: Likewise.
28644 * include/grub/i386/qemu/kernel.h: Likewise.
28645 * include/grub/i386/qemu/console.h: Likewise.
28646 * include/grub/i386/qemu/boot.h: Likewise.
28647 * include/grub/i386/qemu/init.h: Likewise.
28648 * include/grub/i386/qemu/machine.h: Likewise.
28649 * include/grub/i386/qemu/loader.h: Likewise.
28650 * include/grub/i386/qemu/memory.h: Likewise.
28651
28652 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
28653 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
28654 [qemu] (pkglib_IMAGES): Add `boot.img'.
28655 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
28656 [qemu] (boot_img_FORMAT): New variables.
28657 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
28658 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
28659 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
28660 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28661 [qemu] (kernel_img_FORMAT): New variables.
28662
28663 * configure.ac: Recognise `i386-qemu'.
28664
28665 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
28666 (for no compression).
28667 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
28668 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
28669 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
28670 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
28671 ifdefs).
28672
28673 2009-06-27 Pavel Roskin <proski@gnu.org>
28674
28675 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
28676 read.
28677 * efiemu/prepare32.c: Likewise.
28678 * efiemu/prepare64.c: Likewise.
28679
28680 2009-06-26 Pavel Roskin <proski@gnu.org>
28681
28682 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
28683 * include/grub/elf.h: Define symbols without "32" or "64" based
28684 on GRUB_TARGET_WORDSIZE.
28685 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
28686 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
28687 ELF definitions.
28688 * efiemu/loadcore64.c: Likewise.
28689 * loader/i386/bsd32.c: Likewise.
28690 * loader/i386/bsd64.c: Likewise.
28691 * kern/dl.c: Remove own ELF definitions.
28692 * util/i386/efi/grub-mkimage.c: Likewise.
28693
28694 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
28695
28696 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
28697 segment 0x0 unconditionally, because the reference generated by
28698 GAS is an absolute address.
28699
28700 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28701
28702 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
28703 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
28704
28705 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28706
28707 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
28708 indexes. Check for -f explicitly.
28709 (search_file): Improve error message.
28710 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
28711
28712 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28713
28714 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
28715 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
28716
28717 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28718
28719 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
28720 * conf/i386-ieee1275.rmk: Likewise.
28721 * conf/i386-coreboot.rmk: Likewise.
28722
28723 * kern/i386/pc/startup.S (grub_stop): Remove function.
28724 * kern/i386/ieee1275/startup.S: Likewise.
28725 * kern/i386/coreboot/startup.S: Likewise.
28726 * kern/i386/misc.S (grub_stop): New function.
28727
28728 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28729
28730 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
28731 * kern/i386/realmode.S (real_to_prot): ... to here.
28732
28733 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28734
28735 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
28736 with `kernel.img'.
28737 (kernel_elf_SOURCES): Rename to ...
28738 (kernel_img_SOURCES): ... this.
28739 (kernel_elf_HEADERS): Rename to ...
28740 (kernel_img_HEADERS): ... this. Update all users.
28741 (kernel_elf_ASFLAGS): Rename to ...
28742 (kernel_img_ASFLAGS): ... this.
28743 (kernel_elf_CFLAGS): Rename to ...
28744 (kernel_img_CFLAGS): ... this.
28745 (kernel_elf_LDFLAGS): Rename to ...
28746 (kernel_img_LDFLAGS): ... this.
28747 * conf/i386-coreboot.rmk: Likewise.
28748 * conf/powerpc-ieee1275.rmk: Likewise.
28749
28750 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
28751 with "kernel.img".
28752
28753 2009-06-21 Pavel Roskin <proski@gnu.org>
28754
28755 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
28756 to match nested functions.
28757 * loader/sparc64/ieee1275/linux.c: Likewise.
28758
28759 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
28760
28761 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28762
28763 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
28764 all i386 platforms.
28765
28766 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28767
28768 Fix asm file handling on ELF, and remove workarounds.
28769
28770 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
28771 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
28772 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
28773 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
28774
28775 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
28776
28777 Load BSD ELF modules
28778
28779 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
28780 and loader/i386/bsd64.c
28781 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
28782 (FREEBSD_MODTYPE_ELF_MODULE): New definition
28783 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
28784 (grub_freebsd_load_elfmodule32): New declaration
28785 (grub_freebsd_load_elfmoduleobj64): Likewise
28786 (grub_freebsd_load_elf_meta32): Likewise
28787 (grub_freebsd_load_elf_meta64): Likewise
28788 (grub_freebsd_add_meta): Likewise
28789 (grub_freebsd_add_meta_module): Likewise
28790 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
28791 (grub_freebsd_add_meta_module): Likewise and move module-specific
28792 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
28793 (grub_cmd_freebsd): Add elf-kernel specific parts
28794 based on grub_freebsd_add_meta_module
28795 (grub_cmd_freebsd_module): Add type parsing moved from
28796 grub_freebsd_add_meta_module
28797 (grub_cmd_freebsd_module_elf): New function
28798 (cmd_freebsd_module_elf): New variable
28799 (GRUB_MOD_INIT): Register freebsd_module_elf
28800 * loader/i386/bsd32.c: New file
28801 * loader/i386/bsd64.c: Likewise
28802 * loader/i386/bsdXX.c: Likewise
28803 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
28804 (grub_elf64_load): Likewise
28805 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
28806 All users updated
28807 (grub_elf64_load_hook_t): Likewise
28808
28809 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
28810
28811 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
28812 variable.
28813 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
28814 don't write a menu entry for recovery mode.
28815
28816 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28817
28818 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
28819 after it's no longer needed.
28820
28821 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28822
28823 * include/grub/i386/loader.h (grub_linux_prot_size)
28824 (grub_linux_tmp_addr, grub_linux_real_addr)
28825 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
28826 GRUB_MACHINE_PCBIOS.
28827 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
28828 common grub_util_info() call to ...
28829 (generate_image): ... here.
28830 Fix use of uninitialized memory, comparison of signed with
28831 unsigned integers and memory leak.
28832 Remove bogus module address message.
28833
28834 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
28835
28836 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
28837 grub_raid_register
28838 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
28839
28840 2009-06-19 Pavel Roskin <proski@gnu.org>
28841
28842 * configure.ac: Remove stray AC_MSG_CHECKING.
28843
28844 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
28845
28846 * disk/scsi.c (grub_scsi_open): use continue instead of big if
28847
28848 2009-06-18 Pavel Roskin <proski@gnu.org>
28849
28850 * conf/common.rmk: Add fs_file.mod.
28851 * disk/fs_file.c: New file.
28852 * include/grub/disk.h (enum grub_disk_dev_id): Add
28853 GRUB_DISK_DEVICE_FILE_ID.
28854
28855 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28856
28857 Fix build with Apple's toolchain. Part 2
28858
28859 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
28860 a fake start
28861
28862 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28863
28864 Fix build with Apple's toolchain. Part 1
28865
28866 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
28867 for long calls
28868 * configure.ac: remove a leftover AC_MSG_RESULT
28869 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
28870 Apple's toolchain
28871
28872 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
28873
28874 Fix warnings
28875
28876 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
28877 (decomp_block): initialize ch
28878 use grub_memcpy instead of memcpy
28879
28880 2009-06-17 Pavel Roskin <proski@gnu.org>
28881
28882 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
28883 version, use declarations needed to use vga_text as the startup
28884 console.
28885
28886 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
28887 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
28888 the kernel.
28889 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
28890 and grub_at_keyboard_fini(), it's done on module load and
28891 unload.
28892
28893 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
28894
28895 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
28896 file can't be found.
28897 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28898
28899 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
28900
28901 Fix newline handling
28902
28903 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
28904 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
28905 (grub_script_yylex): don't segfault on unterminated script
28906 newline terminates command and variable
28907
28908 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
28909
28910 avoid double grub_adjust_range call. Bug reported by David Simner
28911
28912 * kern/disk.c (grub_disk_write): change to raw disk access before
28913 calling disk_read
28914
28915 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
28916
28917 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
28918 spaces, for the benefit of help2man.
28919 * util/i386/efi/grub-mkimage.c (usage): Likewise.
28920
28921 2009-06-16 Pavel Roskin <proski@gnu.org>
28922
28923 * kern/i386/halt.c: Include grub/machine/init.h.
28924 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
28925
28926 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
28927
28928 * util/grub.d/30_os-prober.in: Use ${root} in the generated
28929 drivemap menuentry.
28930
28931 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
28932
28933 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
28934 `echo' command.
28935
28936 2009-06-16 Pavel Roskin <proski@gnu.org>
28937
28938 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
28939 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
28940 save %dx, we only need %dl and we never change it.
28941 * boot/i386/pc/cdboot.S: Don't set the root drive.
28942 * boot/i386/pc/pxeboot.S: Likewise.
28943 * include/grub/i386/pc/boot.h: Remove
28944 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
28945 GRUB_BOOT_MACHINE_DRIVE_CHECK.
28946 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
28947 * kern/i386/pc/init.c (make_install_device): Remove references
28948 to grub_root_drive.
28949 * kern/i386/pc/startup.S: Likewise.
28950 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
28951
28952 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
28953
28954 xnu_uuid command
28955
28956 * commands/xnu_uuid.c: new file
28957 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
28958 (xnu_uuid_mod_SOURCES): new variable
28959 (xnu_uuid_mod_CFLAGS): likewise
28960 (xnu_uuid_mod_LDFLAGS): likewise
28961 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
28962 * conf/i386-ieee1275.rmk: likewise
28963 * conf/i386-pc.rmk: likewise
28964 * conf/powerpc-ieee1275.rmk: likewise
28965 * conf/sparc64-ieee1275.rmk: likewise
28966 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
28967
28968 2009-06-16 Pavel Roskin <proski@gnu.org>
28969
28970 * configure.ac: Avoid '==' in test command, it's not portable.
28971
28972 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
28973
28974 Probe command
28975
28976 * commands/probe.c: new file
28977 * conf/common.rmk (pkglib_MODULES): add probe.mod
28978 (probe_mod_SOURCES): new variable
28979 (probe_mod_CFLAGS): likewise
28980 (probe_mod_LDFLAGS): likewise
28981 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
28982 * conf/i386-ieee1275.rmk: likewise
28983 * conf/i386-pc.rmk: likewise
28984 * conf/powerpc-ieee1275.rmk: likewise
28985 * conf/sparc64-ieee1275.rmk: likewise
28986
28987 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
28988
28989 Fix handling of string like \"hello\" and "a
28990 b"
28991
28992 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
28993 (grub_script_yylex): fix parsing of quoting, escaping and newline
28994
28995 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
28996
28997 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
28998 handling
28999
29000 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
29001
29002 * util/grub-mkconfig.in: Fix parsing of --output option.
29003
29004 2009-06-12 Pavel Roskin <proski@gnu.org>
29005
29006 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
29007 genmk.rb don't need to be generated or installed.
29008
29009 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
29010
29011 * commands/i386/pc/drivemap_int13h.S: add more comments
29012
29013 2009-06-11 Pavel Roskin <proski@gnu.org>
29014
29015 * Makefile.in (uninstall): Uninstall manuals.
29016
29017 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
29018 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
29019 and update-grub_lib in two places.
29020 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
29021
29022 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
29023 a compiler warning.
29024
29025 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
29026 `entry_lo' to fix variable shadowing.
29027
29028 2009-06-11 Christian Franke <franke@computer.org>
29029
29030 * kern/misc.c (__enable_execute_stack): Add missing return type
29031 to prevent gcc warning.
29032
29033 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
29034
29035 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
29036
29037 2009-06-11 Pavel Roskin <proski@gnu.org>
29038
29039 * Makefile.in: Don't rely on any scripts being executable.
29040 Always use $(SHELL) to run shell scripts.
29041
29042 * configure.ac: Always define ___main if using -nostdlib. This
29043 fixes tests on Cygwin.
29044
29045 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
29046
29047 UDF fix
29048
29049 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
29050 is in bytes and not in blocks
29051
29052 2009-06-11 Pavel Roskin <proski@gnu.org>
29053
29054 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
29055 warning.
29056
29057 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
29058
29059 * util/grub.d/30_os-prober.in: Fix a comment. Source
29060 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
29061 to set the root device. Place drivemap command in the generated
29062 chain entry.
29063
29064 2009-06-11 Pavel Roskin <proski@gnu.org>
29065
29066 * configure.ac: Remove host_m32. Issues with 64-bit utilities
29067 have long been resolved.
29068
29069 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
29070
29071 * util/grub.d/10_linux.in: Capitalise "Linux".
29072
29073 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
29074
29075 2009-06-11 Pavel Roskin <proski@gnu.org>
29076
29077 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
29078 fix a gcc warning and ensure that the function won't ever exit.
29079
29080 * kern/i386/ieee1275/init.c: Add missing prototype for
29081 grub_stop_floppy().
29082
29083 * loader/ieee1275/multiboot2.c [__i386__]: Include
29084 grub/cpu/multiboot.h.
29085
29086 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
29087 casts to short - they are not portable and cause warnings. Fix
29088 use of uninitialized values in input_buf. Use ARRAY_SIZE.
29089
29090 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
29091
29092 Drivemap fixes
29093
29094 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
29095 new function
29096 (grub_get_root_biosnumber_saved): new variable
29097 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
29098 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
29099 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
29100 %dx after the call if necessary
29101 * conf/common.rmk (pkglib_MODULES): remove boot.mod
29102 (boot_mod_SOURCES): remove
29103 (boot_mod_CFLAGS): remove
29104 (boot_mod_LDFLAGS): remove
29105 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
29106 (boot_mod_SOURCES): new variable
29107 (boot_mod_CFLAGS): likewise
29108 (boot_mod_LDFLAGS): likewise
29109 * conf/i386-efi.rmk: likewise
29110 * conf/i386-ieee1275.rmk: likewise
29111 * conf/i386-pc.rmk: likewise
29112 * conf/powerpc-ieee1275.rmk: likewise
29113 * conf/sparc64-ieee1275.rmk: likewise
29114 * conf/x86_64-efi.rmk: likewise
29115 * include/grub/i386/pc/biosnum.h: new file
29116 * lib/i386/pc/biosnum.c: likewise
29117 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
29118 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
29119 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
29120
29121 2009-06-10 Pavel Roskin <proski@gnu.org>
29122
29123 * io/gzio.c (test_header): Don't reuse one buffer for all data.
29124 Use separate variables. Read only the file size at the end, but
29125 not the checksum that we don't use.
29126
29127 * kern/file.c (grub_file_read): Use void pointer for the buffer.
29128 Adjust all callers.
29129
29130 * kern/ieee1275/openfw.c: Remove libc includes.
29131 * kern/ieee1275/cmain.c: Likewise.
29132 * include/grub/ieee1275/ieee1275.h: Likewise.
29133
29134 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
29135 compiler warnings.
29136
29137 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
29138
29139 * Makefile.in: Remove all trailing whitespace.
29140 * conf/i386-pc.rmk: Likewise.
29141 * conf/powerpc-ieee1275.rmk: Likewise.
29142 * conf/sparc64-ieee1275.rmk: Likewise.
29143 * docs/grub.texi: Likewise.
29144 * docs/texinfo.tex: Likewise.
29145 * disk/fs_uuid.c: Likewise.
29146 * disk/lvm.c: Likewise.
29147 * disk/scsi.c: Likewise.
29148 * disk/ata.c: Likewise.
29149 * disk/ieee1275/ofdisk.c: Likewise.
29150 * disk/i386/pc/biosdisk.c: Likewise.
29151 * disk/host.c: Likewise.
29152 * disk/raid.c: Likewise.
29153 * disk/efi/efidisk.c: Likewise.
29154 * disk/usbms.c: Likewise.
29155 * disk/memdisk.c: Likewise.
29156 * disk/loopback.c: Likewise.
29157 * kern/powerpc/dl.c: Likewise.
29158 * kern/device.c: Likewise.
29159 * kern/dl.c: Likewise.
29160 * kern/sparc64/dl.c: Likewise.
29161 * kern/ieee1275/ieee1275.c: Likewise.
29162 * kern/term.c: Likewise.
29163 * kern/fs.c: Likewise.
29164 * kern/i386/dl.c: Likewise.
29165 * kern/i386/pc/startup.S: Likewise.
29166 * kern/i386/pc/init.c: Likewise.
29167 * kern/i386/pc/mmap.c: Likewise.
29168 * kern/i386/pc/lzo1x.S: Likewise.
29169 * kern/i386/ieee1275/init.c: Likewise.
29170 * kern/i386/realmode.S: Likewise.
29171 * kern/i386/tsc.c: Likewise.
29172 * kern/partition.c: Likewise.
29173 * kern/corecmd.c: Likewise.
29174 * kern/file.c: Likewise.
29175 * kern/efi/efi.c: Likewise.
29176 * kern/efi/init.c: Likewise.
29177 * kern/efi/mm.c: Likewise.
29178 * kern/main.c: Likewise.
29179 * kern/err.c: Likewise.
29180 * kern/env.c: Likewise.
29181 * kern/disk.c: Likewise.
29182 * kern/generic/millisleep.c: Likewise.
29183 * kern/generic/rtc_get_time_ms.c: Likewise.
29184 * kern/misc.c: Likewise.
29185 * kern/parser.c: Likewise.
29186 * genmk.rb: Likewise.
29187 * configure.ac: Likewise.
29188 * boot/i386/pc/diskboot.S: Likewise.
29189 * boot/i386/pc/pxeboot.S: Likewise.
29190 * boot/i386/pc/boot.S: Likewise.
29191 * boot/i386/pc/lnxboot.S: Likewise.
29192 * boot/i386/pc/cdboot.S: Likewise.
29193 * parttool/pcpart.c: Likewise.
29194 * video/readers/tga.c: Likewise.
29195 * video/video.c: Likewise.
29196 * video/bitmap.c: Likewise.
29197 * lib/envblk.c: Likewise.
29198 * lib/i386/setjmp.S: Likewise.
29199 * fs/xfs.c: Likewise.
29200 * fs/afs.c: Likewise.
29201 * fs/fat.c: Likewise.
29202 * fs/ntfs.c: Likewise.
29203 * fs/udf.c: Likewise.
29204 * fs/affs.c: Likewise.
29205 * fs/iso9660.c: Likewise.
29206 * fs/hfs.c: Likewise.
29207 * fs/fshelp.c: Likewise.
29208 * fs/ext2.c: Likewise.
29209 * fs/jfs.c: Likewise.
29210 * fs/reiserfs.c: Likewise.
29211 * fs/hfsplus.c: Likewise.
29212 * fs/minix.c: Likewise.
29213 * fs/cpio.c: Likewise.
29214 * fs/sfs.c: Likewise.
29215 * fs/ufs.c: Likewise.
29216 * efiemu/prepare.c: Likewise.
29217 * efiemu/loadcore_common.c: Likewise.
29218 * efiemu/runtime/efiemu.sh: Likewise.
29219 * efiemu/runtime/efiemu.S: Likewise.
29220 * efiemu/runtime/efiemu.c: Likewise.
29221 * efiemu/pnvram.c: Likewise.
29222 * efiemu/main.c: Likewise.
29223 * efiemu/i386/pc/cfgtables.c: Likewise.
29224 * efiemu/i386/loadcore64.c: Likewise.
29225 * efiemu/i386/loadcore32.c: Likewise.
29226 * efiemu/loadcore.c: Likewise.
29227 * efiemu/symbols.c: Likewise.
29228 * efiemu/mm.c: Likewise.
29229 * include/grub/autoefi.h: Likewise.
29230 * include/grub/datetime.h: Likewise.
29231 * include/grub/term.h: Likewise.
29232 * include/grub/hfs.h: Likewise.
29233 * include/grub/lvm.h: Likewise.
29234 * include/grub/i386/tsc.h: Likewise.
29235 * include/grub/i386/linux.h: Likewise.
29236 * include/grub/i386/xnu.h: Likewise.
29237 * include/grub/i386/efiemu.h: Likewise.
29238 * include/grub/i386/pc/biosdisk.h: Likewise.
29239 * include/grub/i386/pc/memory.h: Likewise.
29240 * include/grub/i386/pc/vbe.h: Likewise.
29241 * include/grub/parttool.h: Likewise.
29242 * include/grub/video.h: Likewise.
29243 * include/grub/memory.h: Likewise.
29244 * include/grub/fs.h: Likewise.
29245 * include/grub/partition.h: Likewise.
29246 * include/grub/xnu.h: Likewise.
29247 * include/grub/efi/api.h: Likewise.
29248 * include/grub/efi/pe32.h: Likewise.
29249 * include/grub/efi/memory.h: Likewise.
29250 * include/grub/multiboot.h: Likewise.
29251 * include/grub/usbdesc.h: Likewise.
29252 * include/grub/multiboot2.h: Likewise.
29253 * include/grub/acpi.h: Likewise.
29254 * include/grub/efiemu/efiemu.h: Likewise.
29255 * include/grub/disk.h: Likewise.
29256 * include/grub/ieee1275/ieee1275.h: Likewise.
29257 * include/grub/net.h: Likewise.
29258 * include/grub/machoload.h: Likewise.
29259 * include/grub/macho.h: Likewise.
29260 * include/multiboot.h: Likewise.
29261 * genmoddep.awk: Likewise.
29262 * normal/main.c: Likewise.
29263 * normal/menu_entry.c: Likewise.
29264 * normal/menu_viewer.c: Likewise.
29265 * normal/completion.c: Likewise.
29266 * normal/cmdline.c: Likewise.
29267 * normal/misc.c: Likewise.
29268 * normal/datetime.c: Likewise.
29269 * bus/usb/usbtrans.c: Likewise.
29270 * bus/usb/ohci.c: Likewise.
29271 * bus/usb/uhci.c: Likewise.
29272 * bus/usb/usb.c: Likewise.
29273 * mmap/efi/mmap.c: Likewise.
29274 * mmap/i386/pc/mmap_helper.S: Likewise.
29275 * mmap/i386/pc/mmap.c: Likewise.
29276 * mmap/i386/mmap.c: Likewise.
29277 * mmap/i386/uppermem.c: Likewise.
29278 * mmap/mmap.c: Likewise.
29279 * commands/acpi.c: Likewise.
29280 * commands/echo.c: Likewise.
29281 * commands/blocklist.c: Likewise.
29282 * commands/loadenv.c: Likewise.
29283 * commands/usbtest.c: Likewise.
29284 * commands/boot.c: Likewise.
29285 * commands/parttool.c: Likewise.
29286 * commands/search.c: Likewise.
29287 * commands/cat.c: Likewise.
29288 * commands/i386/pc/play.c: Likewise.
29289 * commands/i386/pc/drivemap.c: Likewise.
29290 * commands/i386/pc/vbeinfo.c: Likewise.
29291 * commands/i386/pc/acpi.c: Likewise.
29292 * commands/i386/pc/vbetest.c: Likewise.
29293 * commands/ls.c: Likewise.
29294 * commands/cmp.c: Likewise.
29295 * commands/test.c: Likewise.
29296 * commands/efi/acpi.c: Likewise.
29297 * commands/gptsync.c: Likewise.
29298 * commands/help.c: Likewise.
29299 * partmap/amiga.c: Likewise.
29300 * partmap/apple.c: Likewise.
29301 * partmap/acorn.c: Likewise.
29302 * partmap/pc.c: Likewise.
29303 * partmap/sun.c: Likewise.
29304 * partmap/gpt.c: Likewise.
29305 * script/sh/lexer.c: Likewise.
29306 * script/sh/function.c: Likewise.
29307 * font/font.c: Likewise.
29308 * font/font_cmd.c: Likewise.
29309 * loader/powerpc/ieee1275/linux.c: Likewise.
29310 * loader/efi/chainloader.c: Likewise.
29311 * loader/multiboot_loader.c: Likewise.
29312 * loader/macho.c: Likewise.
29313 * loader/i386/multiboot.c: Likewise.
29314 * loader/i386/linux.c: Likewise.
29315 * loader/i386/pc/linux.c: Likewise.
29316 * loader/i386/pc/multiboot2.c: Likewise.
29317 * loader/i386/pc/chainloader.c: Likewise.
29318 * loader/i386/pc/xnu.c: Likewise.
29319 * loader/i386/bsd_trampoline.S: Likewise.
29320 * loader/i386/efi/linux.c: Likewise.
29321 * loader/i386/multiboot_elfxx.c: Likewise.
29322 * loader/i386/bsd_helper.S: Likewise.
29323 * loader/i386/bsd.c: Likewise.
29324 * loader/i386/linux_trampoline.S: Likewise.
29325 * loader/i386/xnu_helper.S: Likewise.
29326 * loader/i386/xnu.c: Likewise.
29327 * loader/i386/bsd_pagetable.c: Likewise.
29328 * loader/i386/multiboot_helper.S: Likewise.
29329 * loader/xnu.c: Likewise.
29330 * loader/xnu_resume.c: Likewise.
29331 * io/gzio.c: Likewise.
29332 * term/efi/console.c: Likewise.
29333 * term/terminfo.c: Likewise.
29334 * term/ieee1275/ofconsole.c: Likewise.
29335 * term/i386/pc/serial.c: Likewise.
29336 * term/i386/pc/vesafb.c: Likewise.
29337 * term/i386/pc/vga.c: Likewise.
29338 * term/usb_keyboard.c: Likewise.
29339 * term/gfxterm.c: Likewise.
29340 * aclocal.m4: Likewise.
29341 * util/lvm.c: Likewise.
29342 * util/grub.d/30_os-prober.in: Likewise.
29343 * util/grub.d/10_hurd.in: Likewise.
29344 * util/console.c: Likewise.
29345 * util/grub-macho2img.c: Likewise.
29346 * util/grub-probe.c: Likewise.
29347 * util/hostfs.c: Likewise.
29348 * util/i386/pc/grub-mkimage.c: Likewise.
29349 * util/i386/pc/grub-setup.c: Likewise.
29350 * util/i386/efi/grub-mkimage.c: Likewise.
29351 * util/grub-mkconfig.in: Likewise.
29352 * util/raid.c: Likewise.
29353 * util/resolve.c: Likewise.
29354 * util/grub-mkdevicemap.c: Likewise.
29355 * util/grub-emu.c: Likewise.
29356 * util/getroot.c: Likewise.
29357 * util/hostdisk.c: Likewise.
29358 * util/usb.c: Likewise.
29359 * util/grub-editenv.c: Likewise.
29360 * util/misc.c: Likewise.
29361
29362 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
29363
29364 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
29365 `genparttoollist.sh'.
29366 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
29367 Add `*.sh' to the list find searches for and change `mdate.sh'
29368 to `mdate-sh'.
29369
29370 2009-06-10 Pavel Roskin <proski@gnu.org>
29371
29372 * include/grub/multiboot2.h: Provide compatibility defines for
29373 multiboot2.h.
29374 * include/multiboot2.h: Include stdint.h only if needed, using
29375 angle brackets.
29376 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
29377 grub/multiboot2.h.
29378 * loader/ieee1275/multiboot2.c: Likewise.
29379 * loader/multiboot2.c: Likewise.
29380 * loader/multiboot_loader.c: Likewise.
29381
29382 * configure.ac: Use -nostdlib when probing for the target. It
29383 should not be required to have libc for the target.
29384
29385 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
29386 they fail without libc headers for the target.
29387 * include/grub/powerpc/libgcc.h: Use weak attribute for all
29388 exports.
29389 * include/grub/sparc64/libgcc.h: Likewise. Don't use
29390 preprocessor conditionals.
29391
29392 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
29393 build system doesn't need to be aware of the tar.c internals.
29394
29395 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
29396
29397 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
29398
29399 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
29400
29401 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
29402 disk limit to 26 for IDE, Virtio, Xen and SCSI.
29403
29404 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
29405
29406 * util/i386/pc/grub-install.in: Change the error message if UUIDs
29407 aren't available if ata.mod gets used.
29408
29409 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
29410
29411 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
29412 initialising controller.
29413 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29414
29415 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
29416
29417 * util/i386/pc/grub-install.in: Add a parameter --disk-module
29418 to choose between ata and biosdisk module on i386-pc.
29419
29420 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
29421
29422 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
29423 Subclass and Programming Interface fields in terms of the 3 byte
29424 Class Code register.
29425 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29426
29427 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
29428 interface is OHCI. Add grub_dprintf for symmetry with
29429 bus/usb/uhci.c.
29430 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
29431 interface is UHCI. Add interf variable for programming
29432 interface. Print interface with class/subclass.
29433
29434 * bus/usb/ohci.c: Set interf with correct field.
29435
29436 * bus/usb/uhci.c: Remove unneeded doubled lines.
29437 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
29438 Remove whitespace inside comment.
29439
29440 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
29441
29442 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
29443 as fallback an equivalent option without depth.
29444
29445 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29446
29447 Not fail if unable to retrieve C/H/S on LBA disks
29448
29449 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
29450 if unable to retrieve C/H/S on LBA disks
29451
29452 2009-06-08 Pavel Roskin <proski@gnu.org>
29453
29454 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
29455 about aliasing.
29456
29457 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
29458
29459 * Makefile.in (uninstall): Remove all $lib_DATA files.
29460
29461 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29462
29463 Bugfix: install on partitionless device
29464
29465 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
29466 is a whole disk
29467
29468 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
29469
29470 * Makefile.in (uninstall): Remove all $include_DATA files.
29471
29472 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
29473
29474 * commands/true.c: New file. Implement the true and false commands.
29475 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
29476 (true_mod_SOURCES): New variable.
29477 (true_mod_CFLAGS): Likewise.
29478 (true_mod_LDFLAGS): Likewise.
29479
29480 2009-06-05 Colin D Bennett <colin@gibibit.com>
29481
29482 Optimized font character lookup using binary search instead of linear
29483 search. Fonts now are required to have the character index ordered by
29484 code point.
29485
29486 * font/font.c (load_font_index): Verify that fonts have ordered
29487 character indices.
29488 (find_glyph): Use binary search instead of linear search to find a
29489 character in a font.
29490
29491 2009-06-05 Michael Scherer <misc@mandriva.org>
29492
29493 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
29494 uses case sensitive btree.
29495 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
29496 only for case insensitive filesystems.
29497
29498 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
29499
29500 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
29501 * conf/common.rmk (search_mod_CFLAGS): likewise
29502
29503 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29504
29505 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
29506 compensate a compiler bug
29507
29508 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29509
29510 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
29511 instead of '\b'
29512
29513 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29514
29515 Definitions for creating asm symbols with Apple's CC
29516
29517 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
29518 [APPLE_CC] (VARIABLE): likewise
29519
29520 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29521
29522 Disable lnxboot.img when compiled
29523 with Apple's CC
29524
29525 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
29526 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
29527 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
29528 [! APPLE_CC] (CODE_LENG): skip
29529 [! APPLE_CC] (setup_sects): likewise
29530 [! APPLE_CC]: skip filling
29531
29532 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29533
29534 Address in trampolines based on 32-bit registers when compiled
29535 with Apple's CC
29536
29537 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
29538 for addresses
29539 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
29540
29541 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29542
29543 Avoid aliases when compiling with Apple's CC for PCBIOS machine
29544
29545 * kern/misc.c [APPLE_CC] (memcpy): new function
29546 [APPLE_CC] (memmove): likewise
29547 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
29548 (memcpy): define alias conditionally on !APPLE_CC
29549 (memset): likewise
29550 (abort): likewise
29551 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
29552 APPLE_CC are defined
29553 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
29554 (grub_assert_fail): make prototype conditional
29555
29556 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29557
29558 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
29559
29560 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
29561 grub-macho2img
29562 (CLEANFILES): add grub-macho2img
29563 (grub_macho2img_SOURCES): new variable
29564 * kern/i386/pc/startup.S (bss_start): new variable
29565 (bss_end): likewise
29566 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
29567 * util/grub-macho2img.c: new file
29568
29569 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29570
29571 Use objconv when compiling with Apple's CC
29572
29573 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
29574 (efiemu64.o): likewise
29575 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
29576 when compiling with Apple's CC
29577 (efiemu64_s.o): likewise
29578 * configure.ac: check for objconv when compiling with Apple's CC
29579 * genmk.rb: use objconv for modules when compiled with Apple's CC
29580
29581 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29582
29583 Define segment as well as section when compiling with
29584 Apple's CC
29585
29586 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
29587 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
29588 (efiemu_convert_pointer): likewise
29589 (efiemu_set_virtual_address_map): likewise
29590 (efiemu_convert_pointer): likewise
29591 (efiemu_getcrc32): likewise
29592 (init_crc32_table): likewise
29593 (reflect): likewise
29594 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
29595 (GRUB_MOD_DEP): likewise
29596
29597 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29598
29599 Allow a compilation without -mcmodel=large
29600
29601 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
29602 when compiled without -mcmodel=large
29603 (filter_memory_map): remove memory post 4 GiB when compiled
29604 without -mcmodel=large
29605 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
29606 TARGET_CFLAGS when -mcmodel=large isn't supported
29607
29608 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29609
29610 Remove nested functions in efiemu core
29611
29612 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
29613
29614 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29615
29616 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
29617
29618 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
29619 temporary storage
29620 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
29621 using Apple's CC
29622 (grub_cpu_is_tsc_supported): likewise
29623 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
29624
29625 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29626
29627 Absolute addressing through constant with Apple's cc
29628
29629 * kern/i386/pc/startup.S: Define necessary constants
29630 and address through it when using ABS with Apple's CC
29631 * boot/i386/pc/diskboot.S: likewise
29632 * boot/i386/pc/boot.S: likewise
29633 * boot/i386/pc/lnxboot.S: likewise
29634 * boot/i386/pc/cdboot.S: likewise
29635 * mmap/i386/pc/mmap_helper.S: likewise
29636 * commands/i386/pc/drivemap_int13h.S: likewise
29637
29638 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29639
29640 Check if compiler is apple cc
29641
29642 * Makefile.in (ASFLAGS): new variable
29643 (TARGET_ASFLAGS): likewise
29644 (TARGET_MODULE_FORMAT): likewise
29645 (TARGET_APPLE_CC): likewise
29646 (OBJCONV): likewise
29647 (TARGET_IMG_CFLAGS): likewise
29648 (TARGET_CPPFLAGS): add includedir
29649 * configure.ac: call grub_apple_cc and grub_apple_target_cc
29650 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
29651 Check for linker script only if compiler isn't Apple's CC
29652 (TARGET_MODULE_FORMAT): set
29653 (TARGET_APPLE_CC): likewise
29654 (TARGET_ASFLAGS): likewise
29655 (ASFLAGS): likewise
29656 Check for objcopy only if compiler isn't Apple's CC
29657 Check for BSS symbol only if compiler isn't Apple's CC
29658 * genmk.rb: adapt nm options if we use Apple's utils
29659 * aclocal.m4 (grub_apple_cc): new test
29660 (grub_apple_target_cc): likewise
29661
29662 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29663
29664 Simplify sed expressions and improve awk
29665
29666 * Makefile.in (install-local): simplify sed expression
29667 * gencmdlist.sh: likewise
29668 * genmoddep.awk: avoid adding module as a dependency of itself
29669
29670 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29671
29672 Add missing start symbols
29673
29674 * boot/i386/pc/boot.S: add start
29675 * boot/i386/pc/pxeboot.S: likewise
29676
29677 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29678
29679 Fix wrong assumptions with grub-mkimage on EFI
29680
29681 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
29682 (relocate_addresses): consider both r_addend and value at offset
29683 (make_mods_section): zerofill modinfo and header
29684 (convert_elf): write prefix here
29685
29686 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29687
29688 Use .asciz instead of .string
29689
29690 * i386/pc/diskboot.S: use .asciz instead of .string
29691 * i386/pc/boot.S: likewise
29692 * include/grub/dl.h (GRUB_MOD_DEP): likewise
29693 (GRUB_MOD_NAME): likewise
29694
29695 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29696
29697 gfxpayload support
29698
29699 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
29700 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
29701 (grub_video_setup): remove
29702 (grub_video_set_mode): new prototype
29703 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
29704 (vid_mode): remove
29705 (linux_vesafb_res): compile only on PCBIOS
29706 (grub_linux_boot): support gfxpayload
29707 * loader/i386/pc/xnu.c (video_hook): new function
29708 (grub_xnu_set_video): support gfxpayload
29709 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
29710 (DEFAULT_VIDEO_HEIGHT): likewise
29711 (DEFAULT_VIDEO_FLAGS): likewise
29712 (DEFAULT_VIDEO_MODE): new definition
29713 (video_hook): new function
29714 (grub_gfxterm_init): use grub_video_set_mode
29715 * util/grub.d/30_os-prober.in: remove explicit modesetting before
29716 loading xnu
29717 * video/video.c (grub_video_setup): removed
29718 (grub_video_set_mode): new function based on grub_gfxterm_init and
29719 grub_video_setup
29720
29721 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29722
29723 Avoid calling biosdisk in drivemap
29724
29725 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
29726 (revparse_biosdisk): likewise
29727 (list_mappings): derive name from id directly
29728 (grub_cmd_drivemap): use tryparse_diskstring
29729
29730 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29731
29732 Script fixes
29733
29734 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
29735 (grub_lexer_param): add tokenonhold
29736 (grub_script_create_cmdline): remove cmdline. All callers updated
29737 (grub_script_function_create): make functionname
29738 grub_script_arg. All callers updated
29739 (grub_script_execute_argument_to_string): new prototype
29740 * kern/parser.c (state_transitions): reorder
29741 (grub_parser_cmdline_state): fix a bug and make more compact
29742 * script/sh/execute.c (grub_script_execute_argument_to_string):
29743 make global
29744 (grub_script_execute_cmdline): use new format
29745 * script/sh/function.c (grub_script_function_create): make functionname
29746 grub_script_arg. All callers updated
29747 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
29748 (grub_script_yylex): remove
29749 (grub_script_yylex2): renamed to ...
29750 (grub_script_yylex): ...renamed
29751 parse the expressions like a${b}c
29752 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
29753 (GRUB_PARSER_TOKEN_VAR): remove
29754 (GRUB_PARSER_TOKEN_NAME): likewise
29755 ("if"): declare as typeless
29756 ("while"): likewise
29757 ("function"): likewise
29758 ("else"): likewise
29759 ("then"): likewise
29760 ("fi"): likewise
29761 (text): remove
29762 (argument): likewise
29763 (script): accept empty scripts and make exit on error
29764 (arguments): use GRUB_PARSER_TOKEN_ARG
29765 (function): likewise
29766 (command): move error handling to script
29767 (menuentry): move grub_script_lexer_ref before
29768 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
29769 argument. All callers updated
29770
29771 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29772
29773 Prevent GRUB from probing floppies during boot.
29774
29775 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
29776 * commands/search.c (options): Add --no-floppy.
29777 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
29778 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
29779 --no-floppy when searching for UUIDs.
29780
29781 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29782
29783 Simplify the code duplication in commands/search.c.
29784
29785 * commands/search.c (search_label, search_fs_uuid): Merge into ...
29786 (search_fs): ... this. Update all users.
29787
29788 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
29789
29790 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
29791
29792 2009-05-28 Pavel Roskin <proski@gnu.org>
29793
29794 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
29795 Remove the original symlink explicitly.
29796
29797 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
29798 just one slash. That's how grub_fshelp_find_file() does it.
29799
29800 2009-05-26 Pavel Roskin <proski@gnu.org>
29801
29802 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
29803 to `str'.
29804
29805 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
29806 possibly unused.
29807
29808 2009-05-25 Christian Franke <franke@computer.org>
29809
29810 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
29811 register.
29812 (grub_atapi_identify): Add wait after drive select.
29813 (grub_ata_identify): Do more strict status register check before
29814 calling grub_atapi_identify (). Suppress error message if status
29815 register is 0x00 after command failure. Add status register
29816 check after PIO read to avoid bogus identify due to stuck DRQ.
29817 Thanks to Pavel Roskin for testing.
29818 (grub_device_initialize): Remove unsafe status register check.
29819 Thanks to 'phcoder' for problem report and patch.
29820 Prevent sign extension in debug message.
29821
29822 2009-05-23 Colin D Bennett <colin@gibibit.com>
29823
29824 Cleaned up `include/grub/normal.h'. Grouped prototypes by
29825 definition file, and functions defined in `normal/menu.c' have had
29826 their prototypes moved to `include/grub/menu.h' for consistency.
29827
29828 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
29829 from normal.h.
29830 (grub_menu_get_entry): Likewise.
29831 (grub_menu_get_timeout): Likewise.
29832 (grub_menu_set_timeout): Likewise.
29833 (grub_menu_execute_entry): Likewise.
29834 (grub_menu_execute_with_fallback): Likewise.
29835 (grub_menu_entry_run): Likewise.
29836
29837 * include/grub/normal.h: Re-ordered and grouped function
29838 prototypes by file that the function is defined in.
29839 (grub_menu_execute_callback): Removed; moved to menu.h.
29840 (grub_menu_get_entry): Likewise.
29841 (grub_menu_get_timeout): Likewise.
29842 (grub_menu_set_timeout): Likewise.
29843 (grub_menu_execute_entry): Likewise.
29844 (grub_menu_execute_with_fallback): Likewise.
29845 (grub_menu_entry_run): Likewise.
29846 (grub_menu_addentry): Renamed from this ...
29847 (grub_normal_add_menu_entry): ... to this.
29848
29849 * normal/main.c (grub_menu_addentry): Renamed from this ...
29850 (grub_normal_add_menu_entry): ... to this.
29851
29852 * script/sh/execute.c (grub_script_execute_menuentry): Update
29853 reference to renamed grub_menu_addentry function.
29854
29855 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
29856
29857 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
29858
29859 2009-05-22 Pavel Roskin <proski@gnu.org>
29860
29861 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
29862 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
29863 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
29864 compiling for the i386 targets, but not for the utilities.
29865
29866 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
29867 to grub_uint8_t.
29868 (grub_root_drive): Likewise.
29869 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
29870 remove alignment.
29871 (grub_root_drive): Change size to byte.
29872 (grub_start_addr): Remove.
29873 (grub_end_addr): Likewise.
29874 (grub_apm_bios_info): Likewise.
29875
29876 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
29877
29878 * normal/i386: Remove.
29879 * normal/powerpc: Likewise.
29880 * normal/sparc64: Likewise.
29881 * normal/x86_64: Likewise.
29882
29883 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
29884
29885 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
29886 * loader/i386/linux_trampoline.S: Fix indentation
29887 * loader/i386/xnu_helper.S: Likewise
29888
29889 2009-05-18 Colin D Bennett <colin@gibibit.com>
29890
29891 Display error messages when parsing a Lua statement fails.
29892 Previously, executing a syntactically invalid statement like
29893 ")foo" or "bar;" would silently fail.
29894
29895 * script/lua/grub_main.c (handle_lua_error): New function.
29896 (grub_lua_parse_line): Improved reporting of Lua parser and
29897 execution errors.
29898
29899 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
29900
29901 Remove -Werror which causes build to fail on some systems
29902
29903 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
29904 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
29905 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
29906
29907 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
29908
29909 trampoline for linux on 64-bit platform
29910
29911 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
29912 loader/i386/efi/linux_trampoline.S
29913 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
29914 declaration
29915 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
29916 here
29917 * loader/i386/linux_trampoline.S: moved here
29918 * loader/i386/efi/linux.c (allocate_pages): reserve space for
29919 trampoline
29920 (jumpvector): removed
29921 (grub_linux_trampoline_start): new declaration
29922 (grub_linux_trampoline_end): likewise
29923 (grub_linux_boot): use trampoline when on 64-bit platform
29924 * loader/i386/linux.c: likewise
29925
29926 2009-05-16 Pavel Roskin <proski@gnu.org>
29927
29928 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
29929 const to avoid a warning.
29930 (grub_lua_setenv): Likewise.
29931 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
29932 lmsg to fix a warning.
29933
29934 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
29935
29936 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
29937 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29938 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
29939 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29940 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
29941 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29942 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
29943 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
29944
29945 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
29946
29947 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
29948
29949 2009-05-16 Bean <bean123ch@gmail.com>
29950
29951 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
29952 (lua_mod_SOURCES): New variable.
29953 (lua_mod_CFLAGS): Likewise.
29954 (lua_mod_LDFLAGS): Likewise.
29955
29956 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
29957 (setjmp_mod_SOURCES): New variable.
29958 (setjmp_mod_CFLAGS): Likewise.
29959 (setjmp_LDFLAGS): Likewise.
29960
29961 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
29962 (setjmp_mod_SOURCES): New variable.
29963 (setjmp_mod_CFLAGS): Likewise.
29964 (setjmp_LDFLAGS): Likewise.
29965
29966 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
29967 (setjmp_mod_SOURCES): New variable.
29968 (setjmp_mod_CFLAGS): Likewise.
29969 (setjmp_LDFLAGS): Likewise.
29970
29971 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
29972 (setjmp_mod_SOURCES): New variable.
29973 (setjmp_mod_CFLAGS): Likewise.
29974 (setjmp_LDFLAGS): Likewise.
29975
29976 * normal/i386/setjmp.S: Moved from here ...
29977 * lib/i386/setjmp.S: ... Moved here
29978 * normal/x86_64/setjmp.S: Moved from here ...
29979 * lib/x86_64/setjmp.S: ... Moved here
29980 * normal/powerpc/setjmp.S: Moved from here ...
29981 * lib/powerpc/setjmp.S: ... Moved here
29982 * normal/sparc64/setjmp.S: Moved from here ...
29983 * lib/sparc64/setjmp.S: ... Moved here
29984
29985 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
29986 returns_twice in mingw.
29987
29988 * script/lua/grub_lib.c: New file.
29989 * script/lua/grub_lib.h: Likewise.
29990 * script/lua/grub_lua.h: Likewise.
29991 * script/lua/grub_main.c: Likewise.
29992 * script/lua/lapi.c: Likewise.
29993 * script/lua/lapi.h: Likewise.
29994 * script/lua/lauxlib.c: Likewise.
29995 * script/lua/lauxlib.h: Likewise.
29996 * script/lua/lbaselib.c: Likewise.
29997 * script/lua/lcode.c: Likewise.
29998 * script/lua/lcode.h: Likewise.
29999 * script/lua/ldblib.c: Likewise.
30000 * script/lua/ldebug.c: Likewise.
30001 * script/lua/ldebug.h: Likewise.
30002 * script/lua/ldo.c: Likewise.
30003 * script/lua/ldo.h: Likewise.
30004 * script/lua/ldump.c: Likewise.
30005 * script/lua/lfunc.c: Likewise.
30006 * script/lua/lfunc.h: Likewise.
30007 * script/lua/lgc.c: Likewise.
30008 * script/lua/lgc.h: Likewise.
30009 * script/lua/linit.c: Likewise.
30010 * script/lua/liolib.c: Likewise.
30011 * script/lua/llex.c: Likewise.
30012 * script/lua/llex.h: Likewise.
30013 * script/lua/llimits.h: Likewise.
30014 * script/lua/lmathlib.c: Likewise.
30015 * script/lua/lmem.c: Likewise.
30016 * script/lua/lmem.h: Likewise.
30017 * script/lua/loadlib.c: Likewise.
30018 * script/lua/lobject.c: Likewise.
30019 * script/lua/lobject.h: Likewise.
30020 * script/lua/lopcodes.c: Likewise.
30021 * script/lua/lopcodes.h: Likewise.
30022 * script/lua/loslib.c: Likewise.
30023 * script/lua/lparser.c: Likewise.
30024 * script/lua/lparser.h: Likewise.
30025 * script/lua/lstate.c: Likewise.
30026 * script/lua/lstate.h: Likewise.
30027 * script/lua/lstring.c: Likewise.
30028 * script/lua/lstring.h: Likewise.
30029 * script/lua/lstrlib.c: Likewise.
30030 * script/lua/ltable.c: Likewise.
30031 * script/lua/ltable.h: Likewise.
30032 * script/lua/ltablib.c: Likewise.
30033 * script/lua/ltm.c: Likewise.
30034 * script/lua/ltm.h: Likewise.
30035 * script/lua/lua.h: Likewise.
30036 * script/lua/luaconf.h: Likewise.
30037 * script/lua/lualib.h: Likewise.
30038 * script/lua/lundump.c: Likewise.
30039 * script/lua/lundump.h: Likewise.
30040 * script/lua/lvm.c: Likewise.
30041 * script/lua/lvm.h: Likewise.
30042 * script/lua/lzio.c: Likewise.
30043 * script/lua/lzio.h: Likewise.
30044
30045 2009-05-16 Bean <bean123ch@gmail.com>
30046
30047 * include/grub/kernel.h (grub_module_header_types): Add type
30048 OBJ_TYPE_CONFIG.
30049
30050 * kern/main.c (grub_load_config): New function.
30051 (grub_main): Call grub_load_config to read boot config.
30052
30053 * grub-mkimage (generate_image): New parameter config_path.
30054 (options): New option --config.
30055 (main): Parse --config option, and pass it to generate_image.
30056
30057 2009-05-14 Christian Franke <franke@computer.org>
30058
30059 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
30060 This fixes build on Cygwin.
30061
30062 2009-05-14 Pavel Roskin <proski@gnu.org>
30063
30064 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
30065 jump. This saves two bytes, so the typical case of 2 swapped
30066 drives would fit 32 bytes.
30067
30068 2009-05-13 Pavel Roskin <proski@gnu.org>
30069
30070 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
30071 grub_uint32_t to avoid a warning.
30072
30073 * loader/i386/linux.c (allocate_pages): When assigning
30074 real_mode_mem, cast through grub_size_t to fix a warning. The
30075 code already makes sure that the value would fit a pointer.
30076 (grub_linux_setup_video): Cast render_target->data to
30077 grub_size_t to fix a warning.
30078
30079 2009-05-13 Javier Martín <lordhabbit@gmail.com>
30080
30081 * commands/i386/pc/drivemap.c: New file - implement drivemap
30082 command.
30083 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
30084 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
30085
30086 2009-05-13 Pavel Roskin <proski@gnu.org>
30087
30088 * util/i386/pc/grub-setup.c (setup): Remove unused variable
30089 embedding_area_exists.
30090
30091 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
30092
30093 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
30094 it easier to understand / work with.
30095 Improve warning messages for cases where there's no embedding area,
30096 or when it is too small (or core.img too large).
30097
30098 2009-05-13 Pavel Roskin <proski@gnu.org>
30099
30100 * loader/i386/pc/multiboot2.c: Add necessary includes for
30101 grub_multiboot2_real_boot().
30102
30103 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
30104 PX record is always little-endian. We only need the lower 2
30105 bytes of the mode.
30106
30107 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
30108 facilitate code reuse.
30109 (grub_cpio_mount): Use "struct head", not a char buffer. This
30110 fixes a warning reported by gcc 4.4.
30111
30112 * kernel/disk.c (grub_disk_read): Use void pointer for the
30113 buffer.
30114 (grub_disk_write): Use const void pointer for the buffer.
30115 Adjust all callers. Remove unnecessary casts.
30116
30117 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
30118
30119 * util/i386/pc/grub-install.in: Update copyright year.
30120
30121 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
30122
30123 gptsync
30124
30125 * commands/gptsync.c: new file
30126 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
30127 (gptsync_mod_SOURCES): new variable
30128 (gptsync_mod_CFLAGS): likewise
30129 (gptsync_mod_LDFLAGS): likewise
30130 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
30131 new definition
30132 (GRUB_PC_PARTITION_TYPE_HFS): likewise
30133 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
30134 * conf/i386-ieee1275.rmk: likewise
30135 * conf/i386-pc.rmk: likewise
30136 * conf/powerpc-ieee1275.rmk: likewise
30137
30138 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
30139
30140 Fixed grub-emu
30141
30142 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
30143 (grub_dl_ref): likewise
30144
30145 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
30146
30147 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
30148 split in two functions (one for msdos and one for gpt).
30149
30150 2009-05-08 Pavel Roskin <proski@gnu.org>
30151
30152 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
30153 not modified.
30154
30155 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
30156 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
30157 Initialize them with -1. Add sanity check for bad1. Eliminate
30158 nerr variable.
30159
30160 2009-05-08 David S. Miller <davem@davemloft.net>
30161
30162 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
30163
30164 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
30165
30166 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
30167 existence.
30168
30169 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
30170
30171 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
30172 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
30173
30174 2009-05-05 David S. Miller <davem@davemloft.net>
30175
30176 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
30177
30178 2009-05-05 Pavel Roskin <proski@gnu.org>
30179
30180 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
30181 of grub_dl_ref() and grub_dl_unref().
30182 * commands/parttool.c: Remove preprocessor conditionals around
30183 grub_dl_ref() and grub_dl_unref().
30184 * fs/affs.c: Likewise.
30185 * fs/afs.c: Likewise.
30186 * fs/cpio.c: Likewise.
30187 * fs/ext2.c: Likewise.
30188 * fs/fat.c: Likewise.
30189 * fs/hfs.c: Likewise.
30190 * fs/hfsplus.c: Likewise.
30191 * fs/iso9660.c: Likewise.
30192 * fs/jfs.c: Likewise.
30193 * fs/minix.c: Likewise.
30194 * fs/ntfs.c: Likewise.
30195 * fs/reiserfs.c: Likewise.
30196 * fs/sfs.c: Likewise.
30197 * fs/udf.c: Likewise.
30198 * fs/ufs.c: Likewise.
30199 * fs/xfs.c: Likewise.
30200 * include/grub/dl.h: Likewise.
30201 * loader/xnu.c: Likewise.
30202
30203 2009-05-04 Pavel Roskin <proski@gnu.org>
30204
30205 * commands/acpi.c: Remove unused variable my_mod.
30206 * partmap/amiga.c: Likewise.
30207 * partmap/apple.c: Likewise.
30208 * partmap/gpt.c: Likewise.
30209 * partmap/pc.c: Likewise.
30210 * partmap/sun.c: Likewise.
30211 * term/gfxterm.c: Likewise.
30212 * term/i386/pc/vesafb.c: Likewise.
30213 * term/i386/pc/vga.c: Likewise.
30214
30215 2009-05-04 David S. Miller <davem@davemloft.net>
30216
30217 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
30218 pointer args to grub_ieee1275_get_property().
30219
30220 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
30221
30222 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
30223 devices, and do not traverse down under controller nodes.
30224
30225 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
30226 (grub_ofdisk_open): Use it to un-escape "," characters.
30227 * kern/disk.c (find_part_sep): New.
30228 (grub_disk_open): Use it to find the first non-escaped ','
30229 character in the disk name.
30230 * util/ieee1275/devicemap.c (escape_of_path): New.
30231 (grub_util_emit_devicemap_entry): Use it.
30232 * util/sparc64/ieee1275/grub-install.in: Update script to
30233 strip partition specifiers properly by not triggering on
30234 '\' escaped ',' characters.
30235
30236 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30237
30238 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
30239 to 0x300.
30240 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
30241 resolutions.
30242 (linux_vesafb_modes): Add a lot of additional modes to the list (based
30243 on documentation from Wikipedia).
30244
30245 2009-05-04 Pavel Roskin <proski@gnu.org>
30246
30247 * disk/ata.c: Spelling fixes.
30248 * disk/raid.c: Likewise.
30249 * disk/usbms.c: Likewise.
30250 * disk/dmraid_nvidia.c: Likewise.
30251 * kern/ieee1275/openfw.c: Likewise.
30252 * kern/ieee1275/init.c: Likewise.
30253 * kern/ieee1275/cmain.c: Likewise.
30254 * boot/i386/pc/cdboot.S: Likewise.
30255 * video/readers/png.c: Likewise.
30256 * video/i386/pc/vbe.c: Likewise.
30257 * fs/udf.c: Likewise.
30258 * fs/hfs.c: Likewise.
30259 * fs/reiserfs.c: Likewise.
30260 * efiemu/runtime/efiemu.c: Likewise.
30261 * efiemu/main.c: Likewise.
30262 * efiemu/mm.c: Likewise.
30263 * include/grub/elf.h: Likewise.
30264 * include/grub/xnu.h: Likewise.
30265 * include/grub/usbdesc.h: Likewise.
30266 * include/grub/usb.h: Likewise.
30267 * include/grub/script_sh.h: Likewise.
30268 * include/grub/lib/LzmaEnc.h: Likewise.
30269 * include/grub/efiemu/efiemu.h: Likewise.
30270 * include/grub/command.h: Likewise.
30271 * normal/menu.c: Likewise.
30272 * normal/main.c: Likewise.
30273 * normal/datetime.c: Likewise.
30274 * bus/usb/uhci.c: Likewise.
30275 * mmap/i386/uppermem.c: Likewise.
30276 * mmap/mmap.c: Likewise.
30277 * commands/acpi.c: Likewise.
30278 * commands/test.c: Likewise.
30279 * partmap/apple.c: Likewise.
30280 * font/font.c: Likewise.
30281 * loader/sparc64/ieee1275/linux.c: Likewise.
30282 * loader/macho.c: Likewise.
30283 * loader/i386/bsd_trampoline.S: Likewise.
30284 * loader/i386/bsd.c: Likewise.
30285 * loader/xnu.c: Likewise.
30286 * term/i386/pc/vesafb.c: Likewise.
30287 * term/usb_keyboard.c: Likewise.
30288 * util/resolve.c: Likewise.
30289 * util/getroot.c: Likewise.
30290
30291 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
30292
30293 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
30294
30295 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30296
30297 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
30298 build error.
30299
30300 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30301
30302 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
30303 parameter only available on BIOS.
30304
30305 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30306
30307 Removed wrong semicolon in declaration
30308
30309 * grub/misc.h (grub_dprintf): remove semicolon
30310
30311 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30312
30313 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
30314 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
30315 is done by grub_cmd_linux() now).
30316 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
30317 restore video to text mode.
30318 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
30319 indicates lack of "vga=" parameter. "vga=0" is mapped to
30320 `GRUB_LINUX_VID_MODE_NORMAL'.
30321
30322 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
30323
30324 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
30325 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
30326 and `normal/script.c'. Add `kern/rescue_reader.c',
30327 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
30328 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
30329 `grub_script.tab.c'.
30330
30331 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30332 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30333 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30334 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30335 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30336
30337 * Makefile.in: Remove duplicated 2008 in Copyright line.
30338
30339 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30340
30341 * util/misc.c (grub_util_warn): New function. Emits a warning
30342 unconditionally.
30343 * include/grub/util/misc.h (grub_util_warn): New declaration.
30344
30345 * util/i386/pc/grub-install.in: Understand --force and pass it down
30346 to grub-setup.
30347
30348 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
30349 down to setup().
30350 (setup): Improve error messages and add warnings when requested to
30351 install in odd layouts. Refuse to install using blocklists unless
30352 --force was set.
30353
30354 2009-05-04 martin f. krafft <madduck@madduck.net>
30355
30356 * disk/raid.c (grub_raid_scan_device): Improve debug message.
30357
30358 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30359
30360 Updated copyright year
30361
30362 * fs/hfsplus.c: updated copyright year
30363
30364 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30365
30366 HFS+ UUID
30367
30368 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
30369 in the space previously used by unused3
30370 (grub_hfsplus_uuid): new function
30371 (grub_hfsplus_fs): added uuid field
30372
30373 2009-05-03 Pavel Roskin <proski@gnu.org>
30374
30375 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
30376 suppress warnings. It's no longer needed.
30377 * disk/host.c: Likewise.
30378 * disk/ata_pthru.c: Likewise.
30379 * disk/loopback.c: Likewise.
30380 * hook/datehook.c: Likewise.
30381 * parttool/pcpart.c: Likewise.
30382 * fs/i386/pc/pxe.c: Likewise.
30383 * fs/ntfscomp.c: Likewise.
30384 * efiemu/main.c: Likewise.
30385 * mmap/mmap.c: Likewise.
30386 * commands/crc.c: Likewise.
30387 * commands/hexdump.c: Likewise.
30388 * commands/hdparm.c: Likewise.
30389 * commands/acpi.c: Likewise.
30390 * commands/echo.c: Likewise.
30391 * commands/minicmd.c: Likewise.
30392 * commands/blocklist.c: Likewise.
30393 * commands/memrw.c: Likewise.
30394 * commands/loadenv.c: Likewise.
30395 * commands/usbtest.c: Likewise.
30396 * commands/lsmmap.c: Likewise.
30397 * commands/boot.c: Likewise.
30398 * commands/parttool.c: Likewise.
30399 * commands/configfile.c: Likewise.
30400 * commands/search.c: Likewise.
30401 * commands/ieee1275/suspend.c: Likewise.
30402 * commands/cat.c: Likewise.
30403 * commands/i386/pc/pxecmd.c: Likewise.
30404 * commands/i386/pc/play.c: Likewise.
30405 * commands/i386/pc/halt.c: Likewise.
30406 * commands/i386/pc/vbeinfo.c: Likewise.
30407 * commands/i386/pc/vbetest.c: Likewise.
30408 * commands/lspci.c: Likewise.
30409 * commands/date.c: Likewise.
30410 * commands/handler.c: Likewise.
30411 * commands/ls.c: Likewise.
30412 * commands/test.c: Likewise.
30413 * commands/cmp.c: Likewise.
30414 * commands/efi/loadbios.c: Likewise.
30415 * commands/efi/fixvideo.c: Likewise.
30416 * commands/halt.c: Likewise.
30417 * commands/help.c: Likewise.
30418 * commands/reboot.c: Likewise.
30419 * hello/hello.c: Likewise.
30420 * script/sh/main.c: Likewise.
30421 * loader/xnu.c: Likewise.
30422 * term/terminfo.c: Likewise.
30423 * term/i386/pc/serial.c: Likewise.
30424 * term/usb_keyboard.c: Likewise.
30425
30426 2009-05-03 David S. Miller <davem@davemloft.net>
30427
30428 * normal/menu.c: Include grub/parser.h
30429
30430 2009-05-03 Pavel Roskin <proski@gnu.org>
30431
30432 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
30433 not char*.
30434 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
30435 Suggested by Javier Martín <lordhabbit@gmail.com>
30436
30437 * util/i386/pc/grub-mkrescue.in: Allow for the case when
30438 efiemu??.o doesn't exist.
30439 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
30440 copying.
30441
30442 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
30443
30444 FreeBSD 64-bit support
30445
30446 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
30447 and loader/i386/bsd_trampoline.S
30448 (bsd_mod_ASFLAGS): new variable
30449 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
30450 (FREEBSD_MODTYPE_KERNEL64): likewise
30451 (grub_bsd64_trampoline_start): likewise
30452 (grub_bsd64_trampoline_end): likewise
30453 (grub_bsd64_trampoline_selfjump): likewise
30454 (grub_bsd64_trampoline_gdt): likewise
30455 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
30456 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
30457 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
30458 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
30459 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
30460 of "attrib" member
30461 * loader/i386/bsd_pagetable.c: new file
30462 * loader/i386/bsd_trampoline.S: likewise
30463 * loader/i386/bsd.c (ALIGN_QWORD): new macro
30464 (ALIGN_VAR): likewise
30465 (entry_hi): new variable
30466 (kern_end_mdofs): likewise
30467 (is_64bit): likewise
30468 (grub_freebsd_add_meta): use ALIGN_VAR
30469 (grub_e820_mmap): new declaration
30470 (grub_freebsd_add_mmap): new function
30471 (grub_freebsd_add_meta_module): support 64 bit kernels
30472 (grub_freebsd_list_modules): use ALIGN_VAR
30473 (gdt_descriptor): new declaration
30474 (grub_freebsd_boot): support 64 bit kernels
30475 (grub_bsd_elf64_hook): new function
30476 (grub_bsd_load_elf): support elf64
30477
30478 2009-05-03 Bean <bean123ch@gmail.com>
30479
30480 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
30481 after we get the result of if statement.
30482
30483 2009-05-03 Bean <bean123ch@gmail.com>
30484
30485 * Makefile.in (enable_efiemu): New variable.
30486
30487 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
30488 set.
30489 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
30490 path.
30491 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
30492 path, add -mno-red-zone option.
30493 (efiemu64_s.o): Likewise.
30494 (efiemu64.o): Use macro $^ for source file.
30495
30496 * configure.ac (--enable-efiemu): New option.
30497
30498 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
30499
30500 xnu support
30501
30502 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
30503 (pkglib_MODULES): add xnu.mod
30504 (xnu_mod_SOURCES): new variable
30505 (xnu_mod_CFLAGS): likewise
30506 (xnu_mod_LDFLAGS): likewise
30507 (xnu_mod_ASFLAGS): likewise
30508 * conf/i386-pc.rmk: likewise
30509 * conf/x86_64-efi.rmk: likewise
30510 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
30511 new declaration
30512 * include/grub/i386/macho.h: new file
30513 * include/grub/i386/xnu.h: likewise
30514 * include/grub/macho.h: likewise
30515 * include/grub/machoload.h: likewise
30516 * include/grub/x86_64/macho.h: likewise
30517 * include/grub/x86_64/xnu.h: likewise
30518 * include/grub/xnu.h: likewise
30519 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
30520 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
30521 * loader/i386/efi/xnu.c: new file
30522 * loader/i386/pc/xnu.c: likewise
30523 * loader/i386/xnu.c: likewise
30524 * loader/i386/xnu_helper.S: likewise
30525 * loader/macho.c: likewise
30526 * loader/xnu.c: likewise
30527 * loader/xnu_resume.c: likewise
30528 * util/grub-dumpdevtree: likewise
30529 * include/grub/i386/pit.h: include grub/err.h
30530 (grub_pit_wait): export
30531 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
30532
30533 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30534
30535 Efiemu
30536
30537 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
30538 _linux_efi, linux_efi.
30539 new files in grub-emu
30540 new targets efiemu32.o and efiemu64.o
30541 * loader/linux_normal_efiemu.c: likewise
30542 * loader/i386/efi/linux.c: added preliminary efiemu support
30543 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
30544 files to copy
30545 * include/grub/autoefi.h: new file
30546 * include/grub/i386/efiemu.h: likewise
30547 * include/grub/i386/pc/efiemu.h: likewise
30548 * include/grub/efi/api.h: add LL suffix when necessary
30549 new definitions relating to tables
30550 * include/grub/efiemu/efiemu.h: new file
30551 * include/grub/efiemu/runtime.h: likewise
30552 * efiemu/prepare.c: likewise
30553 * efiemu/loadcore_common.c: likewise
30554 * efiemu/loadcore64.c: likewise
30555 * efiemu/runtime/efiemu.sh: likewise
30556 * efiemu/runtime/efiemu.S: likewise
30557 * efiemu/runtime/efiemu.c: likewise
30558 * efiemu/runtime/config.h: likewise
30559 * efiemu/prepare32.c: likewise
30560 * efiemu/main.c: likewise
30561 * efiemu/modules/pnvram.c: likewise
30562 * efiemu/modules/i386: likewise
30563 * efiemu/modules/i386/pc: likewise
30564 * efiemu/modules/acpi.c: likewise
30565 * efiemu/i386/pc/cfgtables.c: likewise
30566 * efiemu/i386/loadcore64.c: likewise
30567 * efiemu/i386/loadcore32.c: likewise
30568 * efiemu/prepare64.c: likewise
30569 * efiemu/loadcore.c: likewise
30570 * efiemu/symbols.c: likewise
30571 * efiemu/mm.c: likewise
30572 * efiemu/loadcore32.c: likewise
30573
30574 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30575
30576 ACPI spoofing
30577
30578 * commands/acpi.c: new file
30579 * commands/i386/pc/acpi.c: likewise
30580 * commands/efi/acpi.c: likewise
30581 * include/grub/acpi.h: likewise
30582 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
30583 (acpi_mod_SOURCES): new variable
30584 (acpi_mod_CFLAGS): likewise
30585 (acpi_mod_LDFLAGS): likewise
30586 * conf/i386-efi.rmk: likewise
30587 * conf/x86_64-efi.rmk: likewise
30588
30589 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30590
30591 Missing part from mmap patch
30592
30593 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
30594 (grub_mmap_unregister)
30595 (grub_mmap_free_and_unregister): use grub_mmap_register
30596
30597 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30598
30599 Mmap services
30600
30601 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
30602 * loader/i386/linux.c (find_mmap_size): likewise
30603 (allocate_pages): likewise
30604 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
30605 (grub_fill_multiboot_mmap): likewise
30606 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
30607 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
30608 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
30609 (OPENBSD_MMAP_RESERVED): likewise
30610 * include/grub/i386/pc/memory.h: include grub/memory.h
30611 (grub_lower_mem): removed
30612 (grub_upper_mem): likewise
30613 (GRUB_MACHINE_MEMORY_ACPI): new definition
30614 (GRUB_MACHINE_MEMORY_NVS): likewise
30615 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
30616 (GRUB_MACHINE_MEMORY_HOLE): likewise
30617 (grub_machine_mmap_register): likewise
30618 (grub_machine_mmap_unregister): likewise
30619 (grub_machine_get_upper): likewise
30620 (grub_machine_get_lower): likewise
30621 (grub_machine_get_post64): likewise
30622 * include/grub/i386/efi/memory.h: new file
30623 * include/grub/x86_64/efi/memory.h: likewise
30624 * include/grub/efi/memory.h: likewise
30625 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
30626 (mmap_mod_SOURCES): new variable
30627 (mmap_mod_LDFLAGS): likewise
30628 (mmap_mod_ASFLAGS): likewise
30629 * conf/i386-coreboot.rmk: likewise
30630 * conf/i386-ieee1275.rmk: likewise
30631 * conf/i386-efi.rmk: likewise
30632 * conf/x86_64-efi.rmk: likewise
30633 * include/grub/types.h (UINT_TO_PTR): new macro
30634 (PTR_TO_UINT32): likewise
30635 (PTR_TO_UINT64): likewise
30636 * include/grub/memory.h: new file
30637 * mmap/i386/pc/mmap.c: likewise
30638 * mmap/i386/pc/mmap_helper.S: likewise
30639 * mmap/i386/uppermem.c: likewise
30640 * mmap/mmap.c: likewise
30641 * mmap/efi/mmap.c: likewise
30642 * kern/i386/coreboot/init.c (grub_machine_init): don't use
30643 grub_upper_mem
30644 * kern/i386/pc/init.c (grub_lower_mem): removed variable
30645 (grub_upper_mem): likewise
30646 (grub_machine_init): don't use grub_upper_mem,
30647 make grub_lower_mem local
30648 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
30649 grub_mmap_iterate and grub_mmap_get_upper
30650 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
30651
30652 2009-05-02 Bean <bean123ch@gmail.com>
30653
30654 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
30655 script/sh/parser.y.
30656 (pkglib_MODULES): Add normal.mod and sh.mod.
30657 (normal_SOURCES): New variable.
30658 (normal_mod_CFLAGS): Likewise.
30659 (normal_mod_LDFLAGS): Likewise.
30660 (sh_mod_SOURCES): Likewise.
30661 (sh_mod_CFLAGS): Likewise.
30662 (sh_mod_LDFLAGS): Likewise.
30663
30664 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
30665 script/sh/lexer.c_DEPENDENCIES.
30666 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
30667 kern/rescue_reader.c and kern/rescue_parser.c.
30668 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
30669 (grub_emu_SOURCES): Change source files.
30670 (pkglib_MODULES): Remove normal.mod.
30671 (normal_SOURCES): Removed.
30672 (normal_mod_CFLAGS): Likewise.
30673 (normal_mod_LDFLAGS): Likewise.
30674 * conf/i386-coreboot.rmk: Likewise.
30675 * conf/i386-efi.rmk: Likewise.
30676 * conf/i386-ieee1276.rmk: Likewise.
30677 * conf/powerpc-ieee1275.rmk: Likewise.
30678 * conf/sparc64-ieee1275.rmk: Likewise.
30679 * conf/x86_64-efi.rmk: Likewise.
30680
30681 * include/grub/command.h (grub_command_execute): New inline function.
30682
30683 * include/grub/menu.h (grub_menu_entry): Removed commands field.
30684
30685 * include/grub/normal.h: Remove <grub/setjmp.h>.
30686 (grub_fs_module_list): Moved to normal/autofs.c.
30687 (grub_exit_env): Removed.
30688 (grub_command_execute): Likewise.
30689 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
30690 parameter script.
30691 (read_command_list): New function declaration.
30692 (read_fs_list): Likewise.
30693
30694 * include/parser.h: Include <grub/reader.h>.
30695 (grub_parser_split_cmdline): Change type of getline parameter.
30696 (grub_parser): New structure.
30697 (grub_parser_class): New variable.
30698 (grub_parser_execute): New function declaration.
30699 (grub_register_rescue_parser): Likewise.
30700 (grub_parser_register): New inline function.
30701 (grub_parser_unregister): Likewise.
30702 (grub_parser_get_current): Likewise.
30703 (grub_parser_set_current): Likewise.
30704
30705 * include/grub/reader.h: New file.
30706 * kern/reader.c: Likewise.
30707 * kern/rescue_parser.c: Likewise.
30708 * kern/rescue_reader.c: Likewise.
30709 * normal/autofs.c: Likewise.
30710 * normal/dyncmd.c: Likewise.
30711
30712 * include/grub/rescue.h: Removed.
30713 * normal/command.h: Likewise.
30714
30715 * include/grub/script.h: Moved to ...
30716 * include/grub/script_sh.h: ... Moved here.
30717 * normal/execute.c: Moved to ...
30718 * script/sh/execute.c: ... Moved here.
30719 * normal/function.c: Moved to ...
30720 * script/sh/function.c: ... Moved here.
30721 * normal/lexer.c: Moved to ...
30722 * script/sh/lexer.c: ... Moved here.
30723 * normal/parser.y: Moved to ...
30724 * script/sh/parser.y: ... Moved here.
30725 * normal/script.c: Moved to ...
30726 * script/sh/script.c: ... Moved here.
30727
30728 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
30729 <grub/reader.h>.
30730 (grub_exit_env): Removed.
30731 (fs_module_list): Moved to normal/autofs.c.
30732 (grub_file_getline): Don't handle comment here.
30733 (free_menu): Skip removed field entry->commands.
30734 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
30735 script parameter.
30736 (read_config_file): Removed nested parameter, change getline function.
30737 (grub_enter_normal_mode): Removed.
30738 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
30739 (read_command_list): Likewise.
30740 (autoload_fs_module): Moved to normal/autofs.c.
30741 (read_fs_list): Likewise.
30742 (reader_nested): New variable.
30743 (grub_normal_execute): Run parser.sh to switch to sh parser.
30744 (grub_cmd_rescue): Removed.
30745 (cmd_normal): Removed.
30746 (grub_cmd_normal): Unregister itself at the beginning. Don't register
30747 rescue command.
30748 (grub_cmdline_run): New function.
30749 (grub_normal_reader_init): Likewise.
30750 (grub_normal_read_line): Likewise.
30751 (grub_env_write_pager): Likewise.
30752 (cmdline): New variable.
30753 (grub_normal_reader): Likewise.
30754 (GRUB_MOD_INIT): Register normal reader and set as current, register
30755 pager hook, register normal command with grub_register_command_prio,
30756 so that it won't show up in command.lst.
30757 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
30758 grub_fs_autoload_hook.
30759
30760 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
30761 (grub_menu_execute_entry): Replace grub_script_execute with
30762 grub_parser_execute, change parameter to grub_command_execute.
30763
30764 * normal/menu_text.c: Remove <grub/script.h>.
30765
30766 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
30767 and <grub/parser.h>.
30768 (run): Change editor_getline to use new parser interface. Change
30769 parameter to grub_command_execute.
30770
30771 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
30772 <grub/reader.h> and <grub/parser.h>.
30773 (grub_load_normal_mode): Execute normal command.
30774 (grub_main): Call grub_register_core_commands,
30775 grub_register_rescue_parser and grub_register_rescue_reader, use
30776 grub_reader_loop to enter input loop.
30777
30778 * kern/parser.c (grub_parser_split_cmdline): Change type of
30779 getline parameter.
30780 (grub_parser_class): New variable.
30781 (grub_parser_execute): New function.
30782
30783 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
30784 * loader/multiboot2.c: Likewise.
30785 * loader/sparc64/ieee1275/linux.c: Likewise.
30786
30787 * util/grub-emu.c (read_command_list): New dummy function.
30788
30789 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30790
30791 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
30792 count to 16 for CCISS and IDA.
30793
30794 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30795
30796 * normal/menu_text.c (grub_wait_after_message): Print a newline
30797 after waiting for user input.
30798
30799 * loader/i386/linux.c: Include `<grub/normal.h>'.
30800 (grub_cmd_linux): Improve the error message about `ask' mode, by
30801 waiting for user input so it's not missed (we can do this, since
30802 user requested interaction).
30803
30804 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30805
30806 Added missing lst to grub-mkrescue
30807
30808 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
30809 and ${input_dir}/parttool.lst
30810
30811 2009-04-30 David S. Miller <davem@davemloft.net>
30812
30813 * util/hostdisk.c (device_is_wholedisk): New function.
30814 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
30815 zero only if device_is_wholedisk() returns true.
30816
30817 * util/hostdisk.c (convert_system_partition_to_system_disk):
30818 Handle virtual disk devices named /dev/vdiskX as found on sparc
30819 and powerpc.
30820
30821 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
30822 lettered partition specifier is found, convert to numbered.
30823
30824 2009-04-29 David S. Miller <davem@davemloft.net>
30825
30826 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
30827 * include/grub/sparc64/ieee1275/memory.h: Likewise.
30828
30829 * normal/command.c: Add missing newline at end of file.
30830
30831 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
30832 warnings.
30833 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
30834 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
30835 grub_ofdisk_read): Likewise, and deal similarly with the fact that
30836 ihandles have a 32-bit type but need to be stored in a "void *".
30837
30838 2009-04-28 Pavel Roskin <proski@gnu.org>
30839
30840 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
30841 not disk. Adjust all dependencies.
30842 (grub_fs_uuid_close): Use grub_device_close(), not
30843 grub_disk_close().
30844
30845 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
30846 parent's partition, don't copy it by reference, as it gets freed
30847 on close.
30848
30849 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
30850
30851 Preboot hooks support
30852
30853 * commands/boot.c (struct grub_preboot_t): new declaration
30854 (preboots_head): new variable
30855 (preboots_tail): likewise
30856 (grub_loader_register_preboot_hook): new function
30857 (grub_loader_unregister_preboot_hook): likewise
30858 (grub_loader_set): launch preboot hooks
30859 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
30860 (grub_loader_register_preboot_hook): new declaration
30861 (grub_loader_unregister_preboot_hook): likewise
30862
30863 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
30864
30865 Warning fix
30866
30867 * disk/scsi.c (grub_scsi_open): added missing cast when
30868 calling grub_dprintf
30869
30870 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
30871
30872 Bug and warning fixes
30873
30874 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
30875 declaration
30876 * commands/test.c (test_parse): fixed bug with file tests and corrected
30877 declaration of find_file
30878
30879 2009-04-26 Pavel Roskin <proski@gnu.org>
30880
30881 * Makefile.in: Don't install empty manual pages if help2man is
30882 missing. Use help2man option for output, not shell redirection.
30883
30884 2009-04-26 David S. Miller <davem@davemloft.net>
30885
30886 * util/grub-mkdevicemap.c (make_device_map): Add missing
30887 NESTED_FUNC_ATTR to process_device().
30888
30889 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
30890
30891 Test command
30892
30893 * commands/test.c: rewritten to use bash-like test
30894
30895 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
30896
30897 Parttool autoloading and improvements
30898
30899 * Makefile.in (pkglib_DATA): add parttool.lst
30900 (parttool.lst): new target
30901 * genmk.rb: generate parttool-*
30902 (CLEANFILES): add #{parttool}
30903 (PARTTOOLFILES): new variable
30904 * genparttoollist.sh: new file
30905 * parttool/pcpart.c (grub_pcpart_boot): more feedback
30906 (grub_pcpart_type): likewise
30907 * commands/parttool.c (helpmsg): new variable
30908 (grub_cmd_parttool): output help if not enough arguments are supplied
30909 autoload modules
30910 (GRUB_MOD_INIT(parttool)): use helpmsg
30911
30912 2009-04-24 David S. Miller <davem@davemloft.net>
30913
30914 Avoiding opening same device multiple times in device iterator.
30915
30916 * kern/device.c: (grub_device_iterate): Define struct part_ent,
30917 and use it to build a list of partitions in iterate_disk() and
30918 iterate_partition().
30919
30920 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
30921 on disk->data.
30922
30923 * disk/ieee1275/nand.c (grub_nand_iterate): Return
30924 grub_devalias_iterate() result instead of unconditional 0.
30925 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
30926 Also, capture hook return value, either directly or via
30927 grub_children_iterate(), and propagate to caller.
30928 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
30929 grub_children_iterate): Return value is now 'int' instead of
30930 'grub_err_t'.
30931 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
30932 like a proper iterator, stopping when hooks return non-zero.
30933 (grub_devalias_iterate): Likewise.
30934
30935 2009-04-23 David S. Miller <davem@davemloft.net>
30936
30937 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
30938
30939 2009-04-22 David S. Miller <davem@davemloft.net>
30940
30941 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
30942 is larger than address_cells, use that value for address_cells too.
30943
30944 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
30945 IEEE1275_MAX_PATH_LEN): Define.
30946 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
30947 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
30948 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
30949 'devtype'. Explicitly NULL terminate devalias expansion.
30950
30951 * util/sparc64/ieee1275/misc.c: New file.
30952 * util/sparc64/ieee1275/grub-setup.c: New file.
30953 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
30954 * util/sparc64/ieee1275/grub-mkimage.c: New file.
30955 * util/sparc64/ieee1275/grub-install.in: New file.
30956 * util/ieee1275/ofpath.c: New file.
30957 * util/ieee1275/devicemap.c: New file.
30958 * util/devicemap.c: New file.
30959 * util/deviceiter.c: New file.
30960 * kern/sparc64/ieee1275/init.c: New file.
30961 * include/grub/util/ofpath.h: New file.
30962 * include/grub/util/deviceiter.h: New file.
30963 * util/grub-mkdevicemap.c: Include deviceiter.h.
30964 Implement using grub_util_emit_devicemap_entry and
30965 grub_util_iterate_devices.
30966 * conf/i386-corebook.rmk: Build util/deviceiter.c and
30967 util/devicemap.c into grub-mkdevicemap
30968 * conf/i386-efi.rmk: Likewise.
30969 * conf/i386-ieee1275.rmk: Likewise.
30970 * conf/i386-pc.rmk: Likewise.
30971 * conf/powerpc-ieee1275.rmk: Likewise.
30972 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
30973 images and installation utilities. Build kernel as image
30974 instead of as elf binary. Use common rules as much as possible.
30975
30976 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
30977
30978 Correct GPT definition
30979
30980 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
30981 of "attrib" member
30982
30983 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
30984
30985 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
30986
30987 2009-04-19 David S. Miller <davem@davemloft.net>
30988
30989 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
30990 (grub_rescue_cmd_linux): Rename to...
30991 (grub_cmd_linux): and fix prototype.
30992 (grub_rescue_cmd_initrd): Rename to...
30993 (grub_cmd_initrd): and fix prototype.
30994 (cmd_linux, cmd_initrd): New.
30995 (GRUB_MOD_INIT(linux)): Use grub_register_command().
30996 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
30997
30998 2009-04-17 Pavel Roskin <proski@gnu.org>
30999
31000 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
31001 format.
31002 (grub_ohci_transfer): Likewise.
31003
31004 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
31005
31006 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
31007 return without a value. Fix inconsistent indentation.
31008
31009 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
31010 match struct grub_fs.
31011
31012 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
31013 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
31014 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
31015 * commands/lspci.c (grub_lspci_iter): Likewise.
31016
31017 2009-04-16 Bean <bean123ch@gmail.com>
31018
31019 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
31020 value.
31021
31022 2009-04-15 Pavel Roskin <proski@gnu.org>
31023
31024 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
31025 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
31026 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
31027 definitions.
31028
31029 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
31030
31031 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
31032 that no multiple data or metadata areas are supported and `Unknown
31033 metadata header'.
31034
31035 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
31036
31037 Move loader out of the kernel
31038
31039 * kern/loader.c: moved to ...
31040 * commands/boot.c: ... moved here
31041 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
31042 * commands/boot.c (grub_cmd_boot): moved here. All users updated
31043 * include/grub/kernel.h (grub_machine_fini): export
31044 * include/grub/loader.h (grub_loader_is_loaded): update declaration
31045 (grub_loader_set): likewise
31046 (grub_loader_unset): likewise
31047 (grub_loader_boot): likewise
31048 * conf/common.rmk: new module boot.mod
31049 (pkglib_MODULES): add boot.mod
31050 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
31051 (grub_emu_SOURCES): likewise
31052 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
31053 (grub_emu_SOURCES): likewise
31054 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
31055 (grub_emu_SOURCES): likewise
31056 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
31057 (grub_emu_SOURCES): likewise
31058 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
31059 (grub_emu_SOURCES): likewise
31060 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
31061 (grub_emu_SOURCES): likewise
31062 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
31063 (grub_emu_SOURCES): likewise
31064
31065 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
31066
31067 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
31068
31069 * kern/misc.c (grub_itoa): Removed function
31070 (grub_ltoa): likewise
31071 (grub_vsprintf): use grub_lltoa
31072
31073 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
31074
31075 Restore grub-emu
31076
31077 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
31078 * conf/i386-coreboot.rmk: likewise
31079 * conf/i386-ieee1275.rmk: likewise
31080 * conf/powerpc-ieee1275.rmk: likewise
31081
31082 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
31083
31084 * INSTALL: Add that `./autogen.sh' needs to be run before
31085 `./configure.'.
31086
31087 2009-04-14 Bean <bean123ch@gmail.com>
31088
31089 * Makefile.in (pkglib_DATA): Add handler.lst.
31090 (handler.lst): New rule.
31091
31092 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
31093 * conf/i386-coreboot.rmk: Likewise.
31094 * conf/i386-ieee1275.rmk: Likewise.
31095 * conf/i386-efi.rmk: Likewise.
31096 * conf/x86_64-efi.rmk: Likewise.
31097 * conf/powerpc-ieee1275.rmk: Likewise.
31098 * conf/sparc64-ieee1275.rmk: Likewise.
31099
31100 * genhandlerlist.sh: New file.
31101
31102 * genmk.rb: Add rules to generate handler.lst.
31103
31104 * include/grub/normal.h (grub_file_getline): New function definition.
31105 (read_handler_list): Likewise.
31106 (free_handler_list): Likewise.
31107
31108 * include/grub/term.h (grub_term_register_input): Add name parameter
31109 for auto generation of handler.lst.
31110 (grub_term_register_output): Likewise.
31111
31112 * normal/handler.c: New file.
31113
31114 * normal/main.c (get_line): Renamed to grub_file_getline.
31115 (read_config_file): Use the newly renamed grub_file_getline.
31116 (read_command_list): Likewise.
31117 (read_fs_list): Likewise.
31118 (grub_normal_execute): Call read_handler_list to parse handler.lst.
31119 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
31120
31121 * term/efi/console.c (grub_console_init): Add name parameter for auto
31122 generation of handler.lst.
31123 * term/gfxterm.c: Likewise.
31124 * term/i386/pc/at_keyboard.c: Likewise.
31125 * term/i386/pc/console.c: Likewise.
31126 * term/i386/pc/serial.c: Likewise.
31127 * term/i386/pc/vesafb.c: Likewise.
31128 * term/i386/pc/vga.c: Likewise.
31129 * term/i386/pc/vga_text.c: Likewise.
31130 * term/ieee1275/ofconsole.c: Likewise.
31131 * term/usb_keyboard.c: Likewise.
31132
31133 2009-04-14 Bean <bean123ch@gmail.com>
31134
31135 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
31136 properly with null character.
31137
31138 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
31139
31140 * configure: Remove.
31141 * config.h.in: Likewise.
31142 * stamp-h.in: Likewise.
31143 * DISTLIST: Likewise.
31144 * conf/common.mk: Likewise.
31145 * conf/i386-coreboot.mk: Likewise.
31146 * conf/i386-efi.mk: Likewise.
31147 * conf/i386-ieee1275.mk: Likewise.
31148 * conf/i386.mk: Likewise.
31149 * conf/i386-pc.mk: Likewise.
31150 * conf/powerpc-ieee1275.mk: Likewise.
31151 * conf/sparc64-ieee1275.mk: Likewise.
31152 * conf/x86_64-efi.mk: Likewise.
31153
31154 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
31155 develop on GRUB.
31156
31157 2009-04-14 John Stanley <jpsinthemix@verizon.net>
31158 David S. Miller <davem@davemloft.net>
31159
31160 * util/hostdisk.c (make_device_name): Fix buffer length
31161 calculations.
31162
31163 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
31164
31165 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
31166 <sys/param.h> and <sys/sysctl.h>.
31167 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
31168 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
31169 opening the device and reset them afterwards.
31170
31171 2009-04-13 Pavel Roskin <proski@gnu.org>
31172
31173 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
31174 Reported by John Stanley <jpsinthemix@verizon.net>
31175
31176 2009-04-13 Robert Millan <rmh@aybabtu.com>
31177
31178 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
31179 that name for menuentries when appropriate.
31180
31181 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
31182
31183 * util/grub.d/10_freebsd.in: Add a missing `fi'.
31184
31185 2009-04-13 Robert Millan <rmh@aybabtu.com>
31186
31187 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
31188 to Linux, simply abort telling the user it's no longer supported.
31189
31190 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
31191
31192 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
31193 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
31194 `freebsd_loadenv' only when devices.hints exist.
31195
31196 2009-04-13 Pavel Roskin <proski@gnu.org>
31197
31198 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
31199
31200 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
31201
31202 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
31203 partition number.
31204 (grub_drive): Likewise.
31205
31206 2009-04-13 David S. Miller <davem@davemloft.net>
31207
31208 * kern/sparc64/ieee1275/ieee1275.c: New file.
31209 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
31210 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
31211 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
31212 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
31213 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
31214 grub_ieee1275_alloc_physmem): Declare new exported functions.
31215
31216 * include/grub/sparc64/ieee1275/loader.h: New file.
31217 * include/grub/sparc64/ieee1275/memory.h: Likewise.
31218 * include/grub/sparc64/kernel.h: Likewise.
31219 * loader/sparc64/ieee1275/linux.c: Likewise.
31220
31221 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
31222 (grub_fstest_SOURCES): Likewise.
31223
31224 * util/hostdisk.c (make_device_name): Do not make any assumptions
31225 about the length of drive names.
31226
31227 * kern/dl.c (grub_dl_load_file): Close file immediately when
31228 we are done using it.
31229
31230 2009-04-12 David S. Miller <davem@davemloft.net>
31231
31232 * kern/misc.c (grub_ltoa): Fix cast when handling negative
31233 values. Noticed by Pavel Roskin.
31234
31235 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
31236 target compiler.
31237
31238 * genmk.rb: Add more flexible image type specification, also
31239 pass --strip-unneeded to objcopy.
31240 * conf/i386-pc.rmk: Use *_FORMAT.
31241 * conf/i386-pc.mk: Rebuilt.
31242
31243 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
31244 (OFDISK_HASH_SZ): Define.
31245 (ofdisk_hash): New hash table.
31246 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
31247 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
31248 instead of device phandle which is not unique.
31249
31250 * kern/sparc64/ieee1275/init.c: Delete, replace with...
31251 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
31252 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
31253 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
31254 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
31255 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
31256 GRUB_KERNEL_MACHINE_DATA_END): Define.
31257 (grub_kernel_image_size, grub_total_module_size): Declare.
31258
31259 2009-04-12 Pavel Roskin <proski@gnu.org>
31260
31261 * configure.ac: Change the logic when we check for target tools.
31262 Do it when the target is specified and it's different from the
31263 specified value of the host.
31264
31265 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
31266
31267 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
31268 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
31269 GNU/kFreeBSD. Check if a device is a character device. Use
31270 DIOCGMEDIASIZE to get the size.
31271 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
31272 support for GNU/kFreeBSD.
31273 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
31274 is a character device instead of a block device. Add support for
31275 FreeBSD device names.
31276
31277 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
31278 is a character device instead of a block device.
31279
31280 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
31281 is a character device instead of a block device.
31282
31283 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
31284
31285 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
31286 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
31287 FreeBSD. Check if a device is a character device. Use
31288 DIOCGMEDIASIZE to get the size.
31289 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
31290 support for FreeBSD.
31291 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
31292 is a character device instead of a block device. Add support for
31293 FreeBSD device names.
31294
31295 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
31296 a character device instead of a block device.
31297 (grub_util_check_char_device): New function.
31298
31299 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
31300 a character device instead of a block device.
31301
31302 * include/grub/util/getroot.h (grub_util_check_char_device): New
31303 prototype.
31304
31305 2009-04-11 David S. Miller <davem@davemloft.net>
31306
31307 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
31308 static libgcc.
31309 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
31310 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
31311 function, if present.
31312 (__bswapdi2): Likewise.
31313
31314 * include/grub/sparc64/ieee1275/boot.h: New file.
31315 * boot/sparc64/ieee1275/boot.S: Likewise.
31316 * boot/sparc64/ieee1275/diskboot.S: Likewise.
31317
31318 * kern/misc.c (grub_ltoa): New function.
31319 (grub_vsprintf): Use it to format 'long' integers.
31320
31321 2009-04-10 David S. Miller <davem@davemloft.net>
31322
31323 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
31324 slots are of type grub_ieee1275_cell_t.
31325 (grub_nand_read): Likewise.
31326 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
31327 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
31328 macros are used to compare values in arg/ret block of the call.
31329 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
31330 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
31331 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
31332 grub_ieee1275_instance_to_path, grub_ieee1275_write,
31333 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
31334 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
31335 grub_ieee1275_close, grub_ieee1275_set_property,
31336 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
31337 grub_ieee1275_cell_t.
31338 * kern/ieee1275/openfw.c (grub_map): Likewise.
31339 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
31340 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
31341
31342 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
31343 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
31344 (grub_devalias_iterate): Likewise.
31345
31346 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
31347
31348 UFS improvements
31349
31350 * fs/ufs.c (INODE_NBLOCKS): new definition
31351 (struct grub_ufs_dirent): added fields for non-BSD dirents
31352 (grub_ufs_get_file_block): fixed double indirect handling
31353 (grub_ufs_lookup_symlink): use more robust way to determine whether
31354 symlink is inline
31355 (grub_ufs_find_file): support for non-BSD dirents
31356 (grub_ufs_dir): support for non-BSD dirents
31357
31358 2009-04-10 Bean <bean123ch@gnail.com>
31359
31360 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
31361 attribute, otherwise the size would be wrong for i386 platform.
31362
31363 * include/grub/pci.h (grub_pci_read_word): New inline function.
31364 (grub_pci_read_byte): Likewise.
31365 (grub_pci_write): Likewise.
31366 (grub_pci_write_word): Likewise.
31367 (grub_pci_write_byte): Likewise.
31368
31369 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
31370
31371 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
31372 (find_framebuf): Scan pci to locate the frame buffer address.
31373
31374 * commands/efi/fixvideo.c: New file.
31375
31376 * commands/efi/loadbios.c: Likewise.
31377
31378 * commands/memrw.c: Likewise.
31379
31380 * util/grub-dumpbios.in: Likewise.
31381
31382 * conf/common.rmk (grub-dumpbios): New utility.
31383 (pkglib_MODULES): New module memrw.mod.
31384 (memrw_mod_SOURCE): New macro.
31385 (memrw_mod_CFLAGS): Likewise.
31386 (memrw_mod_LDFLAGS): Likewise.
31387
31388 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
31389 fixvideo.mod.
31390 (loadbios_mod_SOURCE): New macro.
31391 (loadbios_mod_CFLAGS): Likewise.
31392 (loadbios_mod_LDFLAGS): Likewise.
31393 (fixvideo_mod_SOURCE): Likewise.
31394 (fixvideo_mod_CFLAGS): Likewise.
31395 (fixvideo_mod_LDFLAGS): Likewise.
31396
31397 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
31398 fixvideo.mod.
31399 (loadbios_mod_SOURCE): New macro.
31400 (loadbios_mod_CFLAGS): Likewise.
31401 (loadbios_mod_LDFLAGS): Likewise.
31402 (fixvideo_mod_SOURCE): Likewise.
31403 (fixvideo_mod_CFLAGS): Likewise.
31404 (fixvideo_mod_LDFLAGS): Likewise.
31405
31406 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
31407
31408 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
31409
31410 2009-04-07 David S. Miller <davem@davemloft.net>
31411
31412 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
31413 support for R_SPARC_OLO10 relocations. Fix compile warning for
31414 R_SPARC_WDISP30 case.
31415 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
31416
31417 2009-04-06 Pavel Roskin <proski@gnu.org>
31418
31419 * include/grub/misc.h (ARRAY_SIZE): New macro.
31420 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
31421 New macro.
31422 * loader/i386/linux.c (allocate_pages): Use free_pages().
31423 (grub_linux_unload): Don't use free_pages().
31424 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
31425 wrong index. Treat all other modes as text modes.
31426 (grub_cmd_linux): Initialize vid_mode unconditionally to
31427 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
31428
31429 * commands/help.c (print_command_help): Use cmd->prio, not
31430 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
31431
31432 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
31433
31434 Parttool
31435
31436 * parttool/pcpart.c: new file
31437 * commands/parttool.c: likewise
31438 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
31439 (parttool_mod_SOURCES): new variable
31440 (parttool_mod_CFLAGS): likewise
31441 (parttool_mod_LDFLAGS): likewise
31442 (pcpart_mod_SOURCES): likewise
31443 (pcpart_mod_CFLAGS): likewise
31444 (pcpart_mod_LDFLAGS): likewise
31445 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
31446 and parttool/pcpart.c
31447 * conf/i386-efi.rmk: likewise
31448 * conf/i386-ieee1275.rmk: likewise
31449 * conf/i386-pc.rmk: likewise
31450 * conf/powerpc-ieee1275.rmk: likewise
31451 * conf/sparc64-ieee1275.rmk: likewise
31452 * conf/x86_64-ieee1275.rmk: likewise
31453
31454 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31455
31456 Support for mtime and further expandability of dir command
31457
31458 * include/grub/lib/datetime.h: moved to ...
31459 * include/grub/datetime.h: ... moved here and added
31460 declaration of grub_unixtime2datetime. All users updated
31461 * include/grub/fs.h: new syntax for dir and mtime functions in
31462 struct grub_fs
31463 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
31464 and GRUB_FSHELP_FLAGS_MASK
31465 * commands/ls.c (grub_ls_list_files): Write mtime in long format
31466 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
31467 (grub_ext2_mtime): new function
31468 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
31469 (grub_hfsplus_mtime): new function
31470 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
31471 (GRUB_UFS_ATTR_FILE): likewise
31472 (GRUB_UFS_ATTR_LNK): likewise
31473 (struct grub_ufs_sblock): new fields mtime
31474 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
31475 all users updated
31476 (grub_ufs_dir): mtime support
31477 (grub_ufs_mtime): new function
31478 * fs/affs.c (grub_affs_dir): use new dir syntax
31479 * fs/afs.c (grub_afs_dir): likewise
31480 * fs/cpio.c (grub_cpio_dir): likewise
31481 * fs/fat.c (grub_fat_find_dir): likewise
31482 * fs/hfs.c (grub_hfs_dir): likewise
31483 * fs/iso9660.c (grub_iso9660_dir): likewise
31484 * fs/jfs.c (grub_jfs_dir): likewise
31485 * fs/minix.c (grub_minix_dir): likewise
31486 * fs/ntfs.c (grub_ntfs_dir): likewise
31487 * fs/reiserfs.c (grub_reiserfs_dir): likewise
31488 * fs/sfs.c (grub_sfs_dir): likewise
31489 * fs/xfs.c (grub_xfs_dir): likewise
31490 * util/hostfs.c (grub_hostfs_dir): likewise
31491 * lib/datetime.c: moved to ...
31492 * normal/datetime.c: ... moved here
31493 (grub_unixtime2datetime): new function
31494 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
31495 * normal/completion.c (iterate_dir): use new dir syntax
31496 * normal/misc.c (grub_normal_print_device_info): tell the
31497 last modification time of a volume
31498 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
31499 * conf/common.rmk: added lib/datetime.c to ls.mod
31500 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
31501 (normal_mod_SOURCES): likewise
31502 (datetime_mod_SOURCES): Removed lib/datetime.c
31503 * conf/i386-efi.rmk: likewise
31504 * conf/i386-ieee1275.rmk: likewise
31505 * conf/i386-pc.rmk: likewise
31506 * conf/powerpc-ieee1275.rmk: likewise
31507 * conf/sparc64-ieee1275.rmk: likewise
31508 * conf/x86_64-efi.rmk: likewise
31509
31510 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31511
31512 Trim trailing spaces in FAT label and support mtools-like labels
31513
31514 * fs/fat.c (grub_fat_iterate_dir): New function based
31515 on grub_fat_find_dir
31516 (grub_fat_find_dir): use grub_fat_iterate_dir
31517 (grub_fat_label): likewise
31518
31519 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
31520
31521 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
31522 and command.h
31523 remove extraneous kernel_elf_HEADERS
31524
31525 2009-04-04 Bean <bean123ch@gnail.com>
31526
31527 * include/grub/util/misc.h: Add dummy function fsync for mingw.
31528
31529 * util/misc.c: Likewise.
31530
31531 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31532
31533 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
31534 instead of grub_printf.
31535
31536 2009-04-03 Robert Millan <rmh@aybabtu.com>
31537
31538 * loader/i386/linux.c (grub_linux_setup_video): Fill
31539 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
31540 values from `mode info' structure instead of hardcoded
31541 values.
31542
31543 2009-04-01 Pavel Roskin <proski@gnu.org>
31544
31545 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
31546 unused now.
31547 * genmk.rb: Likewise.
31548 * configure.ac: Likewise.
31549
31550 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
31551
31552 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
31553 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
31554
31555 2009-04-01 David S. Miller <davem@davemloft.net>
31556
31557 * normal/sparc64/setjmp.S: Fix setjmp implementation.
31558 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
31559 (grub_setjmp): Mark with 'returns_twice' attribute.
31560 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
31561 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
31562 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
31563
31564 2009-04-01 Robert Millan <rmh@aybabtu.com>
31565
31566 Reapply fix from 2008-07-28 which was accidentally reverted; also
31567 perform the same fix to a similar check in same function.
31568
31569 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
31570 with the same number are found, just use issue a warning with
31571 grub_dprintf(), as this error has been reported to be non-fatal.
31572
31573 2009-03-31 Pavel Roskin <proski@gnu.org>
31574
31575 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
31576 for cross-compilation.
31577
31578 2009-03-30 Robert Millan <rmh@aybabtu.com>
31579
31580 Fix i386-ieee1275 build.
31581
31582 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
31583 Remove declaration.
31584
31585 2009-03-30 Pavel Roskin <proski@gnu.org>
31586
31587 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
31588 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
31589 zero-terminated, rely only on the strlen value. Fix comparison
31590 of strings differing in length.
31591
31592 2009-03-30 Robert Millan <rmh@aybabtu.com>
31593
31594 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
31595 checking for abi version. Improve error messages on BIOS to notify
31596 user about `linux16' command.
31597
31598 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
31599
31600 Leak fixes
31601
31602 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
31603 in case of collision
31604 * disk/scsi.c (grub_scsi_open): free scsi in case of error
31605
31606 2009-03-29 Robert Millan <rmh@aybabtu.com>
31607
31608 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
31609 set `vid_mode' accordingly.
31610 (grub_linux_boot): Process `vid_mode' and set video mode.
31611
31612 2009-03-29 Robert Millan <rmh@aybabtu.com>
31613
31614 * util/grub.d/10_linux.in (linux_entry): New function.
31615 Factorize generation of Linux boot entries.
31616
31617 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
31618
31619 Make the format of Environment Block plain text. The boot loader
31620 part is not tested well yet.
31621
31622 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
31623 (buffer): Removed.
31624 (envblk): Likewise.
31625 (usage): Remove "info" and "clear". Add "unset". Update the
31626 description of "set", as this does not delete variables any
31627 longer.
31628 (create_envblk_file): Complete rewrite.
31629 (open_envblk_file): Likewise.
31630 (cmd_info): Removed.
31631 (cmd_list): Likewise.
31632 (cmd_set): Likewise.
31633 (cmd_clear): Likewise.
31634 (list_variables): New function.
31635 (write_envblk): Likewise.
31636 (set_variables): Likewise.
31637 (unset_variables): Likewise.
31638 (main): Complete rewrite.
31639
31640 * commands/loadenv.c (buffer): Removed.
31641 (envblk): Likewise.
31642 (open_envblk_file): New function.
31643 (read_envblk_file): Complete rewrite.
31644 (grub_cmd_load_env): Likewise.
31645 (grub_cmd_list_env): Likewise.
31646 (struct blocklist): New struct.
31647 (free_blocklists): New function.
31648 (check_blocklists): Likewise.
31649 (write_blocklists): Likewise.
31650 (grub_cmd_save_env): Complete rewrite.
31651
31652 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
31653 a plain text signature.
31654 (GRUB_ENVBLK_MAXLEN): Removed.
31655 (struct grub_envblk): Complete rewrite.
31656 (grub_envblk_find): Removed.
31657 (grub_envblk_insert): Likewise.
31658 (grub_envblk_open): New prototype.
31659 (grub_envblk_set): Likewise.
31660 (grub_envblk_delete): Put const to VALUE.
31661 (grub_envblk_iterate): Put const to NAME and VALUE.
31662 (grub_envblk_close): New prototype.
31663 (grub_envblk_buffer): New inline function.
31664 (grub_envblk_size): Likewise.
31665
31666 * lib/envblk.c: Include grub/mm.h.
31667 (grub_env_find): Removed.
31668 (grub_envblk_open): New function.
31669 (grub_envblk_close): Likewise.
31670 (escaped_value_len): Likewise.
31671 (find_next_line): Likewise.
31672 (grub_envblk_insert): Removed.
31673 (grub_envblk_set): New function.
31674 (grub_envblk_delete): Complete rewrite.
31675 (grub_envblk_iterate): Likewise.
31676
31677 2009-03-28 Robert Millan <rmh@aybabtu.com>
31678
31679 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
31680 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
31681 variables. Use 16-bit loader.
31682 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
31683 loader.
31684 * kern/i386/loader.S (grub_linux_boot): Rename to ...
31685 (grub_linux16_boot): ... this. Update all users.
31686 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
31687 (grub_linux_boot): ... this. Update all users.
31688
31689 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
31690 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
31691 commands to `linux16' and `initrd16'.
31692 (GRUB_MOD_FINI(linux)): Rename to ...
31693 (GRUB_MOD_FINI(linux16)): ... this.
31694
31695 2009-03-24 Pavel Roskin <proski@gnu.org>
31696
31697 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
31698 not just for compilation.
31699
31700 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
31701
31702 Move multiboot helper out of kernel
31703
31704 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
31705 `loader/i386/multiboot_helper.S'.
31706 * conf/i386-coreboot.rmk: Likewise
31707 * conf/i386-ieee1275.rmk: Likewise
31708
31709 * kern/i386/loader.S: Move multiboot helpers from here...
31710 * loader/i386/multiboot_helper.S: ...moved here
31711 * include/grub/i386/loader.h: Move declarations of multiboot
31712 helpers from here...
31713 * include/grub/i386/multiboot.h: ...moved here
31714 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
31715
31716 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31717
31718 * kern/env.c (grub_env_context_open): Added an argument to specify
31719 whether a new context inherits exported variables from current
31720 one. This is useful when making a sandbox to interpret a config
31721 file.
31722 All callers updated.
31723
31724 * include/grub/env.h (grub_env_context_open): Updated the prototype.
31725
31726 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31727
31728 * kern/env.c (grub_env_context_close): Fix memory leaks.
31729
31730 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31731
31732 * normal/main.c (grub_normal_execute): Added an argument
31733 BATCH to specify if an interactive interface should be provided
31734 after reading a config file.
31735 All callers updated.
31736 (read_command_list): Prevent being executed twice.
31737 (read_fs_list): Likewise.
31738
31739 * include/grub/normal.h (grub_normal_execute): Updated the
31740 prototype.
31741
31742 2009-03-22 Pavel Roskin <proski@gno.org>
31743
31744 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
31745 _start.
31746 * kern/i386/pc/startup.S: Likewise.
31747 * kern/i386/efi/startup.S: Likewise.
31748 * kern/i386/ieee1275/startup.S: Likewise.
31749 * kern/i386/coreboot/startup.S: Likewise.
31750 * kern/x86_64/efi/startup.S: Likewise.
31751
31752 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
31753 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
31754 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
31755
31756 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
31757
31758 Bugfixes in multiboot for bugs uncovered by solaris kernel.
31759
31760 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
31761 limit detection.
31762 Use vaddr of correct segment for entry_point.
31763
31764 2009-03-21 Bean <bean123ch@gmail.com>
31765
31766 * commands/blocklist.c: Add include file <grub/command.h>, remove
31767 <grub/normal.h> and <grub/arg.h>.
31768 (grub_cmd_blocklist): Use the new command interface.
31769 (GRUB_MOD_INIT): Likewise.
31770 (GRUB_MOD_FINI): Likewise.
31771 * commands/boot.c: Likewise.
31772 * commands/cat.c: Likewise.
31773 * commands/cmp.c: Likewise.
31774 * commands/configfile.c: Likewise.
31775 * commands/crc.c: Likewise.
31776 * commands/echo.c: Likewise.
31777 * commands/halt.c: Likewise.
31778 * commands/handler.c: Likewise.
31779 * commands/hdparm.c: Likewise.
31780 * commands/help.c: Likewise.
31781 * commands/hexdump.c: Likewise.
31782 * commands/loadenv.c: Likewise.
31783 * commands/ls.c: Likewise.
31784 * commands/lsmmap.c: Likewise.
31785 * commands/lspci.c: Likewise.
31786 * commands/loadenv.c: Likewise.
31787 * commands/read.c: Likewise.
31788 * commands/reboot.c: Likewise.
31789 * commands/search.c: Likewise.
31790 * commands/sleep.c: Likewise.
31791 * commands/test.c: Likewise.
31792 * commands/usbtest.c: Likewise.
31793 * commands/videotest.c: Likewise.
31794 * commands/i386/cpuid.c: Likewise.
31795 * commands/i386/pc/halt.c: Likewise.
31796 * commands/i386/pc/play.c: Likewise.
31797 * commands/i386/pc/pxecmd.c: Likewise.
31798 * commands/i386/pc/vbeinfo.c: Likewise.
31799 * commands/i386/pc/vbetest.c: Likewise.
31800 * commands/ieee1275/suspend.c: Likewise.
31801 * disk/loopback.c: Likewise.
31802 * font/font_cmd.c: Likewise.
31803 * hello/hello.c: Likewise.
31804 * loader/efi/appleloader.c: Likewise.
31805 * loader/efi/chainloader.c: Likewise.
31806 * loader/i386/bsd.c: Likewise.
31807 * loader/i386/efi/linux.c: Likewise.
31808 * loader/i386/ieee1275/linux.c: Likewise.
31809 * loader/i386/linux.c: Likewise.
31810 * loader/i386/pc/chainloader.c: Likewise.
31811 * loader/i386/pc/linux.c: Likewise.
31812 * loader/powerpc/ieee1275/linux.c: Likewise.
31813 * loader/multiboot_loader.c: Likewise.
31814 * term/gfxterm.c: Likewise.
31815 * term/i386/pc/serial.c: Likewise.
31816 * term/terminfo.c: Likewise.
31817
31818 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
31819 * term/i386/pc/vga.c: Likewise.
31820 * video/readers/jpeg.c: Likewise.
31821 * video/readers/png.c: Likewise.
31822 * video/readers/tga.c: Likewise.
31823
31824 * util/grub-fstest (cmd_loopback): Removed.
31825 (cmd_blocklist): Likewise.
31826 (cmd_ls): Likewise.
31827 (grub_register_command): Likewise.
31828 (grub_unregister_command): Likewise.
31829 (execute_command): Use grub_command_find to locate command and execute
31830 it.
31831
31832 * include/grub/efi/chainloader.h: Removed.
31833 * loader/efi/chainloader_normal.c: Likewise.
31834 * loader/i386/bsd_normal.c: Likewise.
31835 * loader/i386/pc/chainloader_normal.c: Likewise.
31836 * loader/i386/pc/multiboot_normal.c: Likewise.
31837 * loader/linux_normal.c: Likewise.
31838 * loader/multiboot_loader_normal.c: Likewise.
31839 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31840
31841 * gencmdlist.sh: Scan new registration command grub_register_extcmd
31842 and grub_register_command_p1.
31843
31844 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
31845 kern/command.c, lib/arg.c and commands/extcmd.c.
31846 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
31847 (minicmd_mod_SOURCES): New variable.
31848 (minicmd_mod_CFLAGS): Likewise.
31849 (minicmd_mod_LDFLAGS): Likewise.
31850 (extcmd_mod_SOURCES): Likewise.
31851 (extcmd_mod_CFLAGS): Likewise.
31852 (extcmd_mod_LDFLAGS): Likewise.
31853 (boot_mod_SOURCES): Removed.
31854 (boot_mod_CFLAGS): Likewise.
31855 (boot_mod_LDFLAGS): Likewise.
31856
31857 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
31858 kern/corecmd.c.
31859 (kernel_img_HEADERS): Add command.h.
31860 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
31861 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
31862 and lib/arg.c.
31863 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
31864 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
31865 remove the corresponding normal mode command.
31866 (normal_mod_SOURCES): Remove normal/arg.c.
31867 * conf/i386-coreboot.rmk: Likewise.
31868 * conf/i386-efi.rmk: Likewise.
31869 * conf/i386-ieee1275.rmk: Likewise.
31870 * conf/powerpc-ieee1275.rmk: Likewise.
31871 * conf/x86_64-efi.rmk: Likewise.
31872
31873 * include/grub/arg.h: Move from here ...
31874 * include/grub/lib/arg.h: ... to here.
31875
31876 * normal/arg.c: Move from here ...
31877 * lib/arg.c: ... to here.
31878
31879 * commands/extcmd.c: New file.
31880 * commands/minicmd.c: Likewise.
31881 * include/grub/command.h: Likewise.
31882 * include/grub/extcmd.h: Likewise.
31883 * kern/command.c: Likewise.
31884 * kern/corecmd.c: Likewise.
31885
31886 * kern/list.c (grub_list_iterate): Return int instead of void.
31887 (grub_list_insert): New function.
31888 (grub_prio_list_insert): Likewise.
31889
31890 * kern/rescue.c (grub_rescue_command): Removed.
31891 (grub_rescue_command_list): Likewise.
31892 (grub_rescue_register_command): Likewise.
31893 (grub_rescue_unregister_command): Likewise.
31894 (grub_rescue_cmd_boot): Move to minicmd.c
31895 (grub_rescue_cmd_help): Likewise.
31896 (grub_rescue_cmd_info): Likewise.
31897 (grub_rescue_cmd_boot): Likewise.
31898 (grub_rescue_cmd_testload): Likewise.
31899 (grub_rescue_cmd_dump): Likewise.
31900 (grub_rescue_cmd_rmmod): Likewise.
31901 (grub_rescue_cmd_lsmod): Likewise.
31902 (grub_rescue_cmd_exit): Likewise.
31903 (grub_rescue_print_devices): Moved to corecmd.c.
31904 (grub_rescue_print_files): Likewise.
31905 (grub_rescue_cmd_ls): Likewise.
31906 (grub_rescue_cmd_insmod): Likewise.
31907 (grub_rescue_cmd_set): Likewise.
31908 (grub_rescue_cmd_unset): Likewise.
31909 (attempt_normal_mode): Use grub_command_find to get normal module.
31910 (grub_enter_rescue_mode): Use grub_register_core_commands to register
31911 commands, remove grub_rescue_register_command calls.
31912
31913 * normal/command.c (grub_register_command): Removed.
31914 (grub_unregister_command): Likewise.
31915 (grub_command_find): Likewise.
31916 (grub_iterate_commands): Likewise.
31917 (rescue_command): Likewise.
31918 (export_command): Moved to corecmd.c.
31919 (set_command): Removed.
31920 (unset_command): Likewise.
31921 (insmod_command): Likewise.
31922 (rmmod_command): Likewise.
31923 (lsmod_command): Likewise.
31924 (grub_command_init): Likewise.
31925
31926 * normal/completion.c (iterate_command): Use cmd->prio to check for
31927 active command.
31928 (complete_arguments): Use grub_extcmd_t structure to find options.
31929 (grub_normal_do_completion): Change function grub_iterate_commands to
31930 grub_command_iterate.
31931
31932 * normal/execute.c (grub_script_execute_cmd): No need to parse
31933 argument here.
31934
31935 * normal/main.c (grub_dyncmd_dispatcher): New function.
31936 (read_command_list): Register unload commands as dyncmd.
31937 (grub_cmd_normal): Use new command interface, register rescue,
31938 unregister normal at entry, register normal, unregister rescue at exit.
31939
31940 * include/grub/list.h (grub_list_test_t): New type.
31941 (grub_list_iterate): Return int instead of void.
31942 (grub_list_insert): New function.
31943 (GRUB_AS_NAMED_LIST_P): New macro.
31944 (GRUB_AS_PRIO_LIST): Likewise.
31945 (GRUB_AS_PRIO_LIST_P): Likewise.
31946 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
31947 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
31948 (grub_prio_list): New structure.
31949 (grub_prio_list_insert): New function.
31950 (grub_prio_list_remove): New inline function.
31951
31952 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
31953 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
31954 (GRUB_COMMAND_FLAG_MENU): Likewise.
31955 (GRUB_COMMAND_FLAG_BOTH): Likewise.
31956 (GRUB_COMMAND_FLAG_TITLE): Likewise.
31957 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
31958 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
31959 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
31960 (grub_command): Likewise.
31961 (grub_register_command): Likewise.
31962 (grub_command_find): Likewise.
31963 (grub_iterate_commands): Likewise.
31964 (grub_command_init): Likewise.
31965 (grub_arg_parse): Likewise.
31966 (grub_arg_show_help): Likewise.
31967
31968 * include/grub/rescue.h (grub_rescue_register_command): Removed.
31969 (grub_rescue_unregister_command): Likewise.
31970
31971 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
31972 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
31973 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
31974
31975 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
31976 grub_rescue_cmd_initrd.
31977 * include/grub/i386/loader.h: Likewise.
31978 * include/grub/x86_64/loader.h: Likewise.
31979
31980 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
31981
31982 2009-03-21 Bean <bean123ch@gmail.com>
31983
31984 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
31985 instead of stat in mingw environment.
31986
31987 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
31988
31989 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
31990
31991 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
31992 AC_CONFIG_LINKS.
31993
31994 2009-03-21 Bean <bean123ch@gmail.com>
31995
31996 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
31997 out of range error.
31998
31999 2009-03-18 Michel Dänzer <michel@daenzer.net>
32000
32001 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
32002 checking inode flags for EXT4_EXTENTS_FLAG.
32003
32004 2009-03-18 Robert Millan <rmh@aybabtu.com>
32005
32006 * loader/i386/linux.c: Include `<grub/video.h>' and
32007 `<grub/i386/pc/vbe.h>'..
32008 (grub_linux_setup_video): New function. Loosely based on the EFI one.
32009 (grub_linux32_boot): Attempt to configure video settings with
32010 grub_linux_setup_video().
32011 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
32012 to avoid grub_console_fini() which would step out of graphical mode
32013 unconditionally.
32014
32015 2009-03-14 Robert Millan <rmh@aybabtu.com>
32016
32017 Fix build on powerpc.
32018 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
32019
32020 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
32021
32022 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
32023 background image command.
32024
32025 2009-03-12 Colin D Bennett <colin@gibibit.com>
32026
32027 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
32028 (grub_gfxterm_putchar): Extract pairs of identical calls to
32029 draw_cursor out of conditional blocks.
32030
32031 2009-03-11 Pavel Roskin <proski@gnu.org>
32032
32033 * fs/hfs.c (grub_hfs_strncasecmp): New function.
32034 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
32035
32036 2009-03-11 Robert Millan <rmh@aybabtu.com>
32037
32038 * loader/i386/multiboot_elfxx.c
32039 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
32040
32041 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
32042
32043 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
32044 `kern/handler.c'.
32045
32046 2009-03-11 Robert Millan <rmh@aybabtu.com>
32047
32048 * loader/i386/multiboot.c (code_size): New variable.
32049 (grub_multiboot): Define offsets by adding to `code_size' rather
32050 than subtracting from `grub_multiboot_payload_size'. Provide
32051 4-byte alignment to MBI and others by increasing
32052 `boot_loader_name_length' appropriately.
32053
32054 * loader/i386/multiboot_elfxx.c
32055 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
32056
32057 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
32058
32059 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
32060 `fs/ext2.c'.
32061
32062 2009-03-08 Robert Millan <rmh@aybabtu.com>
32063
32064 Make loader/i386/linux.c usable on i386-pc again.
32065
32066 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
32067 memory to heap.
32068 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
32069 `#error' stanza.
32070
32071 2009-03-07 Bean <bean123ch@gmail.com>
32072
32073 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
32074 allocation.
32075
32076 2009-03-06 Robert Millan <rmh@aybabtu.com>
32077
32078 Fix display issue on terminals with screen size other than 80x25
32079 (e.g. gfxterm with resolution higher than 640x480).
32080
32081 * normal/main.c (grub_normal_init_page): Display title text in a
32082 position relative to the center of the terminal instead of relying
32083 on a hardcoded offset.
32084
32085 2009-03-04 Robert Millan <rmh@aybabtu.com>
32086
32087 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
32088 installed.
32089
32090 * Makefile.in (host_kernel): New variable.
32091 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
32092 scripts instead of just the windows one.
32093 * configure.ac: Initialize and AC_SUBST `host_kernel'.
32094
32095 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
32096
32097 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
32098 `kern/handler.c'.
32099 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32100 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32101 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32102 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32103 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32104 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32105
32106 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
32107
32108 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
32109 or if there's no space for the disk label and print the partition number on a
32110 invalid magic.
32111
32112 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
32113
32114 * util/misc.c: Include <time.h>.
32115 (grub_millisleep): New function.
32116
32117 2009-03-04 Bean <bean123ch@gmail.com>
32118
32119 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
32120 another option -mno-red-zone.
32121
32122 * commands/handler.c: Change module description.
32123
32124 * kern/handler.c: Add missing space at the end of description line.
32125
32126 * kern/list.c: Likewise.
32127
32128 2009-03-03 Robert Millan <rmh@aybabtu.com>
32129
32130 Move more components to the relocation area, and fix mbi pointer
32131 handling to use the destination rather than the origin (thanks to
32132 Vladimir Serbinenko for spotting).
32133
32134 * loader/i386/multiboot.c (mbi_dest): New variable.
32135 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
32136 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
32137 relocation area.
32138
32139 2009-03-01 Bean <bean123ch@gmail.com>
32140
32141 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
32142 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
32143 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
32144 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
32145
32146 * loader/i386/efi/linux.c (acpi_guid): New variable.
32147 (acpi_guid): Likewise.
32148 (EBDA_SEG_ADDR): New constant.
32149 (LOW_MEM_ADDR): Likewise.
32150 (FAKE_EBDA_SEG): Likewise.
32151 (fake_bios_data): New function.
32152 (grub_linux_boot): Call fake_bios_data.
32153
32154 2009-03-01 Bean <bean123ch@gmail.com>
32155
32156 * commands/terminal.c: Removed.
32157
32158 * commands/handler.c: New file.
32159
32160 * include/grub/list.h: Likewise.
32161
32162 * include/grub/handler.h: Likewise.
32163
32164 * kern/list.c: Likewise.
32165
32166 * kern/handler.c: Likewise.
32167
32168 * kern/term.h: Include header file <grub/handler.h>.
32169 (grub_term_input): Move next field to the beginning.
32170 (grub_term_output): Likewise.
32171 (grub_term_input_class): New variable.
32172 (grub_term_output_class): Likewise.
32173 (grub_term_register_input): Changed to inline function.
32174 (grub_term_register_output): Likewise.
32175 (grub_term_unregister_input): Likewise.
32176 (grub_term_unregister_output): Likewise.
32177 (grub_term_set_current_input): Likewise.
32178 (grub_term_set_current_output): Likewise.
32179 (grub_term_get_current_input): Likewise.
32180 (grub_term_get_current_output): Likewise.
32181 (grub_term_iterate_input): Removed.
32182 (grub_term_iterate_output): Likewise.
32183
32184 * kern/term.c (grub_term_list_input): Removed.
32185 (grub_term_list_output): Likewise.
32186 (grub_term_input_class): New variable.
32187 (grub_term_output_class): Likewise.
32188 (grub_cur_term_input): Change variable as macro.
32189 (grub_cur_term_output): Likewise.
32190 (grub_term_register_input): Removed.
32191 (grub_term_register_output): Likewise.
32192 (grub_term_unregister_input): Likewise.
32193 (grub_term_unregister_output): Likewise.
32194 (grub_term_set_current_input): Likewise.
32195 (grub_term_set_current_output): Likewise.
32196 (grub_term_iterate_input): Likewise.
32197 (grub_term_iterate_output): Likewise.
32198 (grub_term_get_current_input): Likewise.
32199 (grub_term_get_current_output): Likewise.
32200
32201 * util/grub-editenv.c: Include header file <grub/handler.h>.
32202 (grub_term_get_current_input): Removed.
32203 (grub_term_get_current_output): Likewise.
32204 (grub_term_input_class): New variable.
32205 (grub_term_output_class): Likewise.
32206
32207 * util/grub-fstest.c (grub_term_get_current_input): Removed.
32208 (grub_term_get_current_output): Likewise.
32209 (grub_term_input_class): New variable.
32210 (grub_term_output_class): Likewise.
32211
32212 * util/grub-probe.c (grub_term_get_current_input): Removed.
32213 (grub_term_get_current_output): Likewise.
32214 (grub_term_input_class): New variable.
32215 (grub_term_output_class): Likewise.
32216
32217 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
32218 (grub_term_get_current_output): Likewise.
32219 (grub_term_input_class): New variable.
32220 (grub_term_output_class): Likewise.
32221
32222 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
32223 (terminal_mod_SOURCES): Likewise.
32224 (terminal_mod_CFLAGS): Likewise.
32225 (terminal_mod_LDFLAGS): Likewise.
32226
32227 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
32228 handler.c.
32229 (kernel_img_SOURCES): Add list.c and handler.c.
32230 (kernel_img_HEADERS): Add list.h and handler.h.
32231
32232 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32233 handler.c.
32234 (kernel_mod_SOURCES): Add list.c and handler.c.
32235 (kernel_mod_HEADERS): Add list.h and handler.h.
32236
32237 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
32238 handler.c.
32239 (kernel_elf_SOURCES): Add list.c and handler.c.
32240 (kernel_elf_HEADERS): Add list.h and handler.h.
32241
32242 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32243 handler.c.
32244 (kernel_elf_SOURCES): Add list.c and handler.c.
32245 (kernel_elf_HEADERS): Add list.h and handler.h.
32246
32247 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32248 handler.c.
32249 (kernel_mod_SOURCES): Add list.c and handler.c.
32250 (kernel_mod_HEADERS): Add list.h and handler.h.
32251
32252 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32253 handler.c.
32254 (kernel_elf_SOURCES): Add list.c and handler.c.
32255 (kernel_elf_HEADERS): Add list.h and handler.h.
32256
32257 2009-02-27 Robert Millan <rmh@aybabtu.com>
32258
32259 Factorize elf32 / elf64 code in Multiboot loader. This will
32260 prevent it from getting out of sync again.
32261
32262 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
32263 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
32264 grub_multiboot_load_elf64): Move from here ...
32265 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
32266 grub_multiboot_load_elf): ... to here (new file).
32267
32268 2009-02-27 Robert Millan <rmh@aybabtu.com>
32269
32270 * util/grub.d/10_linux.in: Rename "single-user mode" to
32271 "recovery mode".
32272
32273 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
32274
32275 Don't leak in SCSI code.
32276 * disk/scsi.c (grub_scsi_close): free `scsi'.
32277
32278 2009-02-27 Robert Millan <rmh@aybabtu.com>
32279
32280 * loader/i386/pc/multiboot.c: Move from here ...
32281 * loader/i386/multiboot.c: ... to here. Update all users.
32282
32283 2009-02-27 Robert Millan <rmh@aybabtu.com>
32284
32285 Patch from Alexandre Bique <bique.alexandre@gmail.com>
32286 * util/i386/pc/grub-setup.c (setup): Fix directory path.
32287
32288 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
32289
32290 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
32291 b-tree.
32292
32293 2009-02-27 Robert Millan <rmh@aybabtu.com>
32294
32295 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
32296 `0x' qualifier as 0 when base is specified as parameter).
32297
32298 2009-02-24 Bean <bean123ch@gmail.com>
32299
32300 * configure.ac: Check for -mcmodel=large in x86_64 target.
32301
32302 * include/grub/efi/api.h (efi_call_10): New macro.
32303 (efi_wrap_10): New function.
32304
32305 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
32306 (GRUB_PE32_REL_BASED_HIGH): Likewise.
32307 (GRUB_PE32_REL_BASED_LOW): Likewise.
32308 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
32309 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
32310 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
32311 (GRUB_PE32_REL_BASED_SECTION): Likewise.
32312 (GRUB_PE32_REL_BASED_REL): Likewise.
32313 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
32314 (GRUB_PE32_REL_BASED_DIR64): Likewise.
32315 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
32316
32317 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
32318 issue.
32319
32320 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
32321 (efi_wrap_10): New function.
32322
32323 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
32324
32325 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
32326 MB/MBP model (NV chipset).
32327 (devdata_devs): Add devpath_5 to the list.
32328
32329 * load/i386/efi/linux.c (video_base): Remove variable.
32330 (RGB_MASK): New macro.
32331 (RGB_MAGIC): Likewise.
32332 (LINE_MIN): Likewise.
32333 (LINE_MAX): Likewise.
32334 (FBTEST_STEP): Likewise.
32335 (FBTEST_COUNT): Likewise.
32336 (fb_list): New variable.
32337 (grub_find_video_card): Remove function.
32338 (find_framebuf): New function.
32339 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
32340 line length.
32341
32342 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
32343 problem for x86_64.
32344
32345 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
32346
32347 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
32348
32349 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
32350 coding tool name.
32351
32352 2009-02-22 Robert Millan <rmh@aybabtu.com>
32353
32354 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
32355 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
32356 in our relocation, instead of using it directly from heap. Also
32357 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
32358
32359 2009-02-21 Robert Millan <rmh@aybabtu.com>
32360
32361 Implement USB keyboard support (based on patch by Marco Gerards)
32362
32363 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
32364 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
32365 (usb_keyboard_mod_LDFLAGS): New variables.
32366
32367 * term/usb_keyboard.c: New file.
32368
32369 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
32370
32371 Corrected wrong declaration
32372
32373 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
32374
32375 2009-02-14 Christian Franke <franke@computer.org>
32376
32377 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
32378 (grub_lspci_iter): Print class code and programming interface byte.
32379
32380 2009-02-14 Christian Franke <franke@computer.org>
32381
32382 * gendistlist.sh: Ignore `.svn' directories.
32383
32384 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
32385
32386 * fs/fat.c: Add 2009 to Copyright line.
32387
32388 2009-02-14 Christian Franke <franke@computer.org>
32389
32390 * commands/hdparm.c: New file. Provides `hdparm' command
32391 which sends ATA commands via grub_disk_ata_pass_through ().
32392
32393 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
32394
32395 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
32396 and <grub/cpu/io.h> to include/grub/ata.h.
32397 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
32398 (GRUB_CDROM_SECTOR_SIZE): Remove.
32399 (GRUB_ATA_*): Move to include/grub/ata.h.
32400 (GRUB_ATAPI_*): Likewise.
32401 (enum grub_ata_commands): Likewise.
32402 (enum grub_ata_timeout_milliseconds): Likewise.
32403 (struct grub_ata_device): Likewise.
32404 (grub_ata_regset): Likewise.
32405 (grub_ata_regget): Likewise.
32406 (grub_ata_regset2): Likewise.
32407 (grub_ata_regget2): Likewise.
32408 (grub_ata_check_ready): Likewise.
32409 (grub_ata_wait_not_busy): Remove static, exported in
32410 include/grub/ata.h.
32411 (grub_ata_wait_drq): Likewise.
32412 (grub_ata_pio_read): Likewise.
32413
32414 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
32415 function for hdparm.mod.
32416
32417 * include/grub/ata.h: New file, contains declarations from
32418 disk/ata.c.
32419 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
32420
32421 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
32422 (grub_disk_ata_pass_through): New exported variable.
32423
32424 * kern/disk.c (grub_disk_ata_pass_through): New variable.
32425
32426 2009-02-13 Colin D Bennett <colin@gibibit.com>
32427
32428 Support multiple fallback entries, and provide an API to support
32429 executing default+fallback menu entries. Renamed the `terminal' menu
32430 viewer to `text'.
32431
32432 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
32433 variable declaration.
32434 (grub_menu_execute_callback): New structure declaration.
32435 (grub_menu_execute_callback_t): New typedef.
32436 (grub_menu_execute_with_fallback): New function declaration.
32437 (grub_menu_get_entry): Likewise.
32438 (grub_menu_get_timeout): Likewise.
32439 (grub_menu_set_timeout): Likewise.
32440
32441 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
32442
32443 * normal/menu.c (grub_wait_after_message): Moved to
32444 `normal/menu_text.c'.
32445 (draw_border): Likewise.
32446 (print_message): Likewise.
32447 (print_entry): Likewise.
32448 (print_entries): Likewise.
32449 (grub_menu_init_page): Likewise.
32450 (get_entry_number): Likewise.
32451 (print_timeout): Likewise.
32452 (run_menu): Likewise.
32453 (grub_menu_execute_entry): Likewise.
32454 (show_text_menu): Likewise.
32455 (get_and_remove_first_entry_number): New function.
32456 (grub_menu_execute_with_fallback): Likewise.
32457 (get_entry): Renamed to ...
32458 (grub_menu_get_entry): .. this and made it global.
32459 (get_timeout): Renamed to ...
32460 (grub_menu_get_timeout): ... this and made it global.
32461 (set_timeout): Renamed to ...
32462 (grub_menu_set_timeout): ... this and made it global.
32463 (grub_normal_terminal_menu_viewer): Renamed to ...
32464 (grub_normal_text_menu_viewer): ... this.
32465
32466 * normal/menu_text.c: New file. Extracted text-menu-specific code
32467 from normal/menu.c.
32468
32469 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
32470 (normal_mod_SOURCES): Likewise.
32471
32472 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32473 (normal_mod_SOURCES): Likewise.
32474
32475 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32476 (normal_mod_SOURCES): Likewise.
32477
32478 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
32479 (normal_mod_SOURCES): Likewise.
32480
32481 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32482 (normal_mod_SOURCES): Likewise.
32483
32484 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32485 (normal_mod_SOURCES): Likewise.
32486
32487 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32488 (normal_mod_SOURCES): Likewise.
32489
32490 2009-02-11 Robert Millan <rmh@aybabtu.com>
32491
32492 * util/grub.d/00_header.in: Update old reference to `font' command.
32493
32494 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
32495
32496 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
32497
32498 Based on patch from Javier Martín.
32499
32500 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
32501
32502 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
32503 to avoid false positives with FAT.
32504 (grub_fstest_SOURCES): Likewise.
32505 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32506 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32507 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32508 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32509 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32510 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32511
32512 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
32513
32514 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
32515 bpb.version_specific.fat12_or_fat16.fstype and
32516 bpb.version_specific.fat32.fstype.
32517
32518 2009-02-08 Robert Millan <rmh@aybabtu.com>
32519
32520 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
32521
32522 2009-02-08 Robert Millan <rmh@aybabtu.com>
32523
32524 * Makefile.in (host_os, host_cpu): New variables.
32525 (target_os): Remove. Update all users.
32526
32527 2009-02-08 Marco Gerards <marco@gnu.org>
32528
32529 * Makefile.in (enable_grub_emu_usb): New variable.
32530 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
32531 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
32532 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
32533 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
32534 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
32535 `usbtest.mod' and `usbms.mod'.
32536 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
32537 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
32538 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
32539 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
32540 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
32541 variables.
32542
32543 * disk/usbms.c: New file.
32544
32545 * include/grub/usb.h: Likewise.
32546
32547 * include/grub/usbtrans.h: Likewise.
32548
32549 * include/grub/usbdesc.h: Likewise.
32550
32551 * bus/usb/usbtrans.c: Likewise.
32552
32553 * bus/usb/ohci.c: Likewise.
32554
32555 * bus/usb/uhci.c: Likewise.
32556
32557 * bus/usb/usbhub.c: Likewise.
32558
32559 * bus/usb/usb.c: Likewise.
32560
32561 * commands/usbtest.c: Likewise.
32562
32563 * util/usb.c: Likewise.
32564
32565 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
32566
32567 * configure.ac: Test for libusb presence.
32568
32569 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
32570
32571 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
32572
32573 * kern/mm.c: Add more comments.
32574
32575 2009-02-08 Robert Millan <rmh@aybabtu.com>
32576
32577 Patch from Javier Martín.
32578 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
32579 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
32580
32581 2009-02-08 Robert Millan <rmh@aybabtu.com>
32582
32583 * fs/cpio.c: Split tar functionality to ...
32584 * fs/tar.c: ... here (new file). Update all users.
32585
32586 2009-02-07 Robert Millan <rmh@aybabtu.com>
32587
32588 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
32589 backward-incompatible features.
32590
32591 Based on patch from Javier Martín, with some adjustments.
32592
32593 2009-02-07 Michael Scherer <misc@mandriva.org>
32594
32595 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
32596
32597 2009-02-07 Robert Millan <rmh@aybabtu.com>
32598
32599 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
32600 position of `disk/lvm.c' to ensure grub_init_all() always picks it
32601 after the RAID stuff.
32602
32603 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
32604
32605 Fixes problem when running vbetest command as reported by
32606 Vladimir Serbinenko <phcoder@gmail.com>.
32607
32608 * (grub_vbe_set_video_mode): Fixed problem with text modes.
32609
32610 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
32611
32612 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
32613 /dev/md/NpN style mdraid devices.
32614
32615 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
32616
32617 * util/unifont2pff.rb: Remove.
32618
32619 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
32620
32621 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
32622 `#'.
32623
32624 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
32625
32626 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
32627 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32628 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32629 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32630 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32631 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32632 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32633
32634 2009-02-02 Christian Franke <franke@computer.org>
32635
32636 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
32637
32638 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
32639
32640 * INSTALL: Note that we now require at least autoconf 2.59 and
32641 that LZO is optional.
32642
32643 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32644
32645 Base on patch on bug #24154 created by Tomas Tintera
32646 <trosos@seznam.cz>.
32647
32648 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
32649
32650 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32651
32652 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
32653 <bero@arklinux.org>.
32654
32655 * normal/parser.y (script_init): Add missing semicolon.
32656
32657 2009-01-31 Colin D Bennett <colin@gibibit.com>
32658
32659 * normal/main.c: Add include to grub/menu_viewer.h.
32660 (free_menu_entry_classes): Added.
32661 (grub_normal_menu_addentry): Added class property handling.
32662 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
32663 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
32664
32665 * normal/menu_viewer.c: New file.
32666
32667 * normal/menu.c (run_menu_entry): Renamed to ...
32668 (grub_menu_execute_entry): ... this and made it as global.
32669 (grub_menu_run): Renamed to ...
32670 (show_text_menu): ... this and made it local.
32671 (show_text_menu): Adapt to new function names.
32672 (grub_normal_terminal_menu_viewer): New global variable.
32673
32674 * include/grub/menu.h: New file.
32675
32676 * include/grub/menu_viewer.h: New file.
32677
32678 * include/grub/normal.h: Added include to grub/menu.h.
32679 (grub_menu_entry): Moved to include/grub/menu.h.
32680 (grub_menu_entry_t): Likewise.
32681 (grub_menu): Likewise.
32682 (grub_menu_t): Likewise.
32683 (grub_normal_terminal_menu_viewer): Added.
32684 (grub_menu_execute_entry): Likewise.
32685 (grub_menu_run): Removed.
32686
32687 * DISTLIST: Added include/grub/menu.h.
32688 Added include/grub/menu_viewer.h.
32689 Added normal/menu_viewer.c.
32690
32691 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
32692
32693 * normal/execute.c (grub_script_execute_menuentry): Changed to use
32694 arglist for menutitle arguments.
32695
32696 * normal/main.c (grub_normal_menu_addentry): Likewise.
32697
32698 * normal/parser.y (menuentry): Likewise.
32699
32700 * normal/script.c (grub_script_create_cmdmenu): Likewise.
32701
32702 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
32703 (grub_script_create_cmdmenu): Likewise.
32704
32705 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
32706
32707 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
32708 changes.
32709
32710 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
32711
32712 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
32713
32714 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
32715
32716 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32717
32718 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32719
32720 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32721
32722 2009-01-30 Christian Franke <franke@computer.org>
32723
32724 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
32725 in option help text.
32726
32727 2009-01-27 Pavel Roskin <proski@gnu.org>
32728
32729 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
32730
32731 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32732
32733 * commands/lsmmap.c: Add include to grub/machine/memory.h.
32734
32735 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
32736
32737 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
32738 unregister function.
32739
32740 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32741
32742 * disk/scsi.c (grub_scsi_read): Fix sign problem.
32743
32744 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
32745
32746 * util/grub-mkfont.c (usage): Fix typo.
32747
32748 * util/elf/grub-mkimage.c (load_modules): Fix warning.
32749
32750 2009-01-26 Daniel Mierswa <impulze@impulze.org>
32751
32752 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
32753
32754 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
32755
32756 * kern/misc.c (grub_strcasecmp): New function.
32757 (grub_strcasecmp): Use grub_size_t instead of int for length.
32758 Fix return value.
32759 * include/grub/misc.h: Update function prototypes.
32760
32761 2009-01-26 Robert Millan <rmh@aybabtu.com>
32762
32763 * configure.ac: Fix cross-compilation check.
32764
32765 2009-01-22 Christian Franke <franke@computer.org>
32766
32767 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
32768 (precision) digit string. Allow `.format2' without `format1' (width).
32769 Limit input chars for `%s' output to `format2' if specified. This is
32770 compatible with standard printf ().
32771
32772 2009-01-22 Christian Franke <franke@computer.org>
32773
32774 * disk/ata.c (grub_ata_wait_status): Replace by ...
32775 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
32776 other status bits may be invalid while BSY is asserted.
32777 (grub_ata_check_ready): New function.
32778 (grub_ata_cmd): Removed.
32779 (grub_ata_wait_drq): New function.
32780 (grub_ata_strncpy): Remove inline.
32781 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
32782 and error check now done by grub_ata_wait_drq ().
32783 (grub_ata_pio_write): Likewise.
32784 (grub_atapi_identify): Set DEV before check for !BSY. Use
32785 grub_ata_wait_drq () to wait for data.
32786 (grub_ata_device_initialize): Add status register check to
32787 detect missing SATA slave devices. Add debug messages.
32788 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
32789 (grub_atapi_packet): Set DEV before check for !BSY. Replace
32790 transfer loop by grub_ata_pio_write ().
32791 (grub_ata_identify): Set DEV before check for !BSY. Use
32792 grub_ata_wait_drq () to wait for data.
32793 (grub_ata_setaddress): Set DEV before check for !BSY.
32794 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
32795 read/write in one loop. Fix invalid command on write. Fix incomplete
32796 command on (size % batch) == 0. Add missing error check after write of
32797 last block. Add debug messages.
32798 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
32799
32800 2009-01-19 Christian Franke <franke@computer.org>
32801
32802 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
32803 (GRUB_ATAPI_IREASON_*): Likewise.
32804 (grub_ata_pio_write): Fix timeout error return.
32805 (grub_atapi_identify): Add grub_ata_wait () after cmd.
32806 (grub_atapi_wait_drq): New function.
32807 (grub_atapi_packet): New parameter `size'.
32808 Use grub_atapi_wait_drq () and direct write instead of
32809 grub_ata_pio_write ().
32810 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
32811 reads the number of bytes requested by the device for each DRQ
32812 assertion.
32813 (grub_atapi_write): Remove old implementation, return not
32814 implemented instead.
32815
32816 2009-01-19 Christian Franke <franke@computer.org>
32817
32818 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
32819 of 512 to calculate data size.
32820 (grub_scsi_read12): Likewise.
32821 (grub_scsi_write10): Likewise.
32822 (grub_scsi_write12): Likewise.
32823 (grub_scsi_read): Adjust size according to blocksize.
32824 Add checks for invalid blocksize and unaligned transfer.
32825
32826 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
32827
32828 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
32829
32830 * term/gfxterm.c (write_char): Fix background rendering for wide
32831 width glyphs.
32832
32833 2009-01-19 Robert Millan <rmh@aybabtu.com>
32834
32835 * config.guess: Update to latest version from config git.
32836 * config.sub: Likewise.
32837
32838 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
32839
32840 * Makefile.in: Change font compilation to use new grub-mkfont instead
32841 of java version.
32842
32843 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
32844 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
32845 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32846 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32847 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
32848 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
32849 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
32850 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
32851 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
32852
32853 2009-01-16 Christian Franke <franke@computer.org>
32854
32855 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
32856 (enum grub_ata_timeout_milliseconds): New enum.
32857 (grub_ata_wait_status): Add parameter milliseconds.
32858 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
32859 recovery from timed-out commands.
32860 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
32861 return grub_errno instead of REG_ERROR.
32862 (grub_ata_pio_write): Add parameter milliseconds.
32863 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
32864 Pass milliseconds to grub_ata_wait_status () and
32865 grub_ata_pio_read ().
32866 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
32867 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
32868 grub_ata_wait_status (). Fix IDENTIFY timeout check.
32869 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
32870 It is not suitable for device detection, because DEV bit is ignored,
32871 the command may run too long, and not all devices set the signature
32872 properly.
32873 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
32874 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
32875 Fix device selection, DEV bit must be set first to address the registers
32876 of the correct device.
32877 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
32878 grub_ata_pio_read/write ().
32879 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
32880 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
32881
32882 2009-01-13 Carles Pina i Estany <carles@pina.cat>
32883
32884 * util/grub-editenv.c (main): Use fseeko(), not fseek().
32885
32886 2009-01-13 Bean <bean123ch@gmail.com>
32887
32888 * util/grub-mkfont.c (write_font): forget to remove some debug code.
32889
32890 2009-01-13 Bean <bean123ch@gmail.com>
32891
32892 * Makefile.in: (enable_grub_mkfont): New variable.
32893 (freetype_cflags): Likewise.
32894 (freetype_libs): Likewise.
32895
32896 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
32897 (grub_mkfont_SOURCES): New variable.
32898 (grub_mkfont_CFLAGS): Likewise.
32899 (grub_mkfont_LDFLAGS): Likewise.
32900
32901 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
32902 library if `--enable-grub-mkfont' is requested.
32903 (enable_grub_mkfont): New variable.
32904 (freetype_cflags): Likewise.
32905 (freetype_libs): Likewise.
32906
32907 * util/grub-mkfont.c: New file.
32908
32909 2009-01-12 Christian Franke <franke@computer.org>
32910
32911 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
32912 mode check. Fix setting of compat_use[].
32913
32914 2009-01-10 Robert Millan <rmh@aybabtu.com>
32915
32916 Update a few copyright years which we forgot to do in 2008 (only for
32917 files whose changes made in 2008 were copyright-significant)
32918
32919 * Makefile.in: Add 2008 to Copyright line.
32920 * disk/ieee1275/ofdisk.c: Likewise.
32921 * disk/efi/efidisk.c: Likewise.
32922 * kern/dl.c: Likewise.
32923 * kern/sparc64/ieee1275/init.c: Likewise.
32924 * kern/mm.c: Likewise.
32925 * kern/efi/mm.c: Likewise.
32926 * boot/i386/pc/boot.S: Likewise.
32927 * genfslist.sh: Likewise.
32928 * fs/iso9660.c: Likewise.
32929 * fs/hfs.c: Likewise.
32930 * fs/jfs.c: Likewise.
32931 * fs/minix.c: Likewise.
32932 * fs/ufs.c: Likewise.
32933 * gensymlist.sh.in: Likewise.
32934 * genkernsyms.sh.in: Likewise.
32935 * include/grub/misc.h: Likewise.
32936 * include/grub/types.h: Likewise.
32937 * include/grub/symbol.h: Likewise.
32938 * include/grub/elf.h: Likewise.
32939 * include/grub/kernel.h: Likewise.
32940 * include/grub/disk.h: Likewise.
32941 * include/grub/dl.h: Likewise.
32942 * include/grub/i386/linux.h: Likewise.
32943 * include/grub/i386/pc/biosdisk.h: Likewise.
32944 * include/grub/efi/api.h: Likewise.
32945 * include/grub/efi/pe32.h: Likewise.
32946 * include/grub/util/misc.h: Likewise.
32947 * normal/execute.c: Likewise.
32948 * normal/arg.c: Likewise.
32949 * normal/completion.c: Likewise.
32950 * normal/lexer.c: Likewise.
32951 * normal/parser.y: Likewise.
32952 * normal/misc.c: Likewise.
32953 * commands/i386/pc/vbeinfo.c: Likewise.
32954 * commands/hexdump.c: Likewise.
32955 * commands/terminal.c: Likewise.
32956 * commands/ls.c: Likewise.
32957 * commands/help.c: Likewise.
32958 * partmap/pc.c: Likewise.
32959 * loader/efi/chainloader.c: Likewise.
32960 * loader/multiboot_loader.c: Likewise.
32961 * loader/i386/pc/multiboot2.c: Likewise.
32962 * term/efi/console.c: Likewise.
32963 * term/i386/pc/serial.c: Likewise.
32964 * util/lvm.c: Likewise.
32965 * util/console.c: Likewise.
32966 * util/i386/efi/grub-mkimage.c: Likewise.
32967 * util/raid.c: Likewise.
32968
32969 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
32970
32971 * commands/videotest.c: Removed include to grub/machine/memory.h.
32972
32973 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
32974 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
32975 (video_mod_SOURCES): Removed.
32976 (video_mod_CFLAGS): Likewise.
32977 (video_mod_LDFLAGS): Likewise.
32978 (gfxterm_mod_SOURCES): Likewise.
32979 (gfxterm_mod_CFLAGS): Likewise.
32980 (gfxterm_mod_LDFLAGS): Likewise.
32981 (videotest_mod_SOURCES): Likewise.
32982 (videotest_mod_CFLAGS): Likewise.
32983 (videotest_mod_LDFLAGS): Likewise.
32984 (bitmap_mod_SOURCES): Likewise.
32985 (bitmap_mod_CFLAGS): Likewise.
32986 (bitmap_mod_LDFLAGS): Likewise.
32987 (tga_mod_SOURCES): Likewise.
32988 (tga_mod_CFLAGS): Likewise.
32989 (tga_mod_LDFLAGS): Likewise.
32990 (jpeg_mod_SOURCES): Likewise.
32991 (jpeg_mod_CFLAGS): Likewise.
32992 (jpeg_mod_LDFLAGS): Likewise.
32993 (png_mod_SOURCES): Likewise.
32994 (png_mod_CFLAGS): Likewise.
32995 (png_mod_LDFLAGS): Likewise.
32996
32997 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
32998 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
32999 (video_mod_SOURCES): Added.
33000 (video_mod_CFLAGS): Likewise.
33001 (video_mod_LDFLAGS): Likewise.
33002 (videotest_mod_SOURCES): Likewise.
33003 (videotest_mod_CFLAGS): Likewise.
33004 (videotest_mod_LDFLAGS): Likewise.
33005 (bitmap_mod_SOURCES): Likewise.
33006 (bitmap_mod_CFLAGS): Likewise.
33007 (bitmap_mod_LDFLAGS): Likewise.
33008 (tga_mod_SOURCES): Likewise.
33009 (tga_mod_CFLAGS): Likewise.
33010 (tga_mod_LDFLAGS): Likewise.
33011 (jpeg_mod_SOURCES): Likewise.
33012 (jpeg_mod_CFLAGS): Likewise.
33013 (jpeg_mod_LDFLAGS): Likewise.
33014 (png_mod_SOURCES): Likewise.
33015 (png_mod_CFLAGS): Likewise.
33016 (png_mod_LDFLAGS): Likewise.
33017 (gfxterm_mod_SOURCES): Likewise.
33018 (gfxterm_mod_CFLAGS): Likewise.
33019 (gfxterm_mod_LDFLAGS): Likewise.
33020
33021 * term/gfxterm.c: Removed include to grub/machine/memory.h,
33022 grub/machine/console.h.
33023
33024 2009-01-04 Jerone Young <jerone@gmail.com>
33025
33026 Make on screen instructions clearer
33027
33028 Based on patch created by Jidanni <jidanni@jidanni.org>
33029
33030 * normal/menu.c: print clearer instructions on the screen
33031
33032 2009-01-02 Colin D Bennett <colin@gibibit.com>
33033
33034 New font engine.
33035
33036 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
33037 build system and fixed gfxterm.c to work with different sized fonts.
33038
33039 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
33040
33041 * configure: Re-generated.
33042
33043 * DISTLIST: Removed font/manager.c.
33044 Added font/font.c.
33045 Added font/font_cmd.c.
33046
33047 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
33048 compilation.
33049
33050 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
33051
33052 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
33053
33054 * kern/term.c: Changed users of grub_utf8_to_ucs4.
33055
33056 * normal/menu.c: Likewise.
33057
33058 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
33059 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
33060
33061 * include/grub/font.h: Replaced with new file.
33062
33063 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
33064 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
33065 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
33066 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
33067 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
33068 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
33069 fg_red, fg_green, fg_blue, fg_alpha.
33070 (grub_video_adapter): Removed blit_glyph.
33071 (grub_video_blit_glyph): Removed.
33072
33073 * font/manager.c: Removed file.
33074
33075 * font/font.c: New file.
33076
33077 * font/font_cmd.c: Likewise.
33078
33079 * video/video.c (grub_video_blit_glyph): Removed.
33080
33081 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
33082 (grub_video_vbe_map_rgba): Likewise.
33083 (grub_video_vbe_unmap_color_int): Likewise.
33084 (grub_video_vbe_blit_glyph): Removed.
33085 (grub_video_vbe_adapter): Removed blit_glyph.
33086
33087 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
33088 (get_pixel): Likewise.
33089 (set_pixel): Likewise.
33090
33091 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
33092
33093 * term/gfxterm.c: Adapted to new font engine.
33094
33095 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
33096
33097 * term/i386/pc/vga.c: Likewise.
33098
33099 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
33100
33101 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
33102
33103 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33104
33105 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33106
33107 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
33108
33109 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
33110
33111 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
33112
33113 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
33114
33115 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33116
33117 * util/grub.d/00_header.in: Changed to use new loadfont command.
33118
33119 * util/grub-mkconfig_lib.in: Changed font extension.
33120
33121 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
33122
33123 * util/getroot.c (grub_util_get_grub_dev): Add support for
33124 /dev/md/dNNpNN style partitionable mdraid devices.
33125
33126 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
33127
33128 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
33129 at a time limit of the PXE TFTP API correctly.
33130 (grub_pxefs_close): Likewise.
33131
33132 2008-11-29 Robert Millan <rmh@aybabtu.com>
33133
33134 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
33135 grub_ata_device_initialize() calls.
33136
33137 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
33138
33139 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
33140 iteration failed.
33141 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
33142
33143 2008-11-28 Robert Millan <rmh@aybabtu.com>
33144
33145 Fix build on powerpc-ieee1275. Based on patch created by
33146 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
33147 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33148 `kern/ieee1275/mmap.c'.
33149 * include/grub/powerpc/ieee1275/memory.h: New file.
33150
33151 Provide grub-install on coreboot.
33152 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
33153 (grub_install_SOURCES): New variable.
33154 * util/i386/pc/grub-install.in: Add a few condition checks to make it
33155 usable on coreboot.
33156
33157 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
33158
33159 * util/grub-fstest.c (grub_term_get_current_input): Change return type
33160 to `grub_term_input_t'.
33161 (grub_term_get_current_output): Change return type to
33162 `grub_term_output_t'.
33163
33164 2008-11-22 Robert Millan <rmh@aybabtu.com>
33165
33166 Fix breakage on coreboot due to declaration mismatch.
33167 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
33168 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
33169 grub_vga_text_cls().
33170
33171 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
33172 comments. Avoid copying one more byte than necessary (just in case).
33173
33174 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
33175 to 0x200000 (avoids trouble with some OFW implementations, and matches
33176 with the one in Yaboot).
33177 Reported by Manoel Abranches
33178
33179 2008-11-20 Robert Millan <rmh@aybabtu.com>
33180
33181 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
33182 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
33183
33184 * util/grub-mkconfig_lib.in (grub_warn): New function.
33185 (convert_system_path_to_grub_path): Use grub_warn() when issuing
33186 warnings, to obtain consistent formatting.
33187 * util/grub.d/00_header.in: Likewise.
33188 * util/update-grub_lib.in: Likewise.
33189
33190 * loader/i386/linux.c (allocate_pages): Fix a warning.
33191 Move comment text to `#error' stanza.
33192
33193 Harmonize ieee1275's grub_available_iterate() with the generic
33194 grub_machine_mmap_iterate() interface (fixes a recently-introduced
33195 build problem on i386-ieee1275):
33196 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
33197 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
33198 parameter `type'. Update all users of this function.
33199 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
33200 `kern/ieee1275/mmap.c'.
33201 * kern/ieee1275/init.c
33202 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
33203 with ...
33204 (grub_machine_mmap_iterate): ... this.
33205 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
33206 return type to `grub_err_t'. Update all implementations of this
33207 function prototype.
33208 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
33209 Likewise.
33210
33211 Add `lsmmap' command (lists firmware-provided memory map):
33212 * commands/lsmmap.c: New file.
33213 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
33214 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
33215 variables.
33216 * conf/powerpc-ieee1275.rmk: Likewise.
33217 * conf/i386-coreboot.rmk: Likewise.
33218 * conf/i386-ieee1275.rmk: Likewise.
33219
33220 2008-11-19 Robert Millan <rmh@aybabtu.com>
33221
33222 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
33223 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
33224 constraints to initrd allocation (based on code from
33225 loader/i386/pc/linux.c). Without them, initrd was allocated too high
33226 for Linux to find it.
33227
33228 2008-11-14 Robert Millan <rmh@aybabtu.com>
33229
33230 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
33231 order to cope with duplicate slashes.
33232
33233 2008-11-14 Robert Millan <rmh@aybabtu.com>
33234
33235 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
33236 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
33237 don't want to mess with lower memory, because it is used in the Linux
33238 loader.
33239
33240 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
33241 an appropriate place in lower memory, between 0x10000 and 0x90000,
33242 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
33243 is in our heap (probably as a result of it being corrupted during
33244 decompression). Add #error instance with comment to explain why this
33245 loader isn't currently usable on PC/BIOS.
33246
33247 2008-11-14 Robert Millan <rmh@aybabtu.com>
33248
33249 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
33250 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
33251
33252 2008-11-12 Robert Millan <rmh@aybabtu.com>
33253
33254 Make loader/i386/linux.c buildable on i386-pc (although disabled).
33255
33256 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
33257 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
33258 from here ...
33259 * include/grub/i386/pc/memory.h: ... to here.
33260
33261 2008-11-12 Robert Millan <rmh@aybabtu.com>
33262
33263 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
33264 split).
33265
33266 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
33267 (grub_console_cur_color, grub_console_real_putchar)
33268 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33269 (grub_console_setcolorstate, grub_console_setcolor)
33270 (grub_console_getcolor): Move from here ...
33271 * include/grub/i386/vga_common.h: ... to here (new file).
33272
33273 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
33274 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
33275 `<grub/i386/io.h>'.
33276 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
33277 `<grub/i386/vga_common.h>'.
33278
33279 2008-11-12 Robert Millan <rmh@aybabtu.com>
33280
33281 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
33282 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
33283 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
33284 variables.
33285 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33286 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
33287
33288 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
33289 grub_console_init() with call to grub_vga_text_init().
33290 (grub_machine_fini): Replace call to
33291 grub_console_fini() with call to grub_vga_text_fini() and
33292 grub_at_keyboard_fini().
33293
33294 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
33295 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33296 (grub_console_setcolorstate, grub_console_setcolor)
33297 (grub_console_getcolor): New function prototypes.
33298
33299 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
33300 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
33301 (grub_vga_text_setcursor): Static-ize.
33302 (grub_vga_text_term): New structure.
33303 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
33304
33305 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
33306 (grub_console_cur_color, grub_console_standard_color)
33307 (grub_console_normal_color, grub_console_highlight_color)
33308 (map_char, grub_console_putchar, grub_console_getcharwidth)
33309 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
33310 (grub_console_getcolor): Move from here ...
33311 * term/i386/vga_common.c: ... to here (same function names).
33312
33313 2008-11-12 Robert Millan <rmh@aybabtu.com>
33314
33315 Use newly-added Multiboot support in coreboot.
33316
33317 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33318 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
33319
33320 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
33321 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
33322 (codestart): Store the MBI in `startup_multiboot_info' when we're
33323 being loaded using Multiboot.
33324
33325 * kern/i386/coreboot/init.c (grub_machine_init): Move
33326 grub_at_keyboard_init() call to beginning of function (useful for
33327 debugging). Call grub_machine_mmap_init() before attempting to use
33328 grub_machine_mmap_iterate().
33329 (grub_lower_mem, grub_upper_mem): Move from here ...
33330 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
33331 here (new file).
33332
33333 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
33334 function prototype.
33335
33336 2008-11-12 Robert Millan <rmh@aybabtu.com>
33337
33338 Fix a regression introduced by the at_keyboard.mod split. Because
33339 some terminals are default on some platforms and non-default on
33340 others, the first terminal being registered determines which is
33341 going to be default.
33342
33343 * kern/term.c (grub_term_register_input): If this is the first
33344 terminal being registered, set it as the current one.
33345 (grub_term_register_output): Likewise.
33346
33347 * term/efi/console.c (grub_console_init): Do not call
33348 grub_term_set_current_output() or grub_term_set_current_input().
33349 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
33350 * term/i386/pc/console.c (grub_console_init): Likewise.
33351 (grub_console_fini): Do not call grub_term_set_current_input()
33352 (but leave grub_term_set_current_output() to restore text mode).
33353
33354 2008-11-10 Robert Millan <rmh@aybabtu.com>
33355
33356 * util/grub.d/00_header.in: Add backward compatibility check for
33357 versions of terminal.mod that don't understand `terminal_input' or
33358 `terminal_output'.
33359
33360 2008-11-09 Robert Millan <rmh@aybabtu.com>
33361
33362 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
33363 `terminal_input' / `terminal_output', not `terminal'.
33364
33365 2008-11-08 Robert Millan <rmh@aybabtu.com>
33366
33367 * Makefile.in (include_DATA): Fix srcdir=. assumption.
33368 (DISTCLEANFILES): Add `build_env.mk'.
33369
33370 2008-11-08 Robert Millan <rmh@aybabtu.com>
33371
33372 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
33373 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33374 members. Update all users.
33375 * util/console.c (grub_ncurses_term): Split in ...
33376 (grub_ncurses_term_input): ... this, and ...
33377 (grub_ncurses_term_output): ... this. Update all users.
33378 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
33379
33380 2008-11-08 Robert Millan <rmh@aybabtu.com>
33381
33382 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
33383 (PKGDATA): Add $(pkgdata_SRCDIR).
33384 (pkglib_BUILDDIR): New variable.
33385 (pkgdata_SRCDIR): New variable.
33386 (build_env.mk): New target.
33387 (include_DATA): New variable.
33388 (install-local): Install $(include_DATA) files in $(includedir).
33389
33390 2008-11-07 Pavel Roskin <proski@gnu.org>
33391
33392 * gendistlist.sh: Use C locale for sorting to ensure consistent
33393 output on all systems.
33394
33395 * util/grub.d/00_header.in: Remove incorrect space before
33396 "serial".
33397
33398 2008-11-07 Robert Millan <rmh@aybabtu.com>
33399
33400 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
33401 per specification.
33402 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
33403 * loader/multiboot_loader.c (find_multi_boot2_header): New function
33404 (based on find_multi_boot1_header).
33405 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
33406 using find_multi_boot2_header(), and abort if neither Multiboot or
33407 Multiboot headers were found.
33408
33409 2008-11-07 Robert Millan <rmh@aybabtu.com>
33410
33411 Modularize at_keyboard.mod:
33412
33413 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
33414 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
33415 (at_keyboard_mod_LDFLAGS): New variables.
33416
33417 Actual terminal split:
33418
33419 * include/grub/term.h (struct grub_term): Split in ...
33420 (struct grub_term_input): ... this, and ...
33421 (struct grub_term_output): ... this. Update all users.
33422 (grub_term_set_current): Split in ...
33423 (grub_term_set_current_input): ... this, and ...
33424 (grub_term_set_current_output): ... this.
33425 (grub_term_get_current): Split in ...
33426 (grub_term_get_current_input): ... this, and ...
33427 (grub_term_get_current_output): ... this.
33428 (grub_term_register): Split in ...
33429 (grub_term_register_input): ... this, and ...
33430 (grub_term_register_output): ... this.
33431 (grub_term_unregister): Split in ...
33432 (grub_term_unregister_input): ... this, and ...
33433 (grub_term_unregister_output): ... this.
33434 (grub_term_iterate): Split in ...
33435 (grub_term_iterate_input): ... this, and ...
33436 (grub_term_iterate_output): ... this.
33437
33438 * kern/term.c (grub_term_list): Split in ...
33439 (grub_term_list_input): ... this, and ...
33440 (grub_term_list_output): ... this. Update all users.
33441 (grub_cur_term): Split in ...
33442 (grub_cur_term_input): ... this, and ...
33443 (grub_cur_term_output): ... this. Update all users.
33444 (grub_term_set_current): Split in ...
33445 (grub_term_set_current_input): ... this, and ...
33446 (grub_term_set_current_output): ... this.
33447 (grub_term_get_current): Split in ...
33448 (grub_term_get_current_input): ... this, and ...
33449 (grub_term_get_current_output): ... this.
33450 (grub_term_register): Split in ...
33451 (grub_term_register_input): ... this, and ...
33452 (grub_term_register_output): ... this.
33453 (grub_term_unregister): Split in ...
33454 (grub_term_unregister_input): ... this, and ...
33455 (grub_term_unregister_output): ... this.
33456 (grub_term_iterate): Split in ...
33457 (grub_term_iterate_input): ... this, and ...
33458 (grub_term_iterate_output): ... this.
33459
33460 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
33461 a check for input and one for output (and only attempt to get keys
33462 from user when input works).
33463
33464 * util/grub-probe.c (grub_term_get_current): Split in ...
33465 (grub_term_get_current_input): ... this, and ...
33466 (grub_term_get_current_output): ... this.
33467 * util/grub-fstest.c: Likewise.
33468 * util/i386/pc/grub-setup.c: Likewise.
33469 * util/grub-editenv.c: Likewise.
33470
33471 Portability adjustments:
33472
33473 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
33474 `term/i386/pc/at_keyboard.c'.
33475 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
33476 grub_keyboard_controller_init() (now handled by terminal .init).
33477 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
33478 grub_at_keyboard_init().
33479 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
33480 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
33481 at_keyboard.mod via input terminal interface).
33482 * include/grub/i386/coreboot/console.h: Convert into a stub for
33483 `<grub/i386/pc/console.h>'.
33484
33485 Migrate full terminals to new API:
33486
33487 * term/efi/console.c (grub_console_term): Split into ...
33488 (grub_console_term_input): ... this, and ...
33489 (grub_console_term_output): ... this. Update all users.
33490 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
33491 (grub_ofconsole_init): Split into ...
33492 (grub_ofconsole_init_input): ... this, and ...
33493 (grub_ofconsole_init_output): ... this.
33494 (grub_ofconsole_term): Split into ...
33495 (grub_ofconsole_term_input): ... this, and ...
33496 (grub_ofconsole_term_output): ... this. Update all users.
33497 * term/i386/pc/serial.c (grub_serial_term): Split into ...
33498 (grub_serial_term_input): ... this, and ...
33499 (grub_serial_term_output): ... this. Update all users.
33500 * term/i386/pc/console.c (grub_console_term): Split into ...
33501 (grub_console_term_input): ... this, and ...
33502 (grub_console_term_output): ... this. Update all users.
33503 (grub_console_term_input): Only enable it on PC/BIOS platform.
33504 (grub_console_init): Remove grub_keyboard_controller_init() call.
33505
33506 Migrate input terminals to new API:
33507
33508 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
33509 `i386' and `i386/pc' to enable build on x86_64 (this driver is
33510 i386-specific anyway).
33511 (grub_console_checkkey): Rename to ...
33512 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
33513 users.
33514 (grub_keyboard_controller_orig): New variable.
33515 (grub_console_getkey): Rename to ...
33516 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
33517 users.
33518 (grub_keyboard_controller_init): Static-ize. Save original
33519 controller value so that it can be restored ...
33520 (grub_keyboard_controller_fini): ... here (new function).
33521 (grub_at_keyboard_term): New structure.
33522 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
33523 functions.
33524
33525 Migrate output terminals to new API:
33526
33527 * term/i386/pc/vga.c (grub_vga_term): Change type to
33528 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33529 members. Update all users.
33530 * term/gfxterm.c (grub_video_term): Change type to
33531 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33532 members. Update all users.
33533 * include/grub/i386/pc/console.h (grub_console_checkkey)
33534 (grub_console_getkey): Do not export (no longer needed by gfxterm,
33535 etc).
33536
33537 Migrate `terminal' command and userland tools to new API:
33538
33539 * commands/terminal.c (grub_cmd_terminal): Split into ...
33540 (grub_cmd_terminal_input): ... this, and ...
33541 (grub_cmd_terminal_output): ... this.
33542 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
33543 `terminal_input' and `terminal_output'.
33544 * util/grub.d/00_header.in: Adjust `terminal' calls to new
33545 `terminal_input' / `terminal_output' API.
33546 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
33547 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
33548 provided ${GRUB_TERMINAL}, convert it).
33549
33550 2008-11-04 Robert Millan <rmh@aybabtu.com>
33551
33552 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
33553 for FreeBSD.
33554 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
33555
33556 2008-11-03 Bean <bean123ch@gmail.com>
33557
33558 * kern/elf.c (grub_elf32_load): Revert to previous code.
33559 (grub_elf64_load): Likewise.
33560
33561 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
33562
33563 2008-11-01 Robert Millan <rmh@aybabtu.com>
33564
33565 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
33566 (TARGET_CPPFLAGS): Likewise.
33567 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
33568
33569 2008-11-01 Carles Pina i Estany <carles@pina.cat>
33570
33571 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
33572
33573 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
33574
33575 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
33576 addition of objects until the code is not going to be able to fail.
33577
33578 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
33579
33580 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
33581 (add a missing NULL check, and correct them by moving the pointer
33582 operations after the actual check).
33583
33584 2008-10-29 Robert Millan <rmh@aybabtu.com>
33585
33586 * util/i386/pc/grub-install.in: Handle empty string as output from
33587 make_system_path_relative_to_its_root().
33588
33589 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
33590
33591 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
33592 circular metadata worst case scenario. If the metadata is circular
33593 then copy the wrap in place.
33594 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
33595 project lib/format_text/layout.h
33596 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
33597
33598 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
33599
33600 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
33601
33602 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
33603
33604 * util/update-grub_lib.in: Mention filename in warning message.
33605
33606 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
33607
33608 * NEWS: Update for rename of update-grub to grub-mkconfig.
33609
33610 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
33611
33612 * util/update-grub_lib.in: Copy to ...
33613 * util/grub-mkconfig_lib.in: ... this. Update all users.
33614 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
33615 * util/update-grub.in: Rename to ...
33616 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
33617 option. Add `--output' option to allow users to specify the generated
33618 configuration file. Default to stdout.
33619 (update_grub_dir): Rename to ...
33620 (grub_mkconfig_dir): ... this.
33621 (grub_cfg): Default to an empty string.
33622 * conf/common.rmk (update-grub): Rename to ...
33623 (grub-mkconfig): ... this.
33624 (update-grub_lib): Copy to ...
33625 (grub-mkconfig_lib): ... this.
33626 (update-grub_SCRIPTS): Copy to ...
33627 (grub-mkconfig_SCRIPTS): ... this. Update all users.
33628 (update-grub_DATA): Rename to ...
33629 (grub-mkconfig_DATA): ... this.
33630
33631 2008-09-28 Robert Millan <rmh@aybabtu.com>
33632
33633 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
33634 to `modified'. Add the real `created' field.
33635 (grub_iso9660_uuid): Use `modified' rather than `created' for
33636 constructing the UUID.
33637
33638 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
33639
33640 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
33641 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
33642
33643 2008-09-28 Bean <bean123ch@gmail.com>
33644
33645 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
33646 Thanks to Christian Franke for finding this bug.
33647
33648 2008-09-25 Robert Millan <rmh@aybabtu.com>
33649
33650 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
33651 instances of grub_util_get_disk_name() (see previous commit).
33652
33653 2008-09-25 Robert Millan <rmh@aybabtu.com>
33654
33655 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
33656 `util/i386/get_disk_name.c'.
33657 * conf/i386-efi.rmk: Likewise.
33658 * conf/x86_64-efi.rmk: Likewise.
33659 * conf/i386-coreboot.rmk: Likewise.
33660 * conf/i386-ieee1275.rmk: Likewise.
33661 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
33662 `util/ieee1275/get_disk_name.c'.
33663 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
33664 * util/ieee1275/get_disk_name.c: Remove file.
33665 * util/i386/get_disk_name.c: Remove file.
33666 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
33667 "hd%d" for device.map entries, rather than using
33668 grub_util_get_disk_name().
33669
33670 2008-09-24 Carles Pina i Estany <carles@pina.cat>
33671
33672 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
33673 warning.
33674 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
33675
33676 2008-09-24 Carles Pina i Estany <carles@pina.cat>
33677
33678 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
33679 Changed to 0x5100.
33680 (GRUB_TERM_PPAGE): Changed to 0x4900.
33681
33682 2008-09-24 Robert Millan <rmh@aybabtu.com>
33683
33684 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
33685 macros (they were i386-pc specific).
33686 * include/grub/sparc64/ieee1275/console.h: Likewise.
33687 * include/grub/efi/console.h: Likewise.
33688
33689 2008-09-22 Bean <bean123ch@gmail.com>
33690
33691 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
33692 resident and in attribute list.
33693
33694 * include/grub/ntfs.h (BMP_LEN): Removed.
33695
33696 2008-09-22 Bean <bean123ch@gmail.com>
33697
33698 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
33699 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
33700
33701 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
33702 error occurs, as grub_disk_open will call grub_disk_close, which will
33703 call p->close (scsi).
33704
33705 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
33706
33707 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
33708 (AC_PREREQ): Bumped to 2.59.
33709 (AC_TRY_COMPILE): Replace obsolete macro with ...
33710 (AC_COMPILE_IFELSE): ... this.
33711 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
33712 (AC_LINK_IFELSE): ... this.
33713
33714 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
33715
33716 * autogen.sh: Add a call to `gendistlist.sh'.
33717
33718 2008-09-19 Christian Franke <franke@computer.org>
33719
33720 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
33721 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
33722 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
33723 Export __enable_execute_stack() to modules.
33724 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
33725 New function.
33726
33727 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
33728
33729 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
33730 Sort the list.
33731
33732 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
33733
33734 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
33735 #include <grub/util/hostdisk.h>.
33736
33737 2008-09-08 Robert Millan <rmh@aybabtu.com>
33738
33739 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
33740 segments when their filesz is zero (grub_file_read() interprets
33741 zero-size as "read until EOF", which results in memory corruption).
33742 Use `lowest_segment' rather than 0 for calculating the current
33743 segment load address.
33744
33745 2008-09-08 Robert Millan <rmh@aybabtu.com>
33746
33747 * util/hostdisk.c (open_device): Replace a grub_util_info() call
33748 with grub_dprintf("hostdisk", ...), as it was so verbose that it
33749 clobbered useful information.
33750
33751 2008-09-08 Robert Millan <rmh@aybabtu.com>
33752
33753 * include/grub/util/biosdisk.h: Move to ...
33754 * include/grub/util/hostdisk.h: ... here. Update all users.
33755 * util/biosdisk.c: Move to ...
33756 * util/hostdisk.c: ... here. Update all users.
33757
33758 2008-09-07 Robert Millan <rmh@aybabtu.com>
33759
33760 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
33761 variables.
33762 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
33763 and length can be stored directly in the `mbi->mmap_addr' and
33764 `mbi->mmap_length' struct fields.
33765
33766 2008-09-07 Robert Millan <rmh@aybabtu.com>
33767
33768 * conf/i386.rmk: New file. Provides declaration for building
33769 `cpuid.mod'.
33770 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
33771 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
33772 variables.
33773 Include `conf/i386.mk'.
33774 * conf/i386-efi.rmk: Likewise.
33775 * conf/x86_64-efi.rmk: Likewise.
33776 * conf/i386-coreboot.rmk: Likewise.
33777 * conf/i386-ieee1275.rmk: Likewise.
33778
33779 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
33780
33781 Based on patch created by Colin D Bennett <colin@gibibit.com>.
33782 Adds optimization support for BGR based modes.
33783
33784 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
33785 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33786 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33787 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33788 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33789 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33790 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33791 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33792 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33793 (grub_video_i386_vbeblit_index_index): Likewise.
33794 (grub_video_i386_vbeblit_replace_directN): Added.
33795 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33796 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33797 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33798 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33799 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33800 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
33801 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
33802 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33803 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33804 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33805 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33806 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33807 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
33808
33809 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
33810 (grub_video_i386_vbefill_R8G8B8): Likewise.
33811 (grub_video_i386_vbefill_index): Likewise.
33812 (grub_video_i386_vbefill_direct32): Added.
33813 (grub_video_i386_vbefill_direct24): Likewise.
33814 (grub_video_i386_vbefill_direct16): Likewise.
33815 (grub_video_i386_vbefill_direct8): Likewise.
33816
33817 * include/grub/video.h (grub_video_blit_format): Removed
33818 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
33819 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
33820 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
33821 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
33822 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
33823
33824 * video/video.c (grub_video_get_blit_format): Updated to use new
33825 blit formats. Added handling for 16 bit color modes.
33826
33827 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
33828 fillers.
33829 (common_blitter): Updated to use new blitters.
33830
33831 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
33832 Removed.
33833 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33834 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33835 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33836 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33837 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33838 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33839 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33840 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33841 (grub_video_i386_vbeblit_index_index): Likewise.
33842 (grub_video_i386_vbeblit_replace_directN): Added.
33843 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33844 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33845 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33846 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33847 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33848 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
33849 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
33850 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33851 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33852 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33853 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33854 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33855 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
33856
33857 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
33858 (grub_video_i386_vbefill_R8G8B8): Likewise.
33859 (grub_video_i386_vbefill_index): Likewise.
33860 (grub_video_i386_vbefill_direct32): Added.
33861 (grub_video_i386_vbefill_direct24): Likewise.
33862 (grub_video_i386_vbefill_direct16): Likewise.
33863 (grub_video_i386_vbefill_direct8): Likewise.
33864
33865 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
33866 types.
33867
33868 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
33869 types.
33870
33871 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
33872 blitter types.
33873
33874 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
33875 types.
33876
33877 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
33878
33879 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
33880 RAID level 1.
33881
33882 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
33883
33884 * fs/iso9660.c (grub_iso9660_date): New structure.
33885 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
33886 (grub_iso9660_uuid): New function.
33887
33888 2008-09-05 Bean <bean123ch@gmail.com>
33889
33890 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
33891
33892 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
33893 insensitive bit for names in Win32 and Win32 & DOS namespace.
33894
33895 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
33896
33897 * include/grub/types.h (LONG_MAX): Likewise.
33898
33899 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
33900
33901 * util/getroot.c: Include <config.h>.
33902 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
33903 add support for /dev/md/N devices and handle LVM double dash escaping.
33904
33905 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
33906
33907 * config.guess: Update to latest version from config git.
33908 * config.sub: Likewise.
33909
33910 2008-09-03 Robert Millan <rmh@aybabtu.com>
33911
33912 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
33913 `disk->total_sectors'.
33914
33915 2008-09-01 Colin D Bennett <colin@gibibit.com>
33916
33917 * include/grub/normal.h: Fixed incorrect comment for
33918 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
33919
33920 2008-09-01 Colin D Bennett <colin@gibibit.com>
33921
33922 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
33923 values with defines.
33924
33925 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
33926 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
33927 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
33928 (GRUB_VBE_MODEATTR_COLOR): Likewise.
33929 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
33930 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
33931 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
33932 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
33933 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
33934 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
33935 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
33936 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
33937 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
33938 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
33939 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
33940 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
33941 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
33942 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
33943 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
33944
33945 2008-08-31 Robert Millan <rmh@aybabtu.com>
33946
33947 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
33948 declaration.
33949 (grub_multiboot): Fix a few warnings.
33950
33951 2008-08-31 Robert Millan <rmh@aybabtu.com>
33952
33953 * loader/i386/pc/multiboot.c: Update comment not to say that
33954 boot_device support is unimplemented.
33955
33956 2008-08-31 Robert Millan <rmh@aybabtu.com>
33957
33958 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
33959 or memory map support are unimplemented.
33960
33961 2008-08-31 Colin D Bennett <colin@gibibit.com>
33962
33963 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
33964
33965 2008-08-31 Colin D Bennett <colin@gibibit.com>
33966
33967 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
33968 total video memory in 'vbeinfo' output; show color format details for
33969 each video mode.
33970
33971 2008-08-30 Pavel Roskin <proski@gnu.org>
33972
33973 * util/genmoddep.c: Remove for real this time.
33974 * DISTLIST: Remove util/genmoddep.c.
33975
33976 2008-08-30 Robert Millan <rmh@aybabtu.com>
33977
33978 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
33979 as required by Multiboot spec (it was already 4-byte aligned, but
33980 only by chance).
33981
33982 2008-08-29 Pavel Roskin <proski@gnu.org>
33983
33984 * kern/powerpc/ieee1275/crt0.S: Rename to ...
33985 * kern/powerpc/ieee1275/startup.S: ... this.
33986 * conf/powerpc-ieee1275.rmk: Adjust for the above.
33987 * DISTLIST: Likewise.
33988
33989 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
33990 grub/cpu/kernel.h. Add start label for consistency with other
33991 platforms. Add grub_prefix immediately after start. Add jump
33992 to the code after grub_prefix.
33993 * include/grub/powerpc/kernel.h: Provide valid values for
33994 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
33995
33996 2008-08-29 Bean <bean123ch@gmail.com>
33997
33998 * configure.ac: Change host_os to cygwin for mingw.
33999 (asprintf): New check for function.
34000
34001 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
34002 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
34003
34004 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
34005 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
34006 sync, sleep and grub_util_get_disk_size for mingw.
34007
34008 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
34009 to get size in mingw.
34010 (open_device): Use flag O_BINARY if it's defined.
34011 (find_root_device): Add dummy code for mingw.
34012
34013 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
34014 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
34015 (get_scsi_disk_name): Return 0 for mingw.
34016
34017 * util/hostfs.c: #include <grub/util/misc.h>.
34018 (grub_hostfs_open): Use "rb" flag to open file, use
34019 grub_util_get_disk_size to get disk size for mingw.
34020
34021 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
34022 (asprintf): New function if HAVE_ASPRINTF is not set.
34023 (sync): New function for mingw.
34024 (sleep): Likewise.
34025 (grub_util_get_disk_size): Likewise.
34026
34027 2008-08-28 Pavel Roskin <proski@gnu.org>
34028
34029 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34030 kern/time.c.
34031
34032 2008-08-28 Robert Millan <rmh@aybabtu.com>
34033
34034 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
34035
34036 2008-08-28 Robert Millan <rmh@aybabtu.com>
34037
34038 Change find_grub_drive() syntax so it doesn't prevent it from
34039 detecting NULL names as errors.
34040
34041 * util/biosdisk.c (find_grub_drive): Move free slot search code
34042 from here ...
34043 (find_free_slot): ... to here.
34044 (read_device_map): Use find_free_slot() to search for free slots.
34045
34046 2008-08-27 Marco Gerards <marco@gnu.org>
34047
34048 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
34049 (scsi_mod_SOURCES): New variable.
34050 (scsi_mod_CFLAGS): Likewise
34051 (scsi_mod_LDFLAGS): Likewise.
34052
34053 * disk/scsi.c: New file.
34054
34055 * include/grub/scsi.h: Likewise.
34056
34057 * include/grub/scsicmd.h: Likewise.
34058
34059 * disk/ata.c: Include <grub/scsi.h>.
34060 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
34061 instead.
34062 (grub_ata_iterate): Skip ATAPI devices.
34063 (grub_ata_open): Only handle ATAPI devices.
34064 (struct grub_atapi_read): Removed.
34065 (grub_atapi_readsector): Likewise.
34066 (grub_ata_read): No longer handle ATAPI devices.
34067 (grub_ata_write): Likewise.
34068 (grub_atapi_iterate): New function.
34069 (grub_atapi_read): Likewise.
34070 (grub_atapi_write): Likewise.
34071 (grub_atapi_open): Likewise.
34072 (grub_atapi_close): Likewise.
34073 (grub_atapi_dev): New variable.
34074 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
34075 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
34076
34077 * include/grub/disk.h (enum grub_disk_dev_id): Add
34078 `GRUB_DISK_DEVICE_SCSI_ID'.
34079
34080 2008-08-26 Robert Millan <rmh@aybabtu.com>
34081
34082 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
34083 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
34084 descriptive.
34085
34086 2008-08-23 Bean <bean123ch@gmail.com>
34087
34088 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
34089 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34090 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
34091 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
34092 dm_nv.mod.
34093 (raid5rec_mod_SOURCES): New macro.
34094 (raid5rec_mod_CFLAGS): Likewise.
34095 (raid5rec_mod_LDFLAGS): Likewise.
34096 (raid6rec_mod_SOURCES): Likewise.
34097 (raid6rec_mod_CFLAGS): Likewise.
34098 (raid6rec_mod_LDFLAGS): Likewise.
34099 (mdraid_mod_SOURCES): Likewise.
34100 (mdraid_mod_CFLAGS): Likewise.
34101 (mdraid_mod_LDFLAGS): Likewise.
34102 (dm_nv_mod_SOURCES): Likewise.
34103 (dm_nv_mod_CFLAGS): Likewise.
34104 (dm_nv_mod_LDFLAGS): Likewise.
34105
34106 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
34107 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34108 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34109
34110 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
34111 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34112
34113 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34114
34115 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34116
34117 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34118
34119 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34120
34121 * disk/raid5_recover.c: New file.
34122
34123 * disk/raid6_recover.c: Likewise.
34124
34125 * disk/mdraid_linux.c: Likewise.
34126
34127 * disk/dmraid_nvidia.c: Likewise.
34128
34129 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
34130 ULONG_MAX.
34131
34132 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
34133 calculate the size of raid device.
34134 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
34135 different layout of raid5.
34136 (grub_raid_scan_device): Remove code specific to mdraid.
34137 (grub_raid_list): New variable.
34138 (free_array): New function.
34139 (grub_raid_register): Likewise.
34140 (grub_raid_unregister): Likewise.
34141 (grub_raid_rescan): Likewise.
34142 (GRUB_MOD_INIT): Don't iterate device here.
34143 (GRUB_MOD_FINI): Use free_array to release resource.
34144
34145 * include/grub/raid.h: Remove macro and structure specific to mdraid.
34146 (grub_raid5_recover_func_t): New function variable type.
34147 (grub_raid6_recover_func_t): Likewise.
34148 (grub_raid5_recover_func): New variable.
34149 (grub_raid6_recover_func): Likewise.
34150 (grub_raid_register): New function.
34151 (grub_raid_unregister): Likewise.
34152 (grub_raid_rescan): Likewise.
34153 (grub_raid_block_xor): Likewise.
34154
34155 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
34156 (CMD_CRC): New macro.
34157 (part): Removed.
34158 (read_file): Handle device as well as file.
34159 (cmd_crc): New function.
34160 (fstest): Handle multiple disks.
34161 (options): Remove part, raw and long, add root and diskcount.
34162 (usage): Add crc, remove -p, -r, -l, add -r and -c.
34163 (main): Find the first non option entry and ignore subsequent options,
34164 add handling for the new options, support multiple disks.
34165
34166 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
34167
34168 2008-08-23 Bean <bean123ch@gmail.com>
34169
34170 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
34171
34172 * genfslist.sh: Ignore kernel.mod.
34173
34174 * genpartmaplist.sh: Likewise.
34175
34176 2008-08-23 Robert Millan <rmh@aybabtu.com>
34177
34178 * util/getroot.c (find_root_device): Skip anything that starts with
34179 a dot, not just directories. This avoids things like /dev/.tmp.md0.
34180
34181 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
34182
34183 * util/update-grub.in (GRUB_GFXMODE): Export variable.
34184 * util/grub.d/00_header.in: Allow the administrator to change default
34185 gfxmode via ${GRUB_GFXMODE}.
34186
34187 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
34188
34189 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
34190
34191 2008-08-21 Robert Millan <rmh@aybabtu.com>
34192
34193 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
34194 loader.
34195 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
34196 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
34197
34198 2008-08-20 Carles Pina i Estany <carles@pina.cat>
34199
34200 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
34201 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
34202
34203 2008-08-19 Robert Millan <rmh@aybabtu.com>
34204
34205 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
34206 (struct grub_virtual_screen): Remove `cursor_color'.
34207 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
34208 initialization.
34209 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
34210
34211 2008-08-18 Robert Millan <rmh@aybabtu.com>
34212
34213 Unify (identical) linux_normal.c files.
34214 * loader/i386/efi/linux_normal.c: Move from here ...
34215 * loader/linux_normal.c: ... to here. Update all users.
34216 * loader/i386/pc/linux_normal.c: Delete. Update all users.
34217 * loader/i386/ieee1275/linux_normal.c: Likewise.
34218
34219 2008-08-18 Robert Millan <rmh@aybabtu.com>
34220
34221 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
34222 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
34223 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
34224 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
34225 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
34226 New macros.
34227 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
34228 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
34229 (GRUB_LINUX_CL_END_OFFSET): ... to here.
34230 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
34231 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
34232 (GRUB_EFI_CL_END_OFFSET): Rename to ...
34233 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
34234 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
34235 Initialize `params->video_cursor_x' and `params->video_cursor_y'
34236 portably using grub_getxy().
34237 Replace `-EFI' with `-bzImage' in boot message.
34238
34239 2008-08-17 Robert Millan <rmh@aybabtu.com>
34240
34241 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
34242
34243 2008-08-17 Robert Millan <rmh@aybabtu.com>
34244
34245 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
34246
34247 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
34248 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
34249 (grub_machine_mmap_iterate): New function declaration.
34250 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
34251 structure.
34252 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
34253 macros.
34254
34255 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
34256 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
34257 Move e820 parsing from here ...
34258 * kern/i386/pc/mmap.c: New file.
34259 (grub_machine_mmap_iterate): ... to here.
34260
34261 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
34262 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
34263 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
34264 (grub_available_iterate): Redeclare to return `void', and redeclare
34265 its hook to use grub_uint64_t as addr and size parameters, and rename
34266 to ...
34267 (grub_machine_mmap_iterate): ... this. Update all users.
34268
34269 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
34270 to make it more readable. Rename to ...
34271 (grub_machine_mmap_iterate): ... this.
34272
34273 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
34274 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
34275 (grub_multiboot): Allocate an extra region after the payload, and fill
34276 it with a Multiboot memory map. Adjust a.out loader to calculate size
34277 with the extra space.
34278 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
34279 with the extra space.
34280
34281 2008-08-17 Carles Pina i Estany <carles@pina.cat>
34282
34283 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
34284
34285 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
34286
34287 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
34288 mdate-sh to the list `find' searches for.
34289 * DISTLIST: Regenerated.
34290
34291 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
34292
34293 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
34294 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
34295 genmoddep.awk, gensymlist.sh.in.
34296 (DISTDIRS): Add bus, docs, hook, lib.
34297 * DISTLIST: Regenerated.
34298 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
34299
34300 2008-08-16 Robert Millan <rmh@aybabtu.com>
34301
34302 * disk/raid.c (grub_raid_init): Handle/report errors set by
34303 grub_device_iterate().
34304 * disk/lvm.c (grub_lvm_init): Likewise.
34305
34306 2008-08-15 Bean <bean123ch@gmail.com>
34307
34308 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34309 and datehook.mod.
34310 (datetime_mod_SOURCES): New macro.
34311 (datetime_mod_CFLAGS): Likewise.
34312 (datetime_mod_LDFLAGS): Likewise.
34313 (date_mod_SOURCES): Likewise.
34314 (date_mod_CFLAGS): Likewise.
34315 (date_mod_LDFLAGS): Likewise.
34316 (datehook_mod_SOURCES): Likewise.
34317 (datehook_mod_CFLAGS): Likewise.
34318 (datehook_mod_LDFLAGS): Likewise.
34319
34320 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34321 and datehook.mod.
34322 (datetime_mod_SOURCES): New macro.
34323 (datetime_mod_CFLAGS): Likewise.
34324 (datetime_mod_LDFLAGS): Likewise.
34325 (date_mod_SOURCES): Likewise.
34326 (date_mod_CFLAGS): Likewise.
34327 (date_mod_LDFLAGS): Likewise.
34328 (datehook_mod_SOURCES): Likewise.
34329 (datehook_mod_CFLAGS): Likewise.
34330 (datehook_mod_LDFLAGS): Likewise.
34331
34332 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34333 and datehook.mod.
34334 (datetime_mod_SOURCES): New macro.
34335 (datetime_mod_CFLAGS): Likewise.
34336 (datetime_mod_LDFLAGS): Likewise.
34337 (date_mod_SOURCES): Likewise.
34338 (date_mod_CFLAGS): Likewise.
34339 (date_mod_LDFLAGS): Likewise.
34340 (datehook_mod_SOURCES): Likewise.
34341 (datehook_mod_CFLAGS): Likewise.
34342 (datehook_mod_LDFLAGS): Likewise.
34343
34344 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34345 and datehook.mod.
34346 (datetime_mod_SOURCES): New macro.
34347 (datetime_mod_CFLAGS): Likewise.
34348 (datetime_mod_LDFLAGS): Likewise.
34349 (date_mod_SOURCES): Likewise.
34350 (date_mod_CFLAGS): Likewise.
34351 (date_mod_LDFLAGS): Likewise.
34352 (datehook_mod_SOURCES): Likewise.
34353 (datehook_mod_CFLAGS): Likewise.
34354 (datehook_mod_LDFLAGS): Likewise.
34355
34356 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34357 and datehook.mod.
34358 (datetime_mod_SOURCES): New macro.
34359 (datetime_mod_CFLAGS): Likewise.
34360 (datetime_mod_LDFLAGS): Likewise.
34361 (date_mod_SOURCES): Likewise.
34362 (date_mod_CFLAGS): Likewise.
34363 (date_mod_LDFLAGS): Likewise.
34364 (datehook_mod_SOURCES): Likewise.
34365 (datehook_mod_CFLAGS): Likewise.
34366 (datehook_mod_LDFLAGS): Likewise.
34367
34368 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
34369
34370 * commands/date.c: New file.
34371
34372 * hook/datehook.c: Likewise.
34373
34374 * include/grub/lib/datetime.h: Likewise.
34375
34376 * include/grub/i386/cmos.h: Likewise.
34377
34378 * lib/datetime.c: Likewise.
34379
34380 * lib/i386/datetime.c: Likewise.
34381
34382 * lib/efi/datetime.c: Likewise.
34383
34384 2008-08-14 Robert Millan <rmh@aybabtu.com>
34385
34386 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
34387 (grub_mkelfimage_SOURCES): New variable.
34388 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
34389
34390 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
34391 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
34392 * conf/powerpc-ieee1275.rmk: Likewise.
34393 * conf/i386-ieee1275.rmk: Likewise.
34394
34395 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
34396 * kern/i386/coreboot/init.c: Likewise.
34397
34398 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
34399 with `<grub/cpu/kernel.h>'.
34400 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
34401 to ...
34402 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
34403 * kern/i386/coreboot/startup.S: Likewise.
34404
34405 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
34406 (GRUB_MOD_GAP): Remove.
34407 * include/grub/powerpc/kernel.h: New file.
34408 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
34409 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34410 * include/grub/i386/kernel.h: New file.
34411 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
34412 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
34413 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34414
34415 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
34416 `grub-mkelfimage'.
34417 Use --directory when invoking grub_mkimage.
34418
34419 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
34420 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
34421 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
34422 and GRUB_KERNEL_CPU_PREFIX.
34423
34424 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
34425
34426 * include/grub/err.h (grub_err_printf): New function prototype.
34427 * util/misc.c (grub_err_printf): New function.
34428 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
34429 grub_printf.
34430 * kern/err.c (grub_print_error): Use grub_err_printf.
34431
34432 2008-08-13 Robert Millan <rmh@aybabtu.com>
34433
34434 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
34435
34436 2008-08-13 Robert Millan <rmh@aybabtu.com>
34437
34438 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
34439 boot entry.
34440
34441 2008-08-12 Robert Millan <rmh@aybabtu.com>
34442
34443 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
34444 of the relocation code from here ...
34445 (grub_multiboot): ... to here.
34446 (forward_relocator, backward_relocator): Move from here ...
34447 * kern/i386/loader.S (grub_multiboot_forward_relocator)
34448 (grub_multiboot_backward_relocator): ... to here.
34449 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
34450 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
34451 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
34452 (grub_multiboot_forward_relocator_end)
34453 (grub_multiboot_backward_relocator)
34454 (grub_multiboot_backward_relocator_end): New variables.
34455
34456 2008-08-12 Bean <bean123ch@gmail.com>
34457
34458 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
34459
34460 2008-08-11 Robert Millan <rmh@aybabtu.com>
34461
34462 * kern/i386/linuxbios/startup.S: Move from here ...
34463 * kern/i386/coreboot/startup.S: ... to here.
34464
34465 * kern/i386/linuxbios/init.c: Move from here ...
34466 * kern/i386/coreboot/init.c: ... to here.
34467
34468 * kern/i386/linuxbios/table.c: Move from here ...
34469 * kern/i386/coreboot/mmap.c: ... to here.
34470
34471 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
34472
34473 2008-08-11 Robert Millan <rmh@aybabtu.com>
34474
34475 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
34476 errors. Leave it to the upper layer to handle them.
34477
34478 2008-08-09 Christian Franke <franke@computer.org>
34479
34480 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
34481 * conf/common.rmk: Install `grub-pe2elf' only if requested.
34482 Install `grub.d/10_windows' only on Cygwin.
34483 * configure.ac: Add subst of `target_os'.
34484 Check `target_os' also before setting TARGET_OBJ2ELF.
34485 Add `--enable-grub-pe2elf'.
34486
34487 2008-08-08 Robert Millan <rmh@aybabtu.com>
34488
34489 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34490 (grub_last_time): Change type to grub_uint64_t.
34491 (grub_disk_open): Migrate code from to using grub_get_time_ms().
34492 (grub_disk_close): Likewise.
34493
34494 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34495 (run_menu): Migrate code from to using grub_get_time_ms().
34496
34497 * util/misc.c (grub_get_time_ms): New function.
34498
34499 2008-08-08 Marco Gerards <marco@gnu.org>
34500
34501 * disk/ata.c (grub_ata_regget): Change return type to
34502 `grub_uint8_t'.
34503 (grub_ata_regget2): Likewise.
34504 (grub_ata_wait_status): New function.
34505 (grub_ata_wait_busy): Removed function, updated all users to use
34506 `grub_ata_wait_status'.
34507 (grub_ata_wait_drq): Likewise.
34508 (grub_ata_cmd): New function.
34509 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
34510 error handling.
34511 (grub_ata_pio_write): Add error handling.
34512 (grub_atapi_identify): Likewise.
34513 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
34514 handling.
34515 (grub_ata_identify): Use `grub_ata_cmd' and improve error
34516 handling. Actually use the detected registers. Reorder the
34517 detection logic such that it is easier to read.
34518 (grub_ata_pciinit): Do not assign the same ID to each controller.
34519 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
34520 handling.
34521 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
34522
34523 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
34524
34525 2008-08-08 Marco Gerards <marco@gnu.org>
34526
34527 * NEWS: Update.
34528
34529 2008-08-07 Bean <bean123ch@gmail.com>
34530
34531 * include/grub/x86_64/pci.h: New file.
34532
34533 2008-08-07 Christian Franke <franke@computer.org>
34534
34535 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
34536 (TIMER2_GATE): Likewise.
34537 (grub_pit_wait): Add enable/disable of the timer2 gate
34538 bit of port 0x61. This fixes a possible infinite loop.
34539
34540 2008-08-07 Bean <bean123ch@gmail.com>
34541
34542 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
34543 kern/i386/tsc.c and kern/i386/pit.c.
34544
34545 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
34546 x86_64 platform.
34547
34548 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
34549 <grub/i386/tsc.h>.
34550
34551 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
34552
34553 2008-08-07 Bean <bean123ch@gmail.com>
34554
34555 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
34556
34557 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
34558
34559 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
34560 multiple inclusion. Add #include <grub/types.h>.
34561
34562 2008-08-06 Christian Franke <franke@computer.org>
34563
34564 * conf/common.rmk: Build and install `10_windows'.
34565 * util/grub.d/10_windows.in: New script.
34566
34567 2008-08-06 Pavel Roskin <proski@gnu.org>
34568
34569 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
34570
34571 2008-08-06 Robert Millan <rmh@aybabtu.com>
34572
34573 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
34574 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
34575
34576 2008-08-06 Bean <bean123ch@gmail.com>
34577
34578 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
34579 (grub_pxefs_fs_int): Remove dummy definition.
34580 (grub_pxefs_open): Use data->block_size to store the current block
34581 size setting.
34582 (grub_pxefs_read): Use block size stored in data->block_size. As the
34583 value of grub_pxe_blksize can be changed after the file is opened.
34584
34585 2008-08-06 Bean <bean123ch@gmail.com>
34586
34587 * fs/i386/pc/pxe.c (curr_file): new variable.
34588 (grub_pxefs_open): Simply the handling of pxe file system. Don't
34589 require the dummy internal file system anymore.
34590 (grub_pxefs_read): Removed.
34591 (grub_pxefs_close): Likewise.
34592 (grub_pxefs_fs_int): Likewise.
34593 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
34594 connection when we switch file.
34595 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
34596
34597 2008-08-06 Robert Millan <rmh@aybabtu.com>
34598
34599 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
34600 `halt.mod'.
34601 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
34602 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
34603
34604 * kern/i386/halt.c: New file.
34605 * kern/i386/reboot.c: Likewise.
34606 * include/grub/i386/reboot.h: Likewise.
34607 * include/grub/i386/halt.h: Likewise.
34608
34609 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
34610 Include `<grub/cpu/halt.h>'.
34611 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
34612 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
34613
34614 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
34615 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
34616 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
34617 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
34618 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
34619 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
34620 from here ...
34621 * include/grub/i386/at_keyboard.h: ... to here.
34622
34623 2008-08-05 Robert Millan <rmh@aybabtu.com>
34624
34625 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
34626 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
34627 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
34628 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34629 `kern/generic/millisleep.c'.
34630
34631 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
34632 instead of grub_get_rtc().
34633 (grub_tsc_init): Initialize `tsc_boot_time'.
34634
34635 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
34636 (grub_machine_init): Use grub_tsc_init() rather than
34637 installing an RTC-based handler via grub_install_get_time_ms().
34638
34639 * kern/i386/pit.c: New file.
34640 * include/grub/i386/pit.h: Likewise.
34641
34642 2008-08-05 Bean <bean123ch@gmail.com>
34643
34644 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
34645
34646 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
34647 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
34648 (pxe_mod_SOURCES): New macro.
34649 (pxe_mod_CFLAGS): Likewise.
34650 (pxe_mod_LDFLAGS): Likewise.
34651 (pxecmd_mod_SOURCES): Likewise.
34652 (pxecmd_mod_CFLAGS): Likewise.
34653 (pxecmd_mod_LDFLAGS): Likewise.
34654
34655 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
34656 (grub_pxe_call): Likewise.
34657
34658 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
34659
34660 * commands/i386/pc/pxecmd.c: New file.
34661
34662 * fs/i386/pc/pxe.c: Likewise.
34663
34664 * include/grub/i386/pc/pxe.h: Likewise.
34665
34666 2008-08-05 Bean <bean123ch@gmail.com>
34667
34668 * util/console.c (grub_console_cur_color): New variable.
34669 (grub_console_standard_color): Likewise.
34670 (grub_console_normal_color): Likewise.
34671 (grub_console_highlight_color): Likewise.
34672 (color_map): Likewise.
34673 (use_color): Likewise.
34674 (NUM_COLORS): New macro.
34675 (grub_ncurses_setcolorstate): Handle color properly.
34676 (grub_ncurses_setcolor): Don't change color here, just remember the
34677 settings, color will be set in grub_ncurses_setcolorstate.
34678 (grub_ncurses_getcolor): New function.
34679 (grub_ncurses_init): Initialize color pairs.
34680 (grub_ncurses_term): New member grub_ncurses_getcolor.
34681
34682 2008-08-05 Colin D Bennett <colin@gibibit.com>
34683
34684 High resolution timer support. Implemented for x86 CPUs using TSC.
34685 Extracted generic grub_millisleep() so it's linked in only as needed.
34686 This requires a Pentium compatible CPU; if the RDTSC instruction is
34687 not supported, then it falls back on the generic grub_get_time_ms()
34688 implementation that uses the machine's RTC.
34689
34690 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
34691 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34692 `kern/generic/millisleep.c'.
34693
34694 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
34695 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
34696
34697 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
34698 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
34699
34700 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34701
34702 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34703 `kern/generic/millisleep.c'.
34704
34705 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34706
34707 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
34708
34709 * kern/generic/rtc_get_time_ms.c: New file.
34710
34711 * kern/generic/millisleep.c: New file.
34712
34713 * kern/misc.c: Don't include
34714 <kern/time.h> anymore.
34715 (grub_millisleep_generic): Removed.
34716
34717 * commands/sleep.c (grub_interruptible_millisleep): Uses
34718 grub_get_time_ms() instead of grub_get_rtc().
34719
34720 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
34721 function.
34722 (grub_cpu_is_cpuid_supported): New inline function.
34723 (grub_cpu_is_tsc_supported): New inline function.
34724 (grub_tsc_init): New function prototype.
34725 (grub_tsc_get_time_ms): New function prototype.
34726
34727 * kern/i386/tsc.c (grub_get_time_ms): New file.
34728
34729 * include/grub/time.h: Include <grub/types.h.
34730 (grub_millisleep_generic): Removed.
34731 (grub_get_time_ms): New prototype.
34732 (grub_install_get_time_ms): New prototype.
34733 (grub_rtc_get_time_ms): New prototype.
34734
34735 * kern/time.c (grub_get_time_ms): New function.
34736 (grub_install_get_time_ms): New function.
34737
34738 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
34739 <grub/time.h> anymore.
34740 (grub_millisleep): Removed.
34741 (grub_machine_init): Call grub_tsc_init.
34742
34743 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
34744 get_time_ms() implementation.
34745
34746 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
34747 (ieee1275_get_time_ms): New function.
34748 (grub_machine_init): Install get_time_ms() implementation.
34749
34750 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
34751 (grub_machine_init): Call grub_tsc_init().
34752 (grub_millisleep): Removed.
34753
34754 * kern/ieee1275/init.c (grub_millisleep): Removed.
34755 (grub_machine_init): Install ieee1275_get_time_ms()
34756 implementation.
34757 (ieee1275_get_time_ms): New function.
34758 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
34759 real work.
34760
34761 2008-08-05 Marco Gerards <marco@gnu.org>
34762
34763 * disk/ata.c: Include <grub/pci.h>.
34764 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
34765 (grub_ata_initialize): Rewritten.
34766 (grub_ata_device_initialize): New function.
34767
34768 2008-08-04 Pavel Roskin <proski@gnu.org>
34769
34770 * kern/main.c: Include grub/mm.h.
34771
34772 2008-08-04 Robert Millan <rmh@aybabtu.com>
34773
34774 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
34775 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
34776 corruption problem).
34777
34778 2008-08-04 Robert Millan <rmh@aybabtu.com>
34779
34780 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
34781 warnings introduced in my last commit.
34782
34783 2008-08-03 Robert Millan <rmh@aybabtu.com>
34784
34785 Make PCI available on all i386 architectures.
34786
34787 * include/grub/i386/pc/pci.h: Move from here ...
34788 * include/grub/i386/pci.h: ... to here.
34789
34790 * include/grub/i386/pc/pci.h: Remove.
34791 * include/grub/i386/efi/pci.h: Remove.
34792 * include/grub/x86_64/efi/pci.h: Remove.
34793
34794 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
34795 `<grub/cpu/pci.h>'.
34796
34797 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
34798 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
34799 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
34800
34801 * conf/i386-ieee1275.rmk: Likewise.
34802
34803 2008-08-03 Robert Millan <rmh@aybabtu.com>
34804
34805 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
34806 (grub_console_setcursor): Make it possible to set cursor off.
34807
34808 2008-08-03 Robert Millan <rmh@aybabtu.com>
34809
34810 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
34811 of modules instead of assuming which platform provides what.
34812 * util/update-grub.in: Likewise.
34813
34814 2008-08-03 Robert Millan <rmh@aybabtu.com>
34815
34816 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
34817 instead of `grub_install_dos_part' to determine whether a drive needs
34818 to be prepended to prefix (`grub_install_dos_part' is not reliable,
34819 because it can be overridden when loading GRUB via Multiboot).
34820
34821 2008-08-02 Robert Millan <rmh@aybabtu.com>
34822
34823 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
34824
34825 2008-08-02 Robert Millan <rmh@aybabtu.com>
34826
34827 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
34828 of informational grub_dprintf() calls.
34829
34830 2008-08-02 Robert Millan <rmh@aybabtu.com>
34831
34832 * disk/memdisk.c (memdisk_size): Don't initialize.
34833 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
34834
34835 * include/grub/i386/pc/kernel.h
34836 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
34837 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
34838 (grub_memdisk_image_size, grub_arch_memdisk_addr)
34839 (grub_arch_memdisk_size): Remove.
34840
34841 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
34842 field (was only used to transfer a constant). Add `type' field to
34843 support multiple module types.
34844 (grub_module_iterate): New function.
34845
34846 * kern/device.c (grub_device_open): Do not hide error messages
34847 when grub_disk_open() fails. Use grub_print_error() instead.
34848
34849 * kern/i386/pc/init.c (grub_arch_modules_addr)
34850 (grub_arch_memdisk_size): Remove functions.
34851 (grub_arch_modules_addr): Return the module address in high memory
34852 (now that it isn't copied anymore).
34853
34854 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
34855 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
34856 decompression routine (grub_total_module_size already includes that
34857 now). Don't copy modules back to low memory.
34858
34859 * kern/main.c: Include `<grub/mm.h>'.
34860 (grub_load_modules): Split out (and use) ...
34861 (grub_module_iterate): ... this function, which iterates through
34862 module objects and runs a hook.
34863 Comment out grub_mm_init_region() call, as it would cause non-ELF
34864 modules to be overwritten.
34865
34866 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
34867 the memdisk image in its own region, make it part of the module list.
34868 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
34869 (main): Parse --memdisk|-m option, and pass user-provided path as
34870 parameter to generate_image().
34871 (add_segments): Pass `memdisk_path' down to load_modules().
34872 (load_modules): Embed memdisk image in module section when requested.
34873 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
34874 `header.type' instead of `header.offset'.
34875
34876 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
34877 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
34878 (memdisk_mod_LDFLAGS): New variables.
34879 * conf/i386-coreboot.rmk: Likewise.
34880 * conf/i386-ieee1275.rmk: Likewise.
34881
34882 2008-08-02 Robert Millan <rmh@aybabtu.com>
34883
34884 * loader/i386/pc/multiboot.c (playground, forward_relocator)
34885 (backward_relocator): New variables. Used to allocate and relocate
34886 the payload, respectively.
34887 (grub_multiboot_load_elf32): Load into heap instead of requested
34888 address, install the appropriate relocator code in each bound of
34889 the payload, and set the entry point such that
34890 grub_multiboot_real_boot() will jump to one of them.
34891
34892 * kern/i386/loader.S (grub_multiboot_payload_size)
34893 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
34894 (grub_multiboot_payload_entry_offset): New variables.
34895 (grub_multiboot_real_boot): Set cpu context to what the relocator
34896 expects, and jump to the relocator instead of the payload.
34897
34898 * include/grub/i386/loader.h (grub_multiboot_payload_size)
34899 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
34900 (grub_multiboot_payload_entry_offset): Export.
34901
34902 2008-08-01 Bean <bean123ch@gmail.com>
34903
34904 * normal/menu_entry.c (editor_getline): Don't return the original
34905 string as result, as it will be released by lexer once it has done
34906 using it.
34907
34908 2008-08-01 Robert Millan <rmh@aybabtu.com>
34909
34910 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
34911 within menuentries, not before them.
34912 util/grub.d/10_hurd.in: Likewise.
34913
34914 2008-08-01 Bean <bean123ch@gmail.com>
34915
34916 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
34917 (bufio_mod_SOURCES): New macro.
34918 (bufio_mod_CFLAGS): Likewise.
34919 (bufio_mod_LDFLAGS): Likewise.
34920
34921 * include/grub/bufio.h: New file.
34922
34923 * io/bufio.c: Likewise.
34924
34925 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
34926 (grub_video_reader_png): Use grub_buffile_open to open file.
34927
34928 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
34929 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
34930
34931 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
34932 (grub_video_reader_tga): Use grub_buffile_open to open file.
34933
34934 * font/manager.c: Include <grub/bufio.h>.
34935 (add_font): Use grub_buffile_open to open file.
34936
34937 2008-07-31 Robert Millan <rmh@aybabtu.com>
34938
34939 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
34940 ELF segments, use a macro for arbitrarily accessing any of them instead
34941 of preparing a pointer that allows access to one at a time.
34942 (grub_multiboot_load_elf64): Likewise.
34943
34944 2008-07-31 Bean <bean123ch@gmail.com>
34945
34946 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
34947 GRUB_KERNEL_MACHINE_DATA_END.
34948
34949 2008-07-30 Robert Millan <rmh@aybabtu.com>
34950
34951 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
34952 Increase from 0x50 to 0x60.
34953 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
34954 use UUIDs to identify the root drive for them. If that's not
34955 possible, abort.
34956 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
34957 check, for cross-disk installs.
34958
34959 2008-07-30 Robert Millan <rmh@aybabtu.com>
34960
34961 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
34962 is non-empty, use it to set the `prefix' environment variable instead
34963 of the usual approach.
34964 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
34965 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
34966 environment variable instead of dummy make_install_device().
34967
34968 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
34969 (start): Insert a data section, with `grub_prefix' variable.
34970 * kern/i386/linuxbios/startup.S: Likewise.
34971
34972 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
34973 New variable reference.
34974 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
34975 New macro. Defines offset of `grub_prefix' within startup.S (relative
34976 to `start').
34977 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
34978 section within startup.S (relative to `start').
34979 * include/grub/i386/coreboot/kernel.h: Likewise.
34980
34981 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
34982 Overwrite grub_prefix with its contents, at the beginning of the
34983 first segment.
34984 (main): Understand -p|--prefix.
34985
34986 2008-07-30 Robert Millan <rmh@aybabtu.com>
34987
34988 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
34989
34990 2008-07-30 Robert Millan <rmh@aybabtu.com>
34991
34992 * term/i386/pc/vga_text.c (grub_console_cls): Use
34993 grub_console_gotoxy() to go back to beginning of the screen.
34994 Found by Patrick Georgi <patrick.georgi@coresystems.de>
34995
34996 2008-07-29 Christian Franke <franke@computer.org>
34997
34998 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
34999 Add conversion of emulated mount points on Cygwin.
35000
35001 2008-07-29 Christian Franke <franke@computer.org>
35002
35003 * util/update-grub.in: Add a check for admin
35004 group on Cygwin.
35005 Remove old `grub.cfg.new' before creation.
35006 Add `-f' to `mv' to handle the different filesystem
35007 semantics of Windows.
35008
35009 2008-07-29 Bean <bean123ch@gmail.com>
35010
35011 * normal/main.c (get_line): Fix buffer overflow bug.
35012
35013 2008-07-28 Robert Millan <rmh@aybabtu.com>
35014
35015 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
35016 (struct grub_apple_header): New struct. Describes the layout of
35017 the partmap header.
35018 (apple_partition_map_iterate): Check the header magic as well as the
35019 partition magic (which was already being checked).
35020
35021 2008-07-28 Pavel Roskin <proski@gnu.org>
35022
35023 * genmk.rb: Add a warning to the beginning of the output that
35024 it's a generated file and should not be edited.
35025
35026 2008-07-28 Robert Millan <rmh@aybabtu.com>
35027
35028 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
35029 with the same number are found, just use issue a warning with
35030 grub_dprintf(), as this error has been reported to be non-fatal.
35031
35032 2008-07-27 Robert Millan <rmh@aybabtu.com>
35033
35034 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
35035 information.
35036
35037 2008-07-27 Bean <bean123ch@gmail.com>
35038
35039 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
35040 (grub_fat_find_dir): Ignore case when comparing filename.
35041
35042 2008-07-27 Bean <bean123ch@gmail.com>
35043
35044 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
35045 smallino, as it's more descriptive, and i8count can be confused with
35046 the other field count.
35047 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
35048 inode type.
35049
35050 2008-07-27 Bean <bean123ch@gmail.com>
35051
35052 * commands/crc.c: New file.
35053
35054 * lib/crc.c: Likewise.
35055
35056 * include/grub/lib/crc.h: Likewise.
35057
35058 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
35059
35060 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
35061 (hexdump): Move this function to ...
35062
35063 * lib/hexdump.c: ... here.
35064
35065 * include/grub/hexdump.h: Renamed to ...
35066
35067 * include/grub/lib/hexdump.h: ... this.
35068
35069 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
35070
35071 * util/grub-editenv.c: Likewise.
35072
35073 * include/envblk.h: Renamed to ...
35074
35075 * include/lib/envblk.h: ... this.
35076
35077 * util/envblk.c: Renamed to ...
35078
35079 * lib/envblk.c: ... this.
35080
35081 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
35082 lib/hexdump.c.
35083 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
35084 (pkglib_MODULES): Add crc.mod.
35085 (hexdump_mod_SOURCES): Add lib/hexdump.c.
35086 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
35087 (crc_mod_SOURCES): New macro.
35088 (crc_mod_CFLAGS): Likewise.
35089 (crc_mod_LDFLAGS): Likewise.
35090
35091 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
35092
35093 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35094
35095 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35096
35097 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35098
35099 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35100
35101 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
35102
35103 * commands/help.c: Include <grub/term.h>.
35104 (TERM_WIDTH): Removed. Updated all users.
35105
35106 2008-07-27 Pavel Roskin <proski@gnu.org>
35107
35108 * util/getroot.c (find_root_device): Rephrase a comment to avoid
35109 spurious warnings about a comment within a comment.
35110
35111 2008-07-25 Robert Millan <rmh@aybabtu.com>
35112
35113 * util/getroot.c (find_root_device): Skip devices that match
35114 /dev/dm-[0-9]. This lets the real device be found for any type of
35115 abstraction (LVM, EVMS, RAID..).
35116 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
35117 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
35118 device is found first, find_root_device() will now skip it.
35119
35120 2008-07-24 Pavel Roskin <proski@gnu.org>
35121
35122 * include/grub/types.h: Use __builtin_bswap32() and
35123 __builtin_bswap64() with gcc 4.3 and newer.
35124
35125 2008-07-24 Christian Franke <franke@computer.org>
35126
35127 * util/i386/pc/grub-install.in: If `--debug' is specified,
35128 pass `--verbose' to grub-setup.
35129 Abort script if make_system_path_relative_to_its_root() fails.
35130
35131 2008-07-24 Bean <bean123ch@gmail.com>
35132
35133 * configure.ac: Fixed a bug caused by the previous cygwin patch,
35134 variable `target_platform' should be `platform'.
35135
35136 2008-07-24 Bean <bean123ch@gmail.com>
35137
35138 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
35139 (grub_png_init_fixed_block): New function.
35140 (grub_png_decode_image_data): Handle fixed huffman code compression.
35141
35142 2008-07-24 Bean <bean123ch@gmail.com>
35143
35144 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
35145 (grub_pe2elf_SOURCES): New macro.
35146 (CLEANFILES): Add grub-pe2elf.
35147
35148 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
35149 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
35150 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
35151 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
35152 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
35153 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
35154 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
35155 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
35156 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
35157 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
35158 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
35159 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
35160 (GRUB_PE32_DT_FUNCTION): Likewise.
35161 (GRUB_PE32_REL_I386_DIR32): Likewise.
35162 (GRUB_PE32_REL_I386_REL32): Likewise.
35163 (grub_pe32_symbol): New structure.
35164 (grub_pe32_reloc): Likewise.
35165
35166 * util/grub-pe2elf.c: New file.
35167
35168 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
35169 start symbol in non pc platform.
35170
35171 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
35172
35173 The following patches are from Christian Franke.
35174
35175 * include/grub/dl.h: Remove .previous, gas supports this only
35176 for ELF format.
35177
35178 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
35179 Remove .type, gas supports this only for ELF format.
35180
35181 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
35182 nullbytes in symbol table. This fixes an infinite loop if table is
35183 zero filled.
35184
35185 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
35186 TARGET_IMG_LDFLAGS and EXEEXT.
35187
35188 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
35189 TARGET_IMG_LDFLAGS_AC.
35190 (grub_CHECK_STACK_ARG_PROBE): New function.
35191
35192 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
35193
35194 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
35195
35196 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
35197 to set TARGET_IMG_LD* accordingly.
35198 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
35199 Add call to grub_CHECK_STACK_ARG_PROBE.
35200 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
35201
35202 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
35203
35204 * genmk.rb: Add EXEEXT to CLEANFILES.
35205
35206 2008-07-23 Robert Millan <rmh@aybabtu.com>
35207
35208 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
35209 define the codes for arrows and lines used for the menu).
35210 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
35211 as well.
35212
35213 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
35214 fonts, because the latter are too slow.
35215
35216 2008-07-21 Bean <bean123ch@gmail.com>
35217
35218 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
35219 a20. Run keyboard test last, as it will cause macbook to halt.
35220
35221 2008-07-18 Pavel Roskin <proski@gnu.org>
35222
35223 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
35224 load foreign architecture modules correctly anyway. Keep
35225 support for loading host architecture modules, whether we
35226 compile them or not.
35227
35228 2008-07-17 Pavel Roskin <proski@gnu.org>
35229
35230 * configure.ac: Use -m32 or -m64 regardless of whether we had to
35231 change target_cpu. The compiler default can mismatch target_cpu
35232 in any case.
35233
35234 * disk/efi/efidisk.c: Fix format warnings on x86_64.
35235 * kern/efi/efi.c: Likewise.
35236
35237 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
35238 target compiler is functional.
35239 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
35240 are set up.
35241
35242 * configure.ac: Default to efi platform for x86_64-apple. Allow
35243 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
35244 adjustments from the rest, only do them if target is not
35245 explicitly given. Merge other adjustments with the final sanity
35246 check. Remove an extraneous check for supported CPU. Be
35247 specific which CPU and which platform is not supported.
35248
35249 * configure.ac: Default to pc platform for x86_64.
35250
35251 2008-07-17 Robert Millan <rmh@aybabtu.com>
35252
35253 Partial LinuxBIOS -> Coreboot rename.
35254
35255 * conf/i386-linuxbios.rmk: Renamed to ...
35256 * conf/i386-coreboot.rmk: ... this.
35257 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
35258 * configure.ac: Accept "coreboot" as input platform (but maintain
35259 compatibility with "linuxbios").
35260 * include/grub/i386/linuxbios: Renamed to ...
35261 * include/grub/i386/coreboot: ... this.
35262
35263 2008-07-17 Bean <bean123ch@gmail.com>
35264
35265 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
35266 (appleldr_mod_SOURCE): New variable.
35267 (appleldr_mod_CFLAGS): Likewise.
35268 (appleldr_mod_LDFLAGS): Likewise.
35269 (pci_mod_SOURCES): Likewise.
35270 (pci_mod_CFLAGS): Likewise.
35271 (pci_mod_LDFLAGS): Likewise.
35272 (lspci_mod_SOURCES): Likewise.
35273 (lspci_mod_CFLAGS): Likewise.
35274 (lspci_mod_LDFLAGS): Likewise.
35275
35276 * conf/x86_64-efi.rmk: New file.
35277
35278 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
35279 macro.
35280 (grub_efidisk_write): Likewise.
35281
35282 * include/efi/api.h (efi_call_0): New macro.
35283 (efi_call_1): Likewise.
35284 (efi_call_2): Likewise.
35285 (efi_call_3): Likewise.
35286 (efi_call_4): Likewise.
35287 (efi_call_5): Likewise.
35288 (efi_call_6): Likewise.
35289
35290 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
35291 grub_rescue_cmd_chainloader.
35292
35293 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
35294 (grub_pe32_optional_header): Change some fields based on i386 or
35295 x86_64 platform.
35296 (GRUB_PE32_PE32_MAGIC): Likewise.
35297
35298 * include/grub/efi/uga_draw.h: New file.
35299
35300 * include/grub/elf.h (STN_ABS): New constant.
35301 (R_X86_64_NONE): Relocation constant for x86_64.
35302 (R_X86_64_64): Likewise.
35303 (R_X86_64_PC32): Likewise.
35304 (R_X86_64_GOT32): Likewise.
35305 (R_X86_64_PLT32): Likewise.
35306 (R_X86_64_COPY): Likewise.
35307 (R_X86_64_GLOB_DAT): Likewise.
35308 (R_X86_64_JUMP_SLOT): Likewise.
35309 (R_X86_64_RELATIVE): Likewise.
35310 (R_X86_64_GOTPCREL): Likewise.
35311 (R_X86_64_32): Likewise.
35312 (R_X86_64_32S): Likewise.
35313 (R_X86_64_16): Likewise.
35314 (R_X86_64_PC16): Likewise.
35315 (R_X86_64_8): Likewise.
35316 (R_X86_64_PC8): Likewise.
35317
35318 * include/grub/i386/efi/pci.h: New file.
35319
35320 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
35321 Change it value based on platform.
35322 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
35323 (GRUB_E820_RAM): Likewise.
35324 (GRUB_E820_RESERVED): Likewise.
35325 (GRUB_E820_ACPI): Likewise.
35326 (GRUB_E820_NVS): Likewise.
35327 (GRUB_E820_EXEC_CODE): Likewise.
35328 (GRUB_E820_MAX_ENTRY): Likewise.
35329 (grub_e820_mmap): New structure.
35330 (linux_kernel_header): Change the efi field according to different
35331 kernel version, also field from linux_kernel_header.
35332
35333 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
35334
35335 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
35336 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
35337 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
35338 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
35339 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
35340 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
35341 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
35342 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
35343 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
35344 (GRUB_PCI_ADDR_IO_MASK): Likewise.
35345
35346 * include/grub/x86_64/efi/kernel.h: New file.
35347
35348 * include/grub/x86_64/efi/loader.h: Likewise.
35349
35350 * include/grub/x86_64/efi/machine.h: Likewise.
35351
35352 * include/grub/x86_64/efi/pci.h: Likewise.
35353
35354 * include/grub/x86_64/efi/time.h: Likewise.
35355
35356 * include/grub/x86_64/linux.h: Likewise.
35357
35358 * include/grub/x86_64/setjmp.h: Likewise.
35359
35360 * include/grub/x86_64/time.h: Likewise.
35361
35362 * include/grub/x86_64/types.h: Likewise.
35363
35364 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
35365 GRUB_TARGET_SIZEOF_VOID_P.
35366
35367 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
35368 (grub_efi_locate_handle): Likewise.
35369 (grub_efi_open_protocol): Likewise.
35370 (grub_efi_set_text_mode): Likewise.
35371 (grub_efi_stall): Likewise.
35372 (grub_exit): Likewise.
35373 (grub_reboot): Likewise.
35374 (grub_halt): Likewise.
35375 (grub_efi_exit_boot_services): Likewise.
35376 (grub_get_rtc): Likewise.
35377
35378 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
35379 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
35380 (grub_efi_allocate_pages): Wrap efi calls.
35381 (grub_efi_free_pages): Wrap efi calls.
35382 (grub_efi_get_memory_map): Wrap efi calls.
35383
35384 * kern/x86_64/dl.c: New file.
35385
35386 * kern/x86_64/efi/callwrap.S: Likewise.
35387
35388 * kern/x86_64/efi/startup.S: Likewise.
35389
35390 * loader/efi/appleloader.c: Likewise.
35391
35392 * loader/efi/chainloader.c (cmdline): New variable.
35393 (grub_chainloader_unload): Wrap efi calls.
35394 (grub_chainloader_boot): Likewise.
35395 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
35396 command line.
35397
35398 * loader/efi/chainloader_normal.c (chainloader_command):
35399 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
35400 command line.
35401
35402 * loader/i386/efi/linux.c (allocate_pages): Change allocation
35403 method.
35404 (grub_e820_add_region): New function.
35405 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
35406 booting.
35407 (grub_find_video_card): New function.
35408 (grub_linux_setup_video): New function.
35409 (grub_rescue_cmd_linux): Probe for video information.
35410
35411 * normal/x86_64/setjmp.S: New file.
35412
35413 * term/efi/console.c (map_char): New function.
35414 (grub_console_putchar): Map unicode char.
35415 (grub_console_checkkey): Wrap efi calls.
35416 (grub_console_getkey): Likewise.
35417 (grub_console_getwh): Likewise.
35418 (grub_console_gotoxy): Likewise.
35419 (grub_console_cls): Likewise.
35420 (grub_console_setcolorstate): Likewise.
35421 (grub_console_setcursor): Likewise.
35422
35423 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
35424
35425 2008-07-16 Pavel Roskin <proski@gnu.org>
35426
35427 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
35428 format strings.
35429
35430 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
35431 pointer, not an integer. This fixes a warning and prevents
35432 precision loss on 64-bit systems.
35433 (relocate_addresses): Remove unneeded cast.
35434
35435 2008-07-15 Pavel Roskin <proski@gnu.org>
35436
35437 * kern/i386/ieee1275/init.c: Include grub/cache.h.
35438
35439 * term/ieee1275/ofconsole.c: Disable code unused on i386.
35440
35441 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
35442 Fix comparison between signed and unsigned.
35443
35444 * include/grub/i386/ieee1275/console.h: Declare
35445 grub_console_init() and grub_console_fini().
35446
35447 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
35448 It's empty and unused.
35449
35450 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
35451 beginning to avoid warnings with some compilers.
35452
35453 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
35454 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
35455
35456 2008-07-14 Pavel Roskin <proski@gnu.org>
35457
35458 * kern/env.c (grub_register_variable_hook): Don't copy empty
35459 string, it leaks memory. Pass "" to grub_env_set(), it should
35460 handle constant strings.
35461
35462 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
35463 * commands/cmp.c (grub_cmd_cmp): Likewise.
35464 * kern/dl.c (grub_dl_flush_cache): Likewise.
35465 (grub_dl_load_core): Likewise.
35466 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
35467 (grub_elf64_load_phdrs): Likewise.
35468
35469 2008-07-13 Pavel Roskin <proski@gnu.org>
35470
35471 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
35472 between signed and unsigned.
35473 (LzmaEnc_Finish): Fix warning about an unused parameter.
35474
35475 2008-07-13 Bean <bean123ch@gmail.com>
35476
35477 * Makefile.in (enable_lzo): New rule.
35478
35479 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
35480
35481 * configure.ac (ENABLE_LZO): New option --enable-lzo.
35482
35483 * boot/i386/pc/lnxboot.S: #include <config.h>.
35484
35485 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
35486 its value according to the compression algorithm used, lzo or lzma.
35487
35488 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
35489 compression algorithm according to configure macro.
35490
35491 * kern/i386/pc/startup.S (codestart): Likewise.
35492
35493 * kern/i386/pc/lzma_decode.S: New file.
35494
35495 * include/grub/lib/LzFind.h: Likewise.
35496
35497 * include/grub/lib/LzHash.h: Likewise.
35498
35499 * include/grub/lib/LzmaDec.h: Likewise.
35500
35501 * include/grub/lib/LzmaEnc.h: Likewise.
35502
35503 * include/grub/lib/LzmaTypes.h: Likewise.
35504
35505 * lib/LzFind.c: Likewise.
35506
35507 * lib/LzmaDec.c: Likewise.
35508
35509 * lib/LzmaEnc.c: Likewise.
35510
35511 2008-07-13 Bean <bean123ch@gmail.com>
35512
35513 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
35514 (grub_ext4_extent_header): New structure.
35515 (grub_ext4_extent): Likewise.
35516 (grub_ext4_extent_idx): Likewise.
35517 (grub_ext4_find_leaf): New function.
35518 (grub_ext2_read_block): Handle extents.
35519
35520 2008-07-12 Robert Millan <rmh@aybabtu.com>
35521
35522 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
35523
35524 2008-07-11 Robert Millan <rmh@aybabtu.com>
35525
35526 * util/grub.d/40_custom.in: New file. Example on how to add custom
35527 entries to /etc/grub.d.
35528 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
35529 40_custom (implicitly, by merging all the grub.d rules).
35530
35531 2008-07-11 Pavel Roskin <proski@gnu.org>
35532
35533 * commands/read.c (grub_getline): Fix invalid memory access.
35534 Don't add newline to the variable value.
35535
35536 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
35537 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
35538 (serial_hw_get_port): Check validity of the port number.
35539 (grub_cmd_serial): Check return value of serial_hw_get_port().
35540
35541 2008-07-07 Pavel Roskin <proski@gnu.org>
35542
35543 * boot/i386/pc/diskboot.S (notification_string): Replace
35544 "Loading kernel" with just "loading". This is shorter, less
35545 confusing and saves a few bytes for possible future changes.
35546
35547 2008-07-05 Pavel Roskin <proski@gnu.org>
35548
35549 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
35550 size for ATAPI devices, they are undefined. Output sector
35551 number in decimal form.
35552
35553 * disk/ata.c: Use named constants for status bits.
35554
35555 2008-07-04 Pavel Roskin <proski@gnu.org>
35556
35557 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
35558 grub_addr_t before casting it to the void pointer to fix a
35559 warning. Non-addressable regions are discarded earlier.
35560 (grub_arch_modules_addr): Cast _end to grub_addr_t.
35561 * kern/i386/linuxbios/table.c: Include grub/misc.h.
35562 (check_signature): Don't shadow table_header.
35563 (grub_linuxbios_table_iterate): Cast numeric constants to
35564 grub_linuxbios_table_header_t.
35565 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
35566 grub_stop().
35567
35568 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
35569 prevent warnings.
35570
35571 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
35572 pointer, which can cause warnings. Support 64-bit addresses.
35573
35574 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
35575 of sizeof(long). This fixes PowerPC image generation on x86_64.
35576
35577 2008-07-04 Robert Millan <rmh@aybabtu.com>
35578
35579 This fixes a performance issue when pc & gpt partmap iterators
35580 didn't abort iteration even after our hook found what it was
35581 looking for (often causing expensive probes of non-existent drives).
35582
35583 Some callers relied on previous buggy behaviour, since they would
35584 raise an error when their own hooks caused early abortion of its
35585 iteration.
35586
35587 * kern/device.c (grub_device_open): Improve error message.
35588 * disk/lvm.c (grub_lvm_open): Likewise.
35589 * disk/raid.c (grub_raid_open): Likewise.
35590
35591 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
35592 when hook requests it, independently of grub_errno.
35593 (pc_partition_map_probe): Do not fail when find_func() caused
35594 early abortion of pc_partition_map_iterate().
35595
35596 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
35597 when hook requests it, independently of grub_errno.
35598 (gpt_partition_map_probe): Do not fail when find_func() caused
35599 early abortion of gpt_partition_map_iterate().
35600
35601 * kern/partition.c (grub_partition_iterate): Abort parent iteration
35602 when hook requests it, independently of grub_errno. Do not fail when
35603 part_map_iterate_hook() caused early abortion of p->iterate().
35604
35605 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
35606 when grub_partition_iterate() returned with non-zero.
35607
35608 2008-07-03 Pavel Roskin <proski@gnu.org>
35609
35610 * disk/ata.c (grub_ata_pio_write): Check status before writing,
35611 like we do in grub_ata_pio_read().
35612 (grub_ata_readwrite): Always write individual sectors. Fix the
35613 sector count for the remainder.
35614 (grub_ata_write): Enable writing to ATA devices. Correctly
35615 report error for ATAPI devices.
35616
35617 2008-07-02 Pavel Roskin <proski@gnu.org>
35618
35619 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
35620 warning.
35621
35622 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
35623 for every read sector, we already increment it for the whole
35624 batch. This fixes reading more than 256 sectors at once.
35625
35626 * util/grub-editenv.c (cmd_info): Cast argument to long
35627 explicitly. ptrdiff_t reduces to int on i386.
35628
35629 * util/grub-editenv.c (main): Be specific which parameter is
35630 missing.
35631
35632 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
35633 (memdisk): Make memdisk_orig_addr a pointer.
35634
35635 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
35636 for file offsets, use grub_off_t instead. Fix printf format
35637 warnings.
35638
35639 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
35640 there. Real unexpected warnings should not drown in the noise
35641 about known problems.
35642
35643 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
35644 grub_disk_addr_t for memory addresses.
35645
35646 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
35647 explicitly to fix a warning.
35648
35649 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
35650
35651 * Makefile.in (MODULE_LDFLAGS): New variable.
35652 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
35653 the linker accepts --build-id=none.
35654 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
35655 MODULE_LDFLAGS.
35656 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
35657
35658 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
35659 those in Linux XFS code. Provide a way to access 64-bit parent
35660 inode.
35661 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
35662 the end of struct grub_xfs_dir_header.
35663
35664 2008-07-02 Bean <bean123ch@gmail.com>
35665
35666 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
35667 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35668 and GRUB_IEEE1275_FLAG_NO_ANSI.
35669
35670 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
35671 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35672 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
35673
35674 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
35675 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
35676
35677 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
35678 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
35679
35680 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
35681 esc sequence on non ANSI terminal.
35682 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
35683
35684 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
35685 beginning of file.
35686
35687 2008-07-02 Bean <bean123ch@gmail.com>
35688
35689 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
35690 (grub_editenv_SOURCES): New variable.
35691 (pkglib_MODULES): Add loadenv.mod.
35692 (loadenv_mod_SOURCES): New variable.
35693 (loadenv_mod_CFLAGS): Likewise.
35694 (loadenv_mod_LDFLAGS): Likewise.
35695
35696 * include/grub/envblk.h: New file.
35697
35698 * util/envblk.c: New file.
35699
35700 * util/grub-editenv.c: New file.
35701
35702 * commands/loadenv.c: New file.
35703
35704 2008-07-01 Pavel Roskin <proski@gnu.org>
35705
35706 * include/multiboot2.h (struct multiboot_tag_module): Use char,
35707 not unsigned char. This fixes warnings and is consistent with
35708 other tags.
35709
35710 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
35711
35712 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
35713
35714 * term/tparm.c (analyze): Always set *popcount.
35715
35716 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
35717 cast to fix a warning.
35718
35719 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
35720 cast to suppress a warning.
35721
35722 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
35723 grub_fshelp_read_file() expects.
35724
35725 * fs/fat.c: Fix UUID calculation on big-endian systems. We
35726 write uuid as a 32-bit value in CPU byte order, so declare and
35727 use it as such.
35728
35729 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
35730 long if the format specifier expects it.
35731 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
35732 * partmap/pc.c (pc_partition_map_iterate): Likewise.
35733 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
35734 long to fix a warning.
35735 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
35736 grub_dprintf() arguments to fix warnings.
35737
35738 2008-06-30 Pavel Roskin <proski@gnu.org>
35739
35740 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
35741 install_bsd_part immediately before core.img is embedded or
35742 modified on disk. This fixes core.img verification if core.img
35743 cannot be embedded.
35744
35745 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
35746 core_path to calculate the blocklist.
35747 Patch from Javier Martín <lordhabbit@gmail.com>
35748
35749 2008-06-29 Robert Millan <rmh@aybabtu.com>
35750
35751 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
35752 block to disk block.
35753 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
35754 Patch from Niels Böhm <bitbucket@arcor.de>
35755
35756 2008-06-29 Robert Millan <rmh@aybabtu.com>
35757
35758 * util/update-grub_lib.in (font_path): Search for fonts in
35759 /boot/grub first, which is more likely to be readable (we aren't
35760 deciding where fonts live, just looking for them).
35761
35762 2008-06-26 Pavel Roskin <proski@gnu.org>
35763
35764 * util/biosdisk.c (read_device_map): Don't leave dead map
35765 entries for devices failing stat() check.
35766
35767 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
35768 core_path_dev for the core.img path on the target device.
35769
35770 2008-06-26 Robert Millan <rmh@aybabtu.com>
35771
35772 * disk/fs_uuid.c: New file.
35773 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
35774 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
35775 (fs_uuid_mod_LDFLAGS): New variables.
35776 * include/grub/disk.h (grub_disk_dev_id): Add
35777 `GRUB_DISK_DEVICE_UUID_ID'.
35778 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
35779 implement iterate().
35780
35781 2008-06-26 Robert Millan <rmh@aybabtu.com>
35782
35783 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
35784 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
35785 Linux image includes no initrd.
35786
35787 2008-06-21 Javier Martín <lordhabbit@gmail.com>
35788
35789 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
35790 call to resolve the core image location that effectively appended the
35791 name twice.
35792
35793 2008-06-21 Robert Millan <rmh@aybabtu.com>
35794
35795 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
35796 call from here ...
35797
35798 * util/grub.d/10_hurd.in: ... to here ...
35799 * util/grub.d/10_linux.in: ... and here.
35800
35801 2008-06-19 Robert Millan <rmh@aybabtu.com>
35802
35803 * kern/main.c (grub_main): Export `prefix' variable immediately
35804 after it has been set by grub_machine_set_prefix().
35805
35806 2008-06-19 Robert Millan <rmh@aybabtu.com>
35807
35808 * commands/search.c (search_label, search_fs_uuid, search_file): Print
35809 search result when not saving to variable, not the other way around.
35810 When saving to variable, abort iteration as soon as a match is found.
35811
35812 2008-06-19 Robert Millan <rmh@aybabtu.com>
35813
35814 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
35815 check for partition that provides /boot/grub. Its logic is flawed,
35816 as it prevents prepare_grub_to_access_device() from being called
35817 multiple times.
35818
35819 2008-06-19 Robert Millan <rmh@aybabtu.com>
35820
35821 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
35822 "insmod" command directly when abstraction modules are needed,
35823 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
35824 since it had already been processed).
35825
35826 2008-06-19 Pavel Roskin <proski@gnu.org>
35827
35828 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
35829 changed. This is needed in case GRUB_LIBDIR changes.
35830 * conf/i386-ieee1275.rmk: Likewise.
35831 * conf/i386-linuxbios.rmk: Likewise.
35832 * conf/i386-pc.rmk: Likewise.
35833 * conf/powerpc-ieee1275.rmk: Likewise.
35834
35835 2008-06-18 Pavel Roskin <proski@gnu.org>
35836
35837 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
35838 kernel_elf_symlist.c to symlist.c for consistency with other
35839 architectures. Update all users.
35840 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35841
35842 2008-06-18 Robert Millan <rmh@aybabtu.com>
35843
35844 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
35845 it in prefix.
35846
35847 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
35848 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
35849 a RAID device, run setup() for all members independently on whether
35850 LVM abstraction is being used.
35851 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
35852 If grub-mkimage has set `*install_dos_part == -2', don't override this
35853 value.
35854 Perform *install_dos_part adjustments independently on whether
35855 we're embedding or not.
35856 Clarify error message when image is too big for embedding.
35857 Remove duplicate *install_dos_part stanza.
35858
35859 2008-06-17 Robert Millan <rmh@aybabtu.com>
35860
35861 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
35862 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
35863 variables.
35864 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
35865 values in grub_ofconsole_normal_color and
35866 grub_ofconsole_highlight_color (they're not directly related to
35867 background and foreground).
35868 (grub_ofconsole_setcolorstate): Extract background and foreground
35869 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
35870
35871 2008-06-17 Robert Millan <rmh@aybabtu.com>
35872
35873 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
35874 /boot/grub for the check in last commit, not /boot (they could be
35875 different partitions).
35876
35877 2008-06-16 Robert Millan <rmh@aybabtu.com>
35878
35879 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
35880 asked to setup access for the same partition that provides /boot,
35881 don't bother using UUIDs since our root already has the value we
35882 want.
35883
35884 2008-06-16 Robert Millan <rmh@aybabtu.com>
35885
35886 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
35887 I2O devices.
35888 Patch from Sven Mueller <sven@debian.org>.
35889
35890 2008-06-16 Robert Millan <rmh@aybabtu.com>
35891
35892 * util/update-grub.in: Check for $EUID instead of $UID.
35893 Reported by Vincent Zweije.
35894
35895 2008-06-16 Bean <bean123ch@gmail.com>
35896
35897 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
35898 (grub_ext2_read_block): Likewise.
35899 (grub_ext2_read_inode): Likewise.
35900 (grub_ext2_mount): Likewise.
35901 (grub_ext2_close): Likewise.
35902 (grub_ext3_get_journal): Removed.
35903
35904 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
35905 (grub_reiserfs_read_symlink): Likewise.
35906 (grub_reiserfs_mount): Likewise.
35907 (grub_reiserfs_open): Likewise.
35908 (grub_reiserfs_read): Likewise.
35909 (grub_reiserfs_close): Likewise.
35910 (grub_reiserfs_get_journal): Removed.
35911
35912 * fs/fshelp.c (grub_fshelp_read): Removed.
35913 (grub_fshelp_map_block): Likewise.
35914
35915 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
35916 (grub_fshelp_journal): Likewise.
35917 (grub_fshelp_read): Likewise.
35918 (grub_fshelp_map_block): Likewise.
35919
35920 2008-06-16 Pavel Roskin <proski@gnu.org>
35921
35922 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
35923 floating point anymore.
35924 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
35925
35926 2008-06-15 Pavel Roskin <proski@gnu.org>
35927
35928 * commands/ls.c (grub_ls_list_files): Use integer calculations
35929 for human readable format, avoid floating point use.
35930 * kern/misc.c (grub_ftoa): Remove.
35931 (grub_vsprintf): Remove floating point support.
35932
35933 2008-06-15 Robert Millan <rmh@aybabtu.com>
35934
35935 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
35936 devices.
35937 Reported by Max Vozeler.
35938
35939 2008-06-15 Robert Millan <rmh@aybabtu.com>
35940
35941 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
35942 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
35943 skipped later.
35944 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
35945 the beginning of the prefix.
35946
35947 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
35948 It is assumed that if we have a memdisk, grub-mkimage has set
35949 grub_prefix to include the "(memdisk)" drive in it.
35950
35951 2008-06-15 Robert Millan <rmh@aybabtu.com>
35952
35953 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
35954 Initialize keyboard controller after registering the terminal, so that
35955 grub_printf() can be called from grub_keyboard_controller_init().
35956
35957 2008-06-15 Robert Millan <rmh@aybabtu.com>
35958
35959 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
35960 extent-btree which is written as big endian on disk.
35961 Reported by Alain Greppin <al@chilibi.org>.
35962
35963 2008-06-14 Robert Millan <rmh@aybabtu.com>
35964
35965 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
35966 * util/i386/pc/grub-install.in (modules): Likewise.
35967
35968 2008-06-13 Pavel Roskin <proski@gnu.org>
35969
35970 * commands/ls.c (grub_ls_list_files): Fix format warnings.
35971
35972 2008-06-13 Bean <bean123ch@gmail.com>
35973
35974 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
35975
35976 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
35977
35978 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
35979 to indicate sparse block.
35980
35981 2008-06-12 Pavel Roskin <proski@gnu.org>
35982
35983 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
35984 number, grub_fshelp_read() does it for us.
35985
35986 * fs/fshelp.c (grub_fshelp_read): New function. Implement
35987 linear disk read with journal translation.
35988 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
35989 * include/grub/fshelp.h: Declare grub_fshelp_read().
35990
35991 2008-06-09 Pavel Roskin <proski@gnu.org>
35992
35993 * fs/minix.c (grub_minix_mount): Handle error reading
35994 superblock.
35995
35996 2008-06-08 Robert Millan <rmh@aybabtu.com>
35997
35998 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
35999 don't append the RAID prefix afterwards.
36000 Reported by Clint Adams.
36001
36002 2008-06-08 Robert Millan <rmh@aybabtu.com>
36003
36004 Based on description from Pavel:
36005 * kern/disk.c (grub_disk_check_range): Rename to ...
36006 (grub_disk_adjust_range): ... this. Add a comment explaining the
36007 tasks performed by this function.
36008
36009 2008-06-08 Robert Millan <rmh@aybabtu.com>
36010
36011 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
36012 `num_serial' (for consistency with other variables).
36013 (struct grub_ntfs_data): Add `uuid' member.
36014 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
36015 (grub_ntfs_uuid): New function.
36016 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
36017
36018 2008-06-07 Pavel Roskin <proski@gnu.org>
36019
36020 * util/biosdisk.c (open_device): Revert last change to the
36021 function, it broke installation. The sector needs to be
36022 different dependent on which device is opened.
36023
36024 2008-06-06 Robert Millan <rmh@aybabtu.com>
36025
36026 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
36027 rest of GRUB, and breakage doesn't happen if its value were modified.
36028
36029 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36030 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
36031 a constant (same value).
36032 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
36033 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
36034
36035 2008-06-06 Robert Millan <rmh@aybabtu.com>
36036
36037 * util/biosdisk.c (open_device): Do not modify sector offset when
36038 accessing a partition. kern/disk.c already handles this for us.
36039
36040 2008-06-06 Robert Millan <rmh@aybabtu.com>
36041
36042 * util/grub-emu.c (grub_machine_init): Move code in this function from
36043 here ...
36044 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
36045 segfault in case grub_printf() is called).
36046
36047 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
36048 grub_probe. Update all users not to explicitly add it again.
36049 (grub_device): New variable; contains corresponding device for grubdir.
36050 (fs_module, partmap_module, devabstraction_module): Pass
36051 `--device ${grub_device}' to grub_probe to avoid traversing /dev
36052 every time.
36053
36054 2008-06-05 Robert Millan <rmh@aybabtu.com>
36055
36056 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
36057 is found, print it (same layout as with labels).
36058
36059 2008-06-04 Robert Millan <rmh@aybabtu.com>
36060
36061 * util/biosdisk.c (get_drive): Rename to ...
36062 (find_grub_drive): ... this. Update all users.
36063
36064 (get_os_disk): Rename to ...
36065 (convert_system_partition_to_system_disk): ... this. Update all users.
36066
36067 (find_drive): Rename to ...
36068 (find_system_device): ... this. Update all users.
36069
36070 2008-06-04 Robert Millan <rmh@aybabtu.com>
36071
36072 * util/biosdisk.c (get_os_disk): Handle IDA devices.
36073 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36074 (make_device_map): Likewise.
36075
36076 2008-06-01 Robert Millan <rmh@aybabtu.com>
36077
36078 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
36079 before dereferencing it.
36080
36081 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
36082 union with fat12/fat16-specific ones. Add some new fields, including
36083 `num_serial' for both versions.
36084 (struct grub_fat_data): Add `uuid' member.
36085 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
36086 names. Initialize `data->uuid' using `num_serial'.
36087 (grub_fat_uuid): New function.
36088 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
36089
36090 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
36091 (grub_reiserfs_uuid): New function.
36092 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
36093 member.
36094
36095 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
36096 (grub_xfs_uuid): New function.
36097 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
36098
36099 2008-06-01 Robert Millan <rmh@aybabtu.com>
36100
36101 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
36102 code that is backward compatible with pre-uuid search command.
36103
36104 2008-05-31 Robert Millan <rmh@aybabtu.com>
36105
36106 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
36107 floppies after everything else, to ensure floppy drive isn't accessed
36108 unnecessarily (patch from Bean).
36109
36110 2008-05-31 Robert Millan <rmh@aybabtu.com>
36111
36112 * commands/search.c (search_label, search_fs_uuid, search_file): Do
36113 not print device names when we were asked to set a variable.
36114
36115 2008-05-31 Robert Millan <rmh@aybabtu.com>
36116
36117 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
36118 using "cursor-on" and "cursor-off" commands (understood at least by
36119 the Open Firmware flavour on OLPC).
36120
36121 2008-05-31 Michael Gorven <michael@gorven.za.net>
36122
36123 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
36124 on and off sequences.
36125
36126 2008-05-31 Robert Millan <rmh@aybabtu.com>
36127
36128 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
36129 * util/update-grub.in: Likewise.
36130
36131 2008-05-30 Pavel Roskin <proski@gnu.org>
36132
36133 * util/biosdisk.c (linux_find_partition): Simplify logic and
36134 make the code more universal. Keep special processing for
36135 devfs, but use a simple rule for all other devices. If the
36136 device ends with a number, append 'p' and the partition number.
36137 Otherwise, append only the partition number.
36138
36139 2008-05-30 Robert Millan <rmh@aybabtu.com>
36140
36141 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
36142 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
36143 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
36144 the `root' parameter to Linux.
36145
36146 2008-05-30 Robert Millan <rmh@aybabtu.com>
36147
36148 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
36149 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
36150 --fs_uuid with --fs-uuid.
36151 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
36152 all filesystems support them).
36153
36154 2008-05-30 Robert Millan <rmh@aybabtu.com>
36155
36156 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
36157 grub_printf() flags, since we're printing in units of 2 bytes.
36158
36159 2008-05-30 Robert Millan <rmh@aybabtu.com>
36160
36161 * util/grub.d/00_header.in: Remove obsolete comment referencing
36162 convert_system_path_to_grub_path().
36163 * util/update-grub.in: Likewise.
36164 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
36165 (convert_system_path_to_grub_path): Add a warning message explaining
36166 that this function is deprecated. Rely on is_path_readable_by_grub()
36167 for the readability checks.
36168 (font_path): Use is_path_readable_by_grub() for the readability
36169 check rather than convert_system_path_to_grub_path().
36170
36171 2008-05-30 Robert Millan <rmh@aybabtu.com>
36172
36173 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
36174 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
36175 converting it first.
36176 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
36177 grub.cfg for access to font file, and afterwards call it again to set
36178 the root device.
36179
36180 2008-05-30 Robert Millan <rmh@aybabtu.com>
36181
36182 * commands/search.c (options): Add --fs_uuid option.
36183 (search_fs_uuid): New function.
36184 (grub_cmd_search): Fix --set argument passing.
36185 Use search_fs_uuid() when requested via --fs_uuid.
36186 (grub_search_init): Update help message.
36187 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
36188 and redeclare it as an array of 16-bit words.
36189 (grub_ext2_uuid): New function.
36190 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
36191 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
36192 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
36193 (GRUB_DEVICE_BOOT_UUID): New variables.
36194 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
36195 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
36196 whenever possible.
36197 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
36198 just assume `root' variable has the right value.
36199 * util/grub.d/10_linux.in: Likewise.
36200 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
36201 via PRINT_FS_UUID.
36202 (main): Recognise `-t fs_uuid' argument.
36203
36204 2008-05-30 Robert Millan <rmh@aybabtu.com>
36205
36206 * util/biosdisk.c (map): Redefine structure to hold information
36207 about GRUB drive name.
36208 (get_drive): Reimplement without assuming (and verifying) BIOS-like
36209 drive names.
36210 (call_hook): Remove.
36211 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
36212 member. Assume drive has partitions.
36213 (grub_util_biosdisk_open): Access device names via `.device' struct
36214 member.
36215 (open_device): Likewise.
36216 (find_drive): Likewise.
36217 (read_device_map): Adjust map[] usage to match the new struct
36218 definition. Don't check for duplicates (still possible, but not cheap
36219 anymore).
36220 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
36221 (make_device_name): Remove assumption of BIOS-like drive names.
36222
36223 2008-05-30 Pavel Roskin <proski@gnu.org>
36224
36225 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
36226 compiling execute.c doesn't need grub_script.tab.h anymore.
36227 (normal/command.c_DEPENDENCIES): Likewise.
36228 (normal/function.c_DEPENDENCIES): Likewise.
36229 * conf/i386-ieee1275.rmk: Likewise.
36230 * conf/i386-linuxbios.rmk: Likewise.
36231 * conf/i386-pc.rmk: Likewise.
36232 * conf/powerpc-ieee1275.rmk: Likewise.
36233 * conf/sparc64-ieee1275.rmk: Likewise.
36234
36235 2008-05-29 Pavel Roskin <proski@gnu.org>
36236
36237 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
36238 when scanning metadata for volume group name.
36239
36240 * include/grub/script.h: Don't include grub_script.tab.h. It's
36241 a generated file, which may only be included from the files with
36242 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
36243 use union YYSTYPE, as the later allows forward declaration.
36244 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
36245
36246 2008-05-29 Robert Millan <rmh@aybabtu.com>
36247
36248 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
36249 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
36250 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
36251 (grub_console_checkkey): Add grub_dprintf() call to report unknown
36252 scan codes.
36253
36254 2008-05-29 Robert Millan <rmh@aybabtu.com>
36255
36256 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
36257 control key combinations.
36258
36259 2008-05-29 Robert Millan <rmh@aybabtu.com>
36260
36261 * util/powerpc/ieee1275/grub-install.in: Move from here ...
36262 * util/ieee1275/grub-install.in: ... to here.
36263 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
36264 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
36265 (grub_install_SOURCES): Likewise.
36266
36267 2008-05-29 Robert Millan <rmh@aybabtu.com>
36268
36269 * fs/affs.c: Update copyright year.
36270 * fs/ext2.c: Likewise.
36271 * fs/fshelp.c: Likewise.
36272 * fs/hfsplus.c: Likewise.
36273 * fs/ntfs.c: Likewise.
36274 * fs/xfs.c: Likewise.
36275 * include/grub/fshelp.h: Likewise.
36276 * util/grub-mkdevicemap.c: Likewise.
36277
36278 2008-05-28 Robert Millan <rmh@aybabtu.com>
36279
36280 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
36281 might need to be fatfs to support some firmware implementations
36282 (e.g. OFW or EFI).
36283
36284 2008-05-28 Robert Millan <rmh@aybabtu.com>
36285
36286 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
36287 devices.
36288 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36289 (make_device_map): Likewise.
36290
36291 2008-05-20 Bean <bean123ch@gmail.com>
36292
36293 * fs/fshelp.c (grub_fshelp_map_block): New function.
36294 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
36295 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
36296
36297 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
36298 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
36299 (grub_fshelp_journal): New structure.
36300 (grub_fshelp_map_block): New function prototype.
36301 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
36302 (grub_fshelp_map_block): Likewise.
36303
36304 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
36305 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
36306 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
36307 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
36308 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
36309 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
36310 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
36311 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
36312 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
36313 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
36314 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
36315 (grub_ext2_sblock): New members for journal support.
36316 (grub_ext3_journal_header): New structure.
36317 (grub_ext3_journal_revoke_header): Likewise.
36318 (grub_ext3_journal_block_tag): Likewise.
36319 (grub_ext3_journal_sblock): Likewise.
36320 (grub_fshelp_node): New members logfile and journal.
36321 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
36322 grub_fshelp_map_block to get real block number.
36323 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
36324 number.
36325 (grub_ext2_read_inode): Likewise.
36326 (grub_ext3_get_journal): New function.
36327 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
36328 (grub_ext2_close): Release memory used by journal.
36329
36330 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
36331 (REISERFS_MAGIC_DESC_BLOCK): New macro.
36332 (grub_reiserfs_transaction_header): Renamed to
36333 grub_reiserfs_description_block, replace field data with real_blocks.
36334 (grub_reiserfs_commit_block): New structure.
36335 (grub_reiserfs_data): New member journal.
36336 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
36337 number.
36338 (grub_reiserfs_read_symlink): Likewise.
36339 (grub_reiserfs_iterate_dir): Likewise.
36340 (grub_reiserfs_open): Likewise.
36341 (grub_reiserfs_read): Likewise.
36342 (grub_reiserfs_get_journal): New function.
36343 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
36344 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
36345 using grub_reiserfs_get_journal.
36346 (grub_reiserfs_close): Release memory used by journal.
36347
36348 * fs/affs.c (grub_affs_read_block): Change block type to
36349 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
36350
36351 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
36352
36353 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
36354
36355 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
36356
36357 * fs/udf.c (grub_udf_read_block): Change block type to
36358 grub_disk_addr_t. Use type cast to avoid warning.
36359
36360 * fs/xfs.c (grub_xfs_read_block): Likewise.
36361
36362 2008-05-16 Christian Franke <franke@computer.org>
36363
36364 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
36365 to ensure that break with ESC will always work.
36366 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
36367 Remove ESC from keyboard queue.
36368
36369 2008-05-16 Christian Franke <franke@computer.org>
36370
36371 * util/biosdisk.c: [__CYGWIN__] Add includes.
36372 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
36373 (get_os_disk): Move variable declarations to OS specific
36374 parts to avoid warning.
36375 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
36376 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
36377 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
36378 Cygwin.
36379 * util/getroot.c: [__CYGWIN__] Add includes.
36380 (strip_extra_slashes): Fix "/" case.
36381 [__CYGWIN__] (get_win32_path): New function.
36382 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
36383 [__CYGWIN__] (find_root_device): Disable.
36384 [__CYGWIN__] (get_bootsec_serial): New function.
36385 [__CYGWIN__] (find_cygwin_root_device): Likewise.
36386 [__linux__] (grub_guess_root_device): Add early returns to simplify
36387 structure.
36388 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
36389 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
36390 check for Linux only.
36391
36392 2008-05-15 Bean <bean123ch@gmail.com>
36393
36394 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
36395 keyboard hang problem in apple's intel mac.
36396
36397 2008-05-09 Robert Millan <rmh@aybabtu.com>
36398
36399 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
36400 devices.
36401 * util/grub-mkdevicemap.c (get_virtio_disk_name)
36402 (make_device_map): Likewise.
36403 Reported by Aurelien Jarno <aurel32@debian.org>
36404
36405 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
36406
36407 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
36408 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
36409 (make_device_map): Output entries for xvd type disks.
36410
36411 2008-05-07 Robert Millan <rmh@aybabtu.com>
36412
36413 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
36414 devices.
36415 * util/grub-mkdevicemap.c (get_cciss_disk_name)
36416 (make_device_map): Likewise.
36417 Reported by Roland Dreier <rdreier@cisco.com>
36418
36419 2008-05-07 Robert Millan <rmh@aybabtu.com>
36420
36421 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
36422 grub_strstr() call. Correct a few mistakes in failure path handling.
36423
36424 2008-05-06 Robert Millan <rmh@aybabtu.com>
36425
36426 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
36427 Do not print a trailing slash (therefore, the root directory is an
36428 empty string).
36429 (convert_system_path_to_grub_path): Do not remove trailing slash
36430 from make_system_path_relative_to_its_root() output.
36431
36432 * util/i386/pc/grub-install.in: Add trailing slash to output from
36433 make_system_path_relative_to_its_root().
36434
36435 2008-05-06 Robert Millan <rmh@aybabtu.com>
36436
36437 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
36438 ensures that output lines aren't intermangled with those sent to
36439 stderr (via grub_util_info()).
36440 * util/grub-probe.c (grub_refresh): Likewise.
36441 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
36442
36443 2008-05-05 Christian Franke <franke@computer.org>
36444
36445 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
36446 Add Cygwin device names.
36447 (get_ide_disk_name) [__CYGWIN__]: Likewise.
36448 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
36449 (check_device): Return error instead of success on empty name.
36450 (make_device_map): Move label inside linux specific code to
36451 prevent compiler warning.
36452
36453 2008-04-30 Robert Millan <rmh@aybabtu.com>
36454
36455 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
36456 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
36457 first boot option.
36458 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
36459
36460 2008-04-29 Robert Millan <rmh@aybabtu.com>
36461
36462 * docs/grub.cfg: New file (example GRUB configuration).
36463
36464 2008-04-26 Robert Millan <rmh@aybabtu.com>
36465
36466 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
36467 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
36468 and `disk/ieee1275/nand.c'.
36469
36470 2008-04-25 Bean <bean123ch@gmail.com>
36471
36472 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
36473 i386-linuxbios.
36474
36475 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
36476 change the buffer size to 4096 for cdrom device.
36477
36478 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
36479 and nand.mod.
36480 (_linux_mod_SOURCES): New variable.
36481 (_linux_mod_CFLAGS): Likewise.
36482 (_linux_mod_LDFLAGS): Likewise.
36483 (linux_mod_SOURCES): Likewise.
36484 (linux_mod_CFLAGS): Likewise.
36485 (linux_mod_LDFLAGS): Likewise.
36486 (nand_mod_SOURCES): Likewise.
36487 (nand_mod_CFLAGS): Likewise.
36488 (nand_mod_LDFLAGS): Likewise.
36489
36490 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
36491 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
36492 type property. (nand device in olpc don't have this property)
36493
36494 * include/grub/disk.h (grub_disk_dev_id): New macro
36495 GRUB_DISK_DEVICE_NAND_ID.
36496
36497 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
36498 function prototype.
36499 (grub_rescue_cmd_initrd): Likewise.
36500
36501 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
36502 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
36503 ofw_cif_handler and ofw_idt, adjust padding number.
36504
36505 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
36506 GRUB_MACHINE_IEEE1275 is defined.
36507
36508 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
36509 Use NESTED_FUNC_ATTR attribute on the hook parameter.
36510
36511 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
36512 on nested function heap_init.
36513 (grub_upper_mem): New variable for i386-ieee1275.
36514 (grub_get_extended_memory): New function for i386-ieee1275.
36515 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
36516
36517 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
36518 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
36519 property.
36520
36521 * loader/i386/ieee1275/linux.c: New file.
36522
36523 * loader/i386/ieee1275/linux_normal.c: New file.
36524
36525 * disk/ieee1275/nand.c: New file.
36526
36527 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
36528
36529 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
36530 value.
36531 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
36532
36533 2008-04-18 Robert Millan <rmh@aybabtu.com>
36534
36535 Restructures early code path on ieee1275 to unify grub_main() as
36536 the first C function that is executed in every platform.
36537
36538 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
36539 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
36540 cmain().
36541 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
36542 * kern/ieee1275/cmain.c (cmain): Rename to ...
36543 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
36544 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
36545 at the beginning.
36546
36547 2008-04-18 Robert Millan <rmh@aybabtu.com>
36548
36549 * util/update-grub.in: Fix syntax error when setting
36550 `GRUB_PRELOAD_MODULES'.
36551 Reported by Stephane Chazelas <stephane@artesyncp.com>
36552
36553 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
36554
36555 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
36556 section into account, newer toolchains generate unique build ids
36557 * configure.ac: remove the test for --build-id=none acceptance,
36558 we want build ids to be preserved
36559 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
36560 far from other sections don't cause the raw binary images grow
36561 size
36562
36563 2008-04-15 Robert Millan <rmh@aybabtu.com>
36564
36565 * disk/lvm.c: Update copyright year.
36566 * kern/misc.c: Likewise.
36567
36568 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36569
36570 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
36571 there is no memory left for physical volume name.
36572
36573 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36574
36575 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
36576 volume name mapping to support bigger than 9 character names properly.
36577
36578 2008-04-13 Robert Millan <rmh@aybabtu.com>
36579
36580 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
36581 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
36582
36583 2008-04-13 Christian Franke <franke@computer.org>
36584
36585 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
36586 to create a floppy emulation boot CD when non emulation mode
36587 does not work.
36588 Enable Joliet CD filesystem extension.
36589
36590 2008-04-13 Robert Millan <rmh@aybabtu.com>
36591
36592 * kern/misc.c (grub_strncat): Fix off-by-one error.
36593 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
36594
36595 * kern/env.c (grub_env_context_close): Clear current context, not
36596 previous one.
36597 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
36598
36599 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
36600
36601 2008-04-13 Robert Millan <rmh@aybabtu.com>
36602
36603 Improve robustness when handling LVM.
36604
36605 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
36606 (and leave `*p' unmodified).
36607 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
36608 through it.
36609 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
36610 iterating through it.
36611 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
36612 through it.
36613 (grub_lvm_scan_device): Check the return value (and fail gracefully
36614 when due) on each grub_lvm_getvalue() or grub_strstr() call.
36615 Don't assume `vg->pvs != NULL' when iterating through it.
36616
36617 2008-04-13 Robert Millan <rmh@aybabtu.com>
36618
36619 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
36620 * genmk.rb (partmap): New variable.
36621 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
36622 (#{partmap}): New target rule.
36623 * genpartmaplist.sh: New file.
36624 * Makefile.in (pkglib_DATA): Add partmap.lst.
36625 (partmap.lst): New target rule.
36626 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
36627 modules (including all partition maps), instead of preloading them.
36628
36629 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
36630
36631 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
36632 `linux-boot-prober' (if installed) to detect other operating
36633 systems which are installed on the computer and add them to
36634 the boot menu.
36635 * conf/common.rmk: Build and install 30_os-prober.
36636
36637 2008-04-12 Robert Millan <rmh@aybabtu.com>
36638
36639 * kern/powerpc/ieee1275/init.c: Move from here ...
36640 * kern/ieee1275/init.c: ... to here. Update all users.
36641
36642 * kern/powerpc/ieee1275/cmain.c: Move from here ...
36643 * kern/ieee1275/cmain.c: ... to here. Update all users.
36644
36645 * kern/powerpc/ieee1275/openfw.c: Move from here ...
36646 * kern/ieee1275/openfw.c: ... to here. Update all users.
36647
36648 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
36649 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
36650
36651 2008-04-10 Pavel Roskin <proski@gnu.org>
36652
36653 * configure.ac: Always use "_cv_" in cache variables for
36654 compatibility with Autoconf 2.62.
36655
36656 2008-04-07 Robert Millan <rmh@aybabtu.com>
36657
36658 Revert grub/machine/init.h addition by Pavel (since it breaks on
36659 i386-ieee1275 and others):
36660 * util/i386/pc/misc.c: Remove grub/machine/init.h.
36661 * util/powerpc/ieee1275/misc.c: Likewise.
36662
36663 2008-04-07 Robert Millan <rmh@aybabtu.com>
36664
36665 * util/grub-probe.c (probe): Improve error message.
36666
36667 2008-04-07 Robert Millan <rmh@aybabtu.com>
36668
36669 * util/biosdisk.c (read_device_map): Skip devices that don't exist
36670 (this prevents the presence of a bogus entry from ruining the whole
36671 thing).
36672
36673 2008-04-06 Pavel Roskin <proski@gnu.org>
36674
36675 * util/biosdisk.c: Include grub/util/biosdisk.h.
36676 * util/grub-fstest.c (execute_command): Make static.
36677 * util/grub-mkdevicemap.c (check_device): Likewise.
36678 * util/i386/pc/misc.c: Include grub/machine/init.h.
36679 * util/powerpc/ieee1275/misc.c: Likewise.
36680 * util/lvm.c: Include grub/util/lvm.h.
36681 * util/misc.c: Include grub/kernel.h, grub/misc.h and
36682 grub/cache.h.
36683 * util/raid.c: Include grub/util/raid.h.
36684 (grub_util_getdiskname): Make static.
36685
36686 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
36687 grub_hostfs_fini(), as they are called from grub_init_all() and
36688 grub_fini_all() respectively. This fixes an infinite loop in
36689 grub-fstest due to double registration of hostfs.
36690 Reported by Christian Franke <Christian.Franke@t-online.de>
36691
36692 2008-04-05 Pavel Roskin <proski@gnu.org>
36693
36694 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
36695 all 8 functions. Otherwise, probe function 0 only.
36696
36697 2008-04-04 Pavel Roskin <proski@gnu.org>
36698
36699 * commands/lspci.c (grub_lspci_iter): Print the bus number
36700 correctly.
36701
36702 * commands/lspci.c (grub_pci_classes): Fix typos.
36703 (grub_lspci_iter): Don't print func twice. Print vendor ID
36704 before device ID, as it's normally done.
36705
36706 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
36707 Fix signedness warnings.
36708 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
36709 Likewise.
36710 * util/ieee1275/get_disk_name.c: Include config.h so that
36711 _GNU_SOURCE is defined and getline() is declared. Mark an
36712 unused argument as such. Fix a signedness warning.
36713
36714 2008-04-02 Pavel Roskin <proski@gnu.org>
36715
36716 * genkernsyms.sh.in: Use more robust assignments for CC and
36717 srcdir. Quote srcdir.
36718 * gensymlist.sh.in: Likewise. Assert at the compile time that
36719 the symbol table is not empty.
36720
36721 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
36722 * fs/cpio.c (grub_cpio_read): Likewise.
36723
36724 2008-04-01 Pavel Roskin <proski@gnu.org>
36725
36726 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
36727 * disk/host.c (grub_host_open): Likewise.
36728 * disk/loopback.c (grub_loopback_open): Likewise.
36729 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
36730 disk->id as in disk/host.c, not a multi-character constant.
36731
36732 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
36733 later is obsolete, potentially dangerous and sets a bad example.
36734 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
36735 * util/misc.c (grub_util_get_image_size): Likewise.
36736
36737 * disk/loopback.c (options): Improve help for "--partitions".
36738
36739 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
36740 options to align them with the short options, e.g. "echo -e".
36741
36742 2008-03-31 Bean <bean123ch@gmail.com>
36743
36744 * video/reader/png.c (grub_png_data): New member is_16bit and
36745 image_data.
36746 (grub_png_decode_image_header): Detect 16 bit png image.
36747 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
36748 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
36749 (grub_video_reader_png): Release memory occupied by image_data.
36750
36751 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
36752 4096 bytes.
36753 (grub_nfs_mount): Skip the test for sector per cluster.
36754
36755 * include/grub/ntfs.h (MAX_SPC): Removed.
36756
36757 2008-03-31 Bean <bean123ch@gmail.com>
36758
36759 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
36760 (grub_probe_SOURCES): Add fs/afs.c.
36761 (grub_fstest_SOURCES): Likewise.
36762 (afs_mod_SOURCES): New variable.
36763 (afs_mod_CFLAGS): Likewise.
36764 (afs_mod_LDFLAGS): Likewise.
36765
36766 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
36767 (grub_emu_SOURCES): Likewise.
36768
36769 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36770
36771 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36772
36773 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36774
36775 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36776
36777 * fs/afs.c: New file.
36778
36779 2008-03-30 Pavel Roskin <proski@gnu.org>
36780
36781 * disk/host.c: Include grub/misc.h to fix a warning.
36782 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
36783 warnings about implicit declarations.
36784
36785 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
36786 variable.
36787 * include/grub/i386/loader.h: Change declaration of
36788 grub_linux_boot() to match what grub_loader_set() expects.
36789 * util/getroot.c (grub_guess_root_device): Return const char* to
36790 fix a warning.
36791 * util/grub-probe.c (probe): Fix a warning about uninitialized
36792 abstraction_name variable.
36793 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
36794 second argument as unused to fix a warning.
36795
36796 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
36797 missing grub_error() call.
36798
36799 * util/update-grub_lib.in: Define datarootdir, since Autoconf
36800 2.60 and newer uses it to define datadir.
36801
36802 * commands/sleep.c: Fix warning about implicit declaration.
36803 * disk/memdisk.c: Likewise.
36804 * loader/aout.c: Likewise.
36805 * loader/i386/bsd_normal.c: Likewise.
36806 * util/grub-probe.c: Likewise.
36807
36808 * commands/i386/cpuid.c (has_longmode): Make static.
36809 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
36810 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
36811
36812 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
36813 GDT. This is more robust, as %ds can change.
36814 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
36815 calling real_to_prot().
36816 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
36817
36818 2008-03-28 Pavel Roskin <proski@gnu.org>
36819
36820 * kern/i386/pc/startup.S: Assert that uncompressed functions
36821 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
36822 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
36823 code, as they push parts of the code (error handlers) beyond
36824 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
36825 code as correctness and size.
36826
36827 2008-03-28 Pavel Roskin <proski@gnu.org>
36828
36829 * kern/i386/pc/startup.S
36830 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
36831 data block address to the real mode, keep offset minimal. This
36832 works around a bug in AWARD BIOS on old Athlon systems, which
36833 makes CD detection hang.
36834
36835 2008-03-26 Pavel Roskin <proski@gnu.org>
36836
36837 * normal/color.c (grub_parse_color_name_pair): Make `name' a
36838 const.
36839 * include/grub/normal.h: Add grub_parse_color_name_pair()
36840 declaration.
36841
36842 2008-03-24 Bean <bean123ch@gmail.com>
36843
36844 * disk/i386/pc/biosdisk.c (cd_start): Removed.
36845 (cd_count): Removed.
36846 (cd_drive): New variable.
36847 (grub_biosdisk_get_drive): Don't check for (cdN) device.
36848 (grub_biosdisk_call_hook): Likewise.
36849 (grub_biosdisk_iterate): Change cdrom detection method.
36850 (grub_biosdisk_open): Replace cd_start with cd_drive.
36851 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
36852 detect cdrom device.
36853
36854 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
36855 Removed.
36856 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
36857 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
36858 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
36859 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
36860 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
36861 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
36862 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
36863 (grub_biosdisk_cdrp): New structure.
36864 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
36865
36866 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
36867
36868 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
36869 device.
36870
36871 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
36872 New function.
36873
36874 2008-03-20 Robert Millan <rmh@aybabtu.com>
36875
36876 Remove 2 TiB limit in ata.mod.
36877 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
36878 (grub_ata_dumpinfo): Print sector count with 0x%llx.
36879 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
36880 grub_uint64_t instead of grub_uint32_t.
36881
36882 2008-03-05 Bean <bean123ch@gmail.com>
36883
36884 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
36885 (grub_multiboot): Set boot device.
36886
36887 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
36888
36889 2008-03-02 Bean <bean123ch@gmail.com>
36890
36891 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
36892 symlink_buffer.
36893
36894 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
36895
36896 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
36897 texinfo.tex.
36898
36899 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
36900 modified.
36901
36902 * docs/fdl.texi: New file.
36903
36904 * docs/mdate-sh: New file. Copied from gnulib.
36905 * docs/texinfo.tex: Likewise.
36906
36907 * config.guess: Updated from gnulib.
36908 * install-sh: Likewise.
36909
36910 2008-02-28 Robert Millan <rmh@aybabtu.com>
36911
36912 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
36913 (aout_mod_SOURCES): New variable.
36914 (aout_mod_CFLAGS): Likewise.
36915 (aout_mod_LDFLAGS): Likewise.
36916
36917 * conf/i386-ieee1275.rmk: Likewise.
36918
36919 2008-02-28 Robert Millan <rmh@aybabtu.com>
36920
36921 * util/update-grub.in: Reorganise terminal validity check. Accept
36922 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
36923 Based on suggestion by Franklin PIAT.
36924
36925 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
36926
36927 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
36928 function.
36929 * util/getroot.c (grub_util_check_block_device): New function that
36930 returns the given argument if it is a block device and returns NULL else.
36931 * util/grub-probe.c (argument_is_device): New variable.
36932 (probe): Promote device_name from a variable to an argument. Receive
36933 device_name from grub_util_check_block_device() if path is NULL and from
36934 grub_guess_root_device() else. Do not free() device_name anymore.
36935 (options): Introduce new parameter '-d, --device'.
36936 (main): Add description of the new parameter to the help screen.
36937 Rename path variable to argument. Set argument_is_device if the '-d'
36938 option is given. Pass argument to probe() depending on
36939 argument_is_device.
36940
36941 2008-02-24 Bean <bean123ch@gmail.com>
36942
36943 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
36944 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
36945 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
36946 (GRUB_ISO9660_VOLDESC_PART): Likewise.
36947 (GRUB_ISO9660_VOLDESC_END): Likewise.
36948 (grub_iso9660_primary_voldesc): New member escape.
36949 (grub_iso9660_data): New member joliet.
36950 (grub_iso9660_convert_string): New function.
36951 (grub_iso9660_mount): Detect joliet extension.
36952 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
36953 (grub_iso9660_iso9660_label): Likewise.
36954
36955 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
36956 (grub_setup_SOURCES): Add fs/udf.c.
36957 (grub_fstest_SOURCES): Likewise.
36958 (udf_mod_SOURCES): New variable.
36959 (udf_mod_CFLAGS): Likewise.
36960 (udf_mod_LDFLAGS): Likewise.
36961
36962 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
36963 (grub_emu_SOURCES): Likewise.
36964
36965 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36966
36967 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36968
36969 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36970
36971 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36972
36973 * fs/udf.c: New file.
36974
36975 2008-02-24 Robert Millan <rmh@aybabtu.com>
36976
36977 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
36978 (normal/lexer.c_DEPENDENCIES): New variables.
36979 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36980 (normal/lexer.c_DEPENDENCIES): Likewise.
36981 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
36982 (normal/lexer.c_DEPENDENCIES): Likewise.
36983 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
36984 (normal/lexer.c_DEPENDENCIES): Likewise.
36985 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36986 (normal/lexer.c_DEPENDENCIES): Likewise.
36987 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
36988 (normal/lexer.c_DEPENDENCIES): Likewise.
36989
36990 2008-02-23 Robert Millan <rmh@aybabtu.com>
36991
36992 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
36993 since they were intended to be in hex. This didn't break previously
36994 because of a bug in gpt_partition_map_iterate() (see below).
36995
36996 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
36997 when checking the validity of GPT header.
36998 Remove `partno', since it always provides the same information as `i'.
36999
37000 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
37001
37002 * include/grub/efi/time.h: Fix a wrong comment.
37003
37004 2008-02-19 Pavel Roskin <proski@gnu.org>
37005
37006 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
37007 message.
37008
37009 2008-02-19 Bean <bean123ch@gmail.com>
37010
37011 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
37012 (aout_mod_SOURCES): New variable.
37013 (aout_mod_CFLAGS): Likewise.
37014 (aout_mod_LDFLAGS): Likewise.
37015 (_bsd_mod_SOURCES): New variable.
37016 (_bsd_mod_CFLAGS): Likewise.
37017 (_bsd_mod_LDFLAGS): Likewise.
37018 (bsd_mod_SOURCES): New variable.
37019 (bsd_mod_CFLAGS): Likewise.
37020 (bsd_mod_LDFLAGS): Likewise.
37021
37022 * include/grub/aout.h: New file.
37023
37024 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
37025
37026 * include/grub/i386/bsd.h: New file.
37027
37028 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
37029 to make it public.
37030
37031 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
37032 function is called, so that it's possible to change it inside the hook.
37033 (grub_elf64_load): Likewise.
37034 (grub_elf_file): Don't close the file if elf header is not found.
37035 (grub_elf_close): Close the file if grub_elf_file fails (The new
37036 grub_elf_file won't close it).
37037 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
37038 (grub_elf64_size): Likewise.
37039
37040 * kern/i386/loader.S (grub_unix_real_boot): New function.
37041
37042 * loader/aout.c: New file.
37043
37044 * loader/i386/bsd.c: New file.
37045
37046 * loader/i386/bsd_normal.c: New file.
37047
37048 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
37049
37050 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
37051 can test other formats.
37052
37053 2008-02-19 Robert Millan <rmh@aybabtu.com>
37054
37055 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
37056 (grub_gpt_partition_type_empty): Redefine with macro from
37057 `<grub/gpt_partition.h>'.
37058 (gpt_partition_map_iterate): Adjust partition type comparison.
37059
37060 Export `entry' as partmap-specific `part.data' struct.
37061 (grub_gpt_header, grub_gpt_partentry): Move from here ...
37062
37063 * include/grub/gpt_partition.h (grub_gpt_header)
37064 (grub_gpt_partentry): ... to here (new file).
37065
37066 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
37067
37068 (grub_gpt_partition_type_bios_boot): New const variable, defined
37069 with macro from `<grub/gpt_partition.h>'.
37070
37071 (setup): Replace `first_start' with `embed_region', which keeps
37072 track of the embed region (and is partmap-agnostic).
37073
37074 Replace find_first_partition_start() with find_usable_region(),
37075 which finds a usable region for embedding using partmap-specific
37076 knowledge (supports PC/MSDOS and GPT).
37077
37078 Fix all assumptions that the embed region start at sector 1, using
37079 `embed_region.start' from now on. Similarly, use `embed_region.end'
37080 rather than `first_start' to calculate available size.
37081
37082 In grub_util_info() message, replace "into after the MBR" with an
37083 indication of the specific sector our embed region starts at.
37084
37085 2008-02-19 Robert Millan <rmh@aybabtu.com>
37086
37087 * DISTLIST: Replace `commands/ieee1275/halt.c' and
37088 `commands/ieee1275/reboot.c' with `commands/halt.c' and
37089 `commands/reboot.c'.
37090 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37091 (halt_mod_SOURCES): Likewise.
37092 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37093 (halt_mod_SOURCES): Likewise.
37094
37095 2008-02-17 Christian Franke <franke@computer.org>
37096
37097 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
37098
37099 2008-02-17 Robert Millan <rmh@aybabtu.com>
37100
37101 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37102 set `first_start' to 0 for non-PC/MSDOS partition maps.
37103
37104 2008-02-16 Robert Millan <rmh@aybabtu.com>
37105
37106 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37107 do not assume partition map is PC/MSDOS before performing checks that
37108 are specific to that layout.
37109
37110 2008-02-13 Robert Millan <rmh@aybabtu.com>
37111
37112 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
37113 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
37114 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
37115
37116 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
37117
37118 * configure.ac: Only a cosmetic change on the handling of
37119 -fno-stack-protector.
37120
37121 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
37122
37123 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
37124 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
37125 reboot.c.
37126 (grub_install_SOURCES): Add halt.mod and reboot.mod.
37127 (halt_mod_SOURCES): New variable.
37128 (halt_mod_CFLAGS): Likewise.
37129 (halt_mod_LDFLAGS): Likewise.
37130 (reboot_mod_SOURCES): Likewise.
37131 (reboot_mod_CFLAGS): Likewise.
37132 (reboot_mod_LDFLAGS): Likewise.
37133
37134 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
37135 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
37136 reboot.c.
37137 (halt_mod_SOURCES): Likewise.
37138 (reboot_mod_SOURCES): Likewise.
37139
37140 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
37141 commands/i386/pc/reboot.c by commands/reboot.c.
37142 (reboot_mod_SOURCES): Likewise.
37143
37144 * commands/i386/pc/reboot.c: merge this file ...
37145
37146 * commands/ieee1275/reboot.c: ... and this file ...
37147
37148 * commands/reboot.c: ... to this file.
37149 Add some precompiler directive to include the correct header for
37150 each machine.
37151
37152 * commands/ieee1275/halt.c: move this file ...
37153
37154 * commands/halt.c: ... to here.
37155 Add some precompiler directive to include the correct header for
37156 each machine.
37157
37158 * include/grub/efi/efi.h (grub_reboot): New function declaration.
37159 (grub_halt): Likewise.
37160
37161 * kern/efi/efi.c (grub_reboot): New function.
37162 (grub_halt): Likewise.
37163
37164 2008-02-12 Robert Millan <rmh@aybabtu.com>
37165
37166 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
37167 /dev (like it is done for /dev/mapper). This doesn't provide support
37168 for EVMS, but at least it is now easy to identify the problem when it
37169 arises.
37170
37171 2008-02-11 Robert Millan <rmh@aybabtu.com>
37172
37173 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
37174 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
37175 comparing it with -1, not 0.
37176
37177 2008-02-10 Robert Millan <rmh@aybabtu.com>
37178
37179 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
37180 `disk/lvm.c'.
37181 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37182 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
37183
37184 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
37185 `disk/lvm.c' to the end of the list.
37186 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37187 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37188
37189 2008-02-10 Robert Millan <rmh@aybabtu.com>
37190
37191 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
37192 grub_print_error() instead. This will let user know why we're entering
37193 rescue mode.
37194 Based on suggestions from Sam Morris.
37195
37196 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
37197
37198 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
37199 on remaining N args, instead of "--" arg N times.
37200
37201 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
37202
37203 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
37204 (fill_with_default_glyph): Changed to use unknown_glyph for fill
37205 pattern for unknown glyphs.
37206
37207 2008-02-09 Robert Millan <rmh@aybabtu.com>
37208
37209 * configure.ac: Probe for `help2man'.
37210 * Makefile.in (builddir): New variable.
37211 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
37212 or otherwise add a few flags/options to it.
37213 (install-local): For every executable utility or script that is
37214 installed, invoke $(HELP2MAN) to install a manpage based on --help
37215 output.
37216
37217 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
37218 that it doesn't prevent --help from working in build tree.
37219
37220 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
37221 with `bug-grub@gnu.org'.
37222 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
37223 * util/update-grub.in (usage): New function.
37224 Implement proper argument check, with support for --help and --version
37225 (as well as existing -y).
37226
37227 2008-02-09 Christian Franke <franke@computer.org>
37228
37229 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
37230 avoid overwriting previous output.
37231 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
37232
37233 2008-02-09 Robert Millan <rmh@aybabtu.com>
37234
37235 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
37236 drawing the menu.
37237
37238 2008-02-09 Robert Millan <rmh@aybabtu.com>
37239
37240 * commands/sleep.c: New file.
37241 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
37242 (sleep_mod_SOURCES): New variable.
37243 (sleep_mod_CFLAGS): Likewise.
37244 (sleep_mod_LDFLAGS): Likewise.
37245
37246 2008-02-09 Robert Millan <rmh@aybabtu.com>
37247
37248 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
37249 situations in which we can deduce the RAID size and the superblock
37250 doesn't match it.
37251
37252 2008-02-09 Robert Millan <rmh@aybabtu.com>
37253
37254 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
37255 and return a grub_diskmemberlist_t composed of LVM physical volumes.
37256 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
37257
37258 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
37259 and return a grub_diskmemberlist_t composed of physical array members.
37260 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
37261
37262 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
37263 prototype.
37264 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
37265 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
37266 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
37267
37268 * util/grub-probe.c (probe): Move partmap probing code from here ...
37269 (probe_partmap): ... to here.
37270 (probe): Use probe_partmap() once for the disk we're probing, and
37271 additionally, when such disk contains a memberlist() struct member,
37272 once for each disk that is contained in the structure returned by
37273 memberlist().
37274
37275 2008-02-09 Robert Millan <rmh@aybabtu.com>
37276
37277 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
37278 environment variable to 'all' in order to obtain debug output from
37279 non-util/ code.
37280 * util/i386/pc/grub-setup.c (main): Likewise.
37281
37282 2008-02-08 Robert Millan <rmh@aybabtu.com>
37283
37284 * disk/raid.c (grub_raid_scan_device): Check for
37285 `array->device[sb.this_disk.number]' rather than for
37286 `array->device[sb.this_disk.number]->name', since the latter is not
37287 guaranteed to be accessible.
37288
37289 2008-02-08 Robert Millan <rmh@aybabtu.com>
37290
37291 * disk/raid.c: Update copyright.
37292 * fs/cpio.c: Likewise.
37293 * include/grub/raid.h: Likewise.
37294 * loader/i386/pc/multiboot.c: Likewise.
37295 * util/hostfs.c: Likewise.
37296
37297 2008-02-08 Robert Millan <rmh@aybabtu.com>
37298
37299 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
37300 to a grub_disk_t array.
37301 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
37302 `device[x]'.
37303 (grub_raid_scan_device): Replace `device[x].name' accesses with
37304 `device[x]->name'. Simplify initialization of `array->device[x]'.
37305
37306 2008-02-08 Robert Millan <rmh@aybabtu.com>
37307
37308 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
37309 grub_dprintf() calls.
37310 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
37311 error message.
37312
37313 2008-02-07 Christian Franke <franke@computer.org>
37314
37315 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
37316 instead of fseek and ftell to support large files.
37317 (grub_hostfs_read): Likewise.
37318
37319 2008-02-07 Robert Millan <rmh@aybabtu.com>
37320
37321 Patch from Jeroen Dekkers.
37322 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
37323 failure, since successfully reading all array members might not be
37324 required.
37325
37326 2008-02-06 Robert Millan <rmh@aybabtu.com>
37327
37328 * util/grub-probe.c (probe): Simplify partmap probing (with the
37329 assumption that the first word up to the underscore equals to
37330 the module name).
37331
37332 2008-02-06 Christian Franke <franke@computer.org>
37333
37334 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
37335 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
37336 last block of a cpio or tar stream.
37337 Check for "TRAILER!!!" instead of any empty data
37338 block to detect last block of a cpio stream.
37339 (grub_cpio_dir): Fix constness of variable np.
37340 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
37341 cpio or tar trailer is detected. This fixes a crash
37342 on open of a non existing file.
37343
37344 2008-02-05 Bean <bean123ch@gmail.com>
37345
37346 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
37347 address of entry.
37348 (grub_multiboot_load_elf64): Likewise.
37349 (grub_multiboot): Initialize mbi structure.
37350
37351 * util/grub-fstest.c: Don't include unused header file script.h.
37352
37353 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
37354 of file.
37355 (grub_fstest_SOURCES): Likewise.
37356
37357 2008-02-05 Robert Millan <rmh@aybabtu.com>
37358
37359 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
37360 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
37361 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
37362 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
37363
37364 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
37365 (translation_table): Replace hardcoded values with macros
37366 provided by `<grub/term.h>'.
37367
37368 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
37369 (keyboard_map): Correct/add a few values, with macros provided
37370 by `<grub/term.h>'.
37371 (keyboard_map_shift): Zero values that don't differ from their
37372 `keyboard_map' equivalents.
37373 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
37374 Discard the second scan code that is always sent by Caps lock.
37375 Only use `keyboard_map_shift' when it provides a non-zero value,
37376 otherwise fallback to `keyboard_map'.
37377
37378 2008-02-04 Bean <bean123ch@gmail.com>
37379
37380 * Makefile.in (enable_grub_fstest): New variable.
37381
37382 * conf/common.rmk (grub_fstest_init.lst): New rule.
37383 (grub_fstest_init.h): Likewise.
37384 (grub_fstest_init.c): Likewise.
37385 (util/grub-fstest.c_DEPENDENCIES): New variable.
37386 (grub_fstest_SOURCES): Likewise.
37387
37388 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
37389
37390 * util/grub-fstest.c: New file.
37391
37392 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37393
37394 Make grub-setup handle a separate root device.
37395
37396 * util/i386/pc/grub-setup.c (setup): Always open the root device,
37397 so that the root device can be compared with the destination
37398 device.
37399 When embedding the core image, if the root and destination devices
37400 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
37401 0xFF.
37402 When not embedding, set ROOT_DRIVE to 0xFF.
37403
37404 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37405
37406 Add support for having a grub directory in a different drive. This
37407 is still only the data handling part.
37408
37409 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
37410 (codestart): Save %dh in GRUB_ROOT_DRIVE.
37411 (grub_root_drive): New variable.
37412
37413 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
37414 instead of GRUB_BOOT_DRIVE to construct a device name. Set
37415 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
37416 as it was.
37417
37418 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
37419
37420 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
37421 macro.
37422 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
37423
37424 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
37425 is bogus, because PXE booting does not specify any drive
37426 correctly.
37427
37428 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
37429 am not sure if this is really correct.
37430
37431 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
37432 is always identical to the boot drive when booting from a CD.
37433
37434 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
37435 longer.
37436 (root_drive): New variable.
37437 (real_start): Unconditionally set %dh to ROOT_DRIVE.
37438 (setup_sectors): Push %dx right after popping it, because %dh will
37439 be modified later.
37440 (copy_buffer): Restore %dx.
37441
37442 2008-02-03 Robert Millan <rmh@aybabtu.com>
37443
37444 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
37445 use `cdboot.img' for cdrom images.
37446
37447 2008-02-03 Robert Millan <rmh@aybabtu.com>
37448
37449 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
37450 only setup gfxterm when `font' command has succeeded.
37451
37452 2008-02-03 Robert Millan <rmh@aybabtu.com>
37453
37454 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
37455 (grub_rescue_cmd_multiboot_loader)
37456 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
37457
37458 2008-02-03 Pavel Roskin <proski@gnu.org>
37459
37460 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
37461 %edx and %esi from stack only after grub_gate_a20() is called.
37462 grub_gate_a20() clobbers %edx.
37463
37464 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37465
37466 * configure.ac (AC_INIT): Bumped to 1.96.
37467
37468 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
37469 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
37470 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
37471 video/readers/png.c.
37472
37473 2008-02-03 Bean <bean123ch@gmail.com>
37474
37475 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
37476 (cdboot_img_SOURCES): New variable.
37477 (cdboot_img_ASFLAGS): New variable.
37478 (cdboot_img_LDFLAGS): New variable.
37479
37480 * boot/i386/pc/cdboot.S: New file.
37481
37482 * disk/i386/pc/biosdisk.c (cd_start): New variable.
37483 (cd_count): Likewise.
37484 (grub_biosdisk_get_drive): Add support for cd device.
37485 (grub_biosdisk_call_hook): Likewise.
37486 (grub_biosdisk_iterate): Likewise.
37487 (grub_biosdisk_open): Likewise.
37488 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
37489 (grub_biosdisk_rw): Support reading from cd device.
37490 (GRUB_MOD_INIT): Iterate cd devices.
37491
37492 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
37493 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
37494 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
37495
37496 * kern/i386/pc/init.c (make_install_device): Check for cd device.
37497
37498 2008-02-02 Robert Millan <rmh@aybabtu.com>
37499
37500 * commands/read.c: New file.
37501 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
37502 (read_mod_SOURCES): New variable.
37503 (read_mod_CFLAGS): Likewise.
37504 (read_mod_LDFLAGS): Likewise.
37505
37506 2008-02-02 Robert Millan <rmh@aybabtu.com>
37507
37508 * normal/main.c (grub_normal_execute): Check for `menu->size' when
37509 determining whether menu has to be displayed.
37510
37511 2008-02-02 Marco Gerards <marco@gnu.org>
37512
37513 * bus/pci.c: New file.
37514
37515 * include/grub/pci.h: Likewise.
37516
37517 * include/grub/i386/pc/pci.h: Likewise.
37518
37519 * commands/lspci.c: Likewise.
37520
37521 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
37522 `lspci.mod'.
37523 (pci_mod_SOURCES): New variable.
37524 (pci_mod_CFLAGS): Likewise.
37525 (pci_mod_LDFLAGS): Likewise.
37526 (lspci_mod_SOURCES): Likewise.
37527 (lspci_mod_CFLAGS): Likewise.
37528 (lspci_mod_LDFLAGS): Likewise.
37529
37530 2008-02-02 Bean <bean123ch@gmail.com>
37531
37532 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
37533 (grub_ufs_get_file_block): Fix indirect block calculation problem.
37534
37535 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
37536 (grub_xfs_btree_node): New structure.
37537 (grub_xfs_btree_root): New structure.
37538 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
37539 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
37540 (GRUB_XFS_EXTENT_BLOCK): Likewise.
37541 (GRUB_XFS_EXTENT_SIZE): Likewise.
37542 (grub_xfs_read_block): Support btree format type.
37543 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
37544 Use directory block as basic unit.
37545
37546 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
37547
37548 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
37549 __attribute__ ((__regparm__ (1))).
37550
37551 2008-02-01 Robert Millan <rmh@aybabtu.com>
37552
37553 Correct a mistake in previous commit.
37554
37555 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
37556 top.
37557 (normal/command.c_DEPENDENCIES): New variable.
37558
37559 2008-02-01 Robert Millan <rmh@aybabtu.com>
37560
37561 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
37562 top.
37563 (normal/command.c_DEPENDENCIES): New variable.
37564 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
37565 * conf/i386-ieee1275.rmk: Likewise.
37566 * conf/i386-linuxbios.rmk: Likewise.
37567 * conf/i386-pc.rmk: Likewise.
37568 * conf/sparc64-ieee1275.rmk: Likewise.
37569 * conf/powerpc-ieee1275.rmk: Likewise.
37570 (grub_emu_SOURCES): Add `fs/fshelp.c'.
37571
37572 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
37573
37574 2008-02-01 Robert Millan <rmh@aybabtu.com>
37575
37576 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
37577 call at beginning of function.
37578
37579 2008-01-31 Pavel Roskin <proski@gnu.org>
37580
37581 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
37582 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
37583 (grub_mkrescue_SOURCES): Likewise.
37584 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
37585
37586 2008-01-30 Robert Millan <rmh@aybabtu.com>
37587
37588 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
37589 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
37590 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
37591 (grub_probe_SOURCES): ... to here.
37592
37593 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
37594 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
37595 * conf/i386-ieee1275.rmk: Likewise.
37596 * conf/i386-linuxbios.rmk: Likewise.
37597 * conf/powerpc-ieee1275.rmk: Likewise.
37598
37599 2008-01-30 Tristan Gingold <gingold@free.fr>
37600
37601 * kern/rescue.c: Silently accept empty lines.
37602
37603 2008-01-29 Bean <bean123ch@gmail.com>
37604
37605 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
37606 (real_code_2): Code cleanup and change comment style.
37607 (move_memory): Avoid using 32-bit address mode.
37608
37609 2008-01-29 Bean <bean123ch@gmail.com>
37610
37611 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
37612 (png_mod_SOURCES): New variable.
37613 (png_mod_CFLAGS): Likewise.
37614 (png_mod_LDFLAGS): Likewise.
37615
37616 * video/readers/png.c: New file.
37617
37618 2008-01-28 Robert Millan <rmh@aybabtu.com>
37619
37620 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
37621 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
37622 `ifndef GRUB_MOD_GAP' hack.
37623 * util/elf/grub-mkimage.c (add_segments): Likewise.
37624
37625 2008-01-27 Robert Millan <rmh@aybabtu.com>
37626
37627 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
37628 `GRUB_MOD_GAP' for platforms in which it's not defined.
37629 * util/elf/grub-mkimage.c (add_segments): Likewise.
37630
37631 2008-01-27 Robert Millan <rmh@aybabtu.com>
37632
37633 Get grub-emu to build again (including parallel builds).
37634
37635 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
37636 Split into ...
37637 (util/grub-emu.c_DEPENDENCIES): ... this, ...
37638 (normal/execute.c_DEPENDENCIES): ... this, ...
37639 (grub-emu_DEPENDENCIES): ... and this.
37640
37641 * conf/i386-efi.rmk: Likewise.
37642 * conf/i386-linuxbios.rmk: Likewise.
37643 * conf/i386-ieee1275.rmk: Likewise.
37644 * conf/powerpc-ieee1275.rmk: Likewise.
37645 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
37646
37647 2008-01-27 Robert Millan <rmh@aybabtu.com>
37648
37649 * NEWS: Add a few items.
37650
37651 2008-01-27 Robert Millan <rmh@aybabtu.com>
37652
37653 Fix parallel builds with grub-emu. Based on earlier commit for
37654 grub-probe and grub-setup.
37655
37656 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37657 (util/grub-emu.c_DEPENDENCIES): ... this.
37658 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37659 (util/grub-emu.c_DEPENDENCIES): ... this.
37660 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37661 (util/grub-emu.c_DEPENDENCIES): ... this.
37662 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37663 (util/grub-emu.c_DEPENDENCIES): ... this.
37664 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37665 (util/grub-emu.c_DEPENDENCIES): ... this.
37666
37667 2008-01-27 Pavel Roskin <proski@gnu.org>
37668
37669 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
37670 to create a gap between _end and the modules added to the image
37671 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
37672 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
37673 * util/elf/grub-mkimage.c (add_segments): Likewise.
37674
37675 2008-01-26 Pavel Roskin <proski@gnu.org>
37676
37677 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
37678 just return an error.
37679
37680 2008-01-26 Bean <bean123ch@gmail.com>
37681
37682 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
37683 (grub_reiserfs_get_item): Save offset of the next item.
37684 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
37685
37686 2008-01-25 Robert Millan <rmh@aybabtu.com>
37687
37688 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
37689 make all filesystem sources appear together (possibly fixing omissions
37690 while at it).
37691 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37692 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37693 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37694 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37695
37696 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
37697 add `kern/file.c'.
37698 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
37699 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37700 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
37701 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37702
37703 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
37704 (probe): Add a sanity check to make sure of our ability to read
37705 requested files when probing for filesystem type.
37706
37707 * genmk.rb: Update copyright year (2007).
37708
37709 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
37710 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
37711 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
37712 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
37713 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
37714 : Remove function prototypes.
37715
37716 2008-01-25 Robert Millan <rmh@aybabtu.com>
37717
37718 Revert my previous commits (based on wrong assumption of how grub_errno
37719 works).
37720
37721 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
37722 * kern/file.c (grub_file_open): Likewise.
37723
37724 2008-01-24 Pavel Roskin <proski@gnu.org>
37725
37726 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
37727 that hang if GRUB tries to setup colors.
37728 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
37729 colors for firmwares that don't support it.
37730 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
37731 Recognize Open Hack'Ware, set flags to work around its
37732 limitations.
37733
37734 2008-01-24 Robert Millan <rmh@aybabtu.com>
37735
37736 * kern/file.c (grub_file_open): Do not account previous failures of
37737 unrelated functions when grub_errno is checked for.
37738 Reported by Oleg Strikov.
37739
37740 2008-01-24 Bean <bean123ch@gmail.com>
37741
37742 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
37743 (grub_ufs_sblock): New member volume name.
37744 (grub_ufs_find_file): Fix string copy bug.
37745 (grub_ufs_label): Implement this function properly.
37746
37747 * fs/hfs.c (grub_hfs_cnid_type): New enum.
37748 (grub_hfs_iterate_records): Use the correct file number for extents
37749 and catalog file. Fix problem in next index calculation.
37750 (grub_hfs_find_node): Replace recursive function call with loop.
37751 (grub_hfs_iterate_dir): Replace recursive function call with loop.
37752
37753 2008-01-23 Robert Millan <rmh@aybabtu.com>
37754
37755 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
37756 `<grub/symbol.h>' and `<grub/multiboot.h>'.
37757 (grub_multiboot2_real_boot): New function prototype.
37758
37759 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
37760 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
37761
37762 * kern/i386/ieee1275/init.c (grub_os_area_addr)
37763 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
37764
37765 2008-01-23 Robert Millan <rmh@aybabtu.com>
37766
37767 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
37768 #ifdef'ed out grub_printf().
37769
37770 2008-01-23 Robert Millan <rmh@aybabtu.com>
37771
37772 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
37773 grub_dprintf calls, since they make "debug=all" mode unusable.
37774 (grub_console_checkkey): Likewise.
37775
37776 2008-01-23 Robert Millan <rmh@aybabtu.com>
37777
37778 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
37779 `term/i386/pc/at_keyboard.c'.
37780 (pkglib_MODULES): Add `serial.mod'.
37781 (serial_mod_SOURCES): New variable.
37782 (serial_mod_CFLAGS): Likewise.
37783 (serial_mod_LDFLAGS): Likewise.
37784
37785 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
37786 `<grub/powerpc/ieee1275/console.h>'.
37787 (grub_keyboard_controller_init): New function prototype.
37788 (grub_console_checkkey): Likewise.
37789 (grub_console_getkey): Likewise.
37790
37791 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
37792 keyboard on i386.
37793
37794 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
37795 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
37796
37797 2008-01-23 Robert Millan <rmh@aybabtu.com>
37798
37799 * kern/i386/pc/init.c (make_install_device): When memdisk image is
37800 present, "(memdisk)/boot/grub" becomes the default prefix.
37801
37802 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
37803 a memdisk tarball with all the modules. Add --overlay=DIR option that
37804 allows users to overlay additional files into the image.
37805
37806 2008-01-23 Robert Millan <rmh@aybabtu.com>
37807
37808 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
37809 and `machine/memory.h'.
37810 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
37811 (_multiboot_mod_SOURCES): New variable.
37812 (_multiboot_mod_CFLAGS): Likewise.
37813 (_multiboot_mod_LDFLAGS): Likewise.
37814 (multiboot_mod_SOURCES): Likewise.
37815 (multiboot_mod_CFLAGS): Likewise.
37816 (multiboot_mod_LDFLAGS): Likewise.
37817
37818 * include/grub/i386/ieee1275/loader.h: New file.
37819
37820 * include/grub/i386/ieee1275/machine.h: Likewise.
37821
37822 * include/grub/i386/ieee1275/memory.h: Likewise.
37823
37824 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
37825 variable declaration.
37826 (grub_os_area_size): Likewise.
37827
37828 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
37829 (grub_lower_mem, grub_upper_mem): New variables.
37830 (grub_stop_floppy): New function (just to make
37831 grub_multiboot2_real_boot() happy).
37832
37833 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
37834 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
37835 (grub_stop): New function.
37836 Include `"../realmode.S"' and `"../loader.S"'.
37837
37838 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
37839 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
37840
37841 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
37842 rely on grub_multiboot2_real_boot() for final boot.
37843
37844 2008-01-22 Robert Millan <rmh@aybabtu.com>
37845
37846 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
37847 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
37848 device that doesn't look like an SD card.
37849 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
37850 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
37851 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
37852 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
37853 found.
37854
37855 2008-01-22 Robert Millan <rmh@aybabtu.com>
37856
37857 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
37858 avoid claiming over our own code.
37859
37860 2008-01-22 Bean <bean123ch@gmail.com>
37861
37862 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
37863 (jpeg_mod_SOURCES): New variable.
37864 (jpeg_mod_CFLAGS): Likewise.
37865 (jpeg_mod_LDFLAGS): Likewise.
37866
37867 * video/readers/jpeg.c : New file.
37868
37869 2008-01-22 Bean <bean123ch@gmail.com>
37870
37871 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
37872 there are no more items.
37873
37874 2008-01-21 Robert Millan <rmh@aybabtu.com>
37875
37876 * kern/mm.c (grub_mm_init_region): Improve debug message.
37877
37878 2008-01-21 Robert Millan <rmh@aybabtu.com>
37879
37880 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
37881 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
37882 address.
37883 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
37884 a C macro.
37885 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
37886 Indicates start of upper memory.
37887 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
37888 (generate_image): Abort when image size is big enough to corrupt
37889 upper memory.
37890
37891 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
37892 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
37893 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
37894 instead of hardcoding 0xA0000.
37895 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
37896 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
37897 instead of hardcoding 0xA0000.
37898
37899 2008-01-21 Robert Millan <rmh@aybabtu.com>
37900
37901 * disk/memdisk.c (memdisk_size): New variable.
37902 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
37903 `memdisk_size'.
37904 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
37905 image to dynamic memory.
37906 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
37907 `memdisk_size'. Free memdisk block.
37908
37909 2008-01-21 Robert Millan <rmh@aybabtu.com>
37910
37911 Fix detection of very small filesystems (like tar).
37912
37913 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
37914 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
37915 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
37916 a problem with this disk).
37917
37918 2008-01-21 Robert Millan <rmh@aybabtu.com>
37919
37920 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
37921 on grub_biosdisk_rw_standard() error.
37922
37923 2008-01-21 Robert Millan <rmh@aybabtu.com>
37924
37925 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
37926 recent changes.
37927 * kern/elf.c: Likewise.
37928 * kern/ieee1275/ieee1275.c: Likewise.
37929 * kern/powerpc/ieee1275/openfw.c: Likewise.
37930 * term/ieee1275/ofconsole.c: Likewise.
37931
37932 2008-01-21 Robert Millan <rmh@aybabtu.com>
37933
37934 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
37935
37936 * include/grub/kernel.h (grub_arch_memdisk_addr)
37937 (grub_arch_memdisk_size): Moved from here ...
37938
37939 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
37940 (grub_arch_memdisk_size): ... to here.
37941
37942 2008-01-21 Robert Millan <rmh@aybabtu.com>
37943
37944 Mostly based on bugfix from Bean.
37945
37946 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
37947 attribute with hook() parameter.
37948 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
37949 declaration.
37950 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
37951 attribute with hook() parameter.
37952 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
37953 declaration.
37954
37955 2008-01-21 Robert Millan <rmh@aybabtu.com>
37956
37957 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
37958 (pkglib_MODULES): Add `memdisk.mod'.
37959 (memdisk_mod_SOURCES): New variable.
37960 (memdisk_mod_CFLAGS): Likewise.
37961 (memdisk_mod_LDFLAGS): Likewise.
37962
37963 * disk/memdisk.c: New file.
37964
37965 * include/grub/disk.h (grub_disk_dev_id): Add
37966 `GRUB_DISK_DEVICE_MEMDISK_ID'.
37967
37968 * include/grub/i386/pc/kernel.h
37969 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
37970 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
37971 (grub_kernel_image_size): New variable declaration.
37972 (grub_total_module_size): Likewise.
37973 (grub_memdisk_image_size): Likewise.
37974
37975 * include/grub/i386/pc/memory.h
37976 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
37977
37978 * include/grub/kernel.h: Include `<grub/symbol.h>'.
37979 (grub_arch_memdisk_addr): New variable declaration.
37980 (grub_arch_memdisk_size): Likewise.
37981
37982 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
37983 (grub_arch_memdisk_size): Likewise.
37984
37985 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
37986 (codestart): Replace hardcoded `0x100000' with
37987 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
37988
37989 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
37990 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
37991 not NULL, append the contents of the file it refers to, at the end of
37992 the compressed kernel image. Initialize `grub_memdisk_image_size'
37993 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
37994 (options): Add "memdisk"|'m' option.
37995 (main): Parse --memdisk|-m option, and pass user-provided path as
37996 parameter to generate_image().
37997
37998 2008-01-20 Robert Millan <rmh@aybabtu.com>
37999
38000 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
38001 grub_dprintf() calls from here ...
38002 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
38003
38004 2008-01-20 Robert Millan <rmh@aybabtu.com>
38005
38006 Fix detection of "real mode" when /options/real-mode? doesn't exist.
38007
38008 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
38009 declaration.
38010 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
38011 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
38012 `GRUB_IEEE1275_FLAG_REAL_MODE'.
38013 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
38014 property).
38015 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
38016 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
38017
38018 2008-01-19 Robert Millan <rmh@aybabtu.com>
38019
38020 Get rid of confusing function (superseded by
38021 `grub_ieee1275_get_integer_property')
38022 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
38023 prototype.
38024 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
38025 function.
38026 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
38027 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
38028 in native endianness from grub_ieee1275_get_integer_property().
38029
38030 2008-01-19 Robert Millan <rmh@aybabtu.com>
38031
38032 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
38033 command after "shut-down", since implementations differ on which
38034 the command for halt is.
38035
38036 2008-01-19 Robert Millan <rmh@aybabtu.com>
38037
38038 * include/grub/i386/linuxbios/console.h: Add header protection.
38039 (grub_keyboard_controller_init): New function prototype.
38040 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
38041 (KEYBOARD_COMMAND_READ): Likewise.
38042 (KEYBOARD_COMMAND_WRITE): Likewise.
38043 (KEYBOARD_SCANCODE_SET1): Likewise.
38044 (grub_keyboard_controller_write): New function.
38045 (grub_keyboard_controller_read): Likewise.
38046 (grub_keyboard_controller_init): Likewise.
38047
38048 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
38049 (grub_console_init): On coreboot/LinuxBIOS, call
38050 grub_keyboard_controller_init().
38051
38052 2008-01-19 Robert Millan <rmh@aybabtu.com>
38053
38054 PowerPC changes provided by Pavel Roskin.
38055
38056 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
38057 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
38058 don't rely on cmain() doing it.
38059 * kern/i386/ieee1275/startup.S (_start): Store %eax in
38060 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
38061
38062 2008-01-16 Robert Millan <rmh@aybabtu.com>
38063
38064 * include/grub/i386/linuxbios/memory.h
38065 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
38066 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
38067 receive `table_header' as argument. Instead, probe for it in the
38068 known memory ranges where it can be present.
38069 (grub_available_iterate): Do not pass a fixed `table_header' address
38070 to grub_linuxbios_table_iterate().
38071
38072 2008-01-15 Robert Millan <rmh@aybabtu.com>
38073
38074 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
38075 * conf/i386-ieee1275.rmk: New file.
38076 * include/grub/i386/ieee1275/console.h: Likewise.
38077 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
38078 * include/grub/i386/ieee1275/kernel.h: Likewise.
38079 * include/grub/i386/ieee1275/time.h: Likewise.
38080 * kern/i386/ieee1275/init.c: Likewise.
38081 * kern/i386/ieee1275/startup.S: Likewise.
38082
38083 2008-01-15 Robert Millan <rmh@aybabtu.com>
38084
38085 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
38086 when pointers are 32-bit (but still do set it to one when they are
38087 64-bit).
38088
38089 2008-01-15 Robert Millan <rmh@aybabtu.com>
38090
38091 * include/grub/ieee1275/ieee1275.h
38092 (grub_ieee1275_get_integer_property): New function prototype.
38093
38094 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
38095 (grub_ieee1275_get_integer_property): New function. Wraps around
38096 grub_ieee1275_get_property() to handle endianness.
38097
38098 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
38099 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
38100 where appropriate.
38101 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
38102 (grub_map): Likewise.
38103 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
38104
38105 2008-01-15 Bean <bean123ch@gmail.com>
38106
38107 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
38108 (grub_script_execute_cmdline): Reset grub_errno.
38109
38110 * normal/main.c (read_config_file): Reset grub_errno.
38111
38112 * normal/parse.y (script_init): New.
38113 (script): Move function and menuentry here.
38114 (delimiter): New.
38115 (command): Add delimiter at the end of command.
38116 (commands): Adjust to match the new command.
38117 (commandblock): Remove grub_script_lexer_record_start.
38118 (menuentry): Add grub_script_lexer_record_start, use the new commands.
38119 (if): Use the new commands.
38120
38121 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
38122
38123 2008-01-15 Robert Millan <rmh@aybabtu.com>
38124
38125 * normal/menu.c (run_menu): Move timeout message from here ...
38126 (print_timeout): ... to here.
38127 (run_menu): Use print_timeout() once during initial draw to print
38128 the whole message, and again in every clock tick to update only
38129 the number of seconds.
38130
38131 2008-01-15 Robert Millan <rmh@aybabtu.com>
38132
38133 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
38134 actual size of `available' from grub_ieee1275_get_property(), and
38135 restrict parsing to that bound.
38136
38137 2008-01-15 Christian Franke <franke@computer.org>
38138
38139 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
38140 (argp_program_version): Remove variable.
38141 (argp_program_bug_address): Likewise.
38142 (options): Convert from struct argp_option to struct option.
38143 (struct arguments): Remove.
38144 (parse_opt): Remove.
38145 (usage): New function.
38146 (main): Replace struct args members by simple variables.
38147 Replace argp_parse() by getopt_long().
38148 Add switch to evaluate options.
38149 Add missing "(...)" around root_dev in prefix string.
38150
38151 2008-01-14 Robert Millan <rmh@aybabtu.com>
38152
38153 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
38154 for grub_ieee1275_exit(), in order to improve portability.
38155
38156 2008-01-14 Robert Millan <rmh@aybabtu.com>
38157
38158 * util/grub.d/10_linux.in (prefix): Define.
38159 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
38160
38161 2008-01-13 Pavel Roskin <proski@gnu.org>
38162
38163 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
38164 grub_errno if no errors have been detected.
38165
38166 2008-01-12 Robert Millan <rmh@aybabtu.com>
38167
38168 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
38169 (grub_util_get_dev_abstraction): New function prototype.
38170
38171 * util/getroot.c: Include `<grub/util/getroot.h>'
38172 (grub_util_get_grub_dev): Move detection of abstraction type to ...
38173 (grub_util_get_dev_abstraction): ... here (new function).
38174
38175 * util/grub-probe.c: Convert PRINT_* to an enum. Add
38176 `PRINT_ABSTRACTION'.
38177 (probe): Probe for abstraction type when requested.
38178 (main): Understand `--target=abstraction'.
38179
38180 * util/i386/efi/grub-install.in: Add abstraction module to core
38181 image when it is found to be necessary.
38182 * util/i386/pc/grub-install.in: Likewise.
38183 * util/powerpc/ieee1275/grub-install.in: Likewise.
38184
38185 * util/update-grub_lib.in (font_path): Return system path without
38186 converting to GRUB path.
38187 * util/update-grub.in: Convert system path returned by font_path()
38188 to a GRUB path. Use `grub-probe -t abstraction' to determine what
38189 abstraction module is needed for loading fonts (if any). Export
38190 that as `GRUB_PRELOAD_MODULES'.
38191 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
38192 insmod commands).
38193
38194 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
38195
38196 Remove some unused code from reiserfs.
38197
38198 * fs/reiserfs.c (struct grub_reiserfs_key)
38199 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
38200 (struct grub_reiserfs_node_body): Removed.
38201 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38202 Likewise.
38203 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38204 Likewise.
38205 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38206 Likewise.
38207 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38208 Likewise.
38209 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38210 Likewise.
38211 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
38212 Likewise.
38213 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38214 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38215 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38216
38217 2008-01-10 Robert Millan <rmh@aybabtu.com>
38218
38219 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
38220 Determines if a file is garbage left by packaging systems, etc.
38221 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
38222 for processing /etc/grub.d scripts.
38223 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
38224 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
38225 as a condition for processing Linux images.
38226
38227 2008-01-10 Pavel Roskin <proski@gnu.org>
38228
38229 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
38230 to compile reiserfs.c on PowerPC.
38231
38232 2008-01-10 Robert Millan <rmh@aybabtu.com>
38233
38234 * kern/device.c (grub_device_iterate): Do not abort device iteration
38235 when one of the devices cannot be opened.
38236 * kern/disk.c (grub_disk_open): Do not account previous failures of
38237 unrelated functions when grub_errno is checked for.
38238
38239 2008-01-08 Robert Millan <rmh@aybabtu.com>
38240
38241 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
38242 `! grub_linux_is_bzimage', change order of address comparison to make
38243 it more intuitive, and improve "too big zImage" error message.
38244
38245 2008-01-08 Robert Millan <rmh@aybabtu.com>
38246
38247 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
38248 `$(update-grub_DATA)'.
38249 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
38250 targets.
38251
38252 2008-01-07 Robert Millan <rmh@aybabtu.com>
38253
38254 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
38255 which instruction is modified by grub-setup during installation
38256 (since it wasn't obvious by only looking at this file).
38257
38258 2008-01-07 Robert Millan <rmh@aybabtu.com>
38259
38260 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
38261 listing actual TODO items.
38262
38263 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38264
38265 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
38266 correctly.
38267 (grub_reiserfs_get_key_offset): Likewise.
38268 (grub_reiserfs_set_key_offset): Likewise.
38269 (grub_reiserfs_set_key_type): Likewise.
38270 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
38271
38272 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
38273 better to remove the bitfield version completely.
38274
38275 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38276
38277 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
38278 allocated from the heap, due to the fshelp implementation.
38279 (grub_reiserfs_dir): Free NODE, due to the same reason.
38280
38281 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38282
38283 Mostly from Vincent Pelletier:
38284
38285 * fs/reiserfs.c: New file.
38286
38287 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
38288 (reiserfs_mod_SOURCES): New variable.
38289 (reiserfs_mod_CFLAGS): Likewise.
38290 (reiserfs_mod_LDFLAGS): Likewise.
38291
38292 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
38293 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
38294 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
38295 normal/color.c.
38296
38297 2008-01-06 Robert Millan <rmh@aybabtu.com>
38298
38299 * normal/color.c: Remove `<grub/env.h>'.
38300
38301 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
38302
38303 * include/grub/normal.h: Include <grub/env.h>.
38304
38305 2008-01-05 Robert Millan <rmh@aybabtu.com>
38306
38307 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
38308 usage example with `(hd0,1)'.
38309 Reported by Samuel Thibault.
38310
38311 2008-01-05 Robert Millan <rmh@aybabtu.com>
38312
38313 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
38314 (grub_linux_boot_zimage): Rename to ...
38315 (grub_linux_boot): ... this.
38316 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
38317 (grub_linux_boot_zimage): Conditionalize zImage copy.
38318
38319 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
38320 (grub_linux_boot_bzimage): Remove prototype.
38321 (grub_linux_boot_zimage): Rename to ...
38322 (grub_linux_boot): ... this.
38323
38324 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
38325 (grub_linux_boot): Remove function.
38326
38327 2008-01-05 Robert Millan <rmh@aybabtu.com>
38328
38329 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
38330 (grub_env_write_color_highlight): Likewise.
38331 (grub_wait_after_message): Likewise.
38332
38333 * normal/color.c: New file.
38334
38335 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38336 (normal_mod_DEPENDENCIES): Likewise.
38337
38338 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38339 (normal_mod_DEPENDENCIES): Likewise.
38340
38341 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38342 (normal_mod_DEPENDENCIES): Likewise.
38343
38344 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38345 (normal_mod_DEPENDENCIES): Likewise.
38346
38347 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
38348 for waiting after a message is printed.
38349 * normal/main.c (read_config_file): Likewise.
38350 (grub_normal_init): Register grub_env_write_color_normal() and
38351 grub_env_write_color_highlight() hooks. Mark `color_normal' and
38352 `color_highlight' variables as global.
38353
38354 * normal/menu.c (grub_wait_after_message): New function.
38355 (grub_color_menu_normal): New variable. Replaces ...
38356 (GRUB_COLOR_MENU_NORMAL): ... this macro.
38357 (grub_color_menu_highlight): New variable. Replaces ...
38358 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
38359 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
38360 `GRUB_TERM_COLOR_STANDARD'.
38361 (print_message): Use `grub_setcolorstate' to reload colors. Rename
38362 `normal_code' and `highlight_code' to `old_color_normal' and
38363 `old_color_highlight', respectively.
38364 (grub_menu_init_page): Update colors when drawing the menu, based on
38365 `menu_color_normal' and `menu_color_highlight' variables.
38366 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
38367 a message is printed.
38368
38369 2008-01-05 Robert Millan <rmh@aybabtu.com>
38370
38371 * kern/env.c (grub_env_context_open): Propagate hooks for global
38372 variables to new context.
38373
38374 * kern/main.c (grub_set_root_dev): Export `root' variable.
38375
38376 2008-01-05 Robert Millan <rmh@aybabtu.com>
38377
38378 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
38379 discs unconditionally, since udev and others have options to provide
38380 them.
38381
38382 2008-01-05 Robert Millan <rmh@aybabtu.com>
38383
38384 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
38385
38386 2008-01-04 Christian Franke <franke@computer.org>
38387
38388 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
38389 of eisa_mmap.
38390
38391 2008-01-03 Pavel Roskin <proski@gnu.org>
38392
38393 * kern/i386/linuxbios/init.c: Put "void" to all function
38394 declarations with no arguments.
38395 * kern/powerpc/ieee1275/init.c: Likewise.
38396 * term/i386/pc/at_keyboard.c: Likewise.
38397 * term/i386/pc/vga_text.c: Likewise.
38398 * util/grub-mkdevicemap.c: Likewise.
38399
38400 2008-01-02 Robert Millan <rmh@aybabtu.com>
38401
38402 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
38403 message when loaded image is out of bounds.
38404 (grub_multiboot_load_elf64): Likewise.
38405
38406 2008-01-02 Pavel Roskin <proski@gnu.org>
38407
38408 * util/grub.d/10_linux.in: Try version without ".old" when
38409 looking for initrd. It's better to use initrd from the newer
38410 kernel of the same version than no initrd at all.
38411
38412 2008-01-01 Robert Millan <rmh@aybabtu.com>
38413
38414 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
38415
38416 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
38417
38418 * include/grub/video.h: Added grub_video_unmap_color and
38419 grub_video_get_active_render_target.
38420 (grub_video_adapter): Added unmap_color and get_active_render_target.
38421
38422 * video/video.c: Added grub_video_unmap_color and
38423 grub_video_get_active_render_target.
38424 (grub_video_get_info): Changed method to accept NULL pointer as an
38425 argument to allow detection of active video adapter.
38426
38427 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
38428 grub_video_vbe_unmap_color_int.
38429 Added grub_video_vbe_unmap_color and
38430 grub_video_vbe_get_active_render_target.
38431 (grub_video_vbe_adapter): Added unmap_color and
38432 get_active_render_target.
38433
38434 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
38435 with grub_video_vbe_unmap_color_int.
38436
38437 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
38438 (DEFAULT_NORMAL_COLOR): Likewise.
38439 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
38440 (DEFAULT_FG_COLOR): Removed.
38441 (DEFAULT_BG_COLOR): Likewise.
38442 (DEFAULT_CURSOR_COLOR): Changed value.
38443 (grub_virtual_screen): Added standard_color_setting,
38444 normal_color_setting, highlight_color_setting and term_color.
38445 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
38446 (bitmap_width): Added.
38447 (bitmap_height): Likewise.
38448 (bitmap): Likewise.
38449 (set_term_color): Likewise.
38450 (grub_virtual_screen_setup): Changed to use new terminal coloring
38451 settings.
38452 (grub_gfxterm_init): Added init for bitmap.
38453 (grub_gfxterm_fini): Added destroy for bitmap.
38454 (redraw_screen_rect): Updated to use background bitmap and new
38455 terminal coloring.
38456 (scroll_up): Added optimization for case when there is no bitmap.
38457 (grub_gfxterm_cls): Fixed to use correct background color.
38458 (grub_virtual_screen_setcolorstate): Changed to use new terminal
38459 coloring.
38460 (grub_virtual_screen_setcolor): Likewise.
38461 (grub_virtual_screen_getcolor): Added.
38462 (grub_gfxterm_background_image_cmd): Likewise.
38463 (grub_video_term): Added setcolor and getcolor.
38464 (MOD_INIT): Added registration of background_image command.
38465 (MOD_TERM): Added unregistration for background_image command.
38466
38467 2007-12-30 Pavel Roskin <proski@gnu.org>
38468
38469 * loader/multiboot_loader.c: Fix multiboot command
38470 unregistration. Fix all typos in the word "multiboot".
38471
38472 2007-12-29 Pavel Roskin <proski@gnu.org>
38473
38474 * util/grub.d/10_linux.in: Refactor search for initrd. Add
38475 support for initrd names used in Fedora.
38476
38477 2007-12-26 Bean <bean123ch@gmail.com>
38478
38479 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
38480 (cpio_mod_SOURCES): New variable.
38481 (cpio_mod_CFLAGS): Likewise.
38482 (cpio_mod_LDFLAGS): Likewise.
38483
38484 * fs/cpio.c: New file.
38485
38486 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
38487
38488 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38489
38490 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38491
38492 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38493
38494 2007-12-25 Robert Millan <rmh@aybabtu.com>
38495
38496 * include/grub/term.h (struct grub_term): Add `getcolor' function.
38497 (grub_getcolor): New function.
38498
38499 * kern/term.c (grub_getcolor): New function.
38500 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
38501 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
38502 (print_entry): Set normal and highlight colors to
38503 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
38504 respectively, before printing and restore them to old
38505 values afterwards.
38506 (grub_menu_init_page): Likewise. Fill an additional colored space
38507 that would otherwise be left blank.
38508
38509 * term/efi/console.c (grub_console_getcolor): New function.
38510 (struct grub_console_term.getcolor): New variable.
38511 * term/i386/pc/console.c (grub_console_getcolor): New function.
38512 (struct grub_console_term.getcolor): New variable.
38513 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
38514 (struct grub_console_term.getcolor): New variable.
38515
38516 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
38517 (struct grub_console_term.setcolor): Remove variable.
38518 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
38519 (struct grub_console_term.setcolor): Remove variable.
38520 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
38521 (struct grub_console_term.setcolor): Remove variable.
38522 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
38523 (struct grub_console_term.setcolor): Remove variable.
38524
38525 2007-12-25 Robert Millan <rmh@aybabtu.com>
38526
38527 * configure.ac: Search for possible unifont.hex locations, and
38528 define UNIFONT_HEX if found.
38529
38530 * Makefile.in (UNIFONT_HEX): Define variable.
38531 (DATA): Rename to ...
38532 (PKGLIB): ... this. Update all users.
38533 (PKGDATA): New variable.
38534 (pkgdata_IMAGES): Rename to ...
38535 (pkglib_IMAGES): ... this. Update all users.
38536 (pkgdata_MODULES): Rename to ...
38537 (pkglib_MODULES): ... this. Update all users.
38538 (pkgdata_PROGRAMS): Rename to ...
38539 (pkglib_PROGRAMS): ... this. Update all users.
38540 (pkgdata_DATA): Rename to ...
38541 (pkglib_DATA): ... this. Update all users.
38542 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
38543 (unicode.pff, ascii.pff): New rules.
38544 (all-local): Add `$(PKGDATA)' dependency.
38545 (install-local): Process `$(PKGDATA)'.
38546
38547 * util/update-grub_lib.in (font_path): Search for *.pff files in
38548 a few more locations, including `${pkgdata}'.
38549
38550 2007-12-23 Robert Millan <rmh@aybabtu.com>
38551
38552 Patch from Bean <bean123ch@gmail.com>:
38553 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
38554 `size'.
38555
38556 2007-12-21 Bean <bean123ch@gmail.com>
38557
38558 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
38559 (ntfscomp_mod_SOURCES): New variable.
38560 (ntfscomp_mod_CFLAGS): Likewise.
38561 (ntfscomp_mod_LDFLAGS): Likewise.
38562
38563 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
38564 (grub_probe_SOURCES): Likewise.
38565 (grub_emu_SOURCES): Likewise.
38566
38567 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38568 (grub_emu_SOURCES): Likewise.
38569
38570 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38571 (grub_emu_SOURCES): Likewise.
38572
38573 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38574 (grub_emu_SOURCES): Likewise.
38575
38576 * fs/ntfs.c (grub_ntfscomp_func): New variable.
38577 (read_run_list): Renamed to grub_ntfs_read_run_list.
38578 (decomp_nextvcn): Moved to ntfscomp.c.
38579 (decomp_getch): Likewise.
38580 (decomp_get16): Likewise.
38581 (decomp_block): Likewise.
38582 (read_block): Likewise.
38583 (read_data): Partially moved to ntfscomp.c.
38584 (fixup): Change unsigned to grub_uint16_t.
38585 (read_mft): Change unsigned long to grub_uint32_t.
38586 (read_attr): Likewise.
38587 (read_data): Likewise.
38588 (read_run_data): Likewise.
38589 (read_run_list): Likewise.
38590 (read_mft): Likewise.
38591
38592 * fs/ntfscomp.c: New file.
38593
38594 * include/grub/ntfs.h: New file.
38595
38596 2007-12-16 Robert Millan <rmh@aybabtu.com>
38597
38598 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
38599 IDE disk check, since Linux is known to support 20 IDE disks.
38600 Reported by Colin Watson.
38601
38602 2007-12-15 Bean <bean123ch@gmail.com>
38603
38604 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
38605 (lnxboot_img_SOURCES): New variable.
38606 (lnxboot_img_ASFLAGS): Likewise.
38607 (lnxboot_img_LDFLAGS): Likewise.
38608
38609 * boot/i386/pc/lnxboot.S: New file.
38610
38611 2007-11-24 Pavel Roskin <proski@gnu.org>
38612
38613 * configure.ac: Test if '--build-id=none' is supported by the
38614 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
38615 objcopy to generate incorrect binary files (binutils
38616 2.17.50.0.18-1 as shipped by Fedora 8).
38617 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
38618 linking, so that build ID doesn't break the test.
38619
38620 2007-11-24 Pavel Roskin <proski@gnu.org>
38621
38622 * include/grub/i386/time.h: use "void" in the argument list
38623 of grub_cpu_idle().
38624 * include/grub/powerpc/time.h: Likewise.
38625 * include/grub/sparc64/time.h: Likewise.
38626
38627 2007-11-18 Christian Franke <franke@computer.org>
38628
38629 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
38630 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
38631 This fixes the problem that function keys did not work in grub-emu.
38632
38633 2007-11-18 Christian Franke <franke@computer.org>
38634
38635 * disk/host.c (grub_host_open): Remove attribute unused from
38636 name parameter. Add check for "host". This fixes the problem
38637 that grub-emu does not find partitions.
38638
38639 2007-11-18 Christian Franke <franke@computer.org>
38640
38641 * util/hostfs.c (is_dir): New function.
38642 (grub_hostfs_dir): Handle missing dirent.d_type case.
38643 (grub_hostfs_read): Add missing fseek().
38644 (grub_hostfs_label): Clear label pointer. This fixes a crash
38645 of grub-emu on "ls (host)".
38646
38647 2007-11-18 Christian Franke <franke@computer.org>
38648
38649 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
38650 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
38651 to 64 bit boundary by default.
38652
38653 2007-11-18 Bean <bean123ch@gmail.com>
38654
38655 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
38656 (hexdump_mod_SOURCES): New variable.
38657 (hexdump_mod_CFLAGS): Likewise.
38658 (hexdump_mod_LDFLAGS): Likewise.
38659
38660 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38661
38662 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38663
38664 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38665
38666 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38667
38668 * include/grub/hexdump.h: New file.
38669
38670 * commands/hexdump.c: New file.
38671
38672 2007-11-10 Robert Millan <rmh@aybabtu.com>
38673
38674 * commands/i386/pc/play.c (beep_off): Switch order of arguments
38675 in grub_outb() calls.
38676 (beep_on): Likewise.
38677
38678 2007-11-10 Christian Franke <franke@computer.org>
38679
38680 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
38681 (grub_menu_run): Likewise.
38682
38683 2007-11-10 Robert Millan <rmh@aybabtu.com>
38684
38685 * include/grub/i386/efi/machine.h: New file.
38686 * include/grub/i386/linuxbios/machine.h: Likewise.
38687 * include/grub/i386/pc/machine.h: Likewise.
38688 * include/grub/powerpc/ieee1275/machine.h: Likewise.
38689 * include/grub/sparc64/ieee1275/machine.h: Likewise.
38690
38691 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
38692 (serial_hw_io_addr): New variable.
38693 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
38694 instead of `(unsigned short *) 0x400'.
38695
38696 2007-11-10 Bean <bean123ch@gmail.com>
38697
38698 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
38699
38700 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38701
38702 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
38703 (vga_mod_SOURCES): Added.
38704 (vga_mod_CFLAGS): Likewise.
38705 (vga_mod_LDFLAGS): Likewise.
38706
38707 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
38708 grub_outb() calls.
38709 (set_map_mask): Likewise.
38710 (set_read_map): Likewise.
38711 (set_read_address): Likewise.
38712 (vga_font): Removed variable.
38713 (get_vga_glyph): Removed function.
38714 (invalidate_char): Likewise.
38715 (write_char): Changed to use grub_font_get_glyph() for font
38716 information.
38717 (grub_vga_putchar): Likewise.
38718 (grub_vga_getcharwidth): Likewise.
38719
38720 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38721
38722 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
38723 flags.
38724 (pxeboot_img_LDFLAGS): Likewise.
38725 (diskboot_img_LDFLAGS): Likewise.
38726 (kernel_img_LDFLAGS): Likewise.
38727
38728 2007-11-06 Robert Millan <rmh@aybabtu.com>
38729
38730 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
38731 in grub_outb() calls.
38732 (serial_hw_init): Likewise.
38733
38734 2007-11-05 Robert Millan <rmh@aybabtu.com>
38735
38736 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
38737 spaces. Skip non-regular files.
38738
38739 2007-11-05 Robert Millan <rmh@aybabtu.com>
38740
38741 * kern/disk.c (grub_disk_firmware_fini)
38742 (grub_disk_firmware_is_tainted): New variables.
38743
38744 * include/grub/disk.h (grub_disk_firmware_fini)
38745 (grub_disk_firmware_is_tainted): Likewise.
38746
38747 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
38748 (grub_disk_biosdisk_fini): ... to here.
38749 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
38750 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
38751 is set. Register grub_disk_biosdisk_fini() in
38752 `grub_disk_firmware_fini'.
38753
38754 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
38755 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
38756 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
38757 to finish existing firmware disk interface.
38758
38759 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
38760 (ata_mod_SOURCES): New variable.
38761 (ata_mod_CFLAGS): Likewise.
38762 (ata_mod_LDFLAGS): Likewise.
38763
38764 2007-11-05 Robert Millan <rmh@aybabtu.com>
38765
38766 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
38767 (grub_ata_wait): Reimplement using grub_millisleep().
38768
38769 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
38770 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
38771
38772 2007-11-03 Marco Gerards <marco@gnu.org>
38773
38774 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
38775 (CRTC_ADDR_PORT): New macro.
38776 (CRTC_DATA_PORT): Likewise.
38777 (CRTC_CURSOR): Likewise.
38778 (CRTC_CURSOR_ADDR_HIGH): Likewise.
38779 (CRTC_CURSOR_ADDR_LOW): Likewise.
38780 (update_cursor): New function.
38781 (grub_console_real_putchar): Call `update_cursor'.
38782 (grub_console_gotoxy): Likewise.
38783 (grub_console_cls): Set the default color when clearing the
38784 screen.
38785 (grub_console_setcursor): Implemented.
38786
38787 2007-11-03 Marco Gerards <marco@gnu.org>
38788
38789 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
38790 become activate.
38791 (grub_ata_pio_write): Likewise.
38792
38793 (grub_atapi_identify): Wait after issuing an ATA command.
38794 (grub_atapi_packet): Likewise.
38795 (grub_ata_identify): Likewise.
38796 (grub_ata_readwrite): Likewise.
38797
38798 2007-11-03 Marco Gerards <marco@gnu.org>
38799
38800 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
38801 (grub_ata_pio_write): Likewise.
38802 (grub_ata_readwrite): Use `grub_error', instead of
38803 returning `grub_errno'.
38804
38805 2007-11-03 Marco Gerards <marco@gnu.org>
38806
38807 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
38808 grub_ata_pio_write once for every single sector, instead of for
38809 multiple sectors.
38810
38811 2007-10-31 Robert Millan <rmh@aybabtu.com>
38812
38813 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
38814
38815 * conf/i386-linuxbios.rmk: New file.
38816
38817 * kern/i386/pc/hardware.c: Likewise.
38818 * term/i386/pc/at_keyboard.c: Likewise.
38819 * term/i386/pc/vga_text.c: Likewise.
38820
38821 * include/grub/i386/linuxbios/boot.h: Likewise.
38822 * include/grub/i386/linuxbios/console.h: Likewise.
38823 * include/grub/i386/linuxbios/init.h: Likewise.
38824 * include/grub/i386/linuxbios/kernel.h: Likewise.
38825 * include/grub/i386/linuxbios/loader.h: Likewise.
38826 * include/grub/i386/linuxbios/memory.h: Likewise.
38827 * include/grub/i386/linuxbios/serial.h: Likewise.
38828 * include/grub/i386/linuxbios/time.h: Likewise.
38829
38830 * kern/i386/linuxbios/init.c: Likewise.
38831 * kern/i386/linuxbios/startup.S: Likewise.
38832 * kern/i386/linuxbios/table.c: Likewise.
38833
38834 2007-10-31 Marco Gerards <marco@gnu.org>
38835
38836 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
38837 (ata_mod_SOURCES): New variable.
38838 (ata_mod_CFLAGS): Likewise.
38839 (ata_mod_LDFLAGS): Likewise.
38840
38841 * disk/ata.c: New file.
38842
38843 * include/grub/disk.h (grub_disk_dev_id): Add
38844 `GRUB_DISK_DEV_ATA_ID'.
38845
38846 2007-10-31 Robert Millan <rmh@aybabtu.com>
38847
38848 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
38849 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
38850
38851 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
38852 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
38853
38854 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
38855 `<grub/types.h>'.
38856
38857 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
38858
38859 2007-10-27 Robert Millan <rmh@aybabtu.com>
38860
38861 * include/grub/types.h (ULONG_MAX): Define macro.
38862
38863 2007-10-22 Robert Millan <rmh@aybabtu.com>
38864
38865 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
38866 `"../realmode.S"'.
38867 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
38868
38869 2007-10-22 Robert Millan <rmh@aybabtu.com>
38870
38871 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
38872 (pkgdata_MODULES): Add `biosdisk.mod'.
38873 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
38874 variables.
38875
38876 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
38877 (grub_biosdisk_init): Replace with ...
38878 (GRUB_MOD_INIT(biosdisk)): ... this.
38879 (grub_biosdisk_fini): Replace with ...
38880 (GRUB_MOD_FINI(biosdisk)): ... this.
38881
38882 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
38883 (grub_machine_init): Remove call to grub_biosdisk_init().
38884 (grub_machine_fini): Remove call to grub_machine_fini().
38885
38886 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
38887
38888 2007-10-22 Robert Millan <rmh@aybabtu.com>
38889
38890 * include/grub/time.h: New file.
38891 * include/grub/i386/time.h: Likewise.
38892 * include/grub/powerpc/time.h: Likewise.
38893 * include/grub/sparc64/time.h: Likewise.
38894
38895 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
38896 instances to ...
38897 (KERNEL_MACHINE_TIME_HEADER): ... this.
38898 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
38899 instances to ...
38900 (KERNEL_MACHINE_TIME_HEADER): ... this.
38901 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
38902 instances to ...
38903 (KERNEL_MACHINE_TIME_HEADER): ... this.
38904
38905 * kern/i386/efi/init.c: Include `<grub/time.h>'.
38906 (grub_millisleep): New function.
38907 * kern/i386/pc/init.c: Include `<grub/time.h>'.
38908 (grub_millisleep): New function.
38909 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
38910 Remove `grub/machine/time.h' include.
38911 (grub_millisleep): New function.
38912 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
38913 Remove `grub/machine/time.h' include.
38914 (grub_millisleep): New function.
38915
38916 * include/grub/misc.h (grub_div_roundup): New function.
38917
38918 * kern/misc.c: Include `<grub/time.h>'.
38919 (grub_millisleep_generic): New function.
38920
38921 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
38922 Add `time.h'.
38923 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
38924 Add `time.h'.
38925 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
38926 `machine/time.h'. Add `time.h'.
38927 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
38928
38929 2007-10-21 Robert Millan <rmh@aybabtu.com>
38930
38931 * include/grub/misc.h (grub_max): New function.
38932
38933 2007-10-21 Robert Millan <rmh@aybabtu.com>
38934
38935 * util/misc.c (grub_util_info): Call fflush() before returning.
38936
38937 2007-10-20 Robert Millan <rmh@aybabtu.com>
38938
38939 * genmk.rb (Image): Copy `extra_flags' from here ...
38940 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
38941
38942 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
38943 to `argc' and `args' arguments.
38944
38945 2007-10-17 Robert Millan <rmh@aybabtu.com>
38946
38947 * kern/i386/loader.S: New file.
38948
38949 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
38950 * kern/i386/loader.S (grub_linux_prot_size)... to here.
38951 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
38952 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
38953 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
38954 * kern/i386/loader.S (grub_linux_real_addr)... to here.
38955 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
38956 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
38957 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
38958 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
38959 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
38960 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
38961 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
38962 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
38963
38964 * kern/i386/realmode.S: New file.
38965
38966 * kern/i386/pc/startup.S (protstack): Moved from here ...
38967 * kern/i386/realmode.S (protstack)... to here.
38968 * kern/i386/pc/startup.S (gdt): Moved from here ...
38969 * kern/i386/realmode.S (gdt)... to here.
38970 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
38971 * kern/i386/realmode.S (prot_to_real)... to here.
38972
38973 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
38974 `kern/i386/realmode.S'.
38975
38976 2007-10-17 Robert Millan <rmh@aybabtu.com>
38977
38978 * include/grub/i386/loader.h: New file.
38979
38980 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
38981 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
38982 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
38983 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
38984 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
38985 * include/grub/i386/loader.h (grub_linux_prot_size)
38986 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
38987 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
38988 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
38989 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
38990
38991 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
38992
38993 2007-10-15 Robert Millan <rmh@aybabtu.com>
38994
38995 * normal/misc.c (grub_normal_print_device_info): Do not probe for
38996 filesystem when dev->disk is unset.
38997 Do probe for filesystem even when dev->disk->has_partitions is set.
38998 In case a filesystem is found, always report it.
38999 In case it isn't, if dev->disk->has_partitions is set, report that
39000 a partition table was found instead of reporting that no filesystem
39001 could be identified.
39002
39003 2007-10-12 Robert Millan <rmh@aybabtu.com>
39004
39005 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
39006 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
39007
39008 * include/grub/types.h (grub_host_to_target16): New macro.
39009 (grub_host_to_target32): Likewise.
39010 (grub_host_to_target64): Likewise.
39011 (grub_target_to_host16): Likewise.
39012 (grub_target_to_host32): Likewise.
39013 (grub_target_to_host64): Likewise.
39014
39015 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
39016 Renamed from to ...
39017 (GRUB_MOD_ALIGN): ...this. Update all users.
39018
39019 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
39020 grub_host_to_target32.
39021 Replace grub_be_to_cpu32 with grub_target_to_host32.
39022 (load_modules): Likewise.
39023 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
39024 Replace grub_be_to_cpu32 with grub_target_to_host32.
39025 Replace grub_cpu_to_be16 with grub_host_to_target16.
39026 Replace grub_cpu_to_be32 grub_host_to_target32.
39027
39028 2007-10-12 Robert Millan <rmh@aybabtu.com>
39029
39030 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
39031 * util/elf/grub-mkimage.c: ... here.
39032
39033 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
39034 `util/powerpc/ieee1275/grub-mkimage.c'.
39035
39036 2007-10-07 Robert Millan <rmh@aybabtu.com>
39037
39038 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
39039 and make it easier to figure out.
39040 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
39041 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
39042 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
39043 leave us with less than HEAP_MIN_SIZE total heap.
39044 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
39045
39046 2007-10-03 Robert Millan <rmh@aybabtu.com>
39047
39048 * include/grub/i386/io.h: New file.
39049 * commands/i386/pc/play.c (inb): Removed.
39050 (outb): Removed.
39051 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39052 with grub_outb().
39053 * term/i386/pc/serial.c (inb): Removed.
39054 (outb): Removed.
39055 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39056 with grub_outb().
39057 * term/i386/pc/vga.c (inb): Removed.
39058 (outb): Removed.
39059 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39060 with grub_outb().
39061
39062 2007-10-02 Robert Millan <rmh@aybabtu.com>
39063
39064 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
39065 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39066 Reported by Marcin Kurek.
39067
39068 2007-09-07 Robert Millan <rmh@aybabtu.com>
39069
39070 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
39071 SmartFirmware version updates (as released by Sven Luther), and avoid
39072 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
39073 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
39074 known broken.
39075
39076 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39077
39078 From Hitoshi Ozeki:
39079 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
39080 when merging two regions.
39081
39082 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39083
39084 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
39085 * normal/completion.c (grub_normal_do_completion): Likewise.
39086 Reported by Hitoshi Ozeki.
39087
39088 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39089
39090 Do not use devices at boot in chainloading.
39091
39092 * loader/i386/pc/chainloader.c (boot_drive): New variable.
39093 (boot_part_addr): Likewise.
39094 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
39095 with BOOT_DRIVE and BOOT_PART_ADDR.
39096 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
39097 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
39098
39099 2007-08-29 Robert Millan <rmh@aybabtu.com>
39100
39101 Patch from Simon Peter <dn.tlp@gmx.net>:
39102 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
39103 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
39104 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
39105 util/i386/pc/grub-setup.c_DEPENDENCIES.
39106 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
39107 util/grub-probe.c_DEPENDENCIES.
39108 * conf/powerpc-ieee1275.rmk: Likewise.
39109
39110 2007-08-28 Robert Millan <rmh@aybabtu.com>
39111
39112 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
39113 to tell grub-mkdevicemap how to name devices.
39114 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
39115 feature).
39116
39117 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
39118 util/i386/get_disk_name.c.
39119 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
39120 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
39121 util/ieee1275/get_disk_name.c.
39122
39123 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
39124
39125 * DISTLIST: Add util/i386/get_disk_name.c and
39126 util/ieee1275/get_disk_name.c.
39127
39128 * util/grub-mkdevicemap.c: Replace device naming logic with
39129 grub_util_get_disk_name() calls.
39130
39131 2007-08-20 Robert Millan <rmh@aybabtu.com>
39132
39133 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
39134 (so that it works for both plural and singular quantities).
39135
39136 2007-08-05 Robert Millan <rmh@aybabtu.com>
39137
39138 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
39139 so that [xz] isn't taken into account when determining order.
39140
39141 2007-08-02 Marco Gerards <marco@gnu.org>
39142
39143 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
39144 `include/multiboot2.h', `include/grub/elfload.h',
39145 `include/multiboot.h', `include/grub/multiboot.h',
39146 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
39147 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
39148 `kern/elf.c', `loader/multiboot_loader.c',
39149 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
39150 `loader/i386/pc/multiboot2.c',
39151 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
39152 `util/i386/pc/grub-mkrescue.in'. Remove
39153 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
39154 `include/grub/i386/pc/util/biosdisk.h' and
39155 `include/grub/powerpc/ieee1275/multiboot.h'.
39156
39157 2007-08-02 Bean <bean123ch@gmail.com>
39158
39159 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
39160 (ntfs_mod_SOURCES): New variable.
39161 (ntfs_mod_CFLAGS): Likewise.
39162 (ntfs_mod_LDFLAGS): Likewise.
39163
39164 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
39165 (grub_probe_SOURCES): Likewise.
39166 (grub_emu_SOURCES): Likewise.
39167
39168 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39169 (grub_emu_SOURCES): Likewise.
39170
39171 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39172 (grub_emu_SOURCES): Likewise.
39173
39174 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
39175
39176 * fs/ntfs.c: New file.
39177
39178 2007-08-02 Bean <bean123ch@gmail.com>
39179
39180 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
39181
39182 * file.h (grub_file): Likewise.
39183
39184 * fshelp.h (grub_fshelp_read_file): Likewise.
39185
39186 * util/i386/pc/grub-setup.c (setup): Likewise.
39187 (save_first_sector): Likewise.
39188 (save_blocklists): Likewise.
39189
39190 * fs/affs.c (grub_affs_read_file): Likewise.
39191
39192 * fs/ext2.c (grub_ext2_read_file): Likewise.
39193
39194 * fs/fat.c (grub_fat_read_data): Likewise.
39195
39196 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
39197
39198 * fs/hfs.c (grub_hfs_read_file): Likewise.
39199
39200 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
39201
39202 * fs/jfs.c (grub_jfs_read_file): Likewise.
39203
39204 * fs/minix.c (grub_minix_read_file): Likewise.
39205
39206 * fs/sfs.c (grub_sfs_read_file): Likewise.
39207
39208 * fs/ufs.c (grub_ufs_read_file): Likewise.
39209
39210 * fs/xfs.c (grub_xfs_read_file): Likewise.
39211
39212 * command/blocklist.c (read_blocklist): Likewise.
39213 (print_blocklist): Likewise.
39214
39215 2007-08-02 Marco Gerards <marco@gnu.org>
39216
39217 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
39218 `util/hostfs.c'.
39219
39220 * disk/host.c: New file.
39221
39222 * util/hostfs.c: Likewise.
39223
39224 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
39225 return `GRUB_ERR_BAD_FS'.
39226 * fs/sfs.c (grub_sfs_mount): Likewise.
39227 * fs/xfs.c (grub_xfs_mount): Likewise.
39228
39229 * include/grub/disk.h (enum grub_disk_dev_id): Add
39230 `GRUB_DISK_DEVICE_HOST_ID'.
39231
39232 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
39233
39234 2007-07-24 Jerone Young <jerone@gmail.com>
39235
39236 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
39237 modules for compilation.
39238 * conf/powerpc-ieee1275.rmk: Likewise.
39239
39240 * include/multiboot.h: Move multiboot definitions to one file. Rename
39241 many definitions to not get grub specific.
39242 * include/multiboot2.h: Create header with multiboot 2 definitions.
39243 * include/grub/multiboot.h: Header for grub specific function
39244 prototypes and definitions.
39245 * include/grub/multiboot2.h: Likewise.
39246 * include/grub/multiboot_loader.h: Likewise.
39247 * include/grub/i386/pc/multiboot.h: Removed.
39248 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
39249
39250 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
39251 and 2 to allow for one multiboot and module commands.
39252 * loader/multiboot2.c: Add multiboot2 functionality.
39253 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
39254 and definition names.
39255 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
39256 2 functions.
39257 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
39258 ieee1275 specific multiboot2 code.
39259
39260 * kern/i386/pc/startup.S: Change headers and definition names for
39261 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
39262
39263 2007-07-22 Robert Millan <rmh@aybabtu.com>
39264
39265 * geninitheader.sh: Process file specified in first parameter rather
39266 than hardcoding grub_modules_init.lst.
39267 * geninit.sh: Likewise. Also, construct header name dynamically rather
39268 than hardcoding grub_modules_init.h.
39269
39270 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
39271 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
39272 grub_probe_init.[ch] and grub_setup_init.[ch].
39273
39274 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
39275 grub_modules_init.h with grub_emu_init.h.
39276 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
39277 grub_probe_init.[ch] files.
39278 * conf/i386-efi.rmk: Likewise.
39279 * conf/i386-pc.rmk: Likewise.
39280 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
39281 grub_setup_init.[ch] files.
39282
39283 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
39284 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
39285 to initialize modules rather than a list of hardcoded functions.
39286 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
39287 grub_init_all() to initialize modules rather than a list of hardcoded
39288 functions.
39289
39290 2007-07-22 Robert Millan <rmh@aybabtu.com>
39291
39292 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
39293 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
39294
39295 2007-07-22 Robert Millan <rmh@aybabtu.com>
39296
39297 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
39298 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
39299 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
39300 flag when running on SmartFirmware.
39301 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
39302 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
39303 was set.
39304
39305 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
39306 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
39307 rather than decreasing it.
39308
39309 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
39310 there's not enough space to do it, fail in the same way as when it
39311 can't be done because there are no partitions.
39312
39313 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
39314 when nvsetenv failed.
39315
39316 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39317
39318 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
39319 because this rule is automatically generated.
39320 (grub-mkrescue): Removed for the same reason as above.
39321
39322 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39323
39324 Migrate to GNU General Public License Version 3.
39325
39326 * COPYING: Replaced with the plain text version of GPLv3.
39327
39328 * config.guess: Updated from gnulib.
39329 * config.sub: Likewise.
39330
39331 * geninit.sh: Output a GPLv3 copyright notice.
39332 * geninitheader.sh: Likewise.
39333 * genmodsrc.sh: Likewise.
39334 * gensymlist.sh.in: Likewise.
39335
39336 * boot/i386/pc/boot.S: Upgraded to GPLv3.
39337 * boot/i386/pc/diskboot.S: Likewise.
39338 * boot/i386/pc/pxeboot.S: Likewise.
39339 * commands/blocklist.c: Likewise.
39340 * commands/boot.c: Likewise.
39341 * commands/cat.c: Likewise.
39342 * commands/cmp.c: Likewise.
39343 * commands/configfile.c: Likewise.
39344 * commands/echo.c: Likewise.
39345 * commands/help.c: Likewise.
39346 * commands/ls.c: Likewise.
39347 * commands/search.c: Likewise.
39348 * commands/terminal.c: Likewise.
39349 * commands/test.c: Likewise.
39350 * commands/videotest.c: Likewise.
39351 * commands/i386/cpuid.c: Likewise.
39352 * commands/i386/pc/halt.c: Likewise.
39353 * commands/i386/pc/play.c: Likewise.
39354 * commands/i386/pc/reboot.c: Likewise.
39355 * commands/i386/pc/vbeinfo.c: Likewise.
39356 * commands/i386/pc/vbetest.c: Likewise.
39357 * commands/ieee1275/halt.c: Likewise.
39358 * commands/ieee1275/reboot.c: Likewise.
39359 * commands/ieee1275/suspend.c: Likewise.
39360 * disk/loopback.c: Likewise.
39361 * disk/lvm.c: Likewise.
39362 * disk/raid.c: Likewise.
39363 * disk/efi/efidisk.c: Likewise.
39364 * disk/i386/pc/biosdisk.c: Likewise.
39365 * disk/ieee1275/ofdisk.c: Likewise.
39366 * font/manager.c: Likewise.
39367 * fs/affs.c: Likewise.
39368 * fs/ext2.c: Likewise.
39369 * fs/fat.c: Likewise.
39370 * fs/fshelp.c: Likewise.
39371 * fs/hfs.c: Likewise.
39372 * fs/hfsplus.c: Likewise.
39373 * fs/iso9660.c: Likewise.
39374 * fs/jfs.c: Likewise.
39375 * fs/minix.c: Likewise.
39376 * fs/sfs.c: Likewise.
39377 * fs/ufs.c: Likewise.
39378 * fs/xfs.c: Likewise.
39379 * hello/hello.c: Likewise.
39380 * include/grub/acorn_filecore.h: Likewise.
39381 * include/grub/arg.h: Likewise.
39382 * include/grub/bitmap.h: Likewise.
39383 * include/grub/boot.h: Likewise.
39384 * include/grub/cache.h: Likewise.
39385 * include/grub/device.h: Likewise.
39386 * include/grub/disk.h: Likewise.
39387 * include/grub/dl.h: Likewise.
39388 * include/grub/elfload.h: Likewise.
39389 * include/grub/env.h: Likewise.
39390 * include/grub/err.h: Likewise.
39391 * include/grub/file.h: Likewise.
39392 * include/grub/font.h: Likewise.
39393 * include/grub/fs.h: Likewise.
39394 * include/grub/fshelp.h: Likewise.
39395 * include/grub/gzio.h: Likewise.
39396 * include/grub/hfs.h: Likewise.
39397 * include/grub/kernel.h: Likewise.
39398 * include/grub/loader.h: Likewise.
39399 * include/grub/lvm.h: Likewise.
39400 * include/grub/misc.h: Likewise.
39401 * include/grub/mm.h: Likewise.
39402 * include/grub/net.h: Likewise.
39403 * include/grub/normal.h: Likewise.
39404 * include/grub/parser.h: Likewise.
39405 * include/grub/partition.h: Likewise.
39406 * include/grub/pc_partition.h: Likewise.
39407 * include/grub/raid.h: Likewise.
39408 * include/grub/rescue.h: Likewise.
39409 * include/grub/script.h: Likewise.
39410 * include/grub/setjmp.h: Likewise.
39411 * include/grub/symbol.h: Likewise.
39412 * include/grub/term.h: Likewise.
39413 * include/grub/terminfo.h: Likewise.
39414 * include/grub/tparm.h: Likewise.
39415 * include/grub/types.h: Likewise.
39416 * include/grub/video.h: Likewise.
39417 * include/grub/efi/api.h: Likewise.
39418 * include/grub/efi/chainloader.h: Likewise.
39419 * include/grub/efi/console.h: Likewise.
39420 * include/grub/efi/console_control.h: Likewise.
39421 * include/grub/efi/disk.h: Likewise.
39422 * include/grub/efi/efi.h: Likewise.
39423 * include/grub/efi/pe32.h: Likewise.
39424 * include/grub/efi/time.h: Likewise.
39425 * include/grub/i386/linux.h: Likewise.
39426 * include/grub/i386/setjmp.h: Likewise.
39427 * include/grub/i386/types.h: Likewise.
39428 * include/grub/i386/efi/kernel.h: Likewise.
39429 * include/grub/i386/efi/loader.h: Likewise.
39430 * include/grub/i386/efi/time.h: Likewise.
39431 * include/grub/i386/pc/biosdisk.h: Likewise.
39432 * include/grub/i386/pc/boot.h: Likewise.
39433 * include/grub/i386/pc/chainloader.h: Likewise.
39434 * include/grub/i386/pc/console.h: Likewise.
39435 * include/grub/i386/pc/init.h: Likewise.
39436 * include/grub/i386/pc/kernel.h: Likewise.
39437 * include/grub/i386/pc/loader.h: Likewise.
39438 * include/grub/i386/pc/memory.h: Likewise.
39439 * include/grub/i386/pc/multiboot.h: Likewise.
39440 * include/grub/i386/pc/serial.h: Likewise.
39441 * include/grub/i386/pc/time.h: Likewise.
39442 * include/grub/i386/pc/vbe.h: Likewise.
39443 * include/grub/i386/pc/vbeblit.h: Likewise.
39444 * include/grub/i386/pc/vbefill.h: Likewise.
39445 * include/grub/i386/pc/vbeutil.h: Likewise.
39446 * include/grub/i386/pc/vga.h: Likewise.
39447 * include/grub/ieee1275/ieee1275.h: Likewise.
39448 * include/grub/ieee1275/ofdisk.h: Likewise.
39449 * include/grub/powerpc/libgcc.h: Likewise.
39450 * include/grub/powerpc/setjmp.h: Likewise.
39451 * include/grub/powerpc/types.h: Likewise.
39452 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
39453 * include/grub/powerpc/ieee1275/console.h: Likewise.
39454 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
39455 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
39456 * include/grub/powerpc/ieee1275/loader.h: Likewise.
39457 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
39458 * include/grub/powerpc/ieee1275/time.h: Likewise.
39459 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
39460 * include/grub/sparc64/libgcc.h: Likewise.
39461 * include/grub/sparc64/setjmp.h: Likewise.
39462 * include/grub/sparc64/types.h: Likewise.
39463 * include/grub/sparc64/ieee1275/console.h: Likewise.
39464 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
39465 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
39466 * include/grub/sparc64/ieee1275/time.h: Likewise.
39467 * include/grub/util/biosdisk.h: Likewise.
39468 * include/grub/util/getroot.h: Likewise.
39469 * include/grub/util/lvm.h: Likewise.
39470 * include/grub/util/misc.h: Likewise.
39471 * include/grub/util/raid.h: Likewise.
39472 * include/grub/util/resolve.h: Likewise.
39473 * io/gzio.c: Likewise.
39474 * kern/device.c: Likewise.
39475 * kern/disk.c: Likewise.
39476 * kern/dl.c: Likewise.
39477 * kern/elf.c: Likewise.
39478 * kern/env.c: Likewise.
39479 * kern/err.c: Likewise.
39480 * kern/file.c: Likewise.
39481 * kern/fs.c: Likewise.
39482 * kern/loader.c: Likewise.
39483 * kern/main.c: Likewise.
39484 * kern/misc.c: Likewise.
39485 * kern/mm.c: Likewise.
39486 * kern/parser.c: Likewise.
39487 * kern/partition.c: Likewise.
39488 * kern/rescue.c: Likewise.
39489 * kern/term.c: Likewise.
39490 * kern/efi/efi.c: Likewise.
39491 * kern/efi/init.c: Likewise.
39492 * kern/efi/mm.c: Likewise.
39493 * kern/i386/dl.c: Likewise.
39494 * kern/i386/efi/init.c: Likewise.
39495 * kern/i386/efi/startup.S: Likewise.
39496 * kern/i386/pc/init.c: Likewise.
39497 * kern/i386/pc/lzo1x.S: Likewise.
39498 * kern/i386/pc/startup.S: Likewise.
39499 * kern/ieee1275/ieee1275.c: Likewise.
39500 * kern/powerpc/cache.S: Likewise.
39501 * kern/powerpc/dl.c: Likewise.
39502 * kern/powerpc/ieee1275/cmain.c: Likewise.
39503 * kern/powerpc/ieee1275/crt0.S: Likewise.
39504 * kern/powerpc/ieee1275/init.c: Likewise.
39505 * kern/powerpc/ieee1275/openfw.c: Likewise.
39506 * kern/sparc64/cache.S: Likewise.
39507 * kern/sparc64/dl.c: Likewise.
39508 * kern/sparc64/ieee1275/init.c: Likewise.
39509 * kern/sparc64/ieee1275/openfw.c: Likewise.
39510 * loader/efi/chainloader.c: Likewise.
39511 * loader/efi/chainloader_normal.c: Likewise.
39512 * loader/i386/efi/linux.c: Likewise.
39513 * loader/i386/efi/linux_normal.c: Likewise.
39514 * loader/i386/pc/chainloader.c: Likewise.
39515 * loader/i386/pc/chainloader_normal.c: Likewise.
39516 * loader/i386/pc/linux.c: Likewise.
39517 * loader/i386/pc/linux_normal.c: Likewise.
39518 * loader/i386/pc/multiboot.c: Likewise.
39519 * loader/i386/pc/multiboot_normal.c: Likewise.
39520 * loader/powerpc/ieee1275/linux.c: Likewise.
39521 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39522 * normal/arg.c: Likewise.
39523 * normal/cmdline.c: Likewise.
39524 * normal/command.c: Likewise.
39525 * normal/completion.c: Likewise.
39526 * normal/execute.c: Likewise.
39527 * normal/function.c: Likewise.
39528 * normal/lexer.c: Likewise.
39529 * normal/main.c: Likewise.
39530 * normal/menu.c: Likewise.
39531 * normal/menu_entry.c: Likewise.
39532 * normal/misc.c: Likewise.
39533 * normal/parser.y: Likewise.
39534 * normal/script.c: Likewise.
39535 * normal/i386/setjmp.S: Likewise.
39536 * normal/powerpc/setjmp.S: Likewise.
39537 * normal/sparc64/setjmp.S: Likewise.
39538 * partmap/acorn.c: Likewise.
39539 * partmap/amiga.c: Likewise.
39540 * partmap/apple.c: Likewise.
39541 * partmap/gpt.c: Likewise.
39542 * partmap/pc.c: Likewise.
39543 * partmap/sun.c: Likewise.
39544 * term/gfxterm.c: Likewise.
39545 * term/terminfo.c: Likewise.
39546 * term/efi/console.c: Likewise.
39547 * term/i386/pc/console.c: Likewise.
39548 * term/i386/pc/serial.c: Likewise.
39549 * term/i386/pc/vesafb.c: Likewise.
39550 * term/i386/pc/vga.c: Likewise.
39551 * term/ieee1275/ofconsole.c: Likewise.
39552 * util/biosdisk.c: Likewise.
39553 * util/console.c: Likewise.
39554 * util/genmoddep.c: Likewise.
39555 * util/getroot.c: Likewise.
39556 * util/grub-emu.c: Likewise.
39557 * util/grub-mkdevicemap.c: Likewise.
39558 * util/grub-probe.c: Likewise.
39559 * util/lvm.c: Likewise.
39560 * util/misc.c: Likewise.
39561 * util/raid.c: Likewise.
39562 * util/resolve.c: Likewise.
39563 * util/update-grub.in: Likewise.
39564 * util/update-grub_lib.in: Likewise.
39565 * util/grub.d/00_header.in: Likewise.
39566 * util/grub.d/10_hurd.in: Likewise.
39567 * util/grub.d/10_linux.in: Likewise.
39568 * util/i386/efi/grub-install.in: Likewise.
39569 * util/i386/efi/grub-mkimage.c: Likewise.
39570 * util/i386/pc/grub-install.in: Likewise.
39571 * util/i386/pc/grub-mkimage.c: Likewise.
39572 * util/i386/pc/grub-mkrescue.in: Likewise.
39573 * util/i386/pc/grub-setup.c: Likewise.
39574 * util/i386/pc/misc.c: Likewise.
39575 * util/powerpc/ieee1275/grub-install.in: Likewise.
39576 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
39577 * util/powerpc/ieee1275/misc.c: Likewise.
39578 * video/bitmap.c: Likewise.
39579 * video/video.c: Likewise.
39580 * video/i386/pc/vbe.c: Likewise.
39581 * video/i386/pc/vbeblit.c: Likewise.
39582 * video/i386/pc/vbefill.c: Likewise.
39583 * video/i386/pc/vbeutil.c: Likewise.
39584 * video/readers/tga.c: Likewise.
39585
39586 2007-07-02 Robert Millan <rmh@aybabtu.com>
39587
39588 * conf/i386-efi.rmk: Replace obsolete reference to
39589 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
39590 with util/getroot.c.
39591 * conf/powerpc-ieee1275.rmk: Likewise.
39592 * conf/sparc64-ieee1275.rmk: Likewise.
39593
39594 * util/grub-emu.c (main): Fix unchecked pointer handling.
39595
39596 2007-07-02 Robert Millan <rmh@aybabtu.com>
39597
39598 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
39599 invocation to fail, in order to support partition-less media.
39600
39601 * util/i386/pc/grub-install.in: Likewise.
39602
39603 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
39604 which fs or partmap modules are needed (akin to its sister scripts).
39605
39606 Also use grub-probe to get rid of unportable /proc/mounts check.
39607
39608 Print the same informational message that the other scripts do, before
39609 exiting.
39610
39611 2007-06-23 Robert Millan <rmh@aybabtu.com>
39612
39613 * util/update-grub_lib.in (font_path): New function. Determine whether
39614 a font file can be found and, if so, echo the GRUB path to it.
39615
39616 * util/update-grub.in: Handle multiple terminals depending on user
39617 input, platform availability and font file presence. Propagate
39618 variables of our findings to /etc/grub.d/ children.
39619
39620 * util/grub.d/00_header.in: Handle multiple terminals, based on
39621 environment setup by update-grub.
39622
39623 2007-06-23 Robert Millan <rmh@aybabtu.com>
39624
39625 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
39626
39627 2007-06-21 Robert Millan <rmh@aybabtu.com>
39628
39629 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
39630 indicate end of data section in kernel image.
39631 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
39632 GRUB_KERNEL_MACHINE_DATA_END.
39633
39634 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
39635 space for it.
39636 * kern/i386/efi/startup.S: Likewise.
39637
39638 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
39639 during image generation. Implement --prefix option to override this
39640 patch.
39641 * util/i386/efi/grub-mkimage.c: Likewise.
39642
39643 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
39644 code to make path relative to its root into a separate function.
39645
39646 * util/i386/pc/grub-install.in: Use newly provided
39647 make_system_path_relative_to_its_root() to convert ${grubdir}, then
39648 pass the result to grub-install --prefix.
39649
39650 2007-06-13 Robert Millan <rmh@aybabtu.com>
39651
39652 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
39653 DEFAULT_DEVICE_MAP.
39654 * util/grub-emu.c: Use above definitions from misc.h instead of
39655 defining them.
39656 * util/grub-mkdevicemap.c: Likewise.
39657 * util/i386/pc/grub-setup.c: Likewise.
39658 * util/grub-probe.c: Likewise.
39659 (probe): Abort with grub_util_error() when either
39660 grub_guess_root_device or grub_util_get_grub_dev fails.
39661
39662 2007-06-12 Robert Millan <rmh@aybabtu.com>
39663
39664 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
39665 "pager" assignment.
39666 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
39667 "pcdata".
39668 * util/grub-probe.c (probe): Likewise for "drive_name".
39669
39670 2007-06-11 Robert Millan <rmh@aybabtu.com>
39671
39672 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
39673 not just the cdrom one.
39674
39675 2007-06-11 Robert Millan <rmh@aybabtu.com>
39676
39677 * util/i386/pc/grub-mkrescue.in: Add "set -e".
39678 Add --pkglibdir=DIR option to override pkglibdir.
39679 Mention --image-type=TYPE in help output.
39680 Fix --grub-mkimage (it was a no-op).
39681 Abort gracefully when no parameter is given.
39682
39683 2007-06-11 Robert Millan <rmh@aybabtu.com>
39684
39685 * util/i386/pc/grub-mkrescue.in: New file.
39686 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
39687 * Makefile.in: Handle bin_SCRIPTS.
39688
39689 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
39690
39691 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
39692 list of video modes.
39693
39694 2007-06-06 Robert Millan <rmh@aybabtu.com>
39695
39696 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
39697 file doesn't exist, or if it is in a filesystem grub can't read.
39698
39699 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
39700 not abort if GRUB_DRIVE could not be defined. Rearrange generated
39701 header comment to fit in 80 columns when the variables are resolved.
39702
39703 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
39704 could be identified by update-grub. Remove redundant check for
39705 unifont.pff existence (since convert_system_path_to_grub_path now
39706 handles that).
39707
39708 2007-06-04 Robert Millan <rmh@aybabtu.com>
39709
39710 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
39711
39712 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
39713
39714 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
39715
39716 2007-06-04 Robert Millan <rmh@aybabtu.com>
39717
39718 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
39719
39720 * include/grub/partition.h: Declare grub_apple_partition_map_init and
39721 grub_apple_partition_map_fini.
39722
39723 * util/biosdisk.c
39724 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
39725 to access >2 TiB disks).
39726
39727 Print disk->total_sectors with %llu instead of %lu, since this
39728 variable is always 64-bit (prevents wrong disk size from being displayed
39729 on either >2 TiB disk or big-endian CPU).
39730
39731 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
39732 into a generic case that supports all (sane) partition maps.
39733
39734 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
39735 breaks big-endian.
39736
39737 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
39738 and grub_apple_partition_map_fini() after that.
39739
39740 2007-06-01 Robert Millan <rmh@aybabtu.com>
39741
39742 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
39743
39744 * util/grub.d/00_header.in: Only enable gfxterm when
39745 convert_system_path_to_grub_path() succeeds.
39746
39747 2007-05-20 Robert Millan <rmh@aybabtu.com>
39748
39749 * util/update-grub_lib.in: New file.
39750 * DISTLIST: Add update-grub_lib.in.
39751 * conf/common.rmk: Generate update-grub_lib and install it in
39752 $(lib_DATA).
39753 * Makefile.in: Add install routine for $(lib_DATA).
39754
39755 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
39756 function provided by update-grub_lib to support arbitrary paths of
39757 unifont.pff.
39758 * util/update-grub.in: Use convert_system_path_to_grub_path() to
39759 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
39760
39761 2007-05-19 Robert Millan <rmh@aybabtu.com>
39762
39763 * commands/i386/cpuid.c: New module.
39764 * DISTLIST: Add it.
39765 * conf/i386-efi.rmk: Enable cpuid.mod.
39766 * conf/i386-pc.rmk: Likewise.
39767
39768 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39769
39770 * kern/disk.c (grub_disk_read): Check return value of
39771 grub_realloc().
39772
39773 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39774
39775 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
39776 arrays.
39777 * disk/raid.c (grub_raid_open): Likewise.
39778
39779 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39780
39781 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
39782 stack instead of on the heap.
39783
39784 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
39785 before doing a read on it.
39786
39787 * configure.ac: Only use -fno-stack-protector for the target
39788 environment.
39789
39790 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39791
39792 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
39793 __attribute_ ((unused)) to mode_type argument.
39794
39795 * util/getroot.c (grub_guess_root_device): Fix #endif.
39796
39797 * kern/misc.c (memcmp): Fix prototype.
39798
39799 * include/grub/partition.h [GRUB_UTIL]
39800 (grub_gpt_partition_map_init): Add prototype.
39801 (grub_gpt_partition_map_fini): Likewise.
39802
39803 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
39804 at the right place.
39805
39806 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
39807 (grub_fat_read_data): Likewise.
39808 (grub_fat_find_dir): Likewise.
39809
39810 * font/manager.c (find_glyph): Make table a const.
39811 (grub_font_get_glyph): Remove bitmap from if statement.
39812
39813 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
39814
39815 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
39816 code, first search for device in /dev/mapper, then in /dev.
39817 (grub_util_get_grub_dev): New function.
39818 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
39819 prototype.
39820 * util/grub-probe.c (probe): Remove check for RAID, call
39821 grub_util_get_grub_dev() instead of
39822 grub_util_biosdisk_get_grub_dev().
39823 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
39824 grub_util_biosdisk_get_grub_dev().
39825 * util/i386/pc/grub-setup.c (main): Likewise.
39826
39827 2007-05-16 Robert Millan <rmh@aybabtu.com>
39828
39829 * DISTLIST: Update for the latest changes.
39830 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
39831 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
39832 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
39833 grub/util/biosdisk.h.
39834 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
39835 grub/util/biosdisk.h.
39836
39837 2007-05-16 Robert Millan <rmh@aybabtu.com>
39838
39839 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
39840
39841 2007-05-16 Robert Millan <rmh@aybabtu.com>
39842
39843 * util/i386/efi/grub-install.in: New.
39844 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
39845 newly added grub-install.
39846 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
39847 include.
39848 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
39849 grub/util/biosdisk.h.
39850 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
39851 grub/util/biosdisk.h.
39852
39853 2007-05-16 Robert Millan <rmh@aybabtu.com>
39854
39855 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
39856 * include/grub/util/biosdisk.h: ... here.
39857 * util/i386/pc/biosdisk.c: Moved to ...
39858 * util/biosdisk.c: ... here.
39859 * util/i386/pc/getroot.c: Moved to ...
39860 * util/getroot.c: ... here.
39861 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
39862 * util/grub-mkdevicemap.c: ... here.
39863 * util/i386/pc/grub-probe.c: Moved to ...
39864 * util/grub-probe.c: ... here.
39865
39866 2007-05-15 Robert Millan <rmh@aybabtu.com>
39867
39868 * util/update-grub.in: Remove duplicated line in grub.cfg header
39869 message.
39870
39871 2007-05-13 Robert Millan <rmh@aybabtu.com>
39872
39873 * util/update-grub.in: Fix a few assumptions about the devices holding
39874 /, /boot and /boot/grub being the same.
39875 * util/grub.d/00_header.in: Likewise.
39876 * util/grub.d/10_hurd.in: Likewise.
39877 * util/grub.d/10_linux.in: Likewise.
39878
39879 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
39880 patterns. Use that to define the `.old' suffix as older than `'.
39881
39882 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
39883
39884 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
39885 the grub.cfg header message.
39886
39887 2007-05-11 Robert Millan <rmh@aybabtu.com>
39888
39889 * util/update-grub.in: Create device.map if it doesn't already exist,
39890 before attempting to run grub-probe.
39891 Check for grub-probe and grub-mkdevicemap with the same code
39892 grub-install is using.
39893 Remove test mode.
39894
39895 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
39896
39897 * Makefile.in: Add the datarootdir autoconf variable.
39898
39899 2007-05-09 Robert Millan <rmh@aybabtu.com>
39900
39901 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
39902 fail gracefully if dev->disk->partition == NULL.
39903
39904 2007-05-07 Robert Millan <rmh@aybabtu.com>
39905
39906 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
39907 determine partition map module.
39908 * util/i386/pc/grub-install.in: Use this feature to decide which
39909 partition module to load, instead of hardcoding pc and gpt.
39910
39911 2007-05-07 Robert Millan <rmh@aybabtu.com>
39912
39913 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
39914 source directory differs from build directory.
39915
39916 2007-05-05 Robert Millan <rmh@aybabtu.com>
39917
39918 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
39919 initialisation.
39920
39921 2007-05-05 Robert Millan <rmh@aybabtu.com>
39922
39923 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
39924
39925 2007-05-05 Robert Millan <rmh@aybabtu.com>
39926
39927 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
39928 command-line arguments via ${GRUB_CMDLINE_LINUX}.
39929
39930 2007-05-05 Robert Millan <rmh@aybabtu.com>
39931
39932 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
39933 (grub_probe_SOURCES): Likewise.
39934 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
39935 GPT and initialize dos_part and bsd_part accordingly.
39936 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
39937 install_bsd_part.
39938 (main): Activate gpt module for use during partition identification,
39939 and deactivate it afterwards.
39940 * util/i386/pc/grub-install.in: Add gpt module to core.img.
39941 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
39942 partition identification, and deactivate it afterwards.
39943
39944 2007-05-05 Robert Millan <rmh@aybabtu.com>
39945
39946 * term/i386/pc/console.c (grub_console_fini): Call
39947 grub_term_set_current() before grub_term_unregister().
39948
39949 2007-05-04 Robert Millan <rmh@aybabtu.com>
39950
39951 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
39952 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
39953 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
39954 and update-grub_DATA.
39955 * conf/common.rmk: Build and install update-grub components.
39956 * conf/common.mk: Regenerate.
39957 * util/update-grub.in: New. Core of update-grub.
39958 * util/grub.d/00_header.in: New. Generates grub.cfg header.
39959 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
39960 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
39961 * util/grub.d/README: New. Document grub.d directory layout.
39962
39963 2007-05-01 Robert Millan <rmh@aybabtu.com>
39964
39965 * util/grub-emu.c: Move initialization functions
39966 grub_util_biosdisk_init() and grub_init_all() before
39967 grub_util_biosdisk_get_grub_dev(), which relies on them.
39968
39969 2007-04-19 Robert Millan <rmh@aybabtu.com>
39970
39971 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
39972 it is used later.
39973
39974 2007-04-18 Jerone Young <jerone@gmail.com>
39975
39976 * kernel/elf.c: Add missing parenthesis for conditional statement
39977 stanza.
39978
39979 2007-04-10 Jerone Young <jerone@gmail.com>
39980
39981 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
39982 continue on and look for device node with real device name.
39983
39984 2007-04-10 Jerone Young <jerone@gmail.com>
39985
39986 * configure.ac: Add argument for autoconf to use transformation
39987 ability.
39988 * Makefile.in: Add autoconf package transformation code.
39989 * util/i386/pc/grub-install.in: Likewise.
39990 * util/powerpc/ieee1275/grub-install.in: Likewise.
39991
39992 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
39993
39994 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
39995 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
39996 (EXT2_REVISION): Likewise.
39997 (EXT2_INODE_SIZE): Likewise.
39998 (struct grub_ext2_block_group): Added a missing member
39999 "used_dirs".
40000 (grub_ext2_read_inode): Divide by the inode size in a superblock
40001 instead of 128 to obtain INODES_PER_BLOCK.
40002 Use the macro EXT2_INODE_SIZE instead of directly using
40003 SBLOCK->INODE_SIZE.
40004
40005 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
40006
40007 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
40008 superblock instead of the structure size to compute an
40009 offset. This fixes the problem that GRUB could not read a
40010 filesystem when inode size is different from 128-byte.
40011
40012 2007-03-05 Marco Gerards <marco@gnu.org>
40013
40014 * normal/main.c (read_config_file): When "menu" is not set, create
40015 an initial context.
40016
40017 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40018
40019 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
40020 (HEAP_LIMIT): New macro.
40021 (grub_claim_heap): Claim memory up to `heaplimit'.
40022
40023 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40024
40025 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
40026 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
40027 (_start): Likewise.
40028 (grub_arch_modules_addr): Return address after `_end'.
40029 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
40030 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
40031 (add_segments): Calculate `_end' from phdr size and location.
40032 (ALIGN_UP): Moved to ...
40033 * include/grub/misc.h: here.
40034 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
40035 New macro.
40036 (GRUB_IEEE1275_MODULE_BASE): Removed.
40037
40038 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40039
40040 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
40041 loop boundary.
40042
40043 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40044
40045 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
40046 All users updated.
40047 (grub_elf64_load_hook_t): Likewise.
40048 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
40049 debug output.
40050
40051 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40052
40053 * kern/mm.c: Update copyright.
40054 (grub_mm_debug): Correct syntax error.
40055 (grub_mm_dump_free): New function.
40056 (grub_debug_free): Call `grub_free'.
40057 * include/grub/mm.h: Update copyright.
40058 (grub_mm_dump_free): Add declaration.
40059
40060 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40061
40062 * include/grub/ieee1275/ieee1275.h: Update copyright.
40063 * kern/powerpc/ieee1275/init.c: Likewise.
40064 * kern/powerpc/ieee1275/openfw.c: Likewise.
40065
40066 * loader/powerpc/ieee1275/linux.c: Likewise.
40067 * include/grub/elfload.h: Likewise.
40068 * kern/elf.c: Likewise.
40069 (grub_elf32_load): Pass `base' and `size' parameters. Update all
40070 callers.
40071 (grub_elf64_load): Likewise.
40072 (grub_elf32_load_segment): Move to a nested function.
40073 (grub_elf64_load_segment): Likewise.
40074
40075 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40076
40077 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
40078 prototype.
40079 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
40080 (grub_heap_len): Likewise.
40081 (HEAP_SIZE): New macro.
40082 (grub_claim_heap): New function.
40083 (grub_machine_init): Don't claim heap directly. Call
40084 `grub_claim_heap'.
40085 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
40086 (grub_available_iterate): New function.
40087
40088 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
40089
40090 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
40091 * configure.ac: Use it for testing the HOST and TARGET compilers.
40092
40093 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
40094
40095 * Makefile.in (enable_grub_emu): New variable.
40096 * configure.ac (--enable-grub-emu): New option.
40097 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
40098 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
40099 * conf/i386-pc.rmk: Likewise.
40100 * conf/powerpc-ieee1275.rmk: Likewise.
40101 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
40102
40103 2006-12-12 Marco Gerards <marco@gnu.org>
40104
40105 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
40106
40107 * kern/env.c (grub_env_unset): Don't free the member `value' when
40108 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
40109 pointer.
40110
40111 * normal/main.c (current_menu): Removed.
40112 (free_menu): Unset the `menu' environment variable.
40113 (grub_normal_menu_addentry): Make use of the environment variable
40114 `menu', instead of using the global `current_menu'. Allocate
40115 memory for the sourcecode of this entry.
40116 (read_config_file): New argument `nested', changed all callers.
40117 Only in the case of a new context, initialize a new menu. Set the
40118 `menu' environment variable.
40119 (grub_normal_execute): Don't set and unset the environment
40120 variable `menu' here anymore. Only free the menu when leaving the
40121 context.
40122
40123 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
40124 leak.
40125
40126 2006-12-11 Marco Gerards <marco@gnu.org>
40127
40128 * normal/menu_entry.c (run): Fix off by one bug so the last line
40129 is executed. Move the loader check to outside the loop.
40130
40131 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
40132
40133 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
40134
40135 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
40136
40137 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
40138 the number of sectors. Reported by Andrey Shuvikov
40139 <mr_hyro@yahoo.com>.
40140
40141 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
40142
40143 * kern/disk.c (grub_disk_read): When there is a read error, always
40144 try to read only the necessary data.
40145
40146 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
40147 disk/raid.c.
40148 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
40149 prototype.
40150 [GRUB_UTIL] (grub_raid_fini): Likewise.
40151 [GRUB_UTIL] (grub_lvm_init): Likewise.
40152 [GRUB_UTIL] (grub_lvm_fini): Likewise.
40153 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
40154 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
40155 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
40156 and grub_raid_fini().
40157
40158 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40159
40160 * include/grub/types.h (__unused): Rename to UNUSED.
40161 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
40162 (grub_elf64_size): Likewise.
40163
40164 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40165
40166 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
40167 grub_error_push and grub_error_pop in the error-handling path.
40168 (grub_elf32_load_segment): Only call grub_file_read with non-zero
40169 length.
40170
40171 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40172
40173 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
40174 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40175 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40176 (kernel_elf_SOURCES): Likewise.
40177 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
40178 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
40179 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40180 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40181 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
40182 (elf_mod_SOURCES): New variable.
40183 (elf_mod_CFLAGS): Likewise.
40184 (elf_mod_LDFLAGS): Likewise.
40185 * include/grub/types.h (__unused): New macro.
40186 * include/grub/elfload.h: New file.
40187 * kern/elf.c: Likewise.
40188 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
40189 (ELF32_LOADMASK): New macro.
40190 (ELF64_LOADMASK): Likewise.
40191 (vmlinux): Removed.
40192 (grub_linux_load32): New function.
40193 (grub_linux_load64): Likewise.
40194 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
40195 Use grub_elf_t instead of grub_file_t.
40196
40197 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
40198
40199 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
40200 `catch_result' to struct set_color_args.
40201
40202 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40203
40204 * normal/menu.c: Include grub/script.h.
40205 * normal/menu_entry.c: Likewise.
40206 * include/grub/normal.h: Do not include grub/script.h.
40207
40208 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40209
40210 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
40211
40212 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40213
40214 * kern/disk.c (grub_disk_open): Print debug messages when opening a
40215 disk.
40216 (grub_disk_close): Print debug messages when closing a disk.
40217 (grub_disk_read): Print debug messages when disk read fails.
40218 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
40219 filesystem type.
40220 * kern/partition.c: Include misc.h.
40221 (grub_partition_iterate): Print debug messages when detecting
40222 partition type.
40223
40224 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40225
40226 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
40227 is negative.
40228 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
40229
40230 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
40231
40232 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
40233 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
40234
40235 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
40236
40237 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
40238 instead of sizeof(lv). Patch by Michael Guntsche.
40239
40240 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
40241
40242 * disk/lvm.c: Rename VGS to VG_LIST.
40243 (grub_lvm_iterate): Change VGS->LV to VG-LV.
40244 (grub_lvm_open): Likewise.
40245 Thanks to Michael Guntsche for finding this bug.
40246
40247 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40248
40249 * configure.ac (AC_INIT): Bumped to 1.95.
40250
40251 2006-10-14 Robert Millan <rmh@aybabtu.com>
40252
40253 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
40254 with "/dev/.static/dev/md".
40255
40256 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40257
40258 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
40259 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
40260 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
40261 DRIVE_NAME are always freed.
40262
40263 * util/i386/pc/biosdisk.c (make_device_name): Add one into
40264 DOS_PART, as a DOS partition is counted from one instead of zero
40265 now. Reported by Robert Millan.
40266
40267 2006-10-14 Robert Millan <rmh@aybabtu.com>
40268
40269 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
40270 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
40271 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
40272 string returned by grub_guess_root_device.
40273 * util/i386/pc/grub-setup.c: Likewise.
40274 * util/i386/pc/grub-probefs.c: Likewise.
40275
40276 * util/i386/pc/grub-probefs.c: Rename to ...
40277 * util/i386/pc/grub-probe.c: ... this.
40278 * DISTLIST: Remove grub-probefs, add grub-probe.
40279 * conf/i386-efi.rmk: Likewise.
40280 * conf/i386-pc.rmk: Likewise.
40281 * util/i386/pc/grub-install.in: Likewise.
40282
40283 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
40284 choose which information we want to print.
40285
40286 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40287
40288 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
40289 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
40290 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
40291 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
40292 video/readers/tga.c and video/i386/pc/vbeutil.c.
40293
40294 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
40295
40296 Added support for RAID and LVM.
40297
40298 * disk/lvm.c: New file.
40299 * disk/raid.c: Likewise.
40300 * include/grub/lvm.h: Likewise.
40301 * include/grub/raid.h: Likewise.
40302 * include/grub/util/lvm.h: Likewise.
40303 * include/grub/util/raid.h: Likewise.
40304 * util/lvm.c: Likewise.
40305 * util/raid.c: Likewise.
40306
40307 * include/grub/disk.h (grub_disk_dev_id): Add
40308 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
40309 (grub_disk_get_size): New prototype.
40310 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
40311 returns a partition.
40312 (grub_disk_get_size): New function.
40313
40314 * kern/i386/pc/init.c (make_install_device): Copy the prefix
40315 verbatim if grub_install_dos_part is -2.
40316
40317 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
40318 and LVM devices.
40319
40320 * util/i386/pc/grub-setup.c (setup): New argument
40321 MUST_EMBED. Force embedding of GRUB when the argument is
40322 true. Close FILE before returning.
40323 (main): Add support for RAID and LVM.
40324
40325 * conf/common.rmk: Add RAID and LVM modules.
40326 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
40327 util/lvm.c.
40328 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
40329
40330 * kern/misc.c (grub_strstr): New function.
40331 * include/grub/misc.h (grub_strstr): New prototype.
40332
40333 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
40334
40335 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
40336
40337 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
40338
40339 * kern/misc.c (grub_strtoull): Guess the base only if not
40340 specified.
40341
40342 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
40343
40344 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
40345 PowerMac support.
40346
40347 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
40348
40349 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
40350
40351 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
40352 Remove `flags' argument. All callers changed.
40353 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
40354 (IEEE1275_IHANDLE_INVALID): New variable.
40355 (IEEE1275_CELL_INVALID): New variable.
40356 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
40357 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
40358 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
40359 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
40360 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
40361 codes from Open Firmware. All callers updated.
40362 (grub_ieee1275_next_property): Directly return Open Firmware return
40363 code.
40364 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
40365 Standardize error checking from `grub_ieee1275_get_property'.
40366 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
40367 `devalias' to `aliases'. Correct comments. Consolidate error paths.
40368
40369 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
40370
40371 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
40372 `instance_to_package_args' to `instance_to_path_args'.
40373
40374 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
40375 `grub_ieee1275_chosen'.
40376
40377 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
40378 `grub_ieee1275_interpret'.
40379
40380 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
40381
40382 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
40383
40384 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
40385
40386 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
40387 (__cmpdi): Likewise.
40388
40389 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
40390 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
40391 `grub_ssize_t'.
40392
40393 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
40394
40395 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
40396 to type `grub_ssize_t'.
40397 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
40398
40399 2006-09-22 Marco Gerards <marco@gnu.org>
40400
40401 * normal/script.c (grub_script_create_cmdmenu): Skip leading
40402 newlines.
40403
40404 2006-09-22 Marco Gerards <marco@gnu.org>
40405
40406 * commands/echo.c: New file.
40407
40408 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
40409
40410 * conf/common.rmk (echo_mod_SOURCES): New variable.
40411 (echo_mod_CFLAGS): Likewise.
40412 (echo_mod_LDFLAGS): Likewise.
40413
40414 2006-09-22 Marco Gerards <marco@gnu.org>
40415
40416 * normal/main.c (get_line): Malloc memory instead of using
40417 preallocated memory. Removed the arguments `cmdline' and
40418 `max_len'. Updated all callers.
40419
40420 2006-09-22 Marco Gerards <marco@gnu.org>
40421
40422 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
40423 (normal_mod_DEPENDENCIES): Likewise.
40424
40425 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
40426 (normal_mod_DEPENDENCIES): Likewise.
40427
40428 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
40429
40430 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
40431
40432 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
40433 programs.
40434 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
40435 (normal_mod_DEPENDENCIES): Likewise.
40436 * conf/i386-pc.mk: Regenerate.
40437 * conf/i386-efi.mk: Likewise
40438 * conf/common.mk: Likewise.
40439 * conf/powerpc-ieee1275.mk: Likewise.
40440 * conf/sparc64-ieee1275.mk: Likewise.
40441
40442 2006-09-22 Robert Millan <rmh@aybabtu.com>
40443
40444 Sync with i386 version.
40445 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
40446 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
40447
40448 2006-09-21 Robert Millan <rmh@aybabtu.com>
40449
40450 Import from GRUB Legacy (lib/device.c):
40451 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
40452 (init_device_map) [__linux__]: Add support for I2O devices.
40453
40454 2006-09-14 Marco Gerards <marco@gnu.org>
40455
40456 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
40457 `-melf_i386'.
40458
40459 2006-09-14 Robert Millan <rmh@aybabtu.com>
40460
40461 * util/i386/pc/grub-install.in: Skip menu.lst when removing
40462 /boot/grub/*.lst.
40463
40464 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
40465
40466 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
40467 before adding it to device.map.
40468
40469 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
40470
40471 * genmk.rb: Let GCC generate dependencies the first time it
40472 compiles a file; using the -MD option.
40473 * conf/common.mk: Regenerate.
40474 * conf/i386-pc.mk: Likewise.
40475 * conf/i386-efi.mk: Likewise.
40476 * conf/powerpc-ieee1275.mk: Likewise.
40477 * conf/sparc64-ieee1275.mk: Likewise.
40478
40479 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
40480
40481 Move the prototypes of grub_setjmp and grub_longjmp to
40482 cpu/setjmp.h, so that each architecture may specify different
40483 attributes.
40484
40485 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
40486 (grub_longjmp): Likewise.
40487 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
40488 (grub_longjmp): Likewise.
40489 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
40490 (grub_longjmp): Likewise.
40491
40492 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
40493 [!GRUB_UTIL] (grub_longjmp): Removed.
40494
40495 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
40496
40497 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
40498 "color!" method does not return any value.
40499
40500 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40501
40502 * include/grub/bitmap.h: New file.
40503
40504 * include/grub/i386/pc/vbeutil.h: Likewise.
40505
40506 * video/bitmap.c: Likewise.
40507
40508 * video/readers/tga.c: Likewise.
40509
40510 * video/i386/pc/vbeutil.c: Likewise.
40511
40512 * commands/videotest.c: Code cleanup and updated to reflect to new
40513 video API.
40514
40515 * term/gfxterm.c: Likewise.
40516
40517 * video/video.c: Likewise.
40518
40519 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
40520 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
40521 (bitmap_mod_SOURCES): New entry.
40522 (bitmap_mod_CFLAGS): Likewise.
40523 (bitmap_mod_LDFLAGS): Likewise.
40524 (tga_mod_SOURCES): Likewise.
40525 (tga_mod_CFLAGS): Likewise.
40526 (tga_mod_LDFLAGS): Likewise.
40527
40528 * include/grub/video.h (grub_video_blit_operators): New enum type.
40529 (grub_video_render_target): Changed as forward declaration and moved
40530 actual definition to be video driver specific.
40531 (grub_video_adapter.blit_bitmap): Added blitting operator.
40532 (grub_video_adapter.blit_render_target): Likewise.
40533 (grub_video_blit_bitmap): Likewise.
40534 (grub_video_blit_render_target): Likewise.
40535
40536 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
40537 driver specific render target definition.
40538 (grub_video_vbe_map_rgba): Added driver internal helper.
40539 (grub_video_vbe_unmap_color): Updated to use
40540 grub_video_i386_vbeblit_info.
40541 (grub_video_vbe_get_video_ptr): Likewise.
40542
40543 * include/grub/i386/pc/vbeblit.h
40544 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
40545 grub_video_i386_vbeblit_info.
40546 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40547 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40548 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40549 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40550 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40551 (grub_video_i386_vbeblit_index_index): Likewise.
40552 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
40553 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40554 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40555 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
40556 operator.
40557 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
40558 operator.
40559
40560 * video/i386/pc/vbeblit.c: Updated to reflect changes on
40561 include/grub/i386/pc/vbeblit.h.
40562
40563 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
40564 Updated to use grub_video_i386_vbeblit_info.
40565 (grub_video_i386_vbefill_R8G8B8): Likewise.
40566 (grub_video_i386_vbefill_index): Likewise.
40567 (grub_video_i386_vbefill): Added generic filler.
40568
40569 * video/i386/pc/vbefill.c: Updated to reflect changes on
40570 include/grub/i386/pc/vbefill.h.
40571
40572 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
40573 grub_video_i386_vbeblit_info.
40574 (grub_video_vbe_unmap_color): Likewise.
40575 (grub_video_vbe_blit_glyph): Likewise.
40576 (grub_video_vbe_scroll): Likewise.
40577 (grub_video_vbe_draw_pixel): Removed function.
40578 (grub_video_vbe_get_pixel): Likewise.
40579 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
40580 updated code to use it.
40581 (common_blitter): Added common blitter for render target and bitmap.
40582 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
40583 (grub_video_vbe_blit_render_target): Likewise.
40584
40585 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
40586
40587 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
40588 is in text mode if there is no console control protocol instance
40589 available.
40590
40591 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40592
40593 * include/grub/video.h: Code cleanup.
40594
40595 * include/grub/i386/pc/vbe.h: Likewise.
40596
40597 * video/i386/pc/vbe.c: Likewise.
40598
40599 * video/i386/pc/vbeblit.c: Likewise.
40600
40601 * video/i386/pc/vbefill.c: Likewise.
40602
40603 * video/video.c: Likewise. Also added more comments.
40604
40605 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40606
40607 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
40608 (struct grub_biosdisk_dap): Likewise.
40609
40610 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
40611 linkage settings for all functions.
40612
40613 2006-07-12 Marco Gerards <marco@gnu.org>
40614
40615 * configure.ac (--enable-mm-debug): Fix typo.
40616
40617 * genkernsyms.sh.in: Use proper quoting for `CC'.
40618
40619 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
40620
40621 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
40622 (normal_mod_ASFLAGS): Remove "-m32".
40623
40624 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
40625
40626 * util/misc.c: Include config.h.
40627 [!HAVE_MEMALIGN]: Do not include malloc.h.
40628 (grub_memalign): Use posix_memalign, if present. Then, use
40629 memalign, if present. Otherwise, emit an error.
40630
40631 * util/grub-emu.c: Do not include malloc.h.
40632
40633 * include/grub/util/misc.h: Include unistd.h. This is required for
40634 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
40635 D. Eades III <hde@foobar-qux.org>.
40636
40637 * configure.ac (AC_GNU_SOURCE): Added.
40638 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
40639 type.
40640
40641 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
40642
40643 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
40644 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
40645
40646 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
40647
40648 * include/grub/types.h (grub_host_addr_t): Rename to
40649 grub_target_addr_t.
40650 (grub_host_off_t): Rename to grub_target_off_t.
40651 (grub_host_size_t): Rename to grub_target_size_t.
40652 (grub_host_ssize_t): Rename to grub_target_ssize_t.
40653 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
40654
40655 * include/grub/kernel.h (struct grub_module_header): Change type
40656 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
40657 (grub_module_info): Likewise.
40658
40659 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40660
40661 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
40662 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
40663 Velazquez <jesus.velazquez@gmail.com>.
40664
40665 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40666
40667 Count partitions from 1 instead of 0 in the string representation
40668 of partitions. Still use 0-based internally.
40669
40670 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
40671 (sun_partition_map_iterate): Use grub_partition_t instead of
40672 struct grub_partition *. Cast DESC->START_CYLINDER to
40673 grub_uint64_t after converting the endian.
40674 (sun_partition_map_probe): Subtract 1 for PARTNUM.
40675 (sun_partition_map_get_name): Add 1 to P->INDEX.
40676
40677 * partmap/pc.c (grub_partition_parse): Subtract 1 for
40678 PCDATA->DOS_PART.
40679 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
40680
40681 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
40682 zero instead of one.
40683 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
40684 (gpt_partition_map_get_name): Add 1 into P->INDEX.
40685
40686 * partmap/apple.c (apple_partition_map_iterate): Change the type
40687 of POS to unsigned.
40688 (apple_partition_map_probe): Subtract 1 for PARTNUM.
40689 (apple_partition_map_get_name): Add 1 into P->INDEX.
40690
40691 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
40692 of POS to unsigned.
40693 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
40694 calculate the offset of a partition.
40695 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
40696 (amiga_partition_map_get_name): Add 1 into P->INDEX.
40697
40698 * partmap/acorn.c (acorn_partition_map_find): Change the type of
40699 SECTOR to grub_disk_addr_t.
40700 (acorn_partition_map_iterate): Likewise.
40701 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
40702 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
40703 top.
40704 (acorn_partition_map_get_name): Add 1 into P->INDEX.
40705
40706 * kern/i386/pc/init.c (make_install_device): Add 1 into
40707 GRUB_INSTALL_DOS_PART.
40708
40709 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
40710 conditional.
40711
40712 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
40713
40714 Clean up the code to support 64-bit addressing in disks and
40715 files. This change is not enough for filesystems yet.
40716
40717 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
40718 type of "start" to grub_uint64_t.
40719 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
40720 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
40721 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
40722 convert addresses.
40723
40724 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
40725 to grub_disk_addr_t.
40726
40727 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
40728 string.
40729
40730 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40731
40732 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
40733 to char *.
40734
40735 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
40736
40737 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
40738
40739 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
40740
40741 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
40742 to grub_off_t, to detect an error from grub_file_seek.
40743 (grub_multiboot_load_elf32): Likewise.
40744
40745 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
40746 maximum unsigned long value when an overflow is detected.
40747 (grub_strtoull): New function.
40748 (grub_divmod64): Likewise.
40749 (grub_lltoa): use grub_divmod64.
40750
40751 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
40752 grub_disk_addr_t.
40753 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
40754 the pointer to next character. Use grub_strtoull instead of
40755 grub_strtoul.
40756 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
40757 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
40758 respectively.
40759
40760 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
40761 return value is signed.
40762 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
40763 test if OFFSET is less than zero, as OFFSET is unsigned now.
40764
40765 * kern/disk.c (struct grub_disk_cache): Change the type of
40766 "sector" to grub_disk_addr_t.
40767 (grub_disk_cache_get_index): Change the type of SECTOR to
40768 grub_disk_addr_t. Calculate the hash with SECTOR casted to
40769 unsigned after shifting.
40770 (grub_disk_cache_invalidate): Change the type of SECTOR to
40771 grub_disk_addr_t.
40772 (grub_disk_cache_unlock): Likewise.
40773 (grub_disk_cache_store): Likewise.
40774 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
40775 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
40776 grub_disk_addr_t and grub_uint64_t, respectively.
40777 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
40778 body, as the value of OFFSET is tweaked by
40779 grub_disk_check_range. Change the types of START_SECTOR, LEN and
40780 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
40781 respectively.
40782 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
40783 body, as the value of OFFSET is tweaked by
40784 grub_disk_check_range. Change the types of LEN and N to
40785 grub_size_t.
40786
40787 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
40788 and "saved_offset" to grub_off_t.
40789 (test_header): Cast BUF to char *.
40790 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
40791 to char *.
40792 (grub_gzio_read): Change the types of OFFSET and SIZE to
40793 grub_off_t and grub_size_t, respectively.
40794
40795 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
40796 Removed.
40797 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
40798 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
40799 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
40800 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
40801 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
40802
40803 * include/grub/types.h (grub_off_t): Unconditionally set to
40804 grub_uint64_t.
40805 (grub_disk_addr_t): Changed to grub_uint64_t.
40806
40807 * include/grub/partition.h (struct grub_partition): Change the
40808 types of "start", "len" and "offset" to grub_disk_addr_t,
40809 grub_uint64_t and grub_disk_addr_t, respectively.
40810 (grub_partition_get_start): Return grub_disk_addr_t.
40811 (grub_partition_get_len): Return grub_uint64_t.
40812
40813 * include/grub/misc.h (grub_strtoull): New prototype.
40814 (grub_divmod64): Likewise.
40815
40816 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
40817 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
40818 grub_off_t, respectively.
40819 All callers and references changed.
40820
40821 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
40822 grub_size_t in "read".
40823 All callers and references changed.
40824
40825 * include/grub/file.h (struct grub_file): Change the types of
40826 "offset" and "size" to grub_off_t and grub_off_t,
40827 respectively. Change the type of SECTOR to grub_disk_addr_t in
40828 "read_hook".
40829 (grub_file_read): Change the type of LEN to grub_size_t.
40830 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
40831 grub_off_t.
40832 (grub_file_size): Return grub_off_t.
40833 (grub_file_tell): Likewise.
40834 All callers and references changed.
40835
40836 * include/grub/disk.h (struct grub_disk_dev): Change the types of
40837 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
40838 "write".
40839 (struct grub_disk): Change the type of "total_sectors" to
40840 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
40841 "read_hook".
40842 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
40843 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
40844 (grub_disk_write): Likewise.
40845 All callers and references changed.
40846
40847 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
40848 char * for grub_strncmp to silence gcc.
40849 (grub_iso9660_mount): Likewise.
40850 (grub_iso9660_mount): Likewise.
40851 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
40852 return statement.
40853 (grub_iso9660_iterate_dir): Likewise.
40854 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
40855
40856 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
40857 LEN to grub_disk_addr_t and grub_size_t, respectively.
40858
40859 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
40860
40861 * fs/jfs.c (grub_jfs_read_file): Likewise.
40862
40863 * fs/minix.c (grub_jfs_read_file): Likewise.
40864
40865 * fs/sfs.c (grub_jfs_read_file): Likewise.
40866
40867 * fs/ufs.c (grub_jfs_read_file): Likewise.
40868
40869 * fs/xfs.c (grub_jfs_read_file): Likewise.
40870
40871 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
40872 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
40873 respectively.
40874
40875 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
40876 BLKNR to -1 instead of returning GRUB_ERRNO.
40877 (grub_ext2_read_file): Change the types of SECTOR and
40878 LEN to grub_disk_addr_t and grub_size_t, respectively.
40879
40880 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
40881 LEN to grub_disk_addr_t and grub_size_t, respectively.
40882
40883 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
40884 grub_file_read.
40885
40886 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
40887 string. Do not cast SECTOR explicitly.
40888
40889 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
40890 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
40891 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
40892 grub_disk_addr_t and grub_size_t, respectively. If the sector is
40893 over 2TB and LBA mode is not supported, raise an error.
40894 (get_safe_sectors): New function.
40895 (grub_biosdisk_read): Use get_safe_sectors.
40896 (grub_biosdisk_write): Likewise.
40897
40898 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
40899 (grub_efidisk_write): Likewise.
40900
40901 * disk/loopback.c (delete_loopback): Cosmetic changes.
40902 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
40903 correctly.
40904 (grub_loopback_open): Likewise.
40905 (grub_loopback_read): Likewise. Also, change the type of POS to
40906 grub_off_t, and fix the usage of grub_memset.
40907
40908 * commands/i386/pc/play.c: Include grub/machine/time.h.
40909
40910 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
40911 print FILE->SIZE.
40912
40913 * commands/configfile.c: Include grub/env.h.
40914
40915 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
40916 GRUB_ERRNO directly instead. Change the type of POS to
40917 grub_off_t. Follow the coding standard.
40918
40919 * commands/blocklist.c: Include grub/partition.h.
40920 (grub_cmd_blocklist): Return an error if the underlying device is
40921 not a disk. Take the starting sector of a partition into account,
40922 if a partition is used.
40923
40924 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
40925 a length field.
40926 (lba_mode): Support 64-bit addresses.
40927 (chs_mode): Likewise.
40928 (copy_buffer): Adapted to the new offsets of a length field and a
40929 segment field.
40930 (blocklist_default_start): Allocate 64-bit space.
40931
40932 * boot/i386/pc/boot.S (force_lba): Removed.
40933 (boot_drive): Moved to under KERNEL_SECTOR.
40934 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
40935 space.
40936 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
40937 is useless.
40938 (lba_mode): Refactored to support a 64-bit address. More size
40939 optimization.
40940 (setup_sectors): Likewise.
40941
40942 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
40943
40944 * DISTLIST: Added include/grub/i386/linux.h. Removed
40945 include/grub/i386/pc/linux.h
40946
40947 * configure.ac (AC_INIT): Bumped to 1.94.
40948
40949 * config.guess: Updated from gnulib.
40950 * config.sub: Likewise.
40951 * install-sh: Likewise.
40952 * mkinstalldirs: Likewise.
40953
40954 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
40955
40956 * conf/common.rmk (grub_modules_init.lst): Depended on
40957 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
40958 MODSRCFILES.
40959
40960 * genmk.rb (PModule::rule): Reverted the previous change.
40961
40962 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
40963
40964 * conf/common.rmk (grub_modules_init.lst): Depends on
40965 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
40966 that the target does not exist before producing.
40967 (grub_modules_init.h): Remove the target before generating.
40968 (grub_emu_init.c): Likewise.
40969
40970 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
40971
40972 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
40973
40974 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
40975 for the target-specific tests. Make sure that we also have the
40976 up-to-date target variables for those tests.
40977
40978 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
40979
40980 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
40981 (PModule::rule): Likewise.
40982
40983 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
40984
40985 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
40986 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
40987 target-specific flags should be prefixed.
40988 (PModule::rule): Likewise.
40989
40990 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
40991
40992 * configure.ac (CMP): Check if cmp is available explicitly.
40993
40994 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
40995
40996 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
40997 (target_cpu): New variable.
40998 (pkglibdir): Use target_cpu instead of host_cpu.
40999
41000 * util/i386/pc/grub-install.in (host_cpu): Removed.
41001 (target_cpu): New variable.
41002 (pkglibdir): Use target_cpu instead of host_cpu.
41003
41004 * util/genmoddep.c: Removed.
41005
41006 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
41007 instead of GRUB_HOST_SIZEOF_VOID_P.
41008 * kern/dl.c: Likewise.
41009
41010 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
41011 ...
41012 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41013 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41014 (GRUB_TARGET_SIZEOF_LONG): ... this.
41015 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41016 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41017 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41018 to ...
41019 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41020 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41021 (GRUB_TARGET_SIZEOF_LONG): ... this.
41022 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41023 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41024 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41025 to ...
41026 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41027 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41028 (GRUB_TARGET_SIZEOF_LONG): ... this.
41029 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41030 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41031
41032 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
41033 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
41034 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
41035 instead of GRUB_HOST_SIZEOF_LONG.
41036 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
41037 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
41038 GRUB_CPU_WORDS_BIGENDIAN.
41039 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
41040 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
41041 grub_host_ssize_t.
41042
41043 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
41044 (genmoddep_SOURCES): Likewise.
41045 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
41046 (genmoddep_SOURCES): Likewise.
41047 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
41048 (genmoddep_SOURCES): Likewise.
41049 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
41050 Likewise.
41051 (genmoddep_SOURCES): Likewise.
41052
41053 * genmoddep.awk: New file.
41054
41055 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
41056 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
41057 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
41058 (PModule::rule): Likewise.
41059 (Program::rule): Likewise.
41060 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
41061 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
41062 respectively.
41063
41064 * configure.ac: Rewritten intensively to use host and target
41065 instead of build and host, respectively.
41066
41067 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
41068 (host_cpu): Removed.
41069 (target_cpu): New variable.
41070 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
41071 (BUILD_CC): Removed.
41072 (BUILD_CFLAGS): Likewise.
41073 (BUILD_CPPFLAGS): Likewise.
41074 (TARGET_CC): New variable.
41075 (TARGET_CFLAGS): Likewise.
41076 (TARGET_CPPFLAGS): Likewise.
41077 (TARGET_LDFLAGS): Likewise.
41078 (AWK): Likewise.
41079 (include): Use target_cpu instead of host_cpu.
41080 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
41081
41082 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
41083
41084 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
41085
41086 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
41087 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
41088 field 'false' to 'exec_on_false'.
41089 (grub_script_create_cmdif): Renamed argument names to reflect above
41090 changes.
41091
41092 * normal/execute.c (grub_script_execute_cmdif): Likewise.
41093
41094 * normal/script.c (grub_script_create_cmdif): Likewise.
41095
41096 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
41097
41098 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
41099 top.
41100 (grub_hfsplus_btree_recptr): Likewise.
41101 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
41102 FILEBLOCK both to pass a block number and store next block
41103 number.
41104 (grub_hfsplus_read_block): Rewritten heavily to support an extent
41105 overflow file correctly. Specify errors appropriately, because
41106 fshelp expects that GRUB_ERRNO is set when fails. Reuse
41107 grub_hfsplus_btree_recptr to get the pointer to a found key.
41108 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
41109 is found.
41110
41111 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
41112 linux.mod.
41113 (_linux_mod_SOURCES): New variable.
41114 (_linux_mod_CFLAGS): Likewise.
41115 (_linux_mod_LDFLAGS): Likewise.
41116 (linux_mod_SOURCES): Likewise.
41117 (linux_mod_CFLAGS): Likewise.
41118 (linux_mod_LDFLAGS): Likewise.
41119
41120 * DISTLIST: Added loader/i386/efi/linux.c,
41121 loader/i386/efi/linux_normal.c and
41122 include/grub/i386/efi/loader.h.
41123
41124 * loader/i386/efi/linux.c: New file.
41125 * loader/i386/efi/linux_normal.c: Likewise.
41126 * include/grub/i386/efi/loader.h: Likewise.
41127
41128 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
41129
41130 * commands/blocklist.c: New file.
41131
41132 * DISTLIST: Added commands/blocklist.c.
41133
41134 * term/efi/console.c (grub_console_highlight_color): Use a lighter
41135 color for the background, and a darker color for the foreground.
41136 (grub_console_checkkey): Return READ_KEY.
41137 (grub_console_cls): Set the background to
41138 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
41139
41140 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
41141
41142 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
41143 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
41144
41145 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
41146 prototype.
41147
41148 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
41149 BG. The spec is wrong again.
41150
41151 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
41152 prototype.
41153 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
41154
41155 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41156 commands/blocklist.c.
41157 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
41158
41159 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
41160 (blocklist_mod_SOURCES): New variable.
41161 (blocklist_mod_CFLAGS): Likewise.
41162 (blocklist_mod_LDFLAGS): Likewise.
41163
41164 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
41165
41166 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
41167 duplication.
41168 (lba_mode): Use %eax more intensively to reduce the code size.
41169
41170 2006-05-20 Marco Gerards <marco@gnu.org>
41171
41172 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
41173
41174 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
41175 for `menuentry'.
41176 (script): Accept leading newlines.
41177 (newlines): New rule to describe 0 or more newlines.
41178 (commands): Accept `command' with trailing newline. Fixed the
41179 order in which arguments were passed to `grub_script_add_cmd'.
41180 Accept commands separated by newlines.
41181 (function): Changed to accept newlines.
41182 (menuentry) Rewritten.
41183
41184 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
41185 front of the list, instead of to the end.
41186
41187 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
41188
41189 * util/i386/pc/grub-install.in (bindir): New variable.
41190 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
41191 Shaver <lbgwjl@gmail.com>.
41192
41193 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
41194
41195 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
41196 grub/machine/linux.h
41197 * loader/i386/pc/linux.c: Likewise.
41198
41199 * include/grub/i386/pc/linux.h: Moved to ...
41200 * include/grub/i386/linux.h: ... here.
41201
41202 * include/grub/i386/linux.h (struct linux_kernel_params): New
41203 struct.
41204
41205 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
41206
41207 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
41208 checking.
41209 (grub_video_vbe_blit_glyph): Likewise.
41210 (grub_video_vbe_blit_bitmap): Likewise.
41211 (grub_video_vbe_blit_render_target): Likewise.
41212
41213 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
41214
41215 * configure.ac (--with-platform): Properly quote the square
41216 brackets.
41217
41218 2006-05-08 Marco Gerards <marco@gnu.org>
41219
41220 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
41221 this...
41222 (kernel_elf_HEADERS): ...to this. Updated all users.
41223 (grubof_symlist.c): Renamed from this...
41224 (kernel_elf_symlist.c): ...to this. Updated all users.
41225 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41226 (grubof_SOURCES): Renamed from this...
41227 (kernel_elf_SOURCES): ...to this.
41228 (grubof_HEADERS): Renamed from this...
41229 (kernel_elf_HEADERS): ...to this.
41230 (grubof_CFLAGS): Renamed from this...
41231 (kernel_elf_CFLAGS): ...to this.
41232 (grubof_ASFLAGS): Renamed from this...
41233 (kernel_elf_ASFLAGS): ...to this.
41234 (grubof_LDFLAGS): Renamed from this...
41235 (kernel_elf_LDFLAGS): ...to this.
41236
41237 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
41238 this...
41239 (kernel_elf_HEADERS): ...to this. Updated all users.
41240 (grubof_symlist.c): Renamed from this...
41241 (kernel_elf_symlist.c): ...to this. Updated all users.
41242 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41243 (grubof_SOURCES): Renamed from this...
41244 (kernel_elf_SOURCES): ...to this.
41245 (grubof_HEADERS): Renamed from this...
41246 (kernel_elf_HEADERS): ...to this.
41247 (grubof_CFLAGS): Renamed from this...
41248 (kernel_elf_CFLAGS): ...to this.
41249 (grubof_ASFLAGS): Renamed from this...
41250 (kernel_elf_ASFLAGS): ...to this.
41251 (grubof_LDFLAGS): Renamed from this...
41252 (kernel_elf_LDFLAGS): ...to this.
41253
41254 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
41255 `kernel.elf' instead of `grubof'.
41256
41257 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
41258
41259 Add --with-platform to configure. Use pkglibdir instead of
41260 pkgdatadir. This is reported by Roger Leigh.
41261
41262 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
41263 (host_vendor): Likewise.
41264 (host_os): Likewise.
41265 (pkgdatadir): Likewise.
41266 (platform): New variable.
41267 (pkglibdir): Likewise.
41268 Use PKGLIBDIR instead of PKGDATADIR.
41269
41270 * util/i386/pc/grub-install.in (datadir): Removed.
41271 (host_vendor): Likewise.
41272 (host_os): Likewise.
41273 (pkgdatadir): Likewise.
41274 (platform): New variable.
41275 (pkglibdir): Likewise.
41276 Use PKGLIBDIR instead of PKGDATADIR.
41277
41278 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
41279 instead of GRUB_DATADIR.
41280 (main): Likewise.
41281 * util/i386/pc/grub-mkimage.c (usage): Likewise.
41282 (main): Likewise.
41283 * util/i386/efi/grub-mkimage.c (usage): Likewise.
41284 (main): Likewise.
41285
41286 * configure.ac (--with-platform): New option.
41287 Use PLATFORM instead of HOST_VENDOR to specify a platform.
41288
41289 * Makefile.in: Include a makefile based on PLATFORM instead of
41290 HOST_VENDOR.
41291 (pkgdatadir): Not appended by the machine type.
41292 (pkglibdir): Appended by the machine type.
41293 (host_vendor): Removed.
41294 (platform): New variable.
41295 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
41296 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
41297 (uninstall): Likewise.
41298
41299 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
41300
41301 Use the environment context in the menu. Remove the commands
41302 "default" and "timeout", and use variables instead.
41303
41304 * normal/menu.c: Include grub/env.h.
41305 (print_entry): Cast TITLE to silence gcc.
41306 (get_timeout): New function.
41307 (set_timeout): Likewise.
41308 (get_entry_number): Likewise.
41309 (run_menu): Use a default entry, a fallback entry and a timeout
41310 in the environment variables "default", "fallback" and
41311 "timeout". Also, tweak the default entry if it is not within the
41312 current menu entries.
41313 (grub_menu_run): Use a fallback entry in the environment variable
41314 "fallback".
41315
41316 * normal/main.c (read_config_file): Do not initialize
41317 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
41318 NEWMENU->TIMEOUT.
41319 (grub_normal_execute): Use a data slot to store the menu.
41320
41321 * include/grub/normal.h (struct grub_menu): Removed default_entry,
41322 fallback_entry and timeout.
41323 (struct grub_menu_list): Removed.
41324 (grub_menu_list_t): Likewise.
41325 (struct grub_context): Likewise.
41326 (grub_context_t): Likewise.
41327 (grub_context_get): Likewise.
41328 (grub_context_get_current_menu): Likewise.
41329 (grub_context_push_menu): Likewise.
41330 (grub_context_pop_menu): Likewise.
41331 (grub_default_init): Likewise.
41332 (grub_default_fini): Likewise.
41333 (grub_timeout_init): Likewise.
41334 (grub_timeout_fini): Likewise.
41335
41336 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
41337 and timeout.mod.
41338 (normal_mod_SOURCES): Removed normal/context.c.
41339
41340 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
41341 commands/default.c, commands/timeout.c and normal/context.c.
41342 (normal_mod_SOURCES): Removed normal/context.c.
41343
41344 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
41345 commands/timeout.c and normal/context.c.
41346 (normal_mod_SOURCES): Removed normal/context.c.
41347
41348 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
41349 commands/default.c, commands/timeout.c and normal/context.c.
41350 (normal_mod_SOURCES): Removed normal/context.c.
41351
41352 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
41353 timeout.mod.
41354 (default_mod_SOURCES): Removed.
41355 (default_mod_CFLAGS): Likewise.
41356 (default_mod_LDFLAGS): Likewise.
41357 (timeout_mod_SOURCES): Removed.
41358 (timeout_mod_CFLAGS): Likewise.
41359 (timeout_mod_LDFLAGS): Likewise.
41360
41361 * DISTLIST: Removed commands/default.c, commands/timeout.c and
41362 normal/context.c.
41363
41364 * commands/default.c: Removed.
41365 * commands/timeout.c: Likewise.
41366 * normal/context.c: Likewise.
41367
41368 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
41369
41370 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
41371
41372 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
41373
41374 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
41375 "next" to "prev" for readability.
41376 (struct grub_env_sorted_var): New struct.
41377 (grub_env_context): Renamed to ...
41378 (initial_context): ... this.
41379 (grub_env_var_context): Renamed to ...
41380 (current_context): ... this.
41381 (grub_env_find): Look only at CURRENT_CONTEXT.
41382 (grub_env_context_open): Rewritten to copy exported variables from
41383 previous context.
41384 (grub_env_context_close): Rewritten according to the new
41385 scheme. Also, add an assertion to prevent the initial context from
41386 removed.
41387 (grub_env_insert): Removed the code for the sorted list.
41388 (grub_env_remove): Likewise.
41389 (grub_env_export): Simply mark the variable with
41390 GRUB_ENV_VAR_GLOBAL.
41391 (grub_env_set): A cosmetic change for naming consistency.
41392 (grub_env_get): Likewise.
41393 (grub_env_unset): Likewise.
41394 (grub_env_iterate): Rewritten to sort variables within this
41395 function.
41396 (grub_register_variable_hook): Fixed for naming consistency. Call
41397 grub_env_find again, only if NAME is not found at the first time.
41398 (mangle_data_slot_name): New function.
41399 (grub_env_set_data_slot): Likewise.
41400 (grub_env_get_data_slot): Likewise.
41401 (grub_env_unset_data_slot): Likewise.
41402
41403 * include/grub/env.h (grub_env_var_type): New enum.
41404 (GRUB_ENV_VAR_LOCAL): New constant.
41405 (GRUB_ENV_VAR_GLOBAL): Likewise.
41406 (GRUB_ENV_VAR_DATA): Likewise.
41407 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
41408 "type".
41409 (grub_env_set): Replace VAR with NAME for consistency.
41410 (grub_register_variable_hook): Likewise.
41411 (grub_env_export): Specify the name of the argument.
41412 (grub_env_set_data_slot): New prototype.
41413 (grub_env_get_data_slot): Likewise.
41414 (grub_env_unset_data_slot): Likewise.
41415
41416 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41417
41418 Extend the loader so that GRUB can accept a loader which comes
41419 back to GRUB when a loaded image exits. Also, this change adds
41420 support for a chainloader on EFI.
41421
41422 * term/efi/console.c: Include grub/misc.h.
41423 (grub_console_checkkey): Display a scan code on the top for
41424 debugging. This will be removed once the EFI port gets stable.
41425 Correct the scan code mapping.
41426
41427 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
41428 allocate memory from larger regions, in order to reduce the number
41429 of allocated regions. Otherwise, the MacOSX loader panics.
41430 (filter_memory_map): Avoid less than 1MB for compatibility with
41431 other loaders.
41432 (add_memory_regions): Allocate from the tail of a region, if
41433 possible, to avoid allocating a region near to 1MB, for the MacOSX
41434 loader.
41435
41436 * kern/efi/init.c (grub_efi_set_prefix): Specify
41437 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
41438
41439 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
41440 argument IMAGE_HANDLE and specify it to get a loaded image.
41441 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
41442 grub_efi_get_loaded_image.
41443 (grub_efi_get_filename): Divide the length by the size of
41444 grub_efi_char16_t.
41445 (grub_efi_get_device_path): New function.
41446 (grub_efi_print_device_path): Print End Device Path nodes. Divide
41447 the length by the size of grub_efi_char16_t for a file path device
41448 path node.
41449
41450 * kern/loader.c (grub_loader_noreturn): New variable.
41451 (grub_loader_set): Accept a new argument NORETURN. Set
41452 GRUB_LOADER_NORETURN to NORETURN.
41453 All callers changed.
41454 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
41455 grub_machine_fini.
41456
41457 * include/grub/efi/efi.h (grub_efi_get_device_path): New
41458 prototype.
41459 (grub_efi_get_loaded_image): Take an argument to specify an image
41460 handle.
41461
41462 * include/grub/loader.h (grub_loader_set): Added one more argument
41463 NORETURN.
41464
41465 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
41466 instead of grub_efi_open_protocol.
41467 (grub_efidisk_get_device_name): Likewise.
41468 (grub_efidisk_close): Print a newline.
41469 (grub_efidisk_get_device_handle): Fixed to use
41470 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
41471 GRUB_EFI_DEVICE_PATH_TYPE.
41472
41473 * disk/efi/efidisk.c (device_path_guid): Moved to ...
41474 * kern/efi/efi.c (device_path_guid): ... here.
41475
41476 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
41477 chain.mod.
41478 (kernel_mod_HEADERS): Added efi/disk.h.
41479 (_chain_mod_SOURCES): New variable.
41480 (_chain_mod_CFLAGS): Likewise.
41481 (_chain_mod_LDFLAGS): Likewise.
41482 (chain_mod_SOURCES): Likewise.
41483 (chain_mod_CFLAGS): Likewise.
41484 (chain_mod_LDFLAGS): Likewise.
41485
41486 * DISTLIST: Added include/grub/efi/chainloader.h,
41487 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
41488
41489 * include/grub/efi/chainloader.h: New file.
41490 * loader/efi/chainloader.c: Likewise.
41491 * loader/efi/chainloader_normal.c: Likewise.
41492
41493 2006-04-30 Marco Gerards <marco@gnu.org>
41494
41495 * commands/configfile.c (grub_cmd_source): New function.
41496 (GRUB_MOD_INIT): Register the commands `source' and `.'.
41497 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
41498
41499 2006-04-30 Marco Gerards <marco@gnu.org>
41500
41501 * normal/execute.c (grub_script_execute_cmd): Change the return
41502 type to `grub_err_t'. Correctly return the error.
41503 (grub_script_execute_cmdline): In case a command line is not a
41504 command or a function, try to interpret it as an assignment.
41505
41506 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41507
41508 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
41509 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
41510 skip a node whose name is obviously invalid as UTF-16,
41511 i.e. contains a NUL character. Stop the iteration when the last
41512 directory entry is found. Instead of using the return value of
41513 grub_hfsplus_btree_iterate_node, store the value in RET and use
41514 it, because the iterator can be stopped by the last directory
41515 entry.
41516
41517 2006-04-30 Marco Gerards <marco@gnu.org>
41518
41519 * include/grub/env.h (grub_env_export): New prototype. Reported
41520 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
41521
41522 2006-04-30 Marco Gerards <marco@gnu.org>
41523
41524 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
41525 size of the extents in a catalog file record.
41526
41527 2006-04-29 Marco Gerards <marco@gnu.org>
41528
41529 * commands/configfile.c (grub_cmd_configfile): Execute the
41530 configfile within its own context.
41531
41532 * include/grub/env.h (grub_env_context_open): New prototype.
41533 (grub_env_context_close): Likewise.
41534
41535 * kern/env.c (grub_env): Removed.
41536 (grub_env_sorted): Likewise.
41537 (grub_env_context): New variable.
41538 (grub_env_var_context): Likewise.
41539 (grub_env_find): Search both the active context and the global
41540 context.
41541 (grub_env_context_open): New function.
41542 (grub_env_context_close): Likewise.
41543 (grub_env_insert): Likewise.
41544 (grub_env_remove): Likewise.
41545 (grub_env_export): Likewise.
41546 (grub_env_set): Changed to use helper functions to avoid code
41547 duplication.
41548 (grub_env_iterate): Rewritten so both the current context and the
41549 global context are being used.
41550
41551 * normal/command.c (export_command): New function.
41552 (grub_command_init): Register the `export' function.
41553
41554 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
41555
41556 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
41557 explicitly to suppress gcc's warnings.
41558 * fs/fat.c (grub_fat_find_dir): Likewise.
41559 (grub_fat_label): Likewise.
41560 * fs/xfs.c (grub_xfs_read_inode): Likewise.
41561 (grub_xfs_mount): Likewise.
41562 (grub_xfs_label): Likewise.
41563 * fs/affs.c (grub_affs_mount): Likewise.
41564 (grub_affs_label): Likewise.
41565 (grub_affs_iterate_dir): Likewise.
41566 * fs/sfs.c (grub_sfs_mount): Likewise.
41567 (grub_sfs_iterate_dir): Likewise.
41568 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
41569 * fs/hfs.c (grub_hfs_mount): Likewise.
41570 (grub_hfs_cmp_catkeys): Likewise.
41571 (grub_hfs_find_dir): Likewise.
41572 (grub_hfs_dir): Likewise.
41573 (grub_hfs_label): Likewise.
41574 * fs/jfs.c (grub_jfs_mount): Likewise.
41575 (grub_jfs_opendir): Likewise.
41576 (grub_jfs_getent): Likewise.
41577 (grub_jfs_lookup_symlink): Likewise.
41578 (grub_jfs_label): Likewise.
41579 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
41580 (grub_hfsplus_iterate_dir): Likewise.
41581 (grub_hfsplus_btree_iterate_node): Made static.
41582
41583 * util/grub-emu.c (prefix): New variable.
41584 (grub_machine_set_prefix): New function.
41585 (main): Do not set the environment variable "prefix" here. Only
41586 set PREFIX, which is used later by grub_machine_set_prefix.
41587
41588 * include/grub/video.h: Do not include grub/symbol.h.
41589 (grub_video_register): Not exported. This symbol is not defined in
41590 the kernel.
41591 (grub_video_unregister): Likewise.
41592 (grub_video_iterate): Likewise.
41593 (grub_video_setup): Likewise.
41594 (grub_video_restore): Likewise.
41595 (grub_video_get_info): Likewise.
41596 (grub_video_get_blit_format): Likewise.
41597 (grub_video_set_palette): Likewise.
41598 (grub_video_get_palette): Likewise.
41599 (grub_video_set_viewport): Likewise.
41600 (grub_video_get_viewport): Likewise.
41601 (grub_video_map_color): Likewise.
41602 (grub_video_map_rgb): Likewise.
41603 (grub_video_map_rgba): Likewise.
41604 (grub_video_fill_rect): Likewise.
41605 (grub_video_blit_glyph): Likewise.
41606 (grub_video_blit_bitmap): Likewise.
41607 (grub_video_blit_render_target): Likewise.
41608 (grub_video_scroll): Likewise.
41609 (grub_video_swap_buffers): Likewise.
41610 (grub_video_create_render_target): Likewise.
41611 (grub_video_delete_render_target): Likewise.
41612 (grub_video_set_active_render_target): Likewise.
41613
41614 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
41615 Undefined.
41616 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
41617
41618 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
41619 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41620 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41621 instead of $(srcdir)/genkernsyms.sh.
41622
41623 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
41624 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41625 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41626 instead of $(srcdir)/genkernsyms.sh.
41627
41628 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
41629 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41630 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41631 instead of $(srcdir)/genkernsyms.sh.
41632
41633 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
41634 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41635 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41636 instead of $(srcdir)/genkernsyms.sh.
41637
41638 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
41639 genkernsyms.sh.
41640
41641 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
41642 genkernsyms.sh.
41643 (gensymlist.sh): New target.
41644 (genkernsyms.sh): Likewise.
41645
41646 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
41647 genkernsyms.sh.in and gensymlist.sh.in.
41648
41649 * genkernsyms.sh: Removed.
41650 * gensymlist.sh: Likewise.
41651
41652 * genkernsyms.sh.in: New file.
41653 * gensymlist.sh.in: Likewise.
41654
41655 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41656
41657 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
41658 clobber "prefix", since we may have already set it manually.
41659
41660 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41661
41662 * kern/misc.c (abort): New alias for grub_abort.
41663
41664 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
41665
41666 A new machine-specific function "grub_machine_set_prefix" is
41667 defined. This is called after loading modules, so that a prefix
41668 initialization can use modules. Also, this change adds an
41669 intensive debugging feature for the memory manager via the
41670 configure option "--enable-mm-debug".
41671
41672 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
41673 PART.LEN.
41674
41675 * kern/sparc64/ieee1275/init.c (abort): Removed.
41676 (grub_stop): Likewise.
41677 (grub_exit): New function.
41678 (grub_set_prefix): Renamed to ...
41679 (grub_machine_set_prefix): ... this.
41680 (grub_machine_init): Do not call grub_set_prefix.
41681
41682 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
41683 (grub_machine_set_prefix): ... this.
41684 (grub_machine_init): Do not call grub_set_prefix.
41685
41686 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
41687 (grub_machine_init): Do not set the prefix here.
41688
41689 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
41690
41691 * kern/efi/init.c: Include grub/mm.h.
41692 (grub_efi_set_prefix): New function.
41693
41694 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
41695 (grub_efi_get_filename): New function.
41696 (grub_print_device_path): Renamed to ...
41697 (grub_efi_print_device_path): ... this.
41698
41699 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
41700 [MM_DEBUG] (grub_realloc): Likewise.
41701 [MM_DEBUG] (grub_free): Likewise.
41702 [MM_DEBUG] (grub_memalign): Likewise.
41703 [MM_DEBUG] (grub_mm_debug): New variable.
41704 [MM_DEBUG] (grub_debug_malloc): New function.
41705 [MM_DEBUG] (grub_debug_free): New function.
41706 [MM_DEBUG] (grub_debug_realloc): New function.
41707 [MM_DEBUG] (grub_debug_memalign): New function.
41708
41709 * kern/misc.c (grub_abort): Print a newline to distinguish
41710 the message.
41711
41712 * kern/main.c (grub_main): Call grub_machine_set_prefix and
41713 grub_set_root_dev after loading modules. This is necessary when
41714 setting a prefix depends on modules.
41715
41716 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
41717 (grub_efi_print_device_path): ... this.
41718 (grub_efi_get_filename): New prototype.
41719 (grub_efi_set_prefix): Likewise.
41720
41721 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
41722 and grub/disk.h.
41723 (grub_efidisk_get_device_handle): New prototype.
41724 (grub_efidisk_get_device_name): Likewise.
41725
41726 * include/grub/mm.h: Include config.h.
41727 (MM_DEBUG): Removed.
41728 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
41729 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
41730 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
41731 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
41732 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
41733 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
41734 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
41735 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
41736 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
41737
41738 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
41739
41740 * disk/efi/efidisk.c: Include grub/partition.h.
41741 (iterate_child_devices): New function.
41742 (add_device): First, compare only last device path nodes, so that
41743 devices are sorted by the types.
41744 (grub_efidisk_get_device_handle): New function.
41745 (grub_efidisk_get_device_name): Likewise.
41746
41747 * configure.ac (--enable-mm-debug): New option to enable the
41748 memory manager debugging feature. This makes the binary much
41749 bigger, so is disabled by default.
41750
41751 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
41752
41753 Use grub_abort instead of grub_stop, and grub_exit must be
41754 define in each architecture now. Also, this change adds support
41755 for EFI disks.
41756
41757 * util/i386/pc/grub-probefs.c: Include grub/term.h.
41758 (grub_getkey): New function.
41759 (grub_term_get_current): Likewise.
41760
41761 * util/i386/pc/grub-setup.c: Include grub/term.h.
41762 (grub_getkey): New function.
41763 (grub_term_get_current): Likewise.
41764
41765 * util/misc.c (grub_stop): Renamed to ...
41766 (grub_exit): ... this.
41767
41768 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
41769 (grub_exit): ... this.
41770 (grub_machine_init): Use grub_abort instead of abort.
41771 (grub_stop): Removed.
41772
41773 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
41774 abort.
41775
41776 * kern/i386/pc/startup.S (grub_exit): New function.
41777 (cold_reboot): New label.
41778
41779 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
41780 (grub_efi_init): Call grub_efidisk_init.
41781 (grub_efi_fini): Call grub_efidisk_fini.
41782
41783 * kern/efi/efi.c: Include grub/mm.h.
41784 (grub_efi_console_control_guid): Renamed to ...
41785 (console_control_guid): ... this.
41786 (grub_efi_loaded_image_guid): Renamed to ...
41787 (loaded_image_guid): ... this.
41788 (grub_efi_locate_handle): New function.
41789 (grub_efi_open_protocol): Likewise.
41790 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
41791 GRUB_EFI_CONSOLE_CONTROL_GUID.
41792 (grub_efi_exit): Removed.
41793 (grub_stop): Likewise.
41794 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
41795 (grub_exit): New function.
41796 (grub_print_device_path): Likewise.
41797
41798 * kern/rescue.c (grub_rescue_cmd_exit): New function.
41799 (grub_enter_rescue_mode): Register "exit".
41800
41801 * kern/misc.c (grub_real_dprintf): A cosmetic change.
41802 (grub_abort): New function.
41803
41804 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
41805
41806 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
41807
41808 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
41809
41810 * include/grub/efi/efi.h (grub_efi_exit): Removed.
41811 (grub_print_device_path): New prototype.
41812 (grub_efi_locate_handle): Likewise.
41813 (grub_efi_open_protocol): Likewise.
41814
41815 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
41816 * disk/efi/efidisk.c: Likewise.
41817
41818 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
41819
41820 * include/grub/efi/console_control.h
41821 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
41822
41823 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
41824 last 8 bytes as an array.
41825 (GRUB_EFI_DISK_IO_GUID): New macro.
41826 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
41827 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
41828 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
41829 grub_uint8_t.
41830 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
41831 (struct grub_efi_device_path): Rename the member "sub_type" to
41832 "subtype".
41833 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
41834 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
41835 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
41836 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
41837 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
41838 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
41839 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
41840 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
41841 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
41842 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
41843 (struct grub_efi_pci_device_path): New structure.
41844 (grub_efi_pci_device_path_t): New type.
41845 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
41846 (struct grub_efi_pccard_device_path): New structure.
41847 (grub_efi_pccard_device_path_t): New type.
41848 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
41849 (struct grub_efi_memory_mapped_device_path): New structure.
41850 (grub_efi_memory_mapped_device_path_t): New type.
41851 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
41852 (struct grub_efi_vendor_device_path): New structure.
41853 (grub_efi_vendor_device_path_t): New type.
41854 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
41855 (struct grub_efi_controller_device_path): New structure.
41856 (grub_efi_controller_device_path_t): New type.
41857 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
41858 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
41859 (struct grub_efi_acpi_device_path): New structure.
41860 (grub_efi_acpi_device_path_t): New type.
41861 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
41862 (struct grub_efi_expanded_acpi_device_path): New structure.
41863 (grub_efi_expanded_acpi_device_path_t): New type.
41864 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
41865 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
41866 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
41867 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
41868 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
41869 (struct grub_efi_atapi_device_path): New structure.
41870 (grub_efi_atapi_device_path_t): New type.
41871 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
41872 (struct grub_efi_fibre_channel_device_path): New structure.
41873 (grub_efi_fibre_channel_device_path_t): New type.
41874 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
41875 (struct grub_efi_1394_device_path): New structure.
41876 (grub_efi_1394_device_path_t): New type.
41877 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
41878 (struct grub_efi_usb_device_path): New structure.
41879 (grub_efi_usb_device_path_t): New type.
41880 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
41881 (struct grub_efi_usb_class_device_path): New structure.
41882 (grub_efi_usb_class_device_path_t): New type.
41883 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
41884 (struct grub_efi_i2o_device_path): New structure.
41885 (grub_efi_i2o_device_path_t): New type.
41886 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
41887 (struct grub_efi_mac_address_device_path): New structure.
41888 (grub_efi_mac_address_device_path_t): New type.
41889 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
41890 (struct grub_efi_ipv4_device_path): New structure.
41891 (grub_efi_ipv4_device_path_t): New type.
41892 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
41893 (struct grub_efi_ipv6_device_path): New structure.
41894 (grub_efi_ipv6_device_path_t): New type.
41895 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
41896 (struct grub_efi_infiniband_device_path): New structure.
41897 (grub_efi_infiniband_device_path_t): New type.
41898 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
41899 (struct grub_efi_uart_device_path): New structure.
41900 (grub_efi_uart_device_path_t): New type.
41901 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
41902 (struct grub_efi_vendor_messaging_device_path): New structure.
41903 (grub_efi_vendor_messaging_device_path_t): New type.
41904 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
41905 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
41906 (struct grub_efi_hard_drive_device_path): New structure.
41907 (grub_efi_hard_drive_device_path_t): New type.
41908 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
41909 (struct grub_efi_cdrom_device_path): New structure.
41910 (grub_efi_cdrom_device_path_t): New type.
41911 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
41912 (struct grub_efi_vendor_media_device_path): New structure.
41913 (grub_efi_vendor_media_device_path_t): New type.
41914 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
41915 (struct grub_efi_file_path_device_path): New structure.
41916 (grub_efi_file_path_device_path_t): New type.
41917 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
41918 (struct grub_efi_protocol_device_path): New structure.
41919 (grub_efi_protocol_device_path_t): New type.
41920 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
41921 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
41922 (struct grub_efi_bios_device_path): New structure.
41923 (grub_efi_bios_device_path_t): New type.
41924 (struct grub_efi_disk_io): New structure.
41925 (grub_efi_disk_io_t): New type.
41926 (struct grub_efi_block_io_media): New structure.
41927 (grub_efi_block_io_media_t): New type.
41928 (struct grub_efi_block_io): New structure.
41929 (grub_efi_block_io_t): New type.
41930
41931 * include/grub/misc.h (grub_stop): Removed.
41932 (grub_exit): New prototype.
41933 (grub_abort): Likewise.
41934
41935 * include/grub/disk.h (enum grub_disk_dev_id): Added
41936 GRUB_DISK_DEVICE_EFIDISK_ID.
41937
41938 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
41939 disk/efi/efidisk.c.
41940 (kernel_syms.lst): Remove the target if an error occurs.
41941
41942 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
41943
41944 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
41945 as it was simply too buggy.
41946
41947 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
41948
41949 * kern/misc.c (grub_lltoa): New function.
41950 (grub_vsprintf): Added support for the long long suffix,
41951 i.e. "ll".
41952
41953 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
41954
41955 * Makefile.in (LDFLAGS): Add variable.
41956 (LD): Remove variable.
41957 * configure.ac: Add -m32 to LDFLAGS.
41958 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
41959 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
41960 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
41961 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
41962 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
41963 variables.
41964 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
41965 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
41966 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
41967
41968 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
41969
41970 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
41971 length for unknown glyph.
41972
41973 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
41974
41975 Add support for pre-loaded modules into the EFI port.
41976
41977 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
41978 completely. Accept one more argument DIR. The caller has changed.
41979
41980 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
41981
41982 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
41983 (grub_efi_loaded_image_guid): New variable.
41984 (grub_efi_get_loaded_image): New function.
41985 (grub_arch_modules_addr): Likewise.
41986
41987 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
41988 prototype.
41989
41990 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
41991 (struct grub_efi_loaded_image): New structure.
41992 (grub_efi_loaded_image_t): New type.
41993
41994 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
41995
41996 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
41997 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
41998 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
41999
42000 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
42001
42002 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
42003
42004 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
42005
42006 * DISTLIST: Added include/grub/efi/console.h,
42007 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
42008 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42009
42010 * include/grub/efi/console.h: New file.
42011 * include/grub/efi/time.h: Likewise.
42012 * include/grub/i386/efi/kernel.h: Likewise.
42013 * kern/efi/init.c: Likewise.
42014 * kern/efi/mm.c: Likewise.
42015 * term/efi/console.c: Likewise.
42016
42017 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
42018 (grub_stop): Removed.
42019 (grub_get_rtc): Likewise.
42020 (grub_machine_init): Simply call grub_efi_init.
42021 (grub_machine_fini): Call grub_efi_fini.
42022
42023 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
42024 (grub_efi_output_string): Removed.
42025 (grub_efi_stall): New function.
42026 (grub_stop): Likewise.
42027 (grub_get_rtc): Likewise.
42028
42029 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
42030 (grub_efi_stall): New prototype.
42031 (grub_efi_allocate_pages): Likewise.
42032 (grub_efi_free_pages): Likewise.
42033 (grub_efi_get_memory_map): Likewise.
42034 (grub_efi_mm_init): Likewise.
42035 (grub_efi_mm_fini): Likewise.
42036 (grub_efi_init): Likewise.
42037 (grub_efi_fini): Likewise.
42038
42039 * include/grub/i386/efi/time.h: Do not include
42040 grub/symbol.h. Include grub/efi/time.h.
42041 (GRUB_TICKS_PER_SECOND): Removed.
42042 (grub_get_rtc): Likewise.
42043
42044 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
42045 Added padding. The EFI spec is buggy.
42046 (GRUB_EFI_BLACK): New macro.
42047 (GRUB_EFI_BLUE): Likewise.
42048 (GRUB_EFI_GREEN): Likewise.
42049 (GRUB_EFI_CYAN): Likewise.
42050 (GRUB_EFI_RED): Likewise.
42051 (GRUB_EFI_MAGENTA): Likewise.
42052 (GRUB_EFI_BROWN): Likewise.
42053 (GRUB_EFI_LIGHTGRAY): Likewise.
42054 (GRUB_EFI_BRIGHT): Likewise.
42055 (GRUB_EFI_DARKGRAY): Likewise.
42056 (GRUB_EFI_LIGHTBLUE): Likewise.
42057 (GRUB_EFI_LIGHTGREEN): Likewise.
42058 (GRUB_EFI_LIGHTCYAN): Likewise.
42059 (GRUB_EFI_LIGHTRED): Likewise.
42060 (GRUB_EFI_LIGHTMAGENTA): Likewise.
42061 (GRUB_EFI_YELLOW): Likewise.
42062 (GRUB_EFI_WHITE): Likewise.
42063 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
42064 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
42065 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
42066 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
42067 (GRUB_EFI_BACKGROUND_RED): Likewise.
42068 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
42069 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
42070 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
42071 (GRUB_EFI_TEXT_ATTR): Likewise.
42072
42073 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
42074 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42075 (kernel_mod_HEADERS): Added efi/time.h.
42076
42077 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
42078
42079 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
42080 include/grub/efi/api.h, include/grub/efi/console_control.h,
42081 include/grub/efi/efi.h, include/grub/efi/pe32.h,
42082 include/grub/i386/efi/time.h, kern/efi/efi.c,
42083 kern/i386/efi/init.c, kern/i386/efi/startup.S,
42084 and util/i386/efi/grub-mkimage.c.
42085
42086 * Makefile.in (RMKFILES): Added i386-efi.rmk.
42087
42088 * genmk.rb (PModule#rule): Do not export symbols if
42089 #{prefix}_EXPORTS is set to "no".
42090
42091 * conf/i386-efi.mk: New file.
42092 * conf/i386-efi.rmk: Likewise.
42093 * include/grub/efi/api.h: Likewise.
42094 * include/grub/efi/console_control.h: Likewise.
42095 * include/grub/efi/efi.h: Likewise.
42096 * include/grub/efi/pe32.h: Likewise.
42097 * include/grub/i386/efi/time.h: Likewise.
42098 * kern/efi/efi.c: Likewise.
42099 * kern/i386/efi/init.c: Likewise.
42100 * kern/i386/efi/startup.S: Likewise.
42101 * util/i386/efi/grub-mkimage.c: Likewise.
42102
42103 2006-04-17 Marco Gerards <marco@gnu.org>
42104
42105 * include/grub/script.h: Include <grub/parser.h> and
42106 "grub_script.tab.h".
42107 (struct grub_lexer_param): New struct.
42108 (struct grub_parser_param): Likewise.
42109 (grub_script_create_arglist): Pass the state in an argument.
42110 (grub_script_add_arglist): Likewise.
42111 (grub_script_create_cmdline): Likewise.
42112 (grub_script_create_cmdblock): Likewise.
42113 (grub_script_create_cmdif): Likewise.
42114 (grub_script_create_cmdmenu): Likewise.
42115 (grub_script_add_cmd): Likewise.
42116 (grub_script_arg_add): Likewise.
42117 (grub_script_lexer_ref): Likewise.
42118 (grub_script_lexer_deref): Likewise.
42119 (grub_script_lexer_record_start): Likewise.
42120 (grub_script_lexer_record_stop): Likewise.
42121 (grub_script_mem_record): Likewise.
42122 (grub_script_mem_record_stop): Likewise.
42123 (grub_script_malloc): Likewise.
42124 (grub_script_yylex): Likewise.
42125 (grub_script_yyparse): Likewise.
42126 (grub_script_yyerror): Likewise.
42127 (grub_script_yylex): Likewise.
42128 (grub_script_lexer_init): Return the state.
42129
42130 * normal/lexer.c (grub_script_lexer_state): Removed variable.
42131 (grub_script_lexer_done): Likewise.
42132 (grub_script_lexer_getline): Likewise.
42133 (grub_script_lexer_refs): Likewise.
42134 (script): Likewise.
42135 (newscript): Likewise.
42136 (record): Likewise.
42137 (recording): Likewise.
42138 (recordpos): Likewise.
42139 (recordlen): Likewise.
42140 (grub_script_lexer_init): Return the state instead of setting
42141 global variables.
42142 (grub_script_lexer_ref): Use the newly added argument for state
42143 instead of globals.
42144 (grub_script_lexer_deref): Likewise.
42145 (grub_script_lexer_record_start): Likewise.
42146 (grub_script_lexer_record_stop): Likewise.
42147 (recordchar): Likewise.
42148 (nextchar): Likewise.
42149 (grub_script_yylex2): Likewise.
42150 (grub_script_yylex): Likewise.
42151 (grub_script_yyerror): Likewise.
42152
42153 * normal/parser.y (func_mem): Removed variable.
42154 (menu_entry): Likewise.
42155 (err): Likewise.
42156 (%lex-param): New parser option.
42157 (%parse-param): Likewise.
42158 (script): Always return the AST.
42159 (argument): Pass the state around.
42160 (arguments): Likewise.
42161 (grubcmd): Likewise.
42162 (commands): Likewise.
42163 (function): Likewise.
42164 (menuentry): Likewise.
42165 (if_statement): Likewise.
42166 (if): Likewise.
42167
42168 * normal/script.c (grub_script_memused): Removed variable.
42169 (grub_script_parsed): Likewise.
42170 (grub_script_malloc): Added a state argument. Use that instead of
42171 global variables.
42172 (grub_script_mem_record): Likewise.
42173 (grub_script_mem_record_stop): Likewise.
42174 (grub_script_arg_add): Likewise.
42175 (grub_script_add_arglist): Likewise.
42176 (grub_script_create_cmdline): Likewise.
42177 (grub_script_create_cmdif): Likewise.
42178 (grub_script_create_cmdmenu): Likewise.
42179 (grub_script_add_cmd): Likewise.
42180 (grub_script_parse): Setup the state before calling the parser.
42181
42182 2006-04-16 Marco Gerards <marco@gnu.org>
42183
42184 * normal/command.c (grub_command_init): Remove the title command.
42185
42186 * normal/lexer.c (grub_script_yylex): Renamed from this...
42187 (grub_script_yylex2): ... to this.
42188 (grub_script_yylex): New function. Temporary
42189 introduced to filter some tokens.
42190 (grub_script_yyerror): Print a newline.
42191
42192 * normal/main.c (read_config_file): Output information about the
42193 lines that contain errors. Wait for a key after all lines have
42194 been processed. Don't return an empty menu.
42195
42196 * normal/parser.y (func_mem): Don't initialize.
42197 (menu_entry): Likewise.
42198 (err): New variable.
42199 (script): Don't return anything when an error was encountered.
42200 (ws, returns): Removed rules.
42201 (argument): Disabled concatenated variable support.
42202 (arguments): Remove explicit separators.
42203 (grubcmd): Likewise.
42204 (function): Likewise.
42205 (menuentry): Likewise.
42206 (if): Likewise.
42207 (commands): Likewise. Add error handling.
42208
42209 * normal/script.c (grub_script_create_cmdline): If
42210 `grub_script_parsed' is 0, assume the parser encountered an error.
42211
42212 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
42213
42214 * configure.ac: Add support for EFI. Fix the typo
42215 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
42216
42217 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42218
42219 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
42220 foreign multibyte characters should be shown correctly.
42221
42222 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42223
42224 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
42225 calculation.
42226 (read_config_file): Made it to close file before returning.
42227
42228 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
42229
42230 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
42231 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
42232 video/i386/pc/vbefill.c.
42233
42234 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
42235 video/i386/pc/vbefill.c.
42236
42237 * include/grub/video.h (grub_video_blit_format): New enum.
42238 (grub_video_mode_info): Added new member blit_format.
42239 (grub_video_get_blit_format): New function prototype.
42240
42241 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
42242 function prototype.
42243 (grub_video_vbe_map_rgb): Likewise.
42244 (grub_video_vbe_unmap_color): Likewise.
42245
42246 * include/grub/i386/pc/vbeblit.h: New file.
42247
42248 * include/grub/i386/pc/vbefill.h: New file.
42249
42250 * video/video.c (grub_video_get_blit_format): New function.
42251 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
42252 (grub_video_vbe_map_rgb): Likewise.
42253 (grub_video_vbe_unmap_color): Likewise.
42254
42255 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
42256 optimized fills.
42257 (grub_video_vbe_blit_render_target): Changed to use more optimized
42258 blits.
42259 (grub_video_vbe_setup): Added detection for optimized settings.
42260 (grub_video_vbe_create_render_target): Likewise.
42261
42262 * video/i386/pc/vbeblit.c: New file.
42263
42264 * video/i386/pc/vbefill.c: New file.
42265
42266 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
42267
42268 * font/manager.c (grub_font_get_glyph): Removed font fixup from
42269 here...
42270
42271 * util/unifont2pff.rb: ... and moved it to here. Improved argument
42272 parsing to support both hex and dec ranges. If filename was missing
42273 show usage information.
42274
42275 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
42276
42277 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
42278 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
42279
42280 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
42281 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
42282 (video_mod_SOURCES): Added.
42283 (video_mod_CFLAGS): Likewise.
42284 (video_mod_LDFLAGS): Likewise.
42285 (gfxterm_mod_SOURCES): Likewise.
42286 (gfxterm_mod_CFLAGS): Likewise.
42287 (gfxterm_mod_LDFLAGS): Likewise.
42288 (videotest_mod_SOURCES): Likewise.
42289 (videotest_mod_CFLAGS): Likewise.
42290 (videotest_mod_LDFLAGS): Likewise.
42291 (vesafb_mod_SOURCES): Removed.
42292 (vesafb_mod_CFLAGS): Likewise.
42293 (vesafb_mod_LDFLAGS): Likewise.
42294 (vga_mod_SOURCES): Likewise.
42295 (vga_mod_CFLAGS): Likewise.
42296 (vga_mod_LDFLAGS): Likewise.
42297
42298 * commands/videotest.c: New file.
42299
42300 * font/manager.c (fill_with_default_glyph): Modified to use
42301 grub_font_glyph.
42302 (grub_font_get_glyph): Likewise.
42303 (fontmanager): Renamed from this...
42304 (font_manager): ... to this.
42305
42306 * include/grub/font.h (grub_font_glyph): Added new structure.
42307 (grub_font_get_glyph): Modified to use grub_font_glyph.
42308
42309 * include/grub/misc.h (grub_abs): Added as inline function.
42310
42311 * include/grub/video.h: New file.
42312
42313 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
42314 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
42315 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
42316 (grub_vbe_get_controller_info): Renamed from this...
42317 (grub_vbe_bios_get_controller_info): ... to this.
42318 (grub_vbe_get_mode_info): Renamed from this...
42319 (grub_vbe_bios_get_mode_info): ... to this.
42320 (grub_vbe_set_mode): Renamed from this...
42321 (grub_vbe_bios_set_mode): ... to this.
42322 (grub_vbe_get_mode): Renamed from this...
42323 (grub_vbe_bios_get_mode): ... to this.
42324 (grub_vbe_set_memory_window): Renamed from this...
42325 (grub_vbe_bios_set_memory_window): ... to this.
42326 (grub_vbe_get_memory_window): Renamed from this...
42327 (grub_vbe_bios_get_memory_window): ... to this.
42328 (grub_vbe_set_scanline_length): Renamed from this...
42329 (grub_vbe_set_scanline_length): ... to this.
42330 (grub_vbe_get_scanline_length): Renamed from this...
42331 (grub_vbe_bios_get_scanline_length): ... to this.
42332 (grub_vbe_set_display_start): Renamed from this...
42333 (grub_vbe_bios_set_display_start): ... to this.
42334 (grub_vbe_get_display_start): Renamed from this...
42335 (grub_vbe_bios_get_display_start): ... to this.
42336 (grub_vbe_set_palette_data): Renamed from this...
42337 (grub_vbe_bios_set_palette_data): ... to this.
42338 (grub_vbe_set_pixel_rgb): Removed.
42339 (grub_vbe_set_pixel_index): Likewise.
42340
42341 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
42342 from this...
42343 (grub_vbe_bios_get_controller_info): ... to this.
42344 (grub_vbe_get_mode_info): Renamed from this...
42345 (grub_vbe_bios_get_mode_info): ... to this.
42346 (grub_vbe_set_mode): Renamed from this...
42347 (grub_vbe_bios_set_mode): ... to this.
42348 (grub_vbe_get_mode): Renamed from this...
42349 (grub_vbe_bios_get_mode): ... to this.
42350 (grub_vbe_set_memory_window): Renamed from this...
42351 (grub_vbe_bios_set_memory_window): ... to this.
42352 (grub_vbe_get_memory_window): Renamed from this...
42353 (grub_vbe_bios_get_memory_window): ... to this.
42354 (grub_vbe_set_scanline_length): Renamed from this...
42355 (grub_vbe_set_scanline_length): ... to this.
42356 (grub_vbe_get_scanline_length): Renamed from this...
42357 (grub_vbe_bios_get_scanline_length): ... to this.
42358 (grub_vbe_set_display_start): Renamed from this...
42359 (grub_vbe_bios_set_display_start): ... to this.
42360 (grub_vbe_get_display_start): Renamed from this...
42361 (grub_vbe_bios_get_display_start): ... to this.
42362 (grub_vbe_set_palette_data): Renamed from this...
42363 (grub_vbe_bios_set_palette_data): ... to this.
42364 (grub_vbe_bios_get_controller_info): Fixed problem with registers
42365 getting corrupted after calling it. Added more pushes and pops.
42366 (grub_vbe_bios_set_mode): Likewise.
42367 (grub_vbe_bios_get_mode): Likewise.
42368 (grub_vbe_bios_get_memory_window): Likewise.
42369 (grub_vbe_bios_set_scanline_length): Likewise.
42370 (grub_vbe_bios_get_scanline_length): Likewise.
42371 (grub_vbe_bios_get_display_start): Likewise.
42372 (grub_vbe_bios_set_palette_data): Likewise.
42373
42374 * normal/cmdline.c (cl_set_pos): Refresh the screen.
42375 (cl_insert): Likewise.
42376 (cl_delete): Likewise.
42377
42378 * term/gfxterm.c: New file.
42379
42380 * term/i386/pc/vesafb.c: Removed file.
42381
42382 * video/video.c: New file.
42383
42384 * video/i386/pc/vbe.c (real2pm): Added new function.
42385 (grub_video_vbe_draw_pixel): Likewise.
42386 (grub_video_vbe_get_video_ptr): Likewise.
42387 (grub_video_vbe_get_pixel): Likewise
42388 (grub_video_vbe_init): Likewise.
42389 (grub_video_vbe_fini): Likewise.
42390 (grub_video_vbe_setup): Likewise.
42391 (grub_video_vbe_get_info): Likewise.
42392 (grub_video_vbe_set_palette): Likewise.
42393 (grub_video_vbe_get_palette): Likewise.
42394 (grub_video_vbe_set_viewport): Likewise.
42395 (grub_video_vbe_get_viewport): Likewise.
42396 (grub_video_vbe_map_color): Likewise.
42397 (grub_video_vbe_map_rgb): Likewise.
42398 (grub_video_vbe_map_rgba): Likewise.
42399 (grub_video_vbe_unmap_color): Likewise.
42400 (grub_video_vbe_fill_rect): Likewise.
42401 (grub_video_vbe_blit_glyph): Likewise.
42402 (grub_video_vbe_blit_bitmap): Likewise.
42403 (grub_video_vbe_blit_render_target): Likewise.
42404 (grub_video_vbe_scroll): Likewise.
42405 (grub_video_vbe_swap_buffers): Likewise.
42406 (grub_video_vbe_create_render_target): Likewise.
42407 (grub_video_vbe_delete_render_target): Likewise.
42408 (grub_video_vbe_set_active_render_target): Likewise.
42409 (grub_vbe_set_pixel_rgb): Remove function.
42410 (grub_vbe_set_pixel_index): Likewise.
42411 (index_color_mode): Remove static variable.
42412 (active_mode): Likewise.
42413 (framebuffer): Likewise.
42414 (bytes_per_scan_line): Likewise.
42415 (grub_video_vbe_adapter): Added new static variable.
42416 (framebuffer): Likewise.
42417 (render_target): Likewise.
42418 (initial_mode): Likewise.
42419 (mode_in_use): Likewise.
42420 (mode_list): Likewise.
42421
42422 2006-03-10 Marco Gerards <marco@gnu.org>
42423
42424 * configure.ac (AC_INIT): Bumped to 1.93.
42425
42426 * DISTLIST: Added `include/grub/hfs.h'.
42427
42428 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
42429
42430 * boot/i386/pc/boot.S (general_error): Before looping, try INT
42431 18H, which might help the BIOS falling back to next boot media.
42432
42433 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
42434
42435 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
42436 Poe Chen <poe.poechen@gmail.com>.
42437
42438 2006-01-17 Marco Gerards <marco@gnu.org>
42439
42440 * include/grub/normal.h: Include <grub/script.h>.
42441 (grub_command_list): Removed struct.
42442 (grub_command_list_t): Removed type.
42443 (grub_menu_entry): Remove members `num' and `command_list'. Add
42444 members `commands' and `sourcecode'.
42445 * include/grub/script.h: Add inclusion guards.
42446 (grub_script_cmd_menuentry): New struct.
42447 (grub_script_execute_menuentry): New prototype.
42448 (grub_script_lexer_record_start): Likewise.
42449 (grub_script_lexer_record_stop): Likewise.
42450 * normal/execute.c (grub_script_execute_menuentry): New function.
42451 * normal/lexer.c (record, recording, recordpos, recordlen): New
42452 variables.
42453 (grub_script_lexer_record_start): New function.
42454 (grub_script_lexer_record_stop): Likewise.
42455 (recordchar): Likewise.
42456 (nextchar): Likewise.
42457 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
42458 2048 as the buffer size. Add the tokens `menuentry' and `@'.
42459 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
42460 (current_menu): New variable.
42461 (free_menu): Mainly rewritten.
42462 (grub_normal_menu_addentry): New function.
42463 (read_config_file): Rewritten.
42464 * normal/menu.c (run_menu_entry): Mainly rewritten.
42465 * normal/menu_entry.c (make_screen): Rewritten the code to insert
42466 the menu entry.
42467 (run): Mainly rewritten.
42468 * normal/parser.y (menu_entry): New variable.
42469 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
42470 (menuentry): New rule.
42471 (command): Add `menuentry'.
42472 (if_statement): Allow additional returns before `fi'.
42473 * normal/script.c (grub_script_create_cmdmenu): New function.
42474
42475 2006-01-03 Marco Gerards <marco@gnu.org>
42476
42477 * INSTALL: GNU Bison is required.
42478 * configure.ac: Rewritten the test to detect Bison.
42479 * Makefile.in (YACC): New variable. Reported by Xun Sun
42480 <xun.sun.cn@gmail.com>.
42481
42482 2006-01-03 Marco Gerards <marco@gnu.org>
42483
42484 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
42485 the HFS+ filesystem to filesystem blocks.
42486 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
42487 GCC warning is silenced.
42488
42489 2006-01-03 Marco Gerards <marco@gnu.org>
42490
42491 * partmap/apple.c (apple_partition_map_iterate): Convert the data
42492 read from disk from big endian to host byte order.
42493
42494 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
42495
42496 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
42497 documentation.
42498 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
42499 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
42500 embedded HFS+ filesystem.
42501 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
42502 (grub_hfs_sblock): Move from here...
42503 * include/grub/hfs.h: To here... New file.
42504 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
42505 documentation.
42506 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
42507 New macros.
42508 (grub_hfsplus_volheader): Change type of member `magic' to
42509 `grub_uint16_t'.
42510 (grub_hfsplus_data): Add new member `embedded_offset'.
42511 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
42512 returned block.
42513 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
42514 Calculate the offset.
42515
42516 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42517
42518 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
42519 Removed.
42520 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
42521
42522 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42523
42524 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
42525 ENV->NAME is NULL after allocating ENV->VALUE.
42526
42527 2005-12-25 Marco Gerards <marco@gnu.org>
42528
42529 * kern/env.c (grub_env_set): Rewritten the error handling code.
42530
42531 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42532
42533 * geninit.sh: Made more robust, and more portable.
42534
42535 2005-12-25 Marco Gerards <marco@gnu.org>
42536
42537 Add support for Apple HFS+ filesystems.
42538
42539 * fs/hfsplus.c: New file.
42540
42541 * DISTLIST: Added `fs/hfsplus.c'.
42542
42543 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
42544 (hfsplus_mod_SOURCES): New variable.
42545 (hfsplus_mod_CFLAGS): Likewise.
42546 (hfsplus_mod_LDFLAGS): Likewise.
42547 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
42548 (grub_setup_SOURCES): Likewise.
42549 (grub_mkdevicemap_SOURCES): Likewise.
42550 (grub_emu_SOURCES): Likewise.
42551 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42552
42553 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
42554
42555 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
42556
42557 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42558
42559 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
42560 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
42561 include/grub/parser.h, include/grub/script.h, kern/parser.c,
42562 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
42563 normal/lexer.c, normal/parser.y, normal/script.c, and
42564 partmap/gpt.c.
42565 Removed kern/sparc64/cache.c.
42566
42567 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
42568 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
42569 grub_emu_init.c.
42570
42571 * configure.ac (AC_INIT): Bumped to 1.92.
42572
42573 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
42574
42575 * kern/err.c (grub_error_push): Added new function to support error
42576 stacks.
42577 (grub_error_pop): Likewise.
42578 (grub_error_stack_items): New local variable to support error stacks.
42579 (grub_error_stack_pos): Likewise.
42580 (grub_error_stack_assert): Likewise.
42581 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
42582 stack depth.
42583 (grub_print_error): Added support to print errors from error stack.
42584
42585 * include/grub/err.h (grub_error_push): Added function prototype.
42586 (grub_error_pop): Likewise.
42587
42588 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
42589
42590 * configure.ac: Accept `powerpc64' as host_cpu.
42591 (amd64): Rename to `biarch32'.
42592
42593 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
42594 non-cacheline-aligned addresses.
42595
42596 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
42597 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
42598 if `size' is non-zero.
42599
42600 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
42601
42602 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
42603 and `cd' to make sure the filename is not prefixed with a
42604 directory name.
42605 (pkgdata_MODULES): Add `gpt.mod'.
42606 (gpt_mod_SOURCES): New variable.
42607 (gpt_mod_CFLAGS): Likewise.
42608 (gpt_mod_LDFLAGS): Likewise.
42609
42610 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
42611
42612 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
42613 New macro.
42614
42615 * partmap/gpt.c: New file.
42616
42617 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
42618 GPT partition map is detected.
42619
42620 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
42621
42622 * commands/i386/pc/play.c: New file.
42623 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
42624 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
42625 macros.
42626
42627 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
42628
42629 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
42630 ((unused))' to silence gcc warning.
42631
42632 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
42633
42634 * configure.ac: Correct `AC_PROG_YACC' test.
42635
42636 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42637
42638 * util/powerpc/ieee1275/grub-install.in: Run the mount point
42639 check before installing files.
42640
42641 2005-11-22 Mike Small <smallm@panix.com>
42642
42643 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
42644 number regex so multidigit numbers are recognized correctly.
42645
42646 2005-11-22 Mike Small <smallm@panix.com>
42647
42648 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
42649 debugging message before attempting to claim memory.
42650 (grub_rescue_cmd_initrd): Add a claim debugging message and try
42651 multiple addresses in case of failure.
42652
42653 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42654
42655 * term/tparm.c (get_space): Remove empty `if' statement.
42656
42657 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
42658
42659 * kern/parser.c (check_varstate): Rename `state' to 's'.
42660
42661 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42662
42663 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
42664 variable definitions to the beginning of each function. Sort stack
42665 variables by size.
42666 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
42667 `buf' argument to `char *'.
42668
42669 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42670
42671 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
42672 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
42673 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
42674 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42675 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42676 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42677 configfile.mod, search.mod, gzio.mod and test.mod.
42678 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42679 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42680 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42681 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42682 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42683 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42684 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42685 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42686 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42687 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42688 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42689 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42690 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42691 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42692 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42693 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42694 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42695 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42696 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42697 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42698 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42699 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42700 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
42701
42702 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
42703 `grep --include'.
42704 (pkgdata_MODULES): Add test.mod.
42705
42706 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42707
42708 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
42709 appending to variables with "+=".
42710 (PModule): Use full pathname to generate *.lst filenames.
42711
42712 * Makefile.in: Fixed list rules moved from genmk.rb.
42713 (.DELETE_ON_ERROR): New special target.
42714 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
42715
42716 * conf/i386-pc.rmk: Include conf/common.mk.
42717 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
42718 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
42719 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42720 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42721 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42722 configfile.mod, search.mod, gzio.mod and test.mod.
42723 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42724 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42725 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42726 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42727 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42728 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42729 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42730 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42731 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42732 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42733 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42734 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42735 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42736 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42737 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42738 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42739 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42740 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42741 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42742 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42743 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42744 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42745 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
42746 here...
42747 * conf/common.rmk: ... to here. New file.
42748
42749 * conf/common.mk: New file.
42750
42751 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
42752
42753 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
42754 (grub_script.tab.c): ... here.
42755
42756 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
42757 (grub_script.tab.c): ... here.
42758
42759 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
42760 (grub_script.tab.c): ... here.
42761
42762 * normal/command.c (grub_command_find): Fixed a memory leak of
42763 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
42764
42765 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42766
42767 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
42768 "@" which marks the start of a comment on ARM.
42769 (VARIABLE): Likewise.
42770
42771 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42772
42773 Add support for Linux/ADFS partition tables.
42774
42775 * partmap/acorn.c: New file.
42776
42777 * include/grub/acorn_filecore.h: Likewise.
42778
42779 * DISTLIST: Added `partmap/acorn.c' and
42780 `include/grub/acorn_filecore.h'.
42781
42782 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42783 `partmap/acorn.c'.
42784 (pkgdata_MODULES): Add `acorn.mod'.
42785 (acorn_mod_SOURCES): New variable.
42786 (acorn_mod_CFLAGS): Likewise.
42787
42788 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
42789 `partmap/acorn.c'.
42790 (pkgdata_MODULES): Add `acorn.mod'.
42791 (acorn_mod_SOURCES): New variable.
42792 (acorn_mod_CFLAGS): Likewise.
42793
42794 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
42795 (pkgdata_MODULES): Add `acorn.mod'.
42796 (acorn_mod_SOURCES): New variable.
42797 (acorn_mod_CFLAGS): Likewise.
42798 (acorn_mod_LDFLAGS): Likewise.
42799
42800 * include/types.h (grub_disk_addr_t): New typedef.
42801
42802 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
42803
42804 * geninit.sh: New file.
42805
42806 * geninitheader.sh: Likewise.
42807
42808 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
42809 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
42810 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
42811 * commands/configfile.c (grub_configfile_init)
42812 (grub_configfile_fini): Likewise.
42813 * commands/default.c (grub_default_init, grub_default_fini):
42814 Likewise.
42815 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
42816 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
42817 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
42818 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
42819 Likewise.
42820 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
42821 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
42822 Likewise.
42823 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
42824 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
42825 Likewise.
42826 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
42827 Likewise.
42828 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
42829 Likewise.
42830 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
42831 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
42832 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
42833 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
42834 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
42835 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
42836 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
42837 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
42838 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
42839 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
42840 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
42841 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
42842 * partmap/amiga.c (grub_amiga_partition_map_init)
42843 (grub_amiga_partition_map_fini): Likewise.
42844 * partmap/apple.c (grub_apple_partition_map_init)
42845 (grub_apple_partition_map_fini): Likewise.
42846 * partmap/pc.c (grub_pc_partition_map_init)
42847 (grub_pc_partition_map_fini): Likewise.
42848 * partmap/sun.c (grub_sun_partition_map_init,
42849 grub_sun_partition_map_fini): Likewise.
42850 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
42851 Likewise.
42852
42853 * util/grub-emu.c: Include <grub_modules_init.h>.
42854 (main): Don't initialize and de-initialize any modules directly,
42855 use `grub_init_all' and `grub_fini_all' instead.
42856
42857 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
42858 `grub_vesafb_mod_init'.
42859 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
42860 all users.
42861 * term/i386/pc/vga.c (grub_vga_init): Renamed to
42862 `grub_vga_mod_init'. Updated all users.
42863 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
42864
42865 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
42866 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
42867 rules.
42868
42869 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
42870 Generate a function to initialize the module in utilities.
42871 Updated all callers.
42872 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
42873 initialize the module in utilities. Updated all callers.
42874
42875 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
42876
42877 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
42878 escape sequence and a literal ^L to clear the screen.
42879
42880 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
42881 when returning from Open Firmware.
42882
42883 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
42884
42885 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
42886 (grub_ofconsole_height): Likewise.
42887 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
42888 manually insert a '\n'.
42889 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
42890 `grub_ofconsole_height'. Return early if these are already set.
42891
42892 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
42893
42894 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
42895 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
42896 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
42897 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
42898 and `normal/script.c'.
42899 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42900 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42901 (test_mod_SOURCES): New variable.
42902 (test_mod_CFLAGS): Likewise.
42903 (test_mod_LDFLAGS): Likewise.
42904 (pkgdata_MODULES): Add `test.mod'.
42905 (grub_script.tab.c): New rule.
42906 (grub_script.tab.h): Likewise.
42907
42908 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
42909
42910 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42911 `commands/test.c', `normal/execute.c', `normal/lexer.c',
42912 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42913 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42914 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42915 (test_mod_SOURCES): New variable.
42916 (test_mod_CFLAGS): Likewise.
42917 (pkgdata_MODULES): Add `test.mod'.
42918 (grub_script.tab.c): New rule.
42919 (grub_script.tab.h): Likewise.
42920
42921 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
42922
42923 Add initial scripting support.
42924
42925 * commands/test.c: New file.
42926 * include/grub/script.h: Likewise.
42927 * normal/execute.c: Likewise.
42928 * normal/function.c: Likewise.
42929 * normal/lexer.c: Likewise.
42930 * normal/parser.y: Likewise.
42931 * normal/script.c: Likewise.
42932
42933 * configure.ac: Add `AC_PROG_YACC' test.
42934
42935 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
42936 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
42937 `normal/function.c' and `normal/script.c'.
42938 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
42939 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
42940 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
42941 variables.
42942 (pkgdata_MODULES): Add `test.mod'.
42943 (grub_script.tab.c): New rule.
42944 (grub_script.tab.h): Likewise.
42945
42946 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
42947
42948 * include/grub/normal.h (grub_test_init): New prototype.
42949 (grub_test_fini): Likewise.
42950
42951 * normal/command.c: Include <grub/script.h>.
42952 (grub_command_execute): Rewritten.
42953
42954 * util/grub-emu.c (main): Call `grub_test_init' and
42955 `grub_test_fini'.
42956
42957 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42958
42959 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
42960 to 0.
42961 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
42962 there are no pending characters.
42963
42964 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42965
42966 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
42967 `grub_strndup' to drop device arguments. Replace unnecessary
42968 `grub_strndup' with `grub_strdup'.
42969
42970 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
42971
42972 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
42973 `debug' environment variable has been set.
42974
42975 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
42976
42977 * Makefile.in (install-local): Use $(DATA).
42978 (uninstall): Likewise.
42979 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
42980 (sbin_UTILITIES): ... to here.
42981 (sbin_SCRIPTS): New variable.
42982 (grub_install_SOURCES): New variable.
42983 * util/powerpc/ieee1275/grub-install.in: New file.
42984 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
42985 variable.
42986 (add_segments): Call `grub_util_get_path'.
42987
42988 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
42989
42990 From Timothy Baldwin:
42991 * commands/ls.c (grub_ls_list_files): Close FILE with
42992 grub_file_close.
42993 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
42994
42995 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
42996
42997 * include/grub/parser.h: New file.
42998
42999 * kern/parser.c: Likewise.
43000
43001 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
43002 (grub_setup_SOURCES): Likewise.
43003 (grub_probefs_SOURCES): Likewise.
43004 (grub_emu_SOURCES): Likewise.
43005 (kernel_img_HEADERS): Add `parser.h'.
43006
43007 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43008 (grub_emu_SOURCES): Add `kern/parser.c'.
43009 (grubof_SOURCES): Likewise.
43010
43011 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43012 (grubof_SOURCES): Add `kern/parser.c'.
43013
43014 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
43015
43016 * kern/misc.c (grub_split_cmdline): Removed function.
43017
43018 * kern/rescue.c: Include <grub/parser.h>.
43019 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
43020 of `grub_split_cmdline'.
43021
43022 * normal/command.c: Include <grub/parser.h>.
43023 (grub_command_execute): Use `grub_parser_split_cmdline' instead
43024 of `grub_split_cmdline'.
43025
43026 * normal/completion.c: Include <grub/parser.h>.
43027 (cmdline_state): New variable.
43028 (iterate_dir): End the filename with a quote depending on the
43029 command line state.
43030 (get_state): new function.
43031 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
43032 split the arguments and determine the current argument. When the
43033 argument string is not quoted, escape all spaces.
43034
43035 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43036
43037 * normal/sparc64/setjmp.S: New file.
43038
43039 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43040
43041 * include/grub/sparc64/libgcc.h: New file.
43042 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
43043 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
43044 normal/sparc64/setjmp.c.
43045
43046 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43047
43048 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
43049 * kern/sparc64/cache.S: New file.
43050 * kern/sparc64/cache.c: Removed.
43051 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
43052 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
43053 -mtune=ultrasparc.
43054 (COMMON_LDFLAGS): Add -melf64_sparc.
43055 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
43056 (grubof_SOURCES): Use cache.S instead of cache.c.
43057 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
43058 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
43059 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
43060 commented though.
43061 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
43062 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
43063 (linux_mod_CFLAGS): Commented out.
43064 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
43065 out because module isn't built.
43066 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
43067 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
43068 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
43069 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
43070 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
43071 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43072 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43073 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
43074 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
43075 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
43076 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43077 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43078 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
43079 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
43080
43081 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
43082
43083 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
43084 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
43085 longer, because HFS should not be used on PC.
43086
43087 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43088
43089 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
43090 consistently within the loop.
43091
43092 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
43093
43094 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
43095 directory can not be read.
43096
43097 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43098
43099 * configure.ac (AC_INIT): Increase the version number to 1.91.
43100
43101 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
43102 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
43103 term/i386/pc/serial.c.
43104
43105 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43106
43107 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
43108 file size must be permitted.
43109
43110 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
43111 between %ah and %al.
43112
43113 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43114
43115 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
43116 grub_uint64_t.
43117 Call the hook with a NUL-terminated filename.
43118 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
43119 grub_cpu_to_be32.
43120
43121 * kern/term.c (cursor_state): New variable.
43122 (grub_term_set_current): Reset the cursor state on a new
43123 terminal.
43124 (grub_setcursor): Rewritten to use CURSOR_STATE.
43125 (grub_getcursor): New function.
43126
43127 * include/grub/term.h (grub_getcursor): New prototype.
43128
43129 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
43130 integers on ARM. Reported by Timothy Baldwin
43131 <T.E.Baldwin99@members.leeds.ac.uk>.
43132
43133 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
43134
43135 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
43136 allocated.
43137 (grub_sfs_dir): Likewise.
43138
43139 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
43140
43141 Add support for the SFS filesystem.
43142
43143 * fs/sfs.c: New file.
43144
43145 * DISTLIST: Added `fs/sfs.c'.
43146
43147 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
43148 (grub_probefs_SOURCES): Likewise.
43149 (grub_emu_SOURCES): Likewise.
43150 (pkgdata_MODULES): Add `sfs.mod'.
43151 (sfs_mod_SOURCES): New variable.
43152 (sfs_mod_CFLAGS): Likewise.
43153 (sfs_mod_LDFLAGS): Likewise.
43154
43155 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
43156 (pkgdata_MODULES): Add `sfs.mod'.
43157 (sfs_mod_SOURCES): New variable.
43158 (sfs_mod_CFLAGS): Likewise.
43159
43160 * util/grub-emu.c (main): Call `grub_sfs_init' and
43161 `grub_sfs_fini'.
43162
43163 * include/grub/fs.h (grub_sfs_init): New prototype.
43164 (grub_sfs_fini): Likewise.
43165
43166 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
43167
43168 Add support for the AFFS filesystem.
43169
43170 * fs/affs.c: New file.
43171
43172 * DISTLIST: Added `fs/affs.c'.
43173
43174 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
43175 (grub_probefs_SOURCES): Likewise.
43176 (grub_emu_SOURCES): Likewise.
43177 (pkgdata_MODULES): Add `affs.mod'.
43178 (affs_mod_SOURCES): New variable.
43179 (affs_mod_CFLAGS): Likewise.
43180 (affs_mod_LDFLAGS): Likewise.
43181
43182 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
43183 (pkgdata_MODULES): Add `affs.mod'.
43184 (affs_mod_SOURCES): New variable.
43185 (affs_mod_CFLAGS): Likewise.
43186
43187 * util/grub-emu.c (main): Call `grub_affs_init' and
43188 `grub_affs_fini'.
43189
43190 * include/grub/fs.h (grub_affs_init): New prototype.
43191 (grub_affs_fini): Likewise.
43192
43193 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
43194
43195 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
43196
43197 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
43198
43199 * configure.ac: Accept `x86_64' as host_cpu. In that case add
43200 `-m32' to CFLAGS.
43201
43202 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
43203 linking.
43204
43205 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
43206 (COMMON_LDFLAGS): New variable.
43207 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
43208 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
43209 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
43210 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
43211 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
43212 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
43213 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
43214 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
43215 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
43216 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
43217 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43218 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43219 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
43220 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
43221 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
43222 variables.
43223 (normal_mod_ASFLAGS): Add `-m32'.
43224
43225 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
43226 (grub_host_size_t, grub_host_ssize_t): New types.
43227 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
43228 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
43229 `GRUB_HOST_SIZEOF_VOID_P'.
43230
43231 * include/grub/kernel.h (struct grub_module_header): Type of
43232 member offset changed to `grub_host_off_t'. Type of member size
43233 changed to `grub_host_size_t'.
43234 (struct grub_module_info): Type of member offset changed to
43235 `grub_host_off_t'. Type of member size changed to
43236 `grub_host_size_t'.
43237
43238 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
43239
43240 Make GRUB's kernel compliant to Multiboot Specification.
43241
43242 * kern/i386/pc/startup.S (multiboot_header): New label.
43243 (multiboot_entry): Likewise.
43244 (multiboot_trampoline): Likewise.
43245
43246 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43247 Increased to 0x4A0.
43248
43249 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
43250 put parentheses after a question mark.
43251 [!GRUB_UTIL] (my_mod): New variable.
43252
43253 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
43254
43255 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
43256
43257 Adds support for the XFS filesystem. Btrees are not supported
43258 yet.
43259
43260 * fs/xfs.c: New file.
43261
43262 * DISTLIST: Added `fs/xfs.c'.
43263
43264 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
43265 (grub_probefs_SOURCES): Likewise.
43266 (grub_emu_SOURCES): Likewise.
43267 (pkgdata_MODULES): Add `xfs.mod'.
43268 (xfs_mod_SOURCES): New variable.
43269 (xfs_mod_CFLAGS): Likewise.
43270
43271 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
43272 (pkgdata_MODULES): Add `xfs.mod'.
43273 (xfs_mod_SOURCES): New variable.
43274 (xfs_mod_CFLAGS): Likewise.
43275
43276 * util/grub-emu.c (main): Call `grub_xfs_init' and
43277 `grub_xfs_fini'.
43278
43279 * include/grub/fs.h (grub_xfs_init): New prototype.
43280 (grub_xfs_fini): Likewise.
43281
43282
43283 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
43284
43285 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
43286 color modes, allow greater than 16 colors to be configured as
43287 a default palette.
43288
43289 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43290
43291 * normal/completion.c (complete_arguments): Add the qualifier
43292 const into OPTIONS.
43293
43294 From Omniflux <omniflux+lists@omniflux.com>:
43295 * include/grub/terminfo.h: New file.
43296 * include/grub/tparm.h: Likewise.
43297 * include/grub/i386/pc/serial.h: Likewise.
43298 * term/terminfo.c: Likewise.
43299 * term/tparm.c: Likewise.
43300 * term/i386/pc/serial.c: Likewise.
43301 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
43302 serial.mod.
43303 (terminfo_mod_SOURCES): New variable.
43304 (terminfo_mod_CFLAGS): Likewise.
43305 (serial_mod_SOURCES): Likewise.
43306 (serial_mod_CFLAGS): Likewise.
43307
43308 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
43309
43310 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
43311 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
43312 and kern/powerpc/ieee1275/cmain.c, respectively.
43313
43314 * boot/powerpc/ieee1275/crt0.S: Moved to ...
43315 * kern/powerpc/ieee1275/crt0.S: ... here.
43316
43317 * boot/powerpc/ieee1275/cmain.c: Moved to ...
43318 * kern/powerpc/ieee1275/cmain.c: ... here.
43319
43320 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
43321 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
43322 instead of boot/powerpc/ieee1275/crt0.S and
43323 boot/powerpc/ieee1275/cmain.c, respectively.
43324
43325 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
43326 sectors. It was not used anyway.
43327
43328 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43329
43330 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
43331 `unused parameter' warning.
43332
43333 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43334
43335 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
43336 function.
43337 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
43338 getcharwidth.
43339
43340 2005-08-28 Marco Gerards <metgerards@student.han.nl>
43341
43342 * include/grub/normal.h (enum grub_completion_type): Added
43343 `GRUB_COMPLETION_TYPE_ARGUMENT'.
43344
43345 * normal/cmdline.c (print_completion): Handle
43346 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
43347 * normal/menu_entry.c (store_completion): Likewise.
43348
43349 * normal/completion.c (complete_arguments): New function.
43350 (grub_normal_do_completion): Call `complete_arguments' when the
43351 current words start with a dash.
43352
43353 2005-08-27 Marco Gerards <metgerards@student.han.nl>
43354
43355 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
43356 `gzio.mod' instead of `io.mod').
43357
43358 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
43359
43360 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
43361 (DISTDIRS): Added io and video.
43362 Rewrite the search routine to make an output consistently.
43363
43364 * DISTLIST: Added conf/sparc64-ieee1275.mk,
43365 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
43366 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
43367 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
43368 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
43369 util/powerpc/ieee1275/misc.c.
43370
43371 * include/grub/gzio.h: New file.
43372 * io/gzio.c: Likewise.
43373
43374 * kern/file.c (grub_file_close): Call grub_device_close only if
43375 FILE->DEVICE is not NULL.
43376
43377 * include/grub/mm.h [!NULL] (NULL): New macro.
43378
43379 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
43380
43381 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
43382 (pkgdata_MODULES): Added gzio.mod.
43383 (gzio_mod_SOURCES): New variable.
43384 (gzio_mod_CFLAGS): Likewise.
43385
43386 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
43387 (pkgdata_MODULES): Added gzio.mod.
43388 (gzio_mod_SOURCES): New variable.
43389 (gzio_mod_CFLAGS): Likewise.
43390
43391 * commands/cat.c: Include grub/gzio.h.
43392 (grub_cmd_cat): Use grub_gzfile_open instead of
43393 grub_file_open.
43394
43395 * commands/cmp.c: Include grub/gzio.h.
43396 (grub_cmd_cmp): Use grub_gzfile_open instead of
43397 grub_file_open.
43398
43399 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
43400 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
43401 grub_file_open.
43402 (grub_rescue_cmd_module): Likewise.
43403
43404 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43405
43406 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
43407 kern/sparc64/ieee1275/init.c because it contains _start.
43408 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
43409
43410 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43411
43412 * configure.ac: Add support for sparc64 host with ieee1275
43413 firmware.
43414 * configure: Generated from configure.ac.
43415 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
43416 instead of int.
43417 (grub_ofdisk_read): Likewise.
43418 (grub_ofdisk_open): Use %p to print pointer values, and cast the
43419 pointers as (void *) to remove a warning.
43420 (grub_ofdisk_close): Likewise.
43421 (grub_ofdisk_read): Likewise.
43422 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
43423 returns, so make it return void to remove a warning.
43424 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
43425 Corresponding prototype change.
43426 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
43427 values, and cast the pointers as (void *) to remove a warning.
43428 (grub_mm_dump): Likewise.
43429 * conf/sparc64-ieee1275.mk: New file.
43430 * conf/sparc64-ieee1275.rmk: Likewise.
43431 * include/grub/sparc64/setjmp.h: Likewise.
43432 * include/grub/sparc64/types.h: Likewise.
43433 * include/grub/sparc64/ieee1275/console.h: Likewise.
43434 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
43435 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
43436 * include/grub/sparc64/ieee1275/time.h: Likewise.
43437 * kern/sparc64/cache.c: Likewise.
43438 * kern/sparc64/dl.c: Likewise.
43439 * kern/sparc64/ieee1275/init.c: Likewise.
43440 * kern/sparc64/ieee1275/openfw.c: Likewise.
43441
43442 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
43443
43444 * util/console.c (grub_ncurses_putchar): If C is greater than
43445 0x7f, set C to a question mark.
43446 (grub_ncurses_getcharwidth): New function.
43447 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
43448 getcharwidth.
43449
43450 * normal/menu.c (print_entry): Made aware of Unicode. First,
43451 convert TITLE to UCS-4, and predict the cursor position by
43452 grub_getcharwidth.
43453
43454 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
43455 const to SRC.
43456 * kern/misc.c (grub_utf16_to_utf8): Likewise.
43457
43458 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43459
43460 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
43461 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43462 grub_strcat.
43463
43464 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
43465 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43466 grub_strcpy and grub_strlen. Take it into account that a space
43467 character is inserted as a delimiter.
43468
43469 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43470
43471 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
43472 invalid magic in the error.
43473
43474 * commands/search.c: New file.
43475
43476 * util/grub-emu.c (main): Call grub_search_init and
43477 grub_search_fini.
43478
43479 * kern/rescue.c (grub_rescue_print_disks): Removed.
43480 (grub_rescue_print_devices): New function.
43481 (grub_rescue_cmd_ls): Use grub_device_iterate with
43482 grub_rescue_print_devices instead of grub_disk_dev_iterate with
43483 grub_rescue_print_disks.
43484
43485 * kern/partition.c (grub_partition_iterate): Return the result of
43486 PARTMAP->ITERATE instead of GRUB_ERRNO.
43487
43488 * kern/device.c: Include grub/partition.h.
43489 (grub_device_iterate): New function.
43490
43491 * include/grub/partition.h (grub_partition_iterate): Return int
43492 instead of grub_err_t.
43493
43494 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
43495 prototype.
43496 [GRUB_UTIL] (grub_search_fini): Likewise.
43497
43498 * include/grub/device.h (grub_device_iterate): New prototype.
43499
43500 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43501 commands/search.c.
43502 (pkgdata_MODULES): Added search.mod.
43503 (search_mod_SOURCES): New variable.
43504 (search_mod_CFLAGS): Likewise.
43505
43506 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
43507 (pkgdata_MODULES): Added search.mod.
43508 (search_mod_SOURCES): New variable.
43509 (search_mod_CFLAGS): Likewise.
43510
43511 * commands/ls.c (grub_ls_list_disks): Renamed to ...
43512 (grub_ls_list_devices): ... this, and use grub_device_iterate.
43513 All callers changed.
43514
43515 * DISTLIST: Added commands/search.c.
43516
43517 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43518
43519 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
43520 conversion.
43521 (grub_getcharwidth): New function.
43522
43523 * kern/misc.c (grub_utf8_to_ucs4): New function.
43524
43525 * include/grub/term.h (struct grub_term): Added a new member
43526 "getcharwidth".
43527 (grub_getcharwidth): New prototype.
43528
43529 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
43530
43531 * term/i386/pc/console.c (map_char): New function. Segregated from
43532 grub_console_putchar.
43533 (grub_console_putchar): Use map_char.
43534 (grub_console_getcharwidth): New function.
43535 (grub_console_term): Specified grub_console_getcharwidth as
43536 getcharwidth.
43537
43538 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
43539 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
43540
43541 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
43542 GRUB_ERRNO.
43543 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
43544 on grub_strtoul completely.
43545 (write_char): Declare local variables in the beginning of the
43546 function.
43547 (grub_vesafb_getcharwidth): New function.
43548 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
43549 getcharwidth.
43550
43551 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
43552
43553 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
43554 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
43555 commands/i386/pc/vbetest.c.
43556
43557 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
43558 call grub_vbe_get_controller_info again, because the returned
43559 information is volatile.
43560 (grub_vbe_set_video_mode): Mostly rewritten.
43561 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
43562 grub_vbe_status_t correctly.
43563 (grub_vbe_get_video_mode_info): Likewise.
43564 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
43565 several if statements.
43566
43567 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
43568 * commands/i386/pc/vbeinfo.c: ... this.
43569
43570 * commands/i386/pc/vbe_test.c: Renamed to ...
43571 * commands/i386/pc/vbetest.c: ... this.
43572
43573 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
43574 ...
43575 (grub_cmd_vbeinfo): ... this. Save video modes before
43576 iterating. Skip a video mode, if it is not available, not enough
43577 information is given or it is monochrome. Show the memory
43578 model. Leave the interpretation of MODEVAR to grub_strtoul
43579 completely.
43580 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
43581 (GRUB_MOD_FINI): Likewise.
43582
43583 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
43584 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
43585 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
43586 duplicated grub_env_get. Leave the interpretation of MODEVAR to
43587 grub_strtoul completely.
43588 (real2pm): Removed.
43589 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
43590 (GRUB_MOD_FINI): Likewise.
43591
43592 * normal/misc.c: Include grub/mm.h.
43593
43594 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
43595 vbe_list_modes with vbetest.mod and vbeinfo.mod.
43596 (vbe_list_modes_mod_SOURCES): Removed.
43597 (vbe_list_modes_mod_CFLAGS): Likewise.
43598 (vbe_test_mod_SOURCES): Likewise.
43599 (vbe_test_mod_CFLAGS): Likewise.
43600 (vbeinfo_mod_SOURCES): New variable.
43601 (vbeinfo_mod_CFLAGS): Likewise.
43602 (vbetest_mod_SOURCES): Likewise.
43603 (vbetest_mod_CFLAGS): Likewise.
43604
43605 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
43606
43607 * normal/misc.c: New file.
43608
43609 * DISTLIST: Added normal/misc.c.
43610
43611 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
43612 DISK to HOOK. Call HOOK with DISK.
43613 * partmap/apple.c (apple_partition_map_iterate): Likewise.
43614 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43615 * partmap/sun.c (sun_partition_map_iterate): Likewise.
43616
43617 * normal/menu_entry.c (struct screen): Added a new member
43618 "completion_shown".
43619 (completion_buffer): New global variable.
43620 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
43621 (store_completion): New function.
43622 (complete): Likewise.
43623 (clear_completions): Likewise.
43624 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
43625 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
43626 a tab, call complete.
43627
43628 * normal/completion.c (disk_dev): Removed.
43629 (print_simple_completion): Likewise.
43630 (print_partition_completion): Likewise.
43631 (print_func): New global variable.
43632 (add_completion): Do not take the arguments WHAT or PRINT any
43633 longer. Added a new argument TYPE. Instead of printing directly,
43634 call PRINT_FUNC if not NULL.
43635 All callers changed.
43636 (complete_device): Use a local variable DEV instead of
43637 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
43638 (grub_normal_do_completion): Take a new argument HOOK. Do not
43639 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
43640 empty string, return NULL instead.
43641 All callers changed.
43642
43643 * normal/cmdline.c (print_completion): New function.
43644
43645 * kern/partition.c (grub_partition_iterate): Add an argument DISK
43646 to HOOK.
43647 All callers changed.
43648
43649 * kern/disk.c (grub_print_partinfo): Removed.
43650
43651 * include/grub/partition.h (struct grub_partition_map): Add a new
43652 argument DISK into HOOK of ITERATE.
43653 (grub_partition_iterate): Add a new argument DISK to HOOK.
43654
43655 * include/grub/normal.h (enum grub_completion_type): New enum.
43656 (grub_completion_type_t): New type.
43657 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
43658 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
43659 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
43660 (GRUB_COMPLETION_TYPE_FILE): Likewise.
43661 (grub_normal_do_completion): Added a new argument HOOK.
43662 (grub_normal_print_device_info): New prototype.
43663
43664 * include/grub/disk.h (grub_print_partinfo): Removed.
43665
43666 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
43667 (normal_mod_SOURCES): Likewise.
43668 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43669 (normal_mod_SOURCES): Likewise.
43670
43671 * commands/ls.c (grub_ls_list_disks): Use
43672 grub_normal_print_device_info instead of grub_print_partinfo. Free
43673 PNAME.
43674 (grub_ls_list_files): Use grub_normal_print_device_info instead of
43675 duplicating the code.
43676
43677 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43678
43679 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
43680 follow GCS more precisely.
43681 * commands/i386/pc/vbe_test.c: Likewise.
43682 * include/grub/i386/pc/vbe.h: Likewise.
43683 * term/i386/pc/vesafb.c: Likewise.
43684 * video/i386/pc/vbe.c: Likewise.
43685
43686 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43687
43688 * DISTLIST: Added term/i386/pc/vesafb.c
43689 DISTLIST: Added video/i386/pc/vbe.c
43690 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
43691 DISTLIST: Added commands/i386/pc/vbe_test.c.
43692 * commands/i386/pc/vbe_list_modes.c: New file.
43693 * commands/i386/pc/vbe_test.c: Likewise.
43694 * term/i386/pc/vesafb.c: Likewise.
43695 * video/i386/pc/vbe.c: Likewise.
43696 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
43697 (grub_vbe_probe) Added prototype.
43698 (grub_vbe_set_video_mode) Likewise.
43699 (grub_vbe_get_video_mode) Likewise.
43700 (grub_vbe_get_video_mode_info) Likewise.
43701 (grub_vbe_set_pixel_rgb) Likewise.
43702 (grub_vbe_set_pixel_index) Likewise.
43703 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
43704 (pkgdata_MODULES): Added vesafb.mod.
43705 (pkgdata_MODULES): Added vbe_list_modes.mod.
43706 (pkgdata_MODULES): Added vbe_test.mod.
43707 (vbe_mod_SOURCES): Added.
43708 (vbe_mod_CFLAGS): Likewise.
43709 (vesafb_mod_SOURCES): Likewise.
43710 (vesafb_mod_CFLAGS): Likewise.
43711 (vbe_list_modes_mod_SOURCES): Likewise.
43712 (vbe_list_modes_mod_CFLAGS): Likewise.
43713 (vbe_test_mod_SOURCES): Likewise.
43714 (vbe_test_mod_CFLAGS): Likewise.
43715
43716 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
43717
43718 * normal/command.c (grub_command_execute): If INTERACTIVE is
43719 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
43720 CMDLINE. Disable the pager if INTERACTIVE is true.
43721 All callers are changed.
43722
43723 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
43724 before reading a config file.
43725 * normal/main.c (read_config_file): Even if a command is not
43726 found, register it if it is within an entry.
43727
43728 * util/grub-emu.c: Include sys/types.h and unistd.h.
43729 (options): Added --hold.
43730 (struct arguments): Added a new member "hold".
43731 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
43732 missing.
43733 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
43734 cleared by a debugger, if it is not zero.
43735
43736 * include/grub/normal.h (grub_command_execute): Add an argument
43737 INTERACTIVE.
43738
43739 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
43740
43741 * DISTLIST: Added include/grub/i386/pc/vbe.h.
43742
43743 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
43744
43745 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
43746 program with another one, because the old one didn't detect a bug
43747 in gcc-3.4. Always use regparm 2, because the new test is still
43748 not enough for gcc-4.0. Someone must investigate a simple test
43749 case which detects a bug in gcc-4.0.
43750
43751 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
43752
43753 * DISTLIST: Added normal/completion.c.
43754
43755 * normal/completion.c: New file.
43756
43757 * term/i386/pc/console.c (grub_console_getwh): New function.
43758 (grub_console_term): Assign grub_console_getwh to getwh.
43759
43760 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
43761 function is defined in normal/completion.c as
43762 grub_normal_do_completion.
43763 (grub_cmdline_get): Use grub_normal_do_completion instead of
43764 grub_tab_complete.
43765
43766 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
43767 returns non-zero, otherwise return 0.
43768 (grub_partition_iterate): First, probe the partition map. Then,
43769 call ITERATE only for this partition map.
43770
43771 * kern/misc.c (grub_strncmp): Rewritten.
43772
43773 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
43774 returns non-zero. Otherwise return 0.
43775
43776 * include/grub/partition.h (grub_partition_map_iterate): Return
43777 int instead of void.
43778
43779 * include/grub/normal.h (grub_normal_do_completion): New prototype.
43780
43781 * include/grub/misc.h (grub_strncmp): Change the type of N to
43782 grub_size_t.
43783
43784 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
43785 of void.
43786
43787 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
43788 unsigned explicitly before comparing it with I.
43789
43790 * kern/main.c (grub_env_write_root): Add the attribute unused into
43791 VAR.
43792
43793 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43794 normal/completion.c.
43795 (normal_mod_SOURCES): Likewise.
43796 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43797 (normal_mod_SOURCES): Likewise.
43798
43799 * normal/command.c (grub_iterate_commands): If ITERATE returns
43800 non-zero, return one immediately.
43801
43802 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
43803
43804 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
43805 * kern/i386/pc/startup.S: Updated Global Descriptor table's
43806 descriptions.
43807 (grub_vbe_get_controller_info): New function.
43808 (grub_vbe_get_mode_info): Likewise.
43809 (grub_vbe_set_mode): Likewise.
43810 (grub_vbe_get_mode): Likewise.
43811 (grub_vbe_set_memory_window): Likewise.
43812 (grub_vbe_get_memory_window): Likewise.
43813 (grub_vbe_set_scanline_length): Likewise.
43814 (grub_vbe_get_scanline_length): Likewise.
43815 (grub_vbe_set_display_start): Likewise.
43816 (grub_vbe_get_display_start): Likewise.
43817 (grub_vbe_set_palette_data): Likewise.
43818 * include/grub/i386/pc/vbe.h: New file.
43819
43820 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43821
43822 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
43823 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
43824 * DISTLIST: Likewise.
43825 * kern/ieee1275/of.c: Moved to ...
43826 * kern/ieee1275/ieee1275.c: ... here.
43827
43828 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43829
43830 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
43831 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
43832 Pass 0 as `end' parameter to grub_strtoul().
43833
43834 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43835
43836 * include/grub/powerpc/ieee1275/console.h: Do not include
43837 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
43838 ifdef.
43839 (grub_console_cur_color): Remove i386-specific prototype.
43840 (grub_console_real_putchar): Likewise.
43841 (grub_console_checkkey): Likewise.
43842 (grub_console_getkey): Likewise.
43843 (grub_console_getxy): Likewise.
43844 (grub_console_gotoxy): Likewise.
43845 (grub_console_cls): Likewise.
43846 (grub_console_setcursor): Likewise.
43847 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
43848 Include <grub/machine/console.h>.
43849 * term/ieee1275/ofconsole.c: Likewise.
43850
43851 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
43852
43853 * Makefile.in (LIBLZO): New variable.
43854
43855 * configure.ac: Check for LZO version 2.
43856
43857 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
43858 lzo/lzo1x.h instead of lzo1x.h.
43859
43860 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
43861 of -llzo.
43862
43863 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
43864 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
43865
43866 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
43867 copying the data from PARTITION to P.
43868
43869 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43870
43871 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
43872 negative, unload the module.
43873
43874 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
43875 map is "pc_partition_map" but not "pc".
43876 (usage): Fix the description. The options are --boot-image and
43877 --core-image but not --boot-file or --core-file.
43878 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
43879 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
43880 DEFAULT_DIRECTORY.
43881
43882 * util/i386/pc/grub-install.in: Do not specify --boot-file or
43883 --core-file. Specify INSTALL_DEVICE as an argument.
43884
43885 * util/console.c: Include config.h.
43886 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
43887 [HAVE_NCURSES_H]: Include ncurses.h.
43888 [HAVE_CURSES_H]: Include curses.h.
43889 [!A_NORMAL] (A_NORMAL): Defined as zero.
43890 [!A_STANDOUT] (A_STANDOUT): Likewise.
43891
43892 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
43893 -lncurses.
43894 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
43895
43896 * configure.ac: Check for curses libraries and headers.
43897
43898 * Makefile.in (LIBCURSES): New variable.
43899
43900 * genmk.rb (Script::rule): Set the executable bits.
43901
43902 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
43903 name of the PC partition map is "pc_partition_map" but not "pc".
43904
43905 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43906
43907 * util/i386/pc/grub-install.in (grub_probefs): New variable.
43908 (modules): Likewise.
43909 (usage): Added descriptions for --modules and --grub-probefs.
43910 Handle --modules and --grub-probefs. Save the arguments in MODULES
43911 and GRUB_PROBEFS, respectively.
43912 Auto-detect a filesystem module against GRUBDIR. If the result is
43913 empty and modules are not specified explicitly, abort the
43914 installation. Add the result to MODULES.
43915
43916 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
43917 disk/powerpc/ieee1275/ofdisk.c,
43918 include/grub/powerpc/ieee1275/init.h and
43919 term/powerpc/ieee1275/ofconsole.c.
43920 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
43921 term/ieee1275/ofconsole.c.
43922
43923 * include/grub/powerpc/ieee1275/console.h: Resurrected.
43924
43925 * COPYING: Upgraded to the latest version. Only the address of the
43926 FSF office has changed.
43927
43928 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
43929
43930 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
43931 kern/ieee1275.c with kern/ieee1275/of.c.
43932
43933 * kern/ieee1275.c: Moved to ...
43934 * kern/ieee1275/of.c: ... here.
43935
43936 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
43937
43938 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
43939 readability.
43940
43941 * config.guess: Updated to the latest version from gnulib.
43942 * config.sub: Likewise.
43943 * install.sh: Likewise.
43944 * mkinstalldirs: Likewise.
43945
43946 * include/grub/console.h: Removed. This file is arch-specific. Do
43947 not put this in include/grub.
43948
43949 * include/grub/i386/pc/console.h: Resurrected.
43950
43951 * util/console.c: Include grub/machine/console.h instead of
43952 grub/console.h.
43953 * util/grub-emu.c: Likewise.
43954
43955 2005-08-04 Marco Gerards <metgerards@student.han.nl>
43956
43957 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
43958 hardcoded value.
43959
43960 From Vincent Pelletier <subdino2004@yahoo.fr>
43961 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
43962 Redefined to use grub_getwh.
43963 (grub_term): New member named getwh.
43964 (grub_getwh): New prototype.
43965 * kern/term.c (grub_getwh): New function.
43966 * term/i386/pc/console.c (grub_console_getwh): New function.
43967 (grub_console_term): New member `getwh'.
43968 * term/i386/pc/vga.c (grub_vga_getwh): New function.
43969 (grub_vga_term): New member `getwh'.
43970 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
43971 grub_ssize_t.
43972 (grub_ofconsole_getw): New function.
43973 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
43974 (grub_ofconsole_term): New field named getwh and new initial
43975 value.
43976
43977 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
43978
43979 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
43980 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
43981 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
43982 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
43983 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
43984 of <grub/machine/ieee1275.h>.
43985 * commands/ieee1275/reboot.c: Likewise.
43986 * boot/powerpc/ieee1275/ieee1275.c: Move ...
43987 * kern/ieee1275.c: ... to here. All users updated. Change all
43988 parameter structs to use new type `grub_ieee1275_cell_t'.
43989 * term/powerpc/ieee1275/ofconsole.c: Move ...
43990 * term/ieee1275/ofconsole.c: ... to here. All users updated.
43991 * disk/powerpc/ieee1275/ofdisk.c: Move ...
43992 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
43993 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
43994 to return int.
43995 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
43996 Remove unused prototypes. All users updated.
43997 * include/grub/powerpc/ieee1275/console.h: Removed.
43998 * include/grub/powerpc/ieee1275/ieee1275.h: Define
43999 `grub_ieee1275_cell_t'.
44000 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
44001 Cast comparisons with -1 to the correct type.
44002 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
44003 type to match `grub_ieee1275_entry_fn'.
44004
44005 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
44006
44007 * DISTLIST: Added util/i386/pc/grub-probefs.c.
44008
44009 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
44010 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
44011 partmap/sun.c.
44012 (grub_probefs_SOURCES): New variable.
44013
44014 * util/i386/pc/grub-probefs.c: New file.
44015
44016 * util/i386/pc/grub-setup.c (main): Call
44017 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
44018 grub_hfs_init and grub_jfs_init to initialize the system. Call
44019 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
44020 grub_pc_partition_map_fini to finish the system.
44021
44022 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
44023
44024 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
44025 function.
44026 (grub_multiboot_load_elf32): Likewise.
44027 (grub_multiboot_is_elf64): Likewise.
44028 (grub_multiboot_load_elf64): Likewise.
44029 (grub_multiboot_load_elf): Likewise.
44030 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
44031 an ELF32 or ELF64 file.
44032 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
44033
44034 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
44035 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
44036 NULL before calling FS->LABEL.
44037 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
44038 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
44039 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
44040 before calling FS->LABEL.
44041
44042 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
44043
44044 * util/i386/pc/grub-install.in (datadir): New variable.
44045 (libdir): Removed.
44046 (pkgdatadir): New variable.
44047 (pkglibdir): Removed.
44048
44049 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
44050
44051 * DISTLIST: Added util/i386/pc/grub-install.in.
44052
44053 * util/i386/pc/grub-install.in: New file.
44054
44055 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
44056 (grub_install_SOURCES): Likewise.
44057
44058 * genmk.rb: Added support for scripts.
44059 (Script): New class.
44060 (scripts): New variable.
44061
44062 * Makefile.in (install-local): Install sbin_SCRIPTS by
44063 INSTALL_SCRIPT.
44064 (uninstall): Remove sbin_SCRIPTS.
44065
44066 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
44067 device, try to get a GRUB device by
44068 grub_util_biosdisk_get_grub_dev.
44069 Free DEST_DEV.
44070
44071 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
44072 description for --device-map.
44073
44074 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44075
44076 Change the semantics of variable hooks. They now return strings
44077 instead of error values.
44078
44079 * util/i386/pc/grub-setup.c: Include grub/env.h.
44080 (setup): Use grub_device_set_root instead of grub_env_set.
44081
44082 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
44083 grub_env_get instead of grub_device_set_root and
44084 grub_device_get_root, respectively.
44085
44086 * kern/main.c (grub_env_write_root): New function.
44087 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
44088 grub_env_set instead of grub_device_set_root.
44089
44090 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
44091 many variables.
44092 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
44093 rather than calling ENV->WRITE_HOOK afterwards.
44094 (grub_env_get): Return the result of ENV->READ_HOOK rather than
44095 passing a pointer of a pointer.
44096 (grub_register_variable_hook): Change the types of "read_hook" and
44097 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
44098 respectively.
44099 Allocate the default empty string on the heap, because this string
44100 may be freed later.
44101
44102 * kern/device.c: Include grub/env.h.
44103 (grub_device_set_root): Removed.
44104 (grub_device_get_root): Likewise.
44105 (grub_device_open): Use grub_env_get instead of
44106 grub_device_get_root.
44107
44108 * include/grub/env.h (grub_env_read_hook_t): New type.
44109 (grub_env_write_hook_t): Likewise.
44110 (grub_env_var): Change the types of "read_hook" and "write_hook"
44111 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
44112 (grub_register_variable_hook): Likewise.
44113
44114 * include/grub/device.h (grub_device_set_root): Removed.
44115 (grub_device_set_root): Likewise.
44116
44117 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
44118 make sure that DIRNAME terminates with '/', so that
44119 grub_fat_find_dir will fail if PATH is not a directory.
44120
44121 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
44122 from DIRNAME.
44123 Use the qualifier auto for print_files and print_files_long.
44124 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
44125 as a regular file.
44126 Put a newline only if there is no error.
44127 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
44128 used.
44129
44130 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44131
44132 * kern/partition.c (grub_partition_probe): Initialize PART to
44133 NULL. Otherwise, when no partition map is registered, this returns
44134 a garbage.
44135
44136 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
44137
44138 * partmap/apple.c (apple_partition_map_iterate): Check if POS
44139 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
44140 valid.
44141
44142 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
44143
44144 * commands/ls.c (grub_ls_list_disks): Print the filesystem
44145 information on each device, if it does not have partitions. Print
44146 "Device" instead of "Disk", because this function is not specific
44147 to disk devices.
44148
44149 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
44150 static to ensure that it is put on the memory rather than a
44151 register.
44152
44153 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44154
44155 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
44156 (grub_cat_init): Likewise.
44157 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
44158 (options): Likewise.
44159 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
44160 (grub_configfile_init): Likewise.
44161 * font/manager.c (GRUB_MOD_INIT): Likewise.
44162 * commands/help.c (GRUB_MOD_INIT): Likewise.
44163 (grub_help_init): Likewise.
44164 * normal/command.c (grub_command_init): Likewise.
44165 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
44166 * disk/loopback.c (grub_loop_init): Likewise.
44167 (GRUB_MOD_INIT): Likewise.
44168 * commands/ls.c (grub_ls_init): Likewise.
44169 (GRUB_MOD_INIT): Likewise.
44170 (options): Likewise.
44171 * commands/boot.c (grub_boot_init): Likewise.
44172 (GRUB_MOD_INIT): Likewise.
44173 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
44174 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
44175 (GRUB_MOD_INIT): Likewise.
44176 * commands/cmp.c (grub_cmp_init): Likewise.
44177 (GRUB_MOD_INIT): Likewise.
44178
44179 * normal/arg.c: Use <> instead of "" to include header files.
44180 (SHORT_ARG_HELP): New macro.
44181 (SHORT_ARG_USAGE): Likewise.
44182 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
44183 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
44184 descriptions.
44185 (find_short): Check if C is 'h' or 'u' explicitly.
44186 (grub_arg_show_help): Use space characters instead of tabs. Treat
44187 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
44188 are shown with --help and --usage only if they are not used for
44189 the command itself.
44190 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
44191 'h' and 'u'.
44192
44193 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
44194 const into "longarg". Change the type of "shortarg" to int.
44195
44196 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44197
44198 * boot/i386/pc/boot.S (boot_drive_check): New label.
44199
44200 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
44201 macro.
44202
44203 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
44204 which do not pass a boot drive correctly. Copied from GRUB Legacy.
44205
44206 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44207
44208 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
44209 When turning off Gate A20, skip the check and return immediately,
44210 because this is not fatal usually.
44211
44212 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
44213
44214 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
44215 be 0x7C00 instead of 0x8000.
44216
44217 * boot/i386/pc/pxeboot.S: Rewritten.
44218
44219 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
44220 EXT_C.
44221 (gate_a20_check_state): Read a byte from 0x108000. Invert the
44222 result.
44223
44224 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
44225
44226 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
44227 robustness. This routine now supports a BIOS call and System
44228 Control Port A to modify the gate A20.
44229
44230 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44231 Increased to 0x440.
44232
44233 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
44234
44235 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
44236 device path and resulting ihandle.
44237 (grub_ofdisk_close): dprintf the ihandle being closed.
44238 (grub_ofdisk_read): dprintf function parameters.
44239 * kern/mm.c (grub_mm_init_region): Likewise.
44240 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
44241 (grub_linux_boot): dprintf the Linux entry point, initrd address and
44242 size, and boot arguments.
44243 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
44244 before loading into memory.
44245 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
44246 before loading into memory.
44247
44248 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
44249
44250 * kern/mm.c: Added much documentation.
44251 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
44252 8, set to 5 instead of 8.
44253
44254 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
44255
44256 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
44257
44258 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
44259 (grub_mkdevicemap_SOURCES): New variable.
44260
44261 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
44262 lib/device.c of GRUB Legacy.
44263
44264 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
44265
44266 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
44267 instead of PATH is NULL.
44268
44269 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
44270
44271 * commands/cmp.c (BUFFER_SIZE): New macro.
44272 (grub_cmd_cmp): Close the right file at the right time. Compare
44273 only data just read. Don't report files of different size as
44274 identical. Dynamically allocate buffers. Move variable
44275 declarations at the beginning of function.
44276
44277 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
44278
44279 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
44280 reverse.
44281
44282 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
44283
44284 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
44285 when backspace is pressed at beginning of line.
44286
44287 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
44288
44289 * DISTLIST: Added genfslist.sh.
44290
44291 * normal/main.c (fs_module_list): New variable.
44292 (autoload_fs_module): New function.
44293 (read_fs_list): Likewise.
44294 (grub_normal_execute): Call read_fs_list.
44295
44296 * kern/fs.c (grub_fs_autoload_hook): New variable.
44297 (grub_fs_probe): Added support for auto-loading.
44298
44299 * include/grub/normal.h (struct grub_fs_module_list): New struct.
44300 (grub_fs_module_list_t): New type.
44301
44302 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
44303 (grub_fs_autoload_hook): New prototype.
44304
44305 * genfslist.sh: New file.
44306
44307 * genmk.rb: Added a rule to generate a filesystem list.
44308
44309 2005-06-30 Marco Gerards <metgerards@student.han.nl>
44310
44311 * configure.ac: Fix the test for cross-compiling.
44312
44313 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
44314 define GRUB_UTIL anymore.
44315
44316 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
44317 so this function works on other systems than just big endian.
44318 (load_modules): Likewise.
44319 (add_segments): Likewise.
44320
44321 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
44322
44323 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
44324 contains `l' modifier, get a long from va_arg().
44325
44326 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
44327
44328 * kern/mm.c (grub_free): If the next free block which is being
44329 merged is the first free block, set the first block to the block
44330 being freed.
44331 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
44332
44333 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44334
44335 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
44336 `grub_ieee1275_chosen'.
44337
44338 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44339
44340 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
44341 (grub_ieee1275_chosen): New variable.
44342 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
44343 `chosen'.
44344 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
44345 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
44346 Rename first argument to `phandle' for consistency.
44347 (grub_ieee1275_get_property_length): Likewise.
44348 (grub_ieee1275_next_property): Likewise. Change type of first argument
44349 to grub_ieee1275_phandle_t.
44350 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
44351 Move export next to declaration.
44352 (grub_ieee1275_chosen): New variable.
44353 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
44354 Correct cosmetic typo.
44355 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
44356 `grub_ieee1275_chosen'.
44357 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
44358 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
44359 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
44360 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
44361 `grub_ieee1275_chosen'.
44362
44363 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
44364
44365 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
44366 /chosen/bootargs.
44367 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
44368 /chosen/bootargs as "variable=value" pairs.
44369
44370 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
44371
44372 * include/grub/misc.h (grub_dprintf): New macro.
44373 (grub_real_dprintf): New prototype.
44374 (grub_strword): Likewise.
44375 (grub_iswordseparator): Likewise.
44376 * kern/misc.c (grub_real_dprintf): New function.
44377 (grub_strword): Likewise.
44378 (grub_iswordseparator): Likewise.
44379
44380 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
44381
44382 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
44383 (roundup): Remove macro.
44384 (grub_ieee1275_flags): Make static.
44385 (grub_ieee1275_realmode): Remove.
44386 (grub_ieee1275_test_flag): New function.
44387 (grub_ieee1275_set_flag): Likewise.
44388 (find_options): Rename to `grub_ieee1275_find_options'; update
44389 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
44390 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
44391 (cmain): New prototype.
44392 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
44393 `grub_ieee1275_flags' directly.
44394 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
44395 machine/biosdisk.h.
44396 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
44397 Don't include grub/machine/init.h.
44398 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
44399 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
44400 Remove prototype.
44401 (grub_ieee1275_realmode): Likewise.
44402 (grub_ieee1275_flag): New enum.
44403 (grub_ieee1275_test_flag): New prototype.
44404 (grub_ieee1275_set_flag): New prototype.
44405 * include/grub/powerpc/ieee1275/init.h: Remove file.
44406 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
44407 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
44408 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
44409 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
44410 comment.
44411 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
44412 `grub_ieee1275_test_flag'.
44413 (grub_ieee1275_encode_devname): Likewise.
44414
44415 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
44416
44417 * include/grub/powerpc/ieee1275/ieee1275.h
44418 (grub_ieee1275_encode_devname): New prototype.
44419 (grub_ieee1275_get_filename): Likewise.
44420 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
44421 function.
44422 (grub_set_prefix): Likewise.
44423 (grub_machine_init): Call grub_set_prefix.
44424 * kern/powerpc/ieee1275/openfw.c: Fix typos.
44425 (grub_parse_type): New enum.
44426 (grub_ieee1275_get_devargs): New function.
44427 (grub_ieee1275_get_devname): Likewise.
44428 (grub_ieee1275_parse_args): Likewise.
44429 (grub_ieee1275_get_filename): Likewise.
44430 (grub_ieee1275_encode_devname): Likewise.
44431
44432 2005-03-30 Marco Gerards <metgerards@student.han.nl>
44433
44434 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
44435 `grub_loader_unset'.
44436
44437 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
44438
44439 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
44440 instead of grub_ieee1275_interpret.
44441 (grub_halt_init): New function.
44442 (grub_halt_fini): Likewise.
44443 (GRUB_MOD_INIT): Correct message grammar.
44444 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
44445 instead of grub_ieee1275_interpret.
44446 (grub_reboot_init): New function.
44447 (grub_reboot_fini): Likewise.
44448 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
44449 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
44450 util/i386/pc/misc.c with commands/ieee1275/halt.c,
44451 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
44452 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
44453 function.
44454 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
44455 Add prototype.
44456 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
44457 prototype.
44458 (grub_halt): Likewise.
44459 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
44460 (cmain): Remove __attribute__((unused)).
44461 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
44462 (grub_heap_len): Likewise.
44463 (grub_machine_fini): New function.
44464 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
44465 (grub_halt): Likewise.
44466 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
44467 function.
44468 * util/powerpc/ieee1275/misc.c: New file.
44469
44470 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
44471
44472 * DISTLIST: New file.
44473 * gendistlist.sh: Likewise.
44474
44475 * Makefile.in (COMMON_DISTFILES): Removed.
44476 (BOOT_DISTFILES): Likewise.
44477 (CONF_DISTFILES): Likewise.
44478 (DISK_DISTFILES): Likewise.
44479 (FS_DISTFILES): Likewise.
44480 (INCLUDE_DISTFILES): Likewise.
44481 (KERN_DISTFILES): Likewise.
44482 (LOADER_DISTFILES): Likewise.
44483 (TERM_DISTFILES): Likewise.
44484 (UTIL_DISTFILES): Likewise.
44485 (DISTFILES): Likewise.
44486 (uninstall): Uninstall files in $(pkgdata_DATA).
44487 (DISTLIST): New target.
44488 (distdir): Use the contents of the file DISTLIST to get a list of
44489 distributed files.
44490
44491 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44492
44493 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
44494 descriptor. This is ported from GRUB Legacy.
44495
44496 * gencmdlist.sh: Added an extra semicolon to make it work with
44497 old sed versions. Reported by Robert Bihlmeyer
44498 <robbe@orcus.priv.at>.
44499
44500 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
44501
44502 Automatic loading of commands is supported.
44503
44504 * normal/main.c (read_command_list): New function.
44505 (grub_normal_execute): Call read_command_list.
44506
44507 * normal/command.c (grub_register_command): Return zero or CMD.
44508 Allocate CMD->NAME from the heap.
44509 Initialize CMD->MODULE_NAME to zero.
44510 Find the same name as well. If the same command is found and it is
44511 a dummy command, overwrite members. If it is not a dummy command,
44512 return zero.
44513 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
44514 (grub_command_find): If a dummy command is found, load a module
44515 and retry to find a command only once.
44516
44517 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
44518 make sure that each command is loaded.
44519
44520 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
44521 macro.
44522 (struct grub_command): Remove const from the member `name'.
44523 Add a new member `module_name'.
44524 (grub_register_command): Return grub_command_t.
44525
44526 * commands/help.c (grub_cmd_help): Call grub_command_find to make
44527 sure that each command is loaded.
44528
44529 * genmk.rb (PModule::rule): Specify a module name without the
44530 suffix ".mod" to gencmdlist.sh.
44531
44532 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44533
44534 * gencmdlist.sh: New file.
44535
44536 * genmk.rb (PModule::rule): Generate a rule for a command list.
44537 Clean command.lst.
44538 Generate command.lst from $(COMMANDFILES).
44539
44540 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
44541 (DATA): Added $(pkgdata_DATA).
44542 (install-local): Install files in $(pkgdata_DATA).
44543
44544 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44545
44546 * term/i386/pc/vga.c (debug_command): Removed.
44547 (GRUB_MOD_INIT): Do not register the command "debug".
44548
44549 From Hollis Blanchard:
44550 * commands/configfile.c: New file.
44551 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44552 commands/configfile.c.
44553 (pkgdata_MODULES): Added configfile.mod.
44554 (configfile_mod_SOURCES): New variable.
44555 (configfile_mod_CFLAGS): Likewise.
44556 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44557 commands/configfile.c.
44558 (pkgdata_MODULES): Added configfile.mod.
44559 (configfile_mod_SOURCES): New variable.
44560 (configfile_mod_CFLAGS): Likewise.
44561 * util/grub-emu.c (main): Call grub_configfile_init and
44562 grub_configfile_fini.
44563 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
44564 prototype.
44565 [GRUB_UTIL] (grub_configfile_fini): Likewise.
44566
44567 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44568
44569 * normal/arg.c (grub_arg_show_help): Do not show the bug report
44570 address.
44571
44572 * commands/help.c (grub_cmd_help): Do not print newlines after
44573 the last command in print_command_help.
44574
44575 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44576
44577 * commands/default.h: New file.
44578 * commands/timeout.h: Likewise.
44579 * normal/context.c: Likewise.
44580
44581 * util/misc.c: Do not include sys/times.h.
44582 Include sys/time.h and grub/machine/time.h.
44583 (grub_get_rtc): Rewritten with gettimeofday.
44584
44585 * util/grub-emu.c (main): Call grub_default_init and
44586 grub_timeout_init before grub_normal_init, and call
44587 grub_timeout_fini and grub_default_fini after grub_main.
44588
44589 * util/console.c (grub_ncurses_checkkey): Return the read
44590 character or -1.
44591
44592 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
44593 timeouts.
44594
44595 * normal/main.c (read_config_file): Push MENU. If this fails,
44596 print an error and wait for a user input.
44597 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
44598 If a menu is empty or an error occurs, pop MENU.
44599 (grub_normal_execute): Pop and free MENU after grub_menu_run
44600 returns.
44601
44602 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
44603
44604 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
44605 include time.h.
44606 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44607 without GRUB_UTIL.
44608 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
44609 time.h.
44610 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44611 without GRUB_UTIL.
44612
44613 * include/grub/normal.h (struct grub_menu_list): New struct.
44614 (grub_menu_list_t): New type.
44615 (struct grub_context): New struct.
44616 (grub_context_t): New type.
44617 (grub_register_command): Got rid of EXPORT_FUNC.
44618 (grub_unregister_command): Likewise.
44619 (grub_context_get): New prototype.
44620 (grub_context_get_current_menu): Likewise.
44621 (grub_context_push_menu): Likewise.
44622 (grub_context_pop_menu): Likewise.
44623 [GRUB_UTIL] (grub_default_init): Likewise.
44624 [GRUB_UTIL] (grub_default_fini): Likewise.
44625 [GRUB_UTIL] (grub_timeout_init): Likewise.
44626 [GRUB_UTIL] (grub_timeout_fini): Likewise.
44627
44628 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
44629 commands/timeout.c and normal/context.c.
44630 (pkgdata_MODULES): Added default.mod and timeout.mod.
44631 (normal_mod_SOURCES): Added normal/context.c.
44632 (default_mod_SOURCES): New variable.
44633 (default_mod_CFLAGS): Likewise.
44634 (timeout_mod_SOURCES): Likewise.
44635 (timeout_mod_CFLAGS): Likewise.
44636 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
44637 conf/i386-pc.rmk.
44638 (pkgdata_MODULES): Added default.mod and timeout.mod.
44639 (normal_mod_SOURCES): Added normal/context.c.
44640 (default_mod_SOURCES): New variable.
44641 (default_mod_CFLAGS): Likewise.
44642 (timeout_mod_SOURCES): Likewise.
44643 (timeout_mod_CFLAGS): Likewise.
44644
44645 * Makefile.in (all-local): Added $(MKFILES).
44646
44647 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
44648
44649 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
44650 (grub_emu_SOURCES): Likewise.
44651 (pkgdata_MODULES): Add `sun.mod'.
44652 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44653 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44654 `partmap/sun.c'.
44655 (pkgdata_MODULES): Add `sun.mod'.
44656 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44657 * include/grub/partition.h (grub_sun_partition_map_init): New
44658 prototype.
44659 (grub_sun_partition_map_fini): Likewise.
44660 * partmap/sun.c: New file.
44661 * util/grub-emu.c (main): Initialize and de-initialize the sun
44662 partitionmap support.
44663
44664 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
44665
44666 This implements an Emacs-like menu entry editor.
44667
44668 * normal/menu_entry.c: New file.
44669
44670 * util/console.c (grub_ncurses_putchar): Translate some Unicode
44671 characters to ASCII.
44672 (saved_char): New variable.
44673 (grub_ncurses_checkkey): Rewritten completely.
44674 (grub_ncurses_getkey): Likewise.
44675 (grub_ncurses_init): Call raw instead of cbreak.
44676
44677 * normal/menu.c (print_entry): Do not put a space.
44678 (init_page): Renamed to ...
44679 (grub_menu_init_page): ... this. All callers changed.
44680 (edit_menu_entry): Removed.
44681 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
44682
44683 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
44684
44685 * kern/misc.c (grub_vprintf): Call grub_refresh.
44686
44687 * normal/menu.c (DISP_LEFT): Renamed to ...
44688 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
44689 * normal/menu.c (DISP_UP): Renamed to ...
44690 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
44691 * normal/menu.c (DISP_RIGHT): Renamed to ...
44692 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
44693 * normal/menu.c (DISP_DOWN): Renamed to ...
44694 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
44695 * normal/menu.c (DISP_HLINE): Renamed to ...
44696 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
44697 * normal/menu.c (DISP_VLINE): Renamed to ...
44698 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
44699 * normal/menu.c (DISP_UL): Renamed to ...
44700 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
44701 * normal/menu.c (DISP_UR): Renamed to ...
44702 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
44703 * normal/menu.c (DISP_LL): Renamed to ...
44704 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
44705 * normal/menu.c (DISP_LR): Renamed to ...
44706 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
44707 * normal/menu.c (TERM_WIDTH): Renamed to ...
44708 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
44709 * normal/menu.c (TERM_HEIGHT): Renamed to ...
44710 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
44711 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
44712 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
44713 * normal/menu.c (TERM_MARGIN): Renamed to ...
44714 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
44715 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
44716 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
44717 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
44718 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
44719 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
44720 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
44721 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
44722 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
44723 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
44724 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
44725 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
44726 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
44727 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
44728 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
44729 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
44730 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
44731 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
44732 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
44733 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
44734 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
44735 All callers changed.
44736
44737 * include/grub/normal.h: New prototype.
44738
44739 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44740 normal/menu_entry.c.
44741 (normal_mod_SOURCES): Likewise.
44742 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44743 (normal_mod_SOURCES): Likewise.
44744
44745 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
44746
44747 * include/grub/normal.h (grub_halt_init): New prototype.
44748 (grub_halt_fini): Likewise.
44749 (grub_reboot_init): Likewise.
44750 (grub_reboot_fini): Likewise.
44751
44752 * util/grub-emu.c: Include signal.h.
44753 (main_env): New global variable.
44754 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
44755 catch C-c.
44756 (grub_machine_fini): New function.
44757 (main): Call grub_halt_init and grub_reboot_init before
44758 grub_main, and grub_reboot_fini and grub_halt_fini after it.
44759 Call setjmp with MAIN_ENV to go back afterwards.
44760 Call grub_machine_fini right before return.
44761
44762 * include/grub/util/misc.h: Include setjmp.h.
44763 (main_env): New prototype.
44764
44765 * include/grub/kernel.h (grub_machine_fini): New prototype.
44766 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
44767 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
44768
44769 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
44770 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
44771 * term/i386/pc/console.c (grub_console_fini): Likewise.
44772
44773 * util/i386/pc/misc.c: New file.
44774
44775 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44776 util/i386/pc/misc.c, commands/i386/pc/halt.c and
44777 commands/i386/pc/reboot.c.
44778
44779 2005-02-14 Guillem Jover <guillem@hadrons.org>
44780
44781 * include/grub/dl.h (grub_dl_check_header): New prototype.
44782 (grub_arch_dl_check_header): Change return type to grub_err_t,
44783 remove size parameter and export function. Update all callers.
44784 * kern/dl.c (grub_dl_check_header): New function.
44785 (grub_dl_load_core): Use `grub_dl_check_header' instead of
44786 `grub_arch_dl_check_header'. Check ELF type. Check if sections
44787 are inside the core.
44788 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
44789 independent ELF header checks.
44790 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
44791 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
44792 `grub_dl_check_header' instead of explicit checks. Check for the
44793 ELF type.
44794 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
44795 `grub_dl_check_header' instead of explicit checks. Remove arch
44796 specific ELF header checks.
44797
44798 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
44799 argument SIZE.
44800
44801 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
44802
44803 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
44804 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
44805
44806 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
44807
44808 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
44809 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
44810 (part_map_iterate): Clear `grub_errno' and return 0 if
44811 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
44812 * partmap/amiga.c (amiga_partition_map_iterate): Return
44813 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
44814 * partmap/apple.c (apple_partition_map_iterate): Likewise.
44815
44816 2005-02-01 Guillem Jover <guillem@hadrons.org>
44817
44818 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
44819 help info.
44820
44821 2005-01-31 Marco Gerards <metgerards@student.han.nl>
44822
44823 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
44824 Removed prototype.
44825 (grub_rescue_cmd_linux): New prototype.
44826 (grub_rescue_cmd_initrd): Likewise.
44827 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
44828 `bi_rec'.
44829 (grub_linux_release_mem): Release the memory for the initrd.
44830 (grub_load_linux): Renamed from this...
44831 (grub_rescue_cmd_linux): ...To this. Changed all callers.
44832 Changed `entry' not to be static. Loop over memory regions to
44833 find another one when the default fails.
44834 (grub_rescue_cmd_initrd): New function.
44835 (grub_linux_init): Remove function.
44836 (grub_linux_fini): Likewise.
44837 (GRUB_MOD_INIT): Register `initrd'.
44838 (GRUB_MOD_FINI): Unregister `initrd'.
44839 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
44840 Function removed.
44841 (grub_linux_normal_fini): Likewise.
44842 (GRUB_MOD_INIT): Register `initrd'.
44843 (GRUB_MOD_FINI): Unregister `initrd'.
44844
44845 2005-01-31 Marco Gerards <metgerards@student.han.nl>
44846
44847 * commands/help.c: New file.
44848 * normal/arg.c (show_help): Renamed to...
44849 (grub_arg_show_help): ... this.
44850 * commands/i386/pc/halt.c: New file.
44851 * commands/i386/pc/reboot.c: Likewise.
44852 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
44853 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
44854 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
44855 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
44856 variables.
44857 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44858 `commands/help.c'.
44859 (pkgdata_MODULES): Add `help.mod'.
44860 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
44861 * grub/i386/pc/init.h (grub_reboot): New prototype.
44862 (grub_halt): Likewise.
44863 * include/grub/normal.h (grub_arg_show_help): New prototype.
44864 (grub_help_init): Likewise.
44865 (grub_help_fini): Likewise.
44866 * util/grub-emu.c (main): Initialize and deinitialize the help
44867 command.
44868
44869 * normal/cmdline.c (grub_cmdline_get): Doc fix.
44870
44871 * normal/command.c (grub_command_init): Fixed the description of
44872 the `set' and `unset' commands.
44873
44874 2005-01-31 Marco Gerards <metgerards@student.han.nl>
44875
44876 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
44877 function.
44878 * commands/ieee1275/halt.c: New file.
44879 * commands/ieee1275/reboot.c: Likewise.
44880 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
44881 `__attribute__ ((unused))'. Some GCS related fixed.
44882 (grub_suspend_init) [GRUB_UTIL]: Function removed.
44883 (grub_suspend_fini): Likewise.
44884 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
44885 and `halt.mod'.
44886 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
44887 (halt_mod_CFLAGS): New variables.
44888 * include/grub/powerpc/ieee1275/ieee1275.h
44889 (grub_ieee1275_interpret): New prototype.
44890
44891 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
44892
44893 * include/grub/misc.h (memmove): New prototype.
44894 (memcpy): Likewise.
44895
44896 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
44897
44898 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
44899 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
44900
44901 2005-01-22 Marco Gerards <metgerards@student.han.nl>
44902
44903 * kern/misc.c (grub_strndup): Function rewritten.
44904
44905 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
44906
44907 * normal/menu.c (TERM_WIDTH): Macro redefined.
44908 (TERM_TOP_BORDER_Y): Likewise.
44909 (draw_border): Replaced while-loop by a for-loop. Make the number
44910 of lines consistent with the number of lines displayed in
44911 print_entries. Added a margin below the rectangle.
44912 (print_entry): Make the entry fit in the rectangle.
44913 (print_entries): Display the scroll arrows next to the right
44914 border.
44915
44916 2005-01-21 Marco Gerards <metgerards@student.han.nl>
44917
44918 * fs/minix.c (grub_minix_find_file): Reserve more space for
44919 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
44920 `grub_strncpy' to copy `path' into it.
44921
44922 2005-01-21 Marco Gerards <metgerards@student.han.nl>
44923
44924 Add the loopback device, a device via which files can be accessed
44925 as devices.
44926
44927 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
44928 (pkgdata_MODULES): Add loopback.mod.
44929 (loopback_mod_SOURCES): New variable.
44930 (loopback_mod_CFLAGS): Likewise.
44931 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44932 `disk/loopback.c'.
44933 (pkgdata_MODULES): Add loopback.mod.
44934 (loopback_mod_SOURCES): New variable.
44935 (loopback_mod_CFLAGS): Likewise.
44936 * disk/loopback.c: new file.
44937 * include/grub/normal.h (grub_loop_init): New prototype.
44938 (grub_loop_fini): New prototype.
44939 * util/grub-emu.c (main): Initialize and de-initialize loopback
44940 support.
44941 * include/grub/disk.h (grub_disk_dev_id): Add
44942 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
44943
44944 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
44945
44946 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
44947 function.
44948 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
44949 (suspend_mod_SOURCES): New variable.
44950 (suspend_mod_CFLAGS): Likewise.
44951 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
44952 New prototype.
44953 * commands/ieee1275/suspend.c: New file.
44954
44955 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
44956
44957 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
44958 ((unused))' to `__attribute__ ((used))'.
44959 (GRUB_MOD_FINI): Likewise.
44960 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
44961 * genmk.rb (PModule): Assign space to common symbols when linking
44962 modules.
44963
44964 2005-01-20 Marco Gerards <metgerards@student.han.nl>
44965
44966 * include/grub/mm.h (grub_mm_init_region): Change the type of the
44967 `unsigned' arguments to `grub_size_t'.
44968 (grub_malloc): Likewise.
44969 (grub_realloc): Likewise.
44970 (grub_memalign): Likewise.
44971 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
44972 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
44973 * util/misc.c (grub_malloc): Likewise.
44974 (grub_realloc): Likewise.
44975 * kern/mm.c (get_header_from_pointer): Change the casts to
44976 `unsigned' into a cast to `grub_size_t'.
44977
44978 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
44979 point to `currnode' when `currnode' is changed.
44980
44981 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
44982 Schottelius <nico-linux@schottelius.org>.
44983
44984 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
44985
44986 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
44987 (note_path): Remove variable.
44988 (GRUB_IEEE1275_NOTE_NAME): New macro.
44989 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
44990 (grub_ieee1275_note_hdr): New structure.
44991 (grub_ieee1275_note_desc): Likewise.
44992 (grub_ieee1275_note): Likewise.
44993 (load_note): Remove `dir' argument. All callers updated. Remove
44994 `note_img' and `path'. Do not load a file from `note_path'.
44995 Initialize a struct grub_ieee1275_note and write that to `out'.
44996 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
44997
44998 2005-01-05 Marco Gerards <metgerards@student.han.nl>
44999
45000 * util/misc.c (grub_util_read_image): Revert last change. It
45001 called `grub_util_read_at', which seeks from the beginning of the
45002 file.
45003
45004 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
45005
45006 * TODO: Add note about endianness in grub-mkimage.
45007 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
45008 section.
45009 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
45010 (grub_mkimage_SOURCES): New target.
45011 * include/grub/kernel.h (grub_start_addr): Remove variable.
45012 (grub_end_addr): Likewise.
45013 (grub_total_module_size): Likewise.
45014 (grub_kernel_image_size): Likewise.
45015 (GRUB_MODULE_MAGIC): New constant.
45016 (grub_module_info): New structure.
45017 (grub_arch_modules_addr): New prototype.
45018 (grub_get_end_addr): Remove prototype.
45019 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
45020 * include/grub/powerpc/ieee1275/kernel.h: New file.
45021 * include/grub/util/misc.h (grub_util_get_fp_size): New
45022 prototype.
45023 (grub_util_read_at): Likewise.
45024 (grub_util_write_image_at): Likewise.
45025 * kern/main.c (grub_get_end_addr): Remove function.
45026 (grub_load_modules): Call grub_arch_modules_addr instead of using
45027 grub_end_addr. Look for a grub_module_info struct in memory. Use
45028 the grub_module_info fields instead of calling grub_get_end_addr
45029 as loop conditions. Move grub_add_unused_region code here.
45030 (grub_add_unused_region): Remove function.
45031 * kern/i386/pc/init.c: Include grub/cache.h.
45032 (grub_machine_init): Remove call to grub_get_end_addr. Remove
45033 one call to add_mem_region.
45034 (grub_arch_modules_addr): New function.
45035 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
45036 (grub_total_module_size): Likewise.
45037 Include grub/machine/kernel.h.
45038 (grub_arch_modules_addr): New function.
45039 * util/grub-emu.c (grub_end_addr): Remove variable.
45040 (grub_total_module_size): Likewise.
45041 (grub_arch_modules_addr): New function.
45042 * util/misc.c: Include unistd.h.
45043 (grub_util_get_fp_size): New function.
45044 (grub_util_read_at): Likewise.
45045 (grub_util_write_image_at): Likewise.
45046 (grub_util_read_image): Call grub_util_read_at.
45047 (grub_util_write_image): Call grub_util_write_image_at.
45048 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
45049 additional memory in kernel_img for a struct grub_module_info.
45050 Fill in that grub_module_info.
45051 * util/powerpc/ieee1275/grub-mkimage.c: New file.
45052
45053 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45054
45055 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
45056 New function.
45057 * include/grub/powerpc/ieee1275/ieee1275.h
45058 (grub_ieee1275_milliseconds): New prototype.
45059 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
45060 Change to 1000.
45061 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
45062 grub_ieee1275_milliseconds.
45063
45064 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45065
45066 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
45067 variable.
45068 (find_options): New function.
45069 (cmain): Call find_options.
45070 * include/grub/powerpc/ieee1275/ieee1275.h
45071 (grub_ieee1275_realmode): New extern variable.
45072 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
45073 grub_map if grub_ieee1275_realmode is false.
45074
45075 2004-12-29 Marco Gerards <metgerards@student.han.nl>
45076
45077 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
45078 lines are inserted and make it work like readline. Reported by
45079 Vincent Pelletier <subdino2004@yahoo.fr>.
45080
45081 2004-12-28 Marco Gerards <metgerards@student.han.nl>
45082
45083 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
45084
45085 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
45086 `kern/powerpc/cache.S'.
45087
45088 2004-12-27 Marco Gerards <metgerards@student.han.nl>
45089
45090 * genmk.rb: Handle the `Program' class in the main loop. Written
45091 by Johan Rydberg <jrydberg@gnu.org>.
45092 (Program): New class.
45093 (programs): New variable.
45094 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
45095 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
45096 instead of "grub/kernel.h". Include <grub/machine/init.h>.
45097 (help_arch): Function removed.
45098 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
45099 `powerpc/libgcc.h' and `loader.h'.
45100 (pkgdata_PROGRAMS): New variable.
45101 (sbin_UTILITIES): Variable removed.
45102 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
45103 (grubof_SOURCES): Variable re-defined so it only includes the
45104 core functionality.
45105 (grubof_CFLAGS): Remove `-DGRUBOF'.
45106 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
45107 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
45108 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
45109 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
45110 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
45111 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
45112 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
45113 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
45114 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
45115 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
45116 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45117 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
45118 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
45119 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
45120 (pc_mod_CFLAGS): New variables.
45121 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
45122 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
45123 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
45124 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
45125 Moved from here...
45126 * include/grub/i386/pc/init.h (grub_os_area_addr)
45127 (rub_os_area_size): ... to here.
45128 * include/grub/powerpc/ieee1275/ieee1275.h
45129 (grub_ieee1275_entry_fn): Export symbol.
45130 * include/grub/powerpc/ieee1275/init.h: New file.
45131 * include/grub/powerpc/libgcc.h: Likewise.
45132 * include/grub/cache.h: Likewise.
45133 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
45134 <hollis@penguinppc.org>.
45135 * kern/dl.c: Include <grub/cache.h>.
45136 (grub_dl_flush_cache): New function.
45137 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
45138 for this module.
45139 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
45140 (grub_console_init): Removed prototypes.
45141 (grub_machine_init): Don't initialize the modules anymore.
45142 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
45143 static.
45144 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
45145 Macro undef removed.
45146 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
45147 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
45148 relocation `R_PPC_REL32'. Return an error when the relocation is
45149 unknown.
45150 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
45151 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
45152 * util/misc.c (grub_arch_sync_caches): Likewise.
45153
45154 2004-12-19 Marco Gerards <metgerards@student.han.nl>
45155
45156 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
45157 `symlist.c', add `grubof_symlist.c'.
45158 (symlist.c): Variable removed.
45159 (grubof_HEADERS): Variable added.
45160 (grubof_symlist.c): New target.
45161 (kernel_syms.lst): Use `grubof_HEADERS' instead of
45162 `kernel_img_HEADERS'.
45163 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
45164 * kern/powerpc/dl.c: New file.
45165 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
45166 Function removed.
45167 (grub_arch_dl_relocate_symbols): Likewise.
45168 (grub_register_exported_symbols): Likewise.
45169
45170 2004-12-13 Marco Gerards <metgerards@student.han.nl>
45171
45172 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
45173 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
45174 to fail instead. Reported by Vincent Pelletier
45175 <subdino2004@yahoo.fr>.
45176
45177 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
45178 it is not allocated. Reported by Vincent Pelletier
45179 <subdino2004@yahoo.fr>.
45180
45181 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
45182 output so the output looks better.
45183
45184 2004-12-04 Marco Gerards <metgerards@student.han.nl>
45185
45186 Modulize the partition map support and add support for the amiga
45187 partition map.
45188
45189 * commands/ls.c: Include <grub/partition.h> instead of
45190 <grub/machine/partition.h>.
45191 * kern/disk.c: Likewise.
45192 * kern/rescue.c: Likewise.
45193 * loader/i386/pc/chainloader.c: Likewise.
45194 * normal/cmdline.c: Likewise.
45195 * kern/powerpc/ieee1275/init.c: Likewise.
45196 (grub_machine_init): Call `grub_pc_partition_map_init',
45197 `grub_amiga_partition_map_init' and
45198 `grub_apple_partition_map_init'.
45199 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
45200 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
45201 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
45202 `partition.h' and `pc_partition.h'.
45203 (grub_setup_SOURCES): Remove
45204 `disk/i386/pc/partition.c'. Add `kern/partition.c',
45205 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45206 (grub_emu_SOURCES): Likewise.
45207 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
45208 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
45209 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
45210 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45211 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
45212 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45213 (grubof_SOURCES): Likewise.
45214 * disk/i386/pc/partition.c: File removed.
45215 * disk/powerpc/ieee1275/partition.c: Likewise.
45216 * include/grub/powerpc/ieee1275/partition.h: Likewise.
45217 * include/grub/i386/pc/partition.h: Likewise.
45218 * kern/partition.c: New file.
45219 * partmap/amiga.c: Likewise.
45220 * partmap/apple.c: Likewise.
45221 * partmap/pc.c: Likewise.
45222 * include/grub/partition.h: Likewise..
45223 * include/grub/pc_partition.h: Likewise.
45224 * util/grub-emu.c: Include <grub/partition.h> instead of
45225 <grub/machine/partition.h>.
45226 (main): Call `grub_pc_partition_map_init',
45227 `grub_amiga_partition_map_init' and
45228 `grub_apple_partition_map_init' and deinitialize afterwards.
45229 * util/i386/pc/biosdisk.c: Include `#include
45230 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45231 `<grub/machine/partition.h>'.
45232 * util/i386/pc/grub-setup.c: Likewise.
45233 * util/i386/pc/biosdisk.c: Likewise.
45234 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
45235 partition information in case of a PC partition.
45236 * util/i386/pc/grub-setup.c: Include `#include
45237 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45238 `<grub/machine/partition.h>'.
45239 (setup): Only access the PC specific partition information in case
45240 of a PC partition.
45241
45242 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
45243
45244 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
45245 (grub_longjmp): Likewise.
45246 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
45247 20.
45248 * normal/powerpc/setjmp.S: New file.
45249 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45250 `normal/powerpc/setjmp.S'.
45251 (grubof_CFLAGS): Add `-DGRUBOF'.
45252 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
45253 [GRUB_UTIL && !GRUBOF].
45254
45255 2004-11-16 Marco Gerards <metgerards@student.han.nl>
45256
45257 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
45258 property named `name'. Correctly handle the error returned by
45259 `grub_ieee1275_finddevice' if a device can not be opened.
45260
45261 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
45262
45263 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
45264 `actual' for negativity.
45265 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45266 kern/fshelp.c.
45267
45268 2004-11-01 Marco Gerards <metgerards@student.han.nl>
45269
45270 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
45271 (PAGE_OFFSET): New macro.
45272 (CRTC_ADDR_PORT): Likewise.
45273 (CRTC_DATA_PORT): Likewise.
45274 (START_ADDR_HIGH_REGISTER): Likewise.
45275 (START_ADDR_LOW_REGISTER): Likewise.
45276 (GRAPHICS_ADDR_PORT): Likewise.
45277 (GRAPHICS_DATA_PORT): Likewise.
45278 (READ_MAP_REGISTER): Likewise.
45279 (INPUT_STATUS1_REGISTER): Likewise.
45280 (INPUT_STATUS1_VERTR_BIT): Likewise.
45281 (page): New variable.
45282 (wait_vretrace): New function.
45283 (set_read_map): Likewise.
45284 (set_start_address): Likewise.
45285 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
45286 the right page.
45287 (check_vga_mem): Take the page into account.
45288 (write_char): Likewise.
45289 (write_cursor): Likewise.
45290 (scroll_up): Likewise. Copy the page to the page that is not
45291 shown and switch between both pages.
45292 (grub_vga_putchar): Fix off by one error.
45293 (grub_vga_cls): Wait for the vertical retrace. Take the page into
45294 account.
45295
45296 2004-11-01 Marco Gerards <metgerards@student.han.nl>
45297
45298 Add support for iso9660 (including rockridge).
45299
45300 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45301 (iso9660_mod_SOURCES): New variable.
45302 (iso9660_mod_CFLAGS): Likewise.
45303 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45304 * include/grub/fs.h (grub_iso9660_init): New prototype.
45305 * util/grub-emu.c (main): Call `grub_iso9660_init'.
45306 * fs/iso9660.c: New file.
45307
45308 * include/grub/misc.h (grub_strncat): New prototype.
45309 * kern/misc.c (grub_strncat): New function.
45310
45311 * fs/hfs.c (grub_hfs_mount): Translate the error
45312 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
45313 * fs/jfs.c (grub_jfs_mount): Likewise.
45314 * fs/ufs.c (grub_ufs_mount): Likewise.
45315
45316 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
45317
45318 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
45319 which initialized BAT registers.
45320 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
45321 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45322 Move from here...
45323 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
45324 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45325 ... to here.
45326 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
45327 (grub_mapclaim): Likewise.
45328 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
45329 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
45330 hand.
45331
45332 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
45333
45334 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
45335 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
45336 -ffreestanding and -msoft-float.
45337
45338 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
45339
45340 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
45341 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
45342 set in grub_ieee1275_flags.
45343
45344 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
45345
45346 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
45347 prototype.
45348 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
45349 grub_console_init first.
45350 Change the memory range used for grub_ieee1275_claim and
45351 grub_mm_init_region.
45352 Print an error message if the claim fails.
45353 Include <grub/misc.h>.
45354
45355 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
45356
45357 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
45358 Call grub_children_iterate for device nodes of type `scsi',
45359 `ide', or `ata'.
45360 (grub_ofdisk_open): Remove manual device alias resolution.
45361 Fix memory leak when device cannot be opened.
45362 * include/grub/powerpc/ieee1275/ieee1275.h
45363 (grub_children_iterate): New prototype.
45364 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
45365 New function.
45366 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45367 Return -1 if args.size was -1.
45368
45369 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45370
45371 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
45372 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
45373 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
45374 Open Firmware's memory for it; claim memory from _start to _end.
45375 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
45376 (_end): New extern.
45377 (_start): Zero BSS from __bss_start to _end.
45378 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
45379 New extern.
45380 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
45381
45382 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45383
45384 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
45385 -1 if args.base was -1.
45386
45387 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
45388
45389 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
45390 escape sequence instead of a literal ^L. Also call
45391 grub_ofconsole_gotoxy.
45392
45393 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
45394
45395 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
45396 void * arguments to grub_addr_t. All callers updated. Also make
45397 the `result' argument optional.
45398 (grub_ieee1275_release): change void * arguments to grub_addr_t.
45399 All callers updated.
45400
45401 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
45402
45403 * commands/ls.c (grub_ls_list_files): Use the string following the
45404 initial ')', if present, as the filesystem path.
45405 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
45406
45407 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
45408
45409 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
45410
45411 Make the source code of the menu interface more readable.
45412
45413 * normal/menu.c: Include grub/mm.h.
45414 (TERM_WIDTH): New macro.
45415 (TERM_HEIGHT): Likewise.
45416 (TERM_INFO_HEIGHT): Likewise.
45417 (TERM_MARGIN): Likewise.
45418 (TERM_SCROLL_WIDTH): Likewise.
45419 (TERM_TOP_BORDER_Y): Likewise.
45420 (TERM_LEFT_BORDER_X): Likewise.
45421 (TERM_BORDER_WIDTH): Likewise.
45422 (TERM_MESSAGE_HEIGHT): Likewise.
45423 (TERM_BORDER_HEIGHT): Likewise.
45424 (TERM_NUM_ENTRIES): Likewise.
45425 (TERM_FIRST_ENTRY_Y): Likewise.
45426 (TERM_ENTRY_WIDTH): Likewise.
45427 (TERM_CURSOR_X): Likewise.
45428 (draw_border): Use macros instead of magic numbers.
45429 (print_entry): Likewise.
45430 (print_entries): Likewise.
45431 (run_menu): Likewise. Also, handle the key 'e'.
45432 (run_menu_entry): Ignore empty command lines.
45433 (print_message): Added a new argument EDIT. If EDIT is true,
45434 print a different message.
45435 (init_page): Likewise.
45436 (edit_menu_entry): New function. Not implemented yet.
45437
45438 2004-09-17 Marco Gerards <metgerards@student.han.nl>
45439
45440 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
45441 can be loaded from normal mode.
45442
45443 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
45444 `multiboot.mod'.
45445 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
45446 (multiboot_mod_CFLAGS): New variables.
45447 * loader/i386/pc/linux_normal.c: New file.
45448 * loader/i386/pc/multiboot_normal.c: Likewise.
45449
45450 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
45451 attribute `unused'.
45452
45453 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
45454 `fdiro' to read the mode information from instead of `diro'.
45455
45456 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
45457 looking up a symlink.
45458
45459 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
45460 macro.
45461 * normal/command.c (grub_command_execute): Don't parse the
45462 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
45463 flags of the command.
45464
45465 * normal/menu.c (grub_menu_run): Fix typo.
45466
45467 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
45468
45469 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
45470
45471 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
45472 `y + 1' instead of `y - 1'.
45473
45474 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
45475
45476 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
45477
45478 From Hollis Blanchard <hollis@penguinppc.org>:
45479 * kern/misc.c (memmove): New alias for grub_memmove.
45480 (memcmp): New alias for grub_memcmp.
45481 (memset): New alias for grub_memset.
45482 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45483 Change "int handle" to "grub_ieee1275_phandle_t handle".
45484 * include/grub/powerpc/ieee1275/ieee1275.h
45485 (grub_ieee1275_get_property): Likewise.
45486
45487 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
45488
45489 Added normal mode command `chainloader' as module chain.mod, which
45490 depends on normal.mod and _chain.mod.
45491
45492 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
45493 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
45494 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
45495 Deleted prototype.
45496 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
45497 but arguments parsing moved to ...
45498 (grub_chainloader_cmd): ... here. New function.
45499 * include/grub/i386/pc/chainloader.h: New file.
45500 * loader/i386/pc/chainloader_normal.c: Likewise.
45501
45502 2004-09-11 Marco Gerards <metgerards@student.han.nl>
45503
45504 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
45505 (grub_mkimage_LDFLAGS): Likewise.
45506 (grub_emu_SOURCES): Likewise.
45507 (kernel_img_HEADERS): Added fshelp.h.
45508 * fs/ext2.c: Include <grub/fshelp.h>.
45509 (FILETYPE_REG): New macro.
45510 (FILETYPE_INO_REG): Likewise.
45511 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
45512 Changed all users.
45513 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
45514 all users.
45515 (grub_fshelp_node): New struct.
45516 (grub_ext2_data): Added member `diropen'. Changed member `inode'
45517 to a pointer.
45518 (grub_ext2_get_file_block): Removed function.
45519 (grub_ext2_read_block): New function.
45520 (grub_ext2_read_file): Replaced parameter `data' by `node'.
45521 This function was written.
45522 (grub_ext2_mount): Read the root inode. Create a diropen struct.
45523 (grub_ext2_find_file): Removed function.
45524 (grub_ext2_read_symlink): New function.
45525 (grub_ext2_iterate_dir): Likewise.
45526 (grub_ext2_open): Rewritten.
45527 (grub_ext2_dir): Rewritten.
45528 * include/grub/fshelp.h: New file.
45529 * fs/fshelp.c: Likewise.
45530
45531 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
45532
45533 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
45534 (print_message): Add a missing newline.
45535 (run_menu): Added timeout support.
45536 (run_menu_entry): New local function.
45537 (grub_menu_run): Added support for booting.
45538
45539 * kern/loader.c (grub_loader_is_loaded): New function.
45540
45541 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
45542 (grub_get_rtc): Exported.
45543
45544 * include/grub/i386/pc/time.h: Include grub/symbol.h.
45545 (grub_get_rtc): Exported.
45546
45547 * include/grub/normal.h (struct grub_command_list): Remove
45548 constant from the member `command'.
45549
45550 * include/grub/loader.h (grub_loader_is_loaded): Declared.
45551
45552 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
45553
45554 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
45555
45556 2004-08-28 Marco Gerards <metgerards@student.han.nl>
45557
45558 Add support for the JFS filesystem.
45559
45560 * fs/jfs.c: New file.
45561 * include/grub/fs.h (grub_jfs_init): New prototype.
45562 (grub_jfs_fini): New prototype.
45563 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
45564 (grub_emu_SOURCES): Likewise.
45565 (pkgdata_MODULES): Add jfs.mod.
45566 (jfs_mod_SOURCES): New variable.
45567 (jfs_mod_CFLAGS): Likewise.
45568 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
45569 (grubof_SOURCES): Likewise.
45570 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
45571
45572 * fs/fat.c (grub_fat_find_dir): Convert the filename little
45573 endian to the host endian.
45574 (grub_fat_utf16_to_utf8): Move function from there...
45575 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
45576 the endianness of the source string anymore.
45577 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
45578
45579 2004-08-24 Marco Gerards <metgerards@student.han.nl>
45580
45581 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
45582 (grub_boot_fini) [GRUB_UTIL]: Likewise.
45583 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
45584 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
45585
45586 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
45587 (grub_hfs_iterate_dir): Make the function static. Add prototypes
45588 for `node_found' and `it_dir'.
45589 (grub_hfs_dir): Add prototype for `dir_hook'.
45590
45591 * fs/minix.c (grub_minix_get_file_block): Add prototype for
45592 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
45593 and `indir32' to silence a gcc warning.
45594
45595 * include/grub/fs.h (grub_hfs_init): New prototype.
45596 (grub_hfs_fini): Likewise.
45597
45598
45599 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
45600
45601 Each disk device has its own id now. This is useful to make use
45602 of multiple disk devices.
45603
45604 * include/grub/disk.h (grub_disk_dev_id): New enum.
45605 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
45606 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
45607
45608 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
45609 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45610
45611 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
45612 GRUB_DISK_DEVICE_OFDISK_ID as an id.
45613
45614 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
45615 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45616
45617 * include/grub/disk.h (struct grub_disk_dev): Added a new member
45618 "id" which is used by the cache manager.
45619
45620 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
45621 of just "GRUB".
45622
45623 2004-08-18 Marco Gerards <metgerards@student.han.nl>
45624
45625 * fs/hfs.c: New file.
45626 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
45627 (grub_emu_SOURCES): Likewise.
45628 (pkgdata_MODULES): Add hfs.mod.
45629 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
45630 (grubof_SOURCES): Likewise.
45631 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
45632
45633 * include/grub/misc.h (grub_strncasecmp): Add prototype.
45634 * kern/misc.c (grub_strncasecmp): Add function.
45635
45636 2004-08-14 Marco Gerards <metgerards@student.han.nl>
45637
45638 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
45639 with parentheses.
45640
45641 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
45642 (grub_ext2_dir): In case the directory entry type is unknown, read
45643 it from the inode.
45644
45645 2004-08-02 Peter Bruin <pjbruin@dds.nl>
45646
45647 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
45648 grub_load_linux instead of grub_rescue_cmd_linux as second
45649 argument of grub_rescue_register_command.
45650
45651 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
45652
45653 2004-07-27 Marco Gerards <metgerards@student.han.nl>
45654
45655 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
45656 function.
45657 * commands/boot.c: Remove the check for `GRUB_UTIL'.
45658 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45659 `loader/powerpc/ieee1275/linux.c',
45660 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
45661 * include/grub/powerpc/ieee1275/ieee1275.h
45662 (grub_ieee1275_release): New prototype.
45663 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
45664 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
45665 normal, boot, linux and linux_normal.
45666 * loader/powerpc/ieee1275/linux.c: New file.
45667 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45668
45669 2004-07-12 Marco Gerards <metgerards@student.han.nl>
45670
45671 * normal/arg.c (grub_arg_parse): Correct error handling after
45672 reallocating the argumentlist (check if `argl' is not null instead
45673 of checking if `args' is not null).
45674 * kern/mm.c (grub_realloc): Return the same pointer when using the
45675 same region, instead of returning the header address.
45676
45677 2004-07-11 Marco Gerards <metgerards@student.han.nl>
45678
45679 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
45680 one block instead of two when looking for the initial partition.
45681 (grub_partition_probe): Initialize the local variable `p' with 0.
45682 Use base 10 for the grub_strtoul call.
45683 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
45684 need for one local variable.
45685 (grub_strtoul): Don't add the new value to `num', instead of that
45686 just assign it.
45687
45688 2004-07-11 Marco Gerards <metgerards@student.han.nl>
45689
45690 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
45691 (pxeboot_img_SOURCES): New variable.
45692 (pxeboot_img_ASFLAGS): Likewise.
45693 (pxeboot_img_LDFLAGS): Likewise.
45694 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
45695 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
45696 <lode_leroy@hotmail.com>.
45697
45698 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45699
45700 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
45701 there was no input.
45702
45703 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45704
45705 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
45706 the history buffer logic.
45707
45708 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45709
45710 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
45711 (FILETYPE_INO_SYMLINK): New macros.
45712 (grub_ext2_find_file): Check if the node is a directory using the
45713 inode stat information instead of using the filetype in the
45714 dirent. Exclude the first character of an absolute symlink.
45715 (grub_ext2_dir): Mask out the filetype part of the mode member of
45716 the inode.
45717
45718 2004-05-24 Marco Gerards <metgerards@student.han.nl>
45719
45720 Add support for UFS version 1 and 2. Add support for the minix
45721 filesystem version 1 and 2, both the variants with 14 and 30 long
45722 filenames.
45723
45724 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
45725 fs/minix.c.
45726 (grub_emu_SOURCES): Likewise.
45727 (pkgdata_MODULES): Add ufs.mod and minix.mod.
45728 (ufs_mod_SOURCES): New variable.
45729 (ufs_mod_CFLAGS): Likewise.
45730 (minix_mod_SOURCES): Likewise.
45731 (minix_mod_CFLAGS): Likewise.
45732 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
45733 fs/minix.c.
45734 (grubof_SOURCES): Likewise.
45735 * fs/ufs.c: New file.
45736 * fs/minix.c: New file.
45737 * include/grub/fs.h (grub_ufs_init): New prototype.
45738 (grub_ufs_fini): Likewise.
45739 (grub_minix_init): Likewise.
45740 (grub_minix_fini): Likewise.
45741 * util/grub-emu.c (main): Initialize and deinitialize UFS and
45742 minix fs.
45743
45744 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
45745
45746 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
45747 commands/ls.c, commands/terminal.c, commands/boot.c,
45748 commands/cmp.c and commands/cat.c.
45749 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
45750
45751 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
45752 "env.h"
45753
45754 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45755
45756 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
45757 and grub_, respectively. Because the conversion is trivial and
45758 mechanical, I omit the details here. Please refer to the CVS
45759 if you need more information.
45760
45761 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45762
45763 * include/pupa: Renamed to ...
45764 * include/grub: ... this.
45765 * util/i386/pc/pupa-mkimage.c: Renamed to ...
45766 * util/i386/pc/grub-mkimage.c: ... this.
45767 * util/i386/pc/pupa-setup.c: Renamed to ...
45768 * util/i386/pc/grub-setup.c: ... this.
45769 * util/pupa-emu.c: Renamed to ...
45770 * util/grub-emu.c: ... this.
45771
45772 2004-03-29 Marco Gerards <metgerards@student.han.nl>
45773
45774 Add support for the newworld apple macintosh (PPC). This has been
45775 tested on the powerbook 2000 only. It only adds support for
45776 generic ieee1275 functions, console and disk support. This should
45777 be easy to port to other architectures with support for Open
45778 Firmware.
45779
45780 * configure.ac: Accept the powerpc as host_cpu. In the case of
45781 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
45782 specific tests are only executed while building for the i386.
45783 Inverse test for crosscompile.
45784 * genmk.rb (Utility): Allow assembler files.
45785 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
45786 * conf/powerpc-ieee1275.rmk: New file.
45787 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
45788 * disk/powerpc/ieee1275/partition.c: Likewise.
45789 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
45790 * include/pupa/powerpc/ieee1275/console.h: Likewise.
45791 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
45792 * include/pupa/powerpc/ieee1275/time.h: Likewise.
45793 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
45794 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
45795 * include/pupa/powerpc/ieee1275/loader.h
45796 * include/pupa/powerpc/setjmp.h: Likewise.
45797 * include/pupa/powerpc/types.h: Likewise.
45798 * kern/powerpc/ieee1275/init.c: Likewise.
45799 * kern/powerpc/ieee1275/openfw.c: Likewise.
45800 * term/powerpc/ieee1275/ofconsole.c: Likewise.
45801
45802 These files were written by Johan Rydberg
45803 (jrydberg@night.trouble.net) and I only modified them slightly.
45804
45805 * boot/powerpc/ieee1275/cmain.c: New file.
45806 * boot/powerpc/ieee1275/crt0.S: Likewise.
45807 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
45808 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
45809
45810 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
45811
45812 * Makefile.in: Update copyright.
45813 * genmodsrc.sh: Likewise.
45814 * gensymlist.sh: Likewise.
45815 * term/i386/pc/vga.c: Indent correctly.
45816
45817 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
45818 bugreporting address.
45819 * util/i386/pc/pupa-setup.c (usage): Likewise,
45820 (main): Call pupa_ext2_init and pupa_ext2_fini.
45821
45822 * fs/fat.c (log2): Renamed to ...
45823 (fat_log2): ... this.
45824 All callers changed.
45825 * kern/misc.c (memcpy): Alias to pupa_memmove.
45826 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
45827 lvalue cast.
45828 * util/console.c (pupa_ncurses_fini): Return 0.
45829
45830 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
45831 Move fail label here.
45832 [__GNU__]: Don't warn when using stat.
45833 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
45834 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
45835 long int. Use strtol instead of strtoul.
45836
45837 2004-03-14 Marco Gerards <metgerards@student.han.nl>
45838
45839 * commands/boot.c: New file.
45840 * commands/cat.c: Likewise.
45841 * commands/cmp.c: Likewise.
45842 * commands/ls.c: Likewise.
45843 * commands/terminal.c: Likewise.
45844 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
45845 (pupa_register_command): Changed interface to match the new
45846 argument parser.
45847 (pupa_command_execute): Changed (almost rewritten) so it uses
45848 pupa_split_command. Added support for setting variables using the
45849 syntax `foo=bar'.
45850 (rescue_command): Changed to work with the new argument parser.
45851 (terminal_command): Moved from here to commands/terminal.c.
45852 (set_command): New function.
45853 (unset_command): New function.
45854 (insmod_command): New function.
45855 (rmmod_command): New function.
45856 (lsmod_command): New function.
45857 (pupa_command_init): Don't initialize the command terminal
45858 anymore. Initialize the commands set, unset, insmod, rmmod and
45859 lsmod.
45860 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
45861 (kernel_img_HEADERS): Add arg.h and env.h.
45862 (pupa_mkimage_LDFLAGS): Add kern/env.c.
45863 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
45864 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
45865 normal/arg.c.
45866 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
45867 terminal.mod.
45868 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
45869 (boot_mod_SOURCES): New variable.
45870 (terminal_mod_SOURCES): Likewise.
45871 (ls_mod_SOURCES): Likewise.
45872 (cmp_mod_SOURCES): Likewise.
45873 (cat_mod_SOURCES): Likewise.
45874
45875 * normal/arg.c: New file.
45876 * kern/env.c: Likewise.
45877 * include/pupa/arg.h: Likewise.
45878 * include/pupa/env.h: Likewise.
45879 * font/manager.c (font_command): Changed to match argument parsing
45880 interface changes.
45881 (PUPA_MOD_INIT): Likewise.
45882 * hello/hello.c (pupa_cmd_hello): Likewise.
45883 (PUPA_MOD_INIT): Likewise.
45884 * include/pupa/disk.h: Include <pupa/device.h>.
45885 (pupa_print_partinfo): New prototype.
45886 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
45887 (pupa_dl_get_prefix): Likewise.
45888 * include/pupa/misc.h: Include <pupa/err.h>.
45889 (pupa_isgraph): New prototype.
45890 (pupa_isdigit): Likewise.
45891 (pupa_split_cmdline): Likewise.
45892 * include/pupa/normal.h: Include <pupa/arg.h>.
45893 (pupa_command): Changed the prototype of the member `func' to
45894 match the argument parsing interface. Added member `options'.
45895 (pupa_register_command): Updated to match function.
45896 (pupa_arg_parse): New prototype.
45897 (pupa_hello_init) [PUPA_UTIL]: New prototype.
45898 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
45899 (pupa_ls_init) [PUPA_UTIL]: Likewise.
45900 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
45901 (pupa_cat_init) [PUPA_UTIL]: Likewise.
45902 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
45903 (pupa_boot_init) [PUPA_UTIL]: Likewise.
45904 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
45905 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
45906 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
45907 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
45908 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
45909 * kern/disk.c: Include <pupa/file.h>.
45910 (pupa_print_partinfo): New function.
45911 * kern/dl.c: Include <pupa/env.h>.
45912 (pupa_dl_dir): Variable removed.
45913 (pupa_dl_load): Use the environment variable `prefix' instead of
45914 the variable pupa_dl_dir.
45915 (pupa_dl_set_prefix): Function removed.
45916 (pupa_dl_get_prefix): Likewise.
45917 * kern/i386/pc/init.c: Include <pupa/env.h>.
45918 (pupa_machine_init): Use the environment variable `prefix' instead of
45919 using pupa_dl_set_prefix to set the prefix.
45920 * kern/main.c: Include <pupa/env.h>.
45921 (pupa_set_root_dev): Use the environment variable `prefix' instead of
45922 using pupa_dl_get_prefix to get the prefix.
45923 * kern/misc.c: Include <pupa/env.h>.
45924 (pupa_isdigit): New function.
45925 (pupa_isgraph): Likewise.
45926 (pupa_ftoa): Likewise.
45927 (pupa_vsprintf): Added support for printing values of the type
45928 `double'. Make it possible to format variable output when using
45929 formatting like `%1.2%f'.
45930 (pupa_split_cmdline): New function.
45931 * kern/rescue.c: Include <pupa/env.h>.
45932 (next_word): Removed function.
45933 (pupa_rescue_cmd_prefix): Likewise.
45934 (pupa_rescue_cmd_set): New function.
45935 (pupa_rescue_cmd_unset): New function.
45936 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
45937 split the command line instead of splitting it here. Added
45938 support for setting variables using the syntax `foo=bar'. Don't
45939 initialize the prefix command anymore. Initialized the set and
45940 unset commands.
45941 * normal/cmdline.c: Include <pupa/env.h>.
45942 (pupa_tab_complete): Added prototypes for print_simple_completion,
45943 print_partition_completion, add_completion, iterate_commands,
45944 iterate_dev, iterate_part and iterate_dir. Moved code to print
45945 partition information from here to kern/disk.c.
45946 (pupa_cmdline_run): Don't check if the function exists anymore.
45947 * normal/main.c: Include <pupa/env.h>.
45948 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
45949 instead of using pupa_dl_get_prefix to get the prefix.
45950 * term/i386/pc/vga.c: Include <pupa/arg.h>.
45951 (check_vga_mem): Cast pointers to `void *' to silence a gcc
45952 warning.
45953 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
45954 (pupa_vga_setcolor): Declare unused variables with `__attribute__
45955 ((unused))' to silence a gcc warning.
45956 (pupa_vga_setcolor): Likewise.
45957 (debug_command): Changed to match argument parsing
45958 interface changes.
45959 * util/pupa-emu.c: Include <pupa/env.h>.
45960 (options): Added 0's for unused fields to silence a gcc warning.
45961 (argp): Likewise.
45962 (main): Use the environment variable `prefix' instead of using
45963 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
45964 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
45965 and terminal.
45966
45967 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
45968 * util/misc.c: Include <malloc.h>.
45969 (pupa_malloc): Rewritten so errors are correctly reported.
45970 (pupa_realloc): Likewise.
45971 (pupa_memalign): Likewise.
45972 (pupa_mm_init_region): Declare unused variables with
45973 `__attribute__ ((unused))' to silence a gcc warning.
45974 * normal/i386/setjmp.S: Remove tab at the end of the file to
45975 silence a gcc warning.
45976 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
45977 variables with `__attribute__ ((unused))' to silence a gcc
45978 warning.
45979 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
45980 local variable i unsigned to silence a gcc warning.
45981
45982 * kern/term.c: Include <pupa/misc.h>.
45983 (pupa_more_lines): New variable.
45984 (pupa_more): Likewise.
45985 (pupa_putcode): When the pager is active pause at the end of every
45986 screen.
45987 (pupa_set_more): New function.
45988 * include/pupa/term.h (pupa_set_more): New prototype.
45989
45990
45991 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
45992
45993 Now this project is GRUB 2 rather than PUPA. The location of
45994 the CVS repository was moved to GRUB's.
45995
45996 * configure.ac: Use bug-grub as the reporting address.
45997 Use GRUB instead of PUPA.
45998 Change the version number to 1.90.
45999
46000 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
46001
46002 * genkernsyms.sh: Updated copyright information.
46003 * genmk.rb: Likewise.
46004 * genmodsrc.sh: Likewise.
46005 * gensymlist.sh: Likewise.
46006 * boot/i386/pc/boot.S: Likewise.
46007 * boot/i386/pc/diskboot.S: Likewise.
46008 * disk/i386/pc/biosdisk.c: Likewise.
46009 * disk/i386/pc/partition.c: Likewise.
46010 * font/manager.c: Likewise.
46011 * fs/ext2.c: Likewise.
46012 * fs/fat.c: Likewise.
46013 * include/pupa/boot.h: Likewise.
46014 * include/pupa/device.h: Likewise.
46015 * include/pupa/disk.h: Likewise.
46016 * include/pupa/dl.h: Likewise.
46017 * include/pupa/elf.h: Likewise.
46018 * include/pupa/err.h: Likewise.
46019 * include/pupa/file.h: Likewise.
46020 * include/pupa/font.h: Likewise.
46021 * include/pupa/fs.h: Likewise.
46022 * include/pupa/kernel.h: Likewise.
46023 * include/pupa/loader.h: Likewise.
46024 * include/pupa/misc.h: Likewise.
46025 * include/pupa/mm.h: Likewise.
46026 * include/pupa/net.h: Likewise.
46027 * include/pupa/normal.h: Likewise.
46028 * include/pupa/rescue.h: Likewise.
46029 * include/pupa/setjmp.h: Likewise.
46030 * include/pupa/symbol.h: Likewise.
46031 * include/pupa/term.h: Likewise.
46032 * include/pupa/types.h: Likewise.
46033 * include/pupa/i386/setjmp.h: Likewise.
46034 * include/pupa/i386/types.h: Likewise.
46035 * include/pupa/i386/pc/biosdisk.h: Likewise.
46036 * include/pupa/i386/pc/boot.h: Likewise.
46037 * include/pupa/i386/pc/console.h: Likewise.
46038 * include/pupa/i386/pc/init.h: Likewise.
46039 * include/pupa/i386/pc/kernel.h: Likewise.
46040 * include/pupa/i386/pc/linux.h: Likewise.
46041 * include/pupa/i386/pc/loader.h: Likewise.
46042 * include/pupa/i386/pc/memory.h: Likewise.
46043 * include/pupa/i386/pc/multiboot.h: Likewise.
46044 * include/pupa/i386/pc/partition.h: Likewise.
46045 * include/pupa/i386/pc/time.h: Likewise.
46046 * include/pupa/i386/pc/vga.h: Likewise.
46047 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
46048 * include/pupa/util/getroot.h: Likewise.
46049 * include/pupa/util/misc.h: Likewise.
46050 * include/pupa/util/resolve.h: Likewise.
46051 * kern/device.c: Likewise.
46052 * kern/disk.c: Likewise.
46053 * kern/dl.c: Likewise.
46054 * kern/err.c: Likewise.
46055 * kern/file.c: Likewise.
46056 * kern/fs.c: Likewise.
46057 * kern/loader.c: Likewise.
46058 * kern/main.c: Likewise.
46059 * kern/misc.c: Likewise.
46060 * kern/mm.c: Likewise.
46061 * kern/rescue.c: Likewise.
46062 * kern/term.c: Likewise.
46063 * kern/i386/dl.c: Likewise.
46064 * kern/i386/pc/init.c: Likewise.
46065 * kern/i386/pc/lzo1x.S: Likewise.
46066 * kern/i386/pc/startup.S: Likewise.
46067 * loader/i386/pc/chainloader.c: Likewise.
46068 * loader/i386/pc/linux.c: Likewise.
46069 * loader/i386/pc/multiboot.c: Likewise.
46070 * normal/cmdline.c: Likewise.
46071 * normal/command.c: Likewise.
46072 * normal/main.c: Likewise.
46073 * normal/menu.c: Likewise.
46074 * normal/i386/setjmp.S: Likewise.
46075 * term/i386/pc/console.c: Likewise.
46076 * term/i386/pc/vga.c: Likewise.
46077 * util/console.c: Likewise.
46078 * util/genmoddep.c: Likewise.
46079 * util/misc.c: Likewise.
46080 * util/pupa-emu.c: Likewise.
46081 * util/resolve.c: Likewise.
46082 * util/unifont2pff.rb: Likewise.
46083 * util/i386/pc/biosdisk.c: Likewise.
46084 * util/i386/pc/getroot.c: Likewise.
46085 * util/i386/pc/pupa-mkimage.c: Likewise.
46086 * util/i386/pc/pupa-setup.c: Likewise.
46087
46088 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
46089
46090 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
46091 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
46092 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
46093 reading and reset it after reading.
46094 (pupa_ext2_close): Return PUPA_ERR_NONE.
46095
46096 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
46097 Correct value.
46098 (struct linux_kernel_header): Add kernel_version and
46099 initrd_addr_max.
46100 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
46101 pupa_file_read succeeds.
46102 (pupa_rescue_cmd_initrd): Implement.
46103
46104 2003-12-03 Marco Gerards <metgerards@student.han.nl>
46105
46106 * fs/ext2.c (pupa_ext2_label): New function.
46107 (pupa_ext2_fs): Added label.
46108 * fs/fat.c (pupa_fat_label): New function.
46109 (pupa_fat_fs): Added label.
46110 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
46111
46112 * kern/misc.c (pupa_strndup): New function.
46113 * include/pupa/misc.h (pupa_strndup): New prototype.
46114
46115 * include/pupa/normal.h: Include <pupa/err.h>.
46116 (pupa_set_history): New prototype.
46117 (pupa_iterate_commands): New prototype.
46118 * normal/cmdline.c: Include <pupa/machine/partition.h>,
46119 <pupa/disk.h>, <pupa/file.h>.
46120 (hist_size): New variable.
46121 (hist_lines): Likewise.
46122 (hist_end): Likewise.
46123 (hist_used): Likewise.
46124 (pupa_set_history): New function.
46125 (pupa_history_get): Likewise.
46126 (pupa_history_add): Likewise.
46127 (pupa_history_replace): Likewise.
46128 (pupa_tab_complete): Likewise.
46129 (pupa_cmdline_run): Added tab completion and history buffer. Tab
46130 completion shows partitionnames while completing partitions, this
46131 feature was suggested by Jeff Bailey.
46132 * normal/command.c (pupa_iterate_commands): New function.
46133 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
46134 (pupa_normal_init): Initialize history buffer.
46135 (PUPA_MOD_INIT): Likewise.
46136 (pupa_normal_fini): Free the history buffer.
46137 (PUPA_MOD_FINI): Likewise.
46138
46139 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
46140 key.
46141
46142 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
46143 * configure.ac [i386]: Check for regparam bug.
46144 (NESTED_FUNC_ATTR) [! i386]: Defined.
46145
46146 2003-11-17 Marco Gerards <metgerards@student.han.nl>
46147
46148 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
46149 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
46150 (pupa_emu_SOURCES): New variable.
46151 (pupa_emu_LDFLAGS): Likewise.
46152 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
46153 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
46154 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
46155 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46156 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
46157 (pupa_jmp_buf): New typedef.
46158 (pupa_setjmp) [PUPA_UTIL]: New macro.
46159 (pupa_longjmp) [PUPA_UTIL]: Likewise.
46160 * include/pupa/term.h (struct pupa_term): New member `refresh'.
46161 (pupa_refresh): New prototype.
46162 * include/pupa/util/getroot.h: New file.
46163 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
46164 it.
46165 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
46166 (pupa_rescue_cmd_cat): Likewise.
46167 (pupa_rescue_cmd_ls): Likewise.
46168 (pupa_rescue_cmd_testload): Likewise.
46169 (pupa_rescue_cmd_lsmod): Likewise.
46170 * normal/cmdline.c (pupa_cmdline_get): Likewise.
46171 * normal/menu.c (run_menu): Likewise.
46172 * kern/term.c (pupa_cls): Likewise.
46173 (pupa_refresh): New function.
46174 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
46175 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46176 * util/console.c: New file.
46177
46178 * util/i386/pc/getroot.c: New file.
46179 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
46180 (pupa_putchar): New function.
46181 (pupa_refresh): Likewise.
46182 (xgetcwd): Function moved to ...
46183 (strip_extra_slashes): Likewise.
46184 (get_prefix): Likewise.
46185 * util/i386/pc/getroot.c: ... here.
46186 (find_root_device): Function moved and renamed to...
46187 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
46188 Changed all callers.
46189 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
46190 and renamed to...
46191 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
46192 Changed all callers.
46193 * util/misc.c (pupa_memalign): New function.
46194 (pupa_mm_init_region): Likewise.
46195 (pupa_register_exported_symbols): Likewise.
46196 (pupa_putchar): Function removed.
46197 * util/pupa-emu.c: New file.
46198
46199 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
46200
46201 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
46202 (_multiboot_mod_SOURCES): New variable.
46203 (_multiboot_mod_CFLAGS): Likewise.
46204 * loader/i386/pc/multiboot.c: New file.
46205 * include/pupa/i386/pc/multiboot.h: Likewise.
46206 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
46207 (pupa_multiboot_real_boot): New function.
46208 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
46209 (pupa_multiboot_real_boot): New prototype.
46210 (pupa_rescue_cmd_multiboot): Likewise
46211 (pupa_rescue_cmd_module): Likewise.
46212
46213 * kern/loader.c (pupa_loader_set): Continue when
46214 pupa_loader_unload_func() fails.
46215 (pupa_loader_unset): New function.
46216 * include/pupa/loader.h (pupa_loader_unset): New prototype.
46217
46218 * kern/misc.c (pupa_stpcpy): New function.
46219 * include/pupa/misc.h (pupa_stpcpy): New prototype.
46220
46221 2003-11-12 Marco Gerards <metgerards@student.han.nl>
46222
46223 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
46224 for available extensions.
46225
46226 * include/pupa/i386/pc/time.h: New file.
46227 * kern/disk.c: Include <pupa/machine/time.h>.
46228 (PUPA_CACHE_TIMEOUT): New macro.
46229 (pupa_last_time): New variable.
46230 (pupa_disk_open): Flush the cache when there was a timeout.
46231 (pupa_disk_close): Reset the timer.
46232 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
46233 pupa_currticks.
46234 * util/misc.c: Include <sys/times.h>
46235 (pupa_get_rtc): New function.
46236
46237 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46238
46239 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
46240 as blocks.
46241 (pupa_ext2_get_file_block): Use blocks member.
46242
46243 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
46244 first block. Return -1 instead of pupa_errno on error.
46245
46246 2003-10-27 Marco Gerards <metgerards@student.han.nl>
46247
46248 * README: In the pupa-mkimage example use _chain instead of chain
46249 and ext2 instead of fat.
46250 * TODO: Replace ext2fs with jfs as an example. Add an item for
46251 adding journal playback for ext2fs.
46252 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
46253 (pkgdata_MODULES): Added ext2.mod.
46254 (ext2_mod_SOURCES): New variable.
46255 (ext2_mod_CFLAGS): Likewise.
46256 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
46257 * include/pupa/misc.h (pupa_strncpy): New prototype.
46258 (pupa_strcat): Likewise.
46259 (pupa_strncmp): Likewise.
46260 * kern/misc.c (pupa_strcat): Enable function.
46261 (pupa_strncpy): New function.
46262 (pupa_strncmp): Likewise.
46263 * fs/ext2.c: New file.
46264
46265 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
46266 when the read failed before retrying.
46267 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
46268 (_FILE_OFFSET_BITS): Likewise.
46269 * configure.ac: Added AC_SYS_LARGEFILE.
46270
46271 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46272
46273 * genmk.rb (PModule#rule): Make sure to get only symbol names
46274 from the output of nm.
46275 Reported by Robert Millan <rmh.grub@aybabtu.com>.
46276
46277 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46278
46279 I forgot to check in these changes for a long time. This adds
46280 incomplete support for VGA console, and this is still very
46281 buggy. Also, a lot of consideration is required for I18N,
46282 UNICODE, and VGA font issues. Therefore, assume that this is
46283 such that "better than nothing".
46284
46285 * font/manager.c: New file.
46286 * include/pupa/font.h: Likewise.
46287 * include/pupa/i386/pc/vga.h: Likewise.
46288 * term/i386/pc/vga.c: Likewise.
46289 * util/unifont2pff.rb: Likewise.
46290
46291 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
46292 (pkgdata_MODULES): Added vga.mod and font.mod.
46293 (vga_mod_SOURCES): New variables.
46294 (vga_mod_CFLAGS): Likewise.
46295 (font_mod_SOURCES): Likewise.
46296 (font_mod_CFLAGS): Likewise.
46297
46298 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
46299
46300 * include/pupa/term.h: Include pupa/err.h.
46301 (struct pupa_term): Added init and fini.
46302 Changed the argument of putchar to pupa_uint32_t.
46303
46304 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
46305 (pupa_console_real_putchar): New prototype.
46306 (pupa_console_putchar): Removed.
46307 (pupa_console_checkkey): Exported.
46308 (pupa_console_getkey): Likewise.
46309
46310 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
46311 characters.
46312
46313 * kern/term.c (pupa_term_set_current): Rewritten.
46314 (pupa_putchar): Likewise.
46315 (pupa_putcode): New function.
46316
46317 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
46318 (pupa_console_real_putchar): ... this.
46319 (pupa_vga_set_mode): New function.
46320 (pupa_vga_get_font): Likewise.
46321
46322 * normal/command.c: Include pupa/term.h.
46323 (terminal_command): New function.
46324 (pupa_command_init): Register the command "terminal".
46325
46326 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
46327 (DISP_UP): Likewise.
46328 (DISP_RIGHT): Likewise.
46329 (DISP_DOWN): Likewise.
46330 (DISP_HLINE): Likewise.
46331 (DISP_VLINE): Likewise.
46332 (DISP_UL): Likewise.
46333 (DISP_UR): Likewise.
46334 (DISP_LL): Likewise.
46335 (DISP_LR): Likewise.
46336
46337 * term/i386/pc/console.c (pupa_console_putchar): New function.
46338
46339 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
46340
46341 * util/resolve.c (pupa_util_resolve_dependencies): BUG
46342 FIX. Reverse the path_list.
46343
46344 * include/pupa/normal.h: Export pupa_register_command and
46345 pupa_unregister_command.
46346
46347 * hello/hello.c (pupa_cmd_hello): New module.
46348 * conf/i386-pc.rmk: Added hello.mod.
46349
46350 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
46351
46352 * kern/i386/pc/lzo1x.S: New file.
46353
46354 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
46355 (compress_kernel): New variable.
46356 (generate_image): Heavily modified to support compressing a
46357 large part of the core image.
46358
46359 * util/misc.c (pupa_util_read_image): Fix a file descriptor
46360 leak.
46361 (pupa_util_load_image): New function.
46362
46363 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
46364 (pupa_compressed_size): New variable.
46365 (codestart): Enable Gate A20 here.
46366 Decompress the compressed part of the core image.
46367 Rearrange the code to put functions and variables which are
46368 required for initialization in the non-compressed part.
46369 Include lzo1x.S.
46370
46371 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
46372 here.
46373
46374 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
46375
46376 * include/pupa/i386/pc/kernel.h
46377 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
46378 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
46379 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46380 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46381 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
46382
46383 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
46384
46385 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
46386 (Utility#rule): Likewise.
46387
46388 * configure.ac: Check if LZO is available.
46389
46390 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
46391
46392 * include/pupa/normal.h: New file.
46393 * include/pupa/setjmp.h: Likewise.
46394 * include/pupa/i386/setjmp.h: Likewise.
46395 * normal/cmdline.c: Likewise.
46396 * normal/command.c: Likewise.
46397 * normal/main.c: Likewise.
46398 * normal/menu.c: Likewise.
46399 * normal/i386/setjmp.S: Likewise.
46400
46401 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
46402 (pupa_rescue_cmd_initrd): Likewise.
46403
46404 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
46405 Likewise.
46406
46407 * kern/i386/pc/startup.S (translation_table): New variable.
46408 (translate_keycode): New function.
46409 (pupa_console_getkey): Call translate_keycode.
46410
46411 * kern/rescue.c (attempt_normal_mode): New function.
46412 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
46413 it failed, print a message.
46414
46415 * kern/mm.c (pupa_real_malloc): Print more information when a
46416 free magic is broken.
46417 (pupa_free): If the first free header is not free actually, set
46418 it to P.
46419
46420 * kern/main.c (pupa_load_normal_mode): Just load the module
46421 "normal".
46422 (pupa_main): Don't print the message
46423 "Entering into rescue mode..." here.
46424
46425 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
46426 Declared.
46427 (pupa_rescue_cmd_initrd): Likewise.
46428 (pupa_rescue_cmd_initrd): Likewise.
46429
46430 * include/pupa/symbol.h (FUNCTION): Specify the type.
46431 (VARIABLE): Likewise.
46432
46433 * include/pupa/err.h (pupa_err_t): Added
46434 PUPA_ERR_UNKNOWN_COMMAND.
46435
46436 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
46437 (pupa_dl_get_prefix): Likewise.
46438
46439 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
46440 Added _chain.mod and _linux.mod instead of chain.mod and
46441 linux.mod.
46442 (chain_mod_SOURCES): Renamed to ...
46443 (_chain_mod_SOURCES): ... this.
46444 (chain_mod_CFLAGS): Renamed to ...
46445 (_chain_mod_CFLAGS): ... this.
46446 (linux_mod_SOURCES): Renamed to ...
46447 (_linux_mod_SOURCES): ... this.
46448 (linux_mod_CFLAGS): Renamed to ...
46449 (_linux_mod_CFLAGS): ... this.
46450 (normal_mod_SOURCES): New variable.
46451 (normal_mod_CFLAGS): Likewise.
46452 (normal_mod_ASFLAGS): Likewise.
46453
46454 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
46455
46456 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
46457 possible.
46458
46459 * kern/dl.c (pupa_dl_ref): Refer depending modules
46460 recursively.
46461 (pupa_dl_unref): Unrefer depending modules recursively.
46462 Don't call pupa_dl_unload implicitly, because PUPA can crash if
46463 a module is unloaded before one depending on that module is
46464 unloaded.
46465 (pupa_dl_unload): Unload depending modules explicitly,
46466 if possible.
46467
46468 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
46469
46470 * include/pupa/i386/pc/linux.h: New file.
46471 * loader/i386/pc/linux.c: Likewise.
46472
46473 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
46474 Removed.
46475 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
46476 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
46477 of PUPA_CHAINLOADER_BOOT_SECTOR.
46478
46479 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
46480 (pupa_linux_prot_size): New variable.
46481 (pupa_linux_tmp_addr): Likewise.
46482 (pupa_linux_real_addr): Likewise.
46483 (pupa_linux_boot_zimage): New function.
46484 (pupa_linux_boot_bzimage): Likewise.
46485
46486 * kern/i386/pc/init.c (struct mem_region): New structure.
46487 (MAX_REGIONS): New macro.
46488 (mem_regions): New variable.
46489 (num_regions): Likewise.
46490 (pupa_os_area_addr): Likewise.
46491 (pupa_os_area_size): Likewise.
46492 (pupa_lower_mem): Likewise.
46493 (pupa_upper_mem): Likewise.
46494 (add_mem_region): New function.
46495 (compact_mem_regions): Likewise.
46496 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
46497 the size of the conventional memory and that of so-called upper
46498 memory (before the first memory hole).
46499 Instead of adding each found region to free memory, use
46500 add_mem_region and add them after removing overlaps.
46501 Also, add only 1/4 of the upper memory to free memory. The rest
46502 is used for loading OS images. Maybe this is ad hoc, but this
46503 makes it much easier to relocate OS images when booting.
46504
46505 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
46506 (pupa_enter_rescue_mode): Don't register initrd and module.
46507
46508 * kern/mm.c: Include pupa/dl.h.
46509
46510 * kern/main.c: Include pupa/file.h and pupa/device.h.
46511
46512 * kern/loader.c (pupa_loader_load_module_func): Removed.
46513 (pupa_loader_load_module): Likewise.
46514
46515 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
46516 ``.o''.
46517
46518 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
46519 (pupa_linux_tmp_addr): Likewise.
46520 (pupa_linux_real_addr): Likewise.
46521 (pupa_linux_boot_zimage): Likewise.
46522 (pupa_linux_boot_bzimage): Likewise.
46523
46524 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
46525 (pupa_upper_mem): Likewise.
46526 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
46527 module is too dangerous.
46528
46529 * include/pupa/loader.h (pupa_os_area_addr): Declared.
46530 (pupa_os_area_size): Likewise.
46531 (pupa_loader_set): Remove the first argument. Loader doesn't
46532 manage modules or initrd any longer.
46533 (pupa_loader_load_module): Removed.
46534
46535 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
46536 (linux_mod_SOURCES): New variable.
46537 (linux_mod_CFLAGS): Likewise.
46538
46539 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
46540
46541 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
46542 the length of a blocklist correctly.
46543
46544 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
46545 Use ioctl only if the OS file is a block device.
46546 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
46547 not very useful for normal files.
46548
46549 * kern/main.c (pupa_set_root_dev): New function.
46550 (pupa_load_normal_mode): Likewise.
46551 (pupa_main): Call those above.
46552
46553 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
46554 pupa_uint16_t.
46555
46556 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
46557
46558 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46559
46560 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
46561 (setup): Configure the installed partition information and the
46562 dl prefix.
46563
46564 * loader/i386/pc/chainloader.c (my_mod): New variable.
46565 (pupa_chainloader_unload): New function.
46566 (pupa_rescue_cmd_chainloader): Refer itself.
46567 (PUPA_MOD_INIT): Save its own module in MY_MOD.
46568
46569 * kern/i386/pc/startup.S (install_partition): Removed.
46570 (version_string): Likewise.
46571 (config_file): Likewise.
46572 (pupa_install_dos_part): New variable.
46573 (pupa_install_bsd_part): Likewise.
46574 (pupa_prefix): Likewise.
46575 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
46576
46577 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
46578 and pupa/misc.h.
46579 (make_install_device): New function.
46580 (pupa_machine_init): Set the dl prefix.
46581
46582 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
46583 (buf): Renamed to ...
46584 (linebuf): ... this.
46585 (pupa_rescue_cmd_prefix): New function.
46586 (pupa_rescue_cmd_insmod): Likewise.
46587 (pupa_rescue_cmd_rmmod): Likewise.
46588 (pupa_rescue_cmd_lsmod): Likewise.
46589 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
46590 rmmod and lsmod.
46591
46592 * kern/mm.c (pupa_memalign): If failed even after invalidating
46593 disk caches, unload unneeded modules and retry.
46594
46595 * kern/misc.c (pupa_memmove): New function.
46596 (pupa_memcpy): Removed.
46597 (pupa_strcpy): New function.
46598 (pupa_itoa): Made static.
46599
46600 * kern/dl.c (pupa_dl_iterate): New function.
46601 (pupa_dl_ref): Likewise.
46602 (pupa_dl_unref): Likewise.
46603 (pupa_dl_unload): Return if succeeded or not.
46604 (pupa_dl_unload_unneeded): New function.
46605 (pupa_dl_unload_all): Likewise.
46606 (pupa_dl_init): Renamed to ...
46607 (pupa_dl_set_prefix): ... this.
46608 (pupa_dl_get_prefix): New function.
46609
46610 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
46611 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
46612 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46613 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46614 (pupa_install_dos_part): Declared.
46615 (pupa_install_bsd_part): Likewise.
46616 (pupa_prefix): Likewise.
46617 (pupa_boot_drive): Likewise.
46618
46619 * include/pupa/types.h: Fix a typo.
46620
46621 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
46622 pupa_memmove.
46623 (pupa_memmove): Declared.
46624 (pupa_strcpy): Likewise.
46625
46626 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
46627 pupa_mod_init takes one argument, its own module.
46628 (pupa_dl_unload_unneeded): Declared.
46629 (pupa_dl_unload_all): Likewise.
46630 (pupa_dl_ref): Likewise.
46631 (pupa_dl_unref): Likewise.
46632 (pupa_dl_iterate): Likewise.
46633 (pupa_dl_init): Renamed to ...
46634 (pupa_dl_set_prefix): ... this.
46635 (pupa_dl_get_prefix): Declared.
46636
46637 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
46638 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
46639 unloaded.
46640 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
46641 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
46642
46643 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
46644 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
46645
46646 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46647
46648 * util/i386/pc/pupa-setup.c (setup): Define the internal
46649 function find_first_partition_start at the top level, because GCC
46650 3.0.x cannot compile internal functions in deeper scopes
46651 correctly.
46652 (find_root_device): Use lstat instead of stat.
46653 Don't follow symbolic links.
46654 Fix the path-constructing code.
46655
46656 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
46657 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
46658 by a BLKGETSIZE ioctl first, because block devices don't fill
46659 the member st_mode of the structure stat on Linux.
46660 [__linux__] (linux_find_partition): Use a temporary buffer
46661 REAL_DEV for the working space. Copy it to DEV before returning.
46662 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
46663 buffer cache consistent.
46664 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
46665 strncmp. The previous value was merely wrong.
46666 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
46667
46668 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
46669 FAT size is 12. The previous value was merely wrong.
46670
46671 * kern/main.c (pupa_main): Don't split the starting message from
46672 newlines.
46673
46674 * kern/term.c (pupa_putchar): Put CR after LF instead of before
46675 LF, because BIOS goes crazy about character attributes in this
46676 case.
46677
46678 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46679
46680 * include/i386/pc/util/biosdisk.h: New file.
46681 * util/i386/pc/biosdisk.c: Likewise.
46682 * util/i386/pc/pupa-setup.c: Likewise.
46683
46684 * Makefile.in (INCLUDE_DISTFILES): Added
46685 include/pupa/i386/pc/util/biosdisk.h.
46686 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
46687 directory util/i386/pc.
46688 (install-local): Added a rule for sbin_UTILITIES.
46689 (uninstall): Likewise.
46690
46691 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
46692
46693 * util/misc.c (xrealloc): New function.
46694 (pupa_malloc): Likewise.
46695 (pupa_free): Likewise.
46696 (pupa_realloc): Likewise.
46697 (pupa_stop): Likewise.
46698 (pupa_putchar): Likewise.
46699
46700 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
46701
46702 * include/pupa/util/misc.h (xrealloc): Declared.
46703
46704 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
46705 macro.
46706 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
46707 (PUPA_BOOT_MACHINE_BPB_END): ... this.
46708
46709 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
46710 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46711
46712 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
46713 way should be implemented.
46714 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46715
46716 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
46717 the size of NAME for safety.
46718 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
46719 0x88.
46720
46721 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
46722 (pupa_setup_SOURCES): Likewise.
46723
46724 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
46725
46726 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46727
46728 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
46729 bunch of pushl's from pusha, because this destroys the return
46730 value.
46731
46732 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46733
46734 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
46735 This means that any missing prototypes could be fatal. Also, you
46736 must take care when writing assembly code. See the comments at
46737 the beginning of startup.S, for more details.
46738
46739 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
46740 compilation mechanism.
46741 (pupa_chainloader_real_boot): Likewise.
46742 (pupa_biosdisk_rw_int13_extensions): Likewise.
46743 (pupa_biosdisk_rw_standard): Likewise.
46744 (pupa_biosdisk_check_int13_extensions): Likewise.
46745 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
46746 (pupa_biosdisk_get_diskinfo_standard): Likewise.
46747 (pupa_get_memsize): Likewise.
46748 (pupa_get_mmap_entry): Likewise.
46749 (pupa_console_putchar): Likewise.
46750 (pupa_console_setcursor): Likewise.
46751 (pupa_getrtsecs): Use pushl instead of push.
46752
46753 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
46754 memory instead of the stack for a mmap entry, because some
46755 BIOSes may ignore the maximum size and overflow.
46756
46757 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
46758
46759 * genmk.rb (PModule#rule): Compile automatically generated
46760 sources with module-specific CFLAGS as well as other sources.
46761
46762 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46763
46764 * configure.ac: Check ld.
46765 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
46766 respectively, before checking endianness and sizes.
46767
46768 * Makefile.in (LD): New variable.
46769
46770 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46771
46772 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
46773
46774 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46775
46776 * Changelog: New file.
46777