]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
[grub2.git] / ChangeLog
CommitLineData
ee5614b7
VS
12011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
4 hexadecimal.
5
664889a6
VS
62011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
9 and not 0 on failure.
10
bd405bbc
CW
112011-05-03 Colin Watson <cjwatson@ubuntu.com>
12
13 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
14 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
15 disk; otherwise grub_fs_probe will not fall back to the next
16 filesystem.
17 (grub_pxefs_open): Likewise, for consistency.
18 Reported and tested by: Ezekiel Grave.
19
4ebff753
CW
202011-05-03 Colin Watson <cjwatson@ubuntu.com>
21
22 * tests/partmap_test.in: Don't hardcode path to parted.
23 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
24
8f942553
CW
252011-05-01 Colin Watson <cjwatson@ubuntu.com>
26
27 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
28 of `ls' to find out which devices are available.
29
3c62402d
VS
302011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
31
32 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
33 than source address for efi mmap buffer.
34
723f63f2
VS
352011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
36
37 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
38 wrong action on non-detecting the magic.
39
68797f92
VS
402011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
41
42 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
43 already supplied by another part of the module (fixes compilation on
44 FreeBSD).
45
6be8715d
VS
462011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
47
48 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
49 match the one used by mdadm.
50
e91dba5b
CW
512011-04-21 Colin Watson <cjwatson@ubuntu.com>
52
53 * po/README: Add instructions for creating po/LINGUAS.
54
c85140b3
CW
552011-04-21 Colin Watson <cjwatson@ubuntu.com>
56
57 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
58 #551428.
59
60 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
61 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
62 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
63 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
64 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
65 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
66 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
67 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
68 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
69 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
70 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
71 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
72 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
73 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
74 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
75 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
76 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
77 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
78 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
79 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
80 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
81 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
82
92051871
CW
832011-04-21 Colin Watson <cjwatson@ubuntu.com>
84
85 * grub-core/kern/emu/getroot.c
86 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
87 test that was incorrectly reintroduced in r3214.
88 Reported by: Ian Dall. Fixes Savannah bug #33133.
89
b13f79a4
CW
902011-04-21 Colin Watson <cjwatson@ubuntu.com>
91
92 Fix stack pointer handling in 16-bit relocator.
93
94 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
95 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
96 Fixes Ubuntu bug #683904.
97
9b710a88
VS
982011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
99
100 * configure.ac: Bump version to 1.99~rc2.
101
d97e7b59
VS
1022011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
103
104 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
105 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
106 * grub-core/lib/x86_64/setjmp.S: Likewise.
107 * grub-core/lib/mips/setjmp.S: Likewise.
108 * grub-core/lib/powerpc/setjmp.S: Likewise.
109 * grub-core/lib/sparc64/setjmp.S: Likewise.
110
0624551c
VS
1112011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
112
113 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
114 * grub-core/lib/efi/datetime.c: Likewise.
115
e8f28d4c
VS
1162011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
117
118 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
119 New function.
120 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
121 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
122 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
123
bba79a15
VS
1242011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
125
126 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
127 bitmap.
128 (grub_gfxterm_term_init): Likewise.
129
abc474ef
VS
1302011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
131
132 Take into account the decorations the computing menu entry width.
133
134 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
135 (grub_gfxmenu_create_box): Register get_border_width.
136 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
137 if available.
138 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
139 get_border_width.
140
e74b3947
EP
1412011-04-18 Endres Puschner <code@e7p.de>
142
143 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
144 Don't skip first class.
145
34faa595
VS
1462011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
147
148 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
149 chunks.
150 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
151
93a777e3
VS
1522011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
153
154 Complete 64-bit division support.
155
156 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
157 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
158 * include/grub/misc.h (grub_divmod64): Rename to ...
159 (grub_divmod64_full): ... this.
160 (grub_divmod64): New inline function.
161
a5102d94
VS
1622011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
163
164 * util/grub-mkimage.c (generate_image): Add forgotten comma.
165
f3fb7b36
VS
1662011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
167
168 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
169 performing the necessary test.
170
9ac718b0
VS
1712011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
172
173 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
174 (kfreebsd.elf): Likewise.
175 (pc-chainloader.elf): Likewise.
176 (ntldr.elf): Likewise.
177
50d2cc5a
VS
1782011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
179
180 Identify RAID by its UUID rather than (guessed) name.
181
182 * grub-core/disk/raid.c (ascii2hex): New function.
183 (grub_raid_open): Accept mduuid/%s specification.
184 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
185 (get_mdadm_uuid): ... this.
186 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
187
e03f7bea
VS
1882011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
189
190 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
191 to negative size.
192
e74c3112
CW
1932011-04-13 Colin Watson <cjwatson@ubuntu.com>
194
195 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
196 btrfs subvolume.
197 * util/grub.d/20_linux_xen.in: Likewise.
198
78fa584f
CW
1992011-04-13 Colin Watson <cjwatson@ubuntu.com>
200
201 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
202 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
203
204 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
205 Build a list of relevant visible mounts using the mnt_id and
206 parent_mnt_id fields, and then scan that list at the end.
207
9d5f8162
CW
2082011-04-12 Colin Watson <cjwatson@ubuntu.com>
209
210 * docs/grub.texi (normal): New section.
211 (normal_exit): New section.
212 (Embedded configuration): Add reference to normal.
213 (GRUB only offers a rescue shell): Likewise.
214 * docs/grub-dev.texi (Error Handling): Fix typo.
215
09a9d66f
CW
2162011-04-12 Colin Watson <cjwatson@ubuntu.com>
217
218 * NEWS: Drop obsolete entry about probe-only btrfs support.
219
0c676933
CW
2202011-04-12 Colin Watson <cjwatson@ubuntu.com>
221
222 * util/import_gcry.py: Fix typo.
223
ec9f5e0d
VS
2242011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
225
226 * NEWS: Add btrfs support.
227
fe6b2cba
VS
2282011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2292011-04-11 Colin Watson <cjwatson@ubuntu.com>
230
231 BtrFS support. Written by me (Vladimir) with important bugfixes and
232 even more important testing by Colin.
233
234 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
235 * grub-core/Makefile.core.def (btrfs): Add crc.c.
236 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
237 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
238 mem_input_off and mem_input. All users updated to accept in-RAM input.
239 (gzio_seek): New function.
240 (test_zlib_header): Likewise.
241 (grub_gzio_read): Likewise.
242 (grub_zlib_decompress): Likewise.
243 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
244 Accept partial and non-virtual mounts.
245 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
246 avoid receiving /dev/dm-X as device.
247 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
248 Handle bind and partial mounts.
249 * grub-core/lib/crc.c: New file.
250 * include/grub/deflate.h: Likewise.
251 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
252 proto.
253 * include/grub/lib/crc.h: New file.
254
e745cf0c
VS
2552011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
256
257 Implement automatic module license checking according to new GNU
258 guidelines.
259
260 * grub-core/kern/dl.c (grub_dl_check_license): New function.
261 (grub_dl_load_core): Use grub_dl_check_license.
262 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
263 (GRUB_MOD_LICENSE): Likewise.
264 (GRUB_MOD_DUAL_LICENSE): Likewise.
265 All modules updated.
266
2a9bc016
CW
2672011-04-11 Colin Watson <cjwatson@ubuntu.com>
268
269 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
270 reserved_first_sector to 1. btrfs reserves plenty of space for boot
271 loaders.
272 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
273
8a3bc88e
VS
2742011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
275
276 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
277
af869a4a
VS
2782011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
279
280 * util/grub-fstest.c (read_file): Report GRUB error if file opening
281 failed.
282
9ee8d94f
VS
2832011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
284
285 * grub-core/kern/file.c (grub_file_open): Don't take into account the
286 parenthesis in the middle of the filename.
287
b01abe3e
VS
2882011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
289
290 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
291 rather than trying to put initrd way too high.
292 Reported by: Ryan Lortie <desrt@desrt.ca>
293
335bda1e
VS
2942011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
295
296 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
297 improperly removed string.
298
5ca1a64d
VS
2992011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
300
301 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
302 is_disk.
303 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
304 (open_device) Likewise.
305 (grub_util_biosdisk_close): Likewise.
306 Reported by: Mark Korenberger.
307
cbac5b1e
AK
3082011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
309
310 * util/grub-mkconfig_lib.in: Add missing quotes.
311
088cdb65
CW
3122011-04-10 Colin Watson <cjwatson@ubuntu.com>
313
314 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
315 is NULL.
316
8b8a81fa
VS
3172011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
318
319 Dynamically count the number of lines for the lower banner.
320
321 * grub-core/normal/menu_entry.c (per_term_screen): New member
322 num_entries.
323 (print_down): Use num_entries.
324 (update_screen): Likewise.
325 (grub_menu_entry_run): Set num_entries.
326 * grub-core/normal/menu_text.c (menu_viewer_data): New member
327 num_entries.
328 (grub_print_message_indented): Move real part to ...
329 (grub_print_message_indented_real): ... here. Additional argument
330 dry_run.
331 (draw_border): Additional argument num_entries.
332 (print_message): Additional argument dry_run.
333 (print_entries): Receive menu viewer data.
334 (grub_menu_init_page): New argment num_entries.
335 (menu_text_set_chosen_entry): Use num_entries.
336 (grub_menu_try_text): Likewise.
337 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
338 All users updated.
339 (grub_ucs4_count_lines): New function.
340 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
341 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
342 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
343 (grub_term_border_height): Likewise.
344 (grub_term_num_entries): Likewise.
345
277f955b
VS
3462011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
347
348 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
349 Remove now unused string.
350
536ce85a
CW
3512011-04-09 Colin Watson <cjwatson@ubuntu.com>
352
353 * docs/grub-dev.texi (Finding your way around): Update for 1.99
354 build system.
355 (Getting started): GRUB is developed in Bazaar now, not Subversion.
356
357 (Comment): Fix typo.
358 (Getting started): General copy-editing.
359 (Typical Development Experience): Likewise.
360 (Error Handling): Likewise.
361 (Video API): Likewise.
362
2cf09e32
CW
3632011-04-09 Colin Watson <cjwatson@ubuntu.com>
364
365 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
366 throughout.
367
1ec652f4
VS
3682011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
369
370 * util/grub-mkimage.c (main): Handle special naming of yeeloong
371 directory.
372
2c583728
CW
3732011-04-08 Colin Watson <cjwatson@ubuntu.com>
374
375 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
376 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
377 "development".
378
d7a565e9
VS
3792011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
380
381 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
382 grub_strcpy since the lines aren't necessarily 0-terminated.
383
7c2e4909
VS
3842011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
385
386 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
387 root on legacy.
388
34c09785
VS
3892011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
390
391 * grub-core/commands/probe.c (options): Argument to set isn't optional.
392 (GRUB_MOD_INIT): DEVICE isn't optional.
393
6a6f8058
VS
3942011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
395
396 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
397 word on new line if it's too long anyway. Fixes a hang.
398
2e335e90
VS
3992011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
400
401 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
402 const.
403 * util/grub-setup.c (main): Reuse md device name if available.
404 * util/raid.c (grub_util_raid_getmembers): Receive device name and
405 not GRUB name as argument.
406 Based on patch by: Florian Wagner <fwagner>.
407
10a7a867
VS
4082011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
409
410 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
411 Place mbi on low memory for better compatibility.
412
7a3d6cd9
VS
4132011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
414
415 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
416
18dd6b47
VS
4172011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
4182011-04-08 Colin Watson <cjwatson@ubuntu.com>
419
420 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 421 * conf/Makefile.common: Likewise.
18dd6b47 422
3c0e3f14
VS
4232011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
424
f7148863
VS
425 * grub-core/normal/menu.c: Add missing include.
426
4272011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
428
429 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 430
6d1fa41f
MZ
4312011-04-08 Martin Zuther <mzuther@mzuther.de>
432
433 * util/grub-mkconfig.in: Ignore emacsen backup.
434
478182a8
VS
4352011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
436
437 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
438 on open.
439 (grub_util_biosdisk_close): Likewise.
440
72a89a54
VS
4412011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
442
443 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
444 const attribute and use grub_isdigit.
445
b5ebecfa
A
4462011-04-06 Andrey <dev_null@ukr.net>
447
448 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
449 gcc warning.
450
7755f66e
VS
4512011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
452
453 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
454 useful grub_dprintf's.
455
461121ff
VS
4562011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
457
458 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
459
2a961775
VS
4602011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
461
462 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
463
adf594cc
VS
4642011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
465
466 Output errors if theme loading failed.
467
468 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
469 grub_gfxterm_fullscreen on error paths to ...
470 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
471 theme loading error.
472
665900a3
VS
4732011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
474
475 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
476 space for older compilers.
477 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
478
a562b479
VS
4792011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
480
481 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
482 and report them as not RAID members since they are useless for GRUB.
483 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
484
850e9373
VS
4852011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
486
487 Increase LVM implementation robustness in order not to crash on
488 configurations like pvmove. Previously code assumed that in some places
489 only lvs or only pvs are used whereas it seems that they are used
490 interchangeably.
491
492 * grub-core/disk/lvm.c (read_node): New function.
493 (read_lv): Use read_node.
494 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
495 Match volumes only at the end when all lvs are found. Take both
496 pvs (first) and lvs (second) into account.
497 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
498 mirror_* into node_*. All users updated.
499 (grub_lvm_stripe): Merge this ...
500 (grub_lvm_mirror): ... and this ...
501 (grub_lvm_node): ... into this. All users updated.
502
6f332153
VS
5032011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
504
505 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
506 of function to allow further scanning for LVMs.
507
829ea451
VS
5082011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
509
510 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
511 on failed seek as it breaks open fd reusage.
512
09ceb9a5
VS
5132011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
514
515 * util/grub-install.in: Add a recommendation to use --recheck before
516 reporting bugs.
517
67e11623
VS
5182011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
519
520 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
521 are obtained.
522
caee5efd
VS
5232011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
524
525 GRUB developper manual based on existing Internals section and
526 contributions by the various authors with active copyright assignment.
527
528 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
529 * docs/font_char_metrics.png: New file.
530 * docs/font_char_metrics.txt: Likewise.
531 * docs/grub-dev.texi: Likewise.
532 * docs/grub.texi (Internals): Move from here ...
533 * docs/grub-dev.texi: ... here.
534
2cccc747
CW
5352011-04-01 Colin Watson <cjwatson@ubuntu.com>
536
537 Store the loopback device as data on loopback grub_disk structures,
538 rather than the file it points to. This fixes use of freed memory
539 if an existing loopback device is replaced.
540
541 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
542 disk->data, not dev->file.
543 (grub_loopback_read): Adjust file assignment to match.
544 Fixes Ubuntu bug #742967.
545
186ae367
CW
5462011-04-01 Colin Watson <cjwatson@ubuntu.com>
547
548 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
549 when replacing an existing device.
550
cfed2ad0
VS
5512011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
552
553 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
554 memory corruptions.
555
556 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
557 unsigned.
558 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
559 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
560 (grub_jfs_read_inode): Likewise.
561 (grub_jfs_opendir): Likewise. Remove now useless casts.
562 (grub_jfs_getent): Likewise.
563 Make ino a grub_uint32_t rather than int.
564 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
565 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
566 division and module with bit operations.
567 (grub_jfs_find_file): Make ino a grub_uint32_t.
568 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
569
05d2ed32
CW
5702011-04-01 Colin Watson <cjwatson@ubuntu.com>
571
572 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
573 warning. (This was in fact always initialised before use, but GCC
574 wasn't smart enough to prove that.)
575 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
576
91dc6073
VS
5772011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
578
579 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
580 stack alignment.
581 (efi_wrap_1): Likewise.
582 (efi_wrap_2): Likewise.
583 (efi_wrap_3): Likewise.
584 (efi_wrap_4): Likewise.
585 (efi_wrap_5): Likewise.
586 (efi_wrap_6): Likewise.
587 (efi_wrap_10): Likewise.
588 Based on information by: Red Hat/Peter Jones.
589
a8afc1d1
CW
5902011-03-31 Colin Watson <cjwatson@ubuntu.com>
591
592 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
593 set-but-not-used variable.
594
a826cc7d
CW
5952011-03-31 Colin Watson <cjwatson@ubuntu.com>
596
597 * docs/grub.texi (Simple configuration): Be more explicit about
598 GRUB_DEFAULT, and add an example.
599 Reported by: Leslie Rhorer.
600
875b67ba
CW
6012011-03-30 Colin Watson <cjwatson@ubuntu.com>
602
603 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
604 shell".
605
fd7cd914
AS
6062011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
607
608 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
609 * util/grub.d/20_linux_xen.in: Likewise.
610
090b1b6a
VS
6112011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
612
613 * util/grub.d/10_linux.in: Try alternative config filenames where
614 we parse config file.
615 * util/grub.d/20_linux_xen.in: Likewise.
616
baad885c
AS
6172011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
618
619 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
620 * util/grub.d/20_linux_xen.in: Likewise.
621
241e41f5
VS
6222011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
623
624 * grub-core/disk/raid.c (insert_array): Add few potentially
625 useful grub_util_info.
626 (grub_raid_register): Likewise.
627
56445fb2
VS
6282011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
629
630 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
631 Preserve partition number in mdadm code path.
632
c871b1c6
VS
6332011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
634
635 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
636 few potentially useful grub_util_info.
637
5e631b4f
CW
6382011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
639
640 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
641
2d5d0333
CW
6422011-03-30 Colin Watson <cjwatson@ubuntu.com>
643
644 * docs/grub.texi (default): Use @example rather than nested
645 itemized lists to avoid breaking gendocs.
646
3d7ed04e
CW
6472011-03-30 Colin Watson <cjwatson@ubuntu.com>
648
649 * docs/grub.texi (Future): Update.
650
abf04200 6512011-03-30 Colin Watson <cjwatson@ubuntu.com>
652
653 * docs/grub.texi (Environment): New chapter.
654 (Changes from GRUB Legacy): Link to "Environment block" section for
655 details of limitations.
656 (Simple configuration): Likewise. Link to documentation of gfxmode
657 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
658 respectively.
659 (Shell-like scripting): Note that normal variables are stored in the
660 environment.
661 (gettext): Link to documentation of lang and locale_dir.
662 (list_env): New section.
663 (load_env): New section.
664 (save_env): New section.
665
666 (Reporting bugs): Fix typo.
667
e1ad0edd
VS
6682011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
669
670 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
671 the example.
672
5d803174
VS
6732011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
674
675 * grub-core/term/at_keyboard.c (set_scancodes)
676 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
677
2a2da1d0
CW
6782011-03-30 Colin Watson <cjwatson@ubuntu.com>
679
680 * docs/grub.texi (Menu-specific commands): Remove some semantics
681 that were true in GRUB Legacy but not in GRUB 2.
682 (submenu): New section.
683 (false): New section.
684 (read): New section.
685 (true): New section.
686
a7527639
CW
6872011-03-30 Colin Watson <cjwatson@ubuntu.com>
688
689 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
690
6912011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
692
693 * docs/grub.texi (Simple configuration): Explain some of the
694 current limitations of grub-mkconfig.
8a748df2 695 Reported by: Leslie Rhorer.
e30af029 696
fc858482
VS
6972011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
698
699 Old macs search for boot.efi rather than for bootia32.efi.
700
701 * util/grub-install.in: Copy bootia32.efi to boot.efi.
702 * util/grub-mkrescue.in: Likewise.
703 Suggested by: Peter Jones.
704
e1eb511d
VS
7052011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
706
707 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
708
70e75364
VS
7092011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
710
711 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
712 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
713 (grub_lvm_mirror): New struct.
714 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
715 (grub_lvm_iterate): Iterate only visible volumes.
716 (grub_lvm_read): Factor out to ..
717 (read_lv): ... this. Support mirrors.
718 (grub_lvm_read): New wrapper function.
719 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
720 stripped or mirrored.
721
fc18f6a3
VS
7222011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
723
724 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
725
5c650f4c
CW
7262011-03-29 Colin Watson <cjwatson@ubuntu.com>
727
728 * docs/grub.texi (loopback): New section.
729
61d7156b
CW
7302011-03-29 Colin Watson <cjwatson@ubuntu.com>
731
732 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
733 removed -p option.
734
994b8264
CW
7352011-03-29 Colin Watson <cjwatson@ubuntu.com>
736
737 * docs/grub.texi (BIOS installation): New section, partly based on
738 previous text in other sections.
739 (Installing GRUB using grub-install): Replace BIOS discussion with a
740 cross-reference.
741 (Images): Likewise.
742
9e4d19e0
VS
7432011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * grub-core/kern/emu/hostdisk.c (find_partition_start)
746 [HAVE_DIOCGDINFO]: Add safety checks.
747
a307c0b2
VS
7482011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
749
750 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
751 per default compiled in kernel and prior to 8.0 isn't shipped at all.
752
b4db4f39
CW
7532011-03-29 Colin Watson <cjwatson@ubuntu.com>
754
755 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
756 real_sb->size is zero (e.g. RAID-0), get the disk size from
757 real_sb->data_size instead.
758 Fixes Ubuntu bug #743136.
759
35e5f84c
VS
7602011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
761
762 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
763 printf clauses for printing size and start.
764
d2e29d81
VS
7652011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
766
767 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
768 Reported and tested by: Timothy Nikkel.
769
ed5587af
VS
7702011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
771
772 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
773 (dirty_region_add_real): ... this.
774 (dirty_region_add): Don't discard margin refresh when performing
775 scheduled repaint.
776
a1dc717c
VS
7772011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
778
779 * grub-core/lib/relocator.c (allocate_regstart)
780 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
781 terminals are capabple of malloc-free operation.
782 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
783 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
784
9f3677d3
VS
7852011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
786
787 * util/grub-setup.c: Copy the partition table zone if floppy support
788 is disabled, even if no partition table is found.
789
790 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
791 during POST if an invalid partition table is contained in the PBR
792 of the active partition when GRUB is installed to a partition.
793
24148725
CW
7942011-03-28 Colin Watson <cjwatson@debian.org>
795
796 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
797 comment.
798
f329eda7
CW
7992011-03-28 Colin Watson <cjwatson@debian.org>
800
801 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
802 to be specific about what kind of RAID device we're scanning for.
803
c482ad98
SG
8042011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
805
806 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
807 return freed string.
808
5ee04984
VS
8092011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
810
811 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
812
f4727da9
VS
8132011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
814
815 Use libgeom on FreeBSD to detect partitions.
816
817 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
818 (grub-mkrelpath): Likewise.
819 (grub-script-check): Likewise.
820 (grub-editenv): Likewise.
821 (grub-mkpasswd-pbkdf2): Likewise.
822 (grub-fstest): Likewise.
823 (grub-mkfont): Likewise.
824 (grub-mkdevicemap): Likewise.
825 (grub-probe): Likewise.
826 (grub-setup): Likewise.
827 (grub-ofpathname): Likewise.
828 (grub-mklayout): Likewise.
829 (example_unit_test): Likewise.
830 (grub-menulst2cfg): Likewise.
831 * grub-core/Makefile.core.def (grub-emu): Likewise.
832 (grub-emu-lite): Likewise.
833 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
834 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
835 define HAVE_DIOCGDINFO.
836 (follow_geom_up) [FreeBSD]: New function.
837 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
838 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
839 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
840 unconditionally of HAVE_DIOCGDINFO.
841
82fe6c75
VS
8422011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
843
844 Fix FreeBSD compilation problem.
845
846 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
847 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
848
4c6c9431
CW
8492011-03-24 Colin Watson <cjwatson@ubuntu.com>
850
851 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
852 Switch back to page zero before loading a kernel, since some kernel
853 drivers expect that.
854 Thanks to: Felix Kuehling.
855
c7064d94
VS
8562011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
857
858 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
859 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
860 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
861
3f71cded
VS
8622011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
863
864 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
865 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
866
ef6de21a
VS
8672011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
868
869 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
870 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
871 malloc is disabled.
872
8bc66a2c
VS
8732011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
874
875 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
876 for modules headers when counting the needed allocation size.
877
5657722c
VS
8782011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
879
880 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
881 if no ASCII character is found to prevent crash.
882
41a85f55
AK
8832011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
884
885 * grub-core/video/bitmap.c (match_extension): Ignore case.
886
59e1e5f1
VS
8872011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
888
889 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
890
bd4d051a
VS
8912011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
892
893 * grub-core/script/parser.y: Declare "time" as valid argument.
894
bae7fcc1
PJ
8952011-03-23 Peter Jones <pjones@redhat.com>
896
897 Fix incorrect assert failure reporting.
898
899 * grub-core/tests/example_functional_test.c (example_test): Add
900 a failure comment.
901 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
902 (failure_start): ...this. Check that malloc succeeded.
903 Don't call xvasprintf. Return failure struct.
904 (failure_append_vtext): New function.
905 (failure_append_text): Likewise.
906 (add_failure): Likewise.
907 (grub_test_assert_helper): Likewise.
908 * include/grub/test.h (grub_test_assert_helper): New declaration.
909 (grub_test_assert): Macro rewritten.
910
537dc9be
VS
9112011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
914
fa3e01bf
VS
9152011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
916
917 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
918
b1d28404
VS
9192011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
920
921 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
922 into GRUB-style one.
923
2e3e2e09
VS
9242011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
927 error and not grub_errno.
928 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
929
ed57e557
VS
9302011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
931
932 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
933 GRUB_USB_SPEED_NONE in case of failure and not the error code.
934
d1611f01
VS
9352011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
936
937 * grub-core/efiemu/i386/pc/cfgtables.c
938 (grub_machine_efiemu_init_tables): Make declaration a prototype.
939 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
940 (grub_xnu_unlock): Likewise.
941 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
942
7d4e39d6
VS
9432011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
944
945 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
946 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
947 * grub-core/commands/hashsum.c (aliases): Likewise.
948 * grub-core/commands/setpci.c (pci_registers): Likewise.
949 * grub-core/disk/usbms.c (attach_hook): Likewise.
950 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
951 (zio_checksum_table): Likewise.
952 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
953 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
954 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
955 * grub-core/lib/relocator.c (leftovers): Likewise.
956 (extra_blocks): Likewise.
957 * grub-core/loader/i386/bsd.c (relocator): Likewise.
958 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
959 (modules_last): Likewise.
960 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
961 (devices): Likewise.
962 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
963 (modules_last): Likewise.
964 * grub-core/normal/auth.c (users): Likewise.
965 * grub-core/normal/context.c (initial_menu): Likewise.
966 (current_menu): Likewise.
967 * grub-core/normal/crypto.c (crypto_specs): Likewise.
968 * grub-core/term/serial.c (grub_serial_ports): Likewise.
969 (grub_serial_terminfo_input_template): Likewise.
970 (grub_serial_terminfo_output_template): Likewise.
971 (grub_serial_terminfo_input): Likewise.
972 (grub_serial_terminfo_output): Likewise.
973 (registered): Likewise.
974 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
975
40fc4659
VS
9762011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
977
978 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
979 grub_video_mode_type_t.
980 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
981 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
982 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
983
2da48d28
VS
9842011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
985
986 * util/grub-install.in: Correct the x86-64 name as x86_64.
987
9b43bf39
CW
9882011-03-11 Colin Watson <cjwatson@ubuntu.com>
989
990 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
991 initial chunk read from the kernel always includes GRUB's multiboot
992 header, which is now outside the first sector.
993
be1a7ce0
CW
9942011-03-09 Colin Watson <cjwatson@ubuntu.com>
995
996 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
997 cached mmap_size, so that this works correctly when called multiple
998 times.
999 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
1000
83a3c48d
CW
10012011-03-09 Colin Watson <cjwatson@ubuntu.com>
1002
1003 * docs/grub.texi (Simple configuration): Tidy up formatting.
1004
57d75699
SJ
10052011-03-07 Szymon Janc <szymon@janc.net.pl>
1006
1007 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
1008 Set-but-not-used variable removed.
1009
028501a0
VS
10102011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1011
1012 Workaround yet another IEEE1275 bug.
1013
1014 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1015 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
1016 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
1017 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
1018 is set.
1019 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1020 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
1021
d998657d
VS
10222011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
1023
1024 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
1025 error.
1026
fee7cdd4
CW
10272011-02-11 Colin Watson <cjwatson@ubuntu.com>
1028
1029 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
1030 empty, since in that case we can only generate either nothing or a
1031 syntactically invalid configuration file.
1032 Reported by: Michal Suchanek. Fixes Debian bug #612898.
1033
97286eb5
CW
10342011-02-09 Colin Watson <cjwatson@ubuntu.com>
1035
1036 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
1037 (Making a GRUB bootable CD-ROM): Likewise.
1038 (Invoking grub-mkrescue): New section.
1039 Reported by: Yann Dirson. Fixes Debian bug #612585.
1040
22b28eb3
CW
10412011-02-09 Colin Watson <cjwatson@ubuntu.com>
1042
1043 * util/grub-install.in: Remove unnecessary brackets from tr
1044 arguments.
1045 * util/grub.d/10_hurd.in: Likewise.
1046 * util/grub.d/10_kfreebsd.in: Likewise.
1047 * util/grub.d/10_linux.in: Likewise.
1048 * util/grub.d/20_linux_xen.in: Likewise.
1049 Reported by: Jamie Heilman. Fixes Debian bug #612564.
1050
7e735e43
CW
10512011-02-08 Colin Watson <cjwatson@ubuntu.com>
1052
1053 * include/grub/file.h (not_easly_seekable): Rename to ...
1054 (not_easily_seekable): ... this. Update all users.
1055
800f1881
CW
10562011-01-28 Colin Watson <cjwatson@ubuntu.com>
1057
1058 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
1059 grub-mkrescue.
1060
3281d3d6
VS
10612011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
1062
1063 * util/grub-mkimage.c (generate_image): Refuse to create the images
1064 bigger than the actual flash (512K) in Loongson machines. 512K is also
1065 the biggest chip supported by them.
1066
3533413c
VS
10672011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1068
1069 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
1070
73ae4f4f
VS
10712011-01-22 Anthony DeRobertis <anthony@derobert.net>
1072
1073 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
1074 super_offset field.
1075
37f4f608
VS
10762011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 * util/grub-install.in: Ignore install device on platforms
1079 where it doesn't make sense. Always use UUIDs except on pc, efi and
1080 sparc64.
1081 Reported by: Daniel Kahn Gillmor.
1082
03a4ccb5
VS
10832011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1084
1085 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
1086
ffc8f4d8
VS
10872011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
1090 (iterate_real): Don't rely on partition being non-NULL.
1091
80f23be7
VS
10922011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
1095 supported platforms. Put a compile time assert for this rather than
1096 generate a warning with 32-bit shift.
1097
5d4f4dd5
VS
10982011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1099
1100 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
1101 logical expression more readable.
1102
e489601a
VS
11032011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1104
1105 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
1106 even if some elements have a name.
1107 Reported by: Alexander GQ Gerasiov.
1108
96e0a6ea
CW
11092011-01-22 Colin Watson <cjwatson@ubuntu.com>
1110
1111 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
1112 path unreadable if `grub-probe -t abstraction' fails, for example if
1113 memberlist fails on an LVM volume group.
1114 Reported by: Darius Jahandarie.
1115
81431e2b
CW
11162011-01-22 Colin Watson <cjwatson@ubuntu.com>
1117
1118 * docs/grub.texi (Simple configuration): Document
1119 GRUB_PRELOAD_MODULES.
1120
5e79d66a
CW
11212011-01-17 Colin Watson <cjwatson@ubuntu.com>
1122
1123 * .bzrignore: Remove nonexistent grub-pbkdf2.
1124
646ada34
VS
11252011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
1126
1127 * configure.ac: Bump version to 1.99~rc1.
1128
04360337
VS
11292011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
1130
1131 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
1132 for safety.
1133
46c9db88
VS
11342011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
1137 module.
1138
11392011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
1140
1141 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
1142
4fbf1852
VS
11432011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
1146 diskdevid.
1147
f1632d4d
VS
11482011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
1149
1150 Fix compilation on cygwin.
1151
1152 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
1153 -R .drectve on cygwin.
1154 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
1155 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
1156 (COND_CYGWIN): New condition.
1157 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
1158 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
1159 not @TARGET_OBJ2ELF@.
1160 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
1161 type to determine whether aux is to be used.
1162
0b5e127b
VS
11632011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1164
1165 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
1166 realpath'ed device string.
1167 Handle floppy (somewhat).
1168 Issue error in unknown case rather than garbage.
1169 Reported by: Axel Beckert.
1170
173b71e9
VS
11712011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 * util/grub.d/00_header.in (load_video): Handle the case when no video
1174 drivers available.
1175 Thanks to: Axel Beckert.
1176
f8f479db
VS
11772011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
1180 variable. Fixes problem on big endian platforms.
1181
8fc0a245
VS
11822011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1183
1184 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
1185 It doesn't work well there.
1186
b8494fbe
VS
11872011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1188
1189 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
1190 warning.
1191 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
1192 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
1193 counter.
1194
b44a558c
VS
11952011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
1196
1197 Use alias->path rather than buggy "canon".
1198
1199 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
1200 (ofdisk_hash_add): New argument curcan. All users updated.
1201
51fa856c
CW
12022011-01-11 Colin Watson <cjwatson@ubuntu.com>
1203
1204 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
1205
9da068a5
VS
12062011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1207
1208 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
1209 loadmask before doing any calculations. Use correct type for offset.
1210 (grub_linux_load64): Likewise.
1211
86205c94
CW
12122011-01-11 Colin Watson <cjwatson@ubuntu.com>
1213
1214 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
1215 with NULL.
1216 (console_grub_equivalences_unshift): Likewise.
1217 Reported by: Daniel Dehennin.
1218
4531a206
VS
12192011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1220
1221 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
1222 (set_env_limn_ro): Likewise.
1223 (GRUB_MOD_INIT): Likewise.
1224 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
1225 ARRAY_SIZE while on it.
1226 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
1227 * grub-core/normal/context.c (grub_env_export): Move from here ...
1228 * grub-core/kern/env.c (grub_env_export): ... here.
1229 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
1230 prefix.
1231 * grub-core/kern/main.c (grub_main): Export root and prefix.
1232 * include/grub/env.h (grub_env_export): Export.
1233 Reported by: Seth Goldberg.
1234
45146057
VS
12352011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1236
1237 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
1238 Take into account space used by ELF sections and multiboot palette.
1239 Reported by: Grégoire Sutre.
1240
f093110b
VS
12412011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * BUGS: New file.
1244
3395fe52
VS
12452011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1246
1247 Pass more appropriate video id to Linux.
1248
1249 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
1250 grub_video_get_driver_id and variable gfxpayloadforcelfb to
1251 fill have_vga.
1252 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
1253 shift params->lfb_size.
1254 * include/grub/i386/linux.h: Make an enume out of have_vga values.
1255
c2fa6cbb
VS
12562011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1257
1258 * util/grub-menulst2cfg.c: Add missing include of misc.h.
1259
b3ff6ff0
VS
12602011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1261
1262 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
1263 separator and pass bootpath/devid even if only one of them is available.
1264 Reported by: Seth Goldberg.
1265
ae67942e
VS
12662011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1267
1268 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
1269 implementations bug on them.
1270
1271 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
1272 memory.
1273 (filter_memory_map): Likewise.
1274
d570097a
VS
12752011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
1278 Reported by: nebuchadnezzar.
1279
a508e776
VS
12802011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1281
1282 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
1283 Reported by: nebuchadnezzar.
1284
dcb883b1
VS
12852011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1286
1287 Submenu default support.
1288
1289 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
1290 auto_boot. All users updated.
1291 Declared static.
1292 Handle chosen and default with submenus.
1293 (grub_menu_execute_with_fallback): Declared static.
1294 Don't notify failure if autobooted. Upper level does it.
1295 (menuentry_eq): New function.
1296 (get_entry_number): Use menuentry_eq.
1297 (show_menu): New parameter "autobooted". All users updated.
1298 (grub_show_menu): Likewise.
1299 * include/grub/normal.h (grub_show_menu): Likewise.
1300 * include/grub/menu.h (grub_menu_execute_entry): Removed.
1301 (grub_menu_execute_with_fallback): Likewise.
1302
6fef99b4
VS
13032011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1304
1305 * util/grub-mklayout.c (usage): Update help text.
1306
47a77af5
VS
13072011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1308
1309 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
1310
ce6bb3ee
VS
13112011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1312
1313 * util/grub-menulst2cfg.c (main): Trim the line.
1314
db87be2a
VS
13152011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
1318 (grub_machine_init): Don't check amount of low memory as reportedly
1319 INT 12h can be broken and if low memory is too low we wouldn't have
1320 gotten into grub_machine_init anyway.
1321
c49849cc
VS
13222011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1323
1324 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
1325 (grub_machine_mmap_iterate): Take low memory into account
1326
b1969b30
VS
13272011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1328
1329 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
1330 badfs.
1331 Reported by: TiCPU.
1332
cf0eaf13
VS
13332011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
1336 members errors.
1337
1f060f39
GS
13382011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
1339
1340 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
1341 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
1342
a21e5672
GS
13432011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
1344
1345 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
1346 openbsd and netbsd types being in part_bsd module.
1347
c88172fa
VS
13482011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1349
1350 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
1351 (_FILE_OFFSET_BITS): Likewise.
1352 Reported by: Seth Goldberg.
1353
53798c4b
GS
13542011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
1355
1356 * configure.ac: Check for libdevmapper header.
1357
e7121b69
VS
13582011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1359
1360 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
1361 avoid aliasing.
1362 (fzap_lookup): Likewise.
1363 (dnode_get): Likewise.
1364 (make_mdn): Likewise.
1365 (zfs_mount): Likewise.
1366 (fzap_iterate): Use temporary pointer to avoid aliasing.
1367 (grub_zfs_read): Likewise.
1368 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
1369 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
1370 pointers to avoid aliasing.
1371 (grub_cmd_xnu_kernel64): Likewise.
1372 (grub_xnu_load_driver): Likewise.
1373
fc836af9
VS
13742011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1375
1376 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
1377 aliasing warning.
1378 (grub_cmd_terminal_output): Likewise.
1379 Reported and tested by: Grégoire Sutre.
1380
f9f37648
VS
13812011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1382
1383 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
1384 warning.
1385 Reported and tested by: Grégoire Sutre.
1386
ec1dfd63
VS
13872011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1388
1389 * configure.ac: Do CPU substitution even if it's specified explicitly.
1390 Reported and tested by: Alain Greppin.
1391
9462775a
VS
13922011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1393
1394 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
1395 Reported and tested by: Alain Greppin.
1396
0fd48e35
VS
13972011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1398
1399 Satisfy some bison versions need for inttypes.h.
1400
1401 * grub-core/lib/posix_wrap/inttypes.h: New file.
1402 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
1403 (int16_t): Likewise.
1404 (int32_t): Likewise.
1405 (int64_t): Likewise.
1406 Reported and tested by: Alain Greppin.
1407
43f1bc83
VS
14082011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
1411 Silence spurious warning.
1412 Reported and tested by: Alain Greppin.
1413
64d1f041
SJ
14142011-01-07 Szymon Janc <szymon@janc.net.pl>
1415
1416 * docs/grub.texi (Support automatic decompression): Update with xz
1417 decompression support.
1418
25953e10
SJ
14192011-01-07 Szymon Janc <szymon@janc.net.pl>
1420
1421 Improve loaders' kernel command line handling.
1422
1423 * grub-core/lib/cmdline.c: New file.
1424 * include/grub/lib/cmdline.h: Likewise.
1425 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
1426 grub_create_loader_cmdline to create kernel command line.
1427 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
1428 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
1429 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
1430 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
1431 (linux): Add lib/cmdline.c on common.
1432
e72d259f
VS
14332011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1434
1435 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
1436 inopos might be unaligned.
1437
c0cf26da
VS
14382011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1439
1440 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
1441 endian transformations.
1442 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1443 Based on report by: Doug Nazar.
1444
0ca09e6c
DN
14452011-01-07 Doug Nazar <nazard.michi@gmail.com>
1446
1447 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
1448 array->members[i].start_sector.
1449 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
1450
014b6806
VS
14512011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
1452
1453 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
1454 Reported and tested by: Grégoire Sutre.
1455
415502c2
CW
14562011-01-06 Colin Watson <cjwatson@ubuntu.com>
1457
1458 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
1459 avoid causing test failures by clearing the screen.
1460
71b6a2b7
CW
14612011-01-06 Colin Watson <cjwatson@ubuntu.com>
1462
1463 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
1464 Fix prefix check to handle the case where dir ends with a slash
1465 (most significantly, "/" itself).
1466 Reported by: Michael Vogt.
1467
b3f8d28a
VS
14682011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1469
1470 Run terminfo_cls on initing terminfo output to clear the screen and
1471 move the cursor to (0,0).
1472
1473 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
1474 Call grub_terminfo_output_init.
1475 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
1476 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
1477 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
1478
4c3e4f37
VS
14792011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1480
1481 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
1482 only when needed.
1483
488f71f1
VS
14842011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1485
1486 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
1487 CTRL.
1488
18a38098
VS
14892011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
1490
1491 The E820 type 5 is BADRAM, not EXEC_CODE.
1492
1493 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
1494 (GRUB_E820_BADRAM): New define.
1495 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
1496 into reserved. Propagate BADRAM.
1497 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
1498 (GRUB_E820_BADRAM): New define.
1499
9eae2084
VS
15002011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
1503 Ignore the memory post-4G.
1504 (grub_relocator_firmware_alloc_region): Additional debug statement.
1505
ebc71d28
VS
15062011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1507
1508 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
1509 names.
1510 Reported by: David Pravec.
1511
446fa400
VS
15122011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1513
1514 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
1515 BIOSes.
1516
a0159f37
VS
15172011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
1520 Prevent overflow.
1521 (grub_reed_solomon_recover): Likewise.
1522
e5146ca1
VS
15232011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
1524
1525 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
1526
15272011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
1528
1529 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
1530 variable.
1531
5b1bdf12
CW
15322011-01-04 Colin Watson <cjwatson@ubuntu.com>
1533
1534 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
1535 descriptions of extract_legacy_entries_source and
1536 extract_legacy_entries_configfile.
1537 Reported by: Seung Soo, Ha.
1538
99d925aa
CW
15392011-01-03 Colin Watson <cjwatson@ubuntu.com>
1540
1541 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
1542 on devices that do not implement function 0.
1543
4af0504b
DV
15442011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
1545
1546 * grub-core/fs/hfsplus.c: Make parent unsigned.
1547 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
1548 overflows.
1549 (grub_hfsplus_cmp_extkey): Likewise
1550
469ee10a
VS
15512011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 * util/grub-install.in: Correctly use bootloader_id and not
1554 GRUB_DISTRIBUTOR on efibootmgr line.
1555
323a8e9c
VS
15562011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
1559
1b394975
IC
15602010-12-31 Ian Campbell <ijc@hellion.org.uk>
1561
1562 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
1563 Xen and reorder menu item wording to make it clearer that this entry
1564 will launch Xen. Print separate messages when loading Xen and
1565 Linux.
1566
275bff5f
VS
15672010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
1570 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
1571 loop in case of incorrect amiga partmap.
1572
307806cb
VS
15732010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1574
1575 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
1576 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
1577 Reported by:EHeM.
1578
b12b923e
VS
15792010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
1580
1581 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
1582 spurious warning.
1583 Reported by: crocket
1584
14b48a19
VS
15852010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1586
1587 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
1588 Preload EFIemu.
1589 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
1590
693db2df
VS
15912010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1592
1593 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
1594 is loaded
1595 (grub_cmd_xnu_kextdir): Likewise.
1596 (grub_cmd_xnu_splash): Likewise.
1597
c7638645
VS
15982010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1599
1600 Avoid using Reed-Solomon with 0 redundancy.
1601
1602 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
1603 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
1604 or 0 redundancy.
1605 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
1606 (grub_reed_solomon_recover): Likewise.
1607
25dd4780
VS
16082010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
1609
1610 Don't use disk subsystem in freebsd_boot.
1611
1612 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
1613 (freebsd_biosdev): Likewise.
1614 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
1615 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
1616
0b2db943
VS
16172010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 Handling of files of unknown size is currently limited. They can't be
1620 used e.g. for initrd or modules. Moreover gzip handling of not
1621 easily seekable files is buggy. Disable unknown file size for now. May
1622 be inefficient but works.
1623
1624 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
1625 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
1626
5c408d0f
MP
16272010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
1628
1629 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
1630 floppy probe.
1631
190a011a
JD
16322010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
1633
1634 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
1635
022d01b8
SL
16362010-12-25 Shea Levy <shlevy>
1637
1638 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
1639
c4855fdc
VS
16402010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1641
1642 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
1643 Windows Server 2008.
1644 Reported by: Devin Giddings.
1645
0354b867
VS
16462010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
1649 writing an error message because of async power management.
1650 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
1651 (grub_reboot): Likewise.
1652
ab66c69f
JU
16532010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
1654
1655 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
1656 keep unit tests from failing when they shouldn't.
1657
1426ef35
CW
16582010-12-21 Colin Watson <cjwatson@ubuntu.com>
1659
1660 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
1661 previous patch increased the size of the RS code by 20 bytes (at
1662 least with gcc-4.4), so increase this by 20 bytes to match.
1663 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
1664
20641b6b
CW
16652010-12-21 Colin Watson <cjwatson@ubuntu.com>
1666
1667 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
1668 scratch area. Make sure to initialise chosen in standalone mode as
1669 well as non-standalone.
1670 Reported by: Robert Hooker and Andy Whitcroft.
1671 Tested by: Andy Whitcroft.
1672
d060ad60
CW
16732010-12-21 Colin Watson <cjwatson@ubuntu.com>
1674
1675 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
1676 constructing a new unescaped string and passing it to grub_xputs in
1677 one go, rather than passing characters to grub_printf one at a time.
1678
b889cfad
CW
16792010-12-21 Colin Watson <cjwatson@ubuntu.com>
1680
1681 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
1682 initialising utf16.
1683
4e01b6c8
CW
16842010-12-21 Colin Watson <cjwatson@ubuntu.com>
1685
1686 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
1687 comment. Add an extra layer of quotation, requiring the output of
1688 this function to be used in a printf format string.
1689 (gettext_printf): New function.
1690 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
1691 Extract translatable strings from here-documents and use a temporary
1692 variable instead, so that xgettext can find them.
1693 * util/grub.d/10_kfreebsd.in: Likewise.
1694 * util/grub.d/10_linux.in: Likewise.
1695 * util/grub.d/20_linux_xen.in: Likewise.
1696
1697 * po/grub.d.sed: New file.
1698 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
1699 arguments. Set c-format flags on all strings extracted from
1700 util/grub.d/ (xgettext refuses to include these itself for strings
1701 it extracted from a shell file, but these really are c-format).
1702
5318fe98
VS
17032010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
1706 Avoid next pointing to nowhere.
1707
6c85b743
VS
17082010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1709
1710 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
1711 rather than assuming than rootblock is exactly in the middle.
1712 (grub_affs_label): Likewise.
1713
a2a08a35
VS
17142010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1715
1716 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
1717 reserved_first_sector to 0.
1718 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
1719 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
1720 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
1721
7059d1ec
VS
17222010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
1723
1724 Fix handling of UTF-16 UDF labels.
1725
1726 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
1727 (read_string): .. here.
1728 (grub_udf_label): Use read_string.
1729
30aff4cb
BC
17302010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
1731
1732 * grub-core/normal/menu_entry.c (run): Execute commands from menu
1733 editor under argument scope.
1734 Reported by: Jordan Uggla
1735
5cf86f4b
VS
17362010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1737
1738 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
1739
32570200
CW
17402010-12-18 Colin Watson <cjwatson@ubuntu.com>
1741
1742 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
1743 line, and other keys scroll an entire page (previous handling was
1744 for \r and \n to scroll a page and other keys to scroll two lines).
1745
e1dffcf2
VS
17462010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
1749 Set ptrdest to correct get_physical_target_address rather than
1750 incorrect get_virtual_current_address.
1751
b04298cf 17522010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
1753
1754 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
1755 correct cat to grub_uint8_t * rather than grub_uint32_t *.
1756
5367ecd3
CW
17572010-12-10 Colin Watson <cjwatson@ubuntu.com>
1758
1759 * .bzrignore: Ignore grub-core/rs_decoder.S.
1760
1fb430f8
CW
17612010-12-10 Colin Watson <cjwatson@ubuntu.com>
1762
1763 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
1764 .mo/.mo.gz opening sequence to ...
1765 (grub_mofile_open_lang): ... here.
1766 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
1767 * util/grub.d/00_header.in (grub_lang): Include country part of
1768 locale.
1769 Reported by: Mario Limonciello.
1770
a94a6671
RM
17712010-12-09 Robert Millan <rmh@gnu.org>
1772
1773 * NEWS: Document addition of ZFS support.
1774
24b7938b
CW
17752010-12-04 Colin Watson <cjwatson@ubuntu.com>
1776
1777 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
1778 rather than `/ 2', as the latter requires -Wa,--divide which would
1779 require bumping our minimum binutils version.
1780
bddc3ef6
BC
17812010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
1782
1783 * util/grub-script-check.c (main): Print script line number on
1784 error.
1785
bf78d5b2
RM
17862010-12-01 Robert Millan <rmh@gnu.org>
1787
1788 * grub-core/fs/zfs/zfs.c: New file.
1789 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
1790 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
1791 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
1792 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1793
1794 * include/grub/zfs/dmu.h: Likewise.
1795 * include/grub/zfs/dmu_objset.h: Likewise.
1796 * include/grub/zfs/dnode.h: Likewise.
1797 * include/grub/zfs/dsl_dataset.h: Likewise.
1798 * include/grub/zfs/dsl_dir.h: Likewise.
1799 * include/grub/zfs/sa_impl.h: Likewise.
1800 * include/grub/zfs/spa.h: Likewise.
1801 * include/grub/zfs/uberblock_impl.h: Likewise.
1802 * include/grub/zfs/vdev_impl.h: Likewise.
1803 * include/grub/zfs/zap_impl.h: Likewise.
1804 * include/grub/zfs/zap_leaf.h: Likewise.
1805 * include/grub/zfs/zfs.h: Likewise.
1806 * include/grub/zfs/zfs_acl.h: Likewise.
1807 * include/grub/zfs/zfs_znode.h: Likewise.
1808 * include/grub/zfs/zil.h: Likewise.
1809 * include/grub/zfs/zio.h: Likewise.
1810 * include/grub/zfs/zio_checksum.h: Likewise.
1811
1812 * Makefile.util.def: Build ZFS into libgrubmods.
1813 * grub-core/Makefile.core.def: Build zfs.mod.
1814
3f0f3831
SJ
18152010-11-30 Szymon Janc <szymon@janc.net.pl>
1816
1817 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
1818 variable.
1819 * grub-core/commands/wildcard.c (match_files): Likewise.
1820
3a4253b2
RM
18212010-11-30 Robert Millan <rmh@gnu.org>
1822
1823 * grub-core/loader/i386/bsd.c
1824 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
1825 whether kernel is loaded using grub_loader_is_loaded(), rather
1826 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
1827 certain error conditions.
1828
8c317b27
RM
18292010-11-30 Robert Millan <rmh@gnu.org>
1830
c5c9cd3e
RM
1831 * grub-core/commands/echo.c: Include `<grub/term.h>'.
1832 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 1833
49d3ab46
VS
18342010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1835
1836 Avoid using tricks for initialising endian variables.
1837
1838 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
1839 Make const.
1840 (GRUB_MOD_INIT): Don't byte-swap.
1841 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
1842 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
1843 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
1844 (grub_swap_bytes32_compile_time): Likewise.
1845 (grub_cpu_to_le32_compile_time): Likewise.
1846 (grub_cpu_to_le16_compile_time): Likewise.
1847
f420a804
VS
18482010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 * util/grub-setup.c (setup): Stop recommending --force. People who
1851 understand the dangers of blocklists are able to find this option
1852 anyway and the ones who don't shouldn't use it anyway.
1853
4e7db17b
RM
18542010-11-26 Robert Millan <rmh@gnu.org>
1855
1856 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
1857 Update all users.
1858
9be57a0d
CW
18592010-11-26 Colin Watson <cjwatson@ubuntu.com>
1860
1861 Fix LVM-on-RAID probing.
1862
1863 * util/grub-probe.c (probe): Remember which disk was detected as
1864 RAID (perhaps an LVM physical volume). Use that disk's raidname
1865 rather than that of the top-level disk.
1866
2c7859b3 18672010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 1868
d7647bb6
BC
1869 Fix cmdline argument quotes for setparams command of menuentry
1870 definitions.
7e623b0d
BC
1871
1872 * grub-core/commands/menuentry.c (setparams_prefix): Use single
1873 quotes for arguments.
f866fe80 1874 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 1875 grub_strchrsub function instead.
f866fe80 1876
7955bea0 1877 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 1878
74f72a64
CW
18792010-11-24 Colin Watson <cjwatson@ubuntu.com>
1880
1881 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
1882 effort by skipping "." and ".." entries up-front.
1883 Suggested by: Michael Lazarev.
1884
5a407278
CW
18852010-11-24 Colin Watson <cjwatson@ubuntu.com>
1886
1887 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
1888 ldflags to ldadd, to fix link line ordering.
1889 (none_decompress): Likewise.
1890
3030d8ec
CW
18912010-11-24 Colin Watson <cjwatson@ubuntu.com>
1892
1893 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
1894 platforms.
1895 (grub-emu-lite): Remove kern/emu/cache.S.
1896
b7fbac12
CW
18972010-11-23 Colin Watson <cjwatson@ubuntu.com>
1898
1899 * util/deviceiter.c (compare_devices): If the by-id link for a
1900 device couldn't be resolved, fall back to sorting by the by-id link
1901 rather than segfaulting.
1902 Reported and tested by: Daniel Mierswa.
1903
5225f328
CW
19042010-11-23 Colin Watson <cjwatson@ubuntu.com>
1905
1906 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
1907 ldflags, to fix link line ordering.
1908
038b3ce8
CW
19092010-11-23 Colin Watson <cjwatson@ubuntu.com>
1910
1911 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
1912 linkers are picky about this.
1913
bf16e98e
CW
19142010-11-23 Colin Watson <cjwatson@ubuntu.com>
1915
1916 * grub-core/Makefile.am (command.lst): Adjust sed expression
1917 ordering so that extended and priority commands aren't treated as
1918 ordinary commands.
1919
7242bab6
CW
19202010-11-23 Colin Watson <cjwatson@ubuntu.com>
1921
1922 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
1923 Remove byte-swapping function calls, which are not valid in
1924 structure initialisers.
1925 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
1926 non-const.
1927 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
1928 grub_gpt_partition_type_bios_boot.
1929
14e8b279
CW
19302010-11-22 Colin Watson <cjwatson@ubuntu.com>
1931
1932 Fix test program build on GNU/kFreeBSD.
1933
1934 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
1935 $(LIBNVPAIR)' library dependencies.
1936
e6f63338 19372010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
1938
1939 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
1940
cf8ffc38
CW
19412010-11-22 Colin Watson <cjwatson@ubuntu.com>
1942
1943 * util/grub-install.in: Remove excessive quoting that broke
1944 installations to RAID devices.
1945
7f8b0fd7
VS
19462010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1947
1948 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
1949 bootloader version instead of 0.
1950
dfd240b1
VS
19512010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1952
1953 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
1954 warning.
1955
7b61e609
VS
19562010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
1959 retrieve the metadat sector if size isn't known.
1960 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
1961
9dfe92d0
RM
19622010-11-18 Robert Millan <rmh@gnu.org>
1963
1964 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
1965 with grub_memcmp().
1966
41cc919e
VS
19672010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
1970 arrow.
1971 Reported by: Jordan Uggla.
1972
1afcc914
VS
19732010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1974
1975 Make better UTF compliant.
1976
1977 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
1978 sequences as incorrect.
1979 (grub_is_valid_utf8): Likewise.
1980 (grub_utf8_to_ucs4): Likewise.
1981 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
1982 (grub_ucs4_to_utf8_alloc): Likewise.
1983 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
1984
f1808884
VS
19852010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 Make legacy_source behave like source.
1988
1989 * grub-core/commands/legacycfg.c (legacy_file): Don't call
1990 grub_show_menu.
1991 (grub_cmd_legacy_source): Call grub_show_menu if needed.
1992
24ec575b
CW
19932010-11-16 Colin Watson <cjwatson@debian.org>
1994
1995 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
1996 (-Wunused implies -Wunused-parameter, but not vice versa).
1997
72b7c7aa
CW
19982010-11-16 Colin Watson <cjwatson@ubuntu.com>
1999
2000 * configure.ac: Make error messages less confusing by testing for
2001 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
2002 accepted, but produces a diagnostic if something else is wrong).
2003
e98937aa
VS
20042010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2005
2006 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
2007 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
2008 (now unused).
2009 (grub_keyboard_controller_init)
2010 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
2011 read the initial state since controller isn't inited yet.
2012
f6bbabc3
VS
20132010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
2014
2015 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
2016 allocate_regbeg may need to create new chunk header.
2017
22e7dbb2
VS
20182010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2019
2020 Fix quoting in legacy parser.
2021
2022 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
2023 single quotes.
2024 (grub_legacy_parse): Likewise.
2025 Reported by: Jordan Uggla.
2026 Tested by: Jordan Uggla.
2027
03f80960
VS
20282010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2029
2030 Don't add -lgcc on i386 and x86_64.
2031
2032 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
2033 * conf/Makefile.common (LDADD_KERNEL): Likewise.
2034 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
2035
779dc15b
VS
20362010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2037
2038 * configure.ac: Add -Wno-trampolines when supported.
2039
d20a3b37
MV
20402010-11-14 Modestas Vainius <modax@debian.org>
2041
2042 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
2043 fakeraid.
2044
e5360933
GC
20452010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
2046
2047 Add generic logical block size support for UDF.
2048
2049 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
2050 (GRUB_UDF_BLKSZ): Removed.
2051 (struct grub_udf_data): New field "lbshift" to hold the logical block
2052 size of the file system in log2 format. All users updated.
2053 (sblocklist): Change type to unsigned.
2054 (grub_udf_mount): Change type of "sblklist" to unsigned.
2055 Move AVDP search before VRS recognition, because the latter requires
2056 knowledge of the logical block size, which is detected during the
2057 former.
2058 Detect and validate logical block size during AVDP search, adding
2059 support for block sizes 512, 1024 and 4096.
2060 Make VRS recognition independent of block size.
2061
cb0229c5
GC
20622010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
2063
2064 Properly handle deleted files on UDF.
2065
2066 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
2067 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
2068 set.
2069
406858a8
GC
20702010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
2071
2072 Support reading files larger than 2 GiB.
2073
2074 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
2075 "offset" to grub_off_t.
2076 (grub_udf_read_file): Likewise for parameter "pos".
2077
130da6a7
VS
20782010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2079
2080 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
2081 unavailable.
2082 (Simple configuration): Refer to Changes from GRUB Legacy about
2083 save_env availability.
2084
65e93f6b
VS
20852010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2086
2087 * util/grub-install.in: Ignore empty partition table detection
2088 instead of trying to include part_ module.
2089
1fd08bf1
VS
20902010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2091
2092 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
2093 LVM on RAID support.
2094
de1a024f
VS
20952010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
2096
2097 Properly define WORDS_BIGENDIAN in wrapped environments.
2098
2099 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
2100 definition.
2101 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
2102
2103 Reported by: Manoel Rebelo Abranches.
2104 Tested by: Manoel Rebelo Abranches.
2105
bc5dd0b9
VS
21062010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2107
2108 * util/grub-mkconfig.in: Fix quoting.
2109
58c184be
VS
21102010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2111
2112 Support big ext2 files.
2113
2114 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
2115 (grub_ext2_read_block): Support triple indirect blocks.
2116 (grub_ext2_read_file): Use 64-bit types and read size_high.
2117 (grub_ext2_open): Read size_high.
2118 Reported by: Ximin Luo.
2119 Tested by: Manoel Rebelo Abranches.
2120
5f0c02b3
VS
21212010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2122
2123 * util/grub-install.in: Handle filenames containing spaces.
2124 Reported by: Jordan Uggla.
2125 Tested by: Jordan Uggla.
2126
4417aae6
VS
21272010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 * util/grub-mkconfig.in (grub_script_check): New variable.
2130 Use grub_script_check instead of grub-script-check.
2131 Reported by: Barry Jackson.
2132
7625a68e
VS
21332010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
2134
2135 * docs/grub.texi (menu): Correct the order.
2136 Reported by: D. Hugh Redelmeier.
2137
10001ac5
VS
21382010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2139
2140 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
2141 jump.
2142
9c4cf53b
MRA
21432010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
2144
10001ac5
VS
2145 * include/grub/elfload.h (grub_elf32_size): New parameter.
2146 All users updated.
9c4cf53b
MRA
2147 Return maximum segments alignment.
2148 (grub_elf64_size): Likewise.
2149 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
2150 Return maximum segments alignment.
2151 (grub_elf64_size): Likewise.
2152 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
2153 (grub_linux_claimmap_iterate): New function. Uses the
2154 "available" property in the "memory" node for memory allocation
2155 for kernel in the PowerPC loader.
9c4cf53b
MRA
2156 (grub_linux_load32): Correctly find linux entry point offset.
2157 (grub_linux_load64): Likewise.
2158
d2bf06bf
RM
21592010-11-07 Robert Millan <rmh@gnu.org>
2160
2161 On mips-yeeloong, build with -march=loongson2f when this flag is
2162 available (GCC >= 4.4).
2163 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
2164 `-march=mips3'.
2165 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
2166 or otherwise add -march=mips3.
2167
898c99a2
BC
21682010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
2169
87220a68
BC
2170 Suppress shell expansion on echo '*' and echo "*" like cases.
2171 Reported by: Jordan Uggla.
898c99a2
BC
2172
2173 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
2174 string arguments before shell expansion.
2175 * tests/grub_cmd_echo.in: New testcases.
2176
4f9b406a
RM
21772010-11-07 Robert Millan <rmh@gnu.org>
2178
2179 * conf/mips-qemu-mips.rmk: Remove stale file from previous
2180 transition.
2181
80c6d25e
VS
21822010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
2183
2184 * grub-core/kern/emu/hostdisk.c
2185 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
2186
4a1a0153
VS
21872010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2188
2189 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
2190 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
2191 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
2192
34706ddc
VS
21932010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2194
2195 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
2196
6972dea9
VS
21972010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2198
2199 * util/grub-install.in: Replace useless recomendation to pass
2200 --modules with a recomendation to report a bug.
2201
9c693bd6
VS
22022010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2203
2204 Properly register serial terminfo.
2205 Reported by: Jordan Uggla
2206
2207 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
2208 const.
2209 (grub_serial_terminfo_output_template): Likewise.
2210 (grub_cmd_serial): Register "serial" with terminfo.
2211 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
2212 grub_serial_terminfo_output.
2213
6c9e4c0c
RM
22142010-11-05 Robert Millan <rmh@gnu.org>
2215
2216 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
2217 needed).
2218
b9b3839f
RM
22192010-11-05 Robert Millan <rmh@gnu.org>
2220
2221 On Yeeloong, pass machine type information to Linux.
2222
2223 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
2224 (LOONGSON_MACHTYPE): New macro, set to
2225 "machtype=lemote-yeeloong-2f-8.9inches".
2226 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
2227 additional argument to Linux.
2228
1a3aaff4
RM
22292010-11-04 Robert Millan <rmh@gnu.org>
2230
2231 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
2232 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
2233 (its SATA disks are detected as slaveless IDE master drives on
2234 kFreeBSD).
2235 Reported by Carsten Aulbert.
2236
a75f4f62
CW
22372010-11-02 Colin Watson <cjwatson@ubuntu.com>
2238
2239 * util/bin2h.c (main): Fix spelling error in generated output.
2240
33b4b0c6
GS
22412010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
2242
2243 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
2244
2b36fbf4
VS
22452010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2246
2247 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
2248 vga= option is supplied.
2249
74aaf558
VS
22502010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2251
2252 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
2253 * util/grub.d/10_kfreebsd.in: Likewise.
2254 * util/grub.d/10_linux.in: Likewise.
2255 * util/grub.d/20_linux_xen.in: Likewise.
2256
6428dec3
VS
22572010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2258
2259 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
2260 argument as an argument to no-argument option.
2261
f8729d98
VS
22622010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2263
2264 * util/grub.d/10_linux.in: Add missing load_video with explicit
2265 GRUB_GFXPAYLOAD_LINUX.
2266
89d68fa6
VS
22672010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2268
2269 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
2270
3a1197cd
VS
22712010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2272
2273 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
2274 elements with invlid index.
2275 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
2276 * grub-core/disk/raid.c (insert_array): Automatically reallocate
2277 members.
2278 * include/grub/raid.h (grub_raid_member): New struct.
2279 (grub_raid_array): Transform devices and start_sector into usage of
2280 grub_raid_member. All users updated
2281 (allocated_devs): New member.
2282
71574288
VS
22832010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2284
2285 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
2286 is modified
2287
8d40ec65
BC
22882010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
2289
2290 NetBSD build fix for getline function conflict from gnulib.
2291
2292 * Makefile.util.def (libgrubkern.a): New library for grub kernel
2293 components that depend on gnulib headers.
2294 (libgrubmods.a): Renamed from earlier libgrub.a.
2295 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
2296
95b9257e
VS
22972010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2298
2299 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
2300 install rather than creating a broken install.
2301
26c53dc6
VS
23022010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * util/grub-setup.c (argp): Remove misleading example of installing to
2305 a partition.
2306
4171b3c5
VS
23072010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2308
2309 * util/grub-setup.c (setup): Clarify the error message.
2310
18568d18
VS
23112010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2312
2313 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
2314
4f6a2e21
VS
23152010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2316
2317 * grub-core/kern/emu/misc.c
2318 (grub_make_system_path_relative_to_its_root)
2319 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
2320
23212010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
2322
2323 * grub-core/kern/emu/misc.c
2324 (grub_make_system_path_relative_to_its_root): Revert r2882.
2325
e138c458
VS
23262010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
2329 useless field head. All users updated.
2330 (free_subchunk): Correct handling of IN_REGION subchunk.
2331
0cbcdf0e
CW
23322010-10-22 Colin Watson <cjwatson@ubuntu.com>
2333
2334 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
2335 (Supported kernels): Likewise.
2336
b65ea155
GS
23372010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
2338
2339 Make mktemp invocations portable.
2340
2341 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
2342 exit if mktemp fails.
2343 * tests/grub_script_blockarg.in: Likewise.
2344 * tests/partmap_test.in: Likewise.
2345 * tests/util/grub-shell-tester.in: Likewise.
2346 * tests/util/grub-shell.in: Likewise.
2347 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2348 * Makefile.am: Likewise, and chain shell commands with `&&'
2349 instead of ';'.
2350 * util/grub-mkrescue.in: Use the same explicit template as above, and
2351 exit if mktemp fails.
2352
05f43cdd
BC
23532010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
2354
2355 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
2356 Linux kernel, reported by Dennis Schridde.
2357
800e6a9b
SJ
23582010-10-17 Szymon Janc <szymon@janc.net.pl>
2359
2360 * grub-core/normal/auth.c (grub_auth_check_authentication):
2361 Set-but-not-used variable removed.
2362
d82df574
VS
23632010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2364
2365 * docs/grub.texi (GNU/Linux): Document APM unavailability with
2366 32-bit linux protocol.
2367
7bced458
VS
23682010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2369
2370 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
2371 cursor shape for sanity.
2372
5b027690
VS
23732010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * docs/grub.texi (Installation): Document buggy BIOS install.
2376
ba5f65cf
VS
23772010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2378
2379 * docs/grub.texi (Installation): Indent.
2380
fdf2ec9c
VS
23812010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2382
2383 * util/grub-setup.c (setup): New parameter allow_floppy.
2384 (arguments): New member allow_floppy.
2385 (argp_parser): Handle --allow-floppy.
2386 (main): Pass allow_floppy.
2387 * util/grub-install.in: New option --allow-floppy passed though to
2388 grub-setup.
2389
861dfd4c
VS
23902010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2391
2392 * util/grub-install.in: Handle partitionless disks.
2393
f77a8c24
VS
23942010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 * util/grub-setup.c (setup): Don't clean blocklists before readability
2397 verfification.
2398
27d9ee32
VS
23992010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2400
2401 * docs/grub.texi (Installation): Document embedding zone. Remove
2402 obsolete grub-install example.
2403
6bdda8f8
SJ
24042010-10-16 Szymon Janc <szymon@janc.net.pl>
2405
2406 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
2407 Set-but-not-used variable ifdef'ed.
2408 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
2409 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
2410 variable removed.
2411 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
2412 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
2413 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
2414 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
2415 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
2416 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
2417 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
2418 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
2419 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
2420 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
2421 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
2422 Likewise.
2423
e19b016b
VS
24242010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2425
2426 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
2427 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
2428 enum value.
2429
6c8d3002
VS
24302010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2431
2432 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
2433 synonym to _S5_. Needed for some DSDTs.
2434
c32b51c9
VS
24352010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 Userspace ACPI parser debugging.
2438
2439 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
2440 headers and add relevant defines. Don't include standard headers.
2441 (main) [GRUB_DSDT_TEST]: New function.
2442 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
2443 Don't declare functions.
2444
fbfbeb39
VS
24452010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2446
2447 Remove dead grub_efi_mm_fini.
2448
2449 * grub-core/kern/efi/mm.c (allocated_page): Removed.
2450 (ALLOCATED_PAGES_SIZE): Likewise.
2451 (MAX_ALLOCATED_PAGES): Likewise.
2452 (allocated_pages): Likewise.
2453 (grub_efi_allocate_pages): Don't record allocated pages.
2454 (grub_efi_free_pages): Likewise.
2455 (grub_efi_mm_init): Likewise.
2456 (grub_efi_mm_fini): Removed.
2457
65f7ed7c
VS
24582010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2459
2460 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
2461 (grub_efi_mm_init): Take into account the memory map size increase.
2462
24977b44
VS
24632010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2464
2465 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
2466 (serial_hw_put): Wait based on real time rather than port reads. Don't
2467 roken ports.
2468 * include/grub/serial.h (grub_serial_port): New field broken.
2469
1eb01cd2
RM
24702010-10-16 Robert Millan <rmh@gnu.org>
2471
2472 * grub-core/kern/emu/misc.c
2473 (grub_make_system_path_relative_to_its_root): Fix premature return
2474 when processing non-root ZFS filesystems.
5f8b440b 2475 Reported by Sergio Talens-Oliag.
1eb01cd2 2476
2d5fed60
RM
24772010-10-15 Robert Millan <rmh@gnu.org>
2478
2479 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
2480 guarantee compressed ones are processed first.
2481
d0f4c1ea
VS
24822010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
2485 grub_efiemu_autocore.
2486
d87c681f
VS
24872010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2488
2489 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
2490 rather than 0x1b.
2491 (grub_console_getkey): Use correct jae opcode rather than ja.
2492
219b3564
RM
24932010-10-12 Robert Millan <rmh@gnu.org>
2494
2495 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
2496 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
2497 variable. All references updated.
2498
2499 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
2500
20c6bb7e
VS
25012010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
2502
2503 Correctly distinguish mdraid flavours.
2504
2505 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
2506 (insert_array): New argument raid.
2507 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
2508 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
2509 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
2510
74baff84
VS
25112010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
2512
2513 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
2514 handling of special keys.
2515
3ef068df 25162010-10-02 Aleš Nesrsta <starous@volny.cz>
2517
c7980ad9
VS
2518 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
2519 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 2520
a9455194 25212010-10-02 Aleš Nesrsta <starous@volny.cz>
2522
c7980ad9
VS
2523 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
2524 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
2525 users updated.
a9455194 2526 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 2527 Use right endpoint when querying descriptor.
a9455194 2528
441cfe65
VS
25292010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
2530
2531 Clear out 0x80 color bit on EFI.
2532 Tested by: decoder
2533 Reported by: decoder and meta tech.
2534
2535 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
2536 (grub_console_setcolorstate): Clear out 0x80 bit.
2537 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
2538 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
2539 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
2540
bf26bcc4
VS
25412010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
2542
2543 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
2544 Set to "auto".
2545
6e3c515d
VS
25462010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2547
2548 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
2549 mo_file after freeing.
2550
e6d983ba
VS
25512010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2552
2553 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
2554
74ccb5b5
VS
25552010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2556
2557 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
2558 flags.
2559
17821956
VS
25602010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2561
2562 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
2563 usage.
2564
ee74fa48
VS
25652010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
2566
2567 Put terminfo into core on ieee1275 and yeeloong (needed for console).
2568
2569 * gentpl.py: New groups terminfoinkernel and terminfomodule.
2570 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
2571 and terminfo.h when needed.
2572 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
2573 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
2574 (terminfo): Enable only on terminfokernel.
2575 (extcmd): Likewise.
2576 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
2577 * include/grub/lib/arg.h: Likewise.
2578 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
2579 incorrect usage of ->.
2580
aa438e68
VS
25812010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2582
2583 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
2584 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
2585
57994012
VS
25862010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 Fix coreboot compilation.
2589
2590 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
2591 Take VBE info into account even if only text is supported.
2592 (fill_vbe_info): Take into account the case when only VGA text
2593 is supported.
2594 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
2595 on coreboot, multiboot and qemu.
2596
2a406611
VS
25972010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
2600 debug messages.
2601 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
2602
d33613fc
VS
26032010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
2606 parameters.
2607
44a1b432
VS
26082010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
2611 if they were BSD-style.
2612
edde54e6
VS
26132010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2614
2615 * grub-core/boot/i386/pc/lnxboot.S: Replace
2616 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
2617 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
2618
b65830fa
VS
26192010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
2620
2621 Write embedding zone using Reed-Solomon.
2622
2623 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
2624 * grub-core/Makefile.am (rs_decoder.S): New target.
2625 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
2626 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
2627 (multiboot): Move to RS part.
2628 (post_reed_solomon): New label.
2629 (grub_boot_drive): Move to non-RS part since it's modified in memory
2630 on boot.
2631 Include rs_decoder.S.
2632 * grub-core/lib/reed_solomon.c: New file.
2633 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
2634 New definition.
2635 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
2636 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
2637 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
2638 * include/grub/partition.h (grub_partition_map): Change prototype of
2639 embed to allow returning additional sectors.
2640 * include/grub/reed_solomon.h: New file.
2641 * util/grub-setup.c (setup): Handle Reed-Solomon.
2642
0b4b227f
CW
26432010-09-28 Colin Watson <cjwatson@ubuntu.com>
2644
2645 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
2646 i386 and x86-64 definedness tests.
2647
f772623b
YB
26482010-09-27 Yves Blusseau <blusseau@zetam.org>
2649
2650 Fix generation of kernel_syms.lst
2651
2652 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
2653 ASM_PREFIX
2654
8e57a6ca
RM
26552010-09-26 Robert Millan <rmh@gnu.org>
2656
2657 Support degraded ZFS arrays in "grub-probe -t device" resolution.
2658
2659 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
2660 the pool is an array of devices, iterate through it and return the
2661 first device that passes a stat() test (instead of blindly returning
2662 the first one).
2663
f9130836
RM
26642010-09-26 Robert Millan <rmh@gnu.org>
2665
2666 Build fixes for GNU/kFreeBSD.
2667
2668 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
2669 to programs that require ZFS conversion.
2670 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
2671 kernels that don't have FLOPPY_MAJOR.
2672
96510faf
BC
26732010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
2674
2675 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
2676
449333eb
BC
26772010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
2678
2679 Fix grub-emu build.
2680
2681 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
2682 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
2683 mdraid09 and mdraid1x.
2684
e1fd1939
CW
26852010-09-24 Colin Watson <cjwatson@ubuntu.com>
2686
2687 Re-enable grub-extras.
2688
2689 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
2690 avoid confusing Automake. Run autogen only twice, once for the top
2691 level and once for grub-core. Add Makefile.util.def and
2692 Makefile.core.def from extra modules to the appropriate autogen
2693 invocations. If Makefile.common exists in an extra module, include
2694 it in both Makefile.util.am and grub-core/Makefile.core.am;
2695 similarly, include any Makefile.util.common file in Makefile.util.am
2696 and any Makefile.core.common file in grub-core/Makefile.core.am.
2697 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
2698 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
2699 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
2700 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
2701
2702 * gentpl.py (gvar_add): Turn GVARS into a set.
2703 (global_variable_initializers): Sort global variables on output.
2704 (vars_init): New function.
2705 (first_time): Likewise.
2706 (library): Ensure that non-global variable initialisations are
2707 emitted before the first time we emit code for a library block.
2708 Append to variables rather than setting them. Only emit
2709 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
2710 each conditional path.
2711 (program): installdir() emits an Autogen macro, so must be passed to
2712 var_add rather than gvar_add.
2713 (data): Likewise.
2714 (script): Likewise.
2715 (rules): New function, centralising handling for different target
2716 types. Set up Guile association lists for first_time and vars_init,
2717 and send most output to a diversion so that variable initialisations
2718 can be emitted first.
2719 (module_rules): Use new rules function.
2720 (kernel_rules): Likewise.
2721 (image_rules): Likewise.
2722 (library_rules): Likewise.
2723 (program_rules): Likewise.
2724 (script_rules): Likewise.
2725 (data_rules): Likewise.
2726
2727 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
2728
2729 * .bzrignore: Add contrib and grub-core/contrib. Remove
2730 grub-core/Makefile.gcry.am.
2731
1d12cf29
YB
27322010-09-24 Yves Blusseau <blusseau@zetam.org>
2733
2734 * grub-core/lib/LzFind.c: Add missing include.
2735 * grub-core/lib/LzmaEnc.c: Likewise.
2736 * grub-core/script/lexer.c: Likewise.
2737 * grub-core/script/yylex.l: Likewise.
2738 * util/grub-macho2img.c: Likewise.
2739 * util/grub-menulst2cfg.c: Likewise.
2740 * util/grub-mklayout.c: Likewise.
2741 * util/grub-mkpasswd-pbkdf2.c
2742 * util/grub-mkrelpath.c: Likewise.
2743 * util/resolve.c: Likewise.
2744
dd363028
BC
27452010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
2746
2747 * Makefile.util.def (example_unit_test): Add
2748 grub-core/gnulib/libgnu.a.
2749
f5a109e2
GS
27502010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
2751
2752 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
2753
6d0fa83c
VS
27542010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
2755
2756 Support xz compression on yeeloong.
2757
2758 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
2759 * configure.ac: Check for LZMA.
2760 * grub-core/Makefile.core.def (xz_decompress): New target.
2761 (none_decompress): Likewise.
2762 * grub-core/boot/decompressor/minilib.c: New file.
2763 * grub-core/boot/decompressor/none.c: Likewise.
2764 * grub-core/boot/decompressor/xz.c: Likewise.
2765 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
2766 * grub-core/kern/mips/cache_flush.S: Likewise.
2767 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
2768 * grub-core/kern/mips/startup.S: Move first stage to ...
2769 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
2770 nomacro.
2771 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
2772 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
2773 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
2774 Allocate statically.
2775 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
2776 Allocate statically or use scratch. Don't check CRC32.
2777 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
2778 Allocate statically. Don't check CRC32.
2779 * include/grub/decompressor.h: New file.
2780 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
2781 Removed.
2782 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
2783 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
2784 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
2785 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
2786 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
2787 * util/grub-mkimage.c (grub_compression_t): New type.
2788 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
2789 (image_target_desc): New field default_compression.
2790 (image_targets): Adjust yeeloong targets.
2791 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
2792 (compress_kernel): New parameter comp.
2793 (generate_image): Likewise. Handle new compression case.
2794 (options): New option --compression
2795 (help): Likewise.
2796 (main): Handle new option.
2797
1b655af6
GS
27982010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
2799
2800 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
2801
8f03f0b5
CW
28022010-09-22 Colin Watson <cjwatson@ubuntu.com>
2803
2804 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
2805 typo in __i386__ conditional.
2806
7835dfd3
VS
28072010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2808
2809 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
2810 include.
2811
e255597e
VS
28122010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
2813
6d0fa83c 2814 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
2815
2816 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
2817 new tags as supported.
2818 (acpiv2_size): New function.
2819 (grub_multiboot_get_mbi_size): Take new tags into account.
2820 (grub_multiboot_make_mbi): Add new tags.
2821 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 2822
6cc14051 28232010-09-21 Aleš Nesrsta <starous@volny.cz>
2824
2825 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
2826 Added missing configuration of USB device.
2827
df7769d8
CW
28282010-09-21 Colin Watson <cjwatson@ubuntu.com>
2829
2830 * grub-core/normal/menu_entry.c (run): Make sure we always return
2831 a value.
2832
b031012d
CW
28332010-09-21 Colin Watson <cjwatson@ubuntu.com>
2834
2835 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
2836 NumberOfPages is UINT64 according to the UEFI specification, not
2837 UINTN. Fix printf format.
2838
174de8f3
CW
28392010-09-21 Colin Watson <cjwatson@ubuntu.com>
2840
2841 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
2842 `err' to grub_usb_err_t.
2843 Reported and tested by: KESHAV P.R.
2844
d7dbe923
CW
28452010-09-21 Colin Watson <cjwatson@ubuntu.com>
2846
2847 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
2848 tpart non-const, so that we can assign to it. (Since this is a
2849 typedef, the constness refers to the pointer rather than what it
2850 points to.)
2851
8d5e2af3
CW
28522010-09-21 Colin Watson <cjwatson@ubuntu.com>
2853
2854 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
2855 $(top_srcdir)/grub-core/gnulib as well as
2856 $(top_builddir)/grub-core/gnulib.
2857 Reported by: KESHAV P.R.
2858
5c527783
CW
28592010-09-21 Colin Watson <cjwatson@ubuntu.com>
2860
2861 * util/grub-install.in: Fix the bootloader ID option to be
2862 consistently --bootloader-id, not --bootloader_id.
2863 Reported by: KESHAV P.R.
2864
d309a16e
CW
28652010-09-21 Colin Watson <cjwatson@ubuntu.com>
2866
2867 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
2868 check hash checksum." consistently translatable.
2869
b830cd16
YB
28702010-09-21 Yves Blusseau <blusseau@zetam.org>
2871
2872 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
2873 $(top_builddir).
2874
c4fe27a8
CW
28752010-09-21 Colin Watson <cjwatson@ubuntu.com>
2876
2877 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
2878 (GRUB_MOD_INIT): Register sha1sum command.
2879 (GRUB_MOD_FINI): Unregister sha1sum command.
2880
a4c1d277
YB
28812010-09-21 Yves Blusseau <blusseau@zetam.org>
2882
2883 Keep boot and grub directory names in sync with utils scripts
2884
2885 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
2886 * config.h.in: Add previous macros.
2887 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
2888 * util/grub-install.in: Use $bootdir and $grubdir variables.
2889
4eff79d2
CW
28902010-09-21 Colin Watson <cjwatson@ubuntu.com>
2891
2892 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
2893 convert partition names to disk names if the new `convert' parameter
2894 is set.
2895 (grub_util_biosdisk_get_grub_dev): If opening the disk device
2896 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
2897 disk in its own right. This can happen with Xen disk images.
2898
934d7e44
YB
28992010-09-21 Yves Blusseau <blusseau@zetam.org>
2900
2901 * util/grub-editenv.c: Update strings to avoid warnings when generating
2902 grub.pot file.
2903 * util/grub-setup.c: Likewise.
934d7e44 2904
df3367cc
VS
29052010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 * configure.ac: Change version to 1.99~beta0.
2908
77a94e98
VS
29092010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
2912 Add BADRAM.
2913 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
2914 Likewise.
2915 * include/multiboot.h: Resynced with specification.
2916 * include/multiboot2.h: Likewise.
2917
269004c1
CW
29182010-09-21 Colin Watson <cjwatson@ubuntu.com>
2919
2920 Fix po directory handling.
2921
2922 * configure.ac: Create po/Makefile.in rather than po/Makefile.
2923 * grub-core/gnulib/Makefile.am: Import gettext module.
2924 * m4/gnulib-cache.m4: Likewise.
2925 * m4/gnulib-comp.m4: Likewise.
2926 * m4/gettext.m4: New file, from gnulib.
2927 * m4/glibc2.m4: Likewise.
2928 * m4/iconv.m4: Likewise.
2929 * m4/intdiv0.m4: Likewise.
2930 * m4/intl.m4: Likewise.
2931 * m4/intldir.m4: Likewise.
2932 * m4/intlmacosx.m4: Likewise.
2933 * m4/intmax.m4: Likewise.
2934 * m4/inttypes-pri.m4: Likewise.
2935 * m4/lcmessage.m4: Likewise.
2936 * m4/lib-ld.m4: Likewise.
2937 * m4/lib-link.m4: Likewise.
2938 * m4/lib-prefix.m4: Likewise.
2939 * m4/lock.m4: Likewise.
2940 * m4/nls.m4: Likewise.
2941 * m4/po.m4: Likewise.
2942 * m4/printf-posix.m4: Likewise.
2943 * m4/progtest.m4: Likewise.
2944 * m4/threadlib.m4: Likewise.
2945 * m4/uintmax_t.m4: Likewise.
2946 * m4/visibility.m4: Likewise.
2947 * po/Makefile.am: Remove.
2948 * po/Makefile.in.in: New file, from gettext.
2949 ($(DOMAIN).pot-update): Support POTFILES-shell.
2950 * po/Makevars: New file.
2951 * po/POTFILES-shell: Rename to ...
2952 * po/POTFILES-shell.in: ... this. Update.
2953 * po/POTFILES: Rename to ...
2954 * po/POTFILES.in: ... this. Update.
2955 * po/Rules-quot: New file, from gettext.
2956 * po/boldquot.sed: Likewise.
2957 * po/en@boldquot.header: Likewise.
2958 * po/en@quot.header: Likewise.
2959 * po/insert-header.sin: Likewise.
2960 * po/quot.sed: Likewise.
2961 * po/remove-potcdate.sin: Likewise.
2962
3e0fa5d0
VS
29632010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2964
2965 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
2966
ade9bd66
VS
29672010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 * util/grub.d/20_linux_xen.in: Use submenus.
2970
fc55cc4c
VS
29712010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2972
2973 Support submenus.
2974
2975 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
2976 parameter submenu. All users updated.
2977 * grub-core/normal/main.c (free_menu): Rename to ...
2978 (grub_normal_free_menu): ... this. Made global.
2979 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
2980 if requested.
2981 * grub-core/normal/menu_entry.c (screen): New field submenu.
2982 (make_screen): Set submenu.
2983 (run): Open new context if requested.
2984 * include/grub/menu.h (grub_menu_entry): New field submenu.
2985 * include/grub/normal.h (grub_normal_free_menu): New proto.
2986
600cedf7
VS
29872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
2988
2989 Menu entries extractor.
2990
2991 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
2992 variants.
2993 (GRUB_MOD_INIT): Register new variants.
2994 (GRUB_MOD_FINI): Unregister new variants.
2995 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
2996 into grub_cmd_legacy_source.
2997 (grub_cmd_legacy_source): Implement extractor variants.
2998 (GRUB_MOD_INIT): Register new variants.
2999 (GRUB_MOD_FINI): Unregister new variants.
3000 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
3001 as an extractor.
3002 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
3003 search as an extractor.
3004 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
3005 test as an extractor.
3006 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
3007 as an extractor.
3008 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
3009 (grub_env_new_context): New function.
3010 (grub_env_context_open): Likewise.
3011 (grub_env_extractor_open): Likewise.
3012 (grub_env_extractor_close): Likewise.
3013 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
3014 grub_extractor_level.
3015 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
3016 * include/grub/env.h (grub_env_extractor_open): New proto.
3017 (grub_env_extractor_close): Likewise.
3018 * include/grub/normal.h (grub_extractor_level): New external variable.
3019
7bda3a87
VS
30202010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3021
3022 Make cutmem accept a region specification.
3023 Suggested by: Samuel Thibault
3024
3025 * grub-core/mmap/mmap.c (parsemem): New function.
3026 (grub_cmd_cutmem): Handle new arguments.
3027
2ea57f88
VS
30282010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3029
3030 New command cutmem.
3031
3032 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
3033 (GRUB_MOD_INIT): Register new command.
3034 (GRUB_MOD_FINI): Unregister new command.
3035
74342e31
VS
30362010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 Support some annoying BSD and Minix subpartitions.
3039
3040 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
3041 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
3042 Properly handle concatenation.
3043 * grub-core/kern/device.c (grub_device_iterate): Likewise.
3044 * grub-core/normal/completion.c (iterate_partition): Likewise.
3045 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
3046 contain partition. All users updated.
3047 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
3048 struct.
3049 (grub_openbsdlabel_partition_map): Likewise.
3050 (bsdlabel_partition_map_iterate): Rename to ..
3051 (iterate_real): ... this. New arguments sector, freebsd and pmap.
3052 (bsdlabel_partition_map_iterate): New function.
3053 (netopenbsdlabel_partition_map_iterate): Likewise.
3054 (netbsdlabel_partition_map_iterate): Likewise.
3055 (openbsdlabel_partition_map_iterate): Likewise.
3056 (GRUB_MOD_INIT): Register new partmaps.
3057 (GRUB_MOD_FINI): Unregister new partmaps.
3058 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
3059 (grub_partition_msdos_iterate): ... this. All users updated.
3060 Don't support embedding other than in a minix partition.
3061 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
3062 proto.
3063 * include/grub/partition.h (grub_partition): New field msdostype.
3064 * util/grub-install.in: Handle openbsd and netbsd types being in
3065 part_bsd module.
3066
1e8d555b
VS
30672010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
3070
3071 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
3072 * grub-core/Makefile.core.def (mdraid): Renamed to ...
3073 (mdraid09): ... this.
3074 (mdraid1x): New module.
3075 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
3076 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
3077
899d8af4
VS
30782010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3079
3080 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
3081 vsprintf.
3082
40901acd
CW
30832010-09-20 Colin Watson <cjwatson@ubuntu.com>
3084
3085 * grub-core/commands/efi/lsefimmap.c: Correct header.
3086 * NEWS: Update.
3087
dfe3b247
CW
30882010-09-20 Colin Watson <cjwatson@ubuntu.com>
3089
3090 * util/grub-editenv.c (argp_parser): Don't pass translated strings
3091 as printf format strings; the translations might contain '%' which
3092 could cause a crash.
3093 (main): Likewise.
3094 * util/grub-fstest.c (argp_parser): Likewise.
3095 * util/grub-setup.c (argp_parser): Likewise.
3096 (main): Likewise.
3097
3286a4b4
VS
30982010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3099
3100 Use argp in grub-fstest.
3101
3102 * util/grub-fstest.c: Don't include getopt.h.
3103 Include argp.h.
3104 (root): New variable.
3105 (args_count): Likewise.
3106 (nparm): Likewise.
3107 (num_disks): Likewise.
3108 (images): Likewise.
3109 (cmd): Likewise.
3110 (debug_str): Likewise.
3111 (args): Likewise.
3112 (options): Transformed to argp.
3113 (usage): Removed.
3114 (main): Split argument parsing into ...
3115 (argp_parser): ... this. Changed to argp format.
3116 (argp): New variable.
3117 (main): Use argp_parse.
3118
3dccbe4b
TG
31192010-09-20 Tristan Gingold <gingold@free.fr>
31202010-09-20 Robert Millan <rmh.grub@aybabtu.com>
31212010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 * grub-core/commands/efi/lsefimmap.c: New file.
3124 * grub-core/Makefile.core.def (lsefimmap): New module.
3125 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
3126
38c259a7
VS
31272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3128
3129 Pause the execution (10s max) if any errors are displayed so the user
3130 has a chance to see them.
3131
3132 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
3133 (grub_print_error): Increment grub_err_printed_errors.
3134 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
3135 execution if any errors were displayed.
3136 (show_menu): Remove old code for pause.
3137 * grub-core/normal/menu_entry.c (run): Likewise.
3138 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
3139 users updated.
3140 (grub_normal_get_char_counter): Likewise.
3141 * include/grub/err.h (grub_err_printed_errors): New external variable.
3142 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
3143
f218b09c
VS
31442010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3145
3146 Support multiboot VBE info.
3147
3148 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
3149 Take VBE info into account.
3150 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
3151 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
3152 Call fill_vbe_info when appropriate.
3153 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
3154 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
3155 as supported.
3156 (grub_multiboot_get_mbi_size): Take new tags into account.
3157 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
3158 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
3159 Call fill_vbe_tag when appropriate.
3160 (grub_multiboot_make_mbi): Properly align tags.
3161 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
3162 function.
3163 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
3164 proto.
3165 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
3166
a9cc5438
VS
31672010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3168
3169 Suport manual terminal geometry specification.
3170
3171 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
3172 Save state in grub_ofconsole_terminfo_output.
3173 (grub_ofconsole_term): Use grub_terminfo_getwh.
3174 (grub_ofconsole_getwh): Removed.
3175 * grub-core/term/serial.c (grub_serial_getwh): Removed.
3176 (grub_serial_term): Use grub_terminfo_getwh.
3177 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
3178 (options): New struct.
3179 (OPTION_*): New enum.
3180 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
3181 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
3182 width and height.
3183 (grub_terminfo_getwh): New proto.
3184 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
3185
1a8fed20
VS
31862010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 Handle legacy "terminal" command.
3189
3190 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
3191 and FLAG_TERMINAL.
3192 (legacy_commands): Add terminal and title.
3193 (grub_legacy_parse): Handle terminal. Simplify title handling.
3194
41e9c57d
VS
31952010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3196
3197 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
3198 parameters overflow.
3199
61c874c5
CW
32002010-09-20 Colin Watson <cjwatson@ubuntu.com>
3201
3202 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
3203 widthspec.h.
3204
3205 * docs/grub.texi (Shell-like scripting): Document `!'.
3206 (Network): Simplify using new i386-pc-pxe format. Mention
3207 grub-mknetdir.
3208
3209 * NEWS: Update.
3210
943682b4
CW
32112010-09-20 Colin Watson <cjwatson@ubuntu.com>
3212
3213 * Makefile.am (SUBDIRS): Restore "."; it's important to force
3214 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
3215 when needed.
3216
6d3d698d
CW
32172010-09-20 Colin Watson <cjwatson@ubuntu.com>
3218
3219 * grub-core/commands/efi/lsefisystab.c: Correct header.
3220 * grub-core/commands/efi/lssal.c: Likewise.
3221 * grub-core/commands/testload.c: Likewise.
3222
c982589f
CW
32232010-09-20 Colin Watson <cjwatson@ubuntu.com>
3224
3225 * util/grub-mkrescue.in: Add explicit root argument to --set to
3226 prevent the UUID being interpreted as an argument to --set (matches
3227 previous change to prepare_grub_to_access_device).
3228
a63c31b6
CW
32292010-09-20 Colin Watson <cjwatson@ubuntu.com>
3230
3231 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
3232 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
3233 the verbosity of later #ifs.
3234 (find_partition_start): Define this function on FreeBSD too.
3235 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
3236 function.
3237 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
3238 on FreeBSD.
3239
6439b8ee
YB
32402010-09-20 Yves Blusseau <blusseau@zetam.org>
3241
3242 * util/grub-editenv.c: Use argp instead of getopt.
3243
c5930ec8
YB
32442010-09-20 Yves Blusseau <blusseau@zetam.org>
3245
3246 * util/grub-setup.c: Use argp instead of getopt.
3247
15c69261
YB
32482010-09-20 Yves Blusseau <blusseau@zetam.org>
3249
3250 Use gnulib-tool to create gnulib source files.
3251
3252 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
3253 grub-core/gnulib directories
3254 * .bzignore: Add **/.deps and autogenerated gnulib files
3255 * configure.ac: Assign auxiliary directory to build-aux, add invocation
3256 of gnulib macros, add grub-core/gnulib/Makefile
3257 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
3258 include m4 directory to aclocal.
3259 * Makefile.util.def: Remove direct compilation of gnulib source files
3260 and use the new grub-core/gnulib/libgnu.a.
3261 * build-aux/config.rpath: move config.rpath from top directory to
3262 build-aux
3263 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
3264 in gnulib headers
3265 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
3266 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
3267 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
3268 header.
3269 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
3270 string.
3271
e511c9f5
YB
32722010-09-20 Yves Blusseau <blusseau@zetam.org>
3273
3274 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
3275 grub-core/genmod.sh and grub-core/gensyminfo.sh
3276
c2dede05
BC
32772010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
3278
3279 Add a test for echo command options.
3280
3281 * tests/grub_cmd_echo.in: New test.
3282 * Makefile.util.def: Rules for new test.
3283
c55f5018
SJ
32842010-09-20 Szymon Janc <szymon@janc.net.pl>
3285
3286 Remove crc.mod and move crc command to hashsum.mod.
3287 Remove lib/crc.c - users updated to use gcrypt implementation.
3288
3289 * grub-core/commands/crc.c: Removed.
3290 * grub-core/Makefile.core.def (crc): Module removed.
3291 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
3292 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
3293 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
3294 * grub-core/lib/crc.c: Removed.
3295 * include/grub/lib/crc.h: Removed.
3296 * Makefile.util.def (crc): Remove lib/crc.c
3297 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
3298 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
3299 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
3300 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
3301 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
3302 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
3303
e0337366
VS
33042010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
3305
3306 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
3307
742f9232
VS
33082010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 Split config.h for util and core.
3311
3312 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
3313 (ADDR32): Likewise.
3314 (DATA32): Likewise.
3315 (BSS_START_SYMBOL): Likewise.
3316 (END_SYMBOL): Likewise.
3317 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
3318 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
3319 * config.h.in: New file.
3320 * configure.ac: Use config-util.h as config define file.
3321 Rename MACHINE into GRUB_MACHINE. All users updated.
3322 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
3323 updated.
3324 (NESTED_FUNC_ATTR): Likewise.
3325 Substitue new variables.
3326 (COND_HAVE_ASM_USCORE): New conditional.
3327 * grub-core/Makefile.am (ASM_PREFIX): New variable.
3328 (kernel_syms.lst): Use ASM_PREFIX.
3329 * grub-core/kern/emu/console.c: Include config-util.h.
3330 * grub-core/kern/emu/misc.c: Likewise.
3331 * grub-core/kern/emu/mm.c: Likewise.
3332 * include/grub/emu/misc.h: Likewise.
3333 * include/grub/libgcc.h: Likewise.
3334
39feb0e8
VS
33352010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3336
3337 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
3338 constants usage.
3339 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
3340 Fix GRUB_TERM_KEY_* constants usage.
3341 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
3342
9af6dac3
VS
33432010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3344
3345 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
3346 print pointer.
3347 * grub-core/bus/usb/uhci.c: Remove empty define.
3348 (grub_uhci_check_transfer): Add missing cast.
3349 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
3350 print pointer.
3351 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
3352 PRIuGRUB_SIZE.
3353 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
3354
d6d94820
VS
33552010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3356
3357 * grub-core/Makefile.core.def (legacycfg): Add
3358 lib/i386/pc/vesa_modes_table.c on emu.
3359
3572f2b6
BC
33602010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
3361
3362 Reduce number of temporary files generated by build system.
3363
3364 * grub-core/gencmdlist.sh: Removed.
3365 * grub-core/genfslist.sh: Removed.
3366 * grub-core/genhandlerlist.sh: Removed.
3367 * grub-core/genmodsrc.sh: Removed.
3368 * grub-core/genpartmaplist.sh: Removed.
3369 * grub-core/genparttoollist.sh: Removed.
3370 * grub-core/gentermiinallist.sh: Removed.
3371 * grub-core/genvideolist.sh: Removed.
3372
3373 * grub-core/genmod.sh.in: New file.
3374 * grub-core/gensyminfo.sh.in: New file.
3375
3376 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
3377 * conf/Makefile.extra-dist: Update with new files.
3378 * gentpl.py: Remove rules related to unnecessary temporary files.
3379 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
3380 and und-* files.
3381 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
3382 genmod.sh scripts.
3383 * grub-core/bus/usb/uhci.c: Remove empty #define.
3384 * grub-core/genmoddep.awk: Updated with new syminfo format.
3385 * util/bash-completion.d/Makefile.am: Add config.log to
3386 CLEANFILES.
3387
c836b030
YB
33882010-09-19 Yves Blusseau <blusseau@zetam.org>
3389
3390 * Makefile.util.def: Add forgotten $(LIBINTL) library.
3391
2f4e8053
BC
33922010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
3393
3394 * util/grub-mkconfig.in: Check the config script for syntax errors
3395 before saving.
3396
75831c34
CW
33972010-09-19 Colin Watson <cjwatson@ubuntu.com>
33982010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3399
3400 * Makefile.util.def (grub-install): Use util/grub-install.in on all
3401 platforms.
3402 * util/grub-install.in: Add EFI and IEEE1275 support.
3403 * util/i386/efi/grub-install.in: Removed.
3404 * util/ieee1275/grub-install.in: Likewise.
3405
eaf41b25
VS
34062010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
3407
3408 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
3409 (grub_cmd_cmosclean): Likewise.
3410 (GRUB_MOD_INIT): Register command cmosclean.
3411 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
3412 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
3413
1a9130dd
CPE
34142010-09-18 Carles Pina i Estany <carles@pina.cat>
34152010-09-18 Aleš Nesrsta <starous@volny.cz>
34162010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3417
3418 Add keyboard layouts support.
3419
3420 * Makefile.util.def (grub-mklayout): New file.
3421 (grub-kbdcomp): New script.
3422 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
3423 Add keyboard_layouts.h.
3424 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
3425 commands/boot.c on yeeloong.
3426 (keylayouts): New module.
3427 * grub-core/bus/usb/ohci.c
3428 * grub-core/bus/usb/uhci.c
3429 * grub-core/bus/usb/usbhub.c (rescan): New variable.
3430 (grub_usb_add_hub): Poll interrupt pipe for device handling.
3431 (attach_root_port): Likewise.
3432 (poll_nonroot_hub): Likewise.
3433 (grub_usb_poll_devices): Likewise.
3434 (detach_device): Close transfer.
3435 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
3436 function.
3437 (grub_usb_bulk_setup_readwrite): Likewise.
3438 (grub_usb_bulk_finish_readwrite): Likewise.
3439 * grub-core/commands/keylayouts.c: New file.
3440 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
3441 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
3442 aliases.
3443 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
3444 support scancode 2.
3445 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
3446 * include/grub/keyboard_layouts.h: New file.
3447 * util/grub-mklayout.c: New file.
3448 * util/grub-kbdcomp.in: Likewise.
3449
a1d84a5e
VS
34502010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3451
3452 Unify memory types.
3453
3454 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
3455 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
3456 types.
3457 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
3458 (grub_upper_mem): Likewise.
3459 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
3460 * include/grub/memory.h (grub_memory_type_t): New enum.
3461 All users updated.
3462
9696382e
VS
34632010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3464
3465 * grub-core/Makefile.core.def (lsapm): New module.
3466 * grub-core/commands/i386/pc/lsapm.c: New file.
3467 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
3468 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
3469 Likewise.
3470 * include/grub/i386/pc/apm.h: New file.
3471 * include/multiboot.h (multiboot_apm_info): New struct.
3472
34732010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
3474
3475 GRUB-legacy configuration file support.
3476
3477 * Makefile.util.def (grub-menulst2cfg): New util.
3478 * docs/man/grub-menulst2cfg.h2m: New file.
3479 * grub-core/Makefile.core.def (legacycfg): New module.
3480 * grub-core/commands/legacycfg.c: New file.
3481 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
3482 (grub_normal_add_menu_entry): ... this.
3483 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
3484 (grub_normal_set_password): ...this.
3485 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
3486 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
3487 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
3488 * grub-core/lib/legacy_parse.c: New file.
3489 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
3490 * include/grub/i386/pc/vesa_modes_table.h: New file.
3491 * include/grub/legacy_parse.h: Likewise.
3492 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
3493 * util/grub-menulst2cfg.c: New file.
3494
bf8d1338
CW
34952010-09-17 Colin Watson <cjwatson@ubuntu.com>
3496
3497 * grub-core/kern/emu/hostdisk.c
3498 (convert_system_partition_to_system_disk): Initialise node.
3499
9c0bad2e
CW
35002010-09-17 Colin Watson <cjwatson@ubuntu.com>
3501
3502 * grub-core/kern/emu/hostdisk.c
3503 (convert_system_partition_to_system_disk): Fix devmapper memory pool
3504 leak.
3505 Reported and based on patch by: Modestas Vainius.
3506
a939d135
CW
35072010-09-17 Colin Watson <cjwatson@ubuntu.com>
3508
3509 Fix DM-RAID probing with recent versions of device-mapper udev
3510 rules.
3511
3512 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
3513 canonicalise device paths under /dev/mapper/.
3514 (convert_system_partition_to_system_disk): Compare the
3515 uncanonicalised path to /dev/mapper/ rather than the canonicalised
3516 path, since device nodes under /dev/mapper/ are often symlinks.
3517
0f7ee3c9
YB
35182010-09-17 Yves Blusseau <blusseau@zetam.org>
3519
3520 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
3521
10854d0d
YB
35222010-09-16 Yves Blusseau <blusseau@zetam.org>
3523
3524 * configure.ac: Avoid some annoying error messages if freetype-config
3525 program is not found.
3526
108538d8
CW
35272010-09-16 Colin Watson <cjwatson@ubuntu.com>
3528
3529 Support RAID on virtio devices, and others.
3530
3531 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
3532 Rename to ...
3533 [__MINGW32__] (grub_find_device): ... this.
3534 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
3535 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
3536 reasonable default if dir is NULL.
3537 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
3538 ...
3539 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
3540 (grub_guess_root_device): Update callers.
3541 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
3542
3543 * util/raid.c (grub_util_getdiskname): Remove.
3544 (grub_util_raid_getmembers): Use grub_find_device rather than
3545 grub_util_getdiskname.
3546
e5bfc130
CW
35472010-09-16 Colin Watson <cjwatson@ubuntu.com>
3548
3549 * docs/grub.texi (serial): Remove obsolete comment about GRUB
3550 needing to be compiled with serial support.
3551 (ls): Indicate that multiple files are accepted.
3552 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
3553 indicate that multiple files are accepted.
3554
be458ae2
CW
35552010-09-16 Colin Watson <cjwatson@ubuntu.com>
3556
3557 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
3558 libgrub_a_init.c, and util/bash-completion.d/grub.
3559
cb731b5e
VS
35602010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3561
3562 * util/grub-setup.c (setup): Fix incorrect container semantics.
3563
35139e8a
VS
35642010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3565
3566 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
3567 misusage.
3568 Reported by: J. Nick Terry
3569
e50fca4a
VS
35702010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3571
3572 Move embedding routines to partmap sources files.
3573
3574 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
3575 [GRUB_UTIL]: New variable.
3576 (gpt_partition_map_iterate): Set part.parent.
3577 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
3578 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
3579 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
3580 New function.
3581 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
3582 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
3583 (grub_partition_map) [GRUB_UTIL]: New field embed.
3584 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
3585 (setup): Use ->embed.
3586
f00478b7
VS
35872010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3588
3589 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
3590 function.
3591 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
3592 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
3593
2b94e3ff
YB
35942010-09-15 Yves Blusseau <blusseau@zetam.org>
3595
3596 Add function to get completions from usage.
3597
3598 * util/bash-completion.d/grub-completion.bash.in: Add function to get
3599 completions from usage. Use LC_ALL=C to get options properly.
3600
2e04a006
VS
36012010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 * grub-core/gnulib/basename-lgpl.c: Imported.
3604 * grub-core/gnulib/basename.c: Likewise.
3605 * grub-core/gnulib/dirname-lgpl.c: Likewise.
3606 * grub-core/gnulib/dirname.c: Likewise.
3607 * grub-core/gnulib/dirname.h: Likewise.
3608 * grub-core/gnulib/stripslash.c: Likewise.
3609
5dcdf93a
VS
36102010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
3611
3612 * grub-core/gnulib/error.c: Resynced.
3613 * grub-core/gnulib/getopt.c: Likewise.
3614 * grub-core/gnulib/getopt_int.h: Likewise.
3615 * grub-core/gnulib/regex.h: Likewise.
3616 * grub-core/gnulib/regex_internal.c: Likewise.
3617 * grub-core/gnulib/regex_internal.h: Likewise.
3618
014f47b7
SJ
36192010-09-15 Szymon Janc <szymon@janc.net.pl>
3620
3621 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
3622 CRC calculations and validity checks.
3623 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
3624 calculations.
3625
dd521a4a
SJ
36262010-09-15 Szymon Janc <szymon@janc.net.pl>
3627
3628 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
3629
79c4eeb9
VS
36302010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3631
3632 Fix incorrect echo options handling.
3633 Reported by: Yves Blusseau.
3634
3635 * include/grub/command.h (grub_command_flags_t): New flags
3636 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
3637 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
3638 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
3639
ed80f7d5
VS
36402010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3641
3642 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
3643 users updated.
3644 (GRUB_COMMAND_FLAG_MENU): Likewise.
3645 (GRUB_COMMAND_FLAG_BOTH): Likewise.
3646 (GRUB_COMMAND_FLAG_TITLE): Removed.
3647 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
3648 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
3649 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
3650 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
3651 (grub_command_flags_t): New enum. All users updated.
3652
5fe7620a
SG
36532010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
3654
3655 Fix solaris compilation.
3656
3657 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
3658 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
3659 (grub-emu-list): Likewise.
3660
545b752f
VS
36612010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3662
3663 Remove deprecated root command.
3664
3665 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
3666 updated.
3667
6c1a338c
VS
36682010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3669
3670 * util/i386/pc/grub-setup.c: Merge this ...
3671 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
3672 * util/grub-setup.c: ... into this.
3673 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
3674 New struct.
3675
36762010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
3679 possible.
3680
d2ea4551
VS
36812010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
3684 allocate p.
3685
3c3b5040
VS
36862010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3687
3688 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
3689 explicit root argument to set to prevent UUID to be interpreted as
3690 argument to set.
3691
b71c3fae
VS
36922010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3693
3694 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
3695
275433e6
VS
36962010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3697
3698 Don't export grub_gate_a20.
3699
3700 * grub-core/kern/i386/pc/init.c: Remove leftovers.
3701 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
3702 to ...
3703 (grub_gate_a20): ... this. All users updated.
3704 * include/grub/i386/pc/init.h: Removed. All users updated.
3705
a5dbb1f1
VS
37062010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3707
3708 Create euro.pf2 which supports most European languages.
3709
3710 * Makefile.am (grubdata_DATA): Add euro.pf2.
3711 (euro.pf2): New target.
3712 (CLEANFILES): Add euro.pf2.
3713
62a747cb
VS
37142010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
3715
3716 * configure.ac: Disable emu-usb by default to prevent inadvertent
3717 device takeover.
3718
608e43b1
VS
37192010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3720
3721 Disable usbserial on grub-emu since our libusb code isn't good enough
3722 yet.
3723
3724 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
3725 (usbserial_pl2303): Likewise.
3726 (usbserial_ftdi): Likewise.
3727
94564f81
VS
37282010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3729
3730 * include/grub/disk.h (grub_disk): Remove has_partitions.
3731 All users updated.
3732 * disk/loopback.c (grub_loopback): Remove has_partitions.
3733 All users updated.
3734 (options): Remove partitions. All users updated.
3735 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
3736 * util/i386/pc/grub-setup.c (setup): copy partition table only when
3737 actual partition table is found.
3738
3352800b
VS
37392010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3740
3741 Remove readability checks (too many false negatives).
3742
3743 * util/grub-install.in: Remove readability checks.
3744 * util/grub-mkconfig.in: Likewise.
3745 * util/grub.d/10_hurd.in: Likewise.
3746 * util/grub.d/10_kfreebsd.in: Likewise.
3747 * util/grub.d/10_linux.in: Likewise.
3748 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
3749 way.
3750
2419f17a
VS
37512010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3752
3753 Enable acpi shutdown on all ACPI platforms.
3754
3755 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
3756 on coreboo, multiboot and EFI.
3757 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
3758 (grub_acpi_halt): Likewise.
3759 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
3760 (grub_cmd_halt): Don't call grub_acpi_halt directly.
3761 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
3762 * grub-core/lib/i386/halt.c (grub_halt)
3763 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
3764
0575c7c3
VS
37652010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3766
3767 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
3768 context.
3769
54ac3cd1
VS
37702010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3771
3772 * grub-core/video/efi_gop.c: Fix over-80-chars line.
3773 * grub-core/video/efi_uga.c: Likewise.
3774
b2a30ac5
VS
37752010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3776
3777 Filter devaliases and never open same device twice.
3778
3779 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
3780 (last_ihandle): Likewise.
3781 (ofdisk_hash_ent): New member shortest.
3782 (ofdisk_hash_add): Add canonical path too.
3783 (scan): New function.
3784 (grub_ofdisk_iterate): Iterate over hashed entries.
3785 (compute_dev_path): Don't add :0.
3786 (grub_ofdisk_open): Don't really open the disk.
3787 (grub_ofdisk_close): Avoid closing unrelated disk.
3788 (grub_ofdisk_read): Implement reopen logic.
3789 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
3790 New function.
3791 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
3792 New proto.
3793
fb53b340
VS
37942010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3795
3796 Fix sparc64.
3797
3798 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
3799 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
3800 right address. Add sparc64_ieee1275_ldflags.
3801 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
3802 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
3803 to grub_host_to_target_addr
3804 (load_image): Likewise.
3805
f452b040
VS
38062010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3807
3808 * grub-core/normal/completion.c (complete_file): Handle device
3809 containing slash.
3810 Fix based on patch by Doug Nazar.
3811
9b5b2541
VS
38122010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3813
3814 grub-mknetdir script.
3815
3816 * Makefile.util.def (grub-mknetdir): New module.
3817 * tests/util/grub-shell.in: Support boot=net
3818 * util/grub-mknetdir.in: New file.
3819
9d2be652
VS
38202010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3821
3822 videoinfo on non-vbe.
3823
3824 * grub-core/Makefile.core.def (vbeinfo): Removed.
3825 (vbetest): Removed.
3826 (videoinfo): New module.
3827 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
3828 * grub-core/commands/i386/pc/vbetest.c: Removed.
3829 * grub-core/commands/videoinfo.c: New file.
3830 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
3831 specification.
3832 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
3833 as vbetest.
3834 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
3835 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
3836 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
3837 mode_number. New parameter mode. All users updated.
3838 (grub_video_gop_iterate): New function.
3839 (grub_video_efi_gop): New member iterate.
3840 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
3841 (grub_vbe_set_video_mode): Remove setting useless fields.
3842 (vbe2videoinfo): New function.
3843 (grub_video_vbe_iterate): Likewise.
3844 (grub_video_vbe_setup): Use vbe2videoinfo.
3845 (grub_video_vbe_print_adapter_specific_info): New function.
3846 (grub_video_vbe_adapter): New fields iterate and
3847 print_adapter_specific_info.
3848 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
3849 All users updated.
3850 (grub_video_mode_info): New field mode_number.
3851 (grub_video_adapter): New fields iterate and
3852 print_adapter_specific_info.
3853
179503f5
TG
38542010-09-13 Tristan Gingold <gingold@free.fr>
38552010-09-13 Robert Millan <rmh.grub@aybabtu.com>
38562010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3857
3858 * grub-core/commands/efi/lsefisystab.c: New file.
3859 * grub-core/commands/efi/lssal.c: Likewise.
3860 * grub-core/Makefile.core.def (lsacpi): New module.
3861 (lsefisystab): Likewise.
3862 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
3863 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
3864 (grub_efi_sal_system_table): New struct.
3865 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
3866 (grub_efi_sal_system_table_memory_descriptor): Likewise.
3867 (grub_efi_sal_system_table_platform_features): Likewise.
3868 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
3869 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
3870 (grub_efi_sal_system_table_ap_wakeup): Likewise.
3871 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
3872
cf9827de
VS
38732010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3874
3875 Support explicit user claim that a device is BIOS-visible.
3876
3877 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
3878 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
3879 * grub-core/kern/emu/hostdisk.c
3880 (convert_system_partition_to_system_disk): Support mdX.
3881 (find_system_device): New parameter add. All users updated.
3882 (grub_util_biosdisk_is_present): New function.
3883 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
3884 proto.
3885
53f0eb1f
VS
38862010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
3887
3888 Search hints support.
3889
3890 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
3891 All users updated.
3892
b23ffd70
YB
38932010-09-13 Yves Blusseau <blusseau@zetam.org>
3894
3895 Bash completion script for util commands
3896
3897 * Makefile.am: Add util/bash-completion.d directory
3898 * configure.ac: Likewise.
3899 * util/bash-completion.d/Makefile.am: New file.
3900 * util/bash-completion.d/grub-completion.bash.in: Likewise.
3901
d547dc28
VS
39022010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3903
3904 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
3905 (print_backlog): set backlog_ucs4 and backlog_glyphs.
3906 Reported by: Yves Blusseau.
3907
2fc8ccb9
VS
39082010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3909
3910 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
3911 partition size and offset.
3912
d8a84076
VS
39132010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3914
3915 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
3916
84fb3b3d
VS
39172010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3918
3919 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
3920
768ec2e2
VS
39212010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
3924 (grub_xvasprintf): Likewise.
3925
4870900f
VS
39262010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
3929
faca6bec
VS
39302010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
3931
3932 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
3933 args ending with NULL.
3934
39352010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
3936
3937 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
3938 pointer.
3939
3c70f225
SJ
39402010-09-11 Szymon Janc <szymon@janc.net.pl>
3941
3942 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
3943
4df7996d
VS
39442010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3945
3946 Shutdown using ACPI.
3947
3948 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
3949 * grub-core/commands/acpihalt.c: New file.
3950 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
3951 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
3952 (grub_acpi_halt): New proto.
3953 (GRUB_ACPI_SLP_EN): New const.
3954 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
3955 (GRUB_ACPI_OPCODE_*): New enum.
3956 (GRUB_ACPI_EXTOPCODE_*): Likewise.
3957
126b4c32
TG
39582010-09-11 Tristan Gingold <gingold@free.fr>
39592010-09-11 Robert Millan <rmh.grub@aybabtu.com>
39602010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 * commands/lsacpi.c: New file.
3963 * grub-core/Makefile.core.def (lsacpi): New module.
3964 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
3965 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
3966 (grub_acpi_madt_entry_header): New struct.
3967 (grub_acpi_madt): Likewise.
3968 (grub_acpi_madt_entry_interrupt_override): Likewise.
3969 (grub_acpi_madt_entry_sapic): Likewise.
3970 (grub_acpi_madt_entry_lsapic): Likewise.
3971 (grub_acpi_madt_entry_platform_int_source): Likewise.
3972 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
3973 (PRIuGRUB_UINT32_T): Likewise.
3974 (PRIxGRUB_UINT64_T): Likewise.
3975
1aa4fe88
VS
39762010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3977
3978 Implement loading palette on ieee1275_fb.
3979
3980 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
3981 (have_setcolors): Likewise.
3982 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
3983 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
3984 (grub_video_ieee1275_set_palette): Implement.
3985
25761e13
VS
39862010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
39872010-09-11 Colin Watson <cjwatson@ubuntu.com>
3988
3989 * util/grub-install.in (grub_partition): New variable.
3990 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
3991 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
3992 Fixes a bug reported by Yves Blusseau.
3993
050abaea
VS
39942010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
3995
3996 Fix emu on mipsel.
3997
3998 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
3999 =grub_cpu_flush_cache on all mips and not only yeeloong.
4000 * configure.ac (COND_mips): New conditional.
4001 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
4002 platforms.
4003 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
4004 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
4005 [GRUB_LINKER_HAVE_INIT]: New function.
4006 (grub_emu_post_init): Likewise.
4007 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
4008 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
4009 * include/grub/cache.h (_mips): Include mips/cache.h.
4010 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
4011 LVM and RAID prototypes.
4012 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
4013 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
4014 function.
4015
5ed7d816
CW
40162010-09-10 Colin Watson <cjwatson@ubuntu.com>
4017
4018 * util/grub-install.in: Don't try to verify core.img until after
4019 running grub-mkimage to create it.
4020
90367e04
RM
40212010-09-10 Robert Millan <rmh@gnu.org>
4022
4023 * util/grub.d/10_hurd.in: Add misc readability checks.
4024 * util/grub.d/10_kfreebsd.in: Likewise.
4025 * util/grub.d/10_linux.in: Likewise.
4026
c452fa66
CW
40272010-09-10 Colin Watson <cjwatson@ubuntu.com>
4028
4029 * util/grub-install.in: ${imgext} won't be defined here until the
4030 install branch is merged. For the meantime, only verify core.img on
4031 i386-pc and sparc64-ieee1275 platforms.
4032
c38fe9f4
RM
40332010-09-10 Robert Millan <rmh@gnu.org>
4034
4035 Solaris support in grub_find_zpool_from_dir(). Thanks
4036 Seth Goldberg for referring to getextmntent() facility.
4037
4038 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
4039 `sys/mkdev.h'.
4040 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
4041 `<sys/mnttab.h>'.
4042 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
4043 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
4044 method for finding zpool name.
4045
905f7773
CW
40462010-09-10 Colin Watson <cjwatson@ubuntu.com>
4047
4048 grub-fstest needs the host and hostfs modules while other utilities
4049 actively require those modules to be absent, so grub-fstest needs
4050 its own initialisation and finalisation code.
4051
4052 * Makefile.am (grub_fstest.pp): New target.
4053 (grub_fstest_init.lst): Likewise.
4054 (grub_fstest_init.c): Likewise.
4055 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
4056
fb90b546
RM
40572010-09-10 Robert Millan <rmh@gnu.org>
4058
4059 * configure.ac: Check for `struct statfs.f_fstypename' and
4060 `struct statfs.f_mntfromname'.
4061
4062 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
4063 kFreeBSD-specific code.
4064
66d4bea5
RM
40652010-09-10 Robert Millan <rmh@gnu.org>
4066
4067 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
4068 on ZFS. Now non-main filesystems are supported as / too.
4069
b6a690ee
CW
40702010-09-09 Colin Watson <cjwatson@ubuntu.com>
4071
4072 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
4073 and grub-core/disk/host.c to ...
4074 (grub-fstest): ... here. Having the host disk implementation
4075 present confuses grub-probe and other utility programs.
4076
4077 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
4078 when writing to a file, not when writing to stdout.
4079
8901b00c 40802010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
4081
4082 * tests/partmap_test.in: New test for partitions.
4083 * Makefile.util.def: Rules for new test.
4084
7bf45fdd
RM
40852010-09-09 Robert Millan <rmh@gnu.org>
4086
4087 * util/grub-probe.c (probe): Fix a pair of unhandled error
4088 conditions.
4089
4dfbc574
RM
40902010-09-09 Robert Millan <rmh@gnu.org>
4091
4092 Basic Btrfs support (detection and UUID).
4093
4094 * grub-core/fs/btrfs.c: New file.
4095 * Makefile.util.def (library): Register btrfs.c.
4096 * grub-core/Makefile.core.def: Likewise.
4097
6b8e78ae
RM
40982010-09-08 Robert Millan <rmh@gnu.org>
4099
4100 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
4101 with (optional) parameters to specify device and relative path.
4102 * util/grub-install.in: Use is_path_readable_by_grub() to
4103 verify readability of a few critical files.
4104 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
4105 verify readability of grub.cfg.new.
4106
27f21a8b
VS
41072010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
4108
4109 Split minix.mod into minix.mod and minix2.mod.
4110
4111 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
4112 * grub-core/Makefile.core.def (minix2): New module.
4113 * grub-core/fs/minix.c: Use definitions instead of runtime version
4114 checking.
4115 * grub-core/fs/minix2.c: New file.
4116
c0e53ea5
YB
41172010-09-08 Yves Blusseau <blusseau@zetam.org>
4118
4119 Add new --boot-directory option to replace --root-directory
4120
4121 * util/grub-install.in: Add new --boot-directory option
4122 * util/grub-reboot.in: Likewise.
4123 * util/grub-set-default.in: Likewise.
4124
b9fe6ea2
YB
41252010-09-08 Yves Blusseau <blusseau@zetam.org>
4126
4127 * util/grub-mkconfig.in: Use new variable.
4128
d87aedff
YB
41292010-09-08 Yves Blusseau <blusseau@zetam.org>
4130
4131 * configure.ac: Define some useful variables.
4132
e55e8495
VS
41332010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
4134
4135 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
4136 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
4137 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
4138 Use terminfo and don't use cursor-on/cursor-off unless it's known
4139 to work.
4140 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
4141 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
4142
6fa6d675
CW
41432010-09-08 Colin Watson <cjwatson@ubuntu.com>
4144
4145 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
4146 starts with "(,", fill the drive containing the loaded image in
4147 between those two characters, but expect that a full partition
4148 specification including partition map names will follow.
4149
92f2aef0
RM
41502010-09-08 Robert Millan <rmh@gnu.org>
4151
4152 * configure.ac: Remove `--enable-grub-fstest' option.
4153 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
4154
4155 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
4156 `grub-fstest' instead of `grub-probe' for readability verification.
4157 * util/grub-probe.c (probe): Remove readability verification kludge.
4158
99fd620d
RM
41592010-09-08 Robert Millan <rmh@gnu.org>
4160
4161 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
4162 initializing `GRUB_FS'.
4163
058e30ac 41642010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
4165
4166 Not command (!) support to GRUB script.
4167
4168 * tests/grub_script_not.in: New test.
4169 * Makefile.util.def: Rules for new test.
4170
4171 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
4172 ! command as a special case.
4173 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
4174
b61d05ed 41752010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4176
058e30ac 4177 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
4178 grub_free.
b61d05ed 4179
4d69c786 41802010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4181
4182 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
4183
aa3119c4 41842010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
4185
4186 * docs/grub.texi (Shell-like scripting): Documentation for break,
4187 continue, shift and return commands.
4188
db0f7e3d
VS
41892010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
4190
4191 Rename CD-ROM to cd on BIOS.
4192
4193 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
4194 "cd".
4195 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
4196
88b87c93
VS
41972010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4198
4199 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
4200 * util/grub-probe.c (main): Likewise.
4201 * util/i386/pc/grub-setup.c (main): Likewise.
4202 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
4203 Reported and debugged by: alexxy
4204
294f324d
VS
42052010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4206
4207 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
4208 diagnostic info.
4209
d7ee3441
JS
42102010-09-05 Jo Shields <directhex@apebox.org>
4211
4212 * util/grub.d/30_os-prober.in: Add missing classes.
4213
d7e06c1f
VS
42142010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4215
4216 * docs/grub.texi (Theme file format): Document new position format.
4217
fc157e53
VS
42182010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4219
4220 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
4221 a table. Use @code instead of @verbatim.
4222
506e9a1c
CB
42232010-09-05 Colin D Bennett <colin@gibibit.com>
4224
4225 Gfxmenu documentation.
4226
4227 * docs/grub.texi (Theme file format): New chapter.
4228
f0aff67c
SJ
42292010-09-05 Szymon Janc <szymon@janc.net.pl>
4230
4231 * grub-core/Makefile.core.def (xzio): New module.
4232 * grub-core/io/xzio.c: New file.
4233 * grub-core/lib/xzembed/xz.h: New file (from xembed).
4234 * grub-core/lib/xzembed/xz_config.h: Likewise.
4235 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
4236 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
4237 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
4238 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
4239 * grub-core/lib/xzembed/xz_private.h: Likewise.
4240 * grub-core/lib/xzembed/xz_stream.h: Likewise.
4241 * include/grub/file.h (grub_file_filter_id): New compression filter
4242 GRUB_FILE_FILTER_XZIO.
4243
82a85062
VS
42442010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4245
4246 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
4247 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
4248 size.
4249
3579415d
VS
42502010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4251
4252 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
4253 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
4254
5124ae6d
VS
42552010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4256
4257 Uncompressed checksum support.
4258
4259 * grub-core/commands/hashsum.c (options): Add option --uncompress.
4260 (check_list): New parameter uncompress.
4261 (grub_cmd_hashsum): Handle --uncompress.
4262
9aadb3d1
VS
42632010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4264
4265 Reintroduce testload.
4266
4267 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
4268 from here ...
4269 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
4270 (GRUB_MOD_INIT): New function.
4271 (GRUB_MOD_FINI): Likewise.
4272 * grub-core/Makefile.core.def (testload): New module.
4273
a17792c3
SJ
42742010-09-05 Szymon Janc <szymon@janc.net.pl>
4275
4276 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
4277 (uint8_t): New type.
4278 (uint16_t): Likewise.
4279 (uint32_t): Likewise.
4280 (uint64_t): Likewise.
4281
b81e40a3
SJ
42822010-09-05 Szymon Janc <szymon@janc.net.pl>
4283
4284 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
4285
fc2ef117
VS
42862010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
4287
4288 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
4289 Made static.
4290 (grub_gzfile_open): Removed. All users updated.
4291 (GRUB_MOD_INIT): New function.
4292 (GRUB_MOD_FINI): Likewise.
4293 * grub-core/kern/file.c (grub_file_filters_all): New variable.
4294 (grub_file_filters_enabled): Likewise.
4295 (grub_file_open): Handle filters.
4296 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
4297 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
4298 * include/grub/file.h (grub_file_filter_id_t): New type.
4299 (grub_file_filter_t): Likewise.
4300 (grub_file_filters_all): New extern variable.
4301 (grub_file_filters_enabled): Likewise.
4302 (grub_file_filter_register): New inline function.
4303 (grub_file_filter_unregister): Likewise.
4304 (grub_file_filter_disable): Likewise.
4305 (grub_file_filter_disable_compression): Likewise.
4306 * include/grub/gzio.h: Removed.
4307
35ee15e0
BC
43082010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4309
4310 Filename expansion support for wildcards in GRUB script.
4311
4312 * tests/grub_script_expansion.in: New test.
4313 * Makefile.util.def: Rule for new test.
4314
4315 * grub-core/commands/wildcard.c: New file, implements filename
4316 expansion support for GRUB script.
4317 * grub-core/Makefile.core.def: Rule update for regexp.mod.
4318 * grub-core/script/argv.c: Cosmetic changes.
4319 * grub-core/script/execute.c (grub_script_arglist_to_argv):
4320 Refactored to perform wildcard expansion on arguments.
4321 * include/grub/script_sh.h (grub_script_wildcard_translator): New
4322 struct.
4323
4324 * tests/util/grub-shell.in: Fix quoting for read input.
4325
5f0c4aca
BC
43262010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4327
4328 Support for updating environment variables with matched substrings
4329 of regexp.
4330
4331 * tests/grub_cmd_regexp.in: New test.
4332 * Makefile.util.def: Rule for new test.
4333
4334 * grub-core/commands/regexp.c: New option -s to update environment
4335 variables with regexp matches.
4336
3759a35f
SJ
43372010-09-04 Szymon Janc <szymon@janc.net.pl>
4338
4339 * include/grub/file.h (grub_file): New member not_easly_seekable.
4340 (grub_file_seekable): New inline function.
4341 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
4342 easily seekable.
4343 (grub_gzio_open): Set not_easly_seekable.
4344 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
4345 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
4346
ed8c6dec
BC
43472010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4348
4349 Support for options to appear multiple times on cmdline.
4350
4351 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
4352 * grub-core/commands/extcmd.c: Support for repeatable option.
4353 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
4354 repeatable option support.
4355
4356 Refactor menuentry into a regular command.
4357
4358 * grub-core/commands/menuentry.c: New file, menuentry command
4359 implementation.
4360 * grub-core/Makefile.core.def: Rule update for normal.mod.
4361 * grub-core/normal/main.c: Moved menuentry creation to
4362 grub-core/commands/menuentry.c.
4363 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
4364 (grub_menu_execute_entry_real): Removed.
4365 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
4366 function.
4367 (grub_script_execute_menuentry): Removed.
4368 * grub-core/script/parser.y (menuentry): Removed.
4369 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
4370 * grub-core/script/yylex.l (menuentry): Removed.
4371 * include/grub/menu.h (grub_menu_init): New prototype.
4372 (grub_menu_fini): New prototype.
4373 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
4374 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
4375 (grub_script_execute_sourcecode): New prototype.
4376
dacd0cf0
BC
43772010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4378
4379 "return" command for GRUB script functions.
4380
4381 * tests/grub_script_return.in: New test.
4382 * Makefile.util.def: Rules for new test.
4383
4384 * grub-core/script/execute.c (grub_script_return): New function.
4385 * grub-core/script/main.c: Register/unregister return commaond.
4386 * include/grub/script_sh.h (grub_script_return): New prototype.
4387
52e72f9d
BC
43882010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4389
4390 "setparams" command to update positional parameters.
4391
4392 * tests/grub_script_setparams.in: New test.
4393 * Makefile.util.def: Rules for new test.
4394
4395 * grub-core/script/argv.c (grub_script_argv_make): New function.
4396 * grub-core/script/execute.c (replace_scope): New function.
4397 (grub_script_setparams): New function.
4398 * grub-core/script/lexer.c: Remove unused variables.
4399 * grub-core/script/main.c: Register/unregister setparams command.
4400 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
4401 (grub_script_setparams): New prototype.
4402
25b60c91
BC
44032010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4404
4405 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
4406 grub_free order.
4407
37e7bf68
BC
44082010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4409
4410 Support for passing block of commands as an argument to extcmds.
4411
4412 * Makefile.util.def: Rules for new test.
4413 * tests/grub_script_blockarg.in: New test.
4414 * grub-core/tests/test_blockarg.c: New file, block argument
4415 command used in the test.
4416
4417 * include/grub/extcmd.h (grub_extcmd_context): New struct.
4418 (grub_register_extcmd_prio): New function prototype.
4419 (grub_extcmd_dispatcher): New function prototype.
4420 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
4421 type.
4422 * include/grub/script_sh.h (struct grub_script): New members
4423 `children', `next_siblings' and `refcnt' for block arguments and
4424 reference counting.
4425 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
4426 (grub_script_arg): New member `script' for block argument.
4427 (grub_script_argv): New member `script' for block argument.
4428 (grub_parser_param): New member `scripts' for block argument.
4429 (grub_script_mem_free): New extern function prototype.
4430 (grub_script_ref): New function prototype.
4431 (grub_script_unref): New function prototype.
4432
4433 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
4434 extcmd form to support block arguments.
4435 * grub-core/script/argv.c: Block arguments support.
4436 * grub-core/script/execute.c: Likewise.
4437 * grub-core/script/lexer.c: Likewise.
4438 * grub-core/script/main.c: Likewise.
4439 * grub-core/script/script.c: Likewise.
4440 * grub-core/script/parser.y: Likewise. New `block' and `block0'
4441 non-terminals.
4442
4443 * grub-core/commands/acpi.c: Update extcmd implementations with
4444 grub_extcmd_context_t.
4445 * grub-core/commands/cat.c: Likewise.
4446 * grub-core/commands/echo.c: Likewise.
4447 * grub-core/commands/extcmd.c: Likewise.
4448 * grub-core/commands/hashsum.c: Likewise.
4449 * grub-core/commands/hdparm.c: Likewise.
4450 * grub-core/commands/help.c: Likewise.
4451 * grub-core/commands/hexdump.c: Likewise.
4452 * grub-core/commands/i386/cpuid.c: Likewise.
4453 * grub-core/commands/i386/pc/drivemap.c: Likewise.
4454 * grub-core/commands/i386/pc/halt.c: Likewise.
4455 * grub-core/commands/i386/pc/sendkey.c: Likewise.
4456 * grub-core/commands/iorw.c: Likewise.
4457 * grub-core/commands/keystatus.c: Likewise.
4458 * grub-core/commands/loadenv.c: Likewise.
4459 * grub-core/commands/ls.c: Likewise.
4460 * grub-core/commands/lspci.c: Likewise.
4461 * grub-core/commands/memrw.c: Likewise.
4462 * grub-core/commands/probe.c: Likewise.
4463 * grub-core/commands/search_wrap.c: Likewise.
4464 * grub-core/commands/setpci.c: Likewise.
4465 * grub-core/commands/sleep.c: Likewise.
4466 * grub-core/disk/loopback.c: Likewise.
4467 * grub-core/hello/hello.c: Likewise.
4468 * grub-core/loader/i386/bsd.c: Likewise.
4469 * grub-core/loader/xnu.c: Likewise.
4470 * grub-core/term/gfxterm.c: Likewise.
4471 * grub-core/term/serial.c: Likewise.
4472 * grub-core/tests/lib/functional_test.c: Likewise.
4473
888d1500
BC
44742010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
4475
4476 Multi-line quoted strings support.
4477
4478 * grub-core/script/lexer.c (append_newline): Removed.
4479 (grub_script_lexer_yywrap): Refactored.
4480 (grub_script_lexer_init): Refactored.
4481 * grub-core/script/yylex.l (yywrap): New function.
4482 (grub_lexer_resplit): New function.
4483 (grub_lexer_unput): New function.
4484 * include/grub/script_sh.h (grub_lexer_param): New members, unput
4485 and resplit.
4486 * tests/grub_script_echo1.in: Added few more testcases.
4487
dda060dd
VS
44882010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
4489
4490 * grub-core/kern/misc.c: Don't add abort alias in utils.
4491 Reported by: echoline.
4492
6556eba9
BC
44932010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
4494
4495 Add missing files into "make dist" tarball for other platforms.
4496
4497 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
4498 * conf/Makefile.common (dist_noinst_DATA): New variable.
4499 * conf/Makefile.extra-dist: Added missing make dist files.
4500 * grub-core/Makefile.core.def: Likewise.
4501
c8e7bf5f
VS
45022010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
4503
4504 Compress grub_prefix.
4505
4506 * grub-core/boot/i386/pc/lnxboot.S: Use
4507 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
4508 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
4509 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
4510 GRUB_MACHINE_PREFIX_END. All users updated.
4511 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
4512 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
4513 + 0x40.
4514 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
4515 * util/grub-mkimage.c (image_target_desc): Change data_end to
4516 prefix_end. All users updated.
4517
a7c00cdb
VS
45182010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
4519
4520 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
4521 value.
4522 (grub_openbsd_boot): Likewise.
4523 (grub_netbsd_boot): Likewise.
4524 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
4525 (grub_xnu_boot): Likewise.
4526
9f915872
VS
45272010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4528
4529 * configure.ac: Clean LIBS variable after tests.
4530
efa1bee7
CW
45312010-09-02 Colin Watson <cjwatson@ubuntu.com>
4532
4533 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
4534
61d720e5
VS
45352010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4536
4537 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
4538 echo if libdevmapper will be used.
4539
ef8e0ec8
IT
45402010-09-02 Ian Turner <Ian.Turner@deshaw.com>
4541
4542 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
4543 constant for the same file.
4544
03e261d8
VS
45452010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4546
4547 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
4548
c2a4eba6
CW
45492010-09-02 Colin Watson <cjwatson@ubuntu.com>
4550
4551 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
4552 grub-core/*.pp.
4553
9056cbf3
CW
45542010-09-02 Colin Watson <cjwatson@ubuntu.com>
4555
4556 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
4557 required by the boot protocol.
4558
4559 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
4560 ebp and edi members.
4561 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
4562 state.ebp and state.edi.
4563 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
4564 %ebp and %edi according to grub_relocator32_ebp and
4565 grub_relocator32_edi respectively.
4566 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
4567 and state.edi.
4568
529cc99a
VS
45692010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4570
4571 Add i386-pc-pxe image target.
4572
4573 * util/grub-mkimage.c (image_target_desc): New enum value
4574 IMAGE_I386_PC_PXE.
4575 (image_targets): New target i386-pc-pxe.
4576 (generate_image): Handle i386-pc-pxe image.
4577
9a093920
VS
45782010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
4579
4580 Fix grub_pxe_scan.
4581
4582 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
4583 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
4584 All users updated.
4585 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
4586 (grub_pxe_pxenv): Correct type.
4587
f9cefc4e
CW
45882010-09-01 Colin Watson <cjwatson@ubuntu.com>
4589
4590 * NEWS: Document most of the important changes since 1.98.
4591
4066f57f
CW
45922010-09-01 Colin Watson <cjwatson@ubuntu.com>
4593
4594 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
4595 generated manual page) a little.
4596
da2891f9
CW
45972010-09-01 Colin Watson <cjwatson@ubuntu.com>
4598
4599 * docs/grub.texi: Add myself as an author.
4600
ad717fae
VS
46012010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
4602
4603 * Makefile.util.def (libgrub.a): Add missing sunpc.
4604 Reported by: Seth Goldberg.
4605
eefe8abd
VS
46062010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 Interrupt wrapping and code simplifications.
4609
9494ef9a
VS
4610 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
4611 x86_noieee1275 which are functionaly equivalent in this case.
4612 (grub-install): Make source on each platform explicit. Enable on
4613 all noemu.
4614 * gentpl.py (x86_efi_pc): Removed group.
4615 (x86_noefi): Likewise.
4616 (i386_noefi): Likewise.
4617 (x86_noieee1275): Likewise.
4618 (i386_noieee1275): Likewise.
4619 (i386_noefi_noieee1275): Likewise.
4620 (i386_pc_qemu_coreboot): Likewise.
4621 (i386_coreboot_multiboot): Likewise.
4622 (i386_pc_coreboot_multiboot_qemu): Likewise.
4623 (x86_noefi_mips): Likewise.
4624 (noieee1275): Likewise.
4625 (ieee1275_mips): Likewise.
4626 (noemu_noieee1275): Likewise.
4627 (cmos): New group.
4628 (usb): Likewise.
4629 (videoinkernel): Likewise.
4630 (videomodules): Likewise.
eefe8abd 4631 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
4632 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
4633 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
4634 include/grub/loader.h, include/grub/msdos_partition.h,
4635 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
4636 include/grub/machine/console.h, include/grub/machine/vga.h,
4637 include/grub/machine/vbe.h, include/grub/machine/init.h,
4638 include/grub/machine/kernel.h, include/grub/cpu/time.h,
4639 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 4640 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
4641 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
4642 * grub-core/Makefile.core.def (kernel): Explicit the source for
4643 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
4644 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
4645 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
4646 Use videoinkernel tag.
4647 (usb): Enable on all usb.
4648 (usbserial_common): Likewise.
4649 (usbserial_pl2303): Likewise.
4650 (usbserial_ftdi): Likewise.
4651 (uhci): Enable on all x86.
4652 (ohci): Enable on all pci.
4653 (cmostest): Enable on all CMOS.
4654 (acpi): Include commands/acpi.c on all platforms.
4655 (halt): Add relevant lib/*/halt.c.
4656 (hdparm): Enable on all pci.
4657 (lspci): Likewise.
4658 (usbtest): Enable on all usb.
4659 (ata): Enable on all pci.
4660 (ata_pthru): Likewise.
4661 (usbms): Enable on all usb.
4662 (usb_keyboard): Likewise.
4663 (font): Use tag videomodules.
4664 (bufio): Likewise.
4665 (datetime): Use tag cmos. Enable on all noemu.
4666 (mmap): Use tags common and x86.
4667 (gfxterm): Use tag videomodules.
4668 (bitmap): Likewise.
4669 (bitmap_scale): Likewise.
4670 (video_fb): Likewise.
4671 (video): Likewise.
4672 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
4673 adjust padding accordingly. All users updated.
4674 (grub_ohci_transaction): Fix bad format specification.
4675 (GRUB_MOD_INIT): Add asserts for struct size.
4676 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
4677 (grub_alloc_td): Likewise.
4678 (grub_free_queue): Likewise.
4679 (grub_uhci_transfer): Likewise.
4680 (grub_uhci_transaction): Fix bad format specification.
4681 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
4682 (grub_usb_bulk_readwrite): Likewise.
4683 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
4684 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
4685 Made static.
4686 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
4687 Made static.
4688 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
4689 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
4690 Transformed into C.
4691 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
4692 Moved from here ...
4693 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
4694 ... here. Transformed into C. Made static.
4695 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
4696 Moved from here ...
4697 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
4698 ... here. Transformed into C. Made static.
4699 * grub-core/kern/i386/pc/startup.S
4700 (grub_biosdisk_check_int13_extensions): Moved from here ...
4701 * grub-core/disk/i386/pc/biosdisk.c
4702 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
4703 Made static.
4704 * grub-core/kern/i386/pc/startup.S
4705 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
4706 * grub-core/disk/i386/pc/biosdisk.c
4707 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
4708 Transformed into C. Made static.
4709 * grub-core/kern/i386/pc/startup.S
4710 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
4711 * grub-core/disk/i386/pc/biosdisk.c
4712 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
4713 Transformed into C. Made static.
4714 * grub-core/kern/i386/pc/startup.S
4715 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
4716 * grub-core/disk/i386/pc/biosdisk.c
4717 (grub_biosdisk_get_diskinfo_standard): ... here.
4718 Transformed into C. Made static.
4719 * grub-core/kern/i386/pc/startup.S
4720 (grub_biosdisk_get_num_floppies): Moved from here ...
4721 * grub-core/disk/i386/pc/biosdisk.c
4722 (grub_biosdisk_get_num_floppies): ... here.
4723 Transformed into C. Made static.
4724 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
4725 New function.
4726 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
4727 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
4728 Transformed into C. Made static.
4729 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
4730 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
4731 Transformed into C. Made static.
4732 * grub-core/kern/i386/ieee1275/init.c: Removed.
4733 * grub-core/kern/i386/misc.S: Likewise.
4734 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
4735 Splitted from here ...
4736 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
4737 Transformed into C. Made static. All users updated.
4738 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
4739 Transformed into C. Made static. All users updated.
4740 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
4741 Moved from here...
4742 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
4743 Transformed into C. Made static. All users updated.
4744 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
4745 Moved from here...
4746 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
4747 Transformed into C. Made static. All users updated.
4748 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
4749 Removed (replaced by C version).
4750 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
4751 Moved from here...
4752 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
4753 Transformed into C. Made static.
4754 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
4755 Moved from here...
4756 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
4757 ... here. Transformed into C.
4758 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
4759 Moved from here...
4760 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
4761 ... here. Transformed into C.
4762 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
4763 Moved from here...
4764 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
4765 ... here. Transformed into C. Made static.
4766 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
4767 Moved from here...
4768 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
4769 ... here. Transformed into C.
21ed554b
VS
4770 * grub-core/kern/i386/pc/startup.S
4771 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
4772 * grub-core/video/i386/pc/vbe.c
4773 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
4774 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
4775 Moved from here...
4776 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
4777 ... here. Transformed into C.
4778 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
4779 Moved from here...
4780 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
4781 ... here. Transformed into C.
4782 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
4783 Moved from here...
4784 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
4785 ... here. Transformed into C.
4786 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
4787 Moved from here...
4788 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
4789 ... here. Transformed into C.
4790 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
4791 Moved from here...
4792 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
4793 ... here. Transformed into C. Made static.
4794 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
4795 Moved from here...
4796 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
4797 ... here. Transformed into C. Made static.
4798 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
4799 Moved from here...
4800 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
4801 ... here. Transformed into C. Made static.
4802 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
4803 pxe_rm_entry as third argument.
4804 (grub_bios_interrupt): New function.
4805 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
4806 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
4807 of calling grub_stop.
4808 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
4809 * grub-core/lib/efi/halt.c (grub_halt): ...here.
4810 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
4811 * grub-core/lib/emu/halt.c (grub_halt): ... here.
4812 * grub-core/lib/i386/halt.c: Moved from here ...
4813 * grub-core/lib/i386/halt.c: ... here.
4814 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
4815 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
4816 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
4817 grub_stop_floppy.
4818 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
4819 * include/grub/i386/coreboot/init.h: Removed.
4820 * include/grub/i386/multiboot/init.h: Likewise.
4821 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
4822 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
4823 * include/grub/i386/pc/int.h: New file.
4824 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
4825 (grub_pxe_scan): Removed.
4826 (grub_pxe_call): Update prototype.
4827 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
4828 prototypes.
4829 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
4830 * include/grub/i386/qemu/init.h: Removed.
4831 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
4832 noreturn.
4833 (grub_halt): Likewise.
4834 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
4835 (grub_reboot): Likewise.
4836 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
4837 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
4838 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
4839
215dd471
RM
48402010-08-30 Robert Millan <rmh@gnu.org>
4841
4842 * NEWS: Document addition of ZFS support in `grub-install' and
4843 `grub-mkconfig'.
4844
ebd65b82
BC
48452010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
4846
4847 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
4848 dprintf output.
4849
11721d19
VS
48502010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 Remove leftover embedding of font objects.
4853
4854 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
4855 * util/grub-install.in (font): Removed.
4856 * util/grub-mkimage.c (generate_image): Remove font support. All users
4857 updated.
4858
37837d4e
VS
48592010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4860
4861 Remove leftover embedding of font objects.
4862
4863 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
4864 * util/grub-install.in (font): Removed.
4865 * util/grub-mkimage.c (generate_image): Remove font support. All users
4866 updated.
4867
b4c1aae0
VS
48682010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4869
4870 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 4871 Reported by: Ian Turner
b4c1aae0 4872
8920a08d
VS
48732010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4874
4875 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
4876 timeout to avoid indefinite boot stalling.
4877
f21db033
VS
48782010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4879
4880 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
4881 (grub_env_write_color_highlight): Likewise.
4882
9a9de209
VS
48832010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4884
4885 * grub-core/normal/term.c (print_more): Return to normal and not
4886 to standard state after printing "---MORE---".
4887
3dca01d7
VS
48882010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
4889
4890 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
4891 Mask out the bit 0x80 since it has other meaning that specifiing color.
4892
0b986c40
VS
48932010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
4894
4895 New relocator. Allows for more kernel support and more straightforward
4896 loader writing.
4897
4898 * Makefile.am (BOOTTARGET): New variable.
4899 (QEMU32): Likewise.
4900 (linux.init.x86_64): New target.
4901 (linux.init.i386): Likewise.
4902 (multiboot.elf): Likewise.
4903 (kfreebsd.elf): Likewise.
4904 (kfreebsd.aout): Likewise.
4905 (pc-chainloader.elf): Likewise.
4906 (pc-chainloader.bin): Likewise.
4907 (ntldr.elf): Likewise.
4908 (ntldr.bin): Likewise.
4909 (multiboot2.elf): Likewise.
4910 (kfreebsd.init.x86_64): Likewise.
4911 (kfreebsd.init.i386): Likewise.
4912 (knetbsd.init.i386): Likewise.
4913 (kopenbsd.init.i386): Likewise.
4914 (knetbsd.init.x86_64): Likewise.
4915 (kopenbsd.init.x86_64): Likewise.
4916 (linux-initramfs.i386): Likewise.
4917 (linux-initramfs.x86_64): Likewise.
4918 (kfreebsd-mfsroot.i386.img): Likewise.
4919 (knetbsd.image.i386): Likewise.
4920 (kopenbsd.image.i386): Likewise.
4921 (kopenbsd.image.x86_64): Likewise.
4922 (knetbsd.miniroot-image.i386.img): Likewise.
4923 (kfreebsd-mfsroot.x86_64.img): Likewise.
4924 (knetbsd.image.x86_64): Likewise.
4925 (knetbsd.miniroot-image.x86_64.img): Likewise.
4926 (kfreebsd-mfsroot.i386.gz): Likewise.
4927 (bootcheck-kfreebsd-i386): Likewise.
4928 (kfreebsd-mfsroot.x86_64.gz): Likewise.
4929 (bootcheck-kfreebsd-x86_64): Likewise.
4930 (knetbsd.miniroot-image.i386.gz): Likewise.
4931 (bootcheck-knetbsd-i386): Likewise.
4932 (bootcheck-kopenbsd-i386): Likewise.
4933 (bootcheck-kopenbsd-x86_64): Likewise.
4934 (knetbsd.miniroot-image.x86_64.gz): Likewise.
4935 (bootcheck-knetbsd-x86_64): Likewise.
4936 (bootcheck-linux-i386): Likewise.
4937 (bootcheck-linux-x86_64): Likewise.
4938 (bootcheck-linux16-i386): Likewise.
4939 (bootcheck-linux16-x86_64): Likewise.
4940 (bootcheck-multiboot): Likewise.
4941 (bootcheck-multiboot2): Likewise.
4942 (bootcheck-kfreebsd-aout): Likewise.
4943 (bootcheck-pc-chainloader): Likewise.
4944 (bootcheck-ntldr): Likewise.
4945 (CLEANFILES): Add new targets.
4946 (BOOTCHECKS): New variable.
4947 (.PHONY): Add bootchecks.
4948 (SUCCESSFUL_BOOT_STRING): New variable.
4949 (BOOTCHECK_TIMEOUT): Likewise.
4950 (bootcheck): New target
4951 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
4952 * configure.ac: Correct efiemu excuse.
4953 * docs/grub.texi (Supported kernels): New chapter.
4954 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
4955 include/grub/mm_private.h. Simplify inclusion of
4956 include/grub/boot.h, include/grub/loader.h
4957 and include/grub/msdos_partition.h
4958 (KERNEL_HEADER_FILES) [i386_coreboot]:
4959 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
4960 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
4961 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
4962 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
4963 include/grub/machine/loader.h.
4964 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
4965 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
4966 extra_dist.
4967 (pci.mod): Enable on i386-multiboot.
4968 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
4969 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
4970 i386-qemu.
4971 (relocator.mod): Rewritten.
4972 (aout.mod): Enable on all x86.
4973 (bsd.mod): Likewise.
4974 (ntldr.mod): New module.
4975 (linux.mod): Use loader/i386/linux.c on all x86.
4976 (xnu.mod): Enable on all x86.
4977 (vga_text.mod): disable on EFI and QEMU.
4978 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
4979 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
4980 * grub-core/efiemu/loadcore.c: Likewise.
4981 * grub-core/efiemu/main.c: Likewise.
4982 (grub_efiemu_exit_boot_services): Removed.
4983 (grub_efiemu_finish_boot_services): Likewise.
4984 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
4985 function.
4986 * grub-core/efiemu/i386/nocfgtables.c: New file.
4987 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
4988 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
4989 (grub_efi_finish_boot_services): Moved from here ...
4990 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
4991 Fille finish memory map and related data.
4992 (finish_mmap_buf): New variable.
4993 (grub_efi_uintn_t finish_mmap_size): Likewise.
4994 (grub_efi_uintn_t finish_key): Likewise.
4995 (grub_efi_uintn_t finish_desc_size): Likewise.
4996 (grub_efi_uint32_t finish_desc_version): Likewise.
4997 (grub_efi_is_finished): Likewise.
4998 (grub_efi_get_memory_map): Use saved memory map if EFI is already
4999 finished.
5000 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
5001 (grub_elf64_phdr_iterate): Likewise.
5002 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
5003 (grub_os_area_size): Likewise.
5004 (grub_machine_init): Don't reserve os area.
5005 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
5006 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
5007 * grub-core/kern/i386/loader.S: Removed.
5008 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
5009 (grub_os_area_size): Likewise.
5010 (grub_machine_init): Don't reserve os area.
5011 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
5012 Don't call grub_dl_unload_all.
5013 Don't include loader.S.
5014 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
5015 Declare the memory after _end as available.
5016 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 5017 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 5018 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
5019 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
5020 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
5021 * include/grub/mm_private.h (grub_mm_header): ... here.
5022 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
5023 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
5024 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
5025 (grub_mm_region): ..here. Removed addr. Added pre_size.
5026 All users updated.
5027 * grub-core/kern/mm.c (base): Renamed to ...
5028 (grub_mm_base): ... this. Made global.
5029 (grub_real_malloc): Alloc from end of region.
5030 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
5031 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
5032 * grub-core/kern/powerpc/cache_flush.S: ... here.
5033 * grub-core/lib/efi/relocator.c: New file.
5034 * grub-core/lib/i386/relocator.c: Rewritten.
5035 * grub-core/lib/i386/relocator16.S: New file.
5036 * grub-core/lib/i386/relocator32.S: Likewise.
5037 * grub-core/lib/i386/relocator64.S: Likewise.
5038 * grub-core/lib/i386/relocator_asm.S: Rewritten.
5039 * grub-core/lib/i386/relocator_common.S: New file.
5040 * grub-core/lib/ieee1275/relocator.c: Likewise.
5041 * grub-core/lib/mips/relocator.c: Rewritten.
5042 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
5043 stylistic adjustments.
5044 * grub-core/lib/powerpc/relocator.c: New file.
5045 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
5046 * grub-core/lib/relocator.c: Rewritten.
5047 * grub-core/lib/x86_64/relocator_asm.S: New file.
5048 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
5049 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
5050 (bsd_tag): New struct.
5051 (tags): New variable.
5052 (tags_last): Likewise.
5053 (netbsd_module): New struct.
5054 (netbsd_mods): New variable.
5055 (netbsd_mods_last): Likewise.
5056 (openbsd_opts): New parameter "serial".
5057 (OPENBSD_SERIAL_ARG): New definition.
5058 (netbsd_opts): New parameter "serial".
5059 (NETBSD_SERIAL_ARG): New definition.
5060 (grub_freebsd_add_meta): Reorganised into ...
5061 (grub_bsd_add_meta): ...this. All users updated.
5062 (grub_freebsd_add_mmap): Reorganised into ...
5063 (generate_e820_mmap): ...this...
5064 (grub_bsd_add_mmap): ...and this. All users updated.
5065 (grub_freebsd_list_modules): Use tags.
5066 (grub_netbsd_add_meta_module): New function.
5067 (grub_netbsd_list_modules): Likewise.
5068 (grub_freebsd_boot): Use relocator and finish EFI.
5069 (grub_openbsd_boot): Likewise.
5070 (grub_netbsd_setup_video): New function.
5071 (grub_netbsd_add_modules): Likewise.
5072 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
5073 and finish EFI.
5074 (grub_bsd_unload): Unload tags.
5075 (grub_bsd_load_aout): Use relocator.
5076 (grub_bsd_elf32_size_hook): New function.
5077 (grub_bsd_elf32_hook): Use relocator.
5078 (grub_bsd_elf64_size_hook): New function.
5079 (grub_bsd_elf64_hook): Use relocator.
5080 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
5081 (grub_bsd_load): Zero-out openbsd_ramdisk.
5082 (grub_bsd_load): Use relocator.
5083 (grub_cmd_openbsd): Support serial.
5084 (grub_cmd_netbsd): Support modules.
5085 (grub_cmd_freebsd_module): Use relocator.
5086 (grub_netbsd_module_load): New function.
5087 (grub_cmd_netbsd_module): Likewise.
5088 (grub_cmd_openbsd_ramdisk): Likewise.
5089 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
5090 kopenbsd_ramdisk.
5091 (GRUB_MOD_FINI): Unregister new commands.
5092 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
5093 (grub_freebsd_load_elfmodule_obj): Use relocator.
5094 (grub_freebsd_load_elfmodule): Likewise.
5095 (grub_freebsd_load_elf_meta): Likewise.
5096 (grub_netbsd_load_elf_meta): New function.
5097 (grub_openbsd_find_ramdisk): Likewise.
5098 * grub-core/loader/i386/bsd_helper.S: Removed.
5099 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
5100 * grub-core/loader/i386/bsd_trampoline.S: Removed.
5101 * grub-core/loader/i386/efi/linux.c: Likewise.
5102 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
5103 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
5104 (DEFAULT_VIDEO_MODE): Likewise.
5105 (real_mode_target): New variable.
5106 (prot_mode_target): Likewise.
5107 (initrd_mem_target): Likewise.
5108 (relocator): Likewise.
5109 (efi_mmap_buf): Likewise.
5110 (efi_mmap_size): Likewise.
5111 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
5112 (free_pages): Use relocator.
5113 (allocate_pages): Account for efi_mmap and use relocator. Return error.
5114 (grub_linux_setup_video): Return error.
5115 (grub_linux_trampoline_start): Removed.
5116 (grub_linux_trampoline_end): Likewise.
5117 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
5118 andd video parameters depending on firmware.
5119 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
5120 [GRUB_MACHINE_EFI]: Pass EFI parameters.
5121 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
5122 (grub_cmd_initrd): Use relocator.
5123 * grub-core/loader/i386/linux_trampoline.S: Removed.
5124 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
5125 (elf_sec_entsize): Likewise.
5126 (elf_sec_shstrndx): Likewise.
5127 (elf_sections): Likewise.
5128 (grub_multiboot_load): Use relocator.
5129 (grub_multiboot_get_mbi_size): Account for sections.
5130 (grub_multiboot_make_mbi): Use relocator and support sections.
5131 (grub_multiboot_add_elfsyms): New function.
5132 (grub_multiboot_free_mbi): Free sections.
5133 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
5134 (grub_linux_real_target): Likewise.
5135 (grub_linux_real_chunk): Likewise.
5136 (grub_linux16_prot_size): Likewise.
5137 (grub_linux16_boot): Use relocator.
5138 (grub_linux_unload): Unload relocator.
5139 (grub_cmd_linux): Use relocator.
5140 (grub_cmd_initrd): Likewise.
5141 * grub-core/loader/i386/pc/ntldr.c: New file.
5142 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
5143 Don't try to guess CPU frequency.
5144 (grub_xnu_set_video): Stretch bitmap.
5145 (grub_xnu_boot): Use relocator.
5146 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
5147 (grub_linux_unload): Free relocator.
5148 (grub_linux_load32): Use relocator.
5149 (grub_linux_load64): Likewise.
5150 (grub_cmd_initrd): Likewise.
5151 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
5152 (grub_multiboot_unload): Unload relocator.
5153 (grub_cmd_multiboot): Use relocator.
5154 (grub_cmd_module): Likewise.
5155 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
5156 Use relocator and support sections.
5157 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
5158 (elf_sec_entsize): Likewise.
5159 (elf_sec_shstrndx): Likewise.
5160 (elf_sections): Likewise.
5161 (grub_multiboot_load): Use relocator.
5162 (grub_multiboot_get_mbi_size): Account for sections.
5163 (grub_multiboot_make_mbi): Use relocator and support sections.
5164 (grub_multiboot_add_elfsyms): New function.
5165 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
5166 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
5167 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
5168 Prototype changed. All users updated.
5169 (grub_xnu_align_heap): Simplified.
5170 (grub_xnu_writetree_toheap): Likewise.
5171 (grub_xnu_unload): Unload relocator.
5172 (grub_cmd_xnu_kernel): Use relocator.
5173 (grub_cmd_xnu_kernel64): Likewise.
5174 (grub_xnu_register_memory): Simplified.
5175 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
5176 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
5177 EFI is finished.
5178 (grub_console_checkkey): Likewise.
5179 (grub_console_getkey): Likewise.
5180 (grub_console_getwh): Likewise.
5181 (grub_console_getxy): Likewise.
5182 (grub_console_gotoxy): Likewise.
5183 (grub_console_cls): Likewise.
5184 (grub_console_setcolorstate): Likewise.
5185 (grub_console_setcursor): Likewise.
5186 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
5187 * grub-core/tests/boot/kbsd.init-i386.S: New file.
5188 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
5189 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
5190 * grub-core/tests/boot/kernel-8086.S: Likewise.
5191 * grub-core/tests/boot/kernel-i386.S: Likewise.
5192 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
5193 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
5194 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
5195 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
5196 * grub-core/tests/boot/knetbsd.cfg: Likewise.
5197 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
5198 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
5199 * grub-core/tests/boot/linux.cfg: Likewise.
5200 * grub-core/tests/boot/linux.init-i386.S: Likewise.
5201 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
5202 * grub-core/tests/boot/linux16.cfg: Likewise.
5203 * grub-core/tests/boot/multiboot.cfg: Likewise.
5204 * grub-core/tests/boot/multiboot2.cfg: Likewise.
5205 * grub-core/tests/boot/ntldr.cfg: Likewise.
5206 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
5207 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
5208 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
5209 New definition.
5210 * include/grub/dl.h (grub_dl_unload_all): Removed.
5211 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
5212 (grub_efi_finish_boot_services): Change prototype.
5213 (grub_efi_is_finished): New variable.
5214 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
5215 Changed prototype.
5216 (grub_efiemu_finish_boot_services): Removed.
5217 (grub_machine_efiemu_init_tables): New prototype.
5218 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
5219 (grub_elf64_phdr_iterate): Likewise.
5220 * include/grub/i386/bsd.h: Include relocator.h.
5221 (freebsd_tag_header): New struct.
5222 (grub_openbsd_bios_mmap): Removed.
5223 (grub_unix_real_boot): Removed.
5224 (grub_freebsd_load_elfmodule32): Changed prototype.
5225 (grub_freebsd_load_elfmodule_obj64): Likewise.
5226 (grub_freebsd_load_elf_meta32): Likewise.
5227 (grub_freebsd_load_elf_meta64): Likewise.
5228 (grub_freebsd_add_meta): Removed.
5229 (grub_netbsd_load_elf_meta32): New prototype.
5230 (grub_netbsd_load_elf_meta64): Likewise.
5231 (grub_bsd_add_meta): Likewise.
5232 (grub_openbsd_ramdisk_descriptor): New struct.
5233 (grub_openbsd_find_ramdisk32): New prototype.
5234 (grub_openbsd_find_ramdisk64): Likewise.
5235 * include/grub/i386/coreboot/loader.h: Removed.
5236 * include/grub/i386/efi/loader.h: Likewise.
5237 * include/grub/i386/ieee1275/loader.h: Likewise.
5238 * include/grub/i386/linux.h (linux_kernel_header): Change void *
5239 to grub_uint32_t.
5240 * include/grub/i386/loader.h: Removed.
5241 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
5242 value.
5243 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
5244 (grub_phys_addr_t): New type.
5245 (grub_vtop): New inline function.
5246 (grub_map_memory): Likewise.
5247 (grub_unmap_memory): Likewise.
5248 * include/grub/i386/multiboot/loader.h: Removed.
5249 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
5250 (NETBSD_BTINFO_CONSOLE): New definition.
5251 (NETBSD_BTINFO_SYMTAB): Likewise.
5252 (NETBSD_BTINFO_MODULES): Likewise.
5253 (NETBSD_BTINFO_FRAMEBUF): Likewise.
5254 (grub_netbsd_bootinfo): New struct.
5255 (grub_netbsd_btinfo_common): Use explicit bitsize.
5256 (grub_netbsd_btinfo_mmap_entry): Removed.
5257 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
5258 (grub_netbsd_btinfo_bootdisk): New struct.
5259 (grub_netbsd_btinfo_symtab): Likewise.
5260 (grub_netbsd_btinfo_serial): Likewise.
5261 (grub_netbsd_btinfo_modules): Likewise.
5262 (grub_netbsd_btinfo_framebuf): Likewise.
5263 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
5264 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
5265 Likewise.
5266 (grub_openbsd_bootargs): Use explicit bitsize.
5267 (grub_openbsd_bootarg_console): New struct.
5268 (GRUB_OPENBSD_COM_MAJOR): New definition.
5269 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
5270 * include/grub/i386/pc/efiemu.h: Removed.
5271 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
5272 * include/grub/i386/qemu/loader.h: Removed.
5273 * include/grub/i386/relocator.h: Rewritten.
5274 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
5275 * include/grub/mips/memory.h: New file.
5276 * include/grub/mips/multiboot.h: Rewritten.
5277 * include/grub/mips/relocator.h: Rewritten.
5278 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
5279 (grub_vtop): New function.
5280 (grub_map_memory): Likewise.
5281 (grub_unmap_memory): Likewise.
5282 * include/grub/misc.h (ALIGN_DOWN): New definition.
5283 * include/grub/mm.h (grub_mm_check_real): New proto.
5284 (GRUB_MM_CHECK): New definition.
5285 * include/grub/mm_private.h: New file.
5286 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
5287 (grub_multiboot_get_mbi_size): Removed.
5288 (grub_multiboot_make_mbi): Change prottype.
5289 (grub_multiboot_set_accepts_video): New proto.
5290 (grub_multiboot_add_elfsyms): Likewise.
5291 (grub_multiboot_payload_eip): New variable.
5292 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
5293 New prototype.
5294 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
5295 New definition.
5296 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
5297 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
5298 * include/grub/powerpc/ieee1275/loader.h: Removed.
5299 * include/grub/powerpc/memory.h: New file.
5300 * include/grub/powerpc/relocator.h: Likewise.
5301 * include/grub/relocator.h: Likewise.
5302 * include/grub/relocator_private.h: Likewise.
5303 * include/grub/sparc64/ieee1275/loader.h: Removed.
5304 * include/grub/x86_64/memory.h: New file.
5305 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
5306 (grub_xnu_heap_malloc): Likewise.
5307 (grub_xnu_heap_real_start): Removed.
5308 (grub_xnu_heap_start): Likewise.
5309 (grub_xnu_relocator): New variable.
5310 (grub_xnu_heap_target_start): Likewise.
5311 * tests/util/grub-shell.in: Support non-pc.
5312 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 5313
5303b85d
VS
53142010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5315
5316 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
5317 on malloc error.
5318 (grub_bidi_logical_to_visual): Check that malloc succeded.
5319 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
5320 puts.
5321 (grub_xputs_normal): Likewise.
5322
d768d159
VS
53232010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5324
5325 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
5326 extra_dist.
5327
53282010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 * grub-core/efiemu/runtime/efiemu.sh: Removed.
5331
5bf84df4
VS
53322010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5333
5334 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
5335
3626810e
VS
53362010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
5337
5338 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
5339 dprintf.
5340
a7363f53
BC
53412010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
5342
5343 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
5344
902f75f6
VS
53452010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5346
5347 * grub-core/normal/term.c (print_more): Fix a memory leak.
5348 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
5349 (grub_xputs_normal): Likewise.
5350
3c707967
VS
53512010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5352
5353 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
5354 the begining of the string
5355
2053cc07
VS
53562010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5357
5358 * grub-core/script/script.c (grub_script_parse): Free parsed on
5359 failure.
5360
46422ebf
VS
53612010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5362
5363 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
5364 on failure.
5365
9e0fa3f6
VS
53662010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5367
5368 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
5369 return.
5370
3393cf16
VS
53712010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5372
5373 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
5374 (scroll_up): Fix a memory leak.
5375
b17540cb
VS
53762010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
5377
5378 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
5379 errors.
5380
67140446
VS
53812010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
5382
5383 Handle USB pendrives exposed as floppies.
5384
5385 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
5386 floppy.
5387 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
5388 Check for partitions on all devices.
5389
e35e46fc
VS
53902010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
5391
5392 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
5393 (readkey): Likewise.
5394
d24c6190
BC
53952010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
5396
5397 Multiple variable names support to "export" command.
5398
5399 * normal/context.c (grub_cmd_export): "export" command supports
5400 multiple variable names.
5401
04ddcc6a
ST
54022010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
5403
5404 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
5405 --target=drive output to Mach device name.
5406
0c8b61d8
BC
54072010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
5408
5409 New Automake based build system for GRUB.
5410
5411 * ABOUT-NLS: New file.
5412 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
5413 in Makefile.util.def file.
5414 * Makefile.util.def: New file. Autogen build definitions file for
5415 GRUB host utils.
5416 * conf/Makefile.common: New file. Common variables for GRUB host
5417 utils and target modules.
5418 * conf/Makefile.extra-dist: New file. Extra files for make dist.
5419 * docs/Makefile.am: New file. Automake file for docs.
5420 * gentpl.py: New file. Python script to generate Autogen
5421 template.
5422 * grub-core/Makefile.am: New file. GRUB target modules' rules
5423 that doesn't fit in Makefile.core.def file.
5424 * grub-core/Makefile.core.def: New file. Autogen build
5425 definitions file for GRUB target modules.
5426 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
5427 specific setjmp.S file.
5428 * po/Makefile.am: New file.
5429
5430 * .bzrignore: New ignores.
5431 * INSTALL: New requirements, without Ruby.
5432 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
5433 * autogen.sh: Updated to invoke autogen as necessary.
5434 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
5435 and defines for Automake conditionals.
5436 * geninit.sh: Refactoring.
5437
5438 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
5439 necessary.
5440 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
5441 New prototype.
5442
5443 * include/grub/test.h: Fix functional test modules' naming.
5444 * grub-core/tests/example_functional_test.c: Fix test module name.
5445
5446 * util/misc.c: Hosted versions' of grub functions for libgrub.a
5447 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
5448 * util/grub-editenv.c: Likewise.
5449 * util/grub-fstest.c: Likewise.
5450 * util/grub-mkdevicemap.c: Likewise.
5451 * util/grub-mkfont.c: Likewise.
5452 * util/grub-mkimage.c: Likewise.
5453 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5454 * util/grub-probe.c: Likewise.
5455 * util/grub-script-check.c: Likewise.
5456 * util/i386/pc/grub-setup.c: Likewise.
5457 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5458
5459 * tests/util/grub-shell.in: Fix override directory path.
5460 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
5461 * util/import_gcry.py: Create Makefile.gcry.def file instead.
5462
5463 * util/lvm.c: Update #includes.
5464 * util/raid.c: Likewise.
5465 * util/resolve.c: Likewise.
5466 * grub-core/bus/emu/pci.c: Likewise.
5467 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
5468 * grub-core/lib/posix_wrap/string.h: Likewise.
5469 * grub-core/kern/emu/main.c: Likewise.
5470
5471 * grub-core/gensymlist.sh: New file. Script for generating kernel
5472 symbols file.
5473 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
5474
5475 * grub-core/gentrigtables.c: Fix unused variable warnings.
5476
5477 * Makefile.in: Removed.
5478 * conf/any-emu.rmk: Removed.
5479 * conf/common.rmk: Removed.
5480 * conf/i386-coreboot.rmk: Removed.
5481 * conf/i386-efi.rmk: Removed.
5482 * conf/i386-ieee1275.rmk: Removed.
5483 * conf/i386-multiboot.rmk: Removed.
5484 * conf/i386-pc.rmk: Removed.
5485 * conf/i386-qemu.rmk: Removed.
5486 * conf/i386.rmk: Removed.
5487 * conf/mips-yeeloong.rmk: Removed.
5488 * conf/mips.rmk: Removed.
5489 * conf/powerpc-ieee1275.rmk: Removed.
5490 * conf/sparc64-ieee1275.rmk: Removed.
5491 * conf/tests.rmk: Removed.
5492 * conf/x86-efi.rmk: Removed.
5493 * conf/x86_64-efi.rmk: Removed.
5494 * gendistlist.sh: Removed.
5495 * geninitheader.sh: Removed.
5496 * genkernsyms.sh.in: Removed.
5497 * genmk.rb: Removed.
5498 * gensymlist.sh.in: Removed.
5499 * mkinstalldirs: Removed.
5500 * boot: Moved ...
5501 * grub-core/boot: ... to here.
5502 * bus: Moved ...
5503 * grub-core/bus: ... to here.
5504 * commands: Moved ...
5505 * grub-core/commands: ... to here.
5506 * disk: Moved ...
5507 * grub-core/disk: ... to here.
5508 * efiemu: Moved ...
5509 * grub-core/efiemu: ... to here.
5510 * font: Moved ...
5511 * grub-core/font: ... to here.
5512 * fs: Moved ...
5513 * grub-core/fs: ... to here.
5514 * gencmdlist.sh: Moved ...
5515 * grub-core/gencmdlist.sh: ... to here.
5516 * genemuinit.sh: Moved ...
5517 * grub-core/genemuinit.sh: ... to here.
5518 * genemuinitheader.sh: Moved ...
5519 * grub-core/genemuinitheader.sh: ... to here.
5520 * genfslist.sh: Moved ...
5521 * grub-core/genfslist.sh: ... to here.
5522 * genhandlerlist.sh: Moved ...
5523 * grub-core/genhandlerlist.sh: ... to here.
5524 * genmoddep.awk: Moved ...
5525 * grub-core/genmoddep.awk: ... to here.
5526 * genmodsrc.sh: Moved ...
5527 * grub-core/genmodsrc.sh: ... to here.
5528 * genpartmaplist.sh: Moved ...
5529 * grub-core/genpartmaplist.sh: ... to here.
5530 * genparttoollist.sh: Moved ...
5531 * grub-core/genparttoollist.sh: ... to here.
5532 * genterminallist.sh: Moved ...
5533 * grub-core/genterminallist.sh: ... to here.
5534 * gentrigtables.c: Moved ...
5535 * grub-core/gentrigtables.c: ... to here.
5536 * genvideolist.sh: Moved ...
5537 * grub-core/genvideolist.sh: ... to here.
5538 * gettext: Moved ...
5539 * grub-core/gettext: ... to here.
5540 * gfxmenu: Moved ...
5541 * grub-core/gfxmenu: ... to here.
5542 * gnulib: Moved ...
5543 * grub-core/gnulib: ... to here.
5544 * hello: Moved ...
5545 * grub-core/hello: ... to here.
5546 * hook: Moved ...
5547 * grub-core/hook: ... to here.
5548 * io: Moved ...
5549 * grub-core/io: ... to here.
5550 * kern: Moved ...
5551 * grub-core/kern: ... to here.
5552 * lib: Moved ...
5553 * grub-core/lib: ... to here.
5554 * loader: Moved ...
5555 * grub-core/loader: ... to here.
5556 * mmap: Moved ...
5557 * grub-core/mmap: ... to here.
5558 * normal: Moved ...
5559 * grub-core/normal: ... to here.
5560 * partmap: Moved ...
5561 * grub-core/partmap: ... to here.
5562 * parttool: Moved ...
5563 * grub-core/parttool: ... to here.
5564 * script: Moved ...
5565 * grub-core/script: ... to here.
5566 * term: Moved ...
5567 * grub-core/term: ... to here
5568 * tests/example_functional_test.c: Moved ...
5569 * grub-core/tests/example_functional_test.c: ... to here.
5570 * tests/lib/functional_test.c: Moved ...
5571 * grub-core/tests/lib/functional_test.c: ... to here.
5572 * tests/lib/test.c: Moved ...
5573 * grub-core/tests/lib/test.c: ... to here.
5574 * video: Moved ...
5575 * grub-core/video: ... to here.
5576
645586e6
BC
55772010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
5578
5579 Replace --enable-grub-emu-modules with grub-emu-lite.
5580
5581 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
5582 cache.S.
5583
5584 * include/grub/emu/misc.h (grub_emu_init): New prototype.
5585 * kern/emu/full.c: New file. For grub-emu specific initialization.
5586 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
5587 * kern/emu/main.c: Call initialization function grub_emu_init.
5588
5589 * Makefile.in: Include grub-emu-lite in install.
5590 * commands/parttool.c: Use grub_no_autoload to differentiate
5591 between grub-emu and grub-emu-lite.
5592 * include/grub/misc.h: New variable grub_no_autoload.
5593
5594 * conf/any-emu.rmk: New rules for grub-emu-lite.
5595 * configure.ac: Remove --enable-grub-emu-modules.
5596 * genmk.rb: Cleanup unnecessary rules.
5597 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
5598
5599 * normal/main.c: Don't load list files on grub-emu-lite.
5600 * util/misc.c (grub_arch_sync_caches): Removed.
5601
f86a4030
CW
56022010-08-23 Colin Watson <cjwatson@ubuntu.com>
5603
5604 * kern/mips/startup.S (grub_prefix): Update comment to refer to
5605 grub-mkimage rather than grub-mkelfimage.
5606 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
5607
06776944
VS
56082010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
5609
5610 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
5611 a key after CapsLock or NumLock. It's just a qemu bug.
5612
df262419
VS
56132010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5614
5615 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
5616 needed by libusb wrapper.
5617
b40ea81b
ST
56182010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
5619
5620 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
5621
dee50575
VS
56222010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
5623
5624 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
5625 --nounzip is passed.
5626
fb1d7b79
VS
56272010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
5628
5629 USB hotunplugging and USB serial support.
5630
5631 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
5632 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
5633 (grub_uhci_transfer): Respect timeout and set *actual.
5634 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
5635 non-standard length.
5636 (grub_usb_device_attach): Autoload modules.
5637 (GRUB_MOD_INIT): Set grub_term_poll_usb.
5638 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
5639 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
5640 users updated.
5641 (grub_usb_add_hub): Fill nports and children.
5642 (attach_root_port): Receive hub instead of controller.
5643 All users updated. Fill hub->devices.
5644 (grub_usb_root_hub): Allocate hub->devices.
5645 (detach_device): New function.
5646 (poll_nonroot_hub): Fill children and detach devices.
5647 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
5648 actual arguments. All users updated.
5649 (grub_usb_bulk_read_extended): New function.
5650 * bus/usb/serial/common.c: New file.
5651 * bus/usb/serial/ftdi.c: Likewise.
5652 * bus/usb/serial/pl2303.c: Likewise.
5653 * commands/terminal.c (handle_command): Support wildcard.
5654 * commands/usbtest.c: Output "Unknown" instead of empty string.
5655 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
5656 (usbserial_common_mod_SOURCES): New variable.
5657 (usbserial_common_mod_CFLAGS): Likewise.
5658 (usbserial_common_mod_LDFLAGS): Likewise.
5659 (pkglib_MODULES): Add usbserial_pl2303.mod.
5660 (usbserial_pl2303_mod_SOURCES): New variable.
5661 (usbserial_pl2303_mod_CFLAGS): Likewise.
5662 (usbserial_pl2303_mod_LDFLAGS): Likewise.
5663 (pkglib_MODULES): Add usbserial_ftdi.mod.
5664 (usbserial_ftdi_mod_SOURCES): New variable.
5665 (usbserial_ftdi_mod_CFLAGS): Likewise.
5666 (usbserial_ftdi_mod_LDFLAGS): Likewise.
5667 (pkglib_MODULES): Add serial.mod.
5668 (serial_mod_SOURCES): New variable.
5669 (serial_mod_CFLAGS): Likewise.
5670 (serial_mod_LDFLAGS): Likewise.
5671 * conf/i386-pc.rmk: Likewise.
5672 * conf/mips-yeeloong.rmk: Likewise.
5673 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
5674 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
5675 * disk/usbms.c (first_available_slot): New variable.
5676 (grub_usbms_attach): Don't reuse free slots due to potential cache
5677 problems.
5678 * include/grub/serial.h: Moved to ..
5679 * include/grub/ns8250.h: ...this.
5680 * include/grub/serial.h: New file.
5681 * include/grub/term.h (grub_term_poll_usb): New variable.
5682 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
5683 readkey. All users updated.
5684 (grub_terminfo_output_state): Pass term to put.
5685 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
5686 (grub_usb_controller_dev): Add timeout and actual arguments to
5687 transfer. All users updated.
5688 (grub_usb_interface): New field detach_data.
5689 (grub_usb_device): New fields children and nports.
5690 (grub_usb_ep_type_t): New type.
5691 (grub_usb_get_ep_type): New function.
5692 (grub_usb_bulk_read_extended): Likewise.
5693 * include/grub/usbdesc.h (grub_usb_desc): New type.
5694 * include/grub/usbserial.h: New file.
5695 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
5696 * kern/term.c (grub_term_poll_usb): New variable.
5697 (grub_getkey): Call grub_term_poll_usb if set.
5698 (grub_checkkey): Likewise.
5699 (grub_getkeystatus): Likewise.
5700 * term/serial.c: Moved controller-specific parts to ...
5701 * term/ns8250.c: ... here.
5702 * term/serial.c: Mostly rewritten.
5703 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
5704 according to spec.
5705
21a313de
RM
57062010-08-20 Robert Millan <rmh@gnu.org>
5707
5708 Make kFreeBSD code more generic to support ext2fs as root, ufs as
5709 a separate module and maybe other interesting combinations.
5710
5711 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
5712 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
5713 (kfreebsd_entry): Add generic filesystem module load routine.
5714 Map GRUB `ext2' to kFreeBSD `ext2fs'.
5715
63c734a6
CW
57162010-08-20 Colin Watson <cjwatson@ubuntu.com>
5717
5718 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
5719 "numcenter" (I misunderstood the purpose of this entry).
5720 * docs/grub.texi (sendkey): Likewise.
5721
c4d16542
CW
57222010-08-20 Colin Watson <cjwatson@ubuntu.com>
5723
5724 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
5725 status flag options; simply omitting the option is equivalent and
5726 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
5727 (keysym_table): Rename "num5numlock" to "numlock".
5728 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
5729 can uniformly say that only the last of multiple `sendkey'
5730 invocations has any effect.
5731 * docs/grub.texi (sendkey): New section.
5732
93541d66
CW
57332010-08-19 Colin Watson <cjwatson@ubuntu.com>
5734
5735 * commands/i386/pc/sendkey.c (options): Fix three typos.
5736
b4ece5e1
VS
57372010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
5738
5739 Implement sendkey support.
5740
5741 * commands/i386/pc/sendkey.c: New file.
5742 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
5743 (sendkey_mod_SOURCES): New variable.
5744 (sendkey_mod_CFLAGS): Likewise.
5745 (sendkey_mod_LDFLAGS): Likewise.
5746
51f1f5af
CW
57472010-08-18 Colin Watson <cjwatson@ubuntu.com>
5748
5749 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
5750 fix warnings from Autoconf.
5751
9da94e05
CW
57522010-08-18 Colin Watson <cjwatson@ubuntu.com>
5753
5754 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
5755 to avoid false positives with some assemblers that output things
5756 like "someprefix_func" as part of their output.
5757
729a0f2e
RM
57582010-08-15 Robert Millan <rmh@gnu.org>
5759
5760 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
5761 errors.
5762 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
5763 grub_get_libzfs_handle() errors.
5764
f3710e08
RM
57652010-08-14 Robert Millan <rmh@gnu.org>
5766
5767 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
5768 filesystem is not ZFS.
5769
7a3c13de
BC
57702010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5771
5772 Fix for misspelled color names defaulting to black/black (bug
5773 reported by Doug Nazar)
5774
5775 * include/grub/normal.h (grub_parse_color_name_pair): Add return
5776 status to prototype.
5777 * normal/color.c (grub_parse_color_name_pair): Return failure
5778 status.
5779 (grub_env_write_color_normal): Ignore bad color names.
5780 (grub_env_write_color_highlight): Likewise.
5781 * normal/main.c (GRUB_MOD_INIT): Set default color names.
5782
ab8ba50d
BC
57832010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5784
5785 "shift" command support to GRUB script.
5786
5787 * include/grub/script_sh.h (grub_script_shift): New prototype.
5788 * script/execute.c (grub_script_shift): New function.
5789 * script/main.c (grub_script_init): Register shift command.
5790 (grub_script_fini): Unregister shift command.
5791 * util/grub-script-check.c (grub_script_cmd_shift): New function.
5792
5793 * tests/grub_script_shift.in: New testcase.
5794 * conf/tests.rmk: Rules for new testcase.
5795
4d61999e
BC
57962010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5797
5798 "continue" command support to GRUB script.
5799
5800 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
5801 (grub_script_break): Continue support.
5802 * script/main.c (grub_script_init): Register continue command.
5803 (grub_script_fini): Unregister continue command.
5804
5805 * tests/grub_script_continue.in: New testcase.
5806 * conf/tests.rmk: Rules for new testcase.
5807
4df51e00
BC
58082010-08-12 BVK Chaitanya <bvk@dbook>
5809
5810 "break" command support to GRUB script.
5811
5812 * conf/common.rmk: Rule updates to grub-script-check.
5813 * include/grub/misc.h (grub_min): New function.
5814 * include/grub/script_sh.h (grub_script_init): New prototype.
5815 (grub_script_fini): New prototype.
5816 (grub_script_break): New prototype.
5817 * script/main.c (grub_script_init): New function.
5818 (grub_script_fini): New function.
5819 * script/execute.c (grub_script_break): New function.
5820 * normal/main.c: Calls to grub_script_{init,fini}.
5821 * util/grub-script-check.c (grub_script_break): New function.
5822
5823 * tests/grub_script_break.in: New testcase.
5824 * conf/tests.rmk: Rules for new test case.
5825
f12c8420
BC
58262010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5827
5828 Function parameters support to GRUB script.
5829
5830 * script/yylex.l (VARIABLE): Regular expression update.
5831 * script/function.c (grub_script_function_call): Moved ...
5832 * script/execute.c (grub_script_function_call): ... to here.
5833 (grub_script_execute_arglist_to_argv): Removed.
5834 (grub_script_arglist_to_argv): New function.
5835 * script/argv.c: New file.
5836 (grub_script_argv_free): New function.
5837 (grub_script_argv_next): Likewise.
5838 (grub_script_argv_append): Likewise.
5839 (grub_script_argv_split_append): Likewise.
5840 * include/grub/script_sh.h (grub_script_argv): New struct.
5841 (grub_script_argv_free): New function.
5842 (grub_script_argv_next): Likewise.
5843 (grub_script_argv_append): Likewise.
5844 (grub_script_argv_split_append): Likewise.
5845
5846 * conf/common.rmk (normal.mod): New source script/argv.c.
5847
5848 * tests/grub_script_echo1.in: More tests.
5849 * tests/grub_script_vars1.in: Likewise.
5850 * tests/grub_script_functions.in: New test case.
5851 * conf/tests.rmk: Rules for new testcase.
5852
8022b748
BC
58532010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
5854
5855 Remove grub_script_cmdblock struct.
5856
5857 * include/grub/script_sh.h: Remove grub_script_cmdblock.
5858 * script/parser.y: Likewise.
5859 * script/execute.c: Rename cmdblock suffix to cmdlist.
5860 * script/script.c: Likewise.
5861 * util/grub-script-check.c: Likewise.
5862
79a6ba61
YB
58632010-08-11 Yves Blusseau <blusseau@zetam.org>
5864
5865 * .bzrignore: add grub-macho2img
5866
d04b9414
VS
58672010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
5868
5869 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
5870
f947ab49
VS
58712010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
5872
5873 Remove the dump of sm712 initialisation sequence.
5874
5875 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
5876 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
5877 (GRUB_VGA_IO_MISC_WRITE): Likewise.
5878 (GRUB_VGA_CR_*): Added many registers.
5879 (GRUB_VGA_SR_*): Likewise.
5880 (GRUB_VGA_GR_*): Likewise.
5881 (grub_vga_write_arx): New function.
5882 (grub_video_hw_config): New struct.
5883 (grub_vga_set_geometry): New function.
5884 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
5885 GRUB_PCI_CLASS_SUBCLASS_VGA.
5886 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
5887 * video/sm712.c (grub_sm712_write_reg): New function
5888 (grub_sm712_read_reg): Likewise.
5889 (grub_sm712_sr_write): Likewise.
5890 (grub_sm712_gr_write): Likewise.
5891 (grub_sm712_cr_write): Likewise.
5892 (grub_sm712_write_arx): Likewise.
5893 (grub_sm712_cr_shadow_write): Likewise.
5894 (grub_sm712_write_dda_lookup): Likewise.
5895 (grub_video_sm712_setup): Initialise the video rather then
5896 blindly replay the dump.
5897 (main) [TEST]: Add a routine to be able to compile as standalone for
5898 tests.
5899 * video/sm712_init.c (sm712_init): Removed.
5900 (sm712_sr_seq1): New array.
5901 (sm712_sr_seq2): Likewise.
5902
f0206638
VS
59032010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
5904
5905 * include/grub/vga.h: Add missing grub/pci.h include.
5906
2764da3b
YB
59072010-08-10 Yves Blusseau <blusseau@zetam.org>
5908
5909 * util/grub-macho2img.c (main): fix typo
5910
cf0c775e
VS
59112010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
5912
5913 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
5914 (grub_vga_gr_read): Likewise.
5915 (grub_vga_cr_write): Likewise.
5916 (grub_vga_cr_read): Likewise.
5917 (grub_vga_sr_write): Likewise.
5918 (grub_vga_sr_read): Likewise.
5919 (grub_vga_palette_read): Likewise.
5920 (grub_vga_palette_write): Likewise.
5921 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
5922 (grub_sm712_sr_read): New function.
5923 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
5924 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
5925
07f360e9
RM
59262010-08-09 Robert Millan <rmh@gnu.org>
5927
5928 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
5929 out unused variables on non-ZFS build.
5930
346c2072
RM
59312010-08-08 Robert Millan <rmh@gnu.org>
5932
5933 Fix path generation for sub-filesystems in ZFS.
5934
5935 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
5936 missing slash.
5937
71175420
RM
59382010-08-08 Robert Millan <rmh@gnu.org>
5939
5940 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
5941
0d8286f3
RM
59422010-08-08 Robert Millan <rmh@gnu.org>
5943
5944 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
5945 exist, issue a proper error message (rely on `ls' for translated
5946 strings).
5947
55dd2924
RM
59482010-08-08 Robert Millan <rmh@gnu.org>
5949
5950 Fix grub-probe invocation.
5951
5952 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
5953
d3dd9e80
RM
59542010-08-04 Robert Millan <rmh@gnu.org>
5955
5956 * configure.ac: Remove checks for getfsstat() and getmntany().
5957 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
5958 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
5959 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
5960 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
5961 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
5962 function.
5963 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
5964 via find_mount_point_from_dir() and getfsstat() / getmntany().
5965
0de22aa9
RM
59662010-08-04 Robert Millan <rmh@gnu.org>
5967
5968 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
5969 (grub_find_zpool_from_mount_point): Merge into ...
5970 (grub_find_zpool_from_dir): ... this.
5971 * kern/emu/misc.c: Likewise.
5972
5973 * kern/emu/misc.c
5974 (grub_make_system_path_relative_to_its_root): Replace
5975 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
5976 with grub_find_zpool_from_dir().
5977 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
5978
62858144
RM
59792010-08-04 Robert Millan <rmh@gnu.org>
5980
5981 Support OpenSolaris in ZFS device resolution.
5982
5983 * configure.ac: Check for getmntany().
5984 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
5985 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
5986 support.
5987
9dd6fd50
RM
59882010-08-03 Robert Millan <rmh@gnu.org>
5989
5990 Fix grub-emu build.
5991
5992 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
5993 * include/grub/emu/misc.h: ... here.
5994
5995 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
5996 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
5997
5998 * util/misc.c: Remove `<grub/util/libzfs.h>'.
5999 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
6000 (grub_get_libzfs_handle): Move to ...
6001 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
6002 (grub_get_libzfs_handle): ... here.
6003
c9f7ff97
BC
60042010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
6005
6006 * script/execute.c (grub_script_execute_cmdline): Check for NULL
6007 as command name case.
6008
a870a783
CW
60092010-08-02 Colin Watson <cjwatson@ubuntu.com>
6010
6011 * disk/raid.c (insert_array): Select unique numbers for named arrays
6012 as well, for use as keys in the disk cache.
6013
c7db243b
RM
60142010-08-01 Robert Millan <rmh@gnu.org>
6015
6016 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
6017 kFreeBSD device name, except on ZFS where the filesystem label is
6018 used.
6019 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
6020 `/boot/zfs/zpool.cache'.
6021 Set mountfrom kernel variable using ${kfreebsd_device}.
6022
f7abdefb
RM
60232010-08-01 Robert Millan <rmh@gnu.org>
6024
6025 Make it even harder to use uninitialized `libzfs_handle' (and
6026 make the interface a bit simpler).
6027
6028 * include/grub/util/misc.h (grub_util_init_libzfs)
6029 (libzfs_handle): Remove.
6030 (grub_get_libzfs_handle): New prototype.
6031
6032 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
6033 attribute.
6034 (grub_util_init_libzfs): Remove.
6035 (grub_get_libzfs_handle): New function.
6036
6037 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
6038 grub_get_libzfs_handle() to obtain a libzfs handle instead of
6039 accessing `libzfs_handle' directly.
6040
c882acc0
RM
60412010-08-01 Robert Millan <rmh@gnu.org>
6042
6043 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
6044 (grub_find_zpool_from_mount_point): New function prototypes.
6045
6046 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
6047 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
6048
6049 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
6050 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
6051 `static' attribute.
6052
6053 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
6054 finding zpool from mount point into ...
6055 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
6056
6057 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
6058 requested path is part of a ZFS pool, use
6059 grub_find_zpool_from_mount_point() to detect its filesystem name,
6060 and generate a path with `/fsname@path' syntax.
6061
8bfe31d8
CW
60622010-08-01 Colin Watson <cjwatson@ubuntu.com>
6063
6064 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
6065 (void) rather than () so that this is a proper prototype.
6066
553df63d
VS
60672010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6068
6069 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
6070
8687cf07
VS
60712010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6072
6073 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
6074 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
6075
ea9be8ea
CW
60762010-08-01 Colin Watson <cjwatson@ubuntu.com>
6077
6078 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
6079
6eea041a
CW
60802010-08-01 Colin Watson <cjwatson@ubuntu.com>
6081
6082 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
6083
2cfb45df
CW
60842010-08-01 Colin Watson <cjwatson@ubuntu.com>
6085
6086 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
6087 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
6088 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
6089 disable gfxpayload.
6090 (Shell-like scripting): Add real content.
6091 (Serial terminal): Suggest `terminal_input serial; terminal_output
6092 serial' rather than putting the two commands on separate lines,
6093 since console input will be inoperative after the first command.
6094 (menuentry): Document --class, --users, and --hotkey options.
6095 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
6096 Vladimir Serbinenko).
6097
7decd202
VS
60982010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
60992010-08-01 Colin Watson <cjwatson@ubuntu.com>
6100
6101 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
6102
c882acc0
RM
61032010-08-01 Robert Millan <rmh@gnu.org>
6104
6105 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
6106 (grub_find_zpool_from_mount_point): New function prototypes.
6107
6108 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
6109 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
6110
6111 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
6112 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
6113 `static' attribute.
6114
6115 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
6116 finding zpool from mount point into ...
6117 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
6118
6119 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
6120 requested path is part of a ZFS pool, use
6121 grub_find_zpool_from_mount_point() to detect its filesystem name,
6122 and generate a path with `/fsname@path' syntax.
6123
deb0caa3
RM
61242010-08-01 Robert Millan <rmh@gnu.org>
6125
6126 Prevent accidental use of uninitialized libzfs_handle.
6127
6128 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
6129 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
6130 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
6131
ce04ef47
CW
61322010-08-01 Colin Watson <cjwatson@ubuntu.com>
6133
6134 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
6135 util/grub.d/10_linux.in). Fixes Debian bug #591093.
6136
ebf53056
RM
61372010-08-01 Robert Millan <rmh@gnu.org>
6138
6139 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 6140
3710bb6b
RM
61412010-07-31 Robert Millan <rmh@gnu.org>
6142
6143 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
6144
8072efeb
RM
61452010-07-31 Robert Millan <rmh@gnu.org>
6146
6147 * kern/emu/misc.c: Add missing license header.
6148
3169f4c7
RM
61492010-07-31 Robert Millan <rmh@gnu.org>
6150
6151 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
6152
6153 * include/grub/util/libnvpair.h: Include `<config.h>'.
6154 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
6155 declaring libnvpair prototypes ourselves.
6156 * include/grub/util/libzfs.h: Include `<config.h>'.
6157 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
6158 declaring libzfs prototypes ourselves.
6159
6160 (libzfs_handle): Moved to ...
6161 * include/grub/util/misc.h (libzfs_handle): ... here.
6162 Include `<grub/util/libzfs.h>'.
6163
c9a00aee
RM
61642010-07-30 Robert Millan <rmh@gnu.org>
6165
6166 * include/grub/emu/misc.h: Add missing license header.
6167
a184f9c8
RM
61682010-07-30 Robert Millan <rmh@gnu.org>
6169
6170 Enable `grub-probe -t device' resolution on ZFS.
6171
6172 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
6173 * include/grub/util/libnvpair.h: New file.
6174 * include/grub/util/libzfs.h: New file.
6175
6176 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
6177 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
6178 `<grub/util/libnvpair.h>'.
6179 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
6180
6181 (find_mount_point_from_dir): New static function.
6182 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
6183 function.
6184 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
6185 find_root_device_from_libzfs() before ressorting to find_root_device().
6186
6187 * include/grub/util/misc.h (grub_util_init_libzfs): New function
6188 prototype.
6189 * util/misc.c: Include `<grub/util/libzfs.h>'.
6190 (grub_util_init_libzfs): New function.
6191 [HAVE_LIBZFS] (libzfs_handle): New global variable.
6192 [HAVE_LIBZFS] (fini_libzfs): New static function.
6193 (grub_util_init_libzfs): New function.
6194 * util/grub-probe.c (main): Call grub_util_init_libzfs().
6195
f7790cdd
RM
61962010-07-30 Robert Millan <rmh@gnu.org>
6197
6198 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
6199 (xmalloc, xrealloc, xstrdup, xasprintf): Add
6200 `warn_unused_result' attribute.
6201 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
6202 (grub_xasprintf, grub_xvasprintf): Likewise.
6203 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
6204
0806b63c
RM
62052010-07-29 Robert Millan <rmh@gnu.org>
6206
6207 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
6208 (probe): Handle `PRINT_FS_LABEL'.
6209 (main): Handle `-t fs_label'.
6210
9f841f5c
RM
62112010-07-29 Robert Millan <rmh@gnu.org>
6212
6213 * configure.ac: Remove grub-mkisofs checks.
6214
46371121
VS
62152010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
6216
6217 * util/ieee1275/grub-install.in: Don't use empty grub_device.
6218 Reported by: Lennart Sorensen.
6219
62202010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6221
6222 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
6223 prior to terminal_input/terminal_output separation. It's been over 1.5
6224 years and those versions weren't widely deployed.
6225
a9600892
CW
62262010-07-22 Colin Watson <cjwatson@ubuntu.com>
6227
6228 * disk/raid.c (insert_array): Don't count named arrays when looking
6229 for unused array numbers.
697e053c 6230 Reported and tested by: Michael Guntsche.
a9600892 6231
c03507df
CW
62322010-07-20 Colin Watson <cjwatson@ubuntu.com>
6233
6234 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
6235 implementation of this so that grub-emu links again, with a note
6236 that this should support hotplugging in the future.
6237
b26f1c11
CW
62382010-07-20 Colin Watson <cjwatson@ubuntu.com>
6239
6240 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
6241
efc9d7f1
CW
62422010-07-20 Colin Watson <cjwatson@ubuntu.com>
6243
6244 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
6245 handle on failure.
6246 (grub_loopback_close): Remove empty function.
6247 (grub_loopback_dev): Remove close method.
6248
dd8ff5c9
CW
62492010-07-20 Colin Watson <cjwatson@ubuntu.com>
6250
6251 Disable EFI cursor when the EFI console becomes inactive.
6252
6253 * term/efi/console.c (grub_efi_console_init): New function.
6254 (grub_efi_console_fini): New function.
6255 (grub_console_term_output): Register init and fini methods.
6256
5e3bec67
VS
62572010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6258
6259 * tests/util/grub-shell-tester.in: Remove bashism and declare as
6260 sh script.
6261
afaec079
VS
62622010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6263
6264 * disk/loopback.c (grub_loopback): Replace filename with file.
6265 (delete_loopback): Handle new semantics.
6266 (grub_cmd_loopback): Likewise.
6267 (grub_loopback_iterate): Likewise.
6268 (grub_loopback_close): Likewise.
6269
a6a11f3c
VS
62702010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6271
6272 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
6273 with -p "".
6274 Reported by: Tito Keitel.
6275
64a638b0
VS
62762010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6277
6278 * docs/grub.texi (Naming convention): Document new naming convention.
6279
ab8ba957
VS
62802010-07-20 Vadim Solomin <vadic052@gmail.com>
62812010-07-20 Colin Watson <cjwatson@ubuntu.com>
6282
6283 Generate device.map in something closer to the old ordering.
6284
6285 * util/deviceiter.c (struct device): New declaration.
6286 (compare_file_names): Rename to ...
6287 (compare_devices): ... this. Sort by kernel name in preference to
6288 the stable by-id name, but keep the latter as a fallback comparison.
6289 Update header comment.
6290 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
6291 of `struct device' rather than of plain file names.
6292
a29d6a4b
TF
62932010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
6294
6295 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
6296 on i386.
6297
39d824e8
VS
62982010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
6299
6300 * commands/acpi.c (setup_common_tables): Use sizeof instead of
6301 hardcoding size.
6302 (setv1table): Likewise.
6303
f058276b
FZ
63042010-07-20 Colin Watson <cjwatson@ubuntu.com>
6305
6306 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
6307 removing the homehost if present.
6308 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
6309 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
6310 removing the homehost if present.
6311 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
6312 if possible.
6313 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
6314
6315 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
6316 parameter. Set its pointer target to 0.
6317 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
6318 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
6319 `data_offset' value from the superblock for 1.x metadata.
6320 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
6321 data on the device.
6322 (insert_array): Record the start sector of data on the device.
6323 (grub_raid_register): Pass start_sector parameters to
6324 grub_raid_list->detect and insert_array.
6325 * include/grub/raid.h (struct grub_raid_array): Add start_sector
6326 member.
6327 (struct grub_raid): Add start_sector parameter to `detect'.
6328
6329 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
6330 __attribute__ ((packed)), leaving a comment.
6331 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
6332 (grub_mdraid_detect_09): ... here and ...
6333 (grub_mdraid_detect_1x): ... here.
6334
63352010-07-20 Peter Henn <peter.henn@web.de>
6336
6337 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
6338 chunk size and disk size, which are already given as sector counts
6339 as distinct from the 0.90 units. Fetch the correct device number
6340 from the role table instead of using the table index.
6341
63422010-07-20 Felix Zielcke <fzielcke@z-51.de>
6343
6344 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
6345 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
6346 (WriteMostly1): New macro.
6347 Set array->name to NULL for metadata format 0.90. Add support for
6348 metadata 1.x. Fix some comments.
6349 * disk/raid.c (): Add support for name based RAID arrays. Fix a
6350 few comments.
6351 * util/getroot.c (grub_util_get_grub_dev): Add support for
6352 /dev/md/name style devices.
6353
4b761da9
CW
63542010-07-20 Colin Watson <cjwatson@ubuntu.com>
6355
6356 * .bzrignore: Ignore 20_linux_xen.
6357
5771289a
CW
63582010-07-17 Colin Watson <cjwatson@ubuntu.com>
6359
6360 * util/import_unicode.py: Remove unnecessary imports.
6361
5dab68df
AN
63622010-07-17 Aleš Nesrsta <starous@volny.cz>
6363
6364 Hotplugging and USB hub support.
6365
6366 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
6367 (grub_ohci): Likewise.
6368 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
6369 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
6370 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
6371 (GRUB_OHCI_CTRL_EDS): Likewise.
6372 (GRUB_OHCI_BULK_EDS): Likewise.
6373 (GRUB_OHCI_TDS): Likewise.
6374 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
6375 (grub_ohci_ed_phys2virt): New function.
6376 (grub_ohci_virt_to_phys): Likewise.
6377 (grub_ohci_td_phys2virt): Likewise.
6378 (grub_ohci_td_virt2phys): Likewise.
6379 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
6380 attachment.
6381 (grub_ohci_find_ed): New function.
6382 (grub_ohci_alloc_td): Likewise.
6383 (grub_ohci_free_td): Likewise.
6384 (grub_ohci_free_tds): Likewise.
6385 (grub_ohci_transfer): Use previously allocated memory.
6386 (grub_ohci_portstatus): Reset status changed bit.
6387 (grub_ohci_detect_dev): Supply status changed.
6388 (grub_ohci_fini_hw): Free memory.
6389 (grub_ohci_restore_hw): Reallocate memory.
6390 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
6391 Reset status change.
6392 (grub_uhci_detect_dev): Supply status_change.
6393 * bus/usb/usb.c (attach_hooks): New var.
6394 (grub_usb_device_attach): New function.
6395 (grub_usb_register_attach_hook_class): Likewise.
6396 (grub_usb_unregister_attach_hook_class): Likewise.
6397 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
6398 (grub_usb_add_hub): Reset connection changed bit.
6399 (attach_root_port): New function.
6400 (grub_usb_root_hub): Likewise.
6401 (poll_nonroot_hub): Likewise.
6402 (grub_usb_poll_devices): Likewise.
6403 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
6404 * disk/usbms.c (grub_usbms_open): Use device hooks.
6405 (grub_usbms_iterate) :Poll devices.
6406 (grub_usbms_finddevs): Split into ...
6407 (grub_usbms_attach): ... this ...
6408 (grub_usbms_attach): ... and this.
6409 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
6410 in detect_dev.
6411 (grub_usb_interface): New fields attached and detach_hook.
6412 (grub_usb_attach_hook_class): New type.
6413 (grub_usb_attach_desc): New struct.
6414 (grub_usb_register_attach_hook_class): New function.
6415 (grub_usb_unregister_attach_hook_class): Likewise.
6416 (grub_usb_poll_devices): Likewise.
6417 (grub_usb_device_attach): Likewise.
6418 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
6419 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
6420
3222efaf
VS
64212010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6422
6423 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
6424 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
6425 delta determination style. Works with most NetBSD partitions too.
6426
139b714a
VS
64272010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6428
6429 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
6430 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
6431
986aad56
VS
64322010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
6433
6434 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
6435
99be513c
AB
64362010-07-14 Anton Blanchard <anton@samba.org>
6437
6438 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
6439 ET_DYN files.
6440
18075f62
GS
64412010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6442
6443 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
6444
8d9a5b15
GS
64452010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
6446
6447 * kern/partition.c (grub_partition_check_containment): New function to
6448 check that a partition is physically contained in a parent. Since
6449 offsets are relative (and non-negative), this reduces to checking that
6450 the partition ends before its parent.
6451 (grub_partition_map_probe): Discard out-of-range sub-partitions.
6452 (grub_partition_iterate): Likewise.
6453 * include/grub/partition.h (grub_partition_map): Slightly more detailed
6454 comments.
6455 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
6456 partitions that start before their parent, and add debug printfs.
6457
19563c25
CW
64582010-07-13 Colin Watson <cjwatson@ubuntu.com>
6459
6460 * Makefile.in (.SUFFIX): Spell correctly, as ...
6461 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
6462 bare module name without `.mod', e.g. `test') tried to invoke a
6463 Modula-2 compiler.
6464
1a1f1e67
CW
64652010-07-13 Colin Watson <cjwatson@ubuntu.com>
6466
6467 * README: Point to the Info manual.
6468
811b0dca
JS
64692010-07-13 Jiro SEKIBA <jir@unicus.jp>
6470
6471 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
6472 2nd superblock position from partition size.
6473
e4f4eafc
CW
64742010-07-10 Colin Watson <cjwatson@ubuntu.com>
6475
6476 * Makefile.in (MAINTAINER_CLEANFILES): Remove
6477 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
6478 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
6479 outputs.
6480
4274c30f
VS
64812010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6482
6483 Restructure SCSI .id handling.
6484 Reported and tested by: Aleš Nesrsta.
6485
6486 * disk/ata.c (grub_atapi_close): Removed. All users updated.
6487 (grub_atapi_dev): Changed .name to "ata". New field .id.
6488 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
6489 (grub_usbms_dev): New field .id.
6490 * disk/scsi.c (grub_scsi_iterate): Generate name.
6491 (grub_scsi_open): Parse name.
6492 * include/grub/scsi.h (grub_make_scsi_id): New function.
6493 (grub_scsi_dev): Change iterate and open to number instead of naming
6494 busses. All users updated.
6495 (grub_scsi): Remove name. Add .bus.
6496
5bc24388
VS
64972010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6498
6499 * commands/help.c (grub_cmd_help): Fix a typo.
6500
249975ba
VS
65012010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
6504 Reported and tested by: Colin Watson.
6505
3eaac1a1
VS
65062010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
6507
6508 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
6509 in this context.
6510
becce1b1
VS
65112010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
6512
6513 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
6514
f7bf0918
CW
65152010-07-07 Colin Watson <cjwatson@ubuntu.com>
6516
6517 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
6518 indentation.
6519
0b0f9620
CW
65202010-07-06 Colin Watson <cjwatson@ubuntu.com>
6521
6522 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
6523 and disk/raid6_recover.c.
6524 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
6525 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
6526
1e545469
CW
65272010-07-06 Colin Watson <cjwatson@ubuntu.com>
6528
6529 * term/gfxterm.c (repaint_schedulded): Rename to ...
6530 (repaint_scheduled): ... this. Update all callers.
6531 (repaint_was_schedulded): Rename to ...
6532 (repaint_was_scheduled): ... this. Update all callers.
6533
5357687a
CW
65342010-07-06 Colin Watson <cjwatson@ubuntu.com>
6535
6536 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
6537 which we expect to be handled by upper layers.
6538
29d7e783
BC
65392010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
6540
6541 * bus/usb/usbhub.c: #include time.h header.
6542
37582066
CW
65432010-07-06 Colin Watson <cjwatson@ubuntu.com>
6544
6545 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
6546 entry_name also for entries without stat blocks (e.g. ".."); fixes
6547 corruption of the first entry in a directory.
6548
c8c06953
CW
65492010-07-06 Colin Watson <cjwatson@ubuntu.com>
6550
6551 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
6552 after setting gfxterm as the active terminal. GRUB_BACKGROUND
6553 doesn't work otherwise.
6554
e75056f1
CW
65552010-07-05 Colin Watson <cjwatson@ubuntu.com>
6556
6557 * docs/grub.texi (Features): Update list of supported file systems.
6558 (GNU/Linux): Update for GRUB 2.
6559 (Serial terminal): Remove mention of --disable-serial, which was a
6560 GRUB Legacy configure option. Update instructions to use
6561 `terminal_input' and `terminal_output' rather than `terminal'.
6562 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
6563 configuration' and `Installing GRUB using grub-install'.
6564 (Menu entry editor): Update for GRUB 2.
6565 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
6566 Document new -a, -u, and -v options.
6567 (initrd): New section.
6568 (initrd16): New section.
6569 (linux): New section.
6570 (linux16): New section.
6571 (search): The `var' argument to `--set' is optional.
6572 (GRUB only offers a rescue shell): Go into a little more detail on
6573 drive ordering.
6574
5cf69151
CW
65752010-07-05 Colin Watson <cjwatson@ubuntu.com>
6576
6577 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
6578
e3f90044
CW
65792010-07-05 Colin Watson <cjwatson@ubuntu.com>
6580
6581 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
6582 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
6583
38d8f4f3
CW
65842010-07-05 Colin Watson <cjwatson@ubuntu.com>
6585
6586 * util/i386/pc/grub-setup.c (setup): Rename prefix to
6587 install_prefix, in line with install_dos_part and install_bsd_part.
6588 Add new prefix variable, which is copied to install_prefix after
6589 comparing core.img in memory with the one read from disk in the
6590 no-embedding case, and use that rather than overwriting
6591 install_prefix immediately when installing to a partition.
6592 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
6593 Bicakci.
6594
57ebd41e
GS
65952010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
6596
6597 * configure.ac: Avoid == in test command, it's not portable.
6598 * util/grub.d/30_os-prober.in: Likewise.
6599
cb7f64b2
CW
66002010-07-04 Colin Watson <cjwatson@ubuntu.com>
6601
6602 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
6603
6b654bb0
GS
66042010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
6605
6606 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
6607 multiple (top-level) partmaps.
6608
72a2026d
VS
66092010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6610
6611 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 6612 Reported by: Tino Keitel.
72a2026d 6613
df3eb88f
VS
66142010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6615
6616 Bidi and diacritics support.
6617
6618 * Makefile.in (widthspec.bin): New target.
6619 (widthspec.h): Likewise.
6620 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
6621 * autogen.sh: Generate unidata.c.
6622 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
6623 * commands/ls.c (grub_ls_list_devices): Likewise.
6624 (grub_ls_list_files): Likewise.
6625 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
6626 (grub_mini_cmd_lsmod): Likewise.
6627 * commands/read.c: Likewise.
6628 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
6629 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
6630 * lib/arg.c (grub_arg_show_help): Likewise.
6631 * lib/crypto.c (grub_password_get): Likewise.
6632 * normal/auth.c (grub_username_get): Likewise.
6633 * normal/misc.c (grub_normal_print_device_info): Likewise.
6634 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
6635 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
6636 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
6637 (normal/charset.c_DEPENDENCIES): New variable.
6638 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
6639 (pkglib_MODULES): Remove charset.mod.
6640 (charset_mod_SOURCES): Removed.
6641 (charset_mod_CFLAGS): Likewise.
6642 (charset_mod_LDFLAGS): Likewise.
6643 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
6644 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
6645 and term/tparm.c.
6646 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6647 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
6648 (kernel_img_HEADERS): Add terminfo.h.
6649 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
6650 Fill ->font. Reverse ascii bitmaps.
6651 (grub_font_get_xheight): New function.
6652 * font/font.c (grub_font_get_string_width): Moved from here ...
6653 * gfxmenu/font.c (grub_font_get_string_width): ... here.
6654 * font/font.c (grub_font_draw_string): Moved from here ...
6655 * gfxmenu/font.c (grub_font_draw_string): ... here.
6656 * font/font.c (grub_font_dup_glyph): New function.
6657 (grub_font_blit_glyph): Likewise.
6658 (grub_font_blit_glyph_mirror): Likewise.
6659 (blit_comb): Likewise.
6660 (grub_font_construct_dry_run): Likewise.
6661 (grub_font_get_constructed_device_width): Likewise.
6662 (grub_font_construct_glyph): Likewise.
6663 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
6664 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
6665 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
6666 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
6667 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
6668 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
6669 (grub_font_get_xheight): New proto.
6670 (grub_font_get_constructed_device_width): Likewise.
6671 (grub_font_construct_glyph): Likewise.
6672 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
6673 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
6674 * include/grub/font.h (grub_font_draw_string): Moved from here ...
6675 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
6676 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
6677 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
6678 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
6679 (grub_console_getcharwidth): Likewise.
6680 * include/grub/misc.h (grub_xputs): New proto.
6681 (grub_puts): Inlined.
6682 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
6683 (grub_normal_get_line_counter): Removed.
6684 (grub_install_newline_hook): Likewise.
6685 (grub_normal_get_char_counter): New proto.
6686 (grub_normal_reset_more): Likewise.
6687 (grub_xputs_normal): Likewise.
6688 * include/grub/powerpc/ieee1275/console.h: Removed.
6689 * include/grub/sparc64/ieee1275/console.h: Likewise.
6690 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
6691 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
6692 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
6693 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
6694 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
6695 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
6696 (grub_term_input): Pass reference to self. All users updated.
6697 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
6698 Pass reference to self. New fields normal_color, highlight_color and
6699 data. All users updated.
6700 (grub_putchar): Removed.
6701 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
6702 (grub_unicode_estimate_width): New function.
6703 (grub_term_getcharwidth): Add defaults.
6704 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
6705 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
6706 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
6707 (grub_cls): Remove EXPORT_FUNC.
6708 (grub_setcolorstate): Inline.
6709 (grub_newline_hook): Removed.
6710 * include/grub/terminfo.h: Rewritten. All users updated.
6711 * include/grub/unicode.h: New file.
6712 * include/grub/video.h (grub_video_signed_rect): New type.
6713 * kern/emu/console.c (grub_console_highlight_color): Removed.
6714 (grub_console_normal_color): Likewise.
6715 (grub_console_standard_color): Made static.
6716 (grub_ncurses_putchar): Remove mapping.
6717 (grub_ncurses_getcharwidth): Removed.
6718 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
6719 (grub_ncurses_setcolor): Removed.
6720 (grub_ncurses_getcolor): Likewise.
6721 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
6722 (grub_console_putchar): ... this.
6723 (grub_console_putchar): Handle argument difference.
6724 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
6725 console_init_early and console_init_lately.
6726 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
6727 * kern/misc.c (grub_puts): Removed.
6728 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
6729 (grub_vsnprintf_real): Remove str = NULL support.
6730 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
6731 * normal/charset.c (grub_utf8_to_ucs4): ... here.
6732 * kern/term.c (grub_putcode): Renamed to ...
6733 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
6734 (grub_putchar): Removed.
6735 (grub_xputs_dumb): New function.
6736 (grub_xputs): New variable.
6737 * lib/charset.c: Move from here ...
6738 * normal/charset.c: ... to here.
6739 (grub_ucs4_to_utf8): New function.
6740 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
6741 (join_types): New variable.
6742 (unpack_join): New function.
6743 (bidi_types): New variable.
6744 (unpack_bidi): New function.
6745 (get_bidi_type): Likewise.
6746 (get_join_type): Likewise.
6747 (is_mirrored): Likewise.
6748 (grub_unicode_get_comb_type): Likewise.
6749 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
6750 (is_type_after): Likewise.
6751 (grub_unicode_aglomerate_comb): Likewise.
6752 (bidi_line_wrap): Likewise.
6753 (grub_bidi_line_logical_to_visual): Likewise.
6754 (grub_bidi_logical_to_visual): Likewise.
6755 (grub_unicode_mirror_code): Likewise.
6756 (grub_unicode_shape_code): Likewise.
6757 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
6758 Don't use grub_putchar.
6759 * normal/main.c (grub_normal_init_page): Use grub_putcode.
6760 (grub_normal_reader_init): Likewise.
6761 (grub_xputs_saved): New variable.
6762 (GRUB_MOD_INIT): Set grub_xputs.
6763 (GRUB_MOD_FINI): Restore grub_xputs.
6764 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
6765 (menu_init): Avoid printing gfxmenu error.
6766 (show_menu): Use grub_normal_get_char_counter.
6767 * normal/menu_entry.c (update_screen): Fix out-of-array.
6768 (complete): Avoid NULL dereferencing.
6769 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
6770 * normal/menu_text.c (print_spaces): Removed.
6771 (grub_print_ucs4): Likewise.
6772 (grub_print_message_indented): Use grub_print_ucs4.
6773 (print_message): Use grub_putcode.
6774 (print_entry): Hanlde diacritics.
6775 * normal/term.c (term_state): New type.
6776 (grub_more_lines): Removed.
6777 (term_states): New variable.
6778 (grub_normal_line_counter): Renamed to ..
6779 (grub_normal_char_counter): ...this. All users updated.
6780 (grub_normal_get_line_counter): Renamed to ...
6781 (grub_normal_get_char_counter): ... this.
6782 (grub_normal_reset_more): New function.
6783 (process_newline): Removed.
6784 (print_more): New function.
6785 (grub_install_newline_hook): Removed.
6786 (map_code): New function.
6787 (grub_puts_terminal): Use grub_print_ucs4.
6788 (putglyph): New function.
6789 (putcode_real): Likewise.
6790 (grub_putcode): Use putcode_real.
6791 (get_maxwidth): New function.
6792 (get_startwidth): Likewise.
6793 (print_ucs4_terminal): Likewise.
6794 (find_term_state): Likewise.
6795 (put_glyphs_terminal): Likewise.
6796 (print_backlog): Likewise.
6797 (print_ucs4_real): Likewise.
6798 (grub_print_ucs4): Likewise.
6799 (grub_xputs_normal): Likewise.
6800 * term/efi/console.c (grub_console_putchar): Output diacritics.
6801 (grub_console_getcharwidth): Removed.
6802 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
6803 * term/gfxterm.c (clear_char): Free chars.
6804 (scroll_up): Avoid leaking memory.
6805 (grub_gfxterm_putchar): Support diacritics.
6806 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
6807 * term/i386/pc/console.c (grub_console_term_output): Declare as
6808 GRUB_TERM_CODE_TYPE_VGA.
6809 * term/i386/pc/vga.c (grub_vga_term): Declare as
6810 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
6811 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
6812 GRUB_TERM_CODE_TYPE_VGA.
6813 * term/i386/vga_common.c (map_char): Removed.
6814 (grub_console_putchar): Likewise.
6815 (grub_console_getcharwidth): Likewise.
6816 * term/ieee1275/ofconsole.c: Simplify using terminfo.
6817 (colors): Reordered to match terminfo.
6818 (grub_ofconsole_normal_color): Removed.
6819 (grub_ofconsole_writeesc): Likewise.
6820 (grub_ofconsole_highlight_color): Likewise.
6821 (grub_ofconsole_getcharwidth): Likewise.
6822 (grub_ofconsole_setcolorstate): Likewise.
6823 (grub_ofconsole_setcolor): Likewise.
6824 (grub_ofconsole_getcolor): Likewise.
6825 (grub_ofconsole_readkey): Renamed to ...
6826 (readkey): ... this. Remove escape sequence handling. Return -1 on no
6827 key.
6828 (grub_ofconsole_checkkey): Removed.
6829 (grub_ofconsole_getkey): Likewise.
6830 (grub_ofconsole_getxy): Likewise.
6831 (grub_ofconsole_gotoxy): Likewise.
6832 (grub_ofconsole_cls): Likewise.
6833 (grub_ofconsole_refresh): Likewise.
6834 (grub_ofconsole_terminfo_input): New struct.
6835 (grub_ofconsole_terminfo_output): Likewise.
6836 (grub_ofconsole_term_input): Use terminfo.
6837 (grub_ofconsole_term_output): Likewise.
6838 (grub_console_init): Split into ...
6839 (grub_console_init_early): ...this and ...
6840 (grub_console_init_lately): ...this. Use terminfo.
6841 (grub_ofconsole_putchar): Renamed to ...
6842 (put): ... this. Remove mapping.
6843 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
6844 * term/serial.c: Simplify using terminfo.
6845 (xpos): Removed.
6846 (ypos): Likewise.
6847 (keep_track): Likewise.
6848 (registered): Likewise.
6849 (input_buf): Likewise.
6850 (npending): Likewise.
6851 (serial_translate_key_sequence): Likewise.
6852 (fill_input_buf): Likewise.
6853 (grub_serial_checkkey): Likewise.
6854 (grub_serial_getkey): Likewise.
6855 (grub_serial_getxy): Likewise.
6856 (grub_serial_gotoxy): Likewise.
6857 (grub_serial_putchar): Likewise.
6858 (grub_serial_cls): Likewise.
6859 (grub_serial_setcolorstate): Likewise.
6860 (grub_serial_setcursor): Likewise.
6861 (serial_hw_init): Use serial_hw_fetch.
6862 (grub_serial_terminfo_input): New variable.
6863 (grub_serial_terminfo_output): Likewise.
6864 (grub_serial_term_input): Use terminfo.
6865 (grub_serial_term_output): Likewise.
6866 * term/terminfo.c (putstr): Use put.
6867 (grub_terminfo_all_free): New function
6868 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
6869 (grub_terminfo_output_register): New function.
6870 (grub_terminfo_output_unregister): Likewise.
6871 (grub_terminfo_getxy): Likewise.
6872 (grub_terminfo_readkey): Likewise.
6873 (grub_terminfo_checkkey): Likewise.
6874 (grub_terminfo_getkey): Likewise.
6875 (grub_terminfo_input_init): Likewise.
6876 (print_terminfo): Likewise.
6877 (grub_cmd_terminfo): Handle encoding.
6878 (grub_terminfo_gotoxy): Track position.
6879 (grub_terminfo_cls): Likewise.
6880 (grub_terminfo_putchar): Likewise.
6881 (grub_terminfo_setcolorstate): Handle colors
6882 (grub_terminfo_cursor_on): This ...
6883 (grub_terminfo_cursor_off): ... and this merged into ...
6884 (grub_terminfo_setcursor): ... this.
6885 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
6886 * unicode/ArabicShaping.txt: New file (imported from Unicode).
6887 * unicode/BidiMirroring.txt: Likewise.
6888 * unicode/UnicodeData.txt: Likewise.
6889 * unicode/COPYING: Likewise.
6890 * util/grub-editenv.c (grub_putchar): Removed.
6891 (grub_xputs_real): New function.
6892 (grub_xputs): New variable.
6893 * util/grub-fstest.c (grub_putchar): Removed.
6894 (grub_xputs_real): New function.
6895 (grub_xputs): New variable.
6896 * util/grub-mkdevicemap.c (grub_putchar): Removed.
6897 (grub_xputs_real): New function.
6898 (grub_xputs): New variable.
6899 * util/grub-probe.c (grub_putchar): Removed.
6900 (grub_xputs_real): New function.
6901 (grub_xputs): New variable.
6902 * util/grub-script-check.c (grub_putchar): Removed.
6903 (grub_xputs_real): New function.
6904 (grub_xputs): New variable.
6905 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
6906 (grub_xputs_real): New function.
6907 (grub_xputs): New variable.
6908 * util/import_unicode.py: New file.
6909 * util/grub-mkfont.c (ft_errmsgs): New array.
6910 (grub_glyph_info): Make bitmap a pointer.
6911 (file_formats): New type WIDTH_SPEC.
6912 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
6913 (options): Add width-spec.
6914 (help): Likewise.
6915 (add_char): Renamed to ...
6916 (add_glyph): ... this.
6917 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
6918 (glyph_replace): New type.
6919 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
6920 (add_char): New function.
6921 (add_subst): Likewise.
6922 (process_cursive): Likewise.
6923 (add_font): Handle GSUB.
6924 (write_font_width_spec): New function.
6925 (main): Sort glyphs.
6926 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
6927 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
6928 * kern/term.c (grub_cls): Moved from here...
6929 * normal/term.c (grub_cls): ... here.
6930
50f0bcda
CW
69312010-07-02 Colin Watson <cjwatson@ubuntu.com>
6932
6933 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
6934 suitable for using within the format argument of printf when
6935 converting grub_size_t.
6936 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
6937 "x" to convert grub_size_t arguments.
6938
40372103
VS
69392010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6940
6941 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
6942 too long captions.
6943 (list_get_minimal_size): Take selection box into account.
6944
942a10c7
VS
69452010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6946
6947 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
6948 NULL font.
6949
2bdb2892
CW
69502010-07-02 Colin Watson <cjwatson@ubuntu.com>
6951
6952 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
6953 devices when iterating over /dev/disk/by-id; they will be handled
6954 later if appropriate, which they aren't always (e.g. LVM).
6955
e03ed6c1
CW
69562010-07-02 Colin Watson <cjwatson@ubuntu.com>
6957
6958 * include/grub/misc.h (grub_reboot): Declare as noreturn.
6959 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
6960 fails.
6961 (grub_halt): Likewise.
6962 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
6963 reset-all fails.
6964 (grub_halt): Don't return, even if all of shut-down, power-off, and
6965 poweroff fail.
6966
47695765
CW
69672010-07-02 Colin Watson <cjwatson@ubuntu.com>
6968
6969 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
6970 arguments, not three.
6971
507736c8
CW
69722010-07-02 Colin Watson <cjwatson@ubuntu.com>
6973
6974 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
6975 * util/grub.d/10_linux.in: Use it to check for LVM, so that
6976 LVM-on-RAID is handled correctly.
6977
e3c8cd37
CW
69782010-07-02 Colin Watson <cjwatson@ubuntu.com>
6979
6980 * docs/grub.texi (Changes from GRUB Legacy): New section.
6981 (Future): Fix typo.
6982
8d4a2fec
CW
69832010-07-02 Colin Watson <cjwatson@ubuntu.com>
6984
6985 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
6986 grub.d/README accidentally ends up executable for one reason or
6987 another. Ignore it.
6988
1c4827be
VS
69892010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6990
6991 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
6992 (gpt_partition_map_iterate): Support non-512B sectors.
6993
d9a0c941
VS
69942010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
6995
6996 * kern/efi/init.c (grub_efi_init): Disable watchdog.
6997 Tested by: Seth Goldberg.
6998
48f27e87
VS
69992010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
7000
7001 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
7002 Properly align mbi.
7003 Reported by: Seth Goldberg.
7004
b0c4f956
VS
70052010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
7006
7007 * util/grub-mkrescue.in: Avoid module duplication.
7008
105a2e8c
SF
70092010-07-01 Sean Finney <seanius@seanius.net>
7010
7011 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
7012
5944958c
SF
70132010-07-01 Sean Finney <seanius@seanius.net>
7014
7015 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
7016
70172010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
7018
7019 * disk/lvm.c (grub_lvm_checkvalue): New function.
7020 (grub_lvm_check_flag): Likewise.
7021
b79889ba
RM
70222010-07-01 Robert Millan <rmh@gnu.org>
7023
7024 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
7025 Support 'p' as partition separator on kernel of FreeBSD (used
7026 with GPT labels).
7027 (grub_util_biosdisk_get_grub_dev): Likewise.
7028
ec1d04f1
VS
70292010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
7030
7031 Yeeloong firmware port.
7032
7033 * boot/mips/yeeloong/fwstart.S: New file.
7034 * bus/cs5536.c (gpiodump): New const.
7035 (set_io_space): New function.
7036 (set_iod): Likewise.
7037 (set_p2d): Likewise.
7038 (grub_cs5536_init_geode): Likewise.
7039 * commands/mips/yeeloong/lsspd.c: New file.
7040 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
7041 (serial_mod_SOURCES): New variable.
7042 (serial_mod_CFLAGS): Likewise.
7043 (serial_mod_LDFLAGS): Likewise.
7044 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
7045 term/terminfo.c and term/tparm.c.
7046 (pkglib_IMAGES): Add fwstart.img.
7047 (fwstart_img_SOURCES): New variable.
7048 (fwstart_img_CFLAGS): Likewise.
7049 (fwstart_img_ASFLAGS): Likewise.
7050 (fwstart_img_LDFLAGS): Likewise.
7051 (fwstart_img_FORMAT): Likewise.
7052 (pkglib_MODULES): Add lsspd.mod.
7053 (lsspd_mod_SOURCES): New variable.
7054 (lsspd_mod_CFLAGS): Likewise.
7055 (lsspd_mod_LDFLAGS): Likewise.
7056 (pkglib_MODULES): Add halt.mod.
7057 (halt_mod_SOURCES): New variable.
7058 (halt_mod_CFLAGS): Likewise.
7059 (halt_mod_LDFLAGS): Likewise.
7060 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
7061 (serial_mod_SOURCES): Removed.
7062 (serial_mod_CFLAGS): Likewise.
7063 (serial_mod_LDFLAGS): Likewise.
7064 * disk/ata.c (check_device): New function.
7065 (grub_ata_device_initialize): Use check_device.
7066 (grub_ata_iterate): Recheck devices.
7067 (grub_ata_open): Likewise.
7068 (grub_atapi_iterate): Likewise.
7069 (grub_atapi_open): Likewise.
7070 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
7071 (GRUB_ATA_CH1_PORT1): Likewise.
7072 (GRUB_ATA_CH0_PORT2): Likewise.
7073 (GRUB_ATA_CH1_PORT2): Likewise.
7074 * include/grub/mips/loongson.h: New file.
7075 * include/grub/mips/yeeloong/ec.h: Likewise.
7076 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
7077 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
7078 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
7079 * include/grub/misc.h (grub_halt): Declare as noreturn.
7080 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
7081 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
7082 (UART_ENABLE_FIFO_TRIGGER1): New definition.
7083 (UART_ENABLE_DTRRTS): Likewise.
7084 (UART_ENABLE_MODEM): Removed.
7085 (UART_ENABLE_OUT2): New const.
7086 * include/grub/term.h (grub_term_register_input_active): New function.
7087 (grub_term_register_output_active): Likewise.
7088 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
7089 argument.
7090 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
7091 (init_pci): New function.
7092 (grub_machine_init): Execute platform init when firmware. Init serial.
7093 (grub_halt): Implement.
7094 (grub_exit): Likewise.
7095 (grub_reboot): Likewise.
7096 * term/serial.c (serial_hw_init): Update macros.
7097 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
7098 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
7099 (image_targets): New target mipsel-yeeloong-flash.
7100 (generate_image): Support IMAGE_YEELOONG_FLASH.
7101 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
7102 (grub_video_sm712_setup): Init card.
7103 (grub_video_sm712_set_palette): Removed.
7104 * video/sm712_init.c: New file.
7105
ff4a70d2
CW
71062010-06-30 Colin Watson <cjwatson@ubuntu.com>
7107
7108 * Makefile.in (install-local): Temporarily prepend $(builddir) to
7109 PATH when running help2man and then run it on the unadorned
7110 executable names, rather than passing $(builddir)/* paths to
7111 help2man. This avoids the build directory ending up in generated
7112 manual pages.
7113
1246efeb
CW
71142010-06-29 Colin Watson <cjwatson@ubuntu.com>
7115
7116 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
7117 to avoid accidents when debugging with 'sh -x'.
7118 * util/grub-mkrescue.in: Likewise.
7119 * util/grub.d/00_header.in: Likewise.
7120 * util/grub.d/10_hurd.in: Likewise.
7121 * util/grub.d/10_kfreebsd.in: Likewise.
7122 * util/grub.d/10_linux.in: Likewise.
7123 * util/grub.d/10_netbsd.in: Likewise.
7124 * util/grub.d/10_windows.in: Likewise.
7125 * util/grub.d/20_linux_xen.in: Likewise.
7126 * util/grub.d/30_os-prober.in: Likewise.
7127 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7128
1ba9b889
CW
71292010-06-29 Colin Watson <cjwatson@ubuntu.com>
7130
7131 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
7132 last character in the buffer.
7133 Reported by: Vladimir Serbinenko.
7134
dccaf99d
RM
71352010-06-29 Robert Millan <rmh@gnu.org>
7136
7137 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
7138 (Command-line and menu entry commands): Document `badram' command.
7139
d500ed12
RM
71402010-06-28 Robert Millan <rmh@gnu.org>
7141
7142 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
7143 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
7144 command using ${GRUB_BADRAM} as parameter.
7145
20bc84a6
CW
71462010-06-28 Colin Watson <cjwatson@ubuntu.com>
7147
7148 * docs/grub.texi (Device map): New section.
7149 (Themes): New section (stub).
7150 * Makefile.in (docs/grub.info): The info documentation now builds
7151 without errors. Make sure it stays that way.
7152
4045dee1
VS
71532010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7154
7155 Use normal parser for menu entries.
7156 Reported by: Thomas Frauendorfer
7157
7158 * include/grub/parser.h (grub_parser_execute): Don't export.
7159 * normal/menu.c (grub_menu_execute_entry_real): New function.
7160 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
7161
bca58c7b
CW
71622010-06-28 Colin Watson <cjwatson@ubuntu.com>
7163
7164 * docs/grub.texi (Embedded configuration): New section (replacing
7165 old "Preset Menu" stub).
7166 (Images): New section.
7167 (configfile): Note that any menu entries defined in `file' are shown
7168 immediately.
7169
dec53e63
JT
71702010-06-28 Josh Triplett <josh@joshtriplett.org>
7171
7172 * mmap/i386/pc/mmap_helper.S: Set CF on return.
7173
c06e40f7
CW
71742010-06-28 Colin Watson <cjwatson@ubuntu.com>
7175
7176 * util/grub-install.in: Add --debug-image= option.
7177
cb88052b
CW
71782010-06-28 Colin Watson <cjwatson@ubuntu.com>
7179
7180 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
7181 possible on Linux.
7182
7183 * util/deviceiter.c (check_device): Rename to ...
7184 (check_device_readable_unique): ... this. Update all callers.
7185 Maintain and check a list of which devices (by canonicalized name)
7186 have already been seen.
7187 (clear_seen_devices): New function.
7188 (compare_file_names) [__linux__]: New function.
7189 (grub_util_iterate_devices): Clear the list of seen devices on exit
7190 and (just in case) on entry.
7191 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
7192 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
7193 seen-devices list, superseded by general code in check_device.
7194
bbe34652
CW
71952010-06-28 Colin Watson <cjwatson@ubuntu.com>
7196
7197 * commands/cat.c (options): New variable.
7198 (grub_cmd_cat): Parse options. If the --dos option is given, print
7199 DOS-style "\r\n" line endings as simple newlines (Debian bug
7200 #586358).
7201 (GRUB_MOD_INIT): Use extcmd.
7202 (GRUB_MOD_FINI): Likewise.
7203 * docs/grub.texi (cat): Document --dos.
7204
412e09f3
VS
72052010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
7206
7207 XEN with Linux grub-mkconfig support.
7208
7209 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
7210 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
7211 GRUB_CMDLINE_XEN_DEFAULT.
7212 * util/grub.d/20_linux_xen.in: New file.
7213
53f3ef38 72142010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
7215
7216 Initialise VGA video on qemu ourselves.
7217
7218 * boot/i386/qemu/boot.S: Don't call 0xc000.
7219 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
7220 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
7221 (kernel_img_HEADERS): Add pci.h.
7222 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
7223 * configure.ac: Force unifont on qemu and yeeloong.
7224 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
7225 (grub_vga_palette_write): Use correct register.
7226 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
7227 Call grub_qemu_init_cirrus.
7228 * kern/i386/qemu/init.c: New file.
7229 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
7230
7231 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
7232
c75be4fb
PR
72332010-06-26 Pavel Roskin <proski@gnu.org>
7234
7235 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
7236 13.
7237
d8034603
CW
72382010-06-26 Colin Watson <cjwatson@ubuntu.com>
7239
7240 * docs/grub.texi (Simple configuration): Explain that
7241 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
7242 set to `true' to disable their respective recovery entries, not
7243 merely set.
7244
3fa06487
CW
72452010-06-26 Colin Watson <cjwatson@ubuntu.com>
7246
7247 Make the `source' command slightly faster.
7248
7249 * normal/main.c (grub_normal_execute): Don't re-read list files when
7250 nested.
7251
e9b29642
CW
72522010-06-23 Colin Watson <cjwatson@ubuntu.com>
7253
7254 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
7255 field position and mask size to red fields from mode_info, not
7256 green.
7257 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
7258 Remove redundant tag->common.framebuffer_type assignment.
7259 Reported by: Seth Goldberg.
7260
e726542f
CW
72612010-06-23 Colin Watson <cjwatson@ubuntu.com>
7262
7263 Sync up other versions of the Linux loader with Robert Millan's
7264 change of 2010-01-09, "Make loader output a bit more user-friendly".
7265
7266 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
7267 grub_dprintf().
7268 (grub_cmd_linux): Likewise.
7269 (grub_cmd_initrd): Likewise.
7270 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
7271 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7272
d6e98a17
CW
72732010-06-21 Colin Watson <cjwatson@ubuntu.com>
7274
7275 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
7276 larger than MEMORY_MAP_SIZE.
7277
14d3f08e
BC
72782010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
7279
7280 Fix parallel build.
7281
7282 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
7283 dependency.
7284 * script/parser.y: #include grub_script.tab.h header.
7285
4f9613a3
VS
72862010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7287
7288 Support >3GiB and <16MiB RAM in i386-qemu.
7289
7290 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
7291 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
7292 (grub_lower_mem): Removed.
7293 (grub_upper_mem): Likewise.
7294 (mem_size): Made static.
7295 (above_4g): New variable.
7296 (grub_machine_mmap_init): Detect small mem_size and above_4g.
7297 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
7298 support.
7299
05e51879
VS
73002010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7301
7302 Cirrus 5446 and Bochs video cards support.
7303
7304 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
7305 video_bochs.mod
7306 (video_cirrus_mod_SOURCES): New variable.
7307 (video_cirrus_mod_CFLAGS): Likewise.
7308 (video_cirrus_mod_LDFLAGS): Likewise.
7309 (video_bochs_mod_SOURCES): Likewise.
7310 (video_bochs_mod_CFLAGS): Likewise.
7311 (video_bochs_mod_LDFLAGS): Likewise.
7312 * include/grub/vga.h: New file.
7313 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
7314 (grub_video_fb_set_page_t): New type.
7315 (grub_video_fb_setup): New prototype.
7316 (grub_video_fb_swap_buffers): Likewise.
7317 (grub_video_fb_get_info_and_fini): Likewise.
7318 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
7319 (CRTC_DATA_PORT): Likewise.
7320 (CRTC_CURSOR): Likewise.
7321 (CRTC_CURSOR_ADDR_HIGH): Likewise.
7322 (CRTC_CURSOR_ADDR_LOW): Likewise.
7323 (CRTC_CURSOR_DISABLE): Likewise.
7324 (update_cursor): Use grub_vga_cr_write.
7325 (grub_vga_text_setcursor): Likewise.
7326 * video/bochs.c: New file.
7327 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
7328 (palette): Likewise.
7329 (palette_size): Likewise.
7330 (framebuffer): New variable.
7331 (grub_video_fb_init): Use 'framebuffer'.
7332 (grub_video_fb_fini): Likewise.
7333 (grub_video_fb_get_info): Likewise.
7334 (grub_video_fb_get_palette): Likewise.
7335 (grub_video_fb_set_palette): Likewise.
7336 (grub_video_fb_set_viewport): Likewise.
7337 (grub_video_fb_get_viewport): Likewise.
7338 (grub_video_fb_map_color): Likewise.
7339 (grub_video_fb_map_rgb): Likewise.
7340 (grub_video_fb_map_rgba): Likewise.
7341 (grub_video_fb_unmap_color): Likewise.
7342 (grub_video_fb_unmap_color_int): Likewise.
7343 (grub_video_fb_fill_rect): Likewise.
7344 (grub_video_fb_blit_bitmap): Likewise.
7345 (grub_video_fb_blit_render_target): Likewise.
7346 (grub_video_fb_scroll): Likewise.
7347 (grub_video_fb_create_render_target): Likewise.
7348 (grub_video_fb_doublebuf_blit_init): Likewise.
7349 (grub_video_fb_set_active_render_target): Handle doublebuffering.
7350 (doublebuf_pageflipping_update_screen): New function.
7351 (doublebuf_pageflipping_init): Likewise.
7352 (grub_video_fb_setup): Likewise.
7353 (grub_video_fb_swap_buffers): Likewise.
7354 (grub_video_fb_get_info_and_fini): Likewise.
7355 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
7356 All users updated.
7357 (doublebuf_pageflipping_commit): Restructured into ...
7358 (doublebuf_pageflipping_set_page): ... this.
7359 (doublebuf_pageflipping_update_screen): Removed.
7360 (doublebuf_pageflipping_init): Likewise.
7361 (double_buffering_init): Likewise.
7362 (grub_video_vbe_setup): Use grub_video_fb_setup.
7363 (grub_video_vbe_swap_buffers): Removed.
7364 (grub_video_vbe_set_active_render_target): Likewise.
7365 (grub_video_vbe_get_active_render_target): Likewise.
7366 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
7367 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
7368 grub_video_fb_set_active_render_target and
7369 grub_video_fb_get_active_render_target.
7370 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
7371 (SEQUENCER_DATA_PORT): Likewise.
7372 (MAP_MASK_REGISTER): Likewise.
7373 (CRTC_ADDR_PORT): Likewise.
7374 (CRTC_DATA_PORT): Likewise.
7375 (START_ADDR_HIGH_REGISTER): Likewise.
7376 (START_ADDR_LOW_REGISTER): Likewise.
7377 (GRAPHICS_ADDR_PORT): Likewise.
7378 (GRAPHICS_DATA_PORT): Likewise.
7379 (READ_MAP_REGISTER): Likewise.
7380 (INPUT_STATUS1_REGISTER): Likewise.
7381 (INPUT_STATUS1_VERTR_BIT): Likewise.
7382 (get_map_mask): Use grub_vga_sr_read.
7383 (set_map_mask): Use grub_vga_sr_write.
7384 (set_read_map): Use grub_vga_gr_write.
7385 (set_start_address): Use grub_vga_cr_write.
7386 * video/sm712.c (framebuffer): Remove leftover fields.
7387
4321c64a
CW
73882010-06-20 Colin Watson <cjwatson@ubuntu.com>
7389
7390 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
7391 setting GRUB_VIDEO_BACKEND. Make it available as a user override
7392 instead. Replace the gfxterm backend check with a check that
7393 ${GRUB_PREFIX}/video.lst is non-empty.
7394 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
7395 again.
7396 (load_video): New generated function. Call it before loading
7397 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
7398 * util/grub.d/10_linux.in (linux_entry): Call load_video.
7399 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
7400 * docs/grub.texi (Simple configuration): Document
7401 GRUB_VIDEO_BACKEND.
7402
74032010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7404
7405 Use video functions in linux and xnu loaders.
7406
7407 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
7408 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
7409 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
7410 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
7411 loader/i386/pc/linux.c.
7412 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
7413 (find_line_len): Removed.
7414 (find_framebuf): Likewise.
7415 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
7416 * loader/i386/efi/xnu.c: Removed.
7417 * loader/i386/pc/xnu.c: Moved from here...
7418 * loader/i386/xnu.c: ...here.
7419
7420 Enable priorities in video drivers.
7421
7422 * include/grub/video.h (grub_video_adapter_prio_t): New type.
7423 (grub_video_adapter): New field prio.
7424 (grub_video_register): Respect prio when inserting.
7425 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
7426 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
7427 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
7428 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
7429 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
7430 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
7431 * video/sm712.c (grub_video_sm712_adapter): Likewise.
7432
7433 Fix SDL driver ID.
7434
7435 * include/grub/video.h (grub_video_driver_id_t): New value
7436 GRUB_VIDEO_DRIVER_SDL.
7437 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
7438
7d24e434
CW
74392010-06-17 Colin Watson <cjwatson@ubuntu.com>
7440
7441 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
7442 argument to printf.
7443 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7444
c88a83f6
CW
74452010-06-17 Colin Watson <cjwatson@ubuntu.com>
7446
7447 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
7448 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7449
094dfb69
CW
74502010-06-17 Colin Watson <cjwatson@ubuntu.com>
7451
7452 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
7453 directly, and recommend grub-install instead.
7454 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
7455
2164da6b
CW
74562010-06-17 Colin Watson <cjwatson@ubuntu.com>
7457
7458 Fix i386-pc prefix handling with nested partitions (Debian bug
7459 #585068). Note that the case where the core image is booted using
7460 multiboot and relocated from its original location still requires
7461 more work.
7462
7463 * kern/i386/pc/init.c (make_install_device): If the prefix starts
7464 with "(,", fill the boot drive in between those two characters, but
7465 expect that a full partition specification including partition map
7466 names will follow.
7467 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
7468 specified, write a prefix without the drive name but including a
7469 full partition specification.
7470
044e2e60
CW
74712010-06-16 Colin Watson <cjwatson@ubuntu.com>
7472
7473 * util/grub-mkconfig.in: Ignore non-option arguments, for
7474 compatibility with older versions (before 2010-06-12) which did the
7475 same. In particular, this makes it easier to ship an update-grub
7476 wrapper which is compatible with that used with GRUB Legacy (Debian
7477 bug #586056).
7478
5591324f
GS
74792010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7480
7481 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
7482 for manual page generation.
7483
662e24d5
GS
74842010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
7485
7486 * po/POTFILES: Remove leftover commands/handler.c.
7487
8d70754e
CW
74882010-06-14 Colin Watson <cjwatson@ubuntu.com>
7489
7490 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
7491 left this script non-functional.
7492
41160e2e
CW
74932010-06-14 Colin Watson <cjwatson@ubuntu.com>
7494
7495 * docs/man/grub-emu.h2m: New file.
7496
b5309cc1
CW
74972010-06-13 Colin Watson <cjwatson@ubuntu.com>
7498
7499 * docs/grub.texi (Commands): Document reduced command set in rescue
7500 mode.
7501 (cpuid): New section.
7502
fcb2d090
GS
75032010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
7504
7505 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
7506 new partition naming style.
7507 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
7508
96e5c556
BC
75092010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
7510
7511 Add "-o grub.iso" like cmdline options support.
7512
7513 * util/grub-install.in: Improve cmdline option parsing.
7514 * util/grub-mkconfig.in: Likewise.
7515 * util/grub-mkrescue.in: Likewise.
7516 * util/grub-reboot.in: Likewise.
7517 * util/grub-set-default.in: Likewise.
7518 * util/i386/efi/grub-install.in: Likewise.
7519 * util/ieee1275/grub-install.in: Likewise.
7520 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7521
c16be99b
CW
75222010-06-12 Colin Watson <cjwatson@ubuntu.com>
7523
7524 * .bzrignore: Ignore 41_custom.
7525
ce08a9fb
TS
75262010-06-12 Thomas Schmitt <scdbackup@gmx.net>
7527
7528 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
7529
7beac90c
CW
75302010-06-12 Colin Watson <cjwatson@ubuntu.com>
7531
7532 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
7533 prototype declarations.
7534
7535 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
7536 generating fs, partmap, and video lists.
7537 * include/grub/fs.h (grub_fs_register): Omit prototype if
7538 GRUB_LST_GENERATOR is defined.
7539 * include/grub/partition.h (grub_partition_map_register): Likewise.
7540 * include/grub/video.h (grub_video_register): Likewise.
7541
1c8f0f8d
JM
75422010-06-12 Javier Martín <lordhabbit@gmail.com>
7543
7544 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
7545
a6085973
TS
75462010-06-12 Thomas Schmitt <scdbackup@gmx.net>
7547
7548 * util/grub-mkrescue.in: Support --xorriso argument.
7549
25c56d29
VS
75502010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7551
7552 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
7553 Suggested by: Thomas Schmitt.
7554
e03e4b24
VS
75552010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
7558 Suggested by: Thomas Schmitt.
7559
57711df6
VS
75602010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7561
7562 custom.cfg support.
7563
7564 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
7565 * util/grub.d/41_custom.in: New file.
7566
ee62c427
CW
75672010-06-12 Colin Watson <cjwatson@ubuntu.com>
7568
7569 * util/grub-mkrescue.in (make_image): Remove sh module, which has
7570 been merged back into normal.
7571
283af07a
CW
75722010-06-11 Colin Watson <cjwatson@ubuntu.com>
7573
7574 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
7575 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
7576
56a0d956
CW
75772010-06-11 Colin Watson <cjwatson@ubuntu.com>
7578
7579 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
7580 when generating manual pages.
7581 * docs/man/grub-bin2h.h2m: New file.
7582 * docs/man/grub-editenv.h2m: New file.
7583 * docs/man/grub-fstest.h2m: New file.
7584 * docs/man/grub-install.h2m: New file.
7585 * docs/man/grub-macho2img.h2m: New file.
7586 * docs/man/grub-mkconfig.h2m: New file.
7587 * docs/man/grub-mkdevicemap.h2m: New file.
7588 * docs/man/grub-mkfont.h2m: New file.
7589 * docs/man/grub-mkimage.h2m: New file.
7590 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
7591 * docs/man/grub-mkrelpath.h2m: New file.
7592 * docs/man/grub-mkrescue.h2m: New file.
7593 * docs/man/grub-ofpathname.h2m: New file.
7594 * docs/man/grub-pe2elf.h2m: New file.
7595 * docs/man/grub-probe.h2m: New file.
7596 * docs/man/grub-reboot.h2m: New file.
7597 * docs/man/grub-script-check.h2m: New file.
7598 * docs/man/grub-set-default.h2m: New file.
7599 * docs/man/grub-setup.h2m: New file.
7600
3a37e322
VS
76012010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
7602
7603 Use FOR_* macros instead of *_iterate whenever possible.
7604
7605 * commands/handler.c: Removed.
7606 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
7607 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
7608 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7609 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
7610 (grub_probe_SOURCES): Remove kern/parser.c.
7611 (util/grub-script-check.c_DEPENDENCIES): Removed.
7612 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
7613 and grub_script_check_init.c.
7614 (grub_script_check_init.lst): Removed.
7615 (grub_script_check_init.h): Likewise.
7616 (grub_script_check_init.c): Likewise.
7617 (pkglib_MODULES): Remove handler.mod and sh.mod.
7618 (handler_mod_SOURCES): Removed.
7619 (handler_mod_CFLAGS): Likewise.
7620 (handler_mod_LDFLAGS): Likewise.
7621 (normal_mod_SOURCES): Remove normal/handler.c.
7622 Add script/main.c, script/script.c, script/execute.c,
7623 script/function.c, script/lexer.c, grub_script.tab.c
7624 and grub_script.yy.c.
7625 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7626 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7627 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
7628 (grub_setup_SOURCES): Remove kern/parser.c.
7629 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7630 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
7631 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
7632 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7633 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
7634 (grub_setup_SOURCES): Remove kern/parser.c.
7635 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
7636 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
7637 * include/grub/command.h (grub_command_iterate): Removed.
7638 (FOR_COMMANDS): New macro.
7639 * include/grub/dl.h (grub_dl): New member next.
7640 (grub_dl_iterate): Removed.
7641 (grub_dl_head): New variable declaration.
7642 (FOR_DL_MODULES): New macro.
7643 * include/grub/fs.h: Include list.h.
7644 (grub_fs): Make next first element.
7645 (grub_fs_list): New variable declaration.
7646 (grub_fs_register): Make inline.
7647 (grub_fs_unregister): Likewise.
7648 (grub_fs_iterate): Removed.
7649 (FOR_FILESYSTEMS): New macro.
7650 * include/grub/handler.h: Removed.
7651 * include/grub/list.h (grub_list_hook_t): Removed.
7652 (grub_list_test_t): Likewise.
7653 (grub_list_pop): Likewise.
7654 (grub_list_iterate): Likewise.
7655 (grub_list_insert): Likewise.
7656 (FOR_LIST_ELEMENTS): New macro.
7657 * include/grub/parser.h (grub_parser_class): Removed.
7658 (grub_parser_register): Likewise.
7659 (grub_parser_unregister): Likewise.
7660 (grub_parser_get_current): Likewise.
7661 (grub_parser_set_current): Likewise.
7662 (grub_register_rescue_parser): Likewise.
7663 (grub_rescue_parse_line): New function.
7664 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
7665 * include/grub/script_sh.h (grub_script_function_list): New variable
7666 declaration.
7667 (FOR_SCRIPT_FUNCTIONS): New macro.
7668 (grub_script_function_iterate): Removed.
7669 (grub_normal_parse_line): New prototype.
7670 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
7671 (FOR_DISABLED_TERM_INPUTS): Likewise.
7672 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
7673 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
7674 * include/grub/video.h (grub_video_adapter): Move 'next' to first
7675 element.
7676 (grub_video_register): Inline.
7677 (grub_video_unregister): Likewise.
7678 (grub_video_adapter_list): New variable declaration.
7679 (grub_video_iterate): Removed.
7680 (FOR_VIDEO_ADAPTERS): New macro.
7681 * kern/dl.c (grub_dl_list): Removed. All users updated.
7682 (grub_dl_iterate): Removed.
7683 * kern/fs.c (grub_fs_list): Make global.
7684 (grub_fs_register): Removed.
7685 (grub_fs_unregister): Likewise.
7686 (grub_fs_iterate): Likewise.
7687 * kern/handler.c: Removed.
7688 * kern/list.c (grub_list_pop): Removed.
7689 (grub_list_iterate): Likewise.
7690 (grub_list_insert): Likewise.
7691 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
7692 (grub_prio_list_insert): Don't use grub_list_insert.
7693 * kern/main.c (grub_register_rescue_parser): Don't call
7694 grub_register_rescue_parser.
7695 * kern/parser.c (grub_parser_class): Removed.
7696 (grub_parser_execute): Use grub_rescue_parse_line.
7697 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
7698 (grub_rescue_parser): Removed.
7699 (grub_register_rescue_parser): Likewise.
7700 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
7701 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
7702 (grub_auth_check_authentication): Likewise.
7703 * normal/completion.c (iterate_command): Removed.
7704 (grub_normal_do_completion): Use FOR_COMMANDS.
7705 * normal/handler.c: Removed.
7706 * normal/main.c (read_config_file): Remove parser changing.
7707 (grub_normal_execute): Don't call read_handler_list.
7708 (grub_normal_read_line_real): Statically allocate prompt.
7709 (grub_cmdline_run): Use grub_normal_parse_line.
7710 (GRUB_MOD_FINI): Don't call free_handler_list.
7711 * normal/menu_entry.c (run): Likewise.
7712 * script/function.c (grub_script_function_list): Make global.
7713 (grub_script_function_iterate): Removed.
7714 * script/main.c (grub_normal_parse_line): Make global.
7715 (grub_sh_parser): Removed.
7716 (GRUB_MOD_INIT): Likewise.
7717 (GRUB_MOD_FINI): Likewise.
7718 * tests/lib/functional_test.c (grub_functional_test): Use
7719 FOR_LIST_ELEMENTS.
7720 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
7721 (grub_test_run): Use FOR_LIST_ELEMENTS.
7722 * tests/lib/unit_test.c (main): Likewise.
7723 * util/deviceiter.c (grub_util_iterate_devices): Don't use
7724 grub_list_pop.
7725 * util/grub-fstest.c (grub_term_input_class): Removed.
7726 (grub_term_output_class): Likewise.
7727 * util/grub-probe.c: Likewise.
7728 * util/i386/pc/grub-setup.c: Likewise.
7729 * util/sparc64/ieee1275/grub-setup.c: Likewise.
7730 * util/grub-script-check.c (main): Don't call grub_init_all and
7731 grub_fini_all.
7732 * video/video.c (grub_video_adapter_list): Make global.
7733 (grub_video_register): Removed.
7734 (grub_video_unregister): Likewise.
7735 (grub_video_iterate): Likewise.
7736
6289c3a7
VS
77372010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
7738
7739 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
7740 reported by Henrique Ferreiro.
7741
91460247
RM
77422010-06-09 Robert Millan <rmh@gnu.org>
7743
7744 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
7745 ones, when both are available.
7746
0ea7c4f9
GS
77472010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7748
7749 Make --version uniform and avoid hard-coded program name.
7750
7751 * util/grub-mkimage.c (main): Use `program_name' instead of
7752 hard-coded string.
7753 * util/i386/pc/grub-setup.c (main): Likewise.
7754 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
7755 * util/grub-install.in: Save the basename of $0 in $self, and use the
7756 latter in informational messages. Use the same format for --version
7757 as the binary programs.
7758 * util/grub-mkconfig.in: Likewise.
7759 * util/grub-mkrescue.in: Likewise.
7760 * util/grub-reboot.in: Likewise.
7761 * util/grub-set-default.in: Likewise.
7762 * util/i386/efi/grub-install.in: Likewise.
7763 * util/ieee1275/grub-install.in: Likewise.
7764 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7765
e8a6f3b6
GS
77662010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7767
7768 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
7769 embedding area. Use <= instead of == when checking for non-emptiness.
7770
f4d095d7
GS
77712010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7772
7773 * configure.ac: Add `.' to the directories searched for unifont.
7774
50e532ca
CW
77752010-06-08 Colin Watson <cjwatson@ubuntu.com>
7776
7777 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
7778 grub_script.yy.h.
7779
d39f3dec
CW
77802010-06-08 Colin Watson <cjwatson@ubuntu.com>
7781
7782 * docs/grub.texi (History): Expand to cover GRUB 2.
7783 (Serial terminal): Refer to `terminal_input' and `terminal_output'
7784 commands, not `terminal'.
7785 (serial): Likewise.
7786 (terminal_input): New section.
7787 (terminal_output): New section.
7788 (uppermem): New section (stub).
7789 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
7790
6ef0ddb4
CW
77912010-06-08 Colin Watson <cjwatson@ubuntu.com>
7792
7793 * docs/grub.texi (Security): Menu entries are unrestricted by
7794 default, not restricted to superusers as I had previously thought.
7795 Reword to account for this.
7796
e0f4c438
CW
77972010-06-07 Colin Watson <cjwatson@ubuntu.com>
7798
7799 * kern/emu/misc.c (device_mapper_null_log): New function.
7800 (grub_device_mapper_supported): New function.
7801 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
7802 prototype.
7803 * kern/emu/hostdisk.c (find_partition_start): Check whether
7804 device-mapper is supported before trying to use it.
7805 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
7806
da908200
CW
78072010-06-07 Colin Watson <cjwatson@ubuntu.com>
7808
7809 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
7810 (File name syntax): Likewise.
7811 (help): --all is no longer supported in GRUB 2. Be more precise
7812 about pattern matching.
7813
fb55c3ac
CW
78142010-06-07 Colin Watson <cjwatson@ubuntu.com>
7815
7816 * normal/completion.c (grub_normal_do_completion): When completing
7817 arguments to "set" and the current word contains an equals sign,
7818 skip to after the equals sign before starting completion.
7819
258c2573
CW
78202010-06-07 Colin Watson <cjwatson@ubuntu.com>
7821
7822 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
7823
ee75515e
CW
78242010-06-07 Colin Watson <cjwatson@ubuntu.com>
7825
7826 * docs/grub.texi (Network): New section.
7827 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
7828 `(nd)' as in GRUB Legacy.
7829 (pxe_unload): New section.
7830
a6a700aa
CW
78312010-06-07 Colin Watson <cjwatson@ubuntu.com>
7832
7833 * docs/grub.texi (Troubleshooting): `echo' is not usually available
7834 in the rescue shell, so recommend using `set' instead. Thanks,
7835 Jordan Uggla.
7836
4003dd38
CW
78372010-06-07 Colin Watson <cjwatson@ubuntu.com>
7838
7839 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
7840 (password): New section.
7841 (password_pbkdf2): New section.
7842 (search): New section.
7843 (Security): New section.
7844 (Troubleshooting): New section, currently very incomplete.
7845 (Invoking grub-mkpasswd-pbkdf2): New section.
7846 (Internals): New section, currently very incomplete.
7847
e1cbcc40
CW
78482010-06-07 Colin Watson <cjwatson@ubuntu.com>
7849
7850 * util/grub.d/00_header.in: Add some more quoting (of
7851 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
7852 work again.
7853 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
7854
db8fa1ad
CW
78552010-06-07 Colin Watson <cjwatson@ubuntu.com>
7856
7857 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
7858 to `count', fixing variable shadowing that broke the -c option.
7859
78602010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
7861
7862 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
7863 in case they contain spaces.
7864
f28a9212
CW
78652010-06-04 Colin Watson <cjwatson@ubuntu.com>
7866
7867 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
7868 "part_" to partmap module names, in line with grub-install.
7869 Reported by: Jindřich Makovička (Debian bug #584426).
7870
9cdfe32f
CW
78712010-06-04 Colin Watson <cjwatson@ubuntu.com>
7872
7873 * util/grub-mkimage.c: Make target-related error messages slightly
7874 more helpful; -O talks about "format". Explicitly point to the use
7875 of -O if no target is specified.
7876 Reported by: Didier Raboud (Debian bug #584415).
7877
795b593a
CW
78782010-06-03 Colin Watson <cjwatson@ubuntu.com>
7879
7880 * INSTALL: Document several build requirements for optional features
7881 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
7882
9d9b5833
GS
78832010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
7884
7885 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
7886 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
7887 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
7888
0819fec8
CW
78892010-06-02 Colin Watson <cjwatson@ubuntu.com>
7890
7891 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
7892 Thanks to Jordan Uggla for spotting this.
7893
49396b4f
VS
78942010-06-02 Aleš Nesrsta <starous@volny.cz>
7895
7896 Finally make USB usable.
7897
7898 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
7899 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
7900 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
7901 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
7902 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
7903 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
7904 (GRUB_OHCI_FSMPS): Likewise.
7905 (GRUB_OHCI_PERIODIC_START): Likewise.
7906 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
7907 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
7908 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
7909 (GRUB_OHCI_SET_PORT_RESET): Likewise.
7910 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
7911 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
7912 (grub_ohci_transaction): Likewise.
7913 (grub_ohci_transfer): Improve condition detection algorithms.
7914 Handle toggle property. Program the transactions correctly.
7915 Improve error handling. Various important fixups.
7916 (grub_ohci_portstatus): Put register writes in right order.
7917 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
7918 (grub_uhci_transfer): Don't show "failed" message on success.
7919 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
7920 array.
7921 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
7922 determine its size.
7923 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
7924 before initialization is completed. Use IN direction for empty
7925 transfers. Use last_trans and compute toggle.
7926 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
7927 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
7928 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
7929 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
7930 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
7931 (grub_usb_device): Increase toggle to 256.
7932 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
7933 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
7934 GRUB_USBMS_SUBCLASS_SFF8070.
7935 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
7936 (grub_scsi_inquiry): New member page and alloc_length.
7937 (grub_scsi_request_sense): New structure.
7938 (grub_scsi_request_sense_data): Likewise.
7939 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
7940 control.
7941 * disk/scsi.c (grub_scsi_request_sense): New function.
7942 (grub_scsi_test_unit_ready): Likewise.
7943 (grub_scsi_inquiry): Fill new fields.
7944 (grub_scsi_read_capacity): Likewise.
7945 (grub_scsi_read10): Add request sense at the end.
7946 (grub_scsi_read12): Likewise.
7947 (grub_scsi_write10): Likewise.
7948 (grub_scsi_write12): Likewise.
7949 (grub_scsi_open): Add Test Unit Ready.
7950 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
7951 Support additional subclasses. Con't clear halt yet. Activate the
7952 proper config. Calculate LUNs correctly.
7953 (grub_usbms_transfer): Various important fixups.
7954
79552010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7956
7957 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
7958 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
7959 (grub_ohci_fini_hw): New function.
7960 (grub_ohci_restore_hw): Likewise.
7961 (GRUB_MOD_INIT(ohci)): Register preboot hook.
7962 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
7963 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
7964
79652010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7966
7967 Dedicated DMA allocations.
7968
7969 * bus/pci.c (grub_memalign_dma32): New function
7970 (grub_dma_free): Likewise.
7971 (grub_dma_get_virt): Likewise.
7972 (grub_dma_get_phys): Likewise.
7973 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
7974 (grub_ohci_pci_iter): Use dma32_alloc.
7975 (grub_ohci_transfer): Likewise.
7976 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
7977 (grub_usb_bulk_readwrite): Likewise.
7978 * include/grub/pci.h: Add declarations.
7979
79802010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
7981
7982 CS5536 support.
7983
7984 * bus/cs5536.c: New file.
7985 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
7986 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
7987 (cs5536_mod_SOURCES): New variable.
7988 (cs5536_mod_CFLAGS): Likewise.
7989 (cs5536_mod_LDFLAGS): Likewise.
7990 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
7991 machine/pci.h.
7992 (kernel_img_SOURCES): Add bus/cs5536.c.
7993 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
7994 usb_keyboard.mod.
7995 (usb_mod_SOURCES): New variable.
7996 (usb_mod_CFLAGS): New variable.
7997 (usb_mod_LDFLAGS): New variable.
7998 (usbtest_mod_SOURCES): New variable.
7999 (usbtest_mod_CFLAGS): New variable.
8000 (usbtest_mod_LDFLAGS): New variable.
8001 (ohci_mod_SOURCES): New variable.
8002 (ohci_mod_CFLAGS): New variable.
8003 (ohci_mod_LDFLAGS): New variable.
8004 (usbms_mod_SOURCES): New variable.
8005 (usbms_mod_CFLAGS): New variable.
8006 (usbms_mod_LDFLAGS): New variable.
8007 (usb_keyboard_mod_SOURCES): New variable.
8008 (usb_keyboard_mod_CFLAGS): New variable.
8009 (usb_keyboard_mod_LDFLAGS): New variable.
8010 * include/grub/smbus.h: New file.
8011 * include/grub/cs5536.h: New file.
8012
0b35b2a9
CW
80132010-06-02 Colin Watson <cjwatson@ubuntu.com>
8014
8015 * util/grub.d/00_header.in: Add safety check to make sure that
8016 ${locale_dir} exists before trying to probe it.
8017
ca0afd5b
CW
80182010-06-02 Colin Watson <cjwatson@ubuntu.com>
8019
8020 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
8021 per the GNU Coding Standards; this is now too obscure to be worth
8022 documenting.
8023 (QNX): Likewise.
8024 (chainloader): Remove cross-reference to `SCO UnixWare'.
8025
1c41aa78
CW
80262010-06-02 Colin Watson <cjwatson@ubuntu.com>
8027
8028 * docs/grub.texi (Chain-loading): New section.
8029 (DOS/Windows): New section, borrowed from GRUB Legacy with details
8030 adjusted for GRUB 2.
8031 (SCO UnixWare): Likewise.
8032 (QNX): Likewise.
8033 (chainloader): Add reference to `Block list syntax'.
8034 (drivemap): New section.
8035 (parttool): New section.
8036
bb8ea0f5
CW
80372010-06-02 Colin Watson <cjwatson@ubuntu.com>
8038
8039 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
8040 the grub shell'.
8041 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
8042 (Installing GRUB using grub-install): Remove reference to the grub
8043 shell; mention `grub-mkimage' and `grub-setup' instead.
8044 (Invoking grub-install): Likewise.
8045 (Interface): Add reference to `Menu entry editor'.
8046 (serial): Remove `--device' option.
8047
288dd6ed
CW
80482010-06-02 Colin Watson <cjwatson@ubuntu.com>
8049
8050 * docs/grub.texi (Configuration): New section, documenting
8051 configuration file generation using grub-mkconfig. I've left a slot
8052 for documenting the full shell scripting format but have not yet
8053 started on writing that up.
8054 (Invoking grub-mkconfig): New section.
8055
34c9f0e9
CW
80562010-06-02 Colin Watson <cjwatson@ubuntu.com>
8057
8058 * docs/grub.texi (direntry): Remove grub-terminfo reference.
8059 (GNU GRUB manual): Likewise.
8060 (General commands): Update description of `terminfo' for GRUB 2.
8061
9121567e
CW
80622010-06-02 Colin Watson <cjwatson@ubuntu.com>
8063
8064 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
8065 (GRUB_MOD_INIT): Fix capitalisation.
8066 * docs/grub.texi (Command-line and menu entry commands): Document
8067 gettext and gptsync commands.
8068
ab631611
CW
80692010-06-02 Colin Watson <cjwatson@ubuntu.com>
8070
8071 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
8072 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
8073
bde4a9ac
CW
80742010-06-01 Colin Watson <cjwatson@ubuntu.com>
8075
8076 Add btrfs probing support, currently only in the single-device case.
8077
8078 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
8079 function.
8080 (grub_guess_root_device): Call find_root_device_from_mountinfo
8081 before looking in /dev.
8082
b1d17e10
VS
80832010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8084
8085 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
8086 GRUB_DISK_SIZE_UNKNOWN.
8087 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
8088
dfbfe004
JS
80892010-05-31 Jiro SEKIBA <jir@unicus.jp>
8090
8091 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
8092 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
8093 corrupted or not synced properly.
8094
c2ffc8e9
VS
80952010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8096
8097 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
8098 Reported by: Seth Goldberg.
8099
56293166
VS
81002010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8101
8102 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
8103 addition of dest.
8104 Reported by: Seth Goldberg.
8105
7620e7de
VS
81062010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8107
8108 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
8109 Reported by: Seth Goldberg.
8110
c837af3f
VS
81112010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
8112
8113 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
8114 64-bit address as signed on MIPS.
8115
c7c75cf4
CW
81162010-05-28 Colin Watson <cjwatson@ubuntu.com>
8117
8118 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
8119 to the empty string.
8120
fa4b8490
BC
81212010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
8122
8123 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
8124
8125 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
8126 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
8127 * kern/misc.c (__enable_execute_stack): Disable on
8128 GRUB_MACHINE_EMU.
8129
a33075b9
CW
81302010-05-28 Colin Watson <cjwatson@ubuntu.com>
8131
8132 Make grub-probe work with symbolic links under /dev/mapper as well
8133 as with real block devices. The Linux world seems to be (at best)
8134 in transition here, and GRUB shouldn't get caught in the middle.
8135
8136 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
8137 /dev/mapper.
8138
d8708134
CW
81392010-05-27 Colin Watson <cjwatson@ubuntu.com>
8140
8141 * util/grub-script-check.c (main): Ensure defined behaviour on empty
8142 input files (in which case exit zero).
8143
db2102a0
CW
81442010-05-27 Colin Watson <cjwatson@ubuntu.com>
8145
8146 * kern/emu/misc.c (canonicalize_file_name): realpath can still
8147 return NULL for various reasons even if it has a maximum-length
8148 buffer: for example, there might be a symlink loop, or the path
8149 might exceed PATH_MAX. If this happens, return NULL.
8150
5fdba519
RM
81512010-05-27 Robert Millan <rmh@gnu.org>
8152
8153 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
8154 partmap module to handle cross-partmap setups.
8155 Reported by Orestes Mas. Gràcies!
8156
d1d368e4
CW
81572010-05-27 Colin Watson <cjwatson@ubuntu.com>
8158
8159 * util/grub-mkrescue.in: Initialise override_dir rather than
8160 assuming that it's unset or empty in the environment.
8161
95ac3c73
GS
81622010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
8163
8164 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
8165 variable index into p_index to suppress a warning with -Wshadow.
8166
7d8c0213
BC
81672010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
8168
8169 * INSTALL: Added flex >= 2.5.35 requirement.
8170
db4d5813
VS
81712010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8172
8173 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
8174
f24f4300
VS
81752010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8176
8177 cmostest support.
8178
8179 * commands/i386/cmostest.c: New file.
8180 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
8181 (cmostest_mod_SOURCES): New variable.
8182 (cmostest_mod_CFLAGS): Likewise.
8183 (cmostest_mod_LDFLAGS): Likewise.
8184 * conf/i386-pc.rmk: Likewise.
8185 * docs/grub.texi (Vendor power-on keys): New section.
8186 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
8187 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
8188 and GRUB_BUTTON_CMOS_ADDRESS.
8189 * util/grub.d/00_header.in: Handle powering-on by separate button.
8190
ad603f61
VS
81912010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8192
8193 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
8194 Removed drawing_scrollbar argument. All users updated
8195 Fixes #29792.
8196 Reported by Jo Shields
8197
3ecb080a
VS
81982010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8199
8200 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
8201 buffer since gfxterm handles double repaint.
8202
5f2316c1
VS
82032010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
8204
8205 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
8206 * term/gfxterm.c (real_scroll): Likewise.
8207
9a25f885
VS
82082010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8209
8210 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
8211 before calling BIOS.
8212
39fbb79a
VS
82132010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8214
8215 * include/grub/i18n.h: Always enable grub_gettext.
8216
228cfa97
VS
82172010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
8218
8219 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
8220 partition naming style.
8221
21717c8f
CW
82222010-05-21 Colin Watson <cjwatson@ubuntu.com>
8223
8224 * util/grub-mkconfig.in: Fix handling of -o so that it works when
8225 not the first option.
8226
c0f48e65
CW
82272010-05-20 Colin Watson <cjwatson@ubuntu.com>
8228
8229 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
8230
96779aec
CW
82312010-05-20 Colin Watson <cjwatson@ubuntu.com>
8232
8233 * util/misc.c: Move inclusion of <limits.h> to ...
8234 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
8235
fa9d256e
GS
82362010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
8237
8238 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
8239 Fix merge error in NetBSD code.
8240 (find_partition_start) [__NetBSD__]: Likewise.
8241
123b7a85
BC
82422010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
8243
8244 Fix grub-mkrescue usage unit testing.
8245
8246 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
8247
74276c0d
CF
82482010-05-18 Christian Franke <franke@computer.org>
8249
8250 * util/grub.d/10_windows.in: Use path names instead of
8251 drive letters to prevent warning from Cygwin 1.7.
8252 Add drivemap command to menuentry if needed.
8253
c4f7b523
ST
82542010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
8255
8256 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
8257 gnumach and gnumach.gz.
8258
95b97950
VS
82592010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8260
8261 * include/grub/i18n.h (gettext): Inline instead of using #define.
8262 (grub_gettext): Likewise.
8263 (_): Likewise.
8264
01b8d2d7
VS
82652010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8266
8267 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
8268 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
8269 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
8270 (main): Add a slash after pkglibdirroot.
8271
654e1d1e
VS
82722010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8273
8274 * util/grub-install.in: Add missing "in" keyword.
8275
26966aeb
VS
82762010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8277
8278 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
8279 Reported by: Seth Goldberg.
8280
75006747
VS
82812010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
8282
8283 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
8284
74cbf5bd
CW
82852010-05-18 Colin Watson <cjwatson@ubuntu.com>
8286
8287 * configure.ac: Check for Linux device-mapper support.
8288
8289 * util/hostdisk.c (device_is_mapped): New function.
8290 (find_partition_start): New function, partly broken out from
8291 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
8292 device-mapper support added.
8293 (linux_find_partition): Use find_partition_start.
8294 (convert_system_partition_to_system_disk): Add `st' argument.
8295 Support Linux /dev/mapper/* devices if device-mapper support is
8296 available; only DM-RAID devices are understood at present.
8297 (find_system_device): Add `st' argument. Pass it to
8298 convert_system_partition_to_system_disk.
8299 (grub_util_biosdisk_get_grub_dev): Pass stat result to
8300 find_system_device and convert_system_partition_to_system_disk. Use
8301 find_partition_start.
8302
8303 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
8304 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
8305 * util/deviceiter.c [__linux__]: Define MINOR.
8306 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
8307 * util/mkdevicemap.c (grub_putchar): New function.
8308 (grub_getkey): New function.
8309 (grub_refresh): New function.
8310 (main): Set debug=all if -v -v is used.
8311
355b51e9
CW
83122010-05-18 Colin Watson <cjwatson@ubuntu.com>
8313
8314 Fix build with non-GNU libcs.
8315
8316 * util/misc.c (canonicalize_file_name): Move to ...
8317 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
8318 grub_make_system_path_relative_to_its_root.
8319
7fb5c25f
CW
83202010-05-18 Colin Watson <cjwatson@ubuntu.com>
8321
8322 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
8323 we handle finding grub-mkimage. Default to finding grub-mkimage in
8324 ${bindir} with program_transform_name applied, and provide a
8325 --grub-mkimage option to override this.
8326
1d3293d6
VS
83272010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8328
8329 Remove grub-mkisofs.
8330
8331 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
8332 (grub_mkisofs_SOURCES): Removed.
8333 (grub_mkisofs_CFLAGS): Removed.
8334 * util/mkisofs/defaults.h: Removed.
8335 * util/mkisofs/eltorito.c: Likewise.
8336 * util/mkisofs/exclude.h: Likewise.
8337 * util/mkisofs/hash.c: Likewise.
8338 * util/mkisofs/include/: Likewise.
8339 * util/mkisofs/include/fctldefs.h: Likewise.
8340 * util/mkisofs/include/mconfig.h: Likewise.
8341 * util/mkisofs/include/prototyp.h: Likewise.
8342 * util/mkisofs/include/statdefs.h: Likewise.
8343 * util/mkisofs/iso9660.h: Likewise.
8344 * util/mkisofs/joliet.c: Likewise.
8345 * util/mkisofs/match.c: Likewise.
8346 * util/mkisofs/match.h: Likewise.
8347 * util/mkisofs/mkisofs.c: Likewise.
8348 * util/mkisofs/mkisofs.h: Likewise.
8349 * util/mkisofs/msdos_partition.h: Likewise.
8350 * util/mkisofs/multi.c: Likewise.
8351 * util/mkisofs/name.c: Likewise.
8352 * util/mkisofs/rock.c: Likewise.
8353 * util/mkisofs/tree.c: Likewise.
8354 * util/mkisofs/write.c: Likewise.
8355
5dde9afe
VS
83562010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8357
8358 Unify grub-mkimage accross platforms.
8359
8360 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
8361 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
8362 (grub_mkelfimage_SOURCES): Removed.
8363 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
8364 (util/grub-mkimage.c_DEPENDENCIES): .. this.
8365 (bin_UTILITIES): Add grub-mkimage.
8366 (grub_mkimage_SOURCES): New variable.
8367 (kernel_img_HEADERS): Remove machine/kernel.h.
8368 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
8369 (pkglib_PROGRAMS): Add kernel.img.
8370 (kernel_img_HEADERS): Add machine/kernel.h.
8371 (kernel_img_FORMAT): Removed.
8372 (bin_UTILITIES): Remove grub-mkimage.
8373 (grub_mkimage_SOURCES): Removed.
8374 (grub_mkimage_CFLAGS): Likewise.
8375 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8376 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
8377 (pkglib_PROGRAMS): Add kernel.img.
8378 (bin_UTILITIES): Remove grub-mkimage.
8379 (grub_mkimage_SOURCES): Removed.
8380 (grub_mkimage_CFLAGS): Likewise.
8381 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8382 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
8383 (pkglib_PROGRAMS): Add kernel.img.
8384 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
8385 (pkglib_PROGRAMS): Add kernel.img.
8386 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
8387 (grub_mkimage_SOURCES): Removed.
8388 (grub_mkimage_CFLAGS): Likewise.
8389 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8390 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
8391 (pkglib_PROGRAMS): Add kernel.img.
8392 (bin_UTILITIES): Remove grub-mkimage.
8393 (grub_mkimage_SOURCES): Removed.
8394 (grub_mkimage_CFLAGS): Likewise.
8395 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8396 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
8397 (grub_mkimage_SOURCES): Removed.
8398 (grub_mkimage_CFLAGS): Likewise.
8399 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
8400 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
8401 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
8402 (grub_pe32_optional_header): ... this.
8403 (grub_pe64_optional_header): ... and this. All users updated.
8404 (GRUB_PE32_PE32_MAGIC): Split into ..
8405 (GRUB_PE32_PE32_MAGIC): .. this.
8406 (GRUB_PE32_PE64_MAGIC): .. and this.
8407 (GRUB_PE32_SIGNATURE_SIZE): New definition.
8408 * include/grub/elf.h (PT_GNU_STACK): New definition.
8409 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
8410 * include/grub/i386/efi/kernel.h: Likewise.
8411 * include/grub/i386/kernel.h: Likewise.
8412 * include/grub/i386/pc/kernel.h: Likewise.
8413 * include/grub/i386/qemu/boot.h: Likewise.
8414 * include/grub/mips/kernel.h: Likewise.
8415 * include/grub/mips/qemu-mips/kernel.h: Likewise.
8416 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
8417 * include/grub/powerpc/kernel.h: Likewise.
8418 * include/grub/sparc64/ieee1275/boot.h: Likewise.
8419 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
8420 * include/grub/sparc64/kernel.h: Likewise.
8421 * include/grub/x86_64/efi/kernel.h: Likewise.
8422 * include/grub/x86_64/kernel.h: Likewise.
8423 * include/grub/offsets.h: New file.
8424 * include/grub/kernel.h (grub_module_info): Split into ...
8425 (grub_module_info32): ... this.
8426 (grub_module_info64): ... and this.
8427 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
8428 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
8429 (grub_boot_blocklist): Moved from here ...
8430 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
8431 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
8432 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
8433 * include/grub/types.h (grub_target_to_host16): Removed.
8434 (grub_target_to_host32): Likewise.
8435 (grub_target_to_host64): Likewise.
8436 (grub_host_to_target16): Likewise.
8437 (grub_host_to_target32): Likewise.
8438 (grub_host_to_target64): Likewise.
8439 (grub_host_to_target_addr): Likewise.
8440
8441 Support grub-mkrescue for efi, coreboot and qemu.
8442
8443 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
8444 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
8445 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
8446 * util/grub-mkrawimage.c: Moved from here ...
8447 * util/grub-mkimage.c: ... here. All users updated.
8448 (ALIGN_ADDR): Use image_target.
8449 (TARGET_NO_FIELD): New const.
8450 (image_target_desc): New type.
8451 (image_targets): New array.
8452 (grub_target_to_host64): Use image_target.
8453 (grub_target_to_host32): Likewise.
8454 (grub_target_to_host16): Likewise.
8455 (grub_host_to_target64): Likewise.
8456 (grub_host_to_target32): Likewise.
8457 (grub_host_to_target16): Likewise.
8458 (grub_host_to_target_addr): Likewise.
8459 (generate_image): Handle multiimage.
8460 (main): Require -O parameter. All users updated.
8461 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
8462 util/efi/grub-mkimage.c
8463 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
8464 New option --rom-directory.
8465 Use xorriso.
8466 * util/i386/efi/grub-mkimage.c: Removed.
8467 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
8468 (grub_target_to_host32): Likewise.
8469 (grub_target_to_host64): Likewise.
8470 (grub_host_to_target16): Likewise.
8471 (grub_host_to_target32): Likewise.
8472 (grub_host_to_target64): Likewise.
8473 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
8474 (grub_target_to_host32): Likewise.
8475 (grub_target_to_host64): Likewise.
8476 (grub_host_to_target16): Likewise.
8477 (grub_host_to_target32): Likewise.
8478 (grub_host_to_target64): Likewise.
8479
f4fc97d0
BC
84802010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
8481
8482 Source tree is reorganized for emu build.
8483
8484 * include/grub/util/console.h: Move from here...
8485 * include/grub/emu/console.h: ...to here.
8486 * include/grub/util/getroot.h: Move from here...
8487 * include/grub/emu/getroot.h: ...to here.
8488 * include/grub/util/hostdisk.h: Move from here...
8489 * include/grub/emu/hostdisk.h: ...to here.
8490 * util/console.c: Move from here...
8491 * kern/emu/console.c: ...to here.
8492 * util/getroot.c: Move from here...
8493 * kern/emu/getroot.c: ...to here.
8494 * util/grub-emu.c: Move from here...
8495 * kern/emu/main.c: ...to here.
8496 * util/hostdisk.c: Move from here...
8497 * kern/emu/hostdisk.c: ...to here.
8498 * util/hostfs.c: Move from here...
8499 * kern/emu/hostfs.c: ...to here.
8500 * util/mm.c: Move from here...
8501 * kern/emu/mm.c: ...to here.
8502 * util/pci.c: Move from here...
8503 * bus/emu/pci.c: ...to here.
8504 * util/sdl.c: Move from here...
8505 * video/emu/sdl.c: ...to here.
8506 * util/time.c: Move from here...
8507 * kern/emu/time.c: ...to here.
8508 * util/usb.c: Move from here...
8509 * bus/usb/emu/usb.c: ...to here.
8510
8511 * include/grub/emu/misc.h: New header for grub-emu functions.
8512 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
8513
8514 * conf/any-emu.rmk: Rule updates for above renames.
8515 * conf/common.rmk: Likewise.
8516 * conf/i386-pc.rmk: Likewise.
8517 * conf/i386-qemu.rmk: Likewise.
8518 * conf/mips.rmk: Likewise.
8519 * conf/sparc64-ieee1275.rmk: Likewise.
8520 * conf/x86-efi.rmk: Likewise.
8521
8522 * disk/lvm.h: #include updates for above renames.
8523 * util/grub-mkrelpath.c: Likewise.
8524 * util/grub-probe.c: Likewise.
8525 * util/i386/pc/grub-setup.c: Likewise.
8526 * util/sparc64/ieee1275/grub-setup.c: Likewise.
8527 * kern/emu/console.c: Likewise.
8528 * kern/emu/getroot.c: Likewise.
8529 * kern/emu/hostdisk.c: Likewise.
8530 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
8531
8532 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
8533 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
8534 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
8535 * util/misc.c: Remove grub-emu functions.
8536
cced9145
VS
85372010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
8538
8539 Fix gfxmenu crash.
8540 Reported by: Thorsten Grützmacher.
8541
8542 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
8543 timeout hook.
8544 (circprog_set_property): Register and unregister timeout hook.
8545 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
8546 (label_destroy): Free template. and unregister hook.
8547 (label_set_state): New function.
8548 (label_set_property): Handle templates and hooks.
8549 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
8550 timeout hook.
8551 (progress_bar_set_property): Register and unregister timeout hook.
8552 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
8553 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
8554 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
8555 (update_timeout_visit): Removed.
8556 (update_timeouts): New function.
8557 (redraw_timeouts): Likewise.
8558 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
8559 (grub_gfxmenu_clear_timeout): Likewise.
8560 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
8561 (grub_gfxmenu_timeout_notify): Likewise.
8562 (grub_gfxmenu_timeout_notifications): New external variable.
8563 (grub_gfxmenu_timeout_register): New function.
8564 (grub_gfxmenu_timeout_unregister): Likewise.
8565
c6e5caab
VS
85662010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
8567
8568 Transform (broken) vga terminal into (working) vga video driver.
8569
8570 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
8571 video/i386/pc/vga.c.
8572 * include/grub/video.h (grub_video_driver_id):
8573 Add GRUB_VIDEO_DRIVER_VGA.
8574 * term/i386/pc/vga.c: Renamed to ...
8575 * video/i386/pc/vga.c: ...this
8576 (DEBUG_VGA): Removed.
8577 (CHAR_WIDTH): Likewise.
8578 (CHAR_HEIGHT): Likewise.
8579 (TEXT_WIDTH): Likewise.
8580 (TEXT_HEIGHT): Likewise.
8581 (DEFAULT_FG_COLOR): Likewise.
8582 (DEFAULT_BG_COLOR): Likewise.
8583 (colored_char): Likewise.
8584 (xpos): Likewise.
8585 (ypos): Likewise.
8586 (cursor_state): Likewise.
8587 (fg_color): Likewise.
8588 (bg_color): Likewise.
8589 (text_buf): Likewise.
8590 (page): Likewise.
8591 (font): Likewise.
8592 (framebuffer): New variable.
8593 (set_read_map): Disabled.
8594 (setup): New variable.
8595 (is_target): Likewise.
8596 (grub_vga_mod_init): Likewise.
8597 (grub_vga_mod_fini): Likewise.
8598 (check_vga_mem): Likewise.
8599 (write_char): Likewise.
8600 (write_cursor): Likewise.
8601 (scroll_up): Likewise.
8602 (grub_vga_putchar): Likewise.
8603 (grub_vga_getcharwidth): Likewise.
8604 (grub_vga_getwh): Likewise.
8605 (grub_vga_getxy): Likewise.
8606 (grub_vga_gotoxy): Likewise.
8607 (grub_vga_cls): Likewise.
8608 (grub_vga_setcolorstate): Likewise.
8609 (grub_vga_setcursor): Likewise.
8610 (grub_video_vga_init): New function.
8611 (grub_video_vga_setup): Likewise.
8612 (grub_video_vga_fini): Likewise.
8613 (update_target): Likewise.
8614 (grub_video_vga_blit_bitmap): Likewise.
8615 (grub_video_vga_blit_render_target): Likewise.
8616 (grub_video_vga_set_active_render_target): Likewise.
8617 (grub_video_vga_get_active_render_target): Likewise.
8618 (grub_video_vga_swap_buffers): Likewise.
8619 (grub_video_vga_set_palette): Likewise.
8620 (grub_video_vga_get_info_and_fini): Likewise.
8621 (grub_vga_term): Removed.
8622 (grub_video_vga_adapter): New variable.
8623 (GRUB_MOD_INIT): Register a video driver instead of terminal.
8624 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
8625
2bf61a98
VS
86262010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8627
8628 * video/readers/jpeg.c: Indented.
8629
09ddcd11
VS
86302010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8631
8632 Various jpeg cleanups.
8633
8634 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
8635 (grub_jpeg_decode_quan_table): Use sizeof.
8636 (grub_jpeg_decode_du): Use ARRAY_SIZE.
8637
e5507505
PH
86382010-05-05 Peter Hurley <No e-mail available> (tiny change)
8639
8640 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
8641 tables. Ignore non-last ac bit.
8642 (grub_jpeg_decode_quan_table): Likewise.
8643
7e720a9b
VS
86442010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8645
8646 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
8647 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
8648 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
8649 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
8650 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
8651 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
8652
a7fc080b
VS
86532010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8654
8655 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
8656 error.
8657
2bf6012d
VS
86582010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
8659
8660 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
8661
265d68cd
VS
86622010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
8663
8664 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
8665 condition.
8666
86672010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
8668
8669 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
8670 part.
8671
265d68cd 86722010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
8673
8674 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
8675 pointers.
8676
265d68cd 86772010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
8678
8679 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
8680
d1b61374
CF
86812010-05-01 Christian Franke <franke@computer.org>
8682
8683 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
8684 Remove broken Cygwin path conversion.
8685 * util/misc.c: [__CYGWIN__] Add include and define.
8686 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
8687 for Cygwin 1.7.
8688 (make_system_path_relative_to_its_root): Simplify loop, replace early
8689 return by break.
8690 [__CYGWIN__] Add conversion to win32 path.
8691 Include "/" case in trailing slash removal.
8692
3558c6e9
VS
86932010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8694
8695 * kern/main.c (grub_load_config): Fix copy-pasted comment.
8696 Reported by: Seth Goldberg
8697
f5f3ff93
VS
86982010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8699
8700 * commands/help.c (grub_cmd_help): Fix a typo.
8701 Reported by: Seth Goldberg
8702
d8b5cd40
VS
87032010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8704
8705 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
8706 name and add N_.
8707 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
8708 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
8709 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
8710 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
8711 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
8712 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
8713 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
8714 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
8715 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
8716 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
8717 * normal/context.c (GRUB_MOD_INIT): Likewise.
8718 * normal/main.c (GRUB_MOD_INIT): Likewise.
8719 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
8720 * term/serial.c (GRUB_MOD_INIT): Likewise.
8721 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
8722
88c14915
VS
87232010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8724
8725 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
8726 extra == 0.
8727
165134bc
VS
87282010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8729
8730 * commands/iorw.c: New file.
8731 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
8732 (iorw_mod_SOURCES): New variable.
8733 (iorw_mod_CFLAGS): Likewise.
8734 (iorw_mod_LDFLAGS): Likewise.
8735
c5ac9b32
VS
87362010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8737
8738 Hotkey support
8739
8740 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
8741 * normal/main.c (hotkey_aliases): New variable.
8742 (grub_normal_add_menu_entry): Parse "--hotkey".
8743 * normal/menu_text.c (run_menu): Handle hotkeys.
8744
ce60689c
VS
87452010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8746
8747 * kern/i386/coreboot/init.c (grub_machine_init): Call
8748 grub_machine_mmap_init on qemu.
8749
0359d006
VS
87502010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8751
8752 * boot/i386/qemu/boot.S: Add a missing .code16.
8753
7819a456
VS
87542010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8755
8756 Use LBIO on coreboot.
8757
8758 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
8759 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
8760 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
8761 New declaration.
8762 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
8763 grub_machine_mmap_init on coreboot.
8764 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
8765 GRUB_LINUXBIOS_MEMBER_LINK.
8766 (grub_machine_mmap_iterate): Fix declaration.
8767 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
8768
7210dca9
VS
87692010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8770
8771 Split coreboot and multiboot ports.
8772
8773 * conf/i386-multiboot.rmk: New file.
8774 * configure.ac: Add multiboot port.
8775 * include/grub/i386/multiboot/boot.h: New file.
8776 * include/grub/i386/multiboot/console.h: Likewise.
8777 * include/grub/i386/multiboot/init.h: Likewise.
8778 * include/grub/i386/multiboot/kernel.h: Likewise.
8779 * include/grub/i386/multiboot/loader.h: Likewise.
8780 * include/grub/i386/multiboot/memory.h: Likewise.
8781 * include/grub/i386/multiboot/serial.h: Likewise.
8782 * include/grub/i386/multiboot/time.h: Likewise.
8783 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
8784 * loader/multiboot.c: Likewise.
8785 * loader/multiboot_mbi2.c: Likewise.
8786 * util/grub-mkrescue.in: Generate multiboot rescue.
8787
6f8aaf68
VS
87882010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8789
3080f7a7
VS
8790 * kern/parser.c (grub_parser_execute): Cope with read-only config.
8791
87922010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
8793
8794 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
8795
8796 * commands/terminal.c (abstract_terminal): New struct.
8797 (handle_command): New function. Based on grub_cmd_terminal_input.
8798 (grub_cmd_terminal_input): Use handle_command.
8799 (grub_cmd_terminal_output): Use handle_command.
8800
a8ebb841
BC
88012010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
8802
8803 Fix comment handling.
8804
8805 * tests/grub_script_comments.in: New testcase.
8806 * conf/tests.rmk: Rules for new testcase.
8807 * script/yylex.l: Updated flex rules.
8808
bb06ba08
ST
88092010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
8810
8811 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
8812 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
8813 if argc is 1.
bb06ba08 8814
cc9d2425
VS
88152010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
8816
8817 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
8818 autogen issues.
8819
460d8402
CF
88202010-04-26 Christian Franke <franke@computer.org>
8821
8822 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
8823 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
8824 (grub_get_prefix): Remove function.
8825 * util/grub-emu.c (main): Replace grub_get_prefix () call by
8826 make_system_path_relative_to_its_root ().
8827 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
8828
553c01f9
CF
88292010-04-24 Christian Franke <franke@computer.org>
8830
8831 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
8832 (kernel_img_LDFLAGS): Remove -static-libgcc.
8833
2aec1692
CF
88342010-04-24 Christian Franke <franke@computer.org>
8835
8836 * configure.ac: Do not CHECK_BSS_START_SYMBOL
8837 and CHECK_END_SYMBOL if grub-emu is built.
8838 Unset TARGET_OBJ2ELF if grub-emu is built
8839 without module support.
8840
f67dc308
JS
88412010-04-24 Jiro SEKIBA <jir@unicus.jp>
8842
8843 Nilfs2 support.
8844
8845 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
8846 (grub_fstest_SOURCES): Likewise.
8847 (pkglib_MODULES): Add nilfs2.mod.
8848 (nilfs2_mod_SOURCES): New variable.
8849 (nilfs2_mod_CFLAGS): Likewise.
8850 (nilfs2_mod_LDFLAGS): Likewise.
8851 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
8852 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
8853 * fs/nilfs2.c: New file.
8854
4ba8d354
VS
88552010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
8856
8857 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
8858 is not supported.
8859
0d2c20c6
GS
88602010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
8861
8862 Add grub-mkconfig support for NetBSD.
8863
8864 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
8865 * util/grub-mkconfig.in: export new NetBSD specific variables.
8866 * po/POTFILES-shell: added 10_netbsd.in.
8867 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
8868
bc4a2d83
BC
88692010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
8870
8871 Fix emu build with grub-emu-pci and grub-emu-modules.
8872
8873 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
8874 functions.
8875 * include/grub/libpciaccess.h: New file.
8876 * conf/any-emu.rmk: Update kernel headers for emu build.
8877
f48c87aa
VS
88782010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8879
8880 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
8881
18959385
VS
88822010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
8883
8884 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
8885
0037de3f
VS
88862010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8887
8888 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
8889 Retrieve chosen/bootpath if bootpath isn't hardcoded.
8890 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
8891 util/ieee1275/ofpath.c.
8892 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
8893 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
8894 * include/grub/sparc64/ieee1275/boot.h
8895 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
8896 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
8897 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
8898 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
8899 const char *.
8900 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
8901 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
8902 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
8903 install.
8904
38e55e90
GS
89052010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
8906
8907 * util/grub-mkconfig.in: Corrected two == equality tests.
8908 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
8909 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
8910 expect a number appended to it.
8911 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
8912 expects a number appended to it.
8913
a9e6ff28
VS
89142010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8915
8916 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
8917
0b830b8f
VS
89182010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
8919
8920 * util/hostdisk.c (make_device_name): Change to new partition naming.
8921
0973daeb
VS
89222010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
8923
8924 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
8925
460d8402 89262010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
8927
8928 * Makefile.in: Add missing localedir setting.
8929
0b456309
CW
89302010-04-14 Colin Watson <cjwatson@ubuntu.com>
8931
8932 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
8933 mistake in r2156. Noticed by Anthony Fok.
8934
8935 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
8936 @localedir@.
8937 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
8938
08f46d62
BC
89392010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
8940
8941 Fix a spurious, uninitialized variable warning.
8942
8943 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
8944 Initialize variable, shdr.
8945 (grub_freebsd_load_elfmodule): Likewise.
8946 (grub_freebsd_load_elf_meta): Likewise.
8947
8c4a72d4
BC
89482010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
8949
8950 Fix for escaped dollar in double quoted strings.
8951
8952 * script/yylex.l: Updated flex rules.
8953 * conf/tests.rmk: Rule for new testcase.
8954 * tests/grub_script_dollar.in: New testcase.
8955
ce44826e
CPE
89562010-04-13 Carles Pina i Estany <carles@pina.cat>
89572010-04-13 Colin Watson <cjwatson@ubuntu.com>
8958
8959 Enclose all translated strings in grub.cfg in single quotes, and
8960 escape them appropriately (Ubuntu bug #552921).
8961
8962 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
8963 * util/grub.d/10_hurd.in: Use it.
8964 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
8965 * util/grub.d/10_linux.in (linux_entry): Likewise.
8966
4b0cd8f8
VS
89672010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8968
8969 Fix cygwin compilation.
8970
8971 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
8972 * include/grub/misc.h (__register_frame_info)
8973 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
8974 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
8975 * kern/misc.c (__register_frame_info)
8976 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
8977 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
8978
01fcf061
VS
89792010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8980
8981 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
8982
5d04b11e
VS
89832010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
8984
8985 Unify libgcc processing.
8986
8987 * Makefile.in (kernel_img_LDFLAGS): New variable.
8988 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
8989 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
8990 overwriting.
8991 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
8992 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
8993 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
8994 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
8995 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
8996 overwriting. Remove -lgcc and -static-libgcc
8997 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
8998 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
8999 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
9000 (kernel_img_LDFLAGS): Append instead of overwriting.
9001 Remove -lgcc and -static-libgcc
9002 * conf/sparc64-ieee1275.rmk: Likewise.
9003 * include/grub/powerpc/libgcc.h: Move to ...
9004 * include/grub/libgcc.h: .. this.
9005 * include/grub/libgcc.h: Don't export most of the function on x86.
9006 (__bswapsi2): New export.
9007 (__bswapdi2): Likewise.
9008 * include/grub/mips/libgcc.h: Removed.
9009 * include/grub/sparc64/libgcc.h: Likewise.
9010
b7f3ac29
VS
90112010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9012
9013 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
9014 disk_info_msg (conflicts with gettexting into languages with cases).
9015
2c7031b1
GS
90162010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
9017
9018 Add grub-probe support for NetBSD.
9019
9020 * util/getroot.c (find_root_device): Convert block device to
9021 character device on NetBSD.
9022 * util/probe.c (probe): Require character device on NetBSD.
9023 * util/hostdisk.c: NetBSD specific headers.
9024 (configure_device_driver): new function to tune device driver
9025 parameters (currently only for NetBSD floppy driver).
9026 (grub_util_biosdisk_open): NetBSD specific code (get disk size
9027 via disklabel ioctl).
9028 (open_device): call configure_device_driver on NetBSD.
9029 (convert_system_partition_to_system_disk): NetBSD specific code.
9030 (device_is_wholedisk): Likewise.
9031 (grub_util_biosdisk_get_grub_dev): Likewise.
9032 (make_device_name): Fixed a typo in bsd_part_str.
9033 * configure.ac: check for opendisk() and getrawpartition() on
9034 NetBSD and set LIBUTIL.
9035 * Makefile.in: add LIBUTIL to LIBS.
9036
f516290c
BC
90372010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
9038
9039 Documentation fix.
9040
9041 * util/grub-script-check.c: Better help message.
9042
d8dcc0df
BC
90432010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
9044
9045 Fix FreeBSD build.
9046
9047 * configure.ac: Flex version check.
9048 * conf/common.rmk: Add -Wno-error to sh.mod.
9049 * script/yylex.l: Remove all #pragma.
9050
6734334a
VS
90512010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9052
9053 * include/grub/util/misc.h (canonicalise_file_name): Add missing
9054 prototype.
9055 Reported by: Seth Goldberg.
9056
daea6abd
VS
90572010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9058
9059 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
9060 Rename "module" to "module2".
9061 Reported by: Seth Goldberg.
9062
f2fd9d2b
VS
90632010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9064
9065 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
9066 EXPORT_FUNC.
9067 Reported by: Seth Goldberg.
9068
be124579
VS
90692010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9070
9071 * lib/posix_wrap/locale.h: Add missing file.
9072 Reported by: Seth Goldberg.
9073
ef5da797
VS
90742010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
9075
9076 grub-emu module load support.
9077
9078 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
9079 NO_DYNAMIC_MODULES switched to this.
9080 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
9081 (CFLAGS): Likewise.
9082 * conf/any-emu.rmk: Generate symlist.
9083 (kernel_img_HEADERS): Add util/datetime.h.
9084 (kernel_img_HEADERS) [sdl]: Add sdl.h.
9085 (kernel_img_HEADERS) [libusb]: Add libusb.h.
9086 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
9087 kern/$(target_cpu)/cache.S.
9088 * configure.ac (grub-emu-modules): New option.
9089 * genmk.rb: Handle multiple source lists.
9090 * include/grub/sdl.h: New file.
9091 * include/grub/libusb.h: Likewise.
9092 * util/grub-emu.c (main): Hanle (host) root.
9093 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
9094 GRUB_ERR_UNKNOWN_DEVICE.
9095 * util/misc.c: Move mm functions to ...
9096 * util/mm.c: ... here. All users updated.
9097
47822096
VS
90982010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9099
9100 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
9101 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
9102 missing files.
9103 (maintainer-clean): Remove libgcrypt-grub.
9104
5d7e7445
VS
91052010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9106
9107 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
9108
25f4e252
EC
91092010-04-09 EFI Coder <eficoder@hotmail.com>
9110
9111 * normal/menu_text.c (print_message): Clean up the message and show
9112 the Fn information when on EFI
9113 * term/efi/console.c (grub_console_checkkey): Add F4 support.
9114
027de555
VS
91152010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9116
9117 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
9118 All users updated.
9119 * normal/crypto.c (read_crypto_list): Likewise.
9120 * normal/dyncmd.c (read_command_list): Likewise.
9121 * normal/term.c (read_terminal_list): Likewise.
9122 * normal/main.c (read_lists): Use explicit prefix.
9123 (read_lists_hook): Use read_lists.
9124 (grub_normal_execute): Likewise.
9125
47779711
VS
91262010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9127
9128 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
9129 Reported by: Thomas Schmitt.
9130 Add -no-emul-boot to grub-mkisofs parameters.
9131
1118c32e
VS
91322010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9133
9134 * font/font.c: Indented.
9135
7d652447
BC
91362010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
9137
9138 Elif support to GRUB script (by Deepak Vankadaru).
9139
9140 * tests/grub_script_if.in: New testcase.
9141 * conf/tests.rmk: Rule for new testcase.
9142 * script/parser.y: Grammar rules for elif.
9143
34bb22df
BC
91442010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
9145
9146 While and until loops support to GRUB script.
9147
9148 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
9149 (grub_script_create_cmdwhile): New function prototype.
9150 (grub_script_execute_cmdwhile): New function prototype.
9151 * script/execute.c (grub_script_execute_cmdwhile): New function.
9152 * script/parser.y (command): New commands.
9153 (whilecmd): New grammar rule.
9154 (untilcmd): New grammar rule.
9155 * script/script.c (grub_script_create_cmdwhile): New function.
9156 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
9157 function.
9158
9159 * tests/grub_script_while1.in: New testcase.
9160 * conf/tests.rmk: Rule for new testcase.
9161
e215d8e0
VS
91622010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9163
9164 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
9165 as *.jpg.
9166
d7c43ba1
MV
91672010-04-09 Mario Vazquez <mariovazq@gmail.com>
9168
9169 GRUB_BACKGROUND support.
9170
9171 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
9172 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
9173
d64795c0
VS
91742010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9175
9176 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 9177 Idea by: Mario Vazquez
d64795c0
VS
9178
9179 * util/grub.d/00_header.in: Load pf2 and image modules.
9180
f267f83a
VS
91812010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9182
9183 grub-mkconfig multiple terminal support.
9184
9185 * util/grub-mkconfig.in: Handle multiple terminals correctly.
9186 * util/grub.d/00_header.in: Likewise.
9187
b7841ceb
VS
91882010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
9189
9190 * Makefile.in: Specify files explicitly instead of using $< and $@ since
9191 we use cd $(srcdir).
9192
df60998c
CW
91932010-04-08 Colin Watson <cjwatson@ubuntu.com>
9194
9195 * util/grub.d/10_linux.in: Only use the first word of
9196 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
9197 spaces in GRUB_DISTRIBUTOR.
9198 * util/grub.d/10_kfreebsd.in: Likewise.
9199 * util/grub.d/10_hurd.in: Likewise.
9200
fa09c82e
BC
92012010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
9202
14e18ae3 9203 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
9204
9205 * tests/util/grub-shell.in: Remove -serial stdio option.
9206
daf892b3
BC
92072010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
9208
9209 POSIX header file wrappers.
9210
9211 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
9212 equivalents.
9213 * lib/posix_wrap/ctype.h: Likewise.
9214 * lib/posix_wrap/errno.h: Likewise.
9215 * lib/posix_wrap/langinfo.h: Likewise.
9216 * lib/posix_wrap/limits.h: Likewise.
9217 * lib/posix_wrap/localcharset.h: Likewise.
9218 * lib/posix_wrap/stdint.h: Likewise.
9219 * lib/posix_wrap/stdio.h: Likewise.
9220 * lib/posix_wrap/stdlib.h: Likewise.
9221 * lib/posix_wrap/string.h: Likewise.
9222 * lib/posix_wrap/sys/types.h: Likewise.
9223 * lib/posix_wrap/unistd.h: Likewise.
9224 * lib/posix_wrap/wchar.h: Likewise.
9225 * lib/posix_wrap/wctype.h: Likewise.
9226 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
9227 (grub_script.yy.h): Likewise.
9228 * script/yylex.l: Remove POSIX emulation #defines.
9229 * Makefile.in (POSIX_CFLAGS): New variable.
9230 (GNULIB_UTIL_CFLAGS): Likewise.
9231
9232 Regexp support.
9233
9234 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
9235 (regexp_mod_SOURCES): New variable.
9236 (regexp_mod_CFLAGS): Likewise.
9237 (regexp_mod_LDFLAGS): Likewise.
9238 * commands/regexp.c: New file.
9239 * gnulib/regcomp.c: New file. Imported from gnulib.
9240 * gnulib/regex.c: Likewise.
9241 * gnulib/regex_internal.c: Likewise.
9242 * gnulib/regex_internal.h: Likewise.
9243 * gnulib/regexec.c: Likewise.
9244 * gnulib/regex.h: Likewise.
9245
974ac4f7
VS
92462010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9247
9248 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
9249 unsupported video mode types.
9250
2622c3ff
VS
92512010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9252
9253 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
9254
064cb524
VS
92552010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
9256
9257 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
9258 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
9259
a8c3b552
VS
92602010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
9261
9262 Remove unused grub_vga_get_font.
9263
9264 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
9265 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
9266
187bbe3d
GS
92672010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9268
9269 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
9270 * include/grub/misc.h: Likewise.
9271
b9396631
GS
92722010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9273
9274 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
9275 for which failure is fatal.
9276
50479feb
GS
92772010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9278
9279 * util/grub-install.in: Use mkdir -p to create grub directory.
9280 * util/i386/efi/grub-install.in: Likewise.
9281 * util/ieee1275/grub-install.in: Likewise.
9282
b1654fdf
GS
92832010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9284
9285 * Makefile.in (LEX): new variable.
9286
bd5a6415
GS
92872010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
9288
9289 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
9290 `=' and added double quotes on operands of this equality test.
9291
3db3a82b
VS
92922010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
9293
9294 * Makefile.in (uninstall): Remove a leftover debug echo.
9295 Reported by: Grégoire Sutre
9296
38023412
VS
92972010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
9298
9299 MIPS multiboot2 support.
9300
9301 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
9302 (multiboot2_mod_SOURCES): New variable.
9303 (multiboot2_mod_CFLAGS): Likewise.
9304 (multiboot2_mod_LDFLAGS): Likewise.
9305 (multiboot2_mod_ASFLAGS): Likewise.
9306 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
9307 definition.
9308 (MULTIBOOT_ENTRY_REGISTER): Likewise.
9309 (MULTIBOOT_MBI_REGISTER): Likewise.
9310 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
9311 (MULTIBOOT_ELF32_MACHINE): Likewise.
9312 (MULTIBOOT_ELF64_MACHINE): Likewise.
9313 * include/grub/mips/multiboot.h: New file.
9314 * include/grub/video.h (grub_video_driver_id): New type
9315 GRUB_VIDEO_DRIVER_SM712.
9316 (grub_video_get_info_and_fini): Export.
9317 (grub_video_get_palette): Likewise.
9318 (grub_video_get_driver_id): Likewise.
9319 * include/multiboot2.h: Resynced with spec.
9320 * loader/i386/multiboot.c: Moved from here ...
9321 * loader/multiboot.c: ... here. All users updated.
9322 (grub_multiboot_boot): Use platform-specific macros.
9323 * loader/i386/multiboot_elfxx.c: Moved from here ...
9324 * loader/multiboot_elfxx.c: ... here. All users updated.
9325 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
9326 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
9327 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
9328
47674667
VS
93292010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
9330
9331 Import gnulib argp module.
9332
9333 * gnulib/argp-ba.c: New file.
9334 * gnulib/argp-eexst.c: Likewise.
9335 * gnulib/argp-fmtstream.c: Likewise.
9336 * gnulib/argp-fmtstream.h: Likewise.
9337 * gnulib/argp-fs-xinl.c: Likewise.
9338 * gnulib/argp-help.c: Likewise.
9339 * gnulib/argp-namefrob.h: Likewise.
9340 * gnulib/argp-parse.c: Likewise.
9341 * gnulib/argp-pin.c: Likewise.
9342 * gnulib/argp-pv.c: Likewise.
9343 * gnulib/argp-pvh.c: Likewise.
9344 * gnulib/argp-version-etc.c: Likewise.
9345 * gnulib/argp-version-etc.h: Likewise.
9346 * gnulib/argp-xinl.c: Likewise.
9347 * gnulib/argp.h: Likewise.
9348
495442ed
VS
93492010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9350
9351 * kern/device.c (grub_device_iterate): Clear errors after failed
9352 opening device.
9353
f9fd65df
VS
93542010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
9355
9356 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
9357 returned by firmware.
9358
af09641e
VS
93592010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
9360
9361 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
9362 compilation on coreboot and qemu
9363
016883a5
VS
93642010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9365
9366 * include/multiboot2.h: Resync with spec.
9367
f97e1f7d
VS
93682010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
9369
9370 Multiboot2 tag support
9371
9372 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
9373 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
9374 Remove loader/multiboot_loader.c.
9375 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
9376 (grub_multiboot2_real_boot): Likewise.
9377 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
9378 (grub_get_multiboot_mmap_count): New proto.
9379 (grub_fill_multiboot_mmap): Likewise.
9380 (grub_multiboot_set_video_mode): Likewise.
9381 (grub_multiboot_set_console): Likewise.
9382 (grub_multiboot_load): Likewise.
9383 (grub_multiboot_load_elf): Likewise.
9384 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
9385 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
9386 * include/multiboot.h: Resynced with specification.
9387 * include/multiboot2.h: Resynced with specification.
9388 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
9389 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
9390 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
9391 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
9392 users updated.
9393 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
9394 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
9395 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
9396 Removed.
9397 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
9398 Moved from here...
9399 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
9400 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
9401 Moved from here...
9402 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
9403 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
9404 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
9405 All users updated.
9406 * loader/i386/multiboot_mbi2.c: New file.
9407
3506b90b
VS
94082010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9409
9410 Resync with gnulib.
9411
9412 * Makefile.in (GNULIB_CFLAGS): New variable.
9413 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
9414 (grub_script_check_CFLAGS): New variable.
9415 * gnulib/alloca.h: Resync with gnulib.
9416 * gnulib/error.c: Likewise.
9417 * gnulib/error.h: Likewise.
9418 * gnulib/fnmatch.c: Likewise.
9419 * gnulib/fnmatch_loop.c: Likewise.
9420 * gnulib/getdelim.c: Likewise.
9421 * gnulib/getline.c: Likewise.
9422 * gnulib/getopt.c: Likewise.
9423 * gnulib/getopt1.c: Likewise.
9424 * gnulib/getopt_int.h: Likewise.
9425 * gnulib/gettext.h: Likewise.
9426 * gnulib/progname.c: Likewise.
9427 * gnulib/progname.h: Likewise.
9428
394a3120
GS
94292010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
9430
9431 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
9432 which is the case with --disabled-nls.
9433
9434 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
9435 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
9436 * util/misc.c: Likewise.
9437 * util/mkisofs/mkisofs.c: Likewise.
9438 * util/mkisofs/mkisofs.h: Likewise.
9439
969d1c78
VS
94402010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
9441
9442 Simplify Apple CC support.
9443
9444 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
9445 Add 0 byte at the end not to have a symbol with empty target.
9446 * mmap/i386/pc/mmap_helper.S: Likewise.
9447 * genmk.rb: Ignore errors 2030 and 2050.
9448 * kern/i386/pc/startup.S: Use LOCAL when possible.
9449
8d2977bb
BC
94502010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
9451
9452 Testcase and the fix for final semicolon on cmdline.
9453
9454 * tests/grub_script_final_semicolon.in: New testcase.
9455 * conf/tests.rmk: Rules for the new testcase.
9456 * script/parser.y: Grammar fix.
9457
a7bd6915
BC
94582010-03-26 BVK Chaitanya <bvk@localhost>
9459
9460 Blank lines testcase for GRUB script.
9461
9462 * tests/grub_script_blanklines.in: New testcase.
9463 * conf/tests.rmk: Rules for the new testcase.
9464
e4ff6628
VS
94652010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9466
9467 Don't use __FILE__.
9468
9469 * genmk.rb: Add -DGRUB_FILE to all C targets.
9470 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
9471 * include/grub/list.h: Likewise.
9472 * include/grub/misc.h: Likewise.
9473 * include/grub/mm.h: Likewise.
9474 * include/grub/test.h: Likewise.
9475 * kern/mm.c: Likewise.
9476 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
9477
6a5cf6b6
VS
94782010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9479
9480 Sunpc partitions support.
9481
9482 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
9483 (grub_fstest_SOURCES): Likewise.
9484 (pkglib_MODULES): Add part_sunpc.mod.
9485 (part_sunpc_mod_SOURCES): New variable.
9486 (part_sunpc_mod_CFLAGS): Likewise.
9487 (part_sunpc_mod_LDFLAGS): Likewise.
9488 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
9489 * partmap/sunpc.c: New file.
9490
746d9045
BC
94912010-03-26 BVK Chaitanya <bvk@localhost>
9492
9493 For loop support to GRUB script.
9494
9495 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
9496 (grub_script_create_cmdfor): New function prototype.
9497 (grub_script_execute_cmdfor): New function prototype.
9498 * script/execute.c (grub_script_execute_cmdfor): New function.
9499 * script/parser.y (command): New for command.
9500 (forcmd): New grammar rule.
9501 * script/script.c (grub_script_create_cmdfor): New function.
9502 * util/grub-script-check.c (grub_script_execute_cmdfor): New
9503 function.
9504 * tests/grub_script_for1.in: New testcase.
9505 * conf/tests.rmk: Rules for new testcase.
9506
18486b18
VS
95072010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
9508
9509 Nested partitions
9510
9511 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
9512 'partition' is NULL, grub_partition_get_start already does that.
9513 * commands/loadenv.c (check_blocklists): Likewise.
9514 (write_blocklists): Likewise.
9515 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
9516 (grub_fstest_SOURCES): Likewise.
9517 (pkglib_MODULES): Add part_bsd.mod.
9518 (part_bsd_mod_SOURCES): New variable.
9519 (part_bsd_mod_CFLAGS): Likewise.
9520 (part_bsd_mod_LDFLAGS): Likewise.
9521 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
9522 (grub_emu_SOURCES): Likewise.
9523 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9524 * include/grub/bsdlabel.h: New file.
9525 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
9526 'get_name'.
9527 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
9528 (grub_partition_map_list): New variable.
9529 (grub_partition_map_register): Inline.
9530 (grub_partition_map_unregister): Likewise.
9531 (FOR_PARTITION_MAPS): New macro.
9532 (grub_partition_map_iterate): Removed.
9533 (grub_partition_get_start): Handle nested partitions.
9534 * include/grub/msdos_partition.h: Remove bsd-related entries.
9535 (grub_pc_partition): Remove.
9536 * kern/disk.c (grub_disk_close): Free partition data.
9537 (grub_disk_adjust_range): Handle nested partitions.
9538 * kern/partition.c (grub_partition_map_probe): New function.
9539 (grub_partition_probe): Parse name to number, handle subpartitions.
9540 (get_partmap): New function.
9541 (grub_partition_iterate): Handle subpartitions.
9542 (grub_partition_get_name): Likewise.
9543 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
9544 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
9545 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
9546 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
9547 Set 'number'.
9548 (acorn_partition_map_probe): Remove.
9549 (acorn_partition_map_get_name): Likewise.
9550 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
9551 Set 'number'.
9552 Set 'index' to 0 since there can be only one partition entry per sector.
9553 (amiga_partition_map_probe): Remove.
9554 (amiga_partition_map_get_name): Likewise.
9555 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
9556 Set 'number'.
9557 Set 'offset' and 'index' to real positions of partitions.
9558 (apple_partition_map_probe): Remove.
9559 (apple_partition_map_get_name): Likewise.
9560 * partmap/bsdlabel.c: New file.
9561 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
9562 Set 'number'.
9563 Allocate 'data' so it can be correctly freed.
9564 Set 'index' to offset inside sector.
9565 (gpt_partition_map_probe): Remove.
9566 (gpt_partition_map_get_name): Likewise.
9567 * partmap/msdos.c (grub_partition_parse): Remove.
9568 (pc_partition_map_iterate): Don't force raw access.
9569 Set 'number'.
9570 Make 'ext_offset' a local variable.
9571 (pc_partition_map_probe): Remove.
9572 (pc_partition_map_get_name): Remove.
9573 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
9574 Set 'number'.
9575 (sun_partition_map_probe): Remove.
9576 (sun_partition_map_get_name): Likewise.
9577 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
9578 (grub_pcpart_type): Likewise.
9579 * util/hostdisk.c (open_device): Handle new numbering scheme.
9580 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
9581 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
9582 * util/grub-probe.c (probe_partmap): Handle nested paritions.
9583 * util/grub-install.in: Insert all subpartition modules.
9584 * util/ieee1275/grub-install.in: Likewise.
9585
a3940f88
AG
95862010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
9587
9588 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
9589 grammar.
9590
21b99926 95912010-03-24 Colin Watson <cjwatson@ubuntu.com>
9592
9593 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
9594
bed1d352
CW
95952010-03-21 Colin Watson <cjwatson@ubuntu.com>
9596
9597 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
9598 match where 'make install' puts them.
9599 * util/i386/efi/grub-install.in: Likewise.
9600
c9f58427
CW
96012010-03-19 Colin Watson <cjwatson@ubuntu.com>
9602
9603 * .bzrignore: Add gentrigtables, grub-script-check,
9604 grub_script_check_init.c, grub_script_check_init.h, and
9605 trigtables.c.
9606
f84afb27
VS
96072010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
9608
9609 * kern/parser.c: Indented.
9610
ed0e3d30
VS
96112010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
9612
9613 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
9614
0ea81d98
VS
96152010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
9616
9617 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
9618 alpha_mask_size == 0 case.
9619
0cdc2a09
BC
96202010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
9621
9622 GRUB shell lexer and parser improvements.
9623
9624 * conf/any-emu.rmk: Build rule updates.
9625 * conf/common.rmk: Likewise.
9626 * conf/i386-coreboot.rmk: Likewise.
9627 * conf/i386-efi.rmk: Likewise.
9628 * conf/i386-ieee1275.rmk: Likewise.
9629 * conf/i386-pc.rmk: Likewise.
9630 * conf/powerpc-ieee1275.rmk: Likewise.
9631 * conf/x86_64-efi.rmk: Likewise.
9632
9633 * configure.ac: Configure check for flex.
9634
9635 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
9636 types.
9637 (grub_lexer_param): Struct member updates.
9638 (grub_parser_param): Likewise.
9639 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
9640 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
9641 (grub_script_lexer_init): Prototype update.
9642 (grub_script_lexer_record_start): Likewise.
9643 (grub_script_lexer_record_stop): Likewise.
9644 (grub_script_lexer_yywrap): New function prototype.
9645 (grub_script_lexer_fini): Likewise.
9646 (grub_script_execute_argument_to_string): Removed by...
9647 (grub_script_execute_argument_to_argv): ...better version.
9648
9649 * script/execute.c (ROUND_UPTO): New macro.
9650 (grub_script_execute_cmdline): Out of memory fixes.
9651 (grub_script_execute_menuentry): Likewise.
9652 (grub_script_execute_argument_to_string): Removed. Update all
9653 users by...
9654 (grub_script_execute_argument_to_argv): ...better version.
9655 * script/function.c (grub_script_function_create): Use
9656 grub_script_execute_argument_to_argv instead of
9657 grub_script_execute_argument_to_string.
9658
9659 * script/lexer.c (check_varstate): Removed.
9660 (check_textstate): Removed.
9661 (grub_script_lexer_record_start): Likewise.
9662 (grub_script_lexer_record_stop): Likewise.
9663 (recordchar): Replaced with...
9664 (grub_script_lexer_record): ...new function.
9665 (nextchar): Removed.
9666 (grub_script_lexer_init): Rewritten.
9667 (grub_script_yylex): Rewritten.
9668 (append_newline): New function.
9669 (grub_script_lexer_yywrap): New function.
9670 (grub_script_lexer_fini): New function.
9671 (grub_script_yyerror): Sets error flag.
9672
9673 * script/yylex.l: New file.
9674 (grub_lexer_yyfree): Wrapper for flex yyffre.
9675 (grub_lexer_yyalloc): Likewise.
9676 (grub_lexer_yyrealloc): Likewise.
9677 * script/parser.y: Refactored.
9678
9679 * script/script.c (grub_script_arg_add): Out of memory fixes.
9680 (grub_script_add_arglist): Likewise.
9681 (grub_script_create_cmdline): Likewise.
9682 (grub_script_create_cmdmenu): Likewise.
9683 (grub_script_add_cmd): Likewise.
9684 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
9685 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
9686 unnecessary code.
9687
9688 * tests/grub_script_echo1.in: New testcase.
9689 * tests/grub_script_vars1.in: New testcase.
9690 * tests/grub_script_echo_keywords.in: New testcase.
9691
1d63a066
VS
96922010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9693
9694 Remove some redundancy in build system.
9695
9696 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
9697 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
9698 (TARGET_LDFLAGS): Add -nostdlib.
9699 (TARGET_IMG_LDFLAGS): Likewise.
9700 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
9701 anything since mmap isn't available.
9702 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
9703 Add util/time.c.
9704 (pkglib_MODULES): Remove reboot.mod.
9705 (reboot_mod_SOURCES): Removed.
9706 (reboot_mod_CFLAGS): Likewise.
9707 (reboot_mod_LDFLAGS): Likewise.
9708 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
9709 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
9710 (DEFSYMFILES): Add kernel_syms.lst.
9711 (kernel_img_HEADERS): Add common headers.
9712 (symlist.c): New target.
9713 (kernel_syms.lst): Likewise.
9714 (pkglib_MODULES): Add memdisk.mod.
9715 (memdisk_mod_SOURCES): New variable.
9716 (memdisk_mod_CFLAGS): Likewise.
9717 (memdisk_mod_LDFLAGS): Likewise.
9718 (pkglib_MODULES): Add reboot.mod.
9719 (reboot_mod_SOURCES): New variable.
9720 (reboot_mod_CFLAGS): Likewise.
9721 (reboot_mod_LDFLAGS): Likewise.
9722 (pkglib_MODULES): Add date.mod.
9723 (date_mod_SOURCES): New variable.
9724 (date_mod_CFLAGS): Likewise.
9725 (date_mod_LDFLAGS): Likewise.
9726 (pkglib_MODULES): Add datehook.mod.
9727 (datehook_mod_SOURCES): New variable.
9728 (datehook_mod_CFLAGS): Likewise.
9729 (datehook_mod_LDFLAGS): Likewise.
9730 (pkglib_MODULES): Add lsmmap.mod.
9731 (lsmmap_mod_SOURCES): New variable.
9732 (lsmmap_mod_CFLAGS): Likewise.
9733 (lsmmap_mod_LDFLAGS): Likewise.
9734 (pkglib_MODULES): Add boot.mod.
9735 (boot_mod_SOURCES): New variable.
9736 (boot_mod_CFLAGS): Likewise.
9737 (boot_mod_LDFLAGS): Likewise.
9738 * conf/i386-coreboot.rmk: Removed redundant parts.
9739 * conf/i386-ieee1275.rmk: Likewise.
9740 * conf/i386-pc.rmk: Likewise.
9741 * conf/mips-yeeloong.rmk: Likewise.
9742 * conf/mips.rmk: Likewise.
9743 * conf/powerpc-ieee1275.rmk: Likewise.
9744 * conf/sparc64-ieee1275.rmk: Likewise.
9745 * conf/x86_64-efi.rmk: Likewise.
9746 * conf/i386-coreboot.rmk: Moved qemu parts ..
9747 * conf/i386-qemu.rmk: ... here
9748 * conf/i386-efi.rmk: Moved common parts to...
9749 * conf/x86-efi.rmk: ... here.
9750 * conf/i386.rmk: Added modules common to all x86 variants.
9751 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
9752 * disk/memdisk.c: Remove grub/machine/kernel.h.
9753 * gensymlist.sh.in: Include symbol.h.
9754 * hook/datehook.c: Correct module name.
9755 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
9756 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
9757 * include/grub/i386/efi/serial.h: New file.
9758 * include/grub/x86_64/efi/serial.h: Likewise.
9759 * util/time.c: Likewise.
9760 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
9761
463ac55f
CK
97622010-03-14 Colin King <colin.king@ubuntu.com>
97632010-03-14 Colin Watson <cjwatson@ubuntu.com>
9764
9765 Shrink the pre-partition-table part of boot.img by eight bytes.
9766
9767 * boot/i386/pc/boot.S (ERR): New macro.
9768 (chs_mode): Use ERR.
9769 (geometry_error): Likewise.
9770 (hd_probe_error): Remove. This is only used once, so we wrwite
9771 it inline instead.
9772 (read_error): Instead of printing read_error_string, just set up
9773 %si and fall through to ...
9774 (error_message): ... this new function, also used by ERR.
9775
08e46ede
CW
97762010-03-14 Colin Watson <cjwatson@ubuntu.com>
9777
9778 Speed up consecutive hostdisk operations on the same device.
9779
9780 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
9781 (grub_util_biosdisk_open): Initialise disk->data.
9782 (struct linux_partition_cache): New structure.
9783 (linux_find_partition): Cache partition start positions; these are
9784 expensive to compute on every read and write.
9785 (open_device): Cache open file descriptor in disk->data, so that we
9786 don't have to reopen it and flush the buffer cache for consecutive
9787 operations on the same device.
9788 (grub_util_biosdisk_close): New function.
9789 (grub_util_biosdisk_dev): Set `close' member.
9790
9791 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
9792 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
9793 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
9794 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
9795 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
9796
4a6d2d06
VS
97972010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9798
9799 Compile parts of grub-emu as modules.
9800
9801 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
9802 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
9803 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
9804 (all-local): Add $(GRUB_EMU).
9805 (install-local): Install $(GRUB_EMU).
9806 (uninstall): Uninstall $(GRUB_EMU).
9807 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
9808 * kern/dl.c: Likewise.
9809 * commands/sleep.c: Not include machine/time.h.
9810 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
9811 (COMMON_CFLAGS): Likewise.
9812 (sbin_UTILITIES): Remove grub-emu.
9813 (grub_emu_SOURCES): Removed.
9814 (kernel_img_RELOCATABLE): New variable.
9815 (pkglib_PROGRAMS): Add kernel.img.
9816 (kernel_img_SOURCES): New variable
9817 (kernel_img_CFLAGS): Likewise.
9818 (kernel_img_LDFLAGS): Likewise.
9819 (TARGET_NO_STRIP): Likewise.
9820 (TARGET_NO_DYNAMIC_MODULES): Likewise.
9821 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
9822 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
9823 (grub-emu): New target.
9824 (GRUB_EMU): New variable.
9825 * configure.ac: Whitelist -emu as possible x86_64 architecture.
9826 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
9827 * loader/xnu.c: Likewise.
9828 * include/grub/pci.h: Likewise.
9829 * genemuinit.sh: New file.
9830 * genemuinitheader.sh: Likewise.
9831 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
9832 Support TARGET_NO_DYNAMIC_MODULES.
9833 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
9834 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
9835 * disk/loopback.c: Likewise.
9836 * font/font_cmd.c: Likewise.
9837 * partmap/acorn.c: Likewise.
9838 * partmap/amiga.c: Likewise.
9839 * partmap/apple.c: Likewise.
9840 * partmap/gpt.c: Likewise.
9841 * partmap/msdos.c: Likewise.
9842 * partmap/sun.c: Likewise.
9843 * parttool/msdospart.c: Likewise.
9844 * term/gfxterm.c: Likewise.
9845 * video/bitmap.c: Likewise.
9846 * video/readers/jpeg.c: Likewise.
9847 * video/readers/png.c: Likewise.
9848 * video/readers/tga.c: Likewise.
9849 * video/video.c: Likewise.
9850 * util/grub-emu.c (read_command_list): Removed.
9851 (main): Don't call util_init_nls.
9852 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
9853 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
9854
91fdd2ed
VS
98552010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9856
9857 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
9858 date.mod, datehook.mod.
9859 (datetime_mod_SOURCES): New variable.
9860 (datetime_mod_CFLAGS): Likewise.
9861 (datetime_mod_LDFLAGS): Likewise.
9862 (date_mod_SOURCES): Likewise.
9863 (date_mod_CFLAGS): Likewise.
9864 (date_mod_LDFLAGS): Likewise.
9865 (datehook_mod_SOURCES): Likewise.
9866 (datehook_mod_CFLAGS): Likewise.
9867 (datehook_mod_LDFLAGS): Likewise.
9868 * conf/sparc64-ieee1275.rmk: Likewise.
9869 * lib/ieee1275/datetime.c: New file.
9870
873ccae6
VS
98712010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9872
9873 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
9874 (ieee1275_fb_mod_SOURCES): New variable.
9875 (ieee1275_fb_mod_CFLAGS): Likewise.
9876 (ieee1275_fb_mod_LDFLAGS): Likewise.
9877 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
9878 New proto.
9879 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
9880 (HEAP_MAX_ADDR): Likewise.
9881 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
9882 type.
9883 Correct stop condition.
9884 (grub_ieee1275_devices_iterate): New function.
9885 * video/ieee1275.c: New file.
9886
601c97c0
VS
98872010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
9888
9889 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
9890
9891 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
9892 as scratch.
9893 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
9894 SCRATCH_PAD_DISKBOOT as scratch.
9895 (bootit): Pass Openfirmware pointer in %o4.
9896 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
9897 of 0x200000.
9898 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
9899 with util/grub-mkrawimage.c.
9900 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
9901 * include/grub/aout.h (AOUT_MID_SUN): New definition.
9902 (grub_aout_get_type) [GRUB_UTIL]: Removed.
9903 (grub_aout_load) [GRUB_UTIL]: Likewise.
9904 * include/grub/kernel.h (grub_modules_get_end): New proto.
9905 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
9906 (SCRATCH_PAD_BOOT): New definition.
9907 (SCRATCH_PAD_DISKBOOT): Likewise.
9908 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
9909 * include/grub/sparc64/ieee1275/ieee1275.h
9910 (grub_ieee1275_original_stack): New variable
9911 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
9912 New definition
9913 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
9914 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
9915 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
9916 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
9917 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
9918 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
9919 (grub_platform_image_format_t): New type.
9920 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
9921 * kern/main.c (grub_modules_get_end)
9922 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
9923 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
9924 (codestart): Switch stacks.
9925 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
9926 variable.
9927 (grub_heap_init): Use grub_modules_get_end.
9928 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
9929 stack.
9930 * util/grub-mkrawimage.c (generate_image): Support sparc64.
9931 (main): Likewise.
9932 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
9933
d68b491e
TG
99342010-03-14 Thorsten Glaser <tg@mirbsd.org>
9935
9936 * util/grub-mkrescue.in: Base ISO UUID on UTC.
9937
4e02ed50
MK
99382010-03-08 Matt Kraai <kraai@ftbfs.org>
9939
9940 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
9941 bug #559005).
9942
1f15fc1e
VS
99432010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
9944
9945 * genmoddep.awk: Output all missing symbols and not only first.
9946
fce5d8ff
VS
99472010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9948
9949 * NEWS: Put the date of 1.98 release.
9950
d1e8a02f
VS
99512010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9952
9953 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
9954 ft2build.h.
9955
696fd607
VS
99562010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9957
9958 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
9959 completition in the middle of string.
9960
33e2e6f3
VS
99612010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9962
9963 * util/grub-mkrescue.in: Use mktemp with explicit template.
9964
b1f6d291
VS
99652010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9966
9967 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
9968
2ac227c7
VS
99692010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
9970
9971 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
9972 right pointer.
9973
8f9a632b
VS
99742010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9975
9976 Fix FreeBSD compilation.
9977
9978 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
9979 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
9980
60b03859
VS
99812010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
9982
9983 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
9984
48a5a769
VS
99852010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9986
9987 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
9988
3ab4bd77
VS
99892010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
9990
9991 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
9992
d116e0d8
RM
99932010-03-04 Robert Millan <rmh.grub@aybabtu.com>
9994
9995 Support relative image path in theme file.
9996
9997 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
9998 (image_set_property): Handle theme_dir and relative path.
9999
c7ef54aa
VS
100002010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10001
10002 * configure.ac: Alias amd64 to x86_64.
10003
fcee14ed
VS
100042010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10005
10006 * NEWS: mention multiboot on EFI.
10007
d0780363
VS
100082010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10009
10010 * kern/main.c (grub_load_modules): Handle errors from init functions of
10011 embeded modules.
10012
41168ea4
VS
100132010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10014
10015 * normal/autofs.c (autoload_fs_module): Handle errors.
10016
b54d93ac
VS
100172010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10018
10019 Disable linux.mod on qemu-mips since it's not functional and leads
10020 to compilation failure.
10021
10022 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
10023 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
10024 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
10025 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
10026 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
10027 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
10028 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
10029 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
10030 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
10031 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
10032 Reported by: BVK Chaitanya
10033
fc8345da
JU
100342010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
10035
10036 * INSTALL: Add gettext as a dependency and add qemu to a new section
10037 "Prerequisites for make-check".
10038
4760f979
CF
100392010-03-04 Christian Franke <franke@computer.org>
10040
10041 * util/grub-pe2elf.c: Add missing include "progname.h".
10042
f209b5b2
VS
100432010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10044
10045 * normal/crypto.c (read_crypto_list): Fix a typo.
10046 Reported by: Seth Goldberg.
10047
b4b7be98
VS
100482010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10049
10050 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 10051 Reported by: Seth Goldberg.
b4b7be98 10052
c0ee0385
VS
100532010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10054
10055 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
10056 ascii.bitmaps.
10057
a8efbf64
VS
100582010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10059
10060 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 10061 Reported by: Seth Goldberg.
a8efbf64 10062
08dcd913
VS
100632010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
10064
10065 * util/i386/efi/grub-install.in: Copy gettext files.
10066
c4d0b332
VS
100672010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10068
10069 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
10070
c6f2fe52
VS
100712010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10072
10073 Wait for user entry basing on presence of output rather than on errors.
10074
10075 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
10076 (grub_install_newline_hook): Likewise.
10077 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
10078 * normal/menu.c (show_menu): Check line_counter to determine presence
10079 of output.
10080 * normal/term.c (grub_normal_line_counter): New variable.
10081 (grub_normal_get_line_counter): New function.
10082 (grub_install_newline_hook): Likewise.
10083
5382b1e4
VS
100842010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10085
10086 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
10087
5519963b
VS
100882010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
10089
10090 * configure.ac: Update version to 1.98.
10091
72b28631
VS
100922010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
10093
10094 * util/grub.d/10_linux.in (linux_entry): Don't default to
10095 gfxpayload=keep if Linux doesn't support video handover.
10096
c140a180
VS
100972010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
10098
10099 Don't compile video modules on yeeloong since video subsystem is part
10100 of kernel.
10101
10102 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
10103 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
10104 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
10105 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
10106 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
10107 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
10108 * include/grub/bitmap_scale.h: Likewise.
10109 * include/grub/bufio.h: Likewise.
10110 * include/grub/font.h: Likewise.
10111 * include/grub/gfxterm.h: Likewise.
10112 * include/grub/video.h: Likewise.
10113 * include/grub/vbe.h: Don't include video_fb.h.
10114 * video/i386/pc/vbe.c: Include video_fb.h.
10115 * commands/i386/pc/vbetest.c: Include video.h.
10116
a0ca21c2
CW
101172010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
10118
10119 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
10120 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
10121 default entry if GRUB_SAVEDEFAULT=true. This allows using
10122 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
10123 saving a new default on every boot.
10124
4a8a763c
VS
101252010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10126
10127 * normal/crypto.c (read_crypto_list): Fix a memory leak.
10128 * normal/term.c (read_terminal_list): Likewise.
10129 * normal/main.c (grub_normal_init_page): Likewise.
10130 (grub_normal_read_line_real): Likewise.
10131
607ffde2
VS
101322010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
10133
10134 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
10135 memory leak.
10136 Reported by: Seth Goldberg.
10137
2b8fa975
CW
101382010-02-24 Joey Korkames <joey+lists@kidfixit.com>
10139
10140 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
10141 duplicate declaration of `start'.
10142
618307dd
VS
101432010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
10144
10145 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
10146 filename.
10147 Reported by: Georgy Buranov
10148
7dd05b96 101492010-02-20 Carles Pina i Estany <carles@pina.cat>
10150
10151 * util/grub-mkrawimage.c (usage): Change string formatting to
10152 improve gettext.
10153
d1484a42
MRA
101542010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
10155
10156 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
10157 backspace keys.
10158
42b1d186
VS
101592010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
10160
10161 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
10162 Reported by: Michael Suchanek.
10163
101642010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
10165
10166 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
10167 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
10168
d9f31a41
VS
101692010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
10170
10171 Remove any reference to non-free fonts.
10172
10173 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
10174 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
10175 uses non-free components.
10176 * font/font.c (grub_font_get_name): Remove example name.
10177 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
10178 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
10179 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
10180 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
10181
2793c71e
GB
101822010-02-16 Georgy Buranov <gburanov@gmail.com>
10183
10184 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
10185
402e3779
VS
101862010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
10187
10188 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
10189 Double divisor.
10190 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
10191 features.
10192 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
10193
0dd1e0dd
VS
101942010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
10195
10196 * gensymlist.sh.in: Use TARGET_CC instead of CC.
10197
6fa7cfce
ST
101982010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10199
10200 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
10201 * docs/grub.texi (Command-line and menu entry commands): Document play
10202 command.
10203
37c8483b
ST
102042010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10205
10206 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
10207 parse arguments as inline tempo and notes. Move code for playing notes
10208 to...
10209 (play): ... new function.
10210
14da0fb7
ST
102112010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
10212
10213 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
10214 grub_uint16_t instead of short.
10215 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
10216 disk from little endian to cpu endianness.
10217
04459e70
ST
102182010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
10219
10220 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
10221 GRUB_TICKS_PER_SECOND instead of 120.
10222
a0876943
VS
102232010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10224
10225 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
10226 escape sequence after \e.
10227
e29f95dc
VS
102282010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10229
10230 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
10231 non-ASCII characters.
10232
d27859b2
VS
102332010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10234
10235 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
10236 set root in single quotes to prevent \, from being unescaped.
10237
bc028f2f
VS
102382010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10239
10240 Prevent unknown commands from stopping menuentry execution.
10241
10242 * script/execute.c (grub_script_execute_cmdline): Print error after
10243 unknown command.
10244
095f5f82
VS
102452010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
10246
10247 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
10248 Reported by: Pavel Pisa.
10249
8c717950
VS
102502010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10251
10252 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
10253
904935c3
VS
102542010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10255
10256 Merge grub_ieee1275_map_physical into grub_map and rename to
10257 grub_ieee1275_map
10258
10259 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
10260 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
10261 Remove.
10262 * kern/ieee1275/openfw.c (grub_map): Rename to ...
10263 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
10264 necessary.
10265 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
10266
5b59a4e3
VS
102672010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10268
10269 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
10270 opening and not after.
10271
69e137e8
VS
102722010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10273
10274 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
10275 constants.
10276
2c0fcc36
VS
102772010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10278
10279 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
10280 (alloc_phys): Use ALIGN_UP instead of align_addr.
10281
8c6052ce
VS
102822010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10283
10284 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
10285
17cec782
VS
102862010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10287
10288 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
10289
e0128bbd
VS
102902010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10291
10292 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
10293 verbose dprintf.
10294
ca62070b
VS
102952010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10296
10297 Fix over-4GiB seek on sparc64.
10298
10299 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
10300 Replace pos_i and pos_lo with pos. All users updated.
10301 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
10302 New constant.
10303 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
10304 Likewise.
10305 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
10306 and pos_lo.
10307
bdca2607
VS
103082010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10309
10310 * util/grub-mkrawimage.c (main): Call set_program_name.
10311
da278c4d
VS
103122010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10313
10314 Properly align 64-bit targets.
10315
10316 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
10317 (generate_image): Use ALIGN_ADDR.
10318
b274d734
VS
103192010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10320
10321 Properly create cross-endian images.
10322
10323 * include/grub/types.h (grub_host_to_target_addr): New macro
10324 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
10325
82da2062
VS
103262010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
10327
10328 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
10329
7cae4377
VS
103302010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10331
10332 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
10333
10334 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
10335 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
10336 (grub_linux_boot): Divide by 64K when on VESA.
10337
65a533e7
VS
103382010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10339
10340 Support GRUB_GFXPAYLOAD_LINUX.
10341
10342 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
10343 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
10344
dd01d397
VS
103452010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
10346
10347 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
10348 to show messages instead of discarding them.
10349 Process errors after executing command and not before. Keep old method
10350 too as precaution.
10351
660960d6
VS
103522010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
10353
10354 * configure.ac: Check for ft2build.h.
10355
62509f04
VS
103562010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10357
10358 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
10359
473df63d
VS
103602010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10361
10362 * genkernsyms.sh.in: Use TARGET_CC.
10363
c98d2a13
CW
103642010-02-07 Colin Watson <cjwatson@ubuntu.com>
10365
10366 * NEWS: Update.
10367
6e14234c
VS
103682010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10369
10370 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
10371 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
10372 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 10373
b255e9cf
YB
103742010-02-07 Yves Blusseau <blusseau@zetam.org>
10375
6e14234c 10376 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 10377
98e6959d
VS
103782010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10379
10380 Fix warnings in grub-emu when compiling with maximum warning options.
10381
10382 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
10383 (grub_arch_modules_addr): Return 0 and not NULL.
10384 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 10385 (xstrdup): Use newstr instead of dup.
f88d801b
VS
10386 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
10387 of disk to dsk to avoid shadowing.
74e4934e
VS
10388 (find_free_slot): Fix prototype.
10389 * util/getroot.c (grub_util_is_dmraid): Make static.
10390 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
10391 Add missing prototype.
10392 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 10393
74e31b5c
VS
103942010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10395
10396 * loader/i386/linux.c (grub_linux_setup_video): Handle error
10397 appropriately.
10398
6b2ad14b
VS
103992010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10400
10401 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
10402 code out.
10403
8f891adc
VS
104042010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10405
10406 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
10407 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
10408 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
10409 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
10410 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
10411 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
10412
74b45184
VS
104132010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10414
10415 * include/grub/err.h (grub_err_printf): Don't export.
10416
a4bced77
VS
104172010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10418
10419 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
10420
007d0695
VS
104212010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
10422
10423 * include/grub/i18n.h (grub_gettext_dummy): Removed.
10424 * kern/misc.c (grub_gettext_dummy): Make static.
10425
b6c0d9c2
VS
104262010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10427
10428 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
10429 by non-valid ones.
10430 * kern/term.c (grub_putchar): Likewise.
10431
f51a90d0
VS
104322010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10433
10434 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
10435 buggy hook call and memory leak.
10436
6846cec5
VS
104372010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10438
10439 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
10440
468d69fe
VS
104412010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10442
10443 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
10444
51906b8c
VS
104452010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10446
10447 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
10448 modevar.
10449 Return grub_errno on allocation error.
10450
09706ce5
VS
104512010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10452
10453 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
10454
911df80c
YB
104552010-02-06 Yves Blusseau <blusseau@zetam.org>
10456
10457 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
10458 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
10459
3746a6bc
VS
104602010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10461
10462 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
10463 non-pxe disk.
10464 (grub_pxefs_open): Likewise.
10465
09706ce5
VS
104662010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10467
10468 * util/grub.d/10_hurd.in: Add --class information to menuentries.
10469 * util/grub.d/10_kfreebsd.in: Likewise.
10470 * util/grub.d/10_linux.in: Likewise.
10471
7cc192d9
VS
104722010-02-06 Colin D Bennett <colin@gibibit.com>
10473
10474 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
10475 (gfxmenu_mod_SOURCES): New variable.
10476 (gfxmenu_mod_CFLAGS): Likewise.
10477 (gfxmenu_mod_LDFLAGS): Likewise.
10478 * include/grub/term.h (grub_term_set_current_output): Declare
10479 argument as const.
10480 * docs/gfxmenu-theme-example.txt: New file.
10481 * gfxmenu/gfxmenu.c: Likewise.
10482 * gfxmenu/gui_box.c: Likewise.
10483 * gfxmenu/gui_canvas.c: Likewise.
10484 * gfxmenu/gui_circular_progress.c: Likewise.
10485 * gfxmenu/gui_image.c: Likewise.
10486 * gfxmenu/gui_label.c: Likewise.
10487 * gfxmenu/gui_list.c: Likewise.
10488 * gfxmenu/gui_progress_bar.c: Likewise.
10489 * gfxmenu/gui_string_util.c: Likewise.
10490 * gfxmenu/gui_util.c: Likewise.
10491 * gfxmenu/icon_manager.c: Likewise.
10492 * gfxmenu/model.c: Likewise.
10493 * gfxmenu/named_colors.c: Likewise.
10494 * gfxmenu/theme_loader.c: Likewise.
10495 * gfxmenu/view.c: Likewise.
10496 * gfxmenu/widget-box.c: Likewise.
10497 * include/grub/gfxmenu_model.h: Likewise.
10498 * include/grub/gfxmenu_view.h: Likewise.
10499 * include/grub/gfxwidgets.h: Likewise.
10500 * include/grub/gui.h: Likewise.
10501 * include/grub/gui_string_util.h: Likewise.
10502 * include/grub/icon_manager.h: Likewise.
10503
105042010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10505
10506 Agglomerate scrolling in gfxterm.
10507
10508 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
10509 (grub_virtual_screen_setup): Initialise 'total_screen'.
10510 (write_char): Split to ...
10511 (paint_char): ... this ...
10512 (write_char): ... and this.
10513 (paint_char): Handle delayed scrolling.
10514 (draw_cursor): Likewise.
10515 (scroll_up): Split to ...
10516 (real_scroll): ... this ...
10517 (scroll_up): ... and this.
10518 (real_scroll): Handle multi-line scroll and draw below-the-bottom
10519 characters.
10520 (grub_gfxterm_refresh): Call real_scroll.
10521
105222010-02-06 Colin D Bennett <colin@gibibit.com>
10523
10524 * include/grub/misc.h (grub_iscntrl): New inline function.
10525 (grub_isalnum): Likewise.
10526 (grub_strtol): Likewise.
10527
105282010-02-06 Colin D Bennett <colin@gibibit.com>
10529
10530 * normal/menu_text.c (get_entry_number): Move from here ...
10531 * normal/menu.c (get_entry_number): ... moved here.
10532 * include/grub/menu.h (grub_menu_get_default_entry_index):
10533 New prototype.
10534 * normal/menu.c (grub_menu_get_default_entry_index): New function.
10535 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
10536 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
10537 (grub_menu_viewer_should_return): Likewise.
10538 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
10539 * normal/menu_text.c (run_menu): Enable menu switching.
10540 * normal/menu_viewer.c (should_return): New variable.
10541 (menu_viewer_changed): Likewise.
10542 (grub_menu_viewer_show_menu): Handle menu viewer changes.
10543 (grub_menu_viewer_should_return): New function.
10544 (menuviewer_write_hook): Likewise.
10545 (grub_menu_viewer_init): Likewise.
10546
105472010-02-06 Colin D Bennet <colin@gibibit.com>
105482010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10549
10550 Support for gfxterm in a window.
10551
10552 * include/grub/gfxterm.h: New file.
10553 * include/grub/video.h (struct grub_video_rect): New declaration.
10554 (grub_video_rect_t): Likewise.
10555 * term/gfxterm.c (struct grub_gfxterm_window): New type.
10556 (refcount): New variable.
10557 (render_target): Likewise.
10558 (window): Likewise.
10559 (repaint_callback): Likewise.
10560 (grub_virtual_screen_setup): Use 'render_target'.
10561 (init_window): New function.
10562 (grub_gfxterm_init_window): Likewise.
10563 (grub_gfxterm_init): Check reference counter.
10564 Use init_window.
10565 (destroy_window): New function.
10566 (grub_gfxterm_destroy_window): Likewise.
10567 (grub_gfxterm_fini): Check reference counter.
10568 Use destroy_window.
10569 (redraw_screen_rect): Restore viewport.
10570 Use 'render_target' and 'window'.
10571 Call 'repaint_callback'.
10572 (write_char): Use 'render_target'.
10573 (draw_cursor): Likewise.
10574 (scroll_up): Restore viewport.
10575 Use 'render_target' and 'window'.
10576 Call 'repaint_callback'.
10577 (grub_gfxterm_cls): Likewise.
10578 (grub_gfxterm_refresh): Use 'window'.
10579 (grub_gfxterm_set_repaint_callback): New function.
10580 (grub_gfxterm_background_image_cmd): Use 'window'.
10581 (grub_gfxterm_get_term): New function.
10582 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
10583
105842010-02-06 Colin D Bennett <colin@gibibit.com>
10585
10586 Bitmap scaling support.
10587
10588 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
10589 (bitmap_scale_mod_SOURCES): New variable.
10590 (bitmap_scale_mod_CFLAGS): Likewise.
10591 (bitmap_scale_mod_LDFLAGS): Likewise.
10592 * include/grub/bitmap_scale.h: New file.
10593 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
10594 (background_image_cmd_options): New variable.
10595 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
10596 (cmd): Rename and change type to ...
10597 (background_image_cmd_handle): ... this. All users updated.
10598 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
10599 * video/bitmap_scale.c: New file.
10600
106012010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10602
10603 SDL support.
10604
10605 * Makefile.in (LIBSDL): New variable.
10606 (enable_grub_emu_sdl): Likewise.
10607 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
10608 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
10609 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
10610 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
10611 * util/sdl.c: New file.
10612
106132010-02-06 Colin D Bennett <colin@gibibit.com>
106142010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10615
10616 Double buffering support.
10617
10618 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
10619 * include/grub/video.h: Update comment.
10620 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
10621 New type.
10622 (grub_video_fb_doublebuf_blit_init): New prototype.
10623 * term/gfxterm.c (scroll_up): Support double buffering.
10624 (grub_gfxterm_refresh): Likewise.
10625 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
10626 (grub_video_fb_doublebuf_blit_init): Likewise.
10627 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
10628 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
10629 'displayed_page', 'render_page' and 'update_screen'.
10630 (grub_video_vbe_fini): Free offscreen buffer.
10631 (doublebuf_pageflipping_commit): New function.
10632 (doublebuf_pageflipping_update_screen): Likewise.
10633 (doublebuf_pageflipping_init): Likewise.
10634 (double_buffering_init): Likewise.
10635 (grub_video_vbe_setup): Enable doublebuffering.
10636 (grub_video_vbe_swap_buffers): Implement.
10637 (grub_video_vbe_set_active_render_target): Handle double buffering.
10638 (grub_video_vbe_get_active_render_target): Likewise.
10639 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
10640 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
10641 (grub_video_vbe_enable_double_buffering): Likewise.
10642 (grub_video_vbe_swap_buffers): Use update_screen.
10643 (grub_video_set_mode): Use double buffering.
10644
106452010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10646
10647 * maintainance/gentrigtables.py: Remove.
10648 * lib/trig.c: Likewise.
10649
10650 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
10651
10652 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
10653 `trigtables.c'.
10654 (trigtables.c): New rule.
10655 (gentrigtables): Likewise.
10656 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
10657
106582010-02-06 Robert Millan <rmh.grub@aybabtu.com>
10659
10660 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
10661 integer constants.
10662
106632010-02-06 Colin D Bennet <colin@gibibit.com>
10664
10665 Trigonometry support.
10666
10667 * include/grub/trig.h: New file.
10668 * lib/trig.c: Likewise.
10669 * maintainance/gentrigtables.py: Likewise.
10670 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
10671 (trig_mod_SOURCES): New variable.
10672 (trig_mod_CFLAGS): Likewise.
10673 (trig_mod_LDFLAGS): Likewise.
10674
5562834e
VS
106752010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10676
10677 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
10678 disk devices.
10679
4f8528fc
VS
106802010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
10681
10682 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
10683 error.
10684
2b4068e9
VS
106852010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10686
10687 * util/hostdisk.c (open_device): Don't use partition device when reading
10688 before the partition.
10689 (grub_util_biosdisk_read): Don't read from partition and before the
10690 partition in single operation.
10691 (grub_util_biosdisk_write): Don't write to partition and before the
10692 partition in single operation.
10693
399f6e4d
TL
106942010-02-03 Torsten Landschoff <torsten@debian.org>
10695
10696 * kern/disk.c (grub_disk_read): Fix offset computation when reading
10697 last sectors.
10698
996649b0
VS
106992010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
10700
10701 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
10702 CDROM reads.
10703 (grub_biosdisk_write): Refuse to write to CDROM.
10704
3b205d4d
VS
107052010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10706
10707 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
10708
61e89d9d
VS
107092010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
10710
10711 * font/font.c (find_glyph): Check that bmp_idx is available before
10712 using it.
10713 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
10714 with (font == NULL).
10715
bf7fcba2
CS
107162010-01-28 Christian Schmitt <chris@ilovelinux.de>
10717
10718 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
10719
f45d2663
BC
107202010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
10721
10722 * include/grub/script_sh.h (sourcecode): Add const qualifier.
10723 * util/grub-script-check.c (getline): Fix empty lines case.
10724
ec1444e6
RM
107252010-01-28 Robert Millan <rmh.grub@aybabtu.com>
10726
10727 * Makefile.in (check): Exit with fail status when one of the tests
10728 fails.
10729 * tests/example_functional_test.c (example_test): Fix reversed assert.
10730 * tests/example_unit_test.c (example_test): Likewise.
10731
2e1cb9bb
CW
107322010-01-28 Colin Watson <cjwatson@ubuntu.com>
10733
10734 * util/grub.d/10_linux.in: This script does not use any of the
10735 contents of gettext.sh, only the external command `gettext', so stop
10736 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
10737 the same prefix as GRUB.)
10738 * util/grub.d/10_kfreebsd.in: Likewise.
10739
63533ab0
VS
107402010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10741
10742 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
10743 of the line.
10744
989e1f93
VS
107452010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10746
10747 * kern/disk.c (grub_disk_read): Fix offset computation when reading
10748 last sectors.
10749
e709ebe2
VS
107502010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
10751
10752 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
10753 having a 4KiB and not 32KiB buffer size.
10754
27dea7ed
RM
107552010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10756
10757 * util/hostfs.c: Include `<errno.h>'.
10758 (grub_hostfs_read): Handle errors from fseeko() and fread().
10759
67667b9c
RM
107602010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10761
10762 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
10763 loop when using read hooks on files whose size isn't sector-aligned.
10764
c294d9d8
RM
107652010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10766
10767 Remove unused parameter.
10768
10769 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
10770 (grub_iso9660_open): Remove initialization of `data->length'.
10771
af75a9f1
RM
107722010-01-27 Robert Millan <rmh.grub@aybabtu.com>
10773
10774 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
10775 memleak conditions.
10776
254e2ce5 107772010-01-27 Carles Pina i Estany <carles@pina.cat>
10778
10779 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
10780 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
10781
b510928c 107822010-01-26 Carles Pina i Estany <carles@pina.cat>
10783
10784 * util/bin2h.c (usage): Fix warning (space after backslash).
10785
aa2f9dd2 107862010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 10787
10788 * font/font.c: Include `grub/fontformat.h.
10789 Remove font file format constants.
10790 (grub_font_load): Use the new macros.
10791 * include/grub/fontformat.h: New file.
10792 * util/grub-mkfont.c: Include `grub/fontformat.c'.
10793 (write_font_pf2): Use the new macros.
10794
94e7e712
RM
107952010-01-26 Robert Millan <rmh.grub@aybabtu.com>
10796
10797 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
10798 does.
10799
3973a59a
RM
108002010-01-26 Robert Millan <rmh.grub@aybabtu.com>
10801
10802 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
10803
10804 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
10805 (_start): Macroify `0x7F'.
10806
10807 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
10808 (make_install_device): Use "(pxe)" as fallback prefix when booting
10809 via PXE.
10810
42e0cba3
GS
108112010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
10812
10813 * configure.ac: Reset LIBS after check for libgcc symbols.
10814
847effd8
CW
108152010-01-25 Colin Watson <cjwatson@ubuntu.com>
10816
10817 * util/hostdisk.c (open_device): Add trailing newline to debug
10818 message.
10819
ea4a7e35
GS
108202010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
10821
10822 * configure.ac: Check for `limits.h'.
10823 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
10824
67951a53
RM
108252010-01-24 Robert Millan <rmh.grub@aybabtu.com>
10826
10827 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
10828 capitalize error strings.
10829
c273d4ce
ST
108302010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
10831
10832 * util/grub.d/10_hurd.in: Add a recovery mode.
10833
69be5b74
VS
108342010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
10835
10836 * configure.ac: Check for libgcc symbols with -nostdlib.
10837
fc9e5810
BC
108382010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
10839
10840 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
10841
4b358c0a
VS
108422010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10843
10844 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
10845 stack since heap may be unavailable at that point.
10846 (grub_ofconsole_gotoxy): Likewise.
10847
454fcd1c
VS
108482010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10849
10850 * configure.ac: Check for _restgpr_14_x.
10851 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
10852 and _savegpr_* prototypes.
10853
566863ca
RM
108542010-01-22 Robert Millan <rmh.grub@aybabtu.com>
10855
10856 Use generic grub_reboot() for i386-efi.
10857
10858 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
10859 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
10860 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
10861
bf86e59a
VS
108622010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
10863
10864 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
10865 presence of "prefix" variable as it breaks when normal.mod is
10866 embedded.
10867
d645e0f8
VS
108682010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10869
10870 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
10871 stack since heap is unavailable at that point.
10872
f9ab2e25
VS
108732010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10874
10875 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
10876 (grub_freebsd_bootinfo): Rewritten.
10877 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
10878
01fc7054
VS
108792010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
10880
10881 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
10882
caab4fd6
RM
108832010-01-21 Robert Millan <rmh.grub@aybabtu.com>
10884
10885 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
10886 domain now.
10887
67eb1427
FZ
108882010-01-20 Felix Zielcke <fzielcke@z-51.de>
10889
10890 * util/misc.c (make_system_path_relative_to_its_root): Change the work
10891 around for handling "/" to the correct fix. Fix a memory leak. Use
10892 xstrdup instead of strdup.
10893
a9ed4ff3
VS
108942010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10895
10896 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
10897
108982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
10899
10900 Optimise glyph lookup by Basic Multilingual Plane lookup array.
10901
10902 * font/font.c (struct grub_font): New member 'bmp_idx'.
10903 (font_init): Initialise 'bmp_idx'.
10904 (load_font_index): Fill 'bmp_idx'.
10905 (find_glyph): Make inline. Use bmp_idx for BMP characters.
10906
48209f4f
VS
109072010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10908
10909 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
10910 unnecessary calls.
10911
9f0a4bb7
VS
109122010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10913
10914 Move context handling out of the kernel.
10915
10916 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
10917 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
10918 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
10919 * conf/i386-efi.rmk: Likewise.
10920 * conf/i386-ieee1275.rmk: Likewise.
10921 * conf/i386-pc.rmk: Likewise.
10922 * conf/powerpc-ieee1275.rmk: Likewise.
10923 * conf/sparc64-ieee1275.rmk: Likewise.
10924 * conf/x86_64-efi.rmk: Likewise.
10925 * include/grub/env.h: Include grub/menu.h.
10926 (grub_env_var_type): Removed.
10927 (grub_env_var): Replaced field 'type' with 'global'.
10928 (grub_env_find): New prototype.
10929 (grub_env_context_open): Remove EXPORT_FUNC.
10930 (grub_env_context_close): Likewise.
10931 (grub_env_export): Likewise.
10932 (grub_env_set_data_slot): Removed.
10933 (grub_env_get_data_slot): Likewise.
10934 (grub_env_unset_data_slot): Likewise.
10935 (grub_env_unset_menu): New prototype.
10936 (grub_env_set_menu): Likewise.
10937 (grub_env_get_menu): Likewise.
10938 * include/grub/env_private.h: New file.
10939 * include/grub/normal.h (grub_context_init): New prototype.
10940 (grub_context_fini): Likewise.
10941 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
10942 * normal/context.c (grub_cmd_export): ... to here.
10943 * kern/env.c: Include env_private.h.
10944 (HASHSZ): Moved to include/grub/env_private.h.
10945 (grub_env_context): Likewise.
10946 (grub_env_sorted_var): Likewise.
10947 (current_context): Renamed from this ...
10948 (grub_current_context): ...to this. 'static' removed. All users updated.
10949 (grub_env_find): Removed 'static'.
10950 (grub_env_context_open): Moved to normal/context.c.
10951 (grub_env_context_close): Likewise.
10952 (grub_env_export): Likewise.
10953 (mangle_data_slot_name): Removed.
10954 (grub_env_set_data_slot): Likewise.
10955 (grub_env_get_data_slot): Likewise.
10956 (grub_env_unset_data_slot): Likewise.
10957 * kern/main.c (grub_set_root_dev): Don't export root.
10958 It will be done later.
10959 (grub_main): Don't export prefix.
10960 It will be done later.
10961 * normal/context.c: New file.
10962 * normal/main.c (free_menu): Use grub_env_unset_menu.
10963 (grub_normal_add_menu_entry): Use grub_env_get_menu.
10964 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
10965 (GRUB_MOD_INIT(normal)): Call grub_context_init.
10966 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
10967
8dd35b8c
VS
109682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10969
10970 setpci support.
10971
10972 * commands/setpci.c: New file.
10973 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
10974 (setpci_mod_SOURCES): New variable.
10975 (setpci_mod_CFLAGS): Likewise.
10976 (setpci_mod_LDFLAGS): Likewise.
10977
449193d5
VS
109782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
10979
10980 Byte-addressable PCI configuration space.
10981
10982 * bus/pci.c (grub_pci_make_address): Use byte address instead of
10983 dword address.
10984 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
10985 GRUB_PCI_REG_CACHELINE.
10986 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
10987 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
10988 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
10989 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
10990 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
10991 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
10992 grub_pci_make_address.
10993 (lock_rom_area): Likewise.
10994 * commands/lspci.c (grub_lspci_iter): Use macroses
10995 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
10996 of grub_pci_make_address.
10997 * disk/ata.c (grub_ata_pciinit): Likewise.
10998 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
10999 (GRUB_PCI_REG_VENDOR): Likewise.
11000 (GRUB_PCI_REG_DEVICE): Likewise.
11001 (GRUB_PCI_REG_COMMAND): Likewise.
11002 (GRUB_PCI_REG_STATUS): Likewise.
11003 (GRUB_PCI_REG_REVISION): Likewise.
11004 (GRUB_PCI_REG_CLASS): Likewise.
11005 (GRUB_PCI_REG_CACHELINE): Likewise.
11006 (GRUB_PCI_REG_LAT_TIMER): Likewise.
11007 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
11008 (GRUB_PCI_REG_BIST): Likewise.
11009 (GRUB_PCI_REG_ADDRESSES): Likewise.
11010 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11011 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11012 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11013 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11014 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11015 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
11016 (GRUB_PCI_REG_CIS_POINTER): Likewise.
11017 (GRUB_PCI_REG_SUBVENDOR): Likewise.
11018 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
11019 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
11020 (GRUB_PCI_REG_CAP_POINTER): Likewise.
11021 (GRUB_PCI_REG_IRQ_LINE): Likewise.
11022 (GRUB_PCI_REG_IRQ_PIN): Likewise.
11023 (GRUB_PCI_REG_MIN_GNT): Likewise.
11024 (GRUB_PCI_REG_MAX_LAT): Likewise.
11025 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
11026 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
11027 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 11028 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
11029 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
11030 space.
11031
96d73208
RM
110322010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11033
11034 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
11035 can be reliably determined to be supported.
11036
d4484482
RM
110372010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11038
11039 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
11040 that VESA is supported.
11041 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
11042 supported.
11043
00308ecf
VS
110442010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11045
11046 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
11047
f66924a4
RM
110482010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11049
11050 * util/misc.c (make_system_path_relative_to_its_root): Work around
11051 special-casing of "/", as previous incarnation of this routine did.
11052
cbca0ada
VS
110532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11054
11055 Fix any-emu compilation.
11056
11057 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
11058 * grub_bin2h_SOURCES: New variable.
11059
34a66d99
RM
110602010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11061
11062 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
11063
94fabf58
RM
110642010-01-20 Robert Millan <rmh.grub@aybabtu.com>
11065
11066 * util/grub.d/00_header.in: Fix handling of locale_dir.
11067
02cf98ca
VS
110682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11069
11070 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
11071 as possible unifont location (Gentoo).
11072 Reported by: Alexander Brüning
11073
327dbcd7
VS
110742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11075
11076 Don't try to generate lists for kernel.img.
11077
11078 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
11079 (pkglib_MODULES): Remove kernel.img.
11080 (kernel_img_EXPORTS): Removed.
11081 (kernel_img_RELOCATABLE): New variable.
11082 * conf/x86_64-efi.rmk: Likewise.
11083 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
11084
ca467290
VS
110852010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11086
11087 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
11088 grub_xasprintf or grub_snprintf.
11089 (grub_vsprintf): Likewise.
11090 (grub_snprintf): New proto.
11091 (grub_vsnprintf): Likewise.
11092 (grub_xasprintf): Likewise.
11093 (grub_xvasprintf): Likewise.
11094 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
11095 (grub_sprintf): Removed.
11096 (grub_vsnprintf): New function.
11097 (grub_snprintf): Likewise.
11098 (grub_xvasprintf): Likewise.
11099 (grub_xasprintf): Likewise.
11100 (grub_vsprintf): Renamed to ...
11101 (grub_vsnprintf_real): ...this. New argument max_len.
11102
aca655fd
BC
111032010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
11104
11105 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
11106 fix grub-script-check warning.
11107
7ee92c32
VS
111082010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11109
11110 * include/grub/font.h (grub_font_load): Fix prototype.
11111
f80927ca
VS
111122010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11113
11114 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
11115
119c50ea
VS
111162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11117
11118 * include/grub/x86_64/at_keyboard.h: New file.
11119
47d5f3c1
VS
111202010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11121
11122 * loader/mips/linux.c: Include missing grub/i18n.h.
11123
55ff5266
RM
111242009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11125
11126 * normal/menu.c (notify_execution_failure): Clarify error message.
11127
c893cc87
RM
111282009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11129
11130 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
11131 return value (and revert all return statements). Update users.
11132
917dd370
CW
111332010-01-20 Dan Merillat <debian@dan.merillat.org>
11134
11135 * kern/device.c (grub_device_iterate): Allocate new part_ent
11136 structure based on sizeof (*p) rather than sizeof (p->next), to
11137 account for structure padding.
11138
11139 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
11140 disk is NULL, which might happen for LVM physical volumes with no
11141 LVM signature.
11142
d4a4ee57
RM
111432009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11144
11145 * loader/mips/linux.c (grub_cmd_initrd)
11146 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
11147
111482009-12-20 Robert Millan <rmh.grub@aybabtu.com>
11149
11150 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
11151 (grub_video_video_init, grub_video_bitmap_init)
11152 (grub_font_manager_init, grub_term_gfxterm_init)
11153 (grub_at_keyboard_init): New extern declarations.
11154 (grub_machine_init): Initialize gfxterm and at_keyboard.
11155
11156 * kern/main.c (grub_main): Revert grub_printf delay kludge.
11157
11158 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
11159 `gfxterm.mod' into core image.
11160
11161 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11162 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11163 (kernel_img_FORMAT): Copy to ...
11164
11165 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11166 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11167 (kernel_img_FORMAT): ... here, and ...
11168
11169 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
11170 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
11171 (kernel_img_FORMAT): ... here.
11172
11173 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
11174 and input (at_keyboard) terminals in kernel.
11175 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
11176
11177 (pkglib_MODULES): Remove `pci.mod'.
11178 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
11179 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
11180 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
11181 (at_keyboard_mod_LDFLAGS): Remove variables.
11182
111832010-01-11 Felix Zielcke <fzielcke@z-51.de>
11184
11185 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
11186
111872009-12-10 Robert Millan <rmh.grub@aybabtu.com>
11188
11189 * include/grub/mips/libgcc.h: Only export symbols for functions
11190 that libgcc provides.
11191
111922009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
11193
11194 MIPS support.
11195
11196 * bus/bonito.c: New file.
11197 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
11198 GRUB_PCI_NUM_DEVICES.
11199 * term/i386/pc/serial.c: Move to ...
11200 * term/serial.c: ... here. All users updated.
11201 * util/i386/pc/grub-mkimage.c: Move to ...
11202 * util/grub-mkrawimage.c: ... here. All users updated.
11203 * term/i386/pc/at_keyboard.c: Move to ...
11204 * term/at_keyboard.c: ... here. All users updated.
11205 * conf/mips-qemu-mips.rmk: New file.
11206 * conf/mips-yeeloong.rmk: Likewise.
11207 * conf/mips.rmk: Likewise.
11208 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
11209 mipsel-qemu-mips.
11210 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
11211 to port addresses.
11212 (grub_ata_pciinit): Support CS5536.
11213 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
11214 * font/font_cmd.c (loadfont_command): Open file before passing it to
11215 grub_font_load.
11216 (pseudo_file_read): New function.
11217 (pseudo_file_close): Likewise.
11218 (pseudo_fs): New structure.
11219 (load_font_module): New function.
11220 (GRUB_MOD_INIT(font_manager)): Load embedded font.
11221 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
11222 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
11223 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
11224 * include/grub/i386/at_keyboard.h: Split into ...
11225 * include/grub/at_keyboard.h: ... this ...
11226 * include/grub/i386/at_keyboard.h: ... and this.
11227 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
11228 New prototype.
11229 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
11230 updated.
11231 (grub_elf64_size): Likewise.
11232 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
11233 filename.
11234 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
11235 * include/grub/i386/coreboot/serial.h: Rewritten.
11236 * include/grub/i386/ieee1275/serial.h: Include
11237 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
11238 * include/grub/i386/pc/serial.h: Moved from here ...
11239 * include/grub/serial.h: ... to here. All users updated.
11240 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
11241 (GRUB_PCI_NUM_BUS): Likewise.
11242 (GRUB_PCI_NUM_DEVICES): Likewise.
11243 (grub_pci_device_map_range): Add missing volatile keyword.
11244 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
11245 * include/grub/mips/at_keyboard.h: New file.
11246 * include/grub/mips/cache.h: Likewise.
11247 * include/grub/mips/io.h: Likewise.
11248 * include/grub/mips/kernel.h: Likewise.
11249 * include/grub/mips/libgcc.h: Likewise.
11250 * include/grub/mips/pci.h: Likewise.
11251 * include/grub/mips/qemu-mips/boot.h: Likewise.
11252 * include/grub/mips/qemu-mips/kernel.h: Likewise.
11253 * include/grub/mips/qemu-mips/loader.h: Likewise.
11254 * include/grub/mips/qemu-mips/memory.h: Likewise.
11255 * include/grub/mips/qemu-mips/serial.h: Likewise.
11256 * include/grub/mips/qemu-mips/time.h: Likewise.
11257 * include/grub/mips/relocator.h: Likewise.
11258 * include/grub/mips/time.h: Likewise.
11259 * include/grub/mips/types.h: Likewise.
11260 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
11261 * include/grub/mips/yeeloong/boot.h: Likewise.
11262 * include/grub/mips/yeeloong/kernel.h: Likewise.
11263 * include/grub/mips/yeeloong/loader.h: Likewise.
11264 * include/grub/mips/yeeloong/memory.h: Likewise.
11265 * include/grub/mips/yeeloong/pci.h: Likewise.
11266 * include/grub/mips/yeeloong/serial.h: Likewise.
11267 * include/grub/mips/yeeloong/time.h: Likewise.
11268 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
11269 * kern/elf.c (grub_elf32_size): New parameter. All users
11270 updated.
11271 (grub_elf64_size): Likewise.
11272 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
11273 Load modules before saying "Welcome to GRUB!".
11274 Call grub_refresh after saying "Welcome to GRUB!".
11275 * kern/mips/cache.S: New file.
11276 * kern/mips/cache_flush.S: Likewise.
11277 * kern/mips/dl.c: Likewise.
11278 * kern/mips/init.c: Likewise.
11279 * kern/mips/qemu-mips/init.c: Likewise.
11280 * kern/mips/startup.S: Likewise.
11281 * kern/mips/yeeloong/init.c: Likewise.
11282 * kern/term.c (grub_putcode): Handle NULL terminal.
11283 (grub_getcharwidth): Likewise.
11284 (grub_getkey): Likewise.
11285 (grub_checkkey): Likewise.
11286 (grub_getkeystatus): Likewise.
11287 (grub_getxy): Likewise.
11288 (grub_getwh): Likewise.
11289 (grub_gotoxy): Likewise.
11290 (grub_cls): Likewise.
11291 (grub_setcolorstate): Likewise.
11292 (grub_setcolor): Likewise.
11293 (grub_getcolor): Likewise.
11294 (grub_refresh): Likewise.
11295 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
11296 (write_jump): Add hatch nop.
11297 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
11298 * lib/mips/setjmp.S: New file.
11299 * loader/mips/linux.c: Likewise.
11300 * term/i386/pc/at_keyboard.c: Move from here ...
11301 * term/at_keyboard.c: ... to here.
11302 * term/i386/pc/serial.c: Moved from here ...
11303 * term/serial.c: ... to here. All users updated.
11304 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
11305 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
11306 (serial_translate_key_sequence): Avoid deadlock.
11307 (grub_serial_getkey): Handle backspace.
11308 (grub_serial_putchar): Fix newline handling.
11309 * util/i386/pc/grub-mkimage.c: Move from here ...
11310 * util/grub-mkrawimage.c: ... to here. All users updated.
11311 (generate_image): New parameters 'font_path' and 'format'.
11312 Support embedding font.
11313 Use grub_host_to_target* instead of grub_cpu_to_le*.
11314 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
11315 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
11316 (options): New option "--font".
11317 (usage): Likewise.
11318 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
11319 (main): Handle "--font".
11320 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
11321 (grub_virtual_screen_setup): Set bg_color_display.
11322 (redraw_screen_rect): Use bg_color_display instead of incorrect
11323 bg_color.
11324 (grub_gfxterm_cls): Likewise.
11325 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
11326 Support embedding config file.
11327 (add_segments): Likewise.
11328 (options): New option "--config".
11329 (main): Handle "--config".
11330 * video/sm712.c: New file.
11331
25c2b5b3
RM
113322010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11333
11334 Fix parallel builds.
11335
11336 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
11337 font.c depend on ascii.h).
11338
113392010-01-12 Carles Pina i Estany <carles@pina.cat>
11340
11341 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
11342
113432010-01-11 Carles Pina i Estany <carles@pina.cat>
11344
11345 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
11346 By default: disabled.
11347 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
11348 parameter.
11349
113502010-01-10 Carles Pina i Estany <carles@pina.cat>
11351
11352 * font/font.c: Update copyright years.
11353 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
11354
113552010-01-10 Carles Pina i Estany <carles@pina.cat>
11356
11357 * font/font.c: Include `ascii.h'.
11358 (ASCII_BITMAP_SIZE): New macro.
11359 (ascii_font_glyph): Define.
11360 (ascii_glyph_lookup): New function.
11361 (grub_font_get_string_width): Change comment. If glyph not found, use
11362 ascii_glyph_lookup.
11363 (grub_font_get_glyph_with_fallback): If glyph not available returns
11364 ascii_glyph_lookup.
11365 * util/grub-mkfont.c (file_formats): New enum.
11366 (options): Add `ascii-bitmaps' new option.
11367 (usage): Add `asii-bitmaps' new option.
11368 (write_font_ascii_bitmap): New function.
11369 (write_font): Rename to ...
11370 (write_font_p2): ... this. Remove print_glyphs call.
11371 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
11372 used. Call print_glyphs.
11373 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
11374
113752010-01-14 Robert Millan <rmh.grub@aybabtu.com>
11376
11377 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
11378 (grub_bin2h_SOURCES): New variable.
11379 * util/bin2h.c: New file.
11380
915fc1b8
VS
113812010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
11382
11383 * include/multiboot.h: Resynced with spec.
11384 * include/multiboot2.h: Likewise.
11385 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
11386 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
11387
9444b678
RM
113882010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11389
11390 * include/grub/term.h (grub_term_register_input,
11391 grub_term_register_output): Check return of terminal init()
11392 routines, and abort if errors are raised.
11393
11394 * commands/terminal.c: Update copyright year.
11395
cba98e8d
RM
113962010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11397
11398 * commands/terminal.c (grub_cmd_terminal_input)
11399 (grub_cmd_terminal_output): Check return of terminal init()
11400 routines, and abort if errors are raised.
11401
6f7db5d6
VS
114022010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11403
11404 * include/grub/i386/bsd.h: Fix include pathes.
11405
262bff8d
VS
114062010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
11407
11408 Add missing *BSD copyright headers.
11409
11410 * include/grub/aout.h: Add BSD licence.
11411 * include/grub/i386/bsd.h: Parts under different licences moved to ...
11412 * include/grub/i386/freebsd_linker.h: ... here,
11413 * include/grub/i386/freebsd_reboot.h: ... here,
11414 * include/grub/i386/netbsd_bootinfo.h: ... here,
11415 * include/grub/i386/netbsd_reboot.h: ... here,
11416 * include/grub/i386/openbsd_bootarg.h: ... here,
11417 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
11418 licence to each file.
11419
b2cab848
RM
114202010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11421
11422 * acinclude.m4: Remove `nop' assembly instruction; it's not
11423 implemented by all architectures.
11424
2cb6be4b
RM
114252010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11426
11427 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
11428 ELILO. This is no longer necessary.
11429
a2eaee15
BC
114302010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
11431
11432 Added new tool, grub-scrit-check to verify grub.cfg syntax.
11433
11434 * util/grub-script-check.c: grub-script-check tool.
11435 * conf/common.rmk: Make rules for grub-script-check.
11436
88d17012
RM
114372010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11438
11439 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
11440 spotting it back in 2008. Shame on me for forgetting he did.
11441
11442 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
11443
8040619d
RM
114442010-01-18 Robert Millan <rmh.grub@aybabtu.com>
11445
11446 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
11447 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
11448 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
11449 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
11450 (GRUB_VIDEO_TYPE_EFI): Rename to ...
11451 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
11452
a0c2a0f6
RM
114532010-01-17 Robert Millan <rmh.grub@aybabtu.com>
11454
11455 * include/grub/test.h: Add license header.
11456 * tests/example_functional_test.c: Likewise.
11457 * tests/example_unit_test.c: Likewise.
11458 * tests/lib/functional_test.c: Likewise.
11459 * tests/lib/test.c: Likewise.
11460 * tests/lib/unit_test.c: Likewise.
11461
b0b13907
VS
114622010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
11463
11464 Use flag-based instead of hook-based video mode selection and "auto"
11465 keyword.
11466
11467 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
11468 (grub_video_set_mode): Changed prototype. All users updated.
11469 (grub_video_check_mode_flag): New inline function.
11470 * video/video.c (parse_modespec): New function.
11471 (grub_video_set_mode): Parse flags and keywords.
11472
ea379330 114732010-01-17 Carles Pina i Estany <carles@pina.cat>
11474
11475 * util/misc.c (grub_util_info): Fix the order of the parameters in a
11476 fprintf call.
11477
e15c215e
FZ
114782010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
11479
11480 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
11481
409ae1c9 114822010-01-16 Carles Pina i Estany <carles@pina.cat>
11483
11484 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
11485 string.
11486 * util/grub-emu.c (usage): Likewise.
11487 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
11488 * util/i386/efi/grub-mkimage.c (usage): Likewise.
11489 * util/i386/pc/grub-mkimage.c (usage): Likewise.
11490 * util/i386/pc/grub-setup.c (usage): Likewise.
11491
70a14d3d 114922010-01-16 Carles Pina i Estany <carles@pina.cat>
11493
11494 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
11495 the message.
11496 (grub_util_info): Likewise.
11497 (grub_util_error): Likewise.
11498 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
11499 and/or new lines in `grub_util_warna', `grub_util_info',
11500 `grub_util_error' calls.
11501 * util/getroot.c: Likewise.
11502 * util/grub-editenv.c: Likewise.
11503 * util/grub-emu.c: Likewise.
11504 * util/grub-fstest.c: Likewise.
11505 * util/grub-mkdevicemap.c: Likewise.
11506 * util/grub-mkfont.c: Likewise.
11507 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11508 * util/grub-mkrelpath.c: Likewise.
11509 * util/grub-pe2elf.c: Likewise.
11510 * util/grub-probe.c: Likewise.
11511 * util/hostdisk.c: Likewise.
11512 * util/i386/efi/grub-mkimage.c: Likewise.
11513 * util/i386/pc/grub-mkimage.c: Likewise.
11514 * util/i386/pc/grub-setup.c: Likewise.
11515 * util/ieee1275/ofpath.c: Likewise.
11516 * util/mkisofs/eltorito.c: Likewise.
11517 * util/mkisofs/rock.c: Likewise.
11518 * util/mkisofs/write.c: Likewise.
11519 * util/raid.c: Likewise.
11520 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
11521 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11522
a0b766fc
VS
115232010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11524
11525 Enable multiboot on non-pc.
11526
11527 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
11528 multiboot.mod and multiboot2.mod to ...
11529 * conf/i386.rmk (pkglib_MODULES): ... here.
11530 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
11531 Moved to ...
11532 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
11533 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
11534 Moved to ...
11535 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
11536 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
11537 Moved to ...
11538 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
11539 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
11540 Moved to ...
11541 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
11542 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
11543 relocator.mod.
11544 (ata_mod_SOURCES): Removed.
11545 (ata_mod_CFLAGS): Likewise.
11546 (ata_mod_LDFLAGS): Likewise.
11547 (relocator_mod_SOURCES): Removed.
11548 (relocator_mod_CFLAGS): Likewise.
11549 (relocator_mod_ASFLAGS): Likewise.
11550 (relocator_mod_LDFLAGS): Likewise.
11551 Include i386.mk.
11552 * include/grub/x86_64/multiboot.h: New file.
11553 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
11554 Terminate EFI.
11555
884ade56
VS
115562010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11557
11558 Video multiboot support.
11559
11560 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
11561 New prototype.
11562 * include/multiboot.h: Resynced with multiboot specification.
11563 * include/multiboot2.h: Likewise.
11564 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
11565 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
11566 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
11567 (HAS_VGA_TEXT): Likewise.
11568 (accepts_video): New variable.
11569 (grub_multiboot_set_accepts_video): New function.
11570 (grub_multiboot_get_mbi_size): Account for video structures.
11571 (set_video_mode): New function.
11572 (retrieve_video_parameters): Likewise.
11573 (grub_multiboot_make_mbi): Fill video fields.
11574
0d90e8a6
VS
115752010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
11576
11577 Video driver ids.
11578
11579 * include/grub/video.h (grub_video_driver_id): New type.
11580 (grub_video_adapter): New member 'id'. All users updated.
11581 (grub_video_get_driver_id): New proto.
11582 * video/video.c (grub_video_get_driver_id): New function.
11583
5c71db1b 115842010-01-14 Carles Pina i Estany <carles@pina.cat>
11585
11586 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
11587 `var=val'.
11588
cca15b52 115892010-01-14 Carles Pina i Estany <carles@pina.cat>
11590
11591 * normal/cmdline.c (print_completion): Gettextizze.
11592
c586fbb2 115932001-01-14 Carles Pina i Estany <carles@pina.cat>
11594
11595 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
11596
ba2f6848 115972010-01-14 Carles Pina i Estany <carles@pina.cat>
11598
11599 * gettext/gettext.c (grub_gettext_translate): Push and pop
11600 grub_errno.
11601 (grub_gettext_delete_list): Change comment style.
11602 * kern/err.c (grub_error): Gettextizze.
11603 (grub_fatal): Gettextizze.
11604
0a46429a
RM
116052010-01-14 Robert Millan <rmh.grub@aybabtu.com>
11606
11607 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
11608 (grub_linux16_real_boot): ... this.
11609 * kern/i386/loader.S: Likewise.
11610 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
11611 (grub_linux16_boot): New function. Switches to text mode and calls
11612 grub_linux16_real_boot().
11613
11614 * loader/i386/bsd.c: Include `<grub/video.h>'.
11615 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
11616 text mode before calling grub_unix_real_boot().
11617
11618 * loader/i386/multiboot.c: Include `<grub/video.h>'.
11619 (grub_multiboot_boot): Switch to text mode before calling
11620 grub_relocator32_boot().
11621
11622 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
11623 (grub_chainloader_boot): Switch to text mode before calling
11624 grub_chainloader_real_boot().
11625
d6f93a66
RM
116262010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
116272010-01-05 Colin Watson <cjwatson@ubuntu.com>
11628
11629 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
11630 non-empty value.
11631
116322010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
116332010-01-05 Colin Watson <cjwatson@ubuntu.com>
11634
11635 * util/grub.d/00_header.in: Define a "savedefault" function for use
11636 in menu entries.
11637 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
11638
116392010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
116402010-01-05 Colin Watson <cjwatson@ubuntu.com>
11641
11642 * util/grub-mkconfig_lib.in (save_default_entry): Only set
11643 saved_entry if boot_once is unset.
11644 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
11645 previous saved entry (i.e. grub-reboot).
11646
116472009-12-08 Colin Watson <cjwatson@ubuntu.com>
11648
11649 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
11650
116512009-12-08 Colin Watson <cjwatson@ubuntu.com>
11652
11653 * util/grub.d/00_header.in: Use `set var=val' rather than plain
11654 `var=val'.
11655 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
11656
116572009-12-08 Colin Watson <cjwatson@ubuntu.com>
11658
11659 * util/grub-reboot.in: Fix --version output.
11660 * util/grub-set-default.in: Likewise.
11661
116622009-12-08 Colin Watson <cjwatson@ubuntu.com>
11663
11664 * util/grub.d/00_header.in: Silently ignore zero-sized environment
11665 blocks.
11666
116672009-12-08 Colin Watson <cjwatson@ubuntu.com>
11668
11669 * util/grub.d/00_header.in: Quote the value assigned to `default',
11670 in case it contains spaces.
11671
116722009-12-08 Colin Watson <cjwatson@ubuntu.com>
11673
11674 * util/grub.d/30_os-prober.in: Fix merge error that moved a
11675 `save_default_entry' call from the macosx case to the linux case.
11676
116772009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
116782009-10-25 Colin Watson <cjwatson@ubuntu.com>
11679
11680 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
11681 in `chosen' environment variable.
11682 * normal/menu_text.c (get_entry_number): Check if the variable
11683 matches the title of a menu entry.
11684 (run_menu): Pass menu to get_entry_number.
11685
11686 * util/grub-reboot.in: New file.
11687 * util/grub-set-default.in: New file.
11688 * conf/common.rmk (grub-reboot): New utility.
11689 (grub-set-default): New utility.
11690
11691 * util/grub-mkconfig_lib.in (save_default_entry): New function.
11692 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
11693 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
11694 move it to `saved_entry' for the next boot. Load environment on
11695 initialisation.
11696 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
11697 * util/grub.d/10_hurd.in: Likewise.
11698 * util/grub.d/10_linux.in (linux_entry): Likewise.
11699 * util/grub.d/10_windows.in: Likewise.
11700 * util/grub.d/30_os-prober.in: Likewise.
11701
11702 * util/grub-install.in: Create environment block.
11703 * util/i386/efi/grub-install.in: Likewise.
11704 * util/ieee1275/grub-install.in: Likewise.
11705 * util/sparc64/ieee1275/grub-install.in: Likewise.
11706
0934d184
BC
117072010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
11708
11709 Unit testing framework for GRUB.
11710
11711 * Makefile.in: Test framework build rules for 'make check'.
11712 * conf/tests.rmk: Build rules for individual tests and framework.
11713
11714 * include/grub/test.h: Header file for whitebox tests.
11715 * tests/lib/functional_test.c: Framework support for whitebox
11716 functional tests.
11717 * tests/lib/test.c: Common whitebox testing code for unit and
11718 functional tests.
11719 * tests/lib/unit_test.c: Framework support for whitebox unit
11720 tests.
11721
11722 * tests/util/grub-shell-tester.in: Support utility for grub-script
11723 tests.
11724 * tests/util/grub-shell.in: Utility to execute grub-script
11725 commands in a Qemu instance.
11726
11727 * tests/example_functional_test.c: Example whitebox functional
11728 test.
11729 * tests/example_grub_script_test.in: Example grub-script test.
11730 * tests/example_scripted_test.in: Example scripted test.
11731 * tests/example_unit_test.c: Example whitebox unit test.
11732
9c4ffeeb
VS
117332010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
11734
11735 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
11736 Add loader/i386/multiboot_mbi.c.
11737 (multiboot2_mod_SOURCES): Likewise.
11738 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
11739 (multiboot2_mod_SOURCES): Likewise.
11740 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
11741 (grub_multiboot_make_mbi): Likewise.
11742 (grub_multiboot_free_mbi): Likewise.
11743 (grub_multiboot_init_mbi): Likewise.
11744 (grub_multiboot_add_module): Likewise.
11745 (grub_multiboot_set_bootdev): Likewise.
11746 * loader/i386/multiboot.c (mbi): Removed.
11747 (mbi_dest): Likewise.
11748 (alloc_mbi): New variable.
11749 (grub_multiboot_payload_size): Removed. All users updated.
11750 (grub_multiboot_pure_size): New variable.
11751 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
11752 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
11753 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
11754 (grub_fill_multiboot_mmap): Likewise.
11755 (grub_multiboot_get_bootdev): Likewise.
11756 (grub_multiboot): Use multiboot_mbi functions.
11757 * loader/i386/multiboot_mbi.c: New file.
11758
17383dfe
VS
117592010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11760
11761 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
11762 it would result in module crash.
11763
c1f28820
VS
117642010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
11765
11766 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
11767 (grub_ofconsole_getwh): Split to ...
11768 (grub_ofconsole_getwh): ... this.
11769 (grub_ofconsole_dimensions): ...and this.
11770 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
11771
58655a16
RM
117722010-01-13 Robert Millan <rmh.grub@aybabtu.com>
11773
11774 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
11775
10891398
VS
117762010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11777
11778 * loader/i386/pc/multiboot2.c: Removed stalled file.
11779
0b8a223c
VS
117802010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
11781
11782 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
11783 Reported by: Grégoire Sutre
11784
92ab12b0
RM
117852010-01-11 Robert Millan <rmh.grub@aybabtu.com>
11786
11787 * util/misc.c (canonicalize_file_name): New function.
11788 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
11789 instead of realpath().
11790
a788afb6
CW
117912010-01-11 Colin Watson <cjwatson@ubuntu.com>
11792
11793 * util/grub-install.in (usage): Clarify meaning of --root-directory,
11794 and make it clearer that it's optional. Based on confusion
11795 witnessed on IRC.
11796
ffa8e3d2
VS
117972010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11798
11799 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
11800 in premature implicit newline.
11801
e9060a9d
VS
118022010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
11803
11804 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
11805 which resulted in garbled command line at the end of screen.
11806
f0d0c0b7
RM
118072010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11808
11809 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
11810 initialization with similar approach as with other Linux loaders.
11811
0e60bae7
RM
118122010-01-10 Robert Millan <rmh.grub@aybabtu.com>
11813
11814 Fix i386-ieee1275 build.
11815
11816 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
11817 and grub_term_height() for video_{width,height} initialization.
11818
118192010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
11820
11821 Fix grub-emu build.
11822
11823 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
11824
cdb3f378
RM
118252010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
118262010-01-09 Robert Millan <rmh.grub@aybabtu.com>
11827
11828 Support for multiple terminals.
11829
11830 * Makefile.in (pkglib_DATA): terminal.lst.
11831 (terminal.lst): New target.
11832 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
11833 (GRUB_MOD_INIT(handler)): Likewise.
11834 (GRUB_MOD_FINI(handler)): Likewise.
11835 * commands/help.c (grub_cmd_help): Handle multiple terminals.
11836 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
11837 * commands/sleep.c (do_print): Use grub_term_restore_pos.
11838 (grub_cmd_sleep): Use grub_term_save_pos.
11839 * commands/terminal.c: New file.
11840 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
11841 commands/terminal.c and lib/charset.c.
11842 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
11843 (pkglib_MODULES): Add terminal.mod.
11844 (terminal_mod_SOURCES): New variable.
11845 (terminal_mod_CFLAGS): Likewise.
11846 (terminal_mod_LDFLAGS): Likewise.
11847 * genhandlerlist.sh: Don't handle terminals.
11848 * genmk.rb: Generate terminal-*.lst.
11849 * genterminallist.sh: New file.
11850 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
11851 (grub_is_valid_utf8): Likewise.
11852 (grub_utf8_to_ucs4_alloc): Likewise.
11853 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
11854 (grub_menu_register_viewer): Changed argument.
11855 (grub_menu_try_text): New proto.
11856 (grub_gfxmenu_try_hook): New declaration.
11857 * include/grub/normal.h (grub_normal_exit_level): New declaration.
11858 (grub_menu_init_page): Additional argument term.
11859 (grub_normal_init_page): Likewise.
11860 (grub_cmdline_get): Arguments simplified.
11861 (grub_utf8_to_ucs4_alloc): Removed.
11862 (grub_print_ucs4): Additional argument term.
11863 (grub_getstringwidth): Likewise.
11864 (grub_print_message_indented): Likewise.
11865 (grub_menu_text_register_instances): New proto.
11866 (grub_show_menu): Likewise.
11867 (read_terminal_list): Likewise.
11868 (grub_set_more): Likewise.
11869 * include/grub/parser.h: Include handler.h.
11870 * include/grub/reader.h: Rewritten.
11871 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
11872 (GRUB_TERM_WIDTH): Changed to function.
11873 (GRUB_TERM_HEIGHT): Likewise.
11874 (GRUB_TERM_BORDER_WIDTH): Likewise.
11875 (GRUB_TERM_BORDER_HEIGHT): Likewise.
11876 (GRUB_TERM_NUM_ENTRIES): Likewise.
11877 (GRUB_TERM_ENTRY_WIDTH): Likewise.
11878 (GRUB_TERM_CURSOR_X): Likewise.
11879 (grub_term_input_class): Likewise.
11880 (grub_term_output_class): Likewise.
11881 (grub_term_outputs_disabled): New declaration.
11882 (grub_term_inputs_disabled): Likewise.
11883 (grub_term_outputs): Likewise.
11884 (grub_term_inputs): Likewise.
11885 (grub_term_register_input): Rewritten.
11886 (grub_term_register_output): Likewise.
11887 (grub_term_unregister_input): Likewise.
11888 (grub_term_unregister_output): Likewise.
11889 (FOR_ACTIVE_TERM_INPUTS): New macro.
11890 (FOR_DISABLED_TERM_INPUTS): Likewise.
11891 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
11892 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
11893 * include/grub/terminfo.h: Add oterm argument to all protypes.
11894 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
11895 Use grub_rescue_run.
11896 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
11897 All users updated.
11898 * kern/reader.c: Removed. All users updated.
11899 * kern/rescue_reader.c (grub_rescue_init): Removed.
11900 (grub_rescue_reader): Likewise.
11901 (grub_register_rescue_reader): Likewise.
11902 (grub_rescue_run): New function based on kern/reader.c.
11903 * kern/term.c: Adapted for multiterm.
11904 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
11905 (grub_is_valid_utf8): Likewise.
11906 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
11907 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
11908 right terminal.
11909 * loader/i386/linux.c (grub_linux_boot): Likewise.
11910 * normal/auth.c (grub_username_get): New function.
11911 (grub_auth_check_authentication): Use grub_username_get.
11912 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
11913 * normal/color.c: Adapt for multiterm.
11914 * normal/main.c (read_config_file): Don't use grub_reader_loop.
11915 (grub_normal_init_page): Additional argument term.
11916 (read_lists): Call read_terminal_lists.
11917 (grub_enter_normal_mode): Call grub_cmdline_run.
11918 Handle grub_normal_exit_level.
11919 (grub_cmd_normal): Make reentrant.
11920 (grub_cmd_normal_exit): New function.
11921 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
11922 * normal/menu.c: Adapt for multiterm.
11923 * normal/menu_entry.c: Likewise.
11924 * normal/menu_text.c: Likewise.
11925 * normal/menu_viewer.c: Removed. All users updated.
11926 * normal/term.c: New file.
11927 * util/console.c: Change order of includes to workaround a bug in
11928 ncurses headers.
11929 * term/terminfo.c: New argument oterm on all exported functions.
11930 All users updated.
11931 * util/grub-editenv.c (grub_term_input_class): Removed.
11932 (grub_term_output_class): Likewise.
11933
1a064917
RM
119342010-01-09 Robert Millan <rmh.grub@aybabtu.com>
11935
11936 Make loader output a bit more user-friendly.
11937
11938 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
11939 is being loaded. Likewise for the Hurd.
11940
11941 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
11942 that kernel of FreeBSD ${version} is being loaded.
11943
11944 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
11945 grub_dprintf().
11946 (grub_cmd_initrd): Likewise.
11947 * util/grub.d/10_linux.in (linux_entry): Print message indicating
11948 that Linux ${version} is being loaded. Likewise for initrd.
11949
5ce0a83a 119502010-01-09 Carles Pina i Estany <carles@pina.cat>
11951
11952 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
11953
809bbfeb 119542010-01-08 Carles Pina i Estany <carles@pina.cat>
11955
11956 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
11957 (GRUB_MOD_INIT): Gettextizze.
11958 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
11959 (GRUB_MOD_INIT): Gettextizze.
11960 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
11961 (grub_cmd_linux): Capitalise Linux.
11962 (GRUB_MOD_INIT): Gettextizze.
11963 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
11964 (grub_cmd_linux): Capitalise Linux.
11965 (GRUB_MOD_INIT): Gettextizze.
11966 * loader/i386/linux.c: Include `<grub/i18n.h>'.
11967 (grub_cmd_linux): Capitalise Linux.
11968 (GRUB_MOD_INIT): Gettextizze.
11969 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
11970 (GRUB_MOD_INIT): Gettextizze.
11971 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
11972 (grub_cmd_linux): Capitalise Linux.
11973 (GRUB_MOD_INIT): Gettextizze.
11974 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
11975 (grub_cpu_xnu_init): Gettextizze.
11976 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
11977 (GRUB_MOD_INIT): Gettextizze.
11978 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
11979 (GRUB_MOD_INIT): Gettextizze.
11980 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
11981 (grub_linux_load64): Capitalise Linux.
11982 (GRUB_MOD_INIT): Gettextizze.
11983 * loader/xnu.c: Include `<grub/i18n.h>'.
11984 (GRUB_MOD_INIT): Gettextizze.
11985 * po/POTFILES: Add `loader/efi/appleloader.c',
11986 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
11987 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
11988 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
11989 `loader/i386/xnu.c', `loader/multiboot_loader.c',
11990 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
11991 and `loader/xnu.c'.
11992
b394b2ca
RM
119932010-01-08 Robert Millan <rmh.grub@aybabtu.com>
11994
11995 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
11996
119972010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
11998
11999 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
12000 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
12001 * util/mkisofs/mkisofs.c (main): Readjust --version output.
12002
bc8b32b3
RM
120032010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12004
12005 Reset Multiboot 2 support. New loader implements the draft in
12006 /branches/multiboot2 and shares as much code as possible with the
12007 production Multiboot 1 implementation.
12008
12009 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
12010 * loader/multiboot2.c: Likewise.
12011 * loader/i386/multiboot_helper.S: Likewise.
12012 * include/multiboot2.h: Replace with latest version from the draft
12013 in /branches/multiboot2.
12014
12015 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
12016 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
12017 and `loader/multiboot2.c'.
12018 (pkglib_MODULES): Add `multiboot2.mod'.
12019 (multiboot2_mod_SOURCES): New variable.
12020 (multiboot2_mod_LDFLAGS): Likewise.
12021 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
12022
12023 * conf/i386-pc.rmk: Likewise.
12024
12025 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
12026 (multiboot_mod_SOURCES): Remove variable.
12027 (multiboot_mod_LDFLAGS): Likewise.
12028 (multiboot_mod_CFLAGS): Likewise.
12029
12030 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
12031 `<multiboot2.h>' instead of `<multiboot.h>'.
12032 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
12033 (MULTIBOOT_HEADER_MAGIC): New macros.
12034
12035 * loader/multiboot_loader.c (module_version_status): Remove variable.
12036 (find_multi_boot2_header): Remove function.
12037 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
12038 logic. Always check for the Multiboot version we're compiling for.
12039 (grub_cmd_module_loader): Likewise.
12040 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
12041 command instead of `multiboot'.
12042
5d2c52b8
RM
120432010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12044
12045 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
12046 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
12047 all users.
12048
53108d92
RM
120492010-01-07 Robert Millan <rmh.grub@aybabtu.com>
120502010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12051
12052 Fix breakage introduced with previous commit.
12053
12054 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
12055 commands.
12056 * normal/handler.c (read_handler_list): Revert part of previous commit
12057 affecting this file.
12058 * normal/main.c (read_lists): Move read_handler_list() call back to ...
12059 (grub_normal_execute): ... here.
12060
e2e936b2
RM
120612010-01-07 Robert Millan <rmh.grub@aybabtu.com>
12062
12063 Merge prefix-redefinition-fix branch.
12064
12065 * normal/autofs.c (read_fs_list): Make function capable of being
12066 run multiple times, gracefuly replacing the previous data
12067 structures.
12068 * normal/dyncmd.c (read_command_list): Likewise.
12069 * normal/handler.c (read_handler_list): Likewise.
12070 * normal/main.c (read_lists): New function. Calls all the
12071 list reading functions.
12072 (grub_normal_execute): Use read_lists() instead of calling all
12073 list reading functions explicitly. Register read_lists() as a
12074 variable hook attached to ${prefix}.
12075
607a3701
VS
120762010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
12077
12078 Merge crypto branch.
12079
12080 * Makefile.in (pkglib_DATA): Add crypto.lst.
12081 (crypto.lst): New target.
12082 * commands/hashsum.c: New file.
12083 * commands/password.c (check_password): Use grub_crypto_memcmp.
12084 * commands/password_pbkdf2.c: New file.
12085 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
12086 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
12087 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
12088 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
12089 -I$(srcdir)/lib/libgcrypt_wrap.
12090 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
12091 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
12092 password_pbkdf2.mod.
12093 (crypto_mod_SOURCES): New variable.
12094 (crypto_mod_CFLAGS): Likewise.
12095 (crypto_mod_LDFLAGS): Likewise.
12096 (hashsum_mod_SOURCES): New variable.
12097 (hashsum_mod_CFLAGS): Likewise.
12098 (hashsum_mod_LDFLAGS): Likewise.
12099 (pbkdf2_mod_SOURCES): New variable.
12100 (pbkdf2_mod_CFLAGS): Likewise.
12101 (pbkdf2_mod_LDFLAGS): Likewise.
12102 (password_pbkdf2_mod_SOURCES): New variable.
12103 (password_pbkdf2_mod_CFLAGS): Likewise.
12104 (password_pbkdf2_mod_LDFLAGS): Likewise.
12105 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
12106 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
12107 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
12108 Include conf/gcry.rmk.
12109 * include/grub/auth.h: Rewritten.
12110 * include/grub/crypto.h: New file.
12111 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
12112 * include/grub/normal.h (read_crypto_list): New prototype.
12113 * lib/crypto.c: New file.
12114 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
12115 * lib/pbkdf2.c: Likewise.
12116 * normal/auth.c (grub_auth_strcmp): Removed.
12117 (grub_iswordseparator): Likewise.
12118 (grub_auth_strword): Likewise.
12119 (is_authenticated): Use grub_strword.
12120 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
12121 and grub_strword. Pass entered password to authentication callback.
12122 * normal/crypto.c: New file.
12123 * normal/main.c: Call read_crypto_list.
12124 * util/grub-mkpasswd-pbkdf2.c: New file.
12125 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
12126
42841caa
VS
121272010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
12128
12129 Fix descent and ascent calculation.
12130
12131 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
12132 (options): New option "asce".
12133 (usage): Likewise.
12134 (add_char): Ignore invalid glyphs for descent calculation.
12135 Calculate ascent from actual content.
12136 (print_glyphs): Use 'asce'.
12137 (write_font): Likewise. Allow ascent override.
12138 (main): Handle "asce" option.
12139
e7730de7 121402010-01-06 Carles Pina i Estany <carles@pina.cat>
12141
12142 * kern/err.c: Include `<grub/i18n.h>'.
12143 (grub_print_error): Add full stop. Gettextizze.
12144 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
12145 (grub_bsd_load_elf): Capitalise ELF.
12146 (grub_cmd_freebsd_loadenv): Add `s' in error string.
12147 (grub_cmd_freebsd_module): Likewise.
12148 (grub_cmd_freebsd_module_elf): Likewise.
12149 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
12150
40e3a41f 121512010-01-06 Carles Pina i Estany <carles@pina.cat>
12152
12153 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
12154 * commands/search_file.c (HELP_MESSAGE): New macro.
12155 * commands/search_label.c (HELP_MESSAGE): Likewise.
12156 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
12157 * po/POTFILES: Add `commands/search_file.c',
12158 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
12159 `commands/search.c'.
12160
83507e68
RM
121612010-01-05 Robert Millan <rmh.grub@aybabtu.com>
12162
12163 * config.rpath: Update from Gnulib.
12164
465c787b
YB
121652010-01-05 Yves Blusseau <blusseau@zetam.org>
12166
12167 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
12168
6581dd3a
YB
121692010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
12170
12171 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
12172
3bff18c5
CW
121732010-01-05 Colin Watson <cjwatson@ubuntu.com>
12174
12175 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
12176 arguments to fread so that we get a return value in bytes, rather
12177 than something that will normally be rounded down to 0.
12178 Adjust error handling to avoid producing garbage when size_t is not
12179 the same size as long long.
12180
a1368118
CW
121812010-01-05 Colin Watson <cjwatson@ubuntu.com>
12182
12183 * util/mkisofs/write.c (padblock_write): Check return value of
12184 fread.
12185
7c302978
RM
121862010-01-05 Robert Millan <rmh.grub@aybabtu.com>
12187
12188 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
12189 floppy images now.
12190
12191 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
12192
e33ace06
RM
121932010-01-04 Robert Millan <rmh.grub@aybabtu.com>
12194
12195 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
12196 instead of manual alignment.
12197 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
12198 verbose). Avoid attempts to read past end of the device
12199 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
12200 but GRUB_DISK_CACHE_SIZE may exceed that).
12201
4b856776
RM
122022010-01-04 Robert Millan <rmh.grub@aybabtu.com>
12203
12204 * commands/crc.c (grub_cmd_crc): Abort on read errors.
12205 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
12206 it to upper layer.
12207
52c2d97f
VS
122082010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12209
12210 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
12211 New constant.
12212 (grub_efi_piwg_device_path): New structure
12213 (grub_efi_piwg_device_path_t): New type.
12214 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
12215 (devpath_1): Transform to a structure. All users updated.
12216 (devpath_2): Likewise.
12217 (devpath_3): Likewise.
12218 (devpath_4): Likewise.
12219 (devpath_5): Likewise.
12220
98ff6a54
VS
122212010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
12222
12223 * loader/efi/appleloader.c: Restored. Update all users.
12224
3a73dcb6
RM
122252010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12226
12227 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
12228
12229 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
12230 (struct boot_blocklist): Move from here ...
12231 * include/grub/i386/pc/boot.h [ASM_FILE]
12232 (struct grub_boot_blocklist): ... to here. Update all users.
12233 (setup): Only initialize `start' member of `first_block'
12234 structure. Add assert() calls to verify the other members.
12235
12236 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
12237 (generate_image): Fix broken blocklist length initialization.
12238 Add assert() call to verify blocklist `segment' field.
12239
ab0eeb0c
RM
122402010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12241
12242 * loader/efi/appleloader.c: Remove. Update all users.
12243
58bc8bd5
RM
122442010-01-03 Robert Millan <rmh.grub@aybabtu.com>
12245
12246 * boot/i386/pc/boot.S: Update copyright year.
12247 * boot/i386/pc/cdboot.S: Likewise.
12248 * boot/i386/pc/diskboot.S: Likewise.
12249 * boot/i386/pc/lnxboot.S: Likewise.
12250 * boot/i386/pc/pxeboot.S: Likewise.
12251 * bus/pci.c: Likewise.
12252 * commands/cmp.c: Likewise.
12253 * commands/help.c: Likewise.
12254 * commands/hexdump.c: Likewise.
12255 * commands/i386/pc/halt.c: Likewise.
12256 * commands/i386/pc/play.c: Likewise.
12257 * commands/i386/pc/vbeinfo.c: Likewise.
12258 * commands/ls.c: Likewise.
12259 * commands/test.c: Likewise.
12260 * disk/dmraid_nvidia.c: Likewise.
12261 * disk/i386/pc/biosdisk.c: Likewise.
12262 * disk/ieee1275/nand.c: Likewise.
12263 * disk/ieee1275/ofdisk.c: Likewise.
12264 * disk/lvm.c: Likewise.
12265 * disk/raid.c: Likewise.
12266 * disk/raid6_recover.c: Likewise.
12267 * disk/scsi.c: Likewise.
12268 * fs/affs.c: Likewise.
12269 * fs/cpio.c: Likewise.
12270 * fs/ext2.c: Likewise.
12271 * fs/hfs.c: Likewise.
12272 * fs/iso9660.c: Likewise.
12273 * fs/ntfs.c: Likewise.
12274 * fs/sfs.c: Likewise.
12275 * fs/udf.c: Likewise.
12276 * fs/ufs.c: Likewise.
12277 * fs/xfs.c: Likewise.
12278 * gencmdlist.sh: Likewise.
12279 * genmk.rb: Likewise.
12280 * include/grub/disk.h: Likewise.
12281 * include/grub/efi/api.h: Likewise.
12282 * include/grub/efi/efi.h: Likewise.
12283 * include/grub/efi/pe32.h: Likewise.
12284 * include/grub/elf.h: Likewise.
12285 * include/grub/fs.h: Likewise.
12286 * include/grub/i386/at_keyboard.h: Likewise.
12287 * include/grub/i386/pc/memory.h: Likewise.
12288 * include/grub/i386/pc/vbe.h: Likewise.
12289 * include/grub/i386/pci.h: Likewise.
12290 * include/grub/i386/tsc.h: Likewise.
12291 * include/grub/ieee1275/ieee1275.h: Likewise.
12292 * include/grub/ntfs.h: Likewise.
12293 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
12294 * include/grub/sparc64/libgcc.h: Likewise.
12295 * include/grub/symbol.h: Likewise.
12296 * include/grub/types.h: Likewise.
12297 * include/multiboot2.h: Likewise.
12298 * io/gzio.c: Likewise.
12299 * kern/device.c: Likewise.
12300 * kern/disk.c: Likewise.
12301 * kern/efi/efi.c: Likewise.
12302 * kern/efi/mm.c: Likewise.
12303 * kern/elf.c: Likewise.
12304 * kern/file.c: Likewise.
12305 * kern/i386/dl.c: Likewise.
12306 * kern/i386/pc/init.c: Likewise.
12307 * kern/i386/pc/startup.S: Likewise.
12308 * kern/ieee1275/ieee1275.c: Likewise.
12309 * kern/ieee1275/init.c: Likewise.
12310 * kern/main.c: Likewise.
12311 * kern/mm.c: Likewise.
12312 * kern/powerpc/dl.c: Likewise.
12313 * kern/sparc64/dl.c: Likewise.
12314 * kern/x86_64/dl.c: Likewise.
12315 * lib/hexdump.c: Likewise.
12316 * loader/efi/appleloader.c: Likewise.
12317 * loader/i386/ieee1275/linux.c: Likewise.
12318 * loader/i386/pc/chainloader.c: Likewise.
12319 * loader/i386/pc/linux.c: Likewise.
12320 * loader/i386/pc/multiboot2.c: Likewise.
12321 * loader/ieee1275/multiboot2.c: Likewise.
12322 * loader/multiboot2.c: Likewise.
12323 * loader/multiboot_loader.c: Likewise.
12324 * loader/powerpc/ieee1275/linux.c: Likewise.
12325 * normal/completion.c: Likewise.
12326 * normal/menu_entry.c: Likewise.
12327 * partmap/apple.c: Likewise.
12328 * util/grub.d/10_hurd.in: Likewise.
12329 * util/hostfs.c: Likewise.
12330 * video/readers/png.c: Likewise.
12331
e2d70b5c
CW
123322010-01-03 Colin Watson <cjwatson@ubuntu.com>
12333
12334 * include/grub/misc.h (GNUC_PREREQ): New macro.
12335 (ATTRIBUTE_ERROR): New macro.
12336 * include/grub/list.h (grub_bad_type_cast_real): Use
12337 ATTRIBUTE_ERROR.
12338
a173283f 123392010-01-03 Carles Pina i Estany <carles@pina.cat>
12340
12341 * normal/menu_text.c (print_message): Change messages.
12342
7fa7ff74 123432010-01-03 Carles Pina i Estany <carles@pina.cat>
12344
12345 * normal/menu_entry.c (store_completion): Gettextizze.
12346
136d24f6 123472010-01-03 Carles Pina i Estany <carles@pina.cat>
12348
12349 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
12350
f936862e 123512010-01-03 Carles Pina i Estany <carles@pina.cat>
12352
12353 * po/POTFILES: Sort correctly.
12354
29c44ad1 123552010-01-03 Carles Pina i Estany <carles@pina.cat>
12356
12357 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
12358 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
12359 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
12360 full stop.
12361 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
12362 summary. Gettextizze the strings.
12363 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
12364 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
12365 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
12366 full stop.
12367 (GRUB_MOD_INIT): Remove command name from summary.
12368 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
12369 summary.
12370 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
12371 * term/i386/pc/serial.c (options): Add full stops.
12372 (GRUB_MOD_INIT): Remove command name from the summary.
12373
77a79592 123742010-01-03 Carles Pina i Estany <carles@pina.cat>
12375
12376 * commands/acpi.c: Gettextizze help strings and/or options. Include
12377 `grub/i18n.h' if needed.
12378 * commands/blocklist.c: Likewise.
12379 * commands/boot.c: Likewise.
12380 * commands/cat.c: Likewise.
12381 * commands/cmp.c: Likewise.
12382 * commands/configfile.c: Likewise.
12383 * commands/crc.c: Likewise.
12384 * commands/date.c: Likewise.
12385 * commands/echo.c: Likewise.
12386 * commands/efi/fixvideo.c: Likewise.
12387 * commands/efi/loadbios.c: Likewise.
12388 * commands/gptsync.c: Likewise.
12389 * commands/halt.c: Likewise.
12390 * commands/handler.c: Likewise.
12391 * commands/hdparm.c: Likewise.
12392 * commands/hexdump.c: Likewise.
12393 * commands/i386/cpuid.c: Likewise.
12394 * commands/i386/pc/drivemap.c: Likewise.
12395 * commands/i386/pc/halt.c: Likewise.
12396 * commands/i386/pc/pxecmd.c: Likewise.
12397 * commands/i386/pc/vbeinfo.c: Likewise.
12398 * commands/i386/pc/vbetest.c: Likewise.
12399 * commands/ieee1275/suspend.c: Likewise.
12400 * commands/keystatus.c: Likewise.
12401 * commands/loadenv.c: Likewise.
12402 * commands/ls.c: Likewise.
12403 * commands/lsmmap.c: Likewise.
12404 * commands/lspci.c: Likewise.
12405 * commands/memrw.c: Likewise.
12406 * commands/minicmd.c: Likewise.
12407 * commands/parttool.c: Likewise.
12408 * commands/password.c: Likewise.
12409 * commands/probe.c: Likewise.
12410 * commands/read.c: Likewise.
12411 * commands/reboot.c: Likewise.
12412 * commands/search.c: Likewise.
12413 * commands/sleep.c: Likewise.
12414 * commands/test.c: Likewise.
12415 * commands/true.c: Likewise.
12416 * commands/usbtest.c: Likewise.
12417 * commands/videotest.c: Likewise.
12418 * commands/xnu_uuid.c: Likewise.
12419 * disk/loopback.c: Likewise.
12420 * hello/hello.c: Likewise.
12421 * loader/i386/bsd.c: Likewise.
12422 * term/i386/pc/serial.c: Likewise.
12423 * po/POTFILES: Add new files.
12424
da8d5c53
CW
124252010-01-02 Colin Watson <cjwatson@ubuntu.com>
12426
12427 * term/i386/pc/at_keyboard.c
12428 (keyboard_controller_wait_untill_ready): Rename to ...
12429 (keyboard_controller_wait_until_ready): ... this. Update all users.
12430
33937904 124312010-01-01 Carles Pina i Estany <carles@pina.cat>
12432
12433 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
12434 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
12435 string using string width.
12436 * normal/menu_text.c (grub_print_message_indented): Use
12437 grub_print_spaces and not print_spaces.
12438 (print_timeout): Likewise.
12439 (print_spaces): Move to...
12440 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
12441
3fd3b8d8
RM
124422010-01-01 Robert Millan <rmh.grub@aybabtu.com>
12443
12444 Import from Gnulib.
12445
12446 * gnulib/getdelim.c: New file.
12447 * gnulib/getline.c: Likewise.
12448
33433555
VS
124492009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
12450
12451 * include/grub/list.h (grub_assert_fail): Removed.
12452 (grub_bad_type_cast_real): New function.
12453 (grub_bad_type_cast): New macro.
12454 (GRUB_AS_LIST): Use grub_bad_type_cast.
12455 (GRUB_AS_LIST_P): Likewise.
e44721e8 12456 (GRUB_AS_NAMED_LIST): Likewise.
33433555 12457 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 12458 (GRUB_AS_PRIO_LIST): Likewise.
33433555 12459 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 12460 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 12461
f5a51306
VS
124622009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
12463
12464 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
12465 Fix syntax error.
12466
90d1e879
RM
124672009-12-29 Robert Millan <rmh.grub@aybabtu.com>
12468
12469 * configure.ac: Check for TARGET_CFLAGS initialization before we
12470 initialize it ourselves (sigh).
12471 Move a few modifications to TARGET_CFLAGS to be unconditional
12472 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
12473 eh_frame)
12474
12475 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
12476 * term/i386/pc/at_keyboard.c
12477 (keyboard_controller_wait_untill_ready): Likewise.
12478 (keyboard_controller_led): Rename `led_status' paramter to avoid
12479 name conflict.
12480
465b5a81 124812009-12-28 Carles Pina i Estany <carles@pina.cat>
12482
12483 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
12484 quotes.
12485
c181849b
VS
124862009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12487
12488 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
12489
9c8739a4
VS
124902009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12491
12492 * normal/menu_text.c (grub_print_message_indented): Prevent
12493 past-the-end-of-array dereference.
12494
3e74249c
VS
124952009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
12496
12497 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
12498 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
12499
64fd18ed 125002009-12-27 Carles Pina i Estany <carles@pina.cat>
12501
12502 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
12503 * normal/main.c (grub_normal_read_line): Remove a space from the
12504 default prompt.
12505
714af9b9 125062009-12-27 Carles Pina i Estany <carles@pina.cat>
12507
12508 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
12509 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12510 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
12511 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
12512 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12513 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12514 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12515
82f3e412 125162009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 12517
12518 * video/readers/jpeg.c (cmd): Declare.
12519 (grub_cmd_jpegtest): Use `grub_command_t' type.
12520 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12521 Assign to `cmd'.
12522 (GRUB_MOD_FINI): Use `cmd' to unregister.
12523 * video/readers/png.c (cmd): Declare.
12524 (grub_cmd_pngtest): Use `grub_command_t' type.
12525 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12526 Assign to `cmd'.
12527 (GRUB_MOD_FINI): Use `cmd' to unregister.
12528 * video/readers/tga.c (cmd): Declare.
12529 (grub_cmd_tgatest): Use `grub_command_t' type.
12530 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
12531 Assign to `cmd'.
12532 (GRUB_MOD_FINI): Use `cmd' to unregister.
12533
82f3e412 125342009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 12535
12536 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
12537 stops.
12538 * kern/corecmd.c (grub_register_core_commands): Likewise.
12539 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
12540 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
12541 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
12542 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12543 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
12544 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
12545 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
12546 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
12547 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12548 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
12549 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12550 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12551 * normal/handler.c (insert_handler): Likewise.
12552 * normal/main.c (GRUB_MOD_INIT): Likewise.
12553 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
12554
fdcdbb66 125552009-12-26 Carles Pina i Estany <carles@pina.cat>
12556
12557 * commands/help.c (grub_cmd_help): Print the command name before the
12558 summary.
12559 (GRUB_MOD_INIT): Remove command name from the summary.
12560 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 12561 string as summary.
fdcdbb66 12562 * lib/arg.c (find_long): Print the command name before the summary.
12563 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
12564 summary.
12565 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
12566 * commands/cat.c (GRUB_MOD_INIT): Likewise.
12567 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
12568 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
12569 * commands/crc.c (GRUB_MOD_INIT): Likewise.
12570 * commands/date.c (GRUB_MOD_INIT): Likewise.
12571 * commands/echo.c (GRUB_MOD_INIT): Likewise.
12572 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
12573 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
12574 * commands/handler.c (GRUB_MOD_INIT): Likewise.
12575 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
12576 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
12577 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
12578 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
12579 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
12580 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
12581 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
12582 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
12583 * commands/ls.c (GRUB_MOD_INIT): Likewise.
12584 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
12585 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
12586 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
12587 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
12588 * commands/password.c (GRUB_MOD_INIT): Likewise.
12589 * commands/probe.c (GRUB_MOD_INIT): Likewise.
12590 * commands/read.c (GRUB_MOD_INIT): Likewise.
12591 * commands/search.c (GRUB_MOD_INIT): Likewise.
12592 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
12593 * commands/test.c (GRUB_MOD_INIT): Likewise.
12594 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
12595 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
12596 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
12597 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
12598 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
12599 * lib/arg.c (GRUB_MOD_INIT): Likewise.
12600 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
12601 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
12602 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
12603 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
12604 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
12605 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
12606 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
12607 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
12608
9c288be2
VS
126092009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12610
12611 Use search command for preliminar UUID search.
12612
12613 * commands/search.c: Split into ...
12614 * commands/search_wrap.c: ...this
12615 * commands/search.c: ...and this.
12616 * commands/search_file.c: New file.
12617 * commands/search_label.c: New file.
12618 * commands/search_uuid.c: New file.
12619 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
12620 Add commands/search_wrap.c, commands/search_file.c,
12621 commands/search_label.c and commands/search_uuid.c.
12622 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
12623 (search_mod_SOURCES): Set to commands/search_wrap.c.
12624 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
12625 search_label.mod.
12626 (search_fs_file_mod_SOURCES): New variable.
12627 (search_fs_file_mod_CFLAGS): Likewise.
12628 (search_fs_file_mod_LDFLAGS): Likewise.
12629 (search_label_mod_SOURCES): Likewise.
12630 (search_label_mod_CFLAGS): Likewise.
12631 (search_label_mod_LDFLAGS): Likewise.
12632 (search_fs_uuid_mod_SOURCES): New variable.
12633 (search_fs_uuid_mod_CFLAGS): Likewise.
12634 (search_fs_uuid_mod_LDFLAGS): Likewise.
12635 (fs_file_mod_SOURCES): Removed.
12636 (fs_file_mod_CFLAGS): Likewise.
12637 (fs_file_mod_LDFLAGS): Likewise.
12638 (fs_uuid_mod_SOURCES): Removed.
12639 (fs_uuid_mod_CFLAGS): Likewise.
12640 (fs_uuid_mod_LDFLAGS): Likewise.
12641 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
12642 Set to util/grub-install.in.
12643 * disk/fs_file.c: Removed.
12644 * disk/fs_uuid.c: Likewise.
12645 * include/grub/search.h: New file.
12646 * util/grub-install.in: Handle sparc64.
12647 Create and use load.cfg.
12648 * util/sparc64/ieee1275/grub-install.in: Removed.
12649
db943399
VS
126502009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12651
12652 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
12653 Ignore return status if CF is cleared.
12654 (grub_biosdisk_get_diskinfo_standard): Likewise.
12655
3fdae612
RM
126562009-12-25 Robert Millan <rmh.grub@aybabtu.com>
12657
12658 * term/i386/pc/at_keyboard.c
12659 (keyboard_controller_wait_untill_ready): New function.
12660 (grub_keyboard_controller_write, grub_keyboard_controller_read)
12661 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
12662 for keyboard polling, rather than duplicate the same loop. This
12663 saves a few bytes in code size.
12664
7ebaa2b4
VS
126652009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
12666
12667 Support for (pxe[:server[:gateway]]) syntax and
12668 use environment variable for PXE.
12669
12670 * commands/i386/pc/pxecmd.c (options): Removed.
12671 (print_ip): Removed.
12672 (grub_cmd_pxe): Removed
12673 (grub_cmd_pxe_unload): New function.
12674 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
12675 (grub_pxe_your_ip): Made static.
12676 (grub_pxe_default_server_ip): Likewise.
12677 (grub_pxe_default_gateway_ip): Likewise.
12678 (grub_pxe_blksize): Likewise.
12679 (parse_ip): New function.
12680 (grub_pxe_open): Support server and gateway specification.
12681 (grub_pxe_close): Free disk->data.
12682 (grub_pxefs_open): Use disk->data.
12683 (grub_pxefs_read): Likewise.
12684 (grub_env_write_readonly): New function.
12685 (set_mac_env): Likewise.
12686 (set_env_limn_ro): Likewise.
12687 (parse_dhcp_vendor): Likewise.
12688 (grub_pxe_detect): Set the environment variables.
12689 (set_ip_env): New function.
12690 (write_ip_env): Likewise.
12691 (grub_env_write_pxe_default_server): Likewise.
12692 (grub_env_write_pxe_default_gateway): Likewise.
12693 (grub_env_write_pxe_blocksize): Likewise.
12694 (GRUB_MOD_INIT(pxe)): Set environment variables.
12695 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
12696 (grub_pxe_mac_addr_t): ... this. All users updated.
12697 (grub_pxe_your_ip): Removed.
12698 (grub_pxe_server_ip): Likewise.
12699 (grub_pxe_gateway_ip): Likewise.
12700 (grub_pxe_blksize): Likewise.
12701
ec5f98ab 127022009-12-25 Carles Pina i Estany <carles@pina.cat>
12703
12704 * commands/help.c: Include `<grub/i18n.h>'.
12705 (grub_cmd_help): Gettextizze.
12706 (GRUB_MOD_INIT): Likewise.
12707 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
12708 (GRUB_MOD_INIT): Gettextizze.
12709 * commands/search.c: Include `<grub/i18n.h>'.
12710 (options): Gettextizze.
12711 (GRUB_MOD_INIT): Gettextizze.
12712 * lib/arg.c: Include `<grub/i18n.h>'.
12713 (help_options): Gettextizze.
12714 (find_long): Likewise.
12715 (grub_arg_show_help): Likewise.
12716 * normal/dyncmd.c: Include `<grub/i18n.h>'.
12717 (read_command_list): Gettextizze.
12718 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 12719 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 12720
22815526
RM
127212009-12-25 Robert Millan <rmh.grub@aybabtu.com>
12722
12723 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
12724 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
12725 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
12726 (led_status): New variable.
12727 (keyboard_controller_led): New function.
12728 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
12729 update led status for caps lock, num lock and scroll lock.
12730
0ad46fd7
FZ
127312009-12-25 Felix Zielcke <fzielcke@z-51.de>
12732
12733 * util/hostdisk.c (open_device): Fix a comment.
12734
d0e158c2
RM
127352009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12736
12737 * util/grub-install.in (host_os): New variable.
12738 * util/i386/efi/grub-install.in (host_os): Likewise.
12739
401c0ad6
RM
127402009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12741
12742 * util/mkisofs/write.c (padblock_write): Abort when given an
12743 excedingly large embed image, instead of silently truncating it.
12744
d14d3370
RM
127452009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12746
12747 * include/multiboot.h: Indentation fixes.
12748
eeed10b4
RM
127492009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12750
12751 * include/multiboot.h (struct multiboot_aout_symbol_table)
12752 (struct multiboot_elf_section_header_table): New structure
12753 declarations (stolen from GRUB Legacy).
12754 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
12755 table information.
12756
12757 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
12758 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
12759 type aliases.
12760
681c70ab
RM
127612009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12762
12763 * include/multiboot.h: Make comments src2texi-friendly.
12764
e4d47d8d
RM
127652009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12766
12767 For consistency with [multiboot]/docs/boot.S.
12768
12769 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
12770 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
12771 (MULTIBOOT_MAGIC2): Rename from this ...
12772 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
12773
a0b70bda
RM
127742009-12-24 Robert Millan <rmh.grub@aybabtu.com>
12775
12776 * include/multiboot.h: Remove `<grub/types.h>'.
12777 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
12778 types. Update all users.
12779
61ba42be 127802009-12-25 Carles Pina i Estany <carles@pina.cat>
12781
12782 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
12783 `couldn't' and `can not' by `cannot'.
12784 * commands/i386/pc/drivemap.c: Likewise.
12785 * disk/ata.c: Likewise.
12786 * disk/ieee1275/nand.c: Likewise.
12787 * fs/affs.c: Likewise.
12788 * fs/fat.c: Likewise.
12789 * fs/hfs.c: Likewise.
12790 * fs/hfsplus.c: Likewise.
12791 * fs/iso9660.c: Likewise.
12792 * fs/jfs.c: Likewise.
12793 * fs/minix.c: Likewise.
12794 * fs/reiserfs.c: Likewise.
12795 * fs/sfs.c: Likewise.
12796 * fs/udf.c: Likewise.
12797 * fs/ufs.c: Likewise.
12798 * fs/xfs.c: Likewise.
12799 * loader/powerpc/ieee1275/linux.c: Likewise.
12800 * loader/sparc64/ieee1275/linux.c: Likewise.
12801 * util/grub-probe.c: Likewise.
12802 * util/misc.c: Likewise.
12803
7fd0baee 128042009-12-24 Carles Pina i Estany <carles@pina.cat>
12805
12806 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
12807 grub_errno calls.
12808 * commands/acpi.c: Likewise.
12809 * commands/blocklist.c: Likewise.
12810 * commands/efi/loadbios.c: Likewise.
12811 * commands/i386/pc/drivemap.c: Likewise.
12812 * commands/loadenv.c: Likewise.
12813 * commands/memrw.c: Likewise.
12814 * commands/password.c: Likewise.
12815 * commands/videotest.c: Likewise.
12816 * disk/ata.c: Likewise.
12817 * disk/ata_pthru.c: Likewise.
12818 * disk/dmraid_nvidia.c: Likewise.
12819 * disk/ieee1275/nand.c: Likewise.
12820 * disk/ieee1275/ofdisk.c: Likewise.
12821 * disk/loopback.c: Likewise.
12822 * disk/lvm.c: Likewise.
12823 * disk/mdraid_linux.c: Likewise.
12824 * disk/raid.c: Likewise.
12825 * disk/raid6_recover.c: Likewise.
12826 * disk/scsi.c: Likewise.
12827 * efiemu/main.c: Likewise.
12828 * efiemu/mm.c: Likewise.
12829 * efiemu/pnvram.c: Likewise.
12830 * efiemu/symbols.c: Likewise.
12831 * font/font.c: Likewise.
12832 * fs/cpio.c: Likewise.
12833 * fs/hfsplus.c: Likewise.
12834 * fs/iso9660.c: Likewise.
12835 * fs/jfs.c: Likewise.
12836 * fs/minix.c: Likewise.
12837 * fs/ntfs.c: Likewise.
12838 * fs/ntfscomp.c: Likewise.
12839 * fs/reiserfs.c: Likewise.
12840 * fs/ufs.c: Likewise.
12841 * fs/xfs.c: Likewise.
12842 * gettext/gettext.c: Likewise.
12843 * include/grub/auth.h: Likewise.
12844 * kern/elf.c: Likewise.
12845 * kern/file.c: Likewise.
12846 * kern/ieee1275/init.c: Likewise.
12847 * kern/ieee1275/mmap.c: Likewise.
12848 * kern/ieee1275/openfw.c: Likewise.
12849 * kern/powerpc/dl.c: Likewise.
12850 * kern/sparc64/dl.c: Likewise.
12851 * lib/arg.c: Likewise.
12852 * loader/i386/bsd.c: Likewise.
12853 * loader/i386/bsdXX.c: Likewise.
12854 * loader/i386/efi/linux.c: Likewise.
12855 * loader/i386/efi/xnu.c: Likewise.
12856 * loader/i386/ieee1275/linux.c: Likewise.
12857 * loader/i386/linux.c: Likewise.
12858 * loader/i386/multiboot.c: Likewise.
12859 * loader/i386/pc/linux.c: Likewise.
12860 * loader/i386/pc/multiboot2.c: Likewise.
12861 * loader/i386/xnu.c: Likewise.
12862 * loader/ieee1275/multiboot2.c: Likewise.
12863 * loader/macho.c: Likewise.
12864 * loader/machoXX.c: Likewise.
12865 * loader/multiboot2.c: Likewise.
12866 * loader/multiboot_loader.c: Likewise.
12867 * loader/powerpc/ieee1275/linux.c: Likewise.
12868 * loader/sparc64/ieee1275/linux.c: Likewise.
12869 * loader/xnu.c: Likewise.
12870 * loader/xnu_resume.c: Likewise.
12871 * mmap/i386/pc/mmap.c: Likewise.
12872 * normal/menu_viewer.c: Likewise.
12873 * partmap/acorn.c: Likewise.
12874 * partmap/amiga.c: Likewise.
12875 * partmap/apple.c: Likewise.
12876 * script/lexer.c: Likewise.
12877 * term/gfxterm.c: Likewise.
12878 * term/i386/pc/serial.c: Likewise.
12879 * term/i386/pc/vga.c: Likewise.
12880 * term/ieee1275/ofconsole.c: Likewise.
12881 * term/terminfo.c: Likewise.
12882 * video/bitmap.c: Likewise.
12883 * video/efi_gop.c: Likewise.
12884 * video/efi_uga.c: Likewise.
12885 * video/fb/video_fb.c: Likewise.
12886 * video/i386/pc/vbe.c: Likewise.
12887 * video/readers/tga.c: Likewise.
12888 * video/video.c: Likewise.
12889
0ad46fd7 128902009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
12891
12892 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
12893 * commands/lspci.c: Likewise.
12894 * commands/probe.c: Likewise.
12895 * commands/xnu_uuid.c: Likewise.
12896 * conf/i386-coreboot.rmk: Likewise.
12897 * conf/i386-efi.rmk: Likewise.
12898 * conf/i386-ieee1275.rmk: Likewise.
12899 * conf/i386-pc.rmk: Likewise.
12900 * conf/powerpc-ieee1275.rmk: Likewise.
12901 * conf/sparc64-ieee1275.rmk: Likewise.
12902 * conf/x86_64-efi.rmk: Likewise.
12903 * fs/i386/pc/pxe.c: Likewise.
12904 * gettext/gettext.c: Likewise.
12905 * include/grub/efi/graphics_output.h: Likewise.
12906 * include/grub/i386/pc/memory.h: Likewise.
12907 * kern/env.c: Likewise.
12908 * kern/i386/qemu/startup.S: Likewise.
12909 * lib/i386/pc/biosnum.c: Likewise.
12910 * lib/i386/relocator.c: Likewise.
12911 * lib/i386/relocator_asm.S: Likewise.
12912 * lib/relocator.c: Likewise.
12913 * loader/i386/bsd.c: Likewise.
12914 * loader/i386/multiboot.c: Likewise.
12915 * loader/i386/pc/chainloader.c: Likewise.
12916 * loader/i386/xnu.c: Likewise.
12917 * loader/xnu.c: Likewise.
12918 * normal/main.c: Likewise.
12919 * normal/menu_text.c: Likewise.
12920 * util/getroot.c: Likewise.
12921 * util/grub-mkconfig_lib.in: Likewise.
12922 * util/grub.d/00_header.in: Likewise.
12923 * util/i386/pc/grub-mkimage.c: Likewise.
12924 * util/mkisofs/eltorito.c: Likewise.
12925 * util/mkisofs/exclude.h: Likewise.
12926 * util/mkisofs/hash.c: Likewise.
12927 * util/mkisofs/iso9660.h: Likewise.
12928 * util/mkisofs/joliet.c: Likewise.
12929 * util/mkisofs/mkisofs.c: Likewise.
12930 * util/mkisofs/mkisofs.h: Likewise.
12931 * util/mkisofs/multi.c: Likewise.
12932 * util/mkisofs/name.c: Likewise.
12933 * util/mkisofs/rock.c: Likewise.
12934 * util/mkisofs/tree.c: Likewise.
12935 * util/mkisofs/write.c: Likewise.
12936 * video/efi_gop.c: Likewise.
12937
009ec743
VS
129382009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
12939
12940 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
12941 size counting.
12942
0ad46fd7 129432009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
12944
12945 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
12946 * genmk.rb (class SCRIPT): Modify the target file instead of source.
12947
d3d30ea0
VS
129482009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12949
12950 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
12951 (GRUB_MOD_INIT(memrw)): Update help line.
12952
a34f5c70
VS
129532009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12954
12955 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
12956 Use grub_extcmd_t. All users updated.
12957 (options): New variable.
12958 (grub_cmd_read): Restructure for readability. Support "-v" option.
12959 (grub_cmd_write): Restructure for readability.
12960
0ad46fd7 129612009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
12962
12963 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
12964
0ad46fd7 129652009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
12966
12967 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
12968 with the actual contents of the correspondending make variable.
12969 * util/grub-mkrescue.in (pkglib_DATA): New variable.
12970 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
12971 specifying `*.lst' and `efiemu??.o'
12972
0ad46fd7 129732009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
12974
12975 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
12976 after function name.
12977 Noticed by Rene Engelhard <rene@debian.org>.
12978
dc77a799
VS
129792009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12980
12981 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
12982 (options): New variable.
12983 (iospace): Likewise.
12984 (grub_lspci_iter): List IO spaces if "-i" was given.
12985 (grub_cmd_lspci): Parse options.
12986 (GRUB_MOD_INIT(lspci)): Use extcmd.
12987 (GRUB_MOD_FINI(lspci)): Likewise.
12988
0ad46fd7 129892009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
12990
12991 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
12992 `function' keyword.
12993 Patch by Tony Mancill <tmancill@debian.org>.
12994
b5d5993b
VS
129952009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
12996
12997 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
12998 (grub_uhci_portstatus): Likewise.
12999 (grub_uhci_portstatus): Add necessary delay.
11d18281 13000 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 13001
941903f2 130022009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 13003
941903f2 13004 * commands/acpi.c (options): Fix capitalizations and/or full stops.
13005 (GRUB_MOD_INIT): Likewise.
13006 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 13007 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
13008 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 13009 * commands/efi/loadbios.c (enable_rom_area): Likewise.
13010 (enable_rom_area): Likewise.
13011 (GRUB_MOD_INIT): Likewise.
13012 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
13013 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
13014 * commands/handler.c (GRUB_MOD_INIT): Likewise.
13015 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
13016 * commands/hexdump.c (options): Likewise.
13017 * commands/i386/cpuid.c (options): Likewise.
13018 (GRUB_MOD_INIT): Likewise.
13019 * commands/i386/pc/drivemap.c (options): Likewise.
13020 (GRUB_MOD_INIT): Likewise.
13021 * commands/i386/pc/halt (options): Likewise.
13022 (GRUB_MOD_INIT): Likewise.
13023 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
13024 * commands/i386/pc/pxecmd.c (options): Likewise.
13025 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
13026 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
13027 * commands/keystatus.c (options): Likewise.
13028 (GRUB_MOD_INIT): Likewise.
13029 * commands/loadenv.c (options): Likewise.
13030 * commands/ls.c (options): Likewise.
13031 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
13032 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
13033 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
13034 * commands/parttool.c (helpmsg): Likewise.
13035 * commands/probe.c (options): Likewise.
13036 * commands/read.c (GRUB_MOD_INIT): Likewise.
13037 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
13038 * commands/search.c (options): Likewise.
13039 * commands/sleep.c (options): Likewise.
13040 * commands/test.c (GRUB_MOD_INIT): Likewise.
13041 * commands/true.c (GRUB_MOD_INIT): Likewise.
13042 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
13043 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
13044 * lib/arg.c (help_options): Likewise.
e9bbb4e7 13045 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
13046 `$(XGETTEXT)'.
98a50553 13047 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 13048
0ad46fd7 130492009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 13050
ef3c2c3a 13051 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
13052 instead of specifying them explicit.
13053
7922f68b
RM
130542009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13055
13056 * NEWS: Add grub-probe support for GNU/Hurd.
13057
537ce47f
RM
130582009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13059
13060 * NEWS: gettext was added after 1.97.
13061
9b214e3a
RM
130622009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13063
13064 * util/mkisofs/msdos_partition.h: New file (based on
13065 include/grub/msdos_partition.h).
13066 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
13067 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
13068 (ld_options, main): Recognize --protective-msdos-label.
13069 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
13070 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
13071 (padblock_write): If `use_protective_msdos_label' is set, patch a
13072 protective DOS-style label in the output image.
13073
13074 * util/grub-mkrescue.in: Use --protective-msdos-label.
13075
e9309813
RM
130762009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13077
13078 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
13079 boot.
13080
0ae56929
RM
130812009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13082
13083 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
13084 variables.
13085 (ld_options, main): Recognize `--embedded-boot'.
13086 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
13087 declarations.
13088 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
13089 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
13090 (padblock_write): Likewise. Rewrite to support embedded boot image.
13091
13092 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
13093 for BIOS-based disk boot instead of only ElTorito.
13094
b15937b1
RM
130952009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13096
13097 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
13098 build (not needed for bootstrap).
13099
52cc3ce0
RM
131002009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13101
13102 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
13103 from i386-pc build (not needed for bootstrap).
13104 Rewrite a pair of strings.
13105
36f5ff04
RM
131062009-12-21 Robert Millan <rmh.grub@aybabtu.com>
13107
13108 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
13109
973c6c85 131102009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
13111
13112 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
13113
05d21547
AB
131142009-12-21 Andreas Born <futur.andy@googlemail.com>
13115
13116 * kern/env.c (grub_env_context_open): Mark exported variable for
13117 reexport.
13118
0175d51f
AB
131192009-12-21 Andreas Born <futur.andy@googlemail.com>
13120
13121 * kern/env.c (grub_env_export): Create nonexistent variables before
13122 exporting.
13123
7f39d92f 131242009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 13125
7f39d92f 13126 * include/grub/auth.h: Include `<grub/i18n.h>'.
13127 (GRUB_GET_PASSWORD): Gettextizze string.
13128 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
13129 menu_text.c.
13130 (grub_utf8_to_ucs4_alloc): Fix indentation.
13131 (grub_print_ucs4): Likewise.
13132 (grub_getstringwidth): Likewise.
13133 (print_message_indented): New declaration.
13134 * normal/auth.c: Include `<grub/i18n.h>'.
13135 (grub_auth_check_authentication): Gettexttize string.
13136 * normal/cmdline.c: Include `<grub/i18n.h>'.
13137 (grub_cmdline_get): Gettextizze.
13138 * normal/color.c: Include `<grub/i18n.h>'.
13139 (grub_parse_color_name_pair): Gettexttize strings.
13140 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
13141 string (use `print_message_indented').
13142 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
13143 `include/grub/normal.h'.
13144 (print_message_indented): Renamed to ...
13145 (grub_print_message_indented): ... this. Remove `static' qualifer (now
13146 used in normal/main.c).
13147 (print_message): Use `grub_print_message_indented' instead of
13148 `print_message_indented'.
13149 (print_timeout): Likewise.
13150 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
13151 (grub_normal_print_device_info): Gettexttize strings.
13152 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
13153
3041d898
VS
131542009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13155
13156 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
13157 of arguments. Return number of tokens and not arguments. All users
13158 updated.
13159
de15bf8e
VS
131602009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13161
13162 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
13163 non-MSDOS paritions.
13164
e0a6ca52
VS
131652009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13166
13167 * include/grub/types.h (UNUSED): Removed since it conflicts with
13168 NetBSD headers. All users changed to direct __attribute__ ((unused)).
13169 Reported by Grégoire Sutre.
13170
b99518d1 131712009-12-19 Carles Pina i Estany <carles@pina.cat>
13172
13173 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
13174 (grub_print_ucs4_alloc): Likewise.
13175 (grub_getstringwidth): Likewise.
13176 * normal/main.c (grub_normal_init_page): Gettextize version string.
13177 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
13178 (getstringwidth): Renamed to ...
13179 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
13180 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
13181 (grub_print_ucs4): Remove `static' qualifer (now used in
13182 normal/main.c).
13183 * po/POTFILES: Add normal/main.c.
13184
bfd5e52b 131852009-12-19 Carles Pina i Estany <carles@pina.cat>
13186
13187 * normal/menu_text.c (STANDARD_MARGIN): New macro.
13188 (print_message_indented): Add `margin_left' and `margin_right'
13189 parameters.
13190 (print_message): Update `print_message_indented' calls. Adds '\n' to the
13191 strings.
13192 (print_timeout): Use `print_message_indented' to print the message.
13193 Deletes `second_stage' parameter.
13194 (run_menu): Update `print_timeout' calls.
13195
5a1ad2b9
VS
131962009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13197
13198 Fix console palette on OpenFirmware.
13199
13200 * term/ieee1275/ofconsole.c (MAX): Removed.
13201 (colors): Redone based on VGA palette.
13202 (grub_ofconsole_setcolor): Discard brightness bit since only 8
13203 colors are supported.
13204 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
13205
b045f00a
VS
132062009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13207
13208 Fix potential EfiEmu double prepare.
13209
13210 * efiemu/main.c (prepared): New variable
13211 (grub_efiemu_unload): Set prepare to '0'.
13212 (grub_efiemu_prepare): Return if already prepared. Set prepared.
13213
13214 set_virtual_address_map support.
13215
13216 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
13217 prototype.
13218 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
13219 prototype.
13220 (grub_efiemu_crc32): Likewise.
13221 (grub_efiemu_crc64): Likewise.
13222 (grub_efiemu_set_virtual_address_map): Likewise.
13223 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
13224 New definition.
13225 (grub_autoefi_set_virtual_address_map): Likewise.
13226 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
13227 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
13228 Restructure flow to accomodate it.
13229 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
13230 (grub_efiemu_crc): Recompute CRC32.
13231 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
13232 (efiemu_ptv_relocated): ... this. Made global. All users updated.
13233 * efiemu/symbols.c (relocated_handle): New variable.
13234 (grub_efiemu_free_syms): Free relocated_handle.
13235 (grub_efiemu_alloc_syms): Allocate relocated_handle.
13236 (grub_efiemu_write_sym_markers): New function.
13237 (grub_efiemu_set_virtual_address_map): Likewise.
13238
13239 Newer XNU parameters.
13240
13241 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
13242 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
13243 (grub_xnu_fill_devicetree): New prototype.
13244 (grub_xnu_heap_real_start): New variable.
13245 * loader/xnu.c (get_name_ptr): New function.
13246 (grub_xnu_load_driver): Fill namelen and name.
13247
13248 64-bit xnu support.
13249
13250 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
13251 and 'loader/macho64.c'.
13252 * conf/i386-pc.rmk: Likewise.
13253 * conf/x86_64-efi.rmk: Likewise.
13254 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
13255 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
13256 * include/grub/macho.h (grub_macho_segment64): New structure.
13257 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
13258 (grub_macho_size32): ... to this.
13259 (grub_macho32_get_entry_point): Renamed from ...
13260 (grub_macho_get_entry_point32): ... to this.
13261 (grub_macho_contains_macho64): New prototype.
13262 (grub_macho_size64): Likewise.
13263 (grub_macho_get_entry_point64): Likewise.
13264 (grub_macho32_load): Renamed from ...
13265 (grub_macho_load32): ... to this.
13266 (grub_macho32_filesize): Renamed from ...
13267 (grub_macho_filesize32): ... to this.
13268 (grub_macho32_readfile): Renamed from ...
13269 (grub_macho_readfile32): ... to this.
13270 (grub_macho_filesize64): New prototype.
13271 (grub_macho_readfile64): Likewise.
13272 (grub_macho_parse32): Likewise.
13273 (grub_macho_parse64): Likewise.
13274 * loader/macho.c: Split into ...
13275 * loader/machoXX.c: ... and this. Replace 32 with XX.
13276 * loader/macho32.c: New file.
13277 * loader/macho64.c: Likewise.
13278 * loader/xnu.c (grub_xnu_is_64bit): New variable.
13279 (grub_cmd_xnu_kernel): Make 32-bit only.
13280 (grub_cmd_xnu_kernel64): New function.
13281 (grub_xnu_load_driver): Support Mach-O 64.
13282 (grub_cmd_xnu_mkext): Likewise.
13283 * util/grub.d/30_os-prober.in (osx_entry): New function.
13284 Generate entries for 64-bit boot too.
13285
13286 Eliminate ad-hoc tree format in XNU and EfiEmu.
13287
13288 * efiemu/main.c (grub_efiemu_prepare): Update comment.
13289 * efiemu/pnvram.c: Rewritten to use environment variables.
13290 All users updated.
13291
13292 Inline utf16_to_utf8.
13293
13294 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
13295 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
13296 All users updated.
13297 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
13298
13299 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
13300 * commands/usbtest.c (grub_usb_get_string): ... move here.
13301 (usb_print_str): Fix error handling.
13302 * include/grub/usb.h (grub_usb_get_string): Remove.
13303
13304 UTF-8 to UTF-16 transformation.
13305
13306 * conf/common.rmk (pkglib_MODULES): Add charset.mod
13307 (charset_mod_SOURCES): New variable.
13308 (charset_mod_CFLAGS): Likewise.
13309 (charset_mod_LDFLAGS): Likewise.
13310 * include/grub/utf.h: New file.
13311 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
13312
13313 Support for device properties.
13314
13315 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
13316 (grub_xnu_devprop_device_header): Likewise.
13317 (grub_xnu_devprop_device_descriptor): Likewise.
13318 (grub_xnu_devprop_add_device): New prototype.
13319 (grub_xnu_devprop_remove_device): Likewise.
13320 (grub_xnu_devprop_remove_property): Likewise.
13321 (grub_xnu_devprop_add_property_utf8): Likewise.
13322 (grub_xnu_devprop_add_property_utf16): Likewise.
13323 (grub_cpu_xnu_init): Likewise.
13324 (grub_cpu_xnu_fini): Likewise.
13325 (grub_cpu_xnu_unload): Likewise.
13326 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
13327 (property_descriptor): Likewise.
13328 (devices): New variable.
13329 (grub_xnu_devprop_remove_property): New function.
13330 (grub_xnu_devprop_add_device): Likewise.
13331 (grub_xnu_devprop_remove_device): Likewise.
13332 (grub_xnu_devprop_add_property): Likewise.
13333 (grub_xnu_devprop_add_property_utf8): Likewise.
13334 (grub_xnu_devprop_add_property_utf16): Likewise.
13335 (hextoval): Likewise.
13336 (grub_cpu_xnu_fill_devprop): Likewise.
13337 (grub_cmd_devprop_load): Likewise.
13338 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
13339 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
13340 (cmd_devprop_load): New variable.
13341 (grub_cpu_xnu_init): New function.
13342 (grub_cpu_xnu_fini): Likewise.
13343 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
13344 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
13345 (grub_cmd_xnu_devtree): Likewise.
13346 (hextoval): New function.
13347 (unescape): Likewise.
13348 (grub_xnu_fill_devicetree): Likewise.
13349
13350 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
13351 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
13352
0945f181
VS
133532009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13354
13355 Workaround for broken ATI VBE.
13356
13357 * video/i386/pc/vbe.c (last_set_mode): New variable.
13358 (grub_vbe_set_video_mode): Set 'last_set_mode'.
13359 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
13360 (grub_video_vbe_setup): Don't check for reserved flag.
13361
0ad46fd7 133622009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
13363
13364 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
13365 the `find' command.
13366
c179ebe4
VS
133672009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
13368
13369 UUID support for HFS.
13370
13371 * fs/hfs.c (grub_hfs_uuid): New function.
13372 (grub_hfs_fs): New value .uuid.
13373 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
13374
0ad46fd7 133752009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
13376
13377 Fix a segfault with parsing unknown long options.
13378
13379 * util/grub-mkrelpath.c (options): Zero terminate it.
13380
c4a3e41a
CPE
133812009-12-13 Carles Pina i Estany <carles@pina.cat>
13382
13383 * include/grub/misc.h (grub_puts): New declaration.
13384 (grub_puts_): Likewise.
a22008a6 13385 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
13386 (grub_puts_): Likewise.
13387
2e8a7602
RM
133882009-12-13 Robert Millan <rmh.grub@aybabtu.com>
13389
13390 * util/grub-probe.c (probe): Improve error message.
13391
b50b77b9
RM
133922009-12-13 Robert Millan <rmh.grub@aybabtu.com>
13393
13394 * loader/i386/multiboot_elfxx.c
13395 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
13396 initialization.
13397
133982009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13399
13400 Relocator framework
13401
13402 * loader/i386/xnu_helper.S: Removed. All users updated.
13403 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
13404 (relocator_mod_SOURCES): New variable.
13405 (relocator_mod_CFLAGS): Likewise.
13406 (relocator_mod_LDFLAGS): Likewise.
13407 (relocator_mod_ASFLAGS): Likewise.
13408 * conf/x86_64.rmk: Likewise.
13409 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
13410 (grub_multiboot_payload_entry_offset): Likewise.
13411 (grub_multiboot_forward_relocator): Likewise.
13412 (grub_multiboot_forward_relocator_end): Likewise.
13413 (grub_multiboot_backward_relocator): Likewise.
13414 (grub_multiboot_backward_relocator_end): Likewise.
13415 (grub_multiboot_payload_eip): New variable.
13416 (grub_multiboot_payload_orig): Likewise.
13417 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
13418 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
13419 * include/grub/i386/memory.h
13420 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
13421 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
13422 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
13423 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
13424 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
13425 * include/grub/i386/relocator.h: New file.
13426 * include/grub/x86_64/relocator.h: Likewise.
13427 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
13428 (XNU_RELOCATOR): New macro.
13429 (grub_xnu_launcher_start): Remove.
13430 (grub_xnu_launcher_end): Likewise.
13431 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
13432 (grub_xnu_heap_real_start): Remove.
13433 (grub_xnu_heap_start): Change to void *. All users updated.
13434 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
13435 * lib/i386/relocator.c: New file.
13436 * lib/i386/relocator_asm.S: Likewise.
13437 * lib/i386/relocator_backward.S: Likewise.
13438 * lib/mips/relocator.c: Likewise.
13439 * lib/mips/relocator_asm.S: Likewise.
13440 * lib/relocator.c: Likewise.
13441 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
13442 (entry): Removed.
13443 (playground): Likewise.
13444 (grub_multiboot_payload_orig): New variable.
13445 (grub_multiboot_payload_dest): Likewise.
13446 (grub_multiboot_payload_size): Likewise.
13447 (grub_multiboot_payload_eip): Likewise.
13448 (grub_multiboot_payload_esp): Likewise.
13449 (grub_multiboot_boot): Use grub_relocator32_boot.
13450 (grub_multiboot_unload): Free relocators.
13451 (grub_multiboot): Setup stack. Use relocators.
13452 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
13453 (grub_multiboot_load_elfXX): Use relocators.
13454 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
13455 (grub_multiboot_payload_size): Likewise.
13456 (grub_multiboot_payload_dest): Likewise.
13457 (grub_multiboot_payload_entry_offset): Likewise.
13458 (grub_multiboot_forward_relocator): Likewise.
13459 (grub_multiboot_backward_relocator): Likewise.
13460 (grub_multiboot_real_boot): Likewise.
13461 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
13462 (grub_xnu_entry_point): Likewise.
13463 (grub_xnu_arg1): Likewise.
13464 (grub_xnu_stack): Likewise.
13465 (grub_xnu_launch): Removed.
13466 (grub_xnu_boot_resume): New function.
13467 (grub_xnu_boot): Use relocators.
13468 * loader/i386/xnu_helper.S: Removed.
13469 * loader/xnu.c (grub_xnu_heap_start): New variable.
13470 (grub_xnu_heap_size): Likewise.
13471 (grub_xnu_heap_malloc): Use relocators.
13472 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
13473
29eb90c6
VS
134742009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
13475
13476 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
13477 anything.
13478
31027430
CPE
134792009-12-13 Carles Pina i Estany <carles@pina.cat>
13480
13481 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
13482 GRUB_ERR_NONE before calling grub_env_set.
13483
dc0c71d9
RM
134842009-12-12 Robert Millan <rmh@aybabtu.com>
13485
13486 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
13487 * genmk.rb (video): New variable.
13488 (CLEANFILES, VIDEOFILES): Add #{video}.
13489 (#{video}): New target rule.
13490 * genvideolist.sh: New file.
13491 * Makefile.in (pkglib_DATA): Add video.lst.
13492 (video.lst): New target rule.
13493 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
13494 `video.lst'.
13495 * util/grub.d/30_os-prober.in: Replace `vbe' with
13496 ${GRUB_VIDEO_BACKEND}.
13497
2a4bfcf0
RM
134982009-12-11 Robert Millan <rmh.grub@aybabtu.com>
13499
13500 * THANKS: Add David Miller.
13501
2a3aa4d5
RM
135022009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
13503
13504 libpciaccess support.
13505
13506 * Makefile.in (LIBPCIACCESS): New variable.
13507 (enable_grub_emu_pci): Likewise.
13508 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
13509 util/pci.c and commands/lspci.c.
13510 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
13511 * configure.ac (grub-emu-pci): New option.
13512 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
13513 (grub_pci_device_unmap_range): Likewise.
13514 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
13515 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
13516 (grub_pci_address_t) [!GRUB_UTIL]: New type.
13517 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
13518 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
13519 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
13520 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
13521 * include/grub/pciutils.h: New file.
13522 * util/pci.c: Likewise.
13523
0ad46fd7 135242009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
13525
13526 * util/misc.c: Don't include <errno.h> twice.
13527
0ad46fd7 135282009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
13529
13530 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
13531 name in an error message.
13532 (grub_biosdisk_rw): Likewise.
13533
2e59983c
VS
135342009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13535
13536 Eliminate NTFS 4Gib barrier.
13537
13538 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
13539 (read_run_data): Likewise.
13540 (grub_ntfs_read_run_list): Likewise.
13541 (grub_ntfs_read_block): Likewise.
13542 (grub_ntfs_iterate_dir): Likewise.
13543 (read_mft): Likewise.
13544 (read_data): Likewise.
13545 Use COM_LOG_LEN.
13546 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
13547 to avoid 64-bit division
13548 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
13549 (grub_ntfs_rlst): Use grub_disk_addr_t.
13550
71ee178a
VS
135512009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13552
13553 Eliminate grub-fstest 4Gib barrier.
13554
13555 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
13556 (read_file): Fix error reporting.
13557
2520d4b8
VS
135582009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13559
13560 Eliminate hexdump 4Gib barrier.
13561
13562 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
13563 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
13564
e1f27065
VS
135652009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
13566
13567 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
13568 Fixes amarsh bug.
13569
1a0f7f45
RM
135702009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
13571
13572 Remove miscellaneous files in distclean target.
13573
13574 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
13575
c631d9fb
CW
135762009-12-09 Colin Watson <cjwatson@ubuntu.com>
13577
13578 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
13579 if they're already set. This resolves the conflict between my
13580 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
13581 fixing the --grub-probe option again.
13582 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
13583 change on 2009-10-06, so that we now once again source
13584 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
13585
7c7b6106
RM
135862009-12-08 Robert Millan <rmh.grub@aybabtu.com>
13587
13588 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
13589 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
13590 `util/devicemap.c'.
13591
e3069ec1
CPE
135922009-12-08 Carles Pina i Estany <carles@pina.cat>
13593
13594 * include/grub/misc.h (grub_printf_): New declaration.
13595 * kern/misc.c (grub_printf_): New definition.
13596 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
13597 instead of `grub_printf' and `_'.
13598 * normal/menu_entry.c (store_completion): Likewise.
13599 (run): Likewise.
13600 (grub_menu_entry_run): Likewise.
13601 * normal/menu_text.c (grub_wait_after_message): Likewise.
13602 (notify_booting): Likewise.
13603 (notify_fallback): Likewise.
13604 (notify_execution_failure): Likewise.
13605
d6ceebf1
CW
136062009-12-07 Colin Watson <cjwatson@ubuntu.com>
13607
13608 * configure.ac: Check for vasprintf.
13609 * util/misc.c (asprintf): Move allocation from here ...
13610 (vasprintf): ... to here. New function.
13611 (xasprintf): New function.
13612 * include/grub/util/misc.h (vasprintf, xasprintf): Add
13613 prototypes.
13614 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
13615 * util/grub-mkfont.c (write_font): Likewise.
13616 * util/grub-probe.c (probe): Likewise.
13617 * util/hostdisk.c (make_device_name): Likewise.
13618
de6daa8b
DM
136192009-12-06 David S. Miller <davem@sunset.davemloft.net>
13620
13621 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
13622 anything even prefixed with 'cdrom' as a cdrom.
13623
0ad46fd7 136242009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
13625
13626 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
13627 mount points.
13628
98d3dc02
CPE
136292009-12-05 Carles Pina i Estany <carles@pina.cat>
13630
13631 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
13632 grub_gettext_msg_list.
13633 (grub_gettext_gettranslation_from_position): Return const char *
13634 and not char *.
a2c1332b 13635 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
13636 returns from the list if existing there.
13637 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
13638 (grub_gettext_delete_list): Delete the list.
13639 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
13640 lang environment variable is changed.
13641 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
13642
b283f108
VS
136432009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
13644
13645 Rename kernel.mod to kernel.img.
13646
13647 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
13648 (kernel_mod_EXPORTS): Rename to ...
13649 (kernel_img_EXPORTS): ... this.
13650 (kernel_mod_SOURCES): Rename to ...
13651 (kernel_img_SOURCES): ... this.
13652 (kernel_mod_HEADERS): Rename to ...
13653 (kernel_img_HEADERS): ... this. All users updated.
13654 (kernel_mod_CFLAGS): Rename to ...
13655 (kernel_img_CFLAGS): ... this.
13656 (kernel_mod_ASFLAGS): Rename to ...
13657 (kernel_img_ASFLAGS): ... this.
13658 (kernel_mod_LDFLAGS): Rename to ...
13659 (kernel_img_LDFLAGS): ... this.
13660 * conf/x86_64-efi.rmk: Likewise.
13661 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
13662 (read_kernel_image): ... this. All users updated.
13663 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
13664
69055f8a
CPE
136652009-12-05 Carles Pina i Estany <carles@pina.cat>
13666
13667 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
13668 (print_spaces): New function.
13669 (grub_print_ucs4): New function.
13670 (getstringwidth): New function.
13671 (print_message_indented): New function.
13672 (print_message): Gettexttize strings using print_message_indented.
13673 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
13674 width.
13675 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 13676 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
13677 Gettextize.
13678 * normal/menu_entry.c (store_completion): Cleanup the gettextized
13679 string.
13680 (run): Likewise.
13681 (grub_menu_entry_run): Likewise.
13682 * PO/POTFILES: Add normal/menu_entry.c.
13683
f616f51c
VS
136842009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
13685
13686 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
13687
57bbe3be
CPE
136882009-12-05 Carles Pina i Estany <carles@pina.cat>
13689
13690 * util/grub-install.in: Install gettext .mo files.
13691 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
13692
013d67a1
CPE
136932009-12-05 Carles Pina i Estany <carles@pina.cat>
13694
13695 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
13696 grub_dprintf.
13697
fb954db0
RM
136982009-12-05 Robert Millan <rmh.grub@aybabtu.com>
13699
13700 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
13701 non-firmware-dependant one in realmode.S takes precedence.
13702
6b8474f8
RM
137032009-12-04 Robert Millan <rmh.grub@aybabtu.com>
13704
13705 * commands/halt.c: Replace misc arch-specific headers with
13706 `<grub/misc.h>'.
13707 * commands/reboot.c: Likewise.
13708 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
13709 `<grub/misc.h>'.
13710 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
13711 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
13712 (kernel_img_SOURCES): ... to here.
13713
13714 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
13715 * include/grub/i386/pc/init.h: Likewise.
13716 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13717 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13718
13719 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
13720
13721 * include/grub/i386/halt.h: Remove.
13722 * include/grub/i386/reboot.h: Likewise.
13723
13724 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
13725
4b2e6ca2
DM
137262009-12-03 David S. Miller <davem@sunset.davemloft.net>
13727
13728 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
13729 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
13730 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
13731 "progname.h"
13732 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
13733 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13734 (usage): Add missing comma in printf.
13735
5239348f
RM
137362009-12-02 Robert Millan <rmh.grub@aybabtu.com>
13737
13738 Use the same reboot approach on i386 coreboot and qemu as we do on
13739 BIOS.
13740
13741 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
13742 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
13743 * kern/i386/reboot.c: Remove.
13744 * include/grub/i386/reboot.h (grub_reboot): Export function.
13745 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
13746 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
13747 0xf000:0xfff0 instead of 0xffff:0x0000.
13748 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
13749 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
13750
ef34cbd4
RM
137512009-11-30 Robert Millan <rmh.grub@aybabtu.com>
13752
13753 Fix $srcdir != $objdir build.
13754
13755 * Makefile.in (po/%.po): Rewrite as ...
13756 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
13757
dc9837ea
ST
137582009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
13759
13760 Fix GNU/Hurd grub-install crash.
13761 * util/grub-probe.c (probe): Try to access `path' only when it is not
13762 NULL.
13763
2f857f98
VS
137642009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13765
13766 Correct module naming.
13767
13768 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
13769 (GRUB_MOD_INIT(efi_uga)): ... to this
13770 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
13771 (GRUB_MOD_FINI(efi_uga)): ... to this
13772 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
13773 (GRUB_MOD_INIT(efi_gop)): ... to this
13774 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
13775 (GRUB_MOD_FINI(efi_gop)): ... to this
13776
c5448046
RM
137772009-11-28 Robert Millan <rmh.grub@aybabtu.com>
13778
13779 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
13780 translatable.
13781 (usage): Translate `arg' strings using gettext().
13782 Thanks to Jordi Mallach for the suggestion.
13783
c85184ad
VS
137842009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13785
13786 GOP support. Based on patch from Bean
13787 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
13788
13789 * video/efi_gop.c: New file.
13790 * include/grub/efi/graphics_output.h: Likewise.
13791 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
13792 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
13793 variables.
13794 * conf/x86_64-efi.rmk: Likewise.
13795
8a4c48d8
VS
137962009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
13797
13798 Rename efi_fb to efi_uga.
13799
13800 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
13801 'efi_uga.mod'.
13802 (efi_fb_mod_SOURCES): Rename this ...
13803 (efi_uga_mod_SOURCES): ... to this.
13804 (efi_fb_mod_CFLAGS): Rename this ...
13805 (efi_uga_mod_CFLAGS): ... to this.
13806 (efi_fb_mod_LDFLAGS): Rename this ...
13807 (efi_uga_mod_LDFLAGS): ... to this.
13808 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
13809 'efi_uga.mod'.
13810 (efi_fb_mod_SOURCES): Rename this ...
13811 (efi_uga_mod_SOURCES): ... to this.
13812 (efi_fb_mod_CFLAGS): Rename this ...
13813 (efi_uga_mod_CFLAGS): ... to this.
13814 (efi_fb_mod_LDFLAGS): Rename this ...
13815 (efi_uga_mod_LDFLAGS): ... to this.
13816 * video/efi_fb.c: Move this ...
13817 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
13818
fb6c1a7b
RM
138192009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13820
13821 * po/README: New file. Explain our PO file workflow.
13822
3bc7896c
RM
138232009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13824
13825 * po/ChangeLog: Remove. Move relevant entries back to ...
13826 * ChangeLog: ... here.
13827 * po/ca.po: Remove (now handled by TLP).
13828 * po/id.po: Likewise.
13829 * po/zh_CN.po: Likewise.
13830 * Makefile.in (LINGUAS): Initialize in a way that supports
13831 empty set.
13832
9ed4841d
RM
138332009-11-27 Robert Millan <rmh.grub@aybabtu.com>
13834
13835 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
13836 reliing on po/LINGUAS.
13837 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
13838 (po/%.po): ... this.
13839
0ad46fd7 138402009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
13841
13842 * util/i386/efi/grub-mkimage.c: Include "progname.h".
13843 (main): Use `program_name' instead of nonexistent `progname'.
13844
e30dd392
FZ
138452009-11-26 Felix Zielcke <fzielcke@z-51.de>
13846
13847 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
13848 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
13849
7656de4f
RM
138502009-11-26 Robert Millan <rmh.grub@aybabtu.com>
13851
13852 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
13853 commit.
13854 * conf/i386-efi.rmk: Likewise.
13855 * conf/i386-ieee1275.rmk: Likewise.
13856 * conf/powerpc-ieee1275.rmk: Likewise.
13857 * conf/sparc64-ieee1275.rmk: Likewise.
13858 * conf/x86_64-efi.rmk: Likewise.
13859
db77c4d4
FZ
138602009-11-26 Felix Zielcke <fzielcke@z-51.de>
13861
13862 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
13863
a755bb04
FZ
138642009-11-26 Felix Zielcke <fzielcke@z-51.de>
13865
13866 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
13867
8a4c07fd
RM
138682009-11-26 Robert Millan <rmh.grub@aybabtu.com>
13869
13870 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
13871 (grub_mkdevicemap_SOURCES): New variable.
13872 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
13873 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
13874 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
13875 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
13876 (grub_mkdevicemap_SOURCES): Remove.
13877 * conf/i386-efi.rmk: Likewise.
13878 * conf/i386-ieee1275.rmk: Likewise.
13879 * conf/i386-pc.rmk: Likewise.
13880 * conf/powerpc-ieee1275.rmk: Likewise.
13881 * conf/sparc64-ieee1275.rmk: Likewise.
13882 * conf/x86_64-efi.rmk: Likewise.
13883 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
13884 (usage): Fix strings to use `program_name'.
13885 (main): Initialize gettext.
13886 * util/grub-editenv.c: Likewise.
13887 * util/grub-emu.c: Likewise.
13888 * util/grub-fstest.c: Likewise.
13889 * util/grub-mkdevicemap.c: Likewise.
13890 * util/grub-mkfont.c: Likewise.
13891 * util/grub-mkrelpath.c: Likewise.
13892 * util/grub-pe2elf.c: Likewise.
13893 * util/grub-probe.c: Likewise.
13894 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
13895 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
13896 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13897
13898 * util/misc.c: Include `"progname.h"'.
13899 (progname): Remove variable.
13900 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
13901
6f61ed55
FZ
139022009-11-25 Felix Zielcke <fzielcke@z-51.de>
13903
13904 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
13905 printf and print a newline after the menuentry header line.
13906 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
13907
f022876b
FZ
139082009-11-25 Felix Zielcke <fzielcke@z-51.de>
13909
13910 autoconf >= 2.60 support $(localedir).
13911
13912 * INSTALL: Note that autoconf 2.60 is required.
13913 * configure.ac (AC_PREREQ): Bump to 2.60.
13914 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
13915 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
13916
6717926e
YB
139172009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
13918
13919 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
13920 aclocal is run.
13921
08806a54
RM
139222009-11-25 Robert Millan <rmh.grub@aybabtu.com>
13923
13924 * normal/main.c (grub_normal_read_line): Fix off-by-one
13925 buffer overflow.
13926
13b33fba
RM
139272009-11-25 Robert Millan <rmh.grub@aybabtu.com>
13928
13929 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
13930 "parser.grub" in grub_command_execute() call.
13931
4a8572e9
CPE
139322009-11-24 Carles Pina i Estany <carles@pina.cat>
13933
13934 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
13935 * conf/i386-efi.rmk: Likewise.
13936 * conf/i386-ieee1275.rmk: Likewise.
13937 * conf/i386-pc.rmk: Likewise.
13938 * conf/powerpc-ieee1275.rmk: Likewise.
13939 * conf/sparc64-ieee1275.rmk: Likewise.
13940 * conf/x86_64-efi.rmk: Likewise.
13941 * gettext/gettex.c: Include <grub/i18n.h>.
13942 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
13943 here ...
13944 * include/grub/i18n.h: ... to here
13945 * include/grub/i18n.h: ... to here.
13946 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 13947 (grub_gettext_dummy): Move above user.
4a8572e9 13948
bee48093
FZ
139492009-11-24 Felix Zielcke <fzielcke@z-51.de>
13950
13951 * util/Makefile.in (install-local): Convert a `for' into a normal
13952 shell expansion.
13953
a031e91c
RM
139542009-11-24 Robert Millan <rmh.grub@aybabtu.com>
13955
13956 * autogen.sh: Add automake call.
13957 * config.guess: Remove.
13958 * config.sub: Likewise.
13959 * install-sh: Likewise.
13960
26bec39d
FZ
139612009-11-24 Felix Zielcke <fzielcke@z-51.de>
13962
13963 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
13964
8e2532fd
FZ
139652009-11-24 Felix Zielcke <fzielcke@z-51.de>
13966
13967 * util/Makefile.in (install-local): Convert a make `$(foreach)'
13968 function to a normal shell `for'.
13969
fefa1b7d
FZ
139702009-11-24 Felix Zielcke <fzielcke@z-51.de>
13971
13972 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
13973
4501250b
FZ
139742009-11-24 Felix Zielcke <fzielcke@z-51.de>
13975
13976 * util/grub-mkrelpath.c: New file.
13977 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
13978 (grub_mkrelpath_SOURCES): New variable.
13979 * include/grub/util/misc.h: New function prototype.
13980 * util/misc.c (make_system_path_relative_to_its_root): New function.
13981
13982 * util/grub-mkconfig_lib.in (bindir): New variable.
13983 (grub_mkrelpath): Likewise.
13984 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
13985
13986 * util/probe.c (probe): Make the file path relative to its root.
13987 Change a info message to use the GRUB path. Enable again the
13988 check if we can read the file with GRUB facilities.
13989
13990 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
13991 to its root.
13992
11d9778b
FZ
139932009-11-24 Felix Zielcke <fzielcke@z-51.de>
13994
13995 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
13996 platform.
13997
4465287d
FZ
139982009-11-24 Felix Zielcke <fzielcke@z-51.de>
13999
14000 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
14001 strncmp().
14002
62b47f22
FZ
140032009-11-24 Felix Zielcke <fzielcke@z-51.de>
14004
14005 * util/getroot.c (grub_util_is_dmraid): New function.
14006 (grub_util_get_dev_abstraction): Treat dmraid and multipath
14007 devices as normal ones, not as LVM.
14008
1eafb9b9 140092009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
14010
14011 * conf/common.rmk: Add grub-gettext_lib target and updates
14012 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
14013 LDFLAGS.
14014 * gettext/gettext.c: New file. (Reads mo files).
14015 * include/grub/file.h (grub_file_pread): New prototype.
14016 * include/grub/i18n.h (_): New prototype.
14017 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
14018 prototypes.
14019 * kern/misc.c (grub_gettext_dummy): New function.
14020 * normal/menu_text.c: Include <grub/i18n.h>.
14021 * normal/menu_text.c (print_timeout): Gettexttize string.
14022 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
14023 * po/POTFILES: Add `normal/menu_text.c'.
14024 * po/ca.po: Add new translations.
c3ea6bd4
CPE
14025 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
14026 gettext module and defines locale_dir and lang in grub.cfg.
14027 * NEWS: Add gettext support.
14028
0fdb2568
RM
140292009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14030
14031 * util/hostdisk.c: Include `<grub/i18n.h>'.
14032 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
14033 (make_device_name): Rewrite using asprintf.
14034 (convert_system_partition_to_system_disk): Replace 0 with NULL.
14035 (find_system_device): If a device is not found, generate one just
14036 by reusing the OS path name.
14037 (read_device_map): Make it permissible for device.map not to exist.
14038
f515aa62
RM
140392009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14040
14041 * script/sh/execute.c: Move from here ...
14042 * script/execute.c: ... to here. Update all users.
14043 * script/sh/function.c: Move from here ...
14044 * script/function.c: ... to here. Update all users.
14045 * script/sh/lexer.c: Move from here ...
14046 * script/lexer.c: ... to here. Update all users.
14047 * script/sh/main.c: Move from here ...
14048 * script/main.c: ... to here. Update all users.
14049 * script/sh/parser.y: Move from here ...
14050 * script/parser.y: ... to here. Update all users.
14051 * script/sh/script.c: Move from here ...
14052 * script/script.c: ... to here. Update all users.
14053
f84b481b
RM
140542009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14055
14056 * configure.ac: Detect all `emu' platforms. Define
14057 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
14058 --enable-grub-emu logic. Disable include/grub/machine
14059 symlink on `emu' platforms.
14060
14061 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
14062 * gensymlist.sh.in: Likewise.
14063
14064 * include/grub/i386/coreboot/machine.h: Remove file.
14065 * include/grub/i386/efi/machine.h: Likewise.
14066 * include/grub/i386/ieee1275/machine.h: Likewise.
14067 * include/grub/i386/pc/machine.h: Likewise.
14068 * include/grub/i386/qemu/machine.h: Likewise.
14069 * include/grub/powerpc/ieee1275/machine.h: Likewise.
14070 * include/grub/sparc64/ieee1275/machine.h: Likewise.
14071 * include/grub/x86_64/efi/machine.h: Likewise.
14072
14073 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
14074 * commands/halt.c: Likewise.
14075 * commands/reboot.c: Likewise.
14076 * include/grub/autoefi.h: Likewise.
14077 * include/grub/i386/at_keyboard.h: Likewise.
14078 * include/grub/i386/kernel.h: Likewise.
14079 * include/grub/i386/loader.h: Likewise.
14080 * include/grub/i386/pc/memory.h: Likewise.
14081 * kern/dl.c: Likewise.
14082 * kern/i386/coreboot/init.c: Likewise.
14083 * loader/i386/bsd.c: Likewise.
14084 * loader/i386/linux.c: Likewise.
14085 * loader/multiboot_loader.c: Likewise.
14086 * term/i386/pc/serial.c: Likewise.
14087 * term/usb_keyboard.c: Likewise.
14088
14089 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
14090 `<grub/machine/machine.h>'
14091 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
14092 * util/misc.c: Remove `<grub/machine/machine.h>' and
14093 `<grub/machine/time.h>'.
14094
14095 * Makefile.in (enable_grub_emu): Remove variable.
14096 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
14097
14098 * conf/any-emu.rmk: New file.
14099 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
14100 (grub_emu_init.c): Move from here ...
14101 * conf/any-emu.rmk: ... to here.
14102
14103 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
14104 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
14105 * conf/any-emu.rmk: ... to here.
14106
4efeab03
RM
141072009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14108
14109 * include/grub/parser.h (grub_parser_register): Document need
14110 of `name' parameter.
14111 * normal/main.c (grub_normal_read_line): Simplify prompt string.
14112 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
14113 "sh" to "grub".
14114
ea1dd8bf
RM
141152009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14116
14117 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
14118 `$(XGETTEXT)'.
14119 * include/grub/i18n.h (N_): New macro.
14120 * util/mkisofs/mkisofs.h: Likewise.
14121 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
14122 around N_().
14123 (usage): Use gettext() to translate help strings when printing them.
14124
0c140626
RM
141252009-11-23 Robert Millan <rmh.grub@aybabtu.com>
14126
14127 Based on patch from Bean
14128 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
14129
14130 * video/efi_fb.c: New file.
14131 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
14132 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
14133 variables.
14134 * conf/x86_64-efi.rmk: Likewise.
14135
87d58298
RM
141362009-11-22 Robert Millan <rmh.grub@aybabtu.com>
14137
14138 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
14139 * util/i386/pc/grub-setup.c: Likewise.
14140
994cc3a3
ST
141412009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
14142
14143 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
14144 <hurd/fs.h>
14145 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
14146 file_get_storage_info to implement grub_guess_root_device.
14147
26a61d6a
FZ
141482009-11-21 Felix Zielcke <fzielcke@z-51.de>
14149
14150 * Makefile.in (target): Use make's builtin $(shell) function
14151 instead of calling directly $(SHELL) to create the locale directories,
14152 inside the $(foreach) function.
14153
74ff1dd5
FZ
141542009-11-21 Felix Zielcke <fzielcke@z-51.de>
14155
14156 * util/grub-mkrescue.in: Print an error and usage if output option
14157 has not been given.
14158
0b787d0e
FZ
141592009-11-21 Felix Zielcke <fzielcke@z-51.de>
14160
14161 Patch from Loïc Minier <loic.minier@ubuntu.com>.
14162 * util/grub.d/30_os-prober.in: Cope with Linux entries where
14163 root and /boot are on different devices.
14164
1164b270
RM
141652009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14166
14167 Fix build for srcdir != objdir.
14168
14169 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
14170 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
14171 $(srcdir).
14172 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
14173 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
14174 reference for input.
14175
13774a2f
RM
141762009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14177
14178 * util/grub-mkrescue.in: Use source directory direcly (without copiing
14179 or hardlinking it). Remove -J option, Joliet is not compatible with
14180 multiple source directories.
14181
efda854e
RM
141822009-11-21 Carles Pina i Estany <carles@pina.cat>
141832009-11-21 Robert Millan <rmh.grub@aybabtu.com>
14184
14185 * util/grub-mkrescue.in: Recognize `--override-directory' option.
14186 (process_input_dir): New function. Process an arbitrary input
14187 directory.
14188 Misc adjustments to support both "override mode" and system-wide mode.
14189
6c09890c
FZ
141902009-11-20 Felix Zielcke <fzielcke@z-51.de>
14191
14192 * configure.ac (UNIFONT_BDF): Rename to ...
14193 (FONT_SOURCE): ... this. Update all users.
14194
a797824f
FZ
141952009-11-20 Felix Zielcke <fzielcke@z-51.de>
14196
14197 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
14198 to the list of unifont files to look for.
14199
cd4f42b0
RM
142002009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14201
14202 Patch from Joe Auricchio <jauricchio@gmail.com>
14203 * commands/minicmd.c (grub_mini_cmd_clear): New function.
14204 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
14205 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
14206
393c783d
FZ
142072009-11-19 Felix Zielcke <fzielcke@z-51.de>
14208
14209 * Makefile.in (install-local): Add a missing backslash.
14210
b2f1e327
FZ
142112009-11-19 Felix Zielcke <fzielcke@z-51.de>
14212
14213 * include/grub/x86_64/io.h: New file.
14214
f577f7a0
RM
142152009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14216
14217 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
14218 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
14219 Include `"progname.h"'.
14220 (main): Initialize gettext.
14221 * util/i386/pc/grub-setup.c: Gettexttize.
14222 * util/i386/pc/grub-mkimage.c: Likewise.
14223
14224 * Makefile.in (po/*.po): Redefine as ...
14225 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
14226
3bc7896c
RM
14227 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
14228
c37943b6
RM
142292009-11-19 Robert Millan <rmh.grub@aybabtu.com>
14230
14231 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
14232 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
14233 (program_name): Remove.
14234 (main): Initialize gettext support.
6323f705
RM
14235 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
14236 Include `<libintl.h>'.
14237 (_): New macro.
c37943b6
RM
14238
14239 * util/mkisofs/eltorito.c: Gettexttize.
14240 * util/mkisofs/joliet.c: Likewise.
14241 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
14242 * util/mkisofs/multi.c: Likewise.
14243 * util/mkisofs/rock.c: Likewise.
14244 * util/mkisofs/tree.c: Likewise.
14245 * util/mkisofs/write.c: Likewise.
14246
3bc7896c
RM
14247 * po/POTFILES: Update with new files.
14248
5ce77c6e
RM
142492009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14250
14251 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
14252 * util/mkisofs/iso9660.h: Likewise.
14253 * util/mkisofs/joliet.c: Likewise.
14254 * util/mkisofs/mkisofs.c: Likewise.
14255 * util/mkisofs/mkisofs.h: Likewise.
14256 * util/mkisofs/rock.c: Likewise.
14257 * util/mkisofs/tree.c: Likewise.
14258 * util/mkisofs/write.c: Likewise.
14259
14260 * util/mkisofs/eltorito.c (rcsid): Remove.
14261 * util/mkisofs/hash.c: Likewise.
14262 * util/mkisofs/joliet.c: Likewise.
14263 * util/mkisofs/name.c: Likewise.
14264 * util/mkisofs/rock.c: Likewise.
14265 * util/mkisofs/tree.c: Likewise.
14266 * util/mkisofs/write.c: Likewise.
14267
1dabbc77
RM
142682009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14269
14270 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
14271 instead of static allocation.
14272 * util/mkisofs/match.h: Likewise.
14273
633877cb
RM
142742009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14275
3bc7896c
RM
14276 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
14277 and `util/grub.d/10_linux.in'.
633877cb
RM
14278 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
14279 translatable Shell files.
14280
af1c0c85
RM
142812009-11-18 Robert Millan <rmh.grub@aybabtu.com>
14282
14283 * Makefile.in ($(srcdir)/aclocal.m4): New target.
14284
769ae37b
RM
142852009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14286
14287 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 14288 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
14289 * util/grub.d/10_kfreebsd.in (bindir): New variable.
14290 Add gettext initialization.
14291 (kfreebsd_entry): Make menuentry output translatable.
14292
142932009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14294
14295 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
14296 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
14297 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
14298 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
14299 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 14300 * po/LINGUAS: New file.
769ae37b
RM
14301
143022009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14303
14304 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
14305 other things).
14306 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
14307 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
14308 bindtextdomain() calls for gettext initialization.
14309
143102009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14311
14312 * gnulib/progname.c: New file (imported from Gnulib).
14313 * gnulib/progname.h: Likewise.
14314 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
14315 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
14316 (usage): Replace `progname' with `program_name'.
14317 (main): Use set_program_name() for program name initialization.
14318
143192009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14320
14321 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
14322 from here ...
14323 * Makefile.in (CPPFLAGS): ... to here.
14324
143252009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14326
14327 * aclocal.m4: Move from here ...
14328 * acinclude.m4: ... to here.
14329 * autogen.sh: Add call to `aclocal'.
14330 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
14331
143322009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14333
14334 * Makefile.in (CLEANFILES): Add `po/*.mo'.
14335 (LINGUAS): New variable.
14336 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
14337 (install-local): Install MO files.
14338 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
14339 * include/grub/i18n.h: New file.
3bc7896c
RM
14340 * po/POTFILES: New file.
14341 * po/ca.po: New file.
769ae37b
RM
14342 * util/grub.d/10_linux.in (bindir): New variable.
14343 Add gettext initialization.
14344 (linux_entry): Make menuentry output translatable.
14345 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
14346 (usage): Make --help output translatable.
14347 (main): Initialize gettext.
14348
02c0a6ad
RM
143492009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14350
14351 * import_gcry.py: New file (written by Vladimir with minor
14352 adjustments).
14353 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
14354 ciphers.
14355 * INSTALL: Document that Python is required for bootstrap.
14356
143572009-11-17 Robert Millan <rmh.grub@aybabtu.com>
14358
14359 Import ciphers from libgcrypt 1.4.4.
14360
14361 * lib/libgcrypt/cipher/ChangeLog
14362 * lib/libgcrypt/cipher/ac.c
14363 * lib/libgcrypt/cipher/arcfour.c
14364 * lib/libgcrypt/cipher/bithelp.h
14365 * lib/libgcrypt/cipher/blowfish.c
14366 * lib/libgcrypt/cipher/camellia-glue.c
14367 * lib/libgcrypt/cipher/camellia.c
14368 * lib/libgcrypt/cipher/camellia.h
14369 * lib/libgcrypt/cipher/cast5.c
14370 * lib/libgcrypt/cipher/cipher.c
14371 * lib/libgcrypt/cipher/crc.c
14372 * lib/libgcrypt/cipher/des.c
14373 * lib/libgcrypt/cipher/dsa.c
14374 * lib/libgcrypt/cipher/ecc.c
14375 * lib/libgcrypt/cipher/elgamal.c
14376 * lib/libgcrypt/cipher/hash-common.c
14377 * lib/libgcrypt/cipher/hash-common.h
14378 * lib/libgcrypt/cipher/hmac-tests.c
14379 * lib/libgcrypt/cipher/md.c
14380 * lib/libgcrypt/cipher/md4.c
14381 * lib/libgcrypt/cipher/md5.c
14382 * lib/libgcrypt/cipher/primegen.c
14383 * lib/libgcrypt/cipher/pubkey.c
14384 * lib/libgcrypt/cipher/rfc2268.c
14385 * lib/libgcrypt/cipher/rijndael-tables.h
14386 * lib/libgcrypt/cipher/rijndael.c
14387 * lib/libgcrypt/cipher/rmd.h
14388 * lib/libgcrypt/cipher/rmd160.c
14389 * lib/libgcrypt/cipher/rsa.c
14390 * lib/libgcrypt/cipher/seed.c
14391 * lib/libgcrypt/cipher/serpent.c
14392 * lib/libgcrypt/cipher/sha1.c
14393 * lib/libgcrypt/cipher/sha256.c
14394 * lib/libgcrypt/cipher/sha512.c
14395 * lib/libgcrypt/cipher/tiger.c
14396 * lib/libgcrypt/cipher/twofish.c
14397 * lib/libgcrypt/cipher/whirlpool.c
14398
af2f93ac
RM
143992009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14400
14401 Fix build for systems without error().
14402
14403 * gnulib/error.c: New file (imported from Gnulib).
14404 * gnulib/error.h: Likewise.
14405 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
14406 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
14407 (this variable is now used by error()).
14408
73fb3dd5
FZ
144092009-11-16 Felix Zielcke <fzielcke@z-51.de>
14410
814f5e96
FZ
14411 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
14412 instead of relying that char is signed.
73fb3dd5 14413
a691ca33
VS
144142009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
14415
14416 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
14417 blocksize different from specified.
14418 (grub_pxefs_read): Likewise.
14419
2af8f0f4
FZ
144202009-11-16 Felix Zielcke <fzielcke@z-51.de>
14421
14422 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
14423
14424 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
14425 (grub_ata_readwrite): Likewise. Update 2 format strings.
14426 (grub_atapi_read): Likewise.
14427
14428 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
14429 * conf/i386.rmk (pkglib_MODULES): ... to here ...
14430 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
14431 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
14432 (ata_mod_LDFLAGS): Move from here ...
14433 * conf/i386.rmk: ... to here ...
14434 * conf/x86_64-efi.rmk: ... and here.
14435 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
14436 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
14437
83bdecaf
RM
144382009-11-16 Robert Millan <rmh.grub@aybabtu.com>
14439
14440 Relicense multiboot.h, with RMS' blessing.
14441
14442 * include/multiboot.h: Change to X11 license.
14443
fd6fd3d7
RM
144442009-11-15 Robert Millan <rmh.grub@aybabtu.com>
14445
14446 Support --version in grub-mkisofs.
14447
14448 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
14449 (OPTION_VERSION): New macro.
14450 (ld_options): Recognize --version.
14451 (usage): Move `program_name' from here ...
14452 (program_name): ... to here. Add `static' qualifier.
14453 (main): Recognize `OPTION_VERSION'.
14454
16a88c49
FZ
144552009-11-15 Felix Zielcke <fzielcke@z-51.de>
14456
14457 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
14458 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
14459
a4158476
RM
144602009-11-14 Robert Millan <rmh.grub@aybabtu.com>
14461
14462 Fix help2man generation for mkisofs.
14463
14464 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
14465 (usage): Send output to stdout (rather than stderr).
14466
fc2208b0
RM
144672009-11-14 Robert Millan <rmh.grub@aybabtu.com>
14468
14469 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
14470 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
14471 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
14472 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
14473 (bin_SCRIPTS): Add `grub-mkfloppy'.
14474 (grub_mkfloppy_SOURCES): New variable.
14475
14476 * util/grub-mkrescue.in: New file.
14477 * util/i386/pc/grub-mkfloppy.in: New file.
14478
14479 * util/i386/coreboot/grub-mkrescue.in: Remove.
14480 * util/i386/pc/grub-mkrescue.in: Remove.
14481
8d0edf4a
RM
144822009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14483
14484 * include/grub/multiboot.h (struct grub_multiboot_header): Move
14485 from here ...
14486 * include/multiboot.h (struct multiboot_header): ... to here. Update
14487 all users.
14488 * include/grub/multiboot.h (struct grub_multiboot_info): Move
14489 from here ...
14490 * include/multiboot.h (struct multiboot_info): ... to here. Update
14491 all users.
14492 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
14493 from here ...
14494 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
14495 Update all users.
14496 * include/grub/multiboot.h (struct grub_mod_list): Move
14497 from here ...
14498 * include/multiboot.h (struct multiboot_mod_list): ... to here.
14499 Update all users.
14500
a73f5969
RM
145012009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14502
14503 * include/multiboot2.h (multiboot_word): Rename from this ...
14504 (multiboot2_word): ... to this. Update all users.
14505 (multiboot_header): Rename from this ...
14506 (multiboot2_header): ... to this. Update all users.
14507 (multiboot_tag_header): Rename from this ...
14508 (multiboot2_tag_header): ... to this. Update all users.
14509 (multiboot_tag_start): Rename from this ...
14510 (multiboot2_tag_start): ... to this. Update all users.
14511 (multiboot_tag_name): Rename from this ...
14512 (multiboot2_tag_name): ... to this. Update all users.
14513 (multiboot_tag_module): Rename from this ...
14514 (multiboot2_tag_module): ... to this. Update all users.
14515 (multiboot_tag_memory): Rename from this ...
14516 (multiboot2_tag_memory): ... to this. Update all users.
14517 (multiboot_tag_unused): Rename from this ...
14518 (multiboot2_tag_unused): ... to this. Update all users.
14519 (multiboot_tag_end): Rename from this ...
14520 (multiboot2_tag_end): ... to this. Update all users.
14521
1c8927f0
RM
145222009-11-13 Robert Millan <rmh.grub@aybabtu.com>
14523
14524 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
14525 this platform we should support Multiboot1 first.
14526
14527 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
14528 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
14529 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
14530
6e1e0d89
RM
145312009-11-12 Robert Millan <rmh.grub@aybabtu.com>
14532
14533 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
14534 of write calls (converting them to fwrite() if they aren't already).
14535 (get_torito_desc): Likewise.
14536 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
14537
7f2b34d8
RM
145382009-11-12 Robert Millan <rmh.grub@aybabtu.com>
14539
14540 * util/i386/pc/grub-install.in: Move from here ...
14541 * util/grub-install.in: ... to here. Update all users.
14542
c0ef3311
CW
145432009-11-11 Colin Watson <cjwatson@ubuntu.com>
14544
14545 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
14546
e1f240ff
RM
145472009-11-11 Robert Millan <rmh.grub@aybabtu.com>
14548
14549 Support for El Torito without floppy emulation.
14550
14551 * util/mkisofs/eltorito.c: Include `<errno.h>'.
14552 (init_boot_catalog): Improve error handling.
14553 (get_torito_desc): Don't use floppy emulation unless requested by
14554 user. Patch boot information table when requested via
14555 `-boot-info-table'.
14556 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
14557 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
14558 (use_boot_info_table): New variables.
14559 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
14560 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
14561 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
14562 `--eltorito-emul-floppy'.
14563 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
14564 and `OPTION_ELTORITO_EMUL_FLOPPY'.
14565 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
14566 (use_boot_info_table, get_731): New prototypes.
14567 * util/mkisofs/write.c (get_731): New function.
14568
af7d4de5
FZ
145692009-11-11 Felix Zielcke <fzielcke@z-51.de>
14570
14571 Fix the generation of the man page.
14572
14573 * util/pc/i386/grub-install.in: Source
14574 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
14575
2c55dbc0
RM
145762009-11-11 Robert Millan <rmh.grub@aybabtu.com>
14577
14578 Large file support for grub-mkisofs.
14579
14580 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
14581 * util/mkisofs/mkisofs.c (next_extent, last_extent)
14582 (session_start): Upgrade type to `uint64_t'. Update all users.
14583 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
14584 (struct directory_entry): Upgrade type of `starting_block' and
14585 `size' to `uint64_t'. Update all users.
14586 (struct deferred): Remove unused structure.
14587 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
14588 Update all users.
14589 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
14590 file is larger than `UINT32_MAX'.
14591 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
14592 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
14593 return value.
14594 (struct deferred_write): Upgrade type of `extent' and `size' to
14595 `uint64_t'. Update all users.
14596 (last_extent_written): Upgrade type to `uint64_t'. Update all
14597 users.
14598 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
14599 Update all users. Upgrade type of `remain' to `int64_t' and
14600 `use' to `size_t'. Use error() to handle fread() errors.
14601 (write_files): Rely on write_one_file() rather than calling
14602 xfwrite() directly.
14603
6a9cead5
FZ
146042009-11-09 Felix Zielcke <fzielcke@z-51.de>
14605
14606 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
14607
4825d790
RM
146082009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14609
14610 * util/mkisofs/fnmatch.c: Remove.
14611 * util/mkisofs/getopt1.c: Likewise.
14612 * util/mkisofs/getopt.c: Likewise.
14613 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
14614 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
14615 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
14616 `gnulib/getopt1.c' and `gnulib/getopt.c'.
14617 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
14618
14619 * configure.ac: Detect `mingw32msvc' host_os.
14620 Check for lstat(), getuid() and getgid().
14621
14622 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
14623 instances of `u_char' with `uint8_t'.
14624
14625 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
14626 [!HAVE_GETUID] (getuid): New function (stub).
14627 [!HAVE_GETGID] (getgid): Likewise.
14628 [!HAVE_LSTAT] (lstat): Likewise.
14629 [!S_IROTH] (S_IROTH): New macro (dummy).
14630 [!S_IRGRP] (S_IRGRP): Likewise.
14631
84b860d8
RM
146322009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14633
14634 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
14635 conditional expression).
14636
66e9b712
RM
146372009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14638
14639 Import from Gnulib.
14640
14641 * gnulib/fnmatch.c: New file.
14642 * gnulib/fnmatch.h: Likewise.
14643 * gnulib/fnmatch_loop.c: Likewise.
14644 * gnulib/getopt.c: Likewise.
14645 * gnulib/getopt.h: Likewise.
14646 * gnulib/getopt1.c: Likewise.
14647 * gnulib/getopt_int.h: Likewise.
14648 * gnulib/gettext.h: Likewise.
14649
34f4a5b0
RM
146502009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14651
14652 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
14653 * normal/handler.c (read_handler_list): Likewise.
14654
ac451143
RM
146552009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14656
14657 Misc cleanup.
14658
14659 * kern/command.c (grub_register_command_prio): Use
14660 grub_zalloc() instead of explicitly zeroing data.
14661 * kern/list.c: Include `<grub/mm.h>'.
14662 (grub_named_list_find): Replace `0' with `NULL'.
14663 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
14664 (fs_module_list): Change type to `grub_named_list_t'. Update all
14665 users.
14666 * normal/dyncmd.c (read_command_list): Add space between function
14667 call and parenthesis.
14668 * normal/handler.c (read_handler_list): Likewise.
14669
4089b167
RM
146702009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14671
14672 * normal/auth.c (punishment_delay): Moved from here ...
14673 (grub_auth_strcmp): ... to here (inside function).
14674
325f5037
RM
146752009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14676
14677 * include/grub/list.h (struct grub_named_list): Remove `const'
14678 qualifier from `name'.
14679 (struct grub_prio_list): Likewise.
14680
7aea29a3
RM
146812009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14682
14683 * normal/auth.c: Include `<grub/time.h>'.
14684 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
14685
3fd6f044
RM
146862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14687
14688 * normal/auth.c (punishment_delay): New variable.
14689 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
14690 (grub_auth_check_authentication): Punish failed login attempts with
14691 an incremental (2^N) delay.
14692
a4cd68e4
RM
146932009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14694
14695 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
14696 path with $(srcdir).
14697
7ad12f43
VS
146982009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14699
14700 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
14701
c1129f03
RM
147022009-11-09 Robert Millan <rmh.grub@aybabtu.com>
14703
14704 * util/i386/coreboot/grub-mkrescue.in: New file.
14705 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
14706 variables.
14707
14708 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
14709 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
14710 * configure.ac: Add header and function checks to satisfy grub-mkisofs
14711 requirements.
14712 * util/mkisofs/defaults.h: New file.
14713 * util/mkisofs/eltorito.c: Likewise.
14714 * util/mkisofs/exclude.h: Likewise.
14715 * util/mkisofs/fnmatch.c: Likewise.
14716 * util/mkisofs/getopt.c: Likewise.
14717 * util/mkisofs/getopt1.c: Likewise.
14718 * util/mkisofs/hash.c: Likewise.
14719 * util/mkisofs/include/fctldefs.h: Likewise.
14720 * util/mkisofs/include/mconfig.h: Likewise.
14721 * util/mkisofs/include/prototyp.h: Likewise.
14722 * util/mkisofs/include/statdefs.h: Likewise.
14723 * util/mkisofs/iso9660.h: Likewise.
14724 * util/mkisofs/joliet.c: Likewise.
14725 * util/mkisofs/match.c: Likewise.
14726 * util/mkisofs/match.h: Likewise.
14727 * util/mkisofs/mkisofs.c: Likewise.
14728 * util/mkisofs/mkisofs.h: Likewise.
14729 * util/mkisofs/multi.c: Likewise.
14730 * util/mkisofs/name.c: Likewise.
14731 * util/mkisofs/rock.c: Likewise.
14732 * util/mkisofs/tree.c: Likewise.
14733 * util/mkisofs/write.c: Likewise.
14734
ec8bb77d
VS
147352009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
14736
14737 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
14738 being insecure.
14739
3716b12c
RM
147402009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14741
14742 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
14743 `grub-mkimage' (and use $0 when possible).
14744
b97b7b91
RM
147452009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14746
14747 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
14748 error message for excessively large memory map.
14749
04114812
RM
147502009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14751
14752 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
14753 executable bit.
14754
e4eb2373
RM
147552009-11-08 Robert Millan <rmh.grub@aybabtu.com>
14756
14757 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
14758 message for coreboot users.
14759
c926e1d5 147602009-11-07 Robert Millan <rmh.grub@aybabtu.com>
14761
14762 Fix build with GNU gold.
14763
14764 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
14765 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
14766 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
14767 link addresses.
14768 * aclocal.m4: Likewise.
14769
86e5b1db 147702009-11-04 Felix Zielcke <fzielcke@z-51.de>
14771
14772 * configure.ac (AC_PREREQ): Bump to 2.59d.
14773 * INSTALL: Make it more clear when Autoconf and Ruby are
14774 needed and when to run `./autogen.sh'.
14775
246cd78f 147762009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
14777
14778 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
14779 OSes.
14780
4f9dfb37 147812009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14782
14783 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
14784
b82bd5e1 147852009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14786
14787 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
14788 giving it to GNU Mach.
14789
ff1a9bca 147902009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14791
14792 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
14793 GNU partition number to get internal GRUB partition number.
14794
61697d9c 147952009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
14796
14797 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
14798 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
14799
a50569e1 148002009-11-01 Robert Millan <rmh.grub@aybabtu.com>
14801
14802 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
14803 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
14804 case.
14805
5b153867 148062009-11-01 Felix Zielcke <fzielcke@z-51.de>
14807
14808 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
14809
d9e2cd70 148102009-10-30 Robert Millan <rmh.grub@aybabtu.com>
14811
14812 Fix build problem.
14813
14814 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
14815 `-isystem=$(srcdir)/include'.
14816
805111a4 148172009-10-30 Robert Millan <rmh.grub@aybabtu.com>
14818
14819 * util/i386/pc/grub-install.in: Remove hint that device.map should be
14820 checked (grub-install doesn't currently rely on it).
14821
fa6e945f 148222009-10-29 Robert Millan <rmh.grub@aybabtu.com>
14823
14824 Revert SVN r2660.
14825
14826 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
14827 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
14828 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
14829 * conf/i386-ieee1275.rmk: Likewise.
14830 * conf/i386-pc.rmk: Likewise.
14831 * conf/powerpc-ieee1275.rmk: Likewise.
14832 * conf/sparc64-ieee1275.rmk: Likewise.
14833 * conf/x86_64-efi.rmk: Likewise.
14834
cee15086 148352009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14836
14837 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
14838
95b9239e 148392009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14840
14841 * include/grub/misc.h: Stop checking for APPLE_CC.
14842
2ed19dfd 148432009-10-28 Robert Millan <rmh.grub@aybabtu.com>
14844
14845 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
14846 doesn't cause an infinite call loop.
14847
fdcdde19 148482009-10-28 Felix Zielcke <fzielcke@z-51.de>
14849
14850 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
14851 strings.
14852
cefabfe1 148532009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14854
14855 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
14856 variable.
14857 * Makefile.in: Likewise.
14858
ed96ab6d 148592009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14860
14861 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
14862
0579b753 148632009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14864
14865 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
14866
478df409 148672009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14868
14869 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
14870
083d1679 148712009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14872
14873 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
14874 from here ...
14875 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
14876
5947ae32 148772009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14878
14879 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
14880 in $(MAKEINFO) invocation. This makes it clear in output that
14881 errors are being ignored.
14882
94180ff6 148832009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14884
14885 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
14886 from here ...
14887 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
14888 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
14889 * conf/i386-ieee1275.rmk: Likewise.
14890 * conf/i386-pc.rmk: Likewise.
14891 * conf/powerpc-ieee1275.rmk: Likewise.
14892 * conf/sparc64-ieee1275.rmk: Likewise.
14893 * conf/x86_64-efi.rmk: Likewise.
14894
9031b03a 148952009-10-26 Colin Watson <cjwatson@ubuntu.com>
14896
14897 * util/grub-editenv.c (main): If only a command is given, use
14898 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
14899 (usage): FILENAME is now optional and has a default.
14900
e4f6809b 149012009-10-26 Colin Watson <cjwatson@ubuntu.com>
14902
14903 Improve grub-mkconfig performance when there are several menu
14904 entries on a single filesystem.
14905
14906 * util/grub.d/10_linux.in (linux_entry): Cache the output of
14907 prepare_grub_to_access_device.
14908 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14909 * util/grub.d/30_os-prober.in: Likewise.
14910
67937d4d 149112009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14912
14913 * util/grub.d/10_freebsd.in: Remove.
14914 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
14915 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
14916
ee3756cc 149172009-10-26 Robert Millan <rmh.grub@aybabtu.com>
14918
5c35048e 14919 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 14920
4dea1c6f 149212009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14922
14923 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
14924 grub_util_error() call.
14925
042484d7 149262009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14927
14928 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
14929 `reserved_first_sector' member.
14930 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
14931 `reserved_first_sector' to 1.
14932 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
14933 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
14934 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
14935 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
14936 filesystems which begin at first sector.
14937 (options): New option --skip-fs-probe.
14938 (main): Handle --skip-fs-probe and pass it to setup().
14939
d64448a7 149402009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14941
14942 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
14943 (memset): Fix function prototype.
14944
508d42ec 149452009-10-25 Robert Millan <rmh.grub@aybabtu.com>
149462009-10-25 Vasily Averin <vvs@parallels.com>
14947
14948 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
14949 `dirent.direntlen == 0'.
14950
b240e30c 149512009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14952
14953 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
14954 `cpio'.
14955 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
14956
346e7fbe 149572009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14958
14959 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
14960 `__trampoline_setup' and `__ucmpdi2'.
14961 * include/grub/powerpc/libgcc.h: Only export symbols for functions
14962 that libgcc provides.
14963
cdb308b0 149642009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14965
14966 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
14967 * include/grub/sparc64/libgcc.h (memset): Likewise.
14968 * include/grub/misc.h (memset, memcmp): New function prototypes.
14969
fb26abc2 149702009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14971
14972 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
14973 `cpio'.
14974 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
14975
f6693890 149762009-10-25 Robert Millan <rmh.grub@aybabtu.com>
14977
14978 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
14979 * docs/grub.cfg: Compensate for recent change in multiboot
14980 loader (since 2009-08-14 it won't pass filename to payload).
14981 * util/grub.d/10_hurd.in: Likewise.
14982
0933cdc0 149832009-10-21 Felix Zielcke <fzielcke@z-51.de>
14984
14985 * config.guess: Update to latest version from config git
14986 repository.
14987 * config.sub: Likewise.
14988
3b2fe8c2 149892009-10-20 Robert Millan <rmh.grub@aybabtu.com>
14990
14991 Fix build on sparc64.
14992
14993 * configure.ac: Perform checks for libgcc symbols before
14994 adding `-nostdlib' to LDFLAGS.
14995
46695a62 149962009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14997
14998 Let user specify OpenBSD root device.
14999
15000 * loader/i386/bsd.c (openbsd_root): New variable.
15001 (openbsd_opts): New option 'root'.
15002 (OPENBSD_ROOT_ARG): New macro.
15003 (grub_openbsd_boot): Use 'openbsd_root'.
15004 (grub_cmd_openbsd): Fill 'openbsd_root'.
15005
d2b6b7fc 150062009-10-16 Robert Millan <rmh.grub@aybabtu.com>
15007
15008 * NEWS: Misc adjustments.
15009
421bd7ac 150102009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
15011
15012 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
15013
f1d29d87 150142009-10-16 Robert Millan <rmh.grub@aybabtu.com>
15015
15016 * configure.ac: Bump version to 1.97.
15017
6f3cd880 150182009-10-16 Colin Watson <cjwatson@ubuntu.com>
15019
15020 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
15021 -mno-3dnow on x86 architectures. Some toolchains enable these
15022 features by default, but they rely on registers that aren't enabled
15023 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
15024
035f7122 150252009-10-15 Robert Millan <rmh.grub@aybabtu.com>
15026
15027 Make entry text a bit more readable.
15028
15029 * util/grub.d/10_linux.in: Add `with' before `Linux'.
15030
44998e58 150312009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15032
15033 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
15034
cd2851b3 150352009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15036
15037 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
15038 operations.
15039
c6f3b249 150402009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15041
15042 * configure.ac: Add missing dollar.
15043
6b5886ba 150442009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
15045
15046 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
15047
15048 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
15049 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
15050 exports.
15051 * include/grub/sparc64/libgcc.h: Likewise. Use
15052 preprocessor conditionals.
15053
e9d66f6d 150542009-10-14 Robert Millan <rmh.grub@aybabtu.com>
15055
15056 * conf/common.rmk (grub-dumpbios): Remove rule.
15057 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
15058 * util/grub-dumpbios.in: Remove file.
15059
9155bc17 150602009-10-14 Robert Millan <rmh.grub@aybabtu.com>
15061
15062 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
15063 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
15064
15065 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
15066 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
15067 users.
15068
15069 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
15070 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
15071 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
15072 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
15073 users.
15074
bf7f7a18 150752009-10-12 Robert Millan <rmh.grub@aybabtu.com>
15076
15077 * term/tparm.c: Switch to GPLv3.
15078
86564c26 150792009-10-09 Robert Millan <rmh.grub@aybabtu.com>
15080
15081 * include/grub/i386/cpuid.h: Add header protection.
15082
5c936493 150832009-10-09 Robert Millan <rmh.grub@aybabtu.com>
15084
15085 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
15086
15087 * include/grub/i386/cpuid.h: New file.
15088 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
15089 (has_longmode): Rename to ...
15090 (grub_cpuid_has_longmode): ... this. Update all users. Remove
15091 `static' attribute.
15092 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
15093 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
15094 on a CPU that doesn't implement AMD64 instruction set.
15095
186e7cf2 150962009-10-06 Colin Watson <cjwatson@ubuntu.com>
15097
15098 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
15099 that version.texi is rebuilt on version number changes.
15100
83b65c4a 151012009-10-06 Colin Watson <cjwatson@ubuntu.com>
15102
15103 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
15104 Fixes bug #27602.
15105
d244281c 151062009-10-06 Colin Watson <cjwatson@ubuntu.com>
15107
15108 * util/i386/pc/grub-install.in: Source
15109 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
15110 that the --grub-probe option will work.
15111 * util/sparc64/ieee1275/grub-install.in: Likewise.
15112
da25306d 151132009-10-05 Robert Millan <rmh.grub@aybabtu.com>
15114
15115 * configure.ac: Bump version to 1.97~beta4.
15116
e8ee83c0 151172009-10-03 Robert Millan <rmh.grub@aybabtu.com>
15118
15119 Resync grub-mkdevicemap in x86_64-efi.
15120
15121 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
15122 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
15123 `util/devicemap.c'.
15124
50dcabcf 151252009-10-01 Colin Watson <cjwatson@ubuntu.com>
15126
15127 * util/grub-editenv.c (create_envblk_file): Write new block with a
15128 .new suffix and then rename it into place, to ensure atomic
15129 creation.
15130
0e51c3a7 151312009-09-28 Robert Millan <rmh.grub@aybabtu.com>
15132
15133 Do not automatically install headers.
15134
15135 * Makefile.in (include_DATA): Remove. Update all users.
15136
31299a95 151372009-09-26 Robert Millan <rmh.grub@aybabtu.com>
15138
15139 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
15140 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
15141
15142 * util/osdetect.lua: Remove.
15143 * script/lua/lauxlib.c: Likewise.
15144 * script/lua/ldebug.c: Likewise.
15145 * script/lua/grub_main.c: Likewise.
15146 * script/lua/lauxlib.h: Likewise.
15147 * script/lua/ldebug.h: Likewise.
15148 * script/lua/ltablib.c: Likewise.
15149 * script/lua/liolib.c: Likewise.
15150 * script/lua/lstrlib.c: Likewise.
15151 * script/lua/lualib.h: Likewise.
15152 * script/lua/ldo.c: Likewise.
15153 * script/lua/ldump.c: Likewise.
15154 * script/lua/ldo.h: Likewise.
15155 * script/lua/loslib.c: Likewise.
15156 * script/lua/lundump.c: Likewise.
15157 * script/lua/grub_lib.c: Likewise.
15158 * script/lua/ldblib.c: Likewise.
15159 * script/lua/lundump.h: Likewise.
15160 * script/lua/lmem.c: Likewise.
15161 * script/lua/grub_lib.h: Likewise.
15162 * script/lua/lmathlib.c: Likewise.
15163 * script/lua/lstate.c: Likewise.
15164 * script/lua/ltm.c: Likewise.
15165 * script/lua/lvm.c: Likewise.
15166 * script/lua/lmem.h: Likewise.
15167 * script/lua/lstate.h: Likewise.
15168 * script/lua/ltm.h: Likewise.
15169 * script/lua/ltable.c: Likewise.
15170 * script/lua/lvm.h: Likewise.
15171 * script/lua/llex.c: Likewise.
15172 * script/lua/lgc.c: Likewise.
15173 * script/lua/grub_lua.h: Likewise.
15174 * script/lua/loadlib.c: Likewise.
15175 * script/lua/lfunc.c: Likewise.
15176 * script/lua/lopcodes.c: Likewise.
15177 * script/lua/lparser.c: Likewise.
15178 * script/lua/ltable.h: Likewise.
15179 * script/lua/llex.h: Likewise.
15180 * script/lua/lgc.h: Likewise.
15181 * script/lua/lfunc.h: Likewise.
15182 * script/lua/lbaselib.c: Likewise.
15183 * script/lua/lopcodes.h: Likewise.
15184 * script/lua/lparser.h: Likewise.
15185 * script/lua/lzio.c: Likewise.
15186 * script/lua/linit.c: Likewise.
15187 * script/lua/lobject.c: Likewise.
15188 * script/lua/llimits.h: Likewise.
15189 * script/lua/lstring.c: Likewise.
15190 * script/lua/lzio.h: Likewise.
15191 * script/lua/lapi.c: Likewise.
15192 * script/lua/lcode.c: Likewise.
15193 * script/lua/lua.h: Likewise.
15194 * script/lua/lobject.h: Likewise.
15195 * script/lua/lstring.h: Likewise.
15196 * script/lua/lapi.h: Likewise.
15197 * script/lua/lcode.h: Likewise.
15198 * script/lua/luaconf.h: Likewise.
15199
cb8a2c38 152002009-09-26 Colin Watson <cjwatson@ubuntu.com>
15201
15202 * docs/grub.texi (Command-line and menu entry commands): Document
15203 date and echo commands.
15204
6b9b6276 152052009-09-24 Pavel Roskin <proski@gnu.org>
15206
15207 * include/grub/kernel.h (struct grub_module_header): Remove
15208 `grub_module_header_types'. Make `type' unsigned. Make `size'
15209 32-bit on all platforms.
15210 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
15211 8-bit field. Use grub_host_to_target32() for `size'.
15212 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
15213 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
15214 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
15215
4e5a02a7 152162009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15217
15218 Fix "lost keypress" bug in at_keyboard.
15219
15220 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
15221 Checks for readyness of input buffer (without flushing it).
15222 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
15223 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
15224
c6dcedf6 152252009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15226
15227 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
15228 size check within GRUB_MACHINE_PCBIOS section.
15229
74c958b1 152302009-09-24 Robert Millan <rmh.grub@aybabtu.com>
15231
15232 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
15233 return value.
15234 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
15235 KEYBOARD_ISREADY check.
15236 (grub_at_keyboard_checkkey): Rename to ...
15237 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
15238 Remove gratuitous cast.
15239
ff420223 152402009-09-23 Colin Watson <cjwatson@ubuntu.com>
15241
15242 * configure.ac: Call AC_PROG_MKDIR_P.
15243 * Makefile.in (docs/stamp-vti): Create docs directory. Create
15244 version.texi in $(builddir) rather than $(srcdir).
15245 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
15246 to makeinfo's @include search path.
15247
d96875df 152482009-09-23 Felix Zielcke <fzielcke@z-51.de>
15249
15250 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
15251
9b3f8365 152522009-09-23 Felix Zielcke <fzielcke@z-51.de>
15253
15254 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
15255 for `*.dpkg-new'.
15256
c44c90db 152572009-09-21 Colin Watson <cjwatson@ubuntu.com>
15258
15259 Build info documentation. Some code borrowed from Automake.
15260
15261 * configure.ac: Check for makeinfo.
15262 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
15263 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
15264 docs/version.texi.
15265 (MOSTLYCLEANFILES): Add vti.tmp.
15266 (docs/version.texi, docs/stamp-vti): Update automatically.
15267 (docs/grub.info): Build info documentation. Use --force and ignore
15268 errors for now.
15269 (all-local): Add $(INFOS).
15270 (install-local): Install info files.
15271 (uninstall): Uninstall info files.
15272 * docs/version.texi: Remove from revision control. This file is
15273 automatically generated on build now.
15274 * gendistlist.sh: Add `*.info'.
15275
e0b37bb5 152762009-09-21 Felix Zielcke <fzielcke@z-51.de>
15277
15278 * kern/term.c: Fix indentation.
15279
5a78865b 152802009-09-21 Felix Zielcke <fzielcke@z-51.de>
15281
15282 * util/hostdisk.c: Fix a comment.
15283
dace7e8a 152842009-09-20 Robert Millan <rmh.grub@aybabtu.com>
15285
15286 Fix regression introduced in r2539.
15287
15288 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
15289 to 0xA1.
15290
a83d079b 152912009-09-19 Colin Watson <cjwatson@ubuntu.com>
15292
15293 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 15294 os-prober. Under normal operation, it does not print anything to
15295 stderr; if it does, we need to debug it, and throwing away stderr
15296 makes that excessively difficult.
a83d079b 15297
be94a509 152982009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
15299
15300 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
15301
63f745e8 153022009-09-16 Robert Millan <rmh.grub@aybabtu.com>
15303
15304 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
15305 AC_LANG_PROGRAM from autoconf.
15306 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
15307 prototypes (fixes warning).
15308
15309 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
15310 `--disable-werror' was used.
15311
bbb2a70f 153122009-09-16 Robert Millan <rmh.grub@aybabtu.com>
15313
15314 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
15315 uninitialized `lastaddr'.
15316
77c24f1d 153172009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15318
0f0b8c87 15319 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 15320
07197f23 153212009-09-14 Colin Watson <cjwatson@ubuntu.com>
15322
15323 * commands/test.c (get_fileinfo): Return immediately if
15324 grub_fs_probe fails.
15325
dabf1798 153262009-09-14 José Martínez <xosemp@gmail.com>
15327
15328 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
15329
d52109a7 153302009-09-14 Colin Watson <cjwatson@ubuntu.com>
15331
15332 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
15333 output.
15334
56532179 153352009-09-13 Robert Millan <rmh.grub@aybabtu.com>
15336
15337 * configure.ac: Remove --enable-grub-pe2elf. Only build
15338 grub-pe2elf when needed by the build system itself.
15339 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
15340
8ef070f5 153412009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15342
15343 * configure.ac: Bump version to 1.97~beta3.
15344 * docs/version.texi: Likewise.
15345
61229557 153462009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15347
15348 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
15349 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
15350 from here ...
15351 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
15352 (grub_linux_setup_video): ... to here (with some adjustments).
15353
5c9f8d84 153542009-09-12 Robert Millan <rmh.grub@aybabtu.com>
15355
15356 Fix memory corruption issue (spotted by Colin Watson).
15357
15358 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
15359 causing returned size to be stored in an incorrect memory location.
15360 Fix use of uninitialized value when storing the returned size.
15361
e8f5d6e9 153622009-09-12 Yves Blusseau <blusseau@zetam.org>
15363
15364 Change clean rules to properly remove files
15365
15366 * genmk.rb: add new clean rules
15367 * Makefile.in (clean): add the new targets
15368 (mostlyclean): likewise
15369
cda2a409 153702009-09-11 Colin Watson <cjwatson@ubuntu.com>
15371
15372 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
15373 to grub_uint64_t.
15374 * fs/ntfs.c (init_file): Understand 64-bit sizes for
15375 non-resident files.
15376
86695375 153772009-09-11 Colin Watson <cjwatson@ubuntu.com>
15378
15379 * configure.ac: Don't look for help2man when cross-compiling. Fixes
15380 part of bug #27349.
15381
8aa1541a 153822009-09-10 Felix Zielcke <fzielcke@z-51.de>
15383
15384 * util/grub-mkconfig.in: Make the created config mode 400 and
15385 print a warning if it fails.
15386
48d9bb0a 153872009-09-10 Robert Millan <rmh.grub@aybabtu.com>
15388
15389 * util/grub.d/40_custom.in: Ask user to type custom entries below
15390 comment, rather than below 'exec tail' line.
15391
3b0521be 153922009-09-10 Colin Watson <cjwatson@ubuntu.com>
15393
15394 * util/grub.d/40_custom.in: Make sure that the explanatory text is
15395 visible in grub.cfg.
15396
50051d55 153972009-09-10 Colin Watson <cjwatson@ubuntu.com>
15398
15399 * util/grub.d/40_custom.in: Make it a little clearer how to use this
15400 file.
15401
c0d34387 154022009-09-10 Felix Zielcke <fzielcke@z-51.de>
15403
15404 * docs/grub.cfg: Add an example menu entry for memtest86+.
15405
80a608f3 154062009-09-09 Felix Zielcke <fzielcke@z-51.de>
15407
a2094832 15408 * config.guess: Update to latest version from config git.
80a608f3 15409 * config.sub: Likewise.
15410
99423078 154112009-09-08 Colin Watson <cjwatson@ubuntu.com>
15412
15413 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
15414 unknown-command case. Fixes bug #27320.
15415
44454e4c 154162009-09-08 Felix Zielcke <fzielcke@z-51.de>
15417
15418 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
15419 `help' if the command exists.
15420
e30d87ad 154212009-09-06 Robert Millan <rmh.grub@aybabtu.com>
15422
15423 * INSTALL: Require GCC 4.1.3 or later.
15424
9a86f1ec 154252009-09-06 Yves Blusseau <blusseau@zetam.org>
15426
15427 * Makefile.in (RMKFILES): add i386-qemu.rmk
15428 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
15429 $(srcdir)/stamp-h.in
15430
7f26d466 154312009-09-05 Robert Millan <rmh.grub@aybabtu.com>
15432
15433 * util/grub-probe.c (probe): Comment out buggy codepath, which
15434 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
15435 should be re-enabled after 1.97.
15436
3a613259 154372009-09-05 Felix Zielcke <fzielcke@z-51.de>
15438
15439 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
15440 find searches for.
15441
197f76c7 154422009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
15443
15444 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
15445 unnecessary calls to grub_error.
15446
70ba68ce 154472009-09-04 Colin Watson <cjwatson@ubuntu.com>
15448
15449 * NEWS: Mention `keystatus' and Unicode fonts.
15450
4ff0d7a4 154512009-09-04 Robert Millan <rmh.grub@aybabtu.com>
15452
15453 * configure.ac: Bump version to 1.97~beta2.
15454 * docs/version.texi: Likewise.
15455
77c55a87 154562009-09-03 Colin Watson <cjwatson@ubuntu.com>
15457
15458 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
15459 containing unwind information in some cases where it previously did
15460 not. Use -fno-dwarf2-cfi-asm if available to restore the old
15461 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
15462 discussion.
15463
f79572cd 154642009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
15465
15466 Embedding loadenv module into grub-emu
15467
15468 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
15469 commands/loadenv.c
15470 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
15471 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
15472 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
15473 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
15474 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
15475 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
15476
93a81088 154772009-09-03 Magnus Granberg <zorry@ume.nu>
15478
15479 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
15480 include -fPIE in the default specs.
15481 * configure.ac: Check if pie_possible is yes and add -fno-PIE
15482 to TARGET_CFLAGS.
15483
160034b2 154842009-09-03 Felix Zielcke <fzielcke@z-51.de>
15485
15486 * INSTALL: Note that GNU Bison 2.3 or later is required.
15487
087c07c4 154882009-09-03 Colin Watson <cjwatson@ubuntu.com>
15489
15490 * kern/i386/pc/startup.S: Fix typo.
15491
cbf978c0 154922009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
15493
15494 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
15495 according to GCS.
15496
154972009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 15498
15499 * docs/grub.texi (Naming convention): Describe one-based partition
15500 numbering.
15501 (Device syntax): Likewise.
15502 (File name syntax): Likewise.
15503 (Block list syntax): Likewise.
15504 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
15505 menu.lst.
15506 (File name syntax): Likewise.
15507 (Command-line and menu entry commands): Document acpi, blocklist,
15508 crc, export, insmod, keystatus, ls, set, and unset commands.
15509
f3e8cdfd 155102009-09-02 Colin Watson <cjwatson@ubuntu.com>
15511
15512 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
15513 to avoid implying that only one of --shift, --ctrl, or --alt may be
15514 used.
15515
c0bc232b 155162009-09-02 Colin Watson <cjwatson@ubuntu.com>
15517
15518 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
15519 rather than comparing against S_IFREG, which will almost never work.
15520
aa0f752d 155212009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
15522
15523 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
15524 (write_blocklists): Likewise.
15525
ecb3166a 155262009-09-01 Colin Watson <cjwatson@ubuntu.com>
15527
15528 * script/lua/grub_lua.h (fputs): Supply a format string as the first
15529 argument to grub_printf.
15530
c403a125 155312009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 15532
15533 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 15534 non GNU test.
31aba781 15535
b5e7312c 155362009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15537
15538 * kern/file.c (grub_file_read): Spelling fix
15539
fe00f472 155402009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
15541
15542 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
15543 loading of headers in some cases.
15544
cc55302e 155452009-08-30 Robert Millan <rmh.grub@aybabtu.com>
15546
15547 * configure.ac: Bump version to 1.97~beta1.
15548 * docs/version.texi: Likewise.
15549
5c90cdd2 155502009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 15551
15552 * include/grub/i386/xnu.h: Add license header.
15553 include grub/err.h explicitly.
15554
c90edae4 155552009-08-29 Robert Millan <rmh.grub@aybabtu.com>
15556
15557 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
15558 to `ufs' in the vfs.root.mountfrom kernel parameter.
15559
d8888b5c 155602009-08-29 Robert Millan <rmh.grub@aybabtu.com>
15561
15562 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
15563
15564 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
15565 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
15566
15567 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
15568 `ARRAY_SIZE' macro.
15569
6f07b921 155702009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15571
15572 * kern/file.c (grub_file_read): Check offset.
15573 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
15574 * fs/jfs.c (grub_jfs_read_file): Likewise.
15575 * fs/ntfs.c (grub_ntfs_read): Likewise.
15576 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
15577 * fs/minix.c (grub_minix_read_file): Correct offset check.
15578 * fs/ufs.c (grub_ufs_read_file): Likewise.
15579
b4f34077 155802009-08-28 Colin Watson <cjwatson@ubuntu.com>
15581
15582 * term/i386/pc/console.c (bios_data_area): Cast
15583 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
15584
e7c69859 155852009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15586
15587 1-bit optimised blitters.
15588
15589 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
15590 prototype.
15591 (grub_video_fbblit_replace_24bit_1bit): Likewise.
15592 (grub_video_fbblit_replace_16bit_1bit): Likewise.
15593 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15594 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15595 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
15596 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
15597 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
15598 function.
15599 (grub_video_fbblit_replace_24bit_1bit): Likewise.
15600 (grub_video_fbblit_replace_16bit_1bit): Likewise.
15601 (grub_video_fbblit_replace_8bit_1bit): Likewise.
15602 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
15603 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
15604 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
15605 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
15606 when possible.
15607 * video/video.c (grub_video_get_blit_format): Return
15608 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
15609
a57da43f 156102009-08-28 Colin Watson <cjwatson@ubuntu.com>
15611
15612 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
15613 the first argument to grub_printf.
15614
4cbe67e5 156152009-08-28 Colin Watson <cjwatson@ubuntu.com>
156162009-08-28 Robert Millan <rmh.grub@aybabtu.com>
15617
15618 Add `getkeystatus' terminal method. Add a new `keystatus' command
15619 to query it.
15620
15621 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
15622 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
15623 modifier key bitmasks.
15624 (struct grub_term_input): Add `getkeystatus' member.
15625 (grub_getkeystatus): Add prototype.
15626 * kern/term.c (grub_getkeystatus): New function.
15627
15628 * include/grub/i386/pc/memory.h
15629 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
15630 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
15631 Data Area layout.
15632 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
15633 (grub_console_term_input): Set `getkeystatus' member.
15634 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
15635 constants.
15636 (grub_usb_keyboard_getreport): Likewise.
15637 (grub_usb_keyboard_checkkey): Likewise.
15638 (grub_usb_keyboard_getkeystatus): New function.
15639 (grub_usb_keyboard_term): Set `getkeystatus' member.
15640
15641 * commands/keystatus.c: New file.
15642 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
15643 (keystatus_mod_SOURCES): New variable.
15644 (keystatus_mod_CFLAGS): Likewise.
15645 (keystatus_mod_LDFLAGS): Likewise.
15646 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
15647 commands/keystatus.c.
15648 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15649 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15650 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15651 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15652 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15653 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 15654
6e2a9085 156552009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
15656
15657 Split befs.mod and afs.mod into *_be.mod and *.mod
15658
15659 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
15660 (grub_fstest_SOURCES): Likewise.
15661 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
15662 (afs_be_mod_SOURCES): New variable.
15663 (afs_be_mod_CFLAGS): Likewise.
15664 (afs_be_mod_LDFLAGS): Likewise.
15665 (befs_be_mod_SOURCES): Likewise.
15666 (befs_be_mod_CFLAGS): Likewise.
15667 (befs_be_mod_LDFLAGS): Likewise.
15668 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
15669 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15670 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15671 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15672 (grub_emu_SOURCES): Likewise.
15673 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15674 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15675 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15676 * fs/afs_be.c: New file.
15677 * fs/befs_be.c: New file.
15678 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
15679 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
15680 (U16): Replaced with ...
15681 (grub_afs_to_cpu16): ...this. All users updated.
15682 (U32): Replaced with ...
15683 (grub_afs_to_cpu32): ...this. All users updated.
15684 (U64): Replaced with ...
15685 (grub_afs_to_cpu64): ...this. All users updated.
15686 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
15687 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 15688 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 15689 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
15690 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
15691 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
15692 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
15693 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
15694 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
15695 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
15696 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
15697
32a71655 156982009-08-26 Bean <bean123ch@gmail.com>
15699
15700 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
15701 64-bit number.
15702 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
15703 (grub_xfs_inode_block): Change return type to grub_uint64_t.
15704 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
15705
552bf6c5 157062009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15707
15708 NetBSD memory map support.
15709
15710 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
15711 (grub_netbsd_btinfo_mmap_header): New structure.
15712 (grub_netbsd_btinfo_mmap_entry): Likewise.
15713 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
15714
1ae2078c 157152009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15716
15717 Enable bsd.mod on coreboot.
15718
15719 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
15720 (bsd_mod_SOURCES): New variable.
15721 (bsd_mod_CFLAGS): Likewise.
15722 (bsd_mod_LDFLAGS): Likewise.
15723 (bsd_mod_ASFLAGS): Likewise.
15724 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
15725 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
15726
beefc598 157272009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15728
15729 Cleanup NetBSD root support.
15730
15731 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
15732 grub_bsd_get_device.
15733 Fix typo.
15734
3b76e68b 157352009-08-25 Felix Zielcke <fzielcke@z-51.de>
15736
15737 * util/grub.d/00_header.in: Move check for the video backend of
15738 gfxterm from here ...
15739 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
15740 a suitable video backend.
15741
aea664ea 157422009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15743
15744 Fix breakage in grub-setup.
15745
15746 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
15747 "msdos_partition_map".
15748
ff747d50 157492009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15750
15751 Fix breakage in normal/auth.c.
15752
15753 * normal/auth.c (grub_iswordseparator): New function.
15754
e7e1f93f 157552009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
15756
15757 Authentication support.
15758
15759 * commands/password.c: New file.
15760 * conf/common.rmk (pkglib_MODULES): Add password.mod.
15761 (password_mod_SOURCES): New variable.
15762 (password_mod_CFLAGS): Likewise.
15763 (password_mod_LDFLAGS): Likewise.
15764 (normal_mod_SOURCES): Add normal/auth.c.
15765 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
15766 normal/auth.c.
15767 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15768 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15769 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
15770 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15771 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15772 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15773 * include/grub/auth.h: New file.
15774 * include/grub/err.h (grub_err_t): New enum value
15775 GRUB_ERR_ACCESS_DENIED.
15776 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
15777 'users'.
15778 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
15779 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
15780 users updated.
15781 * normal/auth.c: New file.
15782 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
15783 (grub_cmdline_run): Don't allow to go to command line without
15784 authentication.
15785 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
15786 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
15787 menuentry without superuser rights.
15788 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
15789 user isn't a superuser.
15790
70f1161d 157912009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15792
15793 Save space by inlining misc.c functions.
15794
15795 * kern/misc.c (grub_iswordseparator): Made static.
15796 * kern/misc.c (grub_strcat): Moved from here ...
15797 * include/grub/misc.h (grub_strcat): ... here. Inlined.
15798 * kern/misc.c (grub_strncat): Moved from here ...
15799 * include/grub/misc.h (grub_strncat): ... here. Inlined.
15800 * kern/misc.c (grub_strcasecmp): Moved from here ...
15801 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
15802 * kern/misc.c (grub_strncasecmp): Moved from here ...
15803 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
15804 * kern/misc.c (grub_isalpha): Moved from here ...
15805 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
15806 * kern/misc.c (grub_isdigit): Moved from here ...
15807 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
15808 * kern/misc.c (grub_isgraph): Moved from here ...
15809 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
15810 * kern/misc.c (grub_tolower): Moved from here ...
15811 * include/grub/misc.h (grub_tolower): ... here. Inlined.
15812
48e40bff 158132009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15814
15815 * script/sh/function.c (grub_script_function_find): Cut error message
15816 not to flood terminal.
15817 * script/sh/lexer.c (grub_script_yylex): Remove command line length
15818 limit.
15819 * script/sh/script.c (grub_script_arg_add): Duplicate string.
15820
c385bfc3 158212009-08-24 Colin Watson <cjwatson@ubuntu.com>
15822
15823 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
15824 `report' grub_uint8_t *.
15825 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
15826 Use a 50-millisecond timeout rather than just repeating
15827 grub_usb_keyboard_getreport 50 times.
15828 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
15829
2d21e3e8 158302009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15831
15832 Rename *_partition_map to part_*
15833
15834 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
15835 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
15836 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
15837 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
15838 All users updated.
15839 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
15840 All users updated.
15841 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
15842 * util/grub-probe.c (probe_partmap): Don't transform partition name
15843 to get module name.
15844
dd103c4e 158452009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15846
15847 Fix OpenBSD and NetBSD support.
15848
15849 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
15850 memory address conflict.
15851 (OPENBSD_MMAP_ACPI): New definition.
15852 (OPENBSD_MMAP_NVS): Likewise.
15853 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
15854 and OPENBSD_MMAP_NVS.
15855 Add memory map terminator
15856 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 15857 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 15858
16c84d74 158592009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15860
15861 Let user specify NetBSD root device.
15862
15863 * loader/i386/bsd.c (netbsd_root): New variable.
15864 (netbsd_opts): New option 'root'.
15865 (NETBSD_ROOT_ARG): New macro.
15866 (grub_netbsd_boot): Use 'netbsd_root'.
15867 (grub_bsd_unload): Free 'netbsd_root'.
15868 (grub_cmd_netbsd): Fill 'netbsd_root'.
15869
adb29902 158702009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15871
15872 Support for 64-bit NetBSD.
15873
15874 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
15875 point when booting non-FreeBSD.
15876
f5ae9f74 158772009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
15878
15879 Support --no-smp and --no-acpi for NetBSD.
15880
15881 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
15882 (NETBSD_AB_NOACPI): Likewise.
15883 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
15884 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
15885
de74f136 158862009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15887
15888 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
15889 errors.
15890 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
15891 errors. Call grub_error when needed.
15892
e9a925da 158932009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15894
15895 * commands/search.c (search_fs): Try searching without autoload first.
15896 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
15897 filesystem module explicitly for faster booting.
15898
5174302b 158992009-08-23 Colin Watson <cjwatson@ubuntu.com>
15900
15901 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
15902
c8c80635 159032009-08-23 Colin Watson <cjwatson@ubuntu.com>
15904
15905 * util/grub.d/30_os-prober.in: Disable os-prober if
15906 `GRUB_DISABLE_OS_PROBER' was set to true.
15907
71acf5e5 159082009-08-23 Robert Millan <rmh.grub@aybabtu.com>
15909
15910 * partmap/pc.c: Rename to ...
15911 * partmap/msdos.c: ... this. Update all users.
15912 (grub_pc_partition_map): Rename to ...
15913 (grub_msdos_partition_map): ... this. Update all users.
15914
15915 * parttool/pcpart.c: Rename to ...
15916 * parttool/msdospart.c: ... this. Update all users.
15917
15918 * include/grub/pc_partition.h: Rename to ...
15919 * include/grub/msdos_partition.h: ... this. Update all users.
15920 (grub_pc_partition_bsd_entry): Rename to ...
15921 (grub_msdos_partition_bsd_entry): ... this. Update all users.
15922 (grub_pc_partition_disk_label): Rename to ...
15923 (grub_msdos_partition_disk_label): ... this. Update all users.
15924 (grub_pc_partition_entry): Rename to ...
15925 (grub_msdos_partition_entry): ... this. Update all users.
15926 (grub_pc_partition_mbr): Rename to ...
15927 (grub_msdos_partition_mbr): ... this. Update all users.
15928 (grub_pc_partition): Rename to ...
15929 (grub_msdos_partition): ... this. Update all users.
15930 (grub_pc_partition_is_empty): Rename to ...
15931 (grub_msdos_partition_is_empty): ... this. Update all users.
15932 (grub_pc_partition_is_extended): Rename to ...
15933 (grub_msdos_partition_is_extended): ... this. Update all users.
15934 (grub_pc_partition_is_bsd): Rename to ...
15935 (grub_msdos_partition_is_bsd): ... this. Update all users.
15936
15937 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
15938 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
15939 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
15940 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
15941 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
15942 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
15943 (gpt_mod_LDFLAGS): Rename to ...
15944 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
15945 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
15946 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
15947 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
15948 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
15949 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
15950 (part_gpt_mod_LDFLAGS): ... this.
15951 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
15952 `pcpart.mod' to `msdospart.mod'.
15953 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
15954 to ...
15955 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
15956 (msdospart_mod_LDFLAGS): ... this.
15957
c11fded5 159582009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
15959
15960 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
15961 (openbsd_opts): Likewise.
15962 (netbsd_opts): Likewise.
15963 (freebsd_flags): Added 0 terminator.
15964 (openbsd_flags): Likewise.
15965 (netbsd_flags): Likewise.
15966 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
15967 (grub_cmd_freebsd): Transformed into extended command.
15968 (grub_cmd_openbsd): Likewise.
15969 (grub_cmd_netbsd): Likewise.
15970 (cmd_freebsd): Changed type to grub_extcmd_t.
15971 (cmd_openbsd): Likewise.
15972 (cmd_netbsd): Likewise.
15973 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
15974 grub_cmd_openbsd as extended commands.
15975 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
15976 cmd_netbsd and cmd_openbsd
15977
11d1c769 159782009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
15979
15980 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
15981
7a9094e5 159822009-08-21 Pavel Roskin <proski@gnu.org>
15983
5496c37e 15984 * Makefile.in (install-local): When checking if a file is in the
15985 build directory, use "test -e" to detect symlinks.
15986
7a9094e5 15987 * Makefile.in (install-local): Remove all files in
15988 $(DESTDIR)$(pkglibdir) before installing new files there.
15989
e53cea11 159902009-08-18 Felix Zielcke <fzielcke@z-51.de>
15991
15992 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
15993 grub-mkelfimage.
15994
9aced544 159952009-08-18 Felix Zielcke <fzielcke@z-51.de>
15996
15997 * util/grub-mkconfig.in: Don't use gfxterm by default if not
15998 explicitly specified by the user.
15999
b7da6bab 160002009-08-18 Pavel Roskin <proski@gnu.org>
16001
16002 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
16003 grub_uint8_t pointer for data.
16004 * include/grub/fbutil.h (struct grub_video_fbblit_info):
16005 Likewise.
16006 * video/fb/fbutil.c: Remove unnecessary casts.
16007
19f1b335 160082009-08-17 Michal Suchanek <hramrach@centrum.cz>
16009
16010 VBE cleanup.
16011
16012 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
16013 (grub_vbe_set_video_mode): Save active mode info
16014 only after setting the mode.
16015 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
16016 second argument.
16017
2f467aa9 160182009-08-17 Michal Suchanek <hramrach@centrum.cz>
16019
16020 Rename variables for clarity.
16021
16022 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
16023 (active_vbe_mode_info): ... this. All users updated.
16024 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
16025 All users updated.
16026 (initial_mode): Rename to ...
16027 (initial_vbe_mode): ... this. All users updated.
16028 (mode_in_use): Rename to ..
16029 (vbe_mode_in_use): ... this. All users updated.
16030 (mode_list): Rename to ..
16031 (vbe_mode_list): ... this. All users updated.
16032 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
16033 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
16034 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
16035 'mode_list_size' to 'vbe_mode_list_size'.
16036 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
16037 'best_mode_info' to 'best_vbe_mode_info' and
16038 'best_mode' to 'best_vbe_mode'
16039
6025fcd7 160402009-08-17 Michal Suchanek <hramrach@centrum.cz>
16041
16042 Remove duplicate grub_video_fb_get_video_ptr.
16043
16044 * include/grub/fbutil.h (get_data_ptr): Rename to ...
16045 (grub_video_fb_get_video_ptr): ... this.
16046 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
16047 * video/fb/fbutil.c: Add comment about addressing.
16048 (get_data_ptr): Rename to ...
16049 (grub_video_fb_get_video_ptr): ... this. All users updated.
16050 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
16051
cc8c6faf 160522009-08-17 Robert Millan <rmh.grub@aybabtu.com>
16053
16054 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
16055 grub_dprintf() that was just added.
16056
08aa61f0 160572009-08-17 Robert Millan <rmh.grub@aybabtu.com>
16058
16059 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
16060 (DEFAULT_VIDEO_MODE): Remove macros.
16061 (grub_linux_boot): Remove assumption that Linux has FB support,
16062 and use "text" as default video mode.
16063
7cef4f75 160642009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
16065
16066 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
16067 grub_dprintf.
16068 * fs/fat.c (grub_fat_read_data): Likewise.
16069
e1f39873 160702009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16071
16072 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
16073 payload.
16074 (grub_module): Likewise.
16075
c166d79e 160762009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16077
16078 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
16079 mbi->cmdline but free playground.
16080
c60cee8e 160812009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16082
16083 Handle group offset on UFS1.
16084
16085 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
16086 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
16087
c0d8b5d4 160882009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16089
16090 Split ufs.mod into ufs1.mod and ufs2.mod.
16091
16092 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
16093 (grub_fstest_SOURCES): Likewise.
16094 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
16095 (ufs_mod_SOURCES): Remove.
16096 (ufs_mod_CFLAGS): Likewise.
16097 (ufs_mod_LDFLAGS): Likewise.
16098 (ufs1_mod_SOURCES): New variable.
16099 (ufs1_mod_CFLAGS): Likewise.
16100 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 16101 (ufs2_mod_SOURCES): New variable.
16102 (ufs2_mod_CFLAGS): Likewise.
16103 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 16104 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
16105 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
16106 Likewise.
16107 (grub_emu_SOURCES): Likewise.
16108 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16109 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16110 (grub_setup_SOURCES): Likewise.
16111 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16112 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
16113 (grub_setup_SOURCES): Likewise.
16114 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
16115 Likewise.
16116 * fs/ufs2.c: New file.
16117 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
16118
d3539132 161192009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
16120
16121 Framebuffer split.
16122
16123 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
16124 subsystem at the end.
16125 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
16126 (video_fb_mod_SOURCES): New variable.
16127 (video_fb_mod_CFLAGS): Likewise.
16128 (video_fb_mod_LDFLAGS): Likewise.
16129 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
16130 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
16131 * video/i386/pc/vbeblit.c: Moved from here ...
16132 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
16133 * video/i386/pc/vbefill.c: Moved from here ...
16134 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
16135 * video/i386/pc/vbeutil.c: Moved from here ...
16136 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
16137 * include/grub/i386/pc/vbeblit.h: Moved from here ...
16138 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
16139 * include/grub/i386/pc/vbefill.h: Moved from here ...
16140 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
16141 * include/grub/i386/pc/vbeutil.h: Moved from here ...
16142 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
16143 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
16144 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
16145 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
16146 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
16147 (grub_video_adapter): Added 'get_info_and_fini'.
16148 (grub_video_get_info_and_fini): New prototype.
16149 (grub_video_set_mode): make modestring const char *.
16150 * loader/i386/linux.c (grub_linux_setup_video): Use
16151 grub_video_get_info_and_fini.
16152 (grub_linux_boot): Move modesetting just before booting.
16153 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
16154 grub_video_get_info_and_fini.
16155 * video/i386/pc/vbe.c: Moved framebuffer part ...
16156 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
16157 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
16158 grub_video_fbstd_colors and grub_video_fb_set_palette.
16159 (grub_video_vbe_init): Clear 'framebuffer' variable and use
16160 grub_video_fb_init.
16161 (grub_video_vbe_fini): Use grub_video_fb_fini.
16162 (grub_video_vbe_setup): Use framebuffer.render_target instead of
16163 render_target and use grub_video_fb_set_active_render_target and
16164 grub_video_fb_set_palette.
16165 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
16166 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
16167 (grub_video_vbe_adapter): Use framebuffer.
16168 * video/video.c (grub_video_get_info_and_fini): New function.
16169 (grub_video_set_mode): Make modestring const char *.
16170 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
16171 values are already initialised.
16172
d404ee56 161732009-08-14 Pavel Roskin <proski@gnu.org>
16174
16175 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
16176 ABS and APPLE_CC.
16177 * boot/i386/pc/diskboot.S: Likewise.
16178 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
16179 sectors allow compilation on MacOSX.
16180 * conf/i386-pc.rmk: Enable unconditional compilation of
16181 lnxboot.img.
16182
9a10df16 161832009-08-13 Colin Watson <cjwatson@ubuntu.com>
16184
16185 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
16186 * util/grub.d/00_header.in: Enter interruptible sleep if
16187 GRUB_HIDDEN_TIMEOUT is set.
16188
be3c9ca7 161892009-08-13 Yves Blusseau <blusseau@zetam.org>
16190
16191 * include/grub/symbol.h: Add the LOCAL macro.
16192 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
16193 starting with "L_".
16194
1f9e557e 161952009-08-13 Pavel Roskin <proski@gnu.org>
16196
9ca62843 16197 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
16198 any modern compilers we support.
16199
1f9e557e 16200 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
16201 Use local labels starting with "L_" so that Apple assembler
16202 knows they are local.
16203
81623db6 162042009-08-10 Robert Millan <rmh.grub@aybabtu.com>
16205
16206 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
16207 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
16208 (bsd_kernel_types): ... this enum.
16209
16210 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
16211 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
16212 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
16213
16214 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
16215 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
16216 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
16217 messages.
16218
f5d35e7a 162192009-08-08 Robert Millan <rmh.grub@aybabtu.com>
16220
16221 * util/grub-dumpdevtree: Moved from here ...
16222 * util/i386/efi/grub-dumpdevtree: ... to here.
16223 (hexify): New function. Converts a string to its hex version.
16224 Generate hex versions of "efi" and "device-properties" by calling
16225 hexify() on the ASCII strings rather than by hardcoding numbers.
16226
d1e1d527 162272009-08-08 Robert Millan <rmh.grub@aybabtu.com>
16228
16229 * fs/jfs.c: Update copyright year.
16230
1ebbe064 162312009-08-08 Felix Zielcke <fzielcke@z-51.de>
16232
16233 * util/grub.d/00_header.in: Fix a comment.
16234 * util/grub.d/10_linux.in: Likewise.
16235 * util/grub.d/10_windows.in: Likewise.
16236 * util/grub.d/10_hurd.in: Likewise.
16237
a78c8d24 162382009-08-08 Felix Zielcke <fzielcke@z-51.de>
16239
16240 * util/grub-mkconfig.in: Allow the user to specify the used font
16241 with GRUB_FONT.
16242
29a6b9e8 162432009-08-08 Pavel Roskin <proski@gnu.org>
16244
b5f16cc4 16245 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
16246 available, xfs.mod needs it now.
16247
2f5cb827 16248 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
16249 the "g" modifier in sed when the intention is to strip something
16250 once. This fixes comparison of kernels with multiple dashes.
16251
29a6b9e8 16252 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
16253 on it. Add missing space before closing bracket. Fix
16254 misleading formatting.
16255
892a3d98 162562009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16257
16258 * docs/grub.texi: Major overhaul. Remove all sections that are
16259 specific to GRUB Legacy, or mostly composed of Legacy-specific
16260 information.
16261
ed94253f 162622009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16263
16264 * docs/version.texi: New file. Provides version information for
16265 grub.texi.
16266
126d6628 162672009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16268
16269 * docs/grub.texi: Update CVS information to SVN.
16270 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
16271
998b5aa9 162722009-08-07 Felix Zielcke <fzielcke@z-51.de>
16273
16274 * util/grub-mkconfig.in: Remove a wrong `fi'.
16275
818e094a 162762009-08-07 Felix Zielcke <fzielcke@z-51.de>
16277
16278 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
16279 (grub_jfs_uuid): New function.
16280 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
16281
b969c52f 162822009-08-07 Felix Zielcke <fzielcke@z-51.de>
16283
16284 * util/grub-mkconfig_lib.in (font_path): Move the functionality
16285 of it to ...
16286 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
16287 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
16288
7a4894cc 162892009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16290
16291 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
16292 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
16293 Update all users.
16294
16295 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
16296 not just "vmlinu[zx]".
16297 Moved from here ...
16298 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
16299 all users.
16300
16301 * util/grub.d/10_linux.in (find_latest): Moved from here ...
16302 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
16303 all users.
16304
4e2171f8 163052009-08-07 Robert Millan <rmh.grub@aybabtu.com>
16306
16307 * util/grub.d/10_freebsd.in: Use an absolute device path for
16308 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
16309
6dcfcb32 163102009-08-06 Felix Zielcke <fzielcke@z-51.de>
16311
16312 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
16313 handling of multiple abstraction modules.
16314
f56a8756 163152009-08-04 Robert Millan <rmh.grub@aybabtu.com>
16316
16317 Fix a bug resulting in black screen when loading Linux using a
16318 packed video mode.
16319
16320 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
16321 function.
16322
16323 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
16324 (grub_vbe_bios_getset_dac_palette_width): New function.
16325 (grub_vbe_bios_get_dac_palette_width)
16326 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
16327 grub_vbe_bios_getset_dac_palette_width()).
16328
16329 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
16330 check for return status.
16331 (grub_vbe_get_video_mode_info): When getting information for a packed
16332 mode (<= 8 bpp), obtain DAC palette width using
16333 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
16334 {red,green,blue}_mark_size.
16335
222671b2 163362009-08-04 Felix Zielcke <fzielcke@z-51.de>
16337
ecb1a6d9 16338 * commands/search.c (options): Fix help output to match actual code.
222671b2 16339
f84114f5 163402009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
16341
16342 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
16343 of homegrown code.
16344
bd288a20 163452009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 16346
16347 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
16348 on XFS or ReiserFS.
16349
8aab5e25 163502009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
16351
16352 Support Apple partition map with sector size different from 512 bytes.
16353
16354 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
16355 (apple_partition_map_iterate): Respect 'aheader.blocksize'
16356 and 'apart.partmap_size'.
16357
6ad6258a 163582009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
163592009-08-01 Robert Millan <rmh.grub@aybabtu.com>
16360
16361 Fix cpuid command.
16362
16363 * commands/i386/cpuid.c (options): New variable.
16364 (grub_cmd_cpuid): Return real error.
16365 (GRUB_MOD_INIT(cpuid)): Declare options.
16366
67459bc6 163672009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
16368
16369 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
16370 valid.
16371
fbc6ab54 163722009-07-31 Bean <bean123ch@gmail.com>
16373
16374 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
16375 log2_inode.
16376 (grub_fshelp_node): Move inode field to the end.
16377 (grub_xfs_data): Remove inode field.
16378 (grub_xfs_inode_block): Calculate inode size using sblock.
16379 (grub_xfs_inode_offset): Likewise.
16380 (grub_xfs_read_inode): Calculate inode size using sblock.
16381 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
16382 (grub_xfs_iterate_dir): Calculate inode size using sblock.
16383 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
16384 to match inode size.
16385 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
16386 not accessible when data is null.
16387 (grub_xfs_open): Likewise.
16388
f45d6cfc 163892009-07-31 Bean <bean123ch@gmail.com>
16390
16391 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
16392 Don't change pv->disk if it's already set.
16393
16394 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
16395 (grub_raid_register): ... here.
16396 (grub_raid_rescan): Removed.
16397
16398 * include/grub/raid.h (grub_raid_rescan): Removed.
16399
16400 * util/grub-fstest.c: Remove include file <grub/raid.h>.
16401 (fstest): Replace grub_raid_rescan with module fini function followed
16402 by init function.
16403
16404 * util/grub-probe.c: Add include file <grub/raid.h>.
16405 (probe_raid_level): New function.
16406 (probe): Detect abstraction by walking the disk device, support two
16407 level of abstraction (LVM on RAID) when detecting partition map.
16408
24443b5a 164092009-07-31 Pavel Roskin <proski@gnu.org>
16410
16411 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
16412 to grub_zalloc(), it was erroneous.
16413 Reported by Bean <bean123ch@gmail.com>
16414
a275d9e7 164152009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
16416
16417 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 16418 embedding zone, not only the first one.
a275d9e7 16419
56c5a47f 164202009-07-29 Joe Auricchio <jauricchio@gmail.com>
16421
16422 * term/gfxterm.c (clear_char): New function.
16423 (grub_virtual_screen_setup): Use clear_char.
16424 (scroll_up): Likewise.
16425 (grub_virtual_screen_cls): Likewise.
16426
67bb323a 164272009-07-29 Felix Zielcke <fzielcke@z-51.de>
16428
16429 * util/deviceiter.c (get_acceleraid_disk_name): New static
16430 function.
16431 (grub_util_iterate_devices): Handle Accelraid devices.
16432 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
16433
388a7c75 164342009-07-28 Robert Millan <rmh.grub@aybabtu.com>
16435
16436 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
16437 separator for the suggested gfxpayload string (';' collides with the
16438 parser and needs escaping).
16439
3bb7abcf 164402009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
16441
16442 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
16443 Clear direction flag before jumping to OS.
16444 (grub_multiboot2_real_boot): Likewise.
16445
2ddd36d7 164462009-07-28 Felix Zielcke <fzielcke@z-51.de>
16447
16448 * util/i386/pc/grub-install: Fix parsing of --disk-module
16449 option.
16450
c521b62b 164512009-07-28 Felix Zielcke <fzielcke@z-51.de>
16452
16453 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
16454 when embedding.
16455
880e0a0c 164562009-07-26 Felix Zielcke <fzielcke@z-51.de>
16457
16458 * util/grub-mkconfig.in (package_version): New variable.
16459 Use it do display the version.
16460
2366e356 164612009-07-25 Felix Zielcke <fzielcke@z-51.de>
16462
16463 * kern/file.c (grub_file_open): Revert to previous check with
16464 grub_errno.
16465
7ad8c80e 164662009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16467
16468 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
16469 from help line. It's out of sync with code.
16470
72b9658b 164712009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
16472
16473 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
16474 entries on failed boot.
16475
77435277 164762009-07-25 Felix Zielcke <fzielcke@z-51.de>
16477
16478 * kern/file.c (grub_file_open): Fix an error check.
16479
fcaa8b21 164802009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
16481
35d16c74 16482 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
16483 partition map couldn't be identified.
fcaa8b21 16484
48904cd1 164852009-07-23 Pavel Roskin <proski@gnu.org>
16486
ef3c317f 16487 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
16488 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
16489 case of little endian words becomes just an optimization.
16490 Respect const modifier.
ad8ea1f4 16491 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 16492
48904cd1 16493 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
16494 to avoid loss of upper bits if align is unsigned and shorter
16495 than addr.
16496
260c9a89 164972009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
16498
16499 UUID support for UFS
16500
16501 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
16502 (grub_ufs_uuid): New function.
16503 (grub_ufs_fs): add .uuid
16504
f76ce889 165052009-07-21 Pavel Roskin <proski@gnu.org>
16506
16507 * kern/dl.c (grub_dl_check_header): Make static.
16508
6a6cbcaf 165092009-07-21 Felix Zielcke <fzielcke@z-51.de>
16510
16511 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
16512 add drivemap for Vista. It breaks Windows 7.
16513
cffcddb2 165142009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
16515
16516 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
16517 128 bytes
16518
1ef44b80 165192009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16520
16521 Add BFS support
16522
16523 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
16524 (grub_fstest_SOURCES): Likewise.
16525 (pkglib_MODULES): Add befs.mod.
16526 (befs_mod_SOURCES): New variable.
16527 (befs_mod_CFLAGS): Likewise.
16528 (befs_mod_LDFLAGS): Likewise.
16529 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
16530 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16531 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16532 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16533 (grub_setup_SOURCES): Likewise.
16534 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16535 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16536 (grub_setup_SOURCES): Likewise.
16537 * fs/befs.c: New file.
16538 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
16539 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
16540 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
16541 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
16542 (B_KEY_INDEX_ALIGN): New declaration.
16543 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
16544 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
16545 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
16546 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
16547 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
16548 (grub_afs_mount) [MODE_BFS]: Likewise.
16549 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
16550 (grub_afs_fs): Use GRUB_AFS_FSNAME
16551 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
16552 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
16553 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
16554 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
16555
4f253044 165562009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
16557
16558 * util/getroot.c (find_root_device): Add support for MacOSX.
16559 * util/hostdisk.c: Likewise.
16560
57a55913 165612009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16562
16563 * font/font.c (find_glyph): Check whether a font is present to avoid
16564 segmentation fault.
75421ca9 16565
165662009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 16567
16568 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
16569
e98cd0c2 165702009-07-20 Pavel Roskin <proski@gnu.org>
16571
16572 * configure.ac: Trim excessively wordy excuses.
16573
1d2d169a 165742009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16575
16576 Add symlink, mtime and label support to AtheFS.
16577
16578 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
16579 (grub_afs_iterate_dir): Handle symlinks.
16580 (grub_afs_open): Use grub_afs_read_symlink.
16581 (grub_afs_dir): Likewise.
16582 Pass mtime.
16583 (grub_afs_label): New function.
16584 (grub_afs_fs): Add grub_afs_label.
16585 (grub_afs_read_symlink): New function.
16586
186f3189 165872009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
16588
16589 Fix AtheFS support.
16590
16591 * fs/afs.c: Fix comments style.
16592 (grub_afs_blockrun): Declare as packed.
16593 (grub_afs_datastream): Likewise.
16594 (grub_afs_bnode): Likewise.
16595 (grub_afs_btree): Likewise.
16596 (grub_afs_sblock): Likewise.
16597 Declare `name' as char.
16598 (grub_afs_inode): Declare as packed.
16599 Change void *vnode to grub_uint32_t unused.
16600 (grub_afs_iterate_dir): Check that key_size is positive.
16601 (grub_afs_mount): Don't read superblock twice.
75421ca9 16602 (grub_afs_dir): Don't free node in case of error,
186f3189 16603 grub_fshelp_find_file already handles this.
16604 (grub_afs_open): Likewise.
16605
5680109e 166062009-07-19 Pavel Roskin <proski@gnu.org>
16607
16608 * Makefile.in: Remove LIBLZO and enable_lzo.
16609 * conf/i386-pc.rmk: Remove lzo support.
16610 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
16611 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
16612 support.
16613 * kern/i386/pc/lzo1x.S: Remove.
16614 * kern/i386/pc/startup.S: Remove lzo support.
16615 * util/i386/pc/grub-mkimage.c: Likewise.
16616
ac70fa32 166172009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
16618
16619 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
16620 * fs/xfs.c (grub_xfs_dir): Likewise.
16621 * fs/afs.c (grub_afs_dir): Likewise.
16622 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
16623 (grub_iso9660_open): Likewise.
16624 * fs/jfs.c (grub_jfs_open): Likewise.
16625 * fs/ext2.c (grub_ext2_dir): Likewise.
16626 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
16627 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 16628
eab58da2 166292009-07-16 Pavel Roskin <proski@gnu.org>
16630
d2838156 16631 * configure.ac: Never add "-c" to CFLAGS.
16632
55c70904 16633 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
16634
43e6200c 16635 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
16636 grub_cv_cc_efiemu should be used.
16637
ce7a733d 16638 * configure.ac: Typo fixes.
16639
eab58da2 16640 * kern/mm.c (grub_zalloc): New function.
16641 (grub_debug_zalloc): Likewise.
16642 * include/grub/mm.h: Declare grub_zalloc() and
16643 grub_debug_zalloc().
16644 * util/misc.c (grub_zalloc): New function.
16645 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
16646 instead of grub_malloc(), remove unneeded initializations.
16647 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
16648 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
16649 * commands/parttool.c (grub_cmd_parttool): Likewise.
16650 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
16651 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
16652 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
16653 * disk/usbms.c (grub_usbms_finddevs): Likewise.
16654 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
16655 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
16656 (grub_cmd_efiemu_pnvram): Likewise.
16657 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
16658 * fs/iso9660.c (grub_iso9660_mount): Likewise.
16659 (grub_iso9660_iterate_dir): Likewise.
16660 * fs/jfs.c (grub_jfs_opendir): Likewise.
16661 * fs/ntfs.c (list_file): Likewise.
16662 (grub_ntfs_mount): Likewise.
16663 * kern/disk.c (grub_disk_open): Likewise.
16664 * kern/dl.c (grub_dl_load_core): Likewise.
16665 * kern/elf.c (grub_elf_file): Likewise.
16666 * kern/env.c (grub_env_context_open): Likewise.
16667 (grub_env_set): Likewise.
16668 (grub_env_set_data_slot): Likewise.
16669 * kern/file.c (grub_file_open): Likewise.
16670 * kern/fs.c (grub_fs_blocklist_open): Likewise.
16671 * loader/i386/multiboot.c (grub_module): Likewise.
16672 * loader/xnu.c (grub_xnu_create_key): Likewise.
16673 (grub_xnu_create_value): Likewise.
16674 * normal/main.c (grub_normal_add_menu_entry): Likewise.
16675 (read_config_file): Likewise.
16676 * normal/menu_entry.c (make_screen): Likewise.
16677 * partmap/sun.c (sun_partition_map_iterate): Likewise.
16678 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
16679 * script/sh/script.c (grub_script_parse): Likewise.
16680 * video/bitmap.c (grub_video_bitmap_create): Likewise.
16681 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
16682 * video/readers/png.c (grub_png_output_byte): Likewise.
16683 (grub_video_reader_png): Likewise.
16684
830afef7 166852009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 16686
16687 Enable all targets that can be built by default
16688
830afef7 16689 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 16690 grub-mkfont and grub-fstest if they can be built
16691
ee293aee 166922009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16693
16694 Fix hang and segmentation fault in grub-emu-usb
16695
16696 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
16697 * util/usb.c (grub_libusb_devices): likewise
16698 (grub_libusb_init): rename to ...
16699 (GRUB_MOD_INIT (libusb)):...this
16700 (grub_libusb_fini): rename to ..
16701 (GRUB_MOD_FINI (libusb)):...this
16702 * disk/usbms.c (grub_usbms_transfer): fix retry logic
16703 * include/grub/disk.h (grub_raid_init): removed, it's useless
16704 (grub_raid_fini): likewise
16705 (grub_lvm_init): likewise
16706 (grub_lvm_fini): likewise
16707 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
16708 by grub_init_all
16709
94414221 167102009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16711
16712 Fix libusb
16713
16714 * Makefile.in (LIBUSB): new macro
16715 * genmk.rb (Utility/print_tail): new method
16716 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
16717 (top level): call util.print_tail at the end.
16718
59ade63d 167192009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16720
16721 Make FreeBSD accept zpool.cache
16722
16723 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
16724 type is /boot/zfs/zpool.cache
16725
a58da8c7 167262009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
16727
16728 Fix 64-bit efiemu
16729
16730 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
16731 correct wrong typedef
16732 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
16733
20591577 167342009-07-15 Pavel Roskin <proski@gnu.org>
16735
560ca572 16736 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
16737 * kern/disk.c (struct grub_disk_cache): Likewise.
16738
e8e8e4fd 16739 * commands/probe.c (options): Typo fix.
16740
fde24e10 16741 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
16742 Increase to 0x5a to accommodate FAT32. Adjust other offsets
16743 accordingly.
16744 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
16745
379c54c1 16746 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
16747 the end of "Error" to make the message more readable.
16748
7bd8f5bf 16749 * boot/i386/pc/boot.S (kernel_segment): Remove.
16750 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
16751 for destination.
16752
40b132c5 16753 * boot/i386/pc/boot.S (boot_version): Remove.
16754 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
16755 Remove.
16756
20591577 16757 * include/grub/i386/pc/boot.h: Sort all offsets.
16758 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
16759 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
16760 * boot/i386/pc/boot.S: Assert location of every offset listed in
16761 include/grub/i386/pc/boot.h.
16762
2df32b2c 167632009-07-13 Pavel Roskin <proski@gnu.org>
16764
44b5d879 16765 * include/grub/i386/coreboot/machine.h: Rename
16766 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
16767 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
16768 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
16769
17dc3751 16770 * kern/dl.c: Force native word size to suppress warnings when
16771 compiling grub-emu.
16772
2df32b2c 16773 * kern/device.c (grub_device_iterate): Change struct part_ent to
16774 hold the name, not a pointer to it. Use one grub_malloc() per
16775 partition, not two. Free partition_name if grub_malloc() fails.
16776 Set ents to NULL only before grub_partition_iterate() is called.
16777
75c59f59 167782009-07-11 Bean <bean123ch@gmail.com>
16779
16780 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
16781 childname.
16782
0ae1bf88 167832009-07-10 Bean <bean123ch@gmail.com>
167842009-07-10 Robert Millan <rmh.grub@aybabtu.com>
16785
16786 * kern/ieee1275/openfw.c (grub_children_iterate)
16787 (grub_devalias_iterate): Fix size evaluation for property or path
16788 strings, which was broken since r2132.
16789
8279cade 167902009-07-07 Pavel Roskin <proski@gnu.org>
16791
7d8a52d3 16792 * commands/search.c (search_file): Merge into ...
16793 (search_fs): ... this. Accept search type as argument.
16794 (grub_cmd_search): Pass search type to search_fs().
16795
25f9a05a 16796 * include/grub/util/console.h: New file.
16797 * util/console.c: Use it instead of grub/machine/console.h.
16798 * util/grub-emu.c: Likewise.
16799
8279cade 16800 * lib/arg.c (find_long_option): Remove.
16801 (find_long): Add `len' argument, make `s' const char *.
16802 (grub_arg_parse): Parse long options in place, not in a
16803 temporary buffer.
16804
4a11b60f 168052009-07-06 Pavel Roskin <proski@gnu.org>
16806
99f68041 16807 * commands/search.c (search_fs): Fix potential NULL pointer
16808 dereference.
16809
4a11b60f 16810 * commands/search.c (search_fs): Replace QUID macro with quid_fn
16811 function pointer.
16812
e110f4de 168132009-07-06 Daniel Mierswa <impulze@impulze.org>
16814
16815 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
16816 comparison.
16817
46eeb6a2 168182009-07-05 Pavel Roskin <proski@gnu.org>
16819
bab74958 16820 * include/grub/i386/linux.h (struct linux_kernel_params):
16821 Restore padding3, it's still needed.
16822
46eeb6a2 16823 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
16824 FreeBSD.
16825 * util/osdetect.lua: Likewise.
16826
b4a1dc79 168272009-07-05 Bean <bean123ch@gmail.com>
16828
16829 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
16830
16831 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
16832 (grub_lua_getenv): Likewise.
16833 (grub_lua_setenv): Likewise.
16834 (save_errno): New function.
16835 (push_result): Likewise.
16836 (grub_lua_enum_device): Likewise.
16837 (grub_lua_enum_file): Likewise.
16838 (grub_lua_file_open): Likewise.
16839 (grub_lua_file_close): Likewise.
16840 (grub_lua_file_seek): Likewise.
16841 (grub_lua_file_read): Likewise.
16842 (grub_lua_file_getline): Likewise.
16843 (grub_lua_file_getsize): Likewise.
16844 (grub_lua_file_getpos): Likewise.
16845 (grub_lua_file_eof): Likewise.
16846 (grub_lua_file_exist): Likewise.
16847 (grub_lua_add_menu): Likewise.
16848
16849 * script/lua/grub_lua.h (isupper): New inline function.
16850 (islower): Likewise.
16851 (ispunct): Likewise.
16852 (isxdigit): Likewise.
16853 (strcspn): Change to normal function.
16854 (strpbkr): New function declaration.
16855 (memchr): Likewise.
16856
16857 * script/lua/grub_main.c (scan_str): New function.
16858 (strcspn): Likewise.
16859 (strpbrk): Likewise.
16860 (memchr): Likewise.
16861
16862 * script/lua/linit.c (lualibs): Enable the string library.
16863
16864 * util/osdetect.lua: New file.
16865
2da92295 168662009-07-04 Robert Millan <rmh.grub@aybabtu.com>
16867
16868 * include/grub/i386/linux.h (struct linux_kernel_params): Add
16869 `capabilities' member.
16870
b2582ec9 168712009-07-02 Pavel Roskin <proski@gnu.org>
16872
16873 * genparttoollist.sh: Add missing newline at the end.
16874
32622956 168752009-07-01 Pavel Roskin <proski@gnu.org>
16876
87a7339e 16877 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
16878
d23af54e 16879 * util/hostdisk.c (open_device): Remove `const' from
16880 `sysctl_size', as sysctlbyname() can change it (in this case it
16881 doesn't actually happen).
16882
c94b18a9 16883 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
16884 using signed long int constants.
16885
c6cd3ef0 16886 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
16887 constant to avoid a warning on FreeBSD.
16888
0df63420 16889 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
16890 where it's needed.
16891
999577f1 16892 * Makefile.in: Install include/grub/machine symlink.
16893
6f41557f 16894 * Makefile.in: When installing symlinks, use "cp -fR", which
16895 works on FreeBSD and MacOSX.
16896 From Yves Blusseau <cl7m42e02@sneakemail.com>
16897
c8d22988 16898 * kern/dl.c (grub_dl_resolve_symbol): Make static.
16899 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
16900
1b96e952 16901 * util/misc.c: Move grub_reboot() and grub_halt() ...
16902 * util/grub-emu.c: ... here. Make main_env static.
16903 * include/grub/util/misc.h: Remove main_env.
16904
2ef0084d 16905 * kern/mm.c: Use correct format to print size_t.
16906
32622956 16907 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
16908 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
16909 * kern/powerpc/dl.c: Likewise.
16910 * kern/sparc64/dl.c: Likewise.
16911 * kern/x86_64/dl.c: Likewise.
16912
3f7f0cd0 169132009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16914
16915 Fix grub-emu build on sparc64-ieee1275.
16916
75421ca9 16917 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 16918 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
16919
211d06b5 169202009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16921
16922 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
16923 (grub_reboot, grub_halt): New functions.
16924
16925 * util/i386/pc/misc.c: Delete. Update all users.
16926 * util/sparc64/ieee1275/misc.c: Likewise.
16927 * util/powerpc/ieee1275/misc.c: Likewise.
16928
aaf53e3c 169292009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16930
16931 * conf/i386.rmk (setjmp_mod_SOURCES)
16932 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
16933 * conf/common.rmk (setjmp_mod_SOURCES)
16934 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
16935 to use $(target_cpu).
16936 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
16937 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
16938 * conf/powerpc-ieee1275.rmk: Likewise.
16939 * conf/sparc64-ieee1275.rmk: Likewise.
16940
16941 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
16942 $(target_cpu) for kern/$(target_cpu)/dl.c.
16943 * conf/i386-efi.rmk: Likewise.
16944 * conf/i386-ieee1275.rmk: Likewise.
16945 * conf/x86_64-efi.rmk: Likewise.
16946 * conf/i386-coreboot.rmk: Likewise.
16947 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
16948 $(target_cpu) for kern/$(target_cpu)/dl.c and for
16949 kern/$(target_cpu)/cache.S.
16950 * conf/sparc64-ieee1275.rmk: Likewise.
16951
a337130b 169522009-07-01 Robert Millan <rmh.grub@aybabtu.com>
16953
16954 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
16955 type to `grub_uint8_t', and adjust `padding9' accordingly.
16956
c6fe4d53 169572009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16958
b09db61d 16959 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
16960
c6fe4d53 16961 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
16962 assembly in final jump, using register constraints.
16963
b09db61d 16964 (grub_linux_boot): For text mode, initialize `have_vga' using
16965 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
16966
16967 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
16968 right before the final jump.
16969
16970 Set `video_mode' to 0x3.
16971
16972 Document initialization of `video_page', `video_mode' and
16973 `video_ega_bx'.
16974
28333ad0 169752009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16976
16977 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
16978 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 16979 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 16980
02164e1b 169812009-06-29 Robert Millan <rmh.grub@aybabtu.com>
16982
16983 Fix build on Debian / sparc.
16984
16985 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
16986
18b6c557 169872009-06-28 Pavel Roskin <proski@gnu.org>
16988
85f2aab6 16989 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
16990 fix a warning.
16991
18b6c557 16992 * util/grub.d/10_linux.in: Match SUSE style initrd names.
16993
ad760f81 169942009-06-27 Robert Millan <rmh.grub@aybabtu.com>
16995
16996 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
16997 `err'.
16998
87a4623b 169992009-06-27 Robert Millan <rmh.grub@aybabtu.com>
17000
17001 Revert r2338.
17002
17003 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
17004 file can't be opened. grub_file_open() is already supposed to set
75421ca9 17005 grub_errno / grub_errmsg appropriately.
87a4623b 17006 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17007
8231fb77 170082009-06-27 Pavel Roskin <proski@gnu.org>
170092009-06-27 Robert Millan <rmh.grub@aybabtu.com>
17010
17011 * include/grub/dl.h: Include grub/elf.h.
17012 (struct grub_dl): Add symtab field.
17013 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
17014 GRUB_MODULES_MACHINE_READONLY.
17015 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
17016 of the header for read-only modules.
17017 (grub_dl_unload): Free mod->symtab for read-only modules.
17018 * kern/i386/dl.c: Use mod->symtab.
17019 * kern/powerpc/dl.c: Likewise.
17020 * kern/sparc64/dl.c: Likewise.
17021 * kern/x86_64/dl.c: Likewise.
17022
17023 * conf/i386-qemu.rmk: New file.
17024 * kern/i386/qemu/startup.S: Likewise.
17025 * kern/i386/qemu/mmap.c: Likewise.
17026 * boot/i386/qemu/boot.S: Likewise.
17027 * include/grub/i386/qemu/time.h: Likewise.
17028 * include/grub/i386/qemu/serial.h: Likewise.
17029 * include/grub/i386/qemu/kernel.h: Likewise.
17030 * include/grub/i386/qemu/console.h: Likewise.
17031 * include/grub/i386/qemu/boot.h: Likewise.
17032 * include/grub/i386/qemu/init.h: Likewise.
17033 * include/grub/i386/qemu/machine.h: Likewise.
17034 * include/grub/i386/qemu/loader.h: Likewise.
17035 * include/grub/i386/qemu/memory.h: Likewise.
17036
17037 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
17038 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
17039 [qemu] (pkglib_IMAGES): Add `boot.img'.
17040 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
17041 [qemu] (boot_img_FORMAT): New variables.
17042 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
17043 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
17044 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
17045 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
17046 [qemu] (kernel_img_FORMAT): New variables.
17047
17048 * configure.ac: Recognise `i386-qemu'.
17049
17050 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
17051 (for no compression).
17052 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
17053 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
17054 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
17055 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
17056 ifdefs).
17057
97fe384e 170582009-06-27 Pavel Roskin <proski@gnu.org>
17059
17060 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
17061 read.
17062 * efiemu/prepare32.c: Likewise.
17063 * efiemu/prepare64.c: Likewise.
17064
c402ab17 170652009-06-26 Pavel Roskin <proski@gnu.org>
17066
17067 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
17068 * include/grub/elf.h: Define symbols without "32" or "64" based
17069 on GRUB_TARGET_WORDSIZE.
17070 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
17071 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
17072 ELF definitions.
17073 * efiemu/loadcore64.c: Likewise.
17074 * loader/i386/bsd32.c: Likewise.
17075 * loader/i386/bsd64.c: Likewise.
17076 * kern/dl.c: Remove own ELF definitions.
17077 * util/i386/efi/grub-mkimage.c: Likewise.
17078
9bbdfd4d 170792009-06-23 Robert Millan <rmh.grub@aybabtu.com>
17080
17081 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
17082 segment 0x0 unconditionally, because the reference generated by
17083 GAS is an absolute address.
17084
a42ce6e9 170852009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17086
17087 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
17088 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
17089
c952cf92 170902009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17091
17092 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
17093 indexes. Check for -f explicitly.
cc3752ad 17094 (search_file): Improve error message.
17095 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 17096
132a0a59 170972009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17098
17099 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
17100 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
17101
387a140c 171022009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17103
17104 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
17105 * conf/i386-ieee1275.rmk: Likewise.
17106 * conf/i386-coreboot.rmk: Likewise.
17107
17108 * kern/i386/pc/startup.S (grub_stop): Remove function.
17109 * kern/i386/ieee1275/startup.S: Likewise.
17110 * kern/i386/coreboot/startup.S: Likewise.
17111 * kern/i386/misc.S (grub_stop): New function.
17112
41da9665 171132009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17114
17115 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
17116 * kern/i386/realmode.S (real_to_prot): ... to here.
17117
bf337234 171182009-06-22 Robert Millan <rmh.grub@aybabtu.com>
17119
17120 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
17121 with `kernel.img'.
17122 (kernel_elf_SOURCES): Rename to ...
17123 (kernel_img_SOURCES): ... this.
17124 (kernel_elf_HEADERS): Rename to ...
17125 (kernel_img_HEADERS): ... this. Update all users.
17126 (kernel_elf_ASFLAGS): Rename to ...
17127 (kernel_img_ASFLAGS): ... this.
17128 (kernel_elf_CFLAGS): Rename to ...
17129 (kernel_img_CFLAGS): ... this.
17130 (kernel_elf_LDFLAGS): Rename to ...
17131 (kernel_img_LDFLAGS): ... this.
17132 * conf/i386-coreboot.rmk: Likewise.
17133 * conf/powerpc-ieee1275.rmk: Likewise.
17134
17135 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
17136 with "kernel.img".
17137
f52196ff 171382009-06-21 Pavel Roskin <proski@gnu.org>
17139
c3cee413 17140 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
17141 to match nested functions.
17142 * loader/sparc64/ieee1275/linux.c: Likewise.
17143
f52196ff 17144 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
17145
58750afc 171462009-06-21 Robert Millan <rmh.grub@aybabtu.com>
17147
17148 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
17149 all i386 platforms.
17150
15355c7d 171512009-06-21 Robert Millan <rmh.grub@aybabtu.com>
17152
17153 Fix asm file handling on ELF, and remove workarounds.
17154
17155 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 17156 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 17157 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
17158 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
17159
3f3ec72b 171602009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
17161
17162 Load BSD ELF modules
17163
17164 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
17165 and loader/i386/bsd64.c
17166 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
17167 (FREEBSD_MODTYPE_ELF_MODULE): New definition
17168 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
17169 (grub_freebsd_load_elfmodule32): New declaration
17170 (grub_freebsd_load_elfmoduleobj64): Likewise
17171 (grub_freebsd_load_elf_meta32): Likewise
17172 (grub_freebsd_load_elf_meta64): Likewise
17173 (grub_freebsd_add_meta): Likewise
17174 (grub_freebsd_add_meta_module): Likewise
17175 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
17176 (grub_freebsd_add_meta_module): Likewise and move module-specific
17177 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
17178 (grub_cmd_freebsd): Add elf-kernel specific parts
17179 based on grub_freebsd_add_meta_module
17180 (grub_cmd_freebsd_module): Add type parsing moved from
17181 grub_freebsd_add_meta_module
17182 (grub_cmd_freebsd_module_elf): New function
17183 (cmd_freebsd_module_elf): New variable
17184 (GRUB_MOD_INIT): Register freebsd_module_elf
17185 * loader/i386/bsd32.c: New file
17186 * loader/i386/bsd64.c: Likewise
17187 * loader/i386/bsdXX.c: Likewise
17188 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
17189 (grub_elf64_load): Likewise
17190 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
17191 All users updated
17192 (grub_elf64_load_hook_t): Likewise
17193
0db15301 171942009-06-21 Colin Watson <cjwatson@ubuntu.com>
17195
17196 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
17197 variable.
17198 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
17199 don't write a menu entry for recovery mode.
17200
546796c1 172012009-06-20 Robert Millan <rmh.grub@aybabtu.com>
17202
17203 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
17204 after it's no longer needed.
17205
cd7310d5 172062009-06-20 Robert Millan <rmh.grub@aybabtu.com>
17207
17208 * include/grub/i386/loader.h (grub_linux_prot_size)
17209 (grub_linux_tmp_addr, grub_linux_real_addr)
17210 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
17211 GRUB_MACHINE_PCBIOS.
17212 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
17213 common grub_util_info() call to ...
17214 (generate_image): ... here.
17215 Fix use of uninitialized memory, comparison of signed with
17216 unsigned integers and memory leak.
17217 Remove bogus module address message.
17218
ab32d3b5 172192009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17220
17221 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
17222 grub_raid_register
17223 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
17224
024ef597 172252009-06-19 Pavel Roskin <proski@gnu.org>
17226
17227 * configure.ac: Remove stray AC_MSG_CHECKING.
17228
3ac72b51 172292009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
17230
17231 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 17232
e14cd814 172332009-06-18 Pavel Roskin <proski@gnu.org>
17234
17235 * conf/common.rmk: Add fs_file.mod.
17236 * disk/fs_file.c: New file.
17237 * include/grub/disk.h (enum grub_disk_dev_id): Add
17238 GRUB_DISK_DEVICE_FILE_ID.
17239
26586d98 172402009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17241
17242 Fix build with Apple's toolchain. Part 2
17243
17244 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
17245 a fake start
17246
26de2bcd 172472009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17248
17249 Fix build with Apple's toolchain. Part 1
17250
17251 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
17252 for long calls
17253 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 17254 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 17255 Apple's toolchain
17256
09b3490b 172572009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
17258
17259 Fix warnings
17260
17261 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
17262 (decomp_block): initialize ch
17263 use grub_memcpy instead of memcpy
17264
c22a006a 172652009-06-17 Pavel Roskin <proski@gnu.org>
17266
d3638678 17267 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
17268 version, use declarations needed to use vga_text as the startup
17269 console.
17270
c22a006a 17271 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
17272 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
17273 the kernel.
17274 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
17275 and grub_at_keyboard_fini(), it's done on module load and
17276 unload.
17277
05b129e0 172782009-06-17 Felix Zielcke <fzielcke@z-51.de>
17279
17280 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
17281 file can't be found.
17282 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
17283
cf24ed9e 172842009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
17285
17286 Fix newline handling
17287
17288 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 17289 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 17290 (grub_script_yylex): don't segfault on unterminated script
17291 newline terminates command and variable
17292
74aa8e4b 172932009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
17294
17295 avoid double grub_adjust_range call. Bug reported by David Simner
17296
17297 * kern/disk.c (grub_disk_write): change to raw disk access before
17298 calling disk_read
17299
1bd265f3 173002009-06-17 Colin Watson <cjwatson@ubuntu.com>
17301
17302 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
17303 spaces, for the benefit of help2man.
17304 * util/i386/efi/grub-mkimage.c (usage): Likewise.
17305
a2d08c06 173062009-06-16 Pavel Roskin <proski@gnu.org>
17307
17308 * kern/i386/halt.c: Include grub/machine/init.h.
17309 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
17310
b97bcb19 173112009-06-16 Felix Zielcke <fzielcke@z-51.de>
17312
17313 * util/grub.d/30_os-prober.in: Use ${root} in the generated
17314 drivemap menuentry.
17315
0644f96c 173162009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
17317
17318 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
17319 `echo' command.
17320
3ef17a2e 173212009-06-16 Pavel Roskin <proski@gnu.org>
17322
17323 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
17324 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
17325 save %dx, we only need %dl and we never change it.
17326 * boot/i386/pc/cdboot.S: Don't set the root drive.
17327 * boot/i386/pc/pxeboot.S: Likewise.
17328 * include/grub/i386/pc/boot.h: Remove
17329 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
17330 GRUB_BOOT_MACHINE_DRIVE_CHECK.
17331 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
17332 * kern/i386/pc/init.c (make_install_device): Remove references
17333 to grub_root_drive.
17334 * kern/i386/pc/startup.S: Likewise.
17335 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
17336
693fe637 173372009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
17338
17339 xnu_uuid command
17340
17341 * commands/xnu_uuid.c: new file
17342 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
17343 (xnu_uuid_mod_SOURCES): new variable
17344 (xnu_uuid_mod_CFLAGS): likewise
17345 (xnu_uuid_mod_LDFLAGS): likewise
17346 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
17347 * conf/i386-ieee1275.rmk: likewise
17348 * conf/i386-pc.rmk: likewise
17349 * conf/powerpc-ieee1275.rmk: likewise
17350 * conf/sparc64-ieee1275.rmk: likewise
17351 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
17352
c9da87d0 173532009-06-16 Pavel Roskin <proski@gnu.org>
17354
17355 * configure.ac: Avoid '==' in test command, it's not portable.
17356
9c6f4596 173572009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
17358
17359 Probe command
17360
17361 * commands/probe.c: new file
17362 * conf/common.rmk (pkglib_MODULES): add probe.mod
17363 (probe_mod_SOURCES): new variable
17364 (probe_mod_CFLAGS): likewise
17365 (probe_mod_LDFLAGS): likewise
17366 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
17367 * conf/i386-ieee1275.rmk: likewise
17368 * conf/i386-pc.rmk: likewise
17369 * conf/powerpc-ieee1275.rmk: likewise
17370 * conf/sparc64-ieee1275.rmk: likewise
17371
70b7f9fd 173722009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
17373
17374 Fix handling of string like \"hello\" and "a
17375 b"
17376
17377 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
17378 (grub_script_yylex): fix parsing of quoting, escaping and newline
17379
71c79a6b 173802009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
17381
dd74360c 17382 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 17383 handling
dd74360c 17384
0644f96c 173852009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 17386
17387 * util/grub-mkconfig.in: Fix parsing of --output option.
17388
e40893c3 173892009-06-12 Pavel Roskin <proski@gnu.org>
17390
17391 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
17392 genmk.rb don't need to be generated or installed.
17393
3a1acfe2 173942009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
17395
17396 * commands/i386/pc/drivemap_int13h.S: add more comments
17397
3a4575d4 173982009-06-11 Pavel Roskin <proski@gnu.org>
17399
0658e928 17400 * Makefile.in (uninstall): Uninstall manuals.
17401
ca0388f0 17402 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
17403 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
17404 and update-grub_lib in two places.
17405 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
17406
e3b27c39 17407 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
17408 a compiler warning.
17409
3a4575d4 17410 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
17411 `entry_lo' to fix variable shadowing.
17412
af1f4f55 174132009-06-11 Christian Franke <franke@computer.org>
17414
17415 * kern/misc.c (__enable_execute_stack): Add missing return type
17416 to prevent gcc warning.
17417
5225e649 174182009-06-11 Felix Zielcke <fzielcke@z-51.de>
17419
17420 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
17421
7d83bd47 174222009-06-11 Pavel Roskin <proski@gnu.org>
17423
c1cb63ba 17424 * Makefile.in: Don't rely on any scripts being executable.
17425 Always use $(SHELL) to run shell scripts.
17426
7d83bd47 17427 * configure.ac: Always define ___main if using -nostdlib. This
17428 fixes tests on Cygwin.
17429
948f48e7 174302009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
17431
17432 UDF fix
17433
7d83bd47 17434 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 17435 is in bytes and not in blocks
7d83bd47 17436
8ada9bc1 174372009-06-11 Pavel Roskin <proski@gnu.org>
17438
17439 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
17440 warning.
17441
25ad2323 174422009-06-11 Felix Zielcke <fzielcke@z-51.de>
17443
17444 * util/grub.d/30_os-prober.in: Fix a comment. Source
17445 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
17446 to set the root device. Place drivemap command in the generated
17447 chain entry.
17448
e65acb0c 174492009-06-11 Pavel Roskin <proski@gnu.org>
17450
17451 * configure.ac: Remove host_m32. Issues with 64-bit utilities
17452 have long been resolved.
17453
f285fe2d 174542009-06-11 Colin Watson <cjwatson@ubuntu.com>
17455
bd47b0b5 17456 * util/grub.d/10_linux.in: Capitalise "Linux".
17457
f285fe2d 17458 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
17459
a0c62e4e 174602009-06-11 Pavel Roskin <proski@gnu.org>
17461
b6783cb2 17462 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
17463 fix a gcc warning and ensure that the function won't ever exit.
17464
dde032e8 17465 * kern/i386/ieee1275/init.c: Add missing prototype for
17466 grub_stop_floppy().
17467
22cd079d 17468 * loader/ieee1275/multiboot2.c [__i386__]: Include
17469 grub/cpu/multiboot.h.
17470
a0c62e4e 17471 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
17472 casts to short - they are not portable and cause warnings. Fix
17473 use of uninitialized values in input_buf. Use ARRAY_SIZE.
17474
63963d17 174752009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
17476
17477 Drivemap fixes
17478
17479 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
17480 new function
17481 (grub_get_root_biosnumber_saved): new variable
17482 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
17483 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 17484 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 17485 %dx after the call if necessary
17486 * conf/common.rmk (pkglib_MODULES): remove boot.mod
17487 (boot_mod_SOURCES): remove
17488 (boot_mod_CFLAGS): remove
17489 (boot_mod_LDFLAGS): remove
17490 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
17491 (boot_mod_SOURCES): new variable
17492 (boot_mod_CFLAGS): likewise
17493 (boot_mod_LDFLAGS): likewise
17494 * conf/i386-efi.rmk: likewise
17495 * conf/i386-ieee1275.rmk: likewise
17496 * conf/i386-pc.rmk: likewise
17497 * conf/powerpc-ieee1275.rmk: likewise
17498 * conf/sparc64-ieee1275.rmk: likewise
17499 * conf/x86_64-efi.rmk: likewise
17500 * include/grub/i386/pc/biosnum.h: new file
17501 * lib/i386/pc/biosnum.c: likewise
17502 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
17503 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
17504 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 17505
33abf7ae 175062009-06-10 Pavel Roskin <proski@gnu.org>
17507
5ac35b35 17508 * io/gzio.c (test_header): Don't reuse one buffer for all data.
17509 Use separate variables. Read only the file size at the end, but
17510 not the checksum that we don't use.
17511
5c5215d5 17512 * kern/file.c (grub_file_read): Use void pointer for the buffer.
17513 Adjust all callers.
17514
27d5fef7 17515 * kern/ieee1275/openfw.c: Remove libc includes.
17516 * kern/ieee1275/cmain.c: Likewise.
17517 * include/grub/ieee1275/ieee1275.h: Likewise.
17518
33abf7ae 17519 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
17520 compiler warnings.
17521
19d50c2b 175222009-06-10 Felix Zielcke <fzielcke@z-51.de>
17523
17524 * Makefile.in: Remove all trailing whitespace.
17525 * conf/i386-pc.rmk: Likewise.
17526 * conf/powerpc-ieee1275.rmk: Likewise.
17527 * conf/sparc64-ieee1275.rmk: Likewise.
17528 * docs/grub.texi: Likewise.
17529 * docs/texinfo.tex: Likewise.
17530 * disk/fs_uuid.c: Likewise.
17531 * disk/lvm.c: Likewise.
17532 * disk/scsi.c: Likewise.
17533 * disk/ata.c: Likewise.
17534 * disk/ieee1275/ofdisk.c: Likewise.
17535 * disk/i386/pc/biosdisk.c: Likewise.
17536 * disk/host.c: Likewise.
17537 * disk/raid.c: Likewise.
17538 * disk/efi/efidisk.c: Likewise.
17539 * disk/usbms.c: Likewise.
17540 * disk/memdisk.c: Likewise.
17541 * disk/loopback.c: Likewise.
17542 * kern/powerpc/dl.c: Likewise.
17543 * kern/device.c: Likewise.
17544 * kern/dl.c: Likewise.
17545 * kern/sparc64/dl.c: Likewise.
17546 * kern/ieee1275/ieee1275.c: Likewise.
17547 * kern/term.c: Likewise.
17548 * kern/fs.c: Likewise.
17549 * kern/i386/dl.c: Likewise.
17550 * kern/i386/pc/startup.S: Likewise.
17551 * kern/i386/pc/init.c: Likewise.
17552 * kern/i386/pc/mmap.c: Likewise.
17553 * kern/i386/pc/lzo1x.S: Likewise.
17554 * kern/i386/ieee1275/init.c: Likewise.
17555 * kern/i386/realmode.S: Likewise.
17556 * kern/i386/tsc.c: Likewise.
17557 * kern/partition.c: Likewise.
17558 * kern/corecmd.c: Likewise.
17559 * kern/file.c: Likewise.
17560 * kern/efi/efi.c: Likewise.
17561 * kern/efi/init.c: Likewise.
17562 * kern/efi/mm.c: Likewise.
17563 * kern/main.c: Likewise.
17564 * kern/err.c: Likewise.
17565 * kern/env.c: Likewise.
17566 * kern/disk.c: Likewise.
17567 * kern/generic/millisleep.c: Likewise.
17568 * kern/generic/rtc_get_time_ms.c: Likewise.
17569 * kern/misc.c: Likewise.
17570 * kern/parser.c: Likewise.
17571 * genmk.rb: Likewise.
17572 * configure.ac: Likewise.
17573 * boot/i386/pc/diskboot.S: Likewise.
17574 * boot/i386/pc/pxeboot.S: Likewise.
17575 * boot/i386/pc/boot.S: Likewise.
17576 * boot/i386/pc/lnxboot.S: Likewise.
17577 * boot/i386/pc/cdboot.S: Likewise.
17578 * parttool/pcpart.c: Likewise.
17579 * video/readers/tga.c: Likewise.
17580 * video/video.c: Likewise.
17581 * video/bitmap.c: Likewise.
17582 * lib/envblk.c: Likewise.
17583 * lib/i386/setjmp.S: Likewise.
17584 * fs/xfs.c: Likewise.
17585 * fs/afs.c: Likewise.
17586 * fs/fat.c: Likewise.
17587 * fs/ntfs.c: Likewise.
17588 * fs/udf.c: Likewise.
17589 * fs/affs.c: Likewise.
17590 * fs/iso9660.c: Likewise.
17591 * fs/hfs.c: Likewise.
17592 * fs/fshelp.c: Likewise.
17593 * fs/ext2.c: Likewise.
17594 * fs/jfs.c: Likewise.
17595 * fs/reiserfs.c: Likewise.
17596 * fs/hfsplus.c: Likewise.
17597 * fs/minix.c: Likewise.
17598 * fs/cpio.c: Likewise.
17599 * fs/sfs.c: Likewise.
17600 * fs/ufs.c: Likewise.
17601 * efiemu/prepare.c: Likewise.
17602 * efiemu/loadcore_common.c: Likewise.
17603 * efiemu/runtime/efiemu.sh: Likewise.
17604 * efiemu/runtime/efiemu.S: Likewise.
17605 * efiemu/runtime/efiemu.c: Likewise.
17606 * efiemu/pnvram.c: Likewise.
17607 * efiemu/main.c: Likewise.
17608 * efiemu/i386/pc/cfgtables.c: Likewise.
17609 * efiemu/i386/loadcore64.c: Likewise.
17610 * efiemu/i386/loadcore32.c: Likewise.
17611 * efiemu/loadcore.c: Likewise.
17612 * efiemu/symbols.c: Likewise.
17613 * efiemu/mm.c: Likewise.
17614 * include/grub/autoefi.h: Likewise.
17615 * include/grub/datetime.h: Likewise.
17616 * include/grub/term.h: Likewise.
17617 * include/grub/hfs.h: Likewise.
17618 * include/grub/lvm.h: Likewise.
17619 * include/grub/i386/tsc.h: Likewise.
17620 * include/grub/i386/linux.h: Likewise.
17621 * include/grub/i386/xnu.h: Likewise.
17622 * include/grub/i386/efiemu.h: Likewise.
17623 * include/grub/i386/pc/biosdisk.h: Likewise.
17624 * include/grub/i386/pc/memory.h: Likewise.
17625 * include/grub/i386/pc/vbe.h: Likewise.
17626 * include/grub/parttool.h: Likewise.
17627 * include/grub/video.h: Likewise.
17628 * include/grub/memory.h: Likewise.
17629 * include/grub/fs.h: Likewise.
17630 * include/grub/partition.h: Likewise.
17631 * include/grub/xnu.h: Likewise.
17632 * include/grub/efi/api.h: Likewise.
17633 * include/grub/efi/pe32.h: Likewise.
17634 * include/grub/efi/memory.h: Likewise.
17635 * include/grub/multiboot.h: Likewise.
17636 * include/grub/usbdesc.h: Likewise.
17637 * include/grub/multiboot2.h: Likewise.
17638 * include/grub/acpi.h: Likewise.
17639 * include/grub/efiemu/efiemu.h: Likewise.
17640 * include/grub/disk.h: Likewise.
17641 * include/grub/ieee1275/ieee1275.h: Likewise.
17642 * include/grub/net.h: Likewise.
17643 * include/grub/machoload.h: Likewise.
17644 * include/grub/macho.h: Likewise.
17645 * include/multiboot.h: Likewise.
17646 * genmoddep.awk: Likewise.
17647 * normal/main.c: Likewise.
17648 * normal/menu_entry.c: Likewise.
17649 * normal/menu_viewer.c: Likewise.
17650 * normal/completion.c: Likewise.
17651 * normal/cmdline.c: Likewise.
17652 * normal/misc.c: Likewise.
17653 * normal/datetime.c: Likewise.
17654 * bus/usb/usbtrans.c: Likewise.
17655 * bus/usb/ohci.c: Likewise.
17656 * bus/usb/uhci.c: Likewise.
17657 * bus/usb/usb.c: Likewise.
17658 * mmap/efi/mmap.c: Likewise.
17659 * mmap/i386/pc/mmap_helper.S: Likewise.
17660 * mmap/i386/pc/mmap.c: Likewise.
17661 * mmap/i386/mmap.c: Likewise.
17662 * mmap/i386/uppermem.c: Likewise.
17663 * mmap/mmap.c: Likewise.
17664 * commands/acpi.c: Likewise.
17665 * commands/echo.c: Likewise.
17666 * commands/blocklist.c: Likewise.
17667 * commands/loadenv.c: Likewise.
17668 * commands/usbtest.c: Likewise.
17669 * commands/boot.c: Likewise.
17670 * commands/parttool.c: Likewise.
17671 * commands/search.c: Likewise.
17672 * commands/cat.c: Likewise.
17673 * commands/i386/pc/play.c: Likewise.
17674 * commands/i386/pc/drivemap.c: Likewise.
17675 * commands/i386/pc/vbeinfo.c: Likewise.
17676 * commands/i386/pc/acpi.c: Likewise.
17677 * commands/i386/pc/vbetest.c: Likewise.
17678 * commands/ls.c: Likewise.
17679 * commands/cmp.c: Likewise.
17680 * commands/test.c: Likewise.
17681 * commands/efi/acpi.c: Likewise.
17682 * commands/gptsync.c: Likewise.
17683 * commands/help.c: Likewise.
17684 * partmap/amiga.c: Likewise.
17685 * partmap/apple.c: Likewise.
17686 * partmap/acorn.c: Likewise.
17687 * partmap/pc.c: Likewise.
17688 * partmap/sun.c: Likewise.
17689 * partmap/gpt.c: Likewise.
17690 * script/sh/lexer.c: Likewise.
17691 * script/sh/function.c: Likewise.
17692 * font/font.c: Likewise.
17693 * font/font_cmd.c: Likewise.
17694 * loader/powerpc/ieee1275/linux.c: Likewise.
17695 * loader/efi/chainloader.c: Likewise.
17696 * loader/multiboot_loader.c: Likewise.
17697 * loader/macho.c: Likewise.
17698 * loader/i386/multiboot.c: Likewise.
17699 * loader/i386/linux.c: Likewise.
17700 * loader/i386/pc/linux.c: Likewise.
17701 * loader/i386/pc/multiboot2.c: Likewise.
17702 * loader/i386/pc/chainloader.c: Likewise.
17703 * loader/i386/pc/xnu.c: Likewise.
17704 * loader/i386/bsd_trampoline.S: Likewise.
17705 * loader/i386/efi/linux.c: Likewise.
17706 * loader/i386/multiboot_elfxx.c: Likewise.
17707 * loader/i386/bsd_helper.S: Likewise.
17708 * loader/i386/bsd.c: Likewise.
17709 * loader/i386/linux_trampoline.S: Likewise.
17710 * loader/i386/xnu_helper.S: Likewise.
17711 * loader/i386/xnu.c: Likewise.
17712 * loader/i386/bsd_pagetable.c: Likewise.
17713 * loader/i386/multiboot_helper.S: Likewise.
17714 * loader/xnu.c: Likewise.
17715 * loader/xnu_resume.c: Likewise.
17716 * io/gzio.c: Likewise.
17717 * term/efi/console.c: Likewise.
17718 * term/terminfo.c: Likewise.
17719 * term/ieee1275/ofconsole.c: Likewise.
17720 * term/i386/pc/serial.c: Likewise.
17721 * term/i386/pc/vesafb.c: Likewise.
17722 * term/i386/pc/vga.c: Likewise.
17723 * term/usb_keyboard.c: Likewise.
17724 * term/gfxterm.c: Likewise.
17725 * aclocal.m4: Likewise.
17726 * util/lvm.c: Likewise.
17727 * util/grub.d/30_os-prober.in: Likewise.
17728 * util/grub.d/10_hurd.in: Likewise.
17729 * util/console.c: Likewise.
17730 * util/grub-macho2img.c: Likewise.
17731 * util/grub-probe.c: Likewise.
17732 * util/hostfs.c: Likewise.
17733 * util/i386/pc/grub-mkimage.c: Likewise.
17734 * util/i386/pc/grub-setup.c: Likewise.
17735 * util/i386/efi/grub-mkimage.c: Likewise.
17736 * util/grub-mkconfig.in: Likewise.
17737 * util/raid.c: Likewise.
17738 * util/resolve.c: Likewise.
17739 * util/grub-mkdevicemap.c: Likewise.
17740 * util/grub-emu.c: Likewise.
17741 * util/getroot.c: Likewise.
17742 * util/hostdisk.c: Likewise.
17743 * util/usb.c: Likewise.
17744 * util/grub-editenv.c: Likewise.
17745 * util/misc.c: Likewise.
17746
d2d49665 177472009-06-10 Felix Zielcke <fzielcke@z-51.de>
17748
17749 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
17750 `genparttoollist.sh'.
17751 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
17752 Add `*.sh' to the list find searches for and change `mdate.sh'
17753 to `mdate-sh'.
17754
fe052e37 177552009-06-10 Pavel Roskin <proski@gnu.org>
17756
2763ac18 17757 * include/grub/multiboot2.h: Provide compatibility defines for
17758 multiboot2.h.
17759 * include/multiboot2.h: Include stdint.h only if needed, using
17760 angle brackets.
17761 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
17762 grub/multiboot2.h.
17763 * loader/ieee1275/multiboot2.c: Likewise.
17764 * loader/multiboot2.c: Likewise.
17765 * loader/multiboot_loader.c: Likewise.
17766
437e6adc 17767 * configure.ac: Use -nostdlib when probing for the target. It
17768 should not be required to have libc for the target.
17769
06a6836c 17770 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
17771 they fail without libc headers for the target.
17772 * include/grub/powerpc/libgcc.h: Use weak attribute for all
17773 exports.
17774 * include/grub/sparc64/libgcc.h: Likewise. Don't use
17775 preprocessor conditionals.
17776
fe052e37 17777 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
17778 build system doesn't need to be aware of the tar.c internals.
17779
afd22553 177802009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 17781
afd22553 17782 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 17783
6b787c4f 177842009-06-09 Robert Millan <rmh.grub@aybabtu.com>
17785
17786 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
17787 disk limit to 26 for IDE, Virtio, Xen and SCSI.
17788
177892009-06-09 Felix Zielcke <fzielcke@z-51.de>
17790
17791 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 17792 aren't available if ata.mod gets used.
6b787c4f 17793
473d1e45 177942009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 17795
473d1e45 17796 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 17797 initialising controller.
473d1e45 17798 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 17799
255a27d4 178002009-06-08 Felix Zielcke <fzielcke@z-51.de>
17801
17802 * util/i386/pc/grub-install.in: Add a parameter --disk-module
17803 to choose between ata and biosdisk module on i386-pc.
17804
473d1e45 178052009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 17806
d55842d8 17807 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
17808 Subclass and Programming Interface fields in terms of the 3 byte
17809 Class Code register.
17810 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
17811
fa5db0b1 17812 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
17813 interface is OHCI. Add grub_dprintf for symmetry with
17814 bus/usb/uhci.c.
17815 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
17816 interface is UHCI. Add interf variable for programming
17817 interface. Print interface with class/subclass.
17818
c0947beb 17819 * bus/usb/ohci.c: Set interf with correct field.
17820
69da8877 17821 * bus/usb/uhci.c: Remove unneeded doubled lines.
17822 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
17823 Remove whitespace inside comment.
17824
9e172e30 178252009-06-08 Robert Millan <rmh.grub@aybabtu.com>
17826
17827 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
17828 as fallback an equivalent option without depth.
17829
de65ee2b 178302009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
17831
17832 Not fail if unable to retrieve C/H/S on LBA disks
17833
473d1e45 17834 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 17835 if unable to retrieve C/H/S on LBA disks
17836
b57ea2c9 178372009-06-08 Pavel Roskin <proski@gnu.org>
17838
17839 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
17840 about aliasing.
17841
af361263 178422009-06-08 Felix Zielcke <fzielcke@z-51.de>
17843
17844 * Makefile.in (uninstall): Remove all $lib_DATA files.
17845
4c9ec6b3 178462009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
17847
17848 Bugfix: install on partitionless device
17849
17850 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
17851 is a whole disk
17852
e76fc924 178532009-06-08 Felix Zielcke <fzielcke@z-51.de>
17854
17855 * Makefile.in (uninstall): Remove all $include_DATA files.
17856
ba5a0d05 178572009-06-08 Felix Zielcke <fzielcke@z-51.de>
17858
17859 * commands/true.c: New file. Implement the true and false commands.
17860 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
17861 (true_mod_SOURCES): New variable.
17862 (true_mod_CFLAGS): Likewise.
17863 (true_mod_LDFLAGS): Likewise.
17864
c8048e32 178652009-06-05 Colin D Bennett <colin@gibibit.com>
17866
17867 Optimized font character lookup using binary search instead of linear
17868 search. Fonts now are required to have the character index ordered by
17869 code point.
17870
17871 * font/font.c (load_font_index): Verify that fonts have ordered
17872 character indices.
17873 (find_glyph): Use binary search instead of linear search to find a
17874 character in a font.
17875
408305be 178762009-06-05 Michael Scherer <misc@mandriva.org>
17877
17878 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
17879 uses case sensitive btree.
17880 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
17881 only for case insensitive filesystems.
17882
8ee1e0d9 178832009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
17884
17885 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
17886 * conf/common.rmk (search_mod_CFLAGS): likewise
17887
a9966eb1 178882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17889
473d1e45 17890 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 17891 compensate a compiler bug
17892
9e7100fb 178932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17894
473d1e45 17895 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 17896 instead of '\b'
473d1e45 17897
ede21d71 178982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17899
17900 Definitions for creating asm symbols with Apple's CC
17901
17902 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
17903 [APPLE_CC] (VARIABLE): likewise
17904
9dbf7653 179052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17906
17907 Disable lnxboot.img when compiled
17908 with Apple's CC
17909
17910 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
17911 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
17912 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
17913 [! APPLE_CC] (CODE_LENG): skip
17914 [! APPLE_CC] (setup_sects): likewise
17915 [! APPLE_CC]: skip filling
473d1e45 17916
e93cdc3d 179172009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17918
17919 Address in trampolines based on 32-bit registers when compiled
17920 with Apple's CC
17921
473d1e45 17922 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 17923 for addresses
17924 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
17925
6c688477 179262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17927
17928 Avoid aliases when compiling with Apple's CC for PCBIOS machine
17929
17930 * kern/misc.c [APPLE_CC] (memcpy): new function
17931 [APPLE_CC] (memmove): likewise
17932 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 17933 (memcpy): define alias conditionally on !APPLE_CC
6c688477 17934 (memset): likewise
17935 (abort): likewise
17936 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
17937 APPLE_CC are defined
17938 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
17939 (grub_assert_fail): make prototype conditional
17940
e37ffc5c 179412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17942
17943 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
17944
473d1e45 17945 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
17946 grub-macho2img
e37ffc5c 17947 (CLEANFILES): add grub-macho2img
17948 (grub_macho2img_SOURCES): new variable
17949 * kern/i386/pc/startup.S (bss_start): new variable
17950 (bss_end): likewise
17951 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
17952 * util/grub-macho2img.c: new file
17953
cf00df31 179542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17955
17956 Use objconv when compiling with Apple's CC
17957
17958 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
17959 (efiemu64.o): likewise
17960 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
17961 when compiling with Apple's CC
17962 (efiemu64_s.o): likewise
17963 * configure.ac: check for objconv when compiling with Apple's CC
17964 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 17965
d119a20c 179662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17967
17968 Define segment as well as section when compiling with
17969 Apple's CC
17970
17971 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
17972 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
17973 (efiemu_convert_pointer): likewise
17974 (efiemu_set_virtual_address_map): likewise
17975 (efiemu_convert_pointer): likewise
17976 (efiemu_getcrc32): likewise
17977 (init_crc32_table): likewise
17978 (reflect): likewise
17979 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
17980 (GRUB_MOD_DEP): likewise
473d1e45 17981
c8600122 179822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17983
17984 Allow a compilation without -mcmodel=large
17985
17986 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
17987 when compiled without -mcmodel=large
473d1e45 17988 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 17989 without -mcmodel=large
473d1e45 17990 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 17991 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 17992
e8df1d4e 179932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
17994
17995 Remove nested functions in efiemu core
17996
17997 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 17998
cc6c3ac1 179992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18000
18001 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
18002
18003 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
18004 temporary storage
473d1e45 18005 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
18006 using Apple's CC
cc6c3ac1 18007 (grub_cpu_is_tsc_supported): likewise
18008 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 18009
3e325901 180102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18011
18012 Absolute addressing through constant with Apple's cc
18013
18014 * kern/i386/pc/startup.S: Define necessary constants
18015 and address through it when using ABS with Apple's CC
18016 * boot/i386/pc/diskboot.S: likewise
18017 * boot/i386/pc/boot.S: likewise
18018 * boot/i386/pc/lnxboot.S: likewise
18019 * boot/i386/pc/cdboot.S: likewise
18020 * mmap/i386/pc/mmap_helper.S: likewise
18021 * commands/i386/pc/drivemap_int13h.S: likewise
18022
2b167a72 180232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18024
18025 Check if compiler is apple cc
18026
18027 * Makefile.in (ASFLAGS): new variable
18028 (TARGET_ASFLAGS): likewise
18029 (TARGET_MODULE_FORMAT): likewise
18030 (TARGET_APPLE_CC): likewise
18031 (OBJCONV): likewise
18032 (TARGET_IMG_CFLAGS): likewise
18033 (TARGET_CPPFLAGS): add includedir
18034 * configure.ac: call grub_apple_cc and grub_apple_target_cc
18035 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
18036 Check for linker script only if compiler isn't Apple's CC
18037 (TARGET_MODULE_FORMAT): set
18038 (TARGET_APPLE_CC): likewise
18039 (TARGET_ASFLAGS): likewise
18040 (ASFLAGS): likewise
18041 Check for objcopy only if compiler isn't Apple's CC
18042 Check for BSS symbol only if compiler isn't Apple's CC
18043 * genmk.rb: adapt nm options if we use Apple's utils
18044 * aclocal.m4 (grub_apple_cc): new test
18045 (grub_apple_target_cc): likewise
473d1e45 18046
fb14123e 180472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18048
18049 Simplify sed expressions and improve awk
18050
18051 * Makefile.in (install-local): simplify sed expression
18052 * gencmdlist.sh: likewise
18053 * genmoddep.awk: avoid adding module as a dependency of itself
18054
5b889789 180552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18056
18057 Add missing start symbols
18058
18059 * boot/i386/pc/boot.S: add start
fb14123e 18060 * boot/i386/pc/pxeboot.S: likewise
473d1e45 18061
fd2bf2e3 180622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18063
18064 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 18065
18066 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 18067 (relocate_addresses): consider both r_addend and value at offset
18068 (make_mods_section): zerofill modinfo and header
18069 (convert_elf): write prefix here
473d1e45 18070
5389763d 180712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18072
18073 Use .asciz instead of .string
18074
18075 * i386/pc/diskboot.S: use .asciz instead of .string
18076 * i386/pc/boot.S: likewise
18077 * include/grub/dl.h (GRUB_MOD_DEP): likewise
18078 (GRUB_MOD_NAME): likewise
473d1e45 18079
3eb5ed4e 180802009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18081
18082 gfxpayload support
18083
18084 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
18085 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
18086 (grub_video_setup): remove
18087 (grub_video_set_mode): new prototype
18088 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
18089 (vid_mode): remove
18090 (linux_vesafb_res): compile only on PCBIOS
18091 (grub_linux_boot): support gfxpayload
18092 * loader/i386/pc/xnu.c (video_hook): new function
18093 (grub_xnu_set_video): support gfxpayload
18094 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
18095 (DEFAULT_VIDEO_HEIGHT): likewise
18096 (DEFAULT_VIDEO_FLAGS): likewise
18097 (DEFAULT_VIDEO_MODE): new definition
18098 (video_hook): new function
18099 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 18100 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 18101 loading xnu
18102 * video/video.c (grub_video_setup): removed
473d1e45 18103 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 18104 grub_video_setup
18105
4b0e1143 181062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18107
18108 Avoid calling biosdisk in drivemap
18109
18110 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
18111 (revparse_biosdisk): likewise
18112 (list_mappings): derive name from id directly
18113 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 18114
fda6cb98 181152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
18116
18117 Script fixes
18118
18119 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
18120 (grub_lexer_param): add tokenonhold
18121 (grub_script_create_cmdline): remove cmdline. All callers updated
18122 (grub_script_function_create): make functionname
18123 grub_script_arg. All callers updated
18124 (grub_script_execute_argument_to_string): new prototype
18125 * kern/parser.c (state_transitions): reorder
18126 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 18127 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 18128 make global
18129 (grub_script_execute_cmdline): use new format
18130 * script/sh/function.c (grub_script_function_create): make functionname
18131 grub_script_arg. All callers updated
473d1e45 18132 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 18133 (grub_script_yylex): remove
18134 (grub_script_yylex2): renamed to ...
18135 (grub_script_yylex): ...renamed
18136 parse the expressions like a${b}c
18137 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
18138 (GRUB_PARSER_TOKEN_VAR): remove
18139 (GRUB_PARSER_TOKEN_NAME): likewise
18140 ("if"): declare as typeless
18141 ("while"): likewise
18142 ("function"): likewise
18143 ("else"): likewise
18144 ("then"): likewise
18145 ("fi"): likewise
18146 (text): remove
18147 (argument): likewise
18148 (script): accept empty scripts and make exit on error
18149 (arguments): use GRUB_PARSER_TOKEN_ARG
18150 (function): likewise
18151 (command): move error handling to script
18152 (menuentry): move grub_script_lexer_ref before
473d1e45 18153 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 18154 argument. All callers updated
18155
f4448a07 181562009-06-04 Robert Millan <rmh.grub@aybabtu.com>
18157
18158 Prevent GRUB from probing floppies during boot.
18159
18160 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
18161 * commands/search.c (options): Add --no-floppy.
18162 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
18163 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
18164 --no-floppy when searching for UUIDs.
18165
2bf5885a 181662009-06-04 Robert Millan <rmh.grub@aybabtu.com>
18167
18168 Simplify the code duplication in commands/search.c.
18169
18170 * commands/search.c (search_label, search_fs_uuid): Merge into ...
18171 (search_fs): ... this. Update all users.
18172
f6fd460a 181732009-06-03 Felix Zielcke <fzielcke@z-51.de>
18174
18175 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
18176
cbb3c83e 181772009-05-28 Pavel Roskin <proski@gnu.org>
18178
57788cfd 18179 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
18180 Remove the original symlink explicitly.
18181
cbb3c83e 18182 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
18183 just one slash. That's how grub_fshelp_find_file() does it.
18184
cd0d5e30 181852009-05-26 Pavel Roskin <proski@gnu.org>
18186
f0f8bbe2 18187 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
18188 to `str'.
18189
cd0d5e30 18190 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
18191 possibly unused.
18192
8c2cab51 181932009-05-25 Christian Franke <franke@computer.org>
18194
18195 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
18196 register.
18197 (grub_atapi_identify): Add wait after drive select.
18198 (grub_ata_identify): Do more strict status register check before
18199 calling grub_atapi_identify (). Suppress error message if status
18200 register is 0x00 after command failure. Add status register
18201 check after PIO read to avoid bogus identify due to stuck DRQ.
18202 Thanks to Pavel Roskin for testing.
18203 (grub_device_initialize): Remove unsafe status register check.
18204 Thanks to 'phcoder' for problem report and patch.
18205 Prevent sign extension in debug message.
18206
230c0ad6 182072009-05-23 Colin D Bennett <colin@gibibit.com>
18208
18209 Cleaned up `include/grub/normal.h'. Grouped prototypes by
18210 definition file, and functions defined in `normal/menu.c' have had
18211 their prototypes moved to `include/grub/menu.h' for consistency.
18212
18213 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
18214 from normal.h.
18215 (grub_menu_get_entry): Likewise.
18216 (grub_menu_get_timeout): Likewise.
18217 (grub_menu_set_timeout): Likewise.
18218 (grub_menu_execute_entry): Likewise.
18219 (grub_menu_execute_with_fallback): Likewise.
18220 (grub_menu_entry_run): Likewise.
18221
18222 * include/grub/normal.h: Re-ordered and grouped function
18223 prototypes by file that the function is defined in.
18224 (grub_menu_execute_callback): Removed; moved to menu.h.
18225 (grub_menu_get_entry): Likewise.
18226 (grub_menu_get_timeout): Likewise.
18227 (grub_menu_set_timeout): Likewise.
18228 (grub_menu_execute_entry): Likewise.
18229 (grub_menu_execute_with_fallback): Likewise.
18230 (grub_menu_entry_run): Likewise.
18231 (grub_menu_addentry): Renamed from this ...
18232 (grub_normal_add_menu_entry): ... to this.
18233
18234 * normal/main.c (grub_menu_addentry): Renamed from this ...
18235 (grub_normal_add_menu_entry): ... to this.
18236
18237 * script/sh/execute.c (grub_script_execute_menuentry): Update
18238 reference to renamed grub_menu_addentry function.
18239
861f03a5 182402009-05-23 Felix Zielcke <fzielcke@z-51.de>
18241
18242 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
18243
96b1619a 182442009-05-22 Pavel Roskin <proski@gnu.org>
18245
bf6a5fb2 18246 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
18247 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
18248 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
18249 compiling for the i386 targets, but not for the utilities.
18250
96b1619a 18251 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
18252 to grub_uint8_t.
18253 (grub_root_drive): Likewise.
18254 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
18255 remove alignment.
18256 (grub_root_drive): Change size to byte.
18257 (grub_start_addr): Remove.
18258 (grub_end_addr): Likewise.
18259 (grub_apm_bios_info): Likewise.
18260
b729776b 182612009-05-21 Felix Zielcke <fzielcke@z-51.de>
18262
18263 * normal/i386: Remove.
18264 * normal/powerpc: Likewise.
18265 * normal/sparc64: Likewise.
18266 * normal/x86_64: Likewise.
18267
0a15ce80 182682009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
18269
18270 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 18271 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 18272 * loader/i386/xnu_helper.S: Likewise
d6da58e6 18273
33db9015 182742009-05-18 Colin D Bennett <colin@gibibit.com>
18275
d6da58e6 18276 Display error messages when parsing a Lua statement fails.
18277 Previously, executing a syntactically invalid statement like
18278 ")foo" or "bar;" would silently fail.
33db9015 18279
18280 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 18281 (grub_lua_parse_line): Improved reporting of Lua parser and
18282 execution errors.
33db9015 18283
46422c89 182842009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18285
18286 Remove -Werror which causes build to fail on some systems
18287
18288 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
18289 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
18290 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 18291
22f53a96 182922009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
18293
18294 trampoline for linux on 64-bit platform
18295
18f547ad 18296 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
18297 loader/i386/efi/linux_trampoline.S
18298 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 18299 declaration
d6da58e6 18300 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
18301 here
22f53a96 18302 * loader/i386/linux_trampoline.S: moved here
d6da58e6 18303 * loader/i386/efi/linux.c (allocate_pages): reserve space for
18304 trampoline
22f53a96 18305 (jumpvector): removed
18306 (grub_linux_trampoline_start): new declaration
18307 (grub_linux_trampoline_end): likewise
18308 (grub_linux_boot): use trampoline when on 64-bit platform
18309 * loader/i386/linux.c: likewise
18310
cb5a0f40 183112009-05-16 Pavel Roskin <proski@gnu.org>
18312
18313 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
18314 const to avoid a warning.
18315 (grub_lua_setenv): Likewise.
18316 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
18317 lmsg to fix a warning.
18318
334f2c28 183192009-05-16 Felix Zielcke <fzielcke@z-51.de>
18320
18321 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 18322 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18323 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
18324 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18325 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
18326 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
18327 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
18328 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 18329
59e5d3ec 183302009-05-16 Felix Zielcke <fzielcke@z-51.de>
18331
18332 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
18333
9d87a1ba 183342009-05-16 Bean <bean123ch@gmail.com>
18335
18336 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
18337 (lua_mod_SOURCES): New variable.
18338 (lua_mod_CFLAGS): Likewise.
18339 (lua_mod_LDFLAGS): Likewise.
18340
18341 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
18342 (setjmp_mod_SOURCES): New variable.
18343 (setjmp_mod_CFLAGS): Likewise.
18344 (setjmp_LDFLAGS): Likewise.
18345
18346 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
18347 (setjmp_mod_SOURCES): New variable.
18348 (setjmp_mod_CFLAGS): Likewise.
18349 (setjmp_LDFLAGS): Likewise.
18350
18351 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
18352 (setjmp_mod_SOURCES): New variable.
18353 (setjmp_mod_CFLAGS): Likewise.
18354 (setjmp_LDFLAGS): Likewise.
18355
18356 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
18357 (setjmp_mod_SOURCES): New variable.
18358 (setjmp_mod_CFLAGS): Likewise.
18359 (setjmp_LDFLAGS): Likewise.
18360
18361 * normal/i386/setjmp.S: Moved from here ...
18362 * lib/i386/setjmp.S: ... Moved here
18363 * normal/x86_64/setjmp.S: Moved from here ...
18364 * lib/x86_64/setjmp.S: ... Moved here
18365 * normal/powerpc/setjmp.S: Moved from here ...
18366 * lib/powerpc/setjmp.S: ... Moved here
18367 * normal/sparc64/setjmp.S: Moved from here ...
18368 * lib/sparc64/setjmp.S: ... Moved here
18369
18370 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
18371 returns_twice in mingw.
18372
18373 * script/lua/grub_lib.c: New file.
18374 * script/lua/grub_lib.h: Likewise.
18375 * script/lua/grub_lua.h: Likewise.
18376 * script/lua/grub_main.c: Likewise.
18377 * script/lua/lapi.c: Likewise.
18378 * script/lua/lapi.h: Likewise.
18379 * script/lua/lauxlib.c: Likewise.
18380 * script/lua/lauxlib.h: Likewise.
18381 * script/lua/lbaselib.c: Likewise.
18382 * script/lua/lcode.c: Likewise.
18383 * script/lua/lcode.h: Likewise.
18384 * script/lua/ldblib.c: Likewise.
18385 * script/lua/ldebug.c: Likewise.
18386 * script/lua/ldebug.h: Likewise.
18387 * script/lua/ldo.c: Likewise.
18388 * script/lua/ldo.h: Likewise.
18389 * script/lua/ldump.c: Likewise.
18390 * script/lua/lfunc.c: Likewise.
18391 * script/lua/lfunc.h: Likewise.
18392 * script/lua/lgc.c: Likewise.
18393 * script/lua/lgc.h: Likewise.
18394 * script/lua/linit.c: Likewise.
18395 * script/lua/liolib.c: Likewise.
18396 * script/lua/llex.c: Likewise.
18397 * script/lua/llex.h: Likewise.
18398 * script/lua/llimits.h: Likewise.
18399 * script/lua/lmathlib.c: Likewise.
18400 * script/lua/lmem.c: Likewise.
18401 * script/lua/lmem.h: Likewise.
18402 * script/lua/loadlib.c: Likewise.
18403 * script/lua/lobject.c: Likewise.
18404 * script/lua/lobject.h: Likewise.
18405 * script/lua/lopcodes.c: Likewise.
18406 * script/lua/lopcodes.h: Likewise.
18407 * script/lua/loslib.c: Likewise.
18408 * script/lua/lparser.c: Likewise.
18409 * script/lua/lparser.h: Likewise.
18410 * script/lua/lstate.c: Likewise.
18411 * script/lua/lstate.h: Likewise.
18412 * script/lua/lstring.c: Likewise.
18413 * script/lua/lstring.h: Likewise.
18414 * script/lua/lstrlib.c: Likewise.
18415 * script/lua/ltable.c: Likewise.
18416 * script/lua/ltable.h: Likewise.
18417 * script/lua/ltablib.c: Likewise.
18418 * script/lua/ltm.c: Likewise.
18419 * script/lua/ltm.h: Likewise.
18420 * script/lua/lua.h: Likewise.
18421 * script/lua/luaconf.h: Likewise.
18422 * script/lua/lualib.h: Likewise.
18423 * script/lua/lundump.c: Likewise.
18424 * script/lua/lundump.h: Likewise.
18425 * script/lua/lvm.c: Likewise.
18426 * script/lua/lvm.h: Likewise.
18427 * script/lua/lzio.c: Likewise.
18428 * script/lua/lzio.h: Likewise.
18429
5e898c9d 184302009-05-16 Bean <bean123ch@gmail.com>
18431
18432 * include/grub/kernel.h (grub_module_header_types): Add type
18433 OBJ_TYPE_CONFIG.
18434
18435 * kern/main.c (grub_load_config): New function.
18436 (grub_main): Call grub_load_config to read boot config.
18437
18438 * grub-mkimage (generate_image): New parameter config_path.
18439 (options): New option --config.
18440 (main): Parse --config option, and pass it to generate_image.
18441
cf353a47 184422009-05-14 Christian Franke <franke@computer.org>
18443
18444 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
18445 This fixes build on Cygwin.
18446
3834887f 184472009-05-14 Pavel Roskin <proski@gnu.org>
18448
18449 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
18450 jump. This saves two bytes, so the typical case of 2 swapped
18451 drives would fit 32 bytes.
18452
8090fc01 184532009-05-13 Pavel Roskin <proski@gnu.org>
18454
ac963883 18455 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
18456 grub_uint32_t to avoid a warning.
18457
8090fc01 18458 * loader/i386/linux.c (allocate_pages): When assigning
18459 real_mode_mem, cast through grub_size_t to fix a warning. The
18460 code already makes sure that the value would fit a pointer.
18461 (grub_linux_setup_video): Cast render_target->data to
18462 grub_size_t to fix a warning.
18463
18f547ad 184642009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 18465
18466 * commands/i386/pc/drivemap.c: New file - implement drivemap
18467 command.
18468 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
18469 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
18470
6f6a8b28 184712009-05-13 Pavel Roskin <proski@gnu.org>
18472
18473 * util/i386/pc/grub-setup.c (setup): Remove unused variable
18474 embedding_area_exists.
18475
15fbf4c4 184762009-05-13 Robert Millan <rmh.grub@aybabtu.com>
18477
18478 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
18479 it easier to understand / work with.
59978c8a 18480 Improve warning messages for cases where there's no embedding area,
18481 or when it is too small (or core.img too large).
15fbf4c4 18482
238e871f 184832009-05-13 Pavel Roskin <proski@gnu.org>
18484
0ab3a9a4 18485 * loader/i386/pc/multiboot2.c: Add necessary includes for
18486 grub_multiboot2_real_boot().
18487
a2c8c5f8 18488 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
18489 PX record is always little-endian. We only need the lower 2
18490 bytes of the mode.
18491
faec96af 18492 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
18493 facilitate code reuse.
18494 (grub_cpio_mount): Use "struct head", not a char buffer. This
18495 fixes a warning reported by gcc 4.4.
18496
238e871f 18497 * kernel/disk.c (grub_disk_read): Use void pointer for the
18498 buffer.
18499 (grub_disk_write): Use const void pointer for the buffer.
18500 Adjust all callers. Remove unnecessary casts.
18501
901d2f0c 185022009-05-10 Robert Millan <rmh.grub@aybabtu.com>
18503
18504 * util/i386/pc/grub-install.in: Update copyright year.
18505
18f547ad 185062009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 18507
18508 gptsync
18509
18510 * commands/gptsync.c: new file
18511 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
18512 (gptsync_mod_SOURCES): new variable
18513 (gptsync_mod_CFLAGS): likewise
18514 (gptsync_mod_LDFLAGS): likewise
18f547ad 18515 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 18516 new definition
18517 (GRUB_PC_PARTITION_TYPE_HFS): likewise
18518 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
18519 * conf/i386-ieee1275.rmk: likewise
18520 * conf/i386-pc.rmk: likewise
18521 * conf/powerpc-ieee1275.rmk: likewise
18522
b4ba690a 185232009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
18524
18525 Fixed grub-emu
18526
18527 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
18528 (grub_dl_ref): likewise
18529
317e1a44 185302009-05-08 Robert Millan <rmh.grub@aybabtu.com>
18531
18532 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
18533 split in two functions (one for msdos and one for gpt).
18534
041b8094 185352009-05-08 Pavel Roskin <proski@gnu.org>
18536
752473c2 18537 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
18538 not modified.
18539
041b8094 18540 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
18541 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
18542 Initialize them with -1. Add sanity check for bad1. Eliminate
18543 nerr variable.
18544
172800ce 185452009-05-08 David S. Miller <davem@davemloft.net>
18546
18547 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
18548
29aa5e81 185492009-05-06 Robert Millan <rmh.grub@aybabtu.com>
18550
18551 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 18552 existence.
29aa5e81 18553
96613b62 185542009-05-05 Felix Zielcke <fzielcke@z-51.de>
18555
18556 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 18557 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 18558
eef73c8a 185592009-05-05 David S. Miller <davem@davemloft.net>
18560
18561 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
18562
119494b5 185632009-05-05 Pavel Roskin <proski@gnu.org>
18564
18565 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
18566 of grub_dl_ref() and grub_dl_unref().
18567 * commands/parttool.c: Remove preprocessor conditionals around
18568 grub_dl_ref() and grub_dl_unref().
18569 * fs/affs.c: Likewise.
18570 * fs/afs.c: Likewise.
18571 * fs/cpio.c: Likewise.
18572 * fs/ext2.c: Likewise.
18573 * fs/fat.c: Likewise.
18574 * fs/hfs.c: Likewise.
18575 * fs/hfsplus.c: Likewise.
18576 * fs/iso9660.c: Likewise.
18577 * fs/jfs.c: Likewise.
18578 * fs/minix.c: Likewise.
18579 * fs/ntfs.c: Likewise.
18580 * fs/reiserfs.c: Likewise.
18581 * fs/sfs.c: Likewise.
18582 * fs/udf.c: Likewise.
18583 * fs/ufs.c: Likewise.
18584 * fs/xfs.c: Likewise.
18585 * include/grub/dl.h: Likewise.
18586 * loader/xnu.c: Likewise.
18587
de5fd76e 185882009-05-04 Pavel Roskin <proski@gnu.org>
18589
18590 * commands/acpi.c: Remove unused variable my_mod.
18591 * partmap/amiga.c: Likewise.
18592 * partmap/apple.c: Likewise.
18593 * partmap/gpt.c: Likewise.
18594 * partmap/pc.c: Likewise.
18595 * partmap/sun.c: Likewise.
18596 * term/gfxterm.c: Likewise.
18597 * term/i386/pc/vesafb.c: Likewise.
18598 * term/i386/pc/vga.c: Likewise.
18599
983598ad 186002009-05-04 David S. Miller <davem@davemloft.net>
18601
18602 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
18603 pointer args to grub_ieee1275_get_property().
18604
8aadec43 18605 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
18606
9554b15e 18607 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
18608 devices, and do not traverse down under controller nodes.
18609
67e23c90 18610 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
18611 (grub_ofdisk_open): Use it to un-escape "," characters.
18612 * kern/disk.c (find_part_sep): New.
18613 (grub_disk_open): Use it to find the first non-escaped ','
18614 character in the disk name.
18615 * util/ieee1275/devicemap.c (escape_of_path): New.
18616 (grub_util_emit_devicemap_entry): Use it.
18617 * util/sparc64/ieee1275/grub-install.in: Update script to
18618 strip partition specifiers properly by not triggering on
18619 '\' escaped ',' characters.
18620
74bfdd2f 186212009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18622
18623 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
18624 to 0x300.
18625 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
18626 resolutions.
18627 (linux_vesafb_modes): Add a lot of additional modes to the list (based
18628 on documentation from Wikipedia).
18629
4241d2b1 186302009-05-04 Pavel Roskin <proski@gnu.org>
18631
18632 * disk/ata.c: Spelling fixes.
18633 * disk/raid.c: Likewise.
18634 * disk/usbms.c: Likewise.
18635 * disk/dmraid_nvidia.c: Likewise.
18636 * kern/ieee1275/openfw.c: Likewise.
18637 * kern/ieee1275/init.c: Likewise.
18638 * kern/ieee1275/cmain.c: Likewise.
18639 * boot/i386/pc/cdboot.S: Likewise.
18640 * video/readers/png.c: Likewise.
18641 * video/i386/pc/vbe.c: Likewise.
18642 * fs/udf.c: Likewise.
18643 * fs/hfs.c: Likewise.
18644 * fs/reiserfs.c: Likewise.
18645 * efiemu/runtime/efiemu.c: Likewise.
18646 * efiemu/main.c: Likewise.
18647 * efiemu/mm.c: Likewise.
18648 * include/grub/elf.h: Likewise.
18649 * include/grub/xnu.h: Likewise.
18650 * include/grub/usbdesc.h: Likewise.
18651 * include/grub/usb.h: Likewise.
18652 * include/grub/script_sh.h: Likewise.
18653 * include/grub/lib/LzmaEnc.h: Likewise.
18654 * include/grub/efiemu/efiemu.h: Likewise.
18655 * include/grub/command.h: Likewise.
18656 * normal/menu.c: Likewise.
18657 * normal/main.c: Likewise.
18658 * normal/datetime.c: Likewise.
18659 * bus/usb/uhci.c: Likewise.
18660 * mmap/i386/uppermem.c: Likewise.
18661 * mmap/mmap.c: Likewise.
18662 * commands/acpi.c: Likewise.
18663 * commands/test.c: Likewise.
18664 * partmap/apple.c: Likewise.
18665 * font/font.c: Likewise.
18666 * loader/sparc64/ieee1275/linux.c: Likewise.
18667 * loader/macho.c: Likewise.
18668 * loader/i386/bsd_trampoline.S: Likewise.
18669 * loader/i386/bsd.c: Likewise.
18670 * loader/xnu.c: Likewise.
18671 * term/i386/pc/vesafb.c: Likewise.
18672 * term/usb_keyboard.c: Likewise.
18673 * util/resolve.c: Likewise.
18674 * util/getroot.c: Likewise.
18675
0cfc0083 186762009-05-04 Felix Zielcke <fzielcke@z-51.de>
18677
18678 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
18679
7c1d00cd 186802009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18681
18682 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
18683 build error.
18684
b01f0548 186852009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18686
18687 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
18688 parameter only available on BIOS.
18689
ecc3eb22 186902009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18691
18692 Removed wrong semicolon in declaration
18693
18694 * grub/misc.h (grub_dprintf): remove semicolon
18695
112972a9 186962009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18697
18698 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
18699 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
18700 is done by grub_cmd_linux() now).
18701 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
18702 restore video to text mode.
18703 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
18704 indicates lack of "vga=" parameter. "vga=0" is mapped to
18705 `GRUB_LINUX_VID_MODE_NORMAL'.
18706
afd5c115 187072009-05-04 Felix Zielcke <fzielcke@z-51.de>
18708
18709 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
18710 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
18711 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 18712 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 18713 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
18714 `grub_script.tab.c'.
18715
18716 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18717 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
18718 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18719 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
18720 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18721
faa517ce 18722 * Makefile.in: Remove duplicated 2008 in Copyright line.
18723
ae0c0bdc 187242009-05-04 Robert Millan <rmh.grub@aybabtu.com>
18725
473d1e45 18726 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 18727 unconditionally.
18728 * include/grub/util/misc.h (grub_util_warn): New declaration.
18729
18730 * util/i386/pc/grub-install.in: Understand --force and pass it down
18731 to grub-setup.
18732
18733 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
18734 down to setup().
18735 (setup): Improve error messages and add warnings when requested to
18736 install in odd layouts. Refuse to install using blocklists unless
18737 --force was set.
18738
18f547ad 187392009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 18740
18741 * disk/raid.c (grub_raid_scan_device): Improve debug message.
18742
6d260daa 187432009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18744
18745 Updated copyright year
18746
18747 * fs/hfsplus.c: updated copyright year
18f547ad 18748
69f853f8 187492009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
18750
18751 HFS+ UUID
18752
18f547ad 18753 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 18754 in the space previously used by unused3
18755 (grub_hfsplus_uuid): new function
18756 (grub_hfsplus_fs): added uuid field
18757
4c402e73 187582009-05-03 Pavel Roskin <proski@gnu.org>
18759
18760 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
18761 suppress warnings. It's no longer needed.
18762 * disk/host.c: Likewise.
18763 * disk/ata_pthru.c: Likewise.
18764 * disk/loopback.c: Likewise.
18765 * hook/datehook.c: Likewise.
18766 * parttool/pcpart.c: Likewise.
18767 * fs/i386/pc/pxe.c: Likewise.
18768 * fs/ntfscomp.c: Likewise.
18769 * efiemu/main.c: Likewise.
18770 * mmap/mmap.c: Likewise.
18771 * commands/crc.c: Likewise.
18772 * commands/hexdump.c: Likewise.
18773 * commands/hdparm.c: Likewise.
18774 * commands/acpi.c: Likewise.
18775 * commands/echo.c: Likewise.
18776 * commands/minicmd.c: Likewise.
18777 * commands/blocklist.c: Likewise.
18778 * commands/memrw.c: Likewise.
18779 * commands/loadenv.c: Likewise.
18780 * commands/usbtest.c: Likewise.
18781 * commands/lsmmap.c: Likewise.
18782 * commands/boot.c: Likewise.
18783 * commands/parttool.c: Likewise.
18784 * commands/configfile.c: Likewise.
18785 * commands/search.c: Likewise.
18786 * commands/ieee1275/suspend.c: Likewise.
18787 * commands/cat.c: Likewise.
18788 * commands/i386/pc/pxecmd.c: Likewise.
18789 * commands/i386/pc/play.c: Likewise.
18790 * commands/i386/pc/halt.c: Likewise.
18791 * commands/i386/pc/vbeinfo.c: Likewise.
18792 * commands/i386/pc/vbetest.c: Likewise.
18793 * commands/lspci.c: Likewise.
18794 * commands/date.c: Likewise.
18795 * commands/handler.c: Likewise.
18796 * commands/ls.c: Likewise.
18797 * commands/test.c: Likewise.
18798 * commands/cmp.c: Likewise.
18799 * commands/efi/loadbios.c: Likewise.
18800 * commands/efi/fixvideo.c: Likewise.
18801 * commands/halt.c: Likewise.
18802 * commands/help.c: Likewise.
18803 * commands/reboot.c: Likewise.
18804 * hello/hello.c: Likewise.
18805 * script/sh/main.c: Likewise.
18806 * loader/xnu.c: Likewise.
18807 * term/terminfo.c: Likewise.
18808 * term/i386/pc/serial.c: Likewise.
18809 * term/usb_keyboard.c: Likewise.
18810
515b5079 188112009-05-03 David S. Miller <davem@davemloft.net>
18812
18813 * normal/menu.c: Include grub/parser.h
18814
dfc31a22 188152009-05-03 Pavel Roskin <proski@gnu.org>
18816
2fee74f1 18817 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
18818 not char*.
18819 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
18820 Suggested by Javier Martín <lordhabbit@gmail.com>
18821
dfc31a22 18822 * util/i386/pc/grub-mkrescue.in: Allow for the case when
18823 efiemu??.o doesn't exist.
18824 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
18825 copying.
18826
18f547ad 188272009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 18828
18829 FreeBSD 64-bit support
18830
18f547ad 18831 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 18832 and loader/i386/bsd_trampoline.S
18833 (bsd_mod_ASFLAGS): new variable
18834 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
18835 (FREEBSD_MODTYPE_KERNEL64): likewise
18836 (grub_bsd64_trampoline_start): likewise
18837 (grub_bsd64_trampoline_end): likewise
18838 (grub_bsd64_trampoline_selfjump): likewise
18839 (grub_bsd64_trampoline_gdt): likewise
18840 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
18841 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
18842 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
18843 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 18844 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 18845 of "attrib" member
18846 * loader/i386/bsd_pagetable.c: new file
18847 * loader/i386/bsd_trampoline.S: likewise
18848 * loader/i386/bsd.c (ALIGN_QWORD): new macro
18849 (ALIGN_VAR): likewise
18850 (entry_hi): new variable
18851 (kern_end_mdofs): likewise
18852 (is_64bit): likewise
18853 (grub_freebsd_add_meta): use ALIGN_VAR
18854 (grub_e820_mmap): new declaration
18855 (grub_freebsd_add_mmap): new function
18856 (grub_freebsd_add_meta_module): support 64 bit kernels
18857 (grub_freebsd_list_modules): use ALIGN_VAR
18858 (gdt_descriptor): new declaration
18859 (grub_freebsd_boot): support 64 bit kernels
18860 (grub_bsd_elf64_hook): new function
18861 (grub_bsd_load_elf): support elf64
18862
038c5720 188632009-05-03 Bean <bean123ch@gmail.com>
18864
18865 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
18866 after we get the result of if statement.
18867
fc45fb58 188682009-05-03 Bean <bean123ch@gmail.com>
18869
18870 * Makefile.in (enable_efiemu): New variable.
18871
18872 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
18873 set.
18874 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
18875 path.
18876 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
18877 path, add -mno-red-zone option.
18878 (efiemu64_s.o): Likewise.
18879 (efiemu64.o): Use macro $^ for source file.
18880
18881 * configure.ac (--enable-efiemu): New option.
18882
bbee0f2b 188832009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
18884
18885 xnu support
18886
18887 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
18888 (pkglib_MODULES): add xnu.mod
18889 (xnu_mod_SOURCES): new variable
18890 (xnu_mod_CFLAGS): likewise
18891 (xnu_mod_LDFLAGS): likewise
18892 (xnu_mod_ASFLAGS): likewise
18893 * conf/i386-pc.rmk: likewise
18894 * conf/x86_64-efi.rmk: likewise
7dd4a573 18895 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 18896 new declaration
18897 * include/grub/i386/macho.h: new file
18898 * include/grub/i386/xnu.h: likewise
18899 * include/grub/macho.h: likewise
18900 * include/grub/machoload.h: likewise
18901 * include/grub/x86_64/macho.h: likewise
18902 * include/grub/x86_64/xnu.h: likewise
18903 * include/grub/xnu.h: likewise
18904 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
18905 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
18906 * loader/i386/efi/xnu.c: new file
18907 * loader/i386/pc/xnu.c: likewise
18908 * loader/i386/xnu.c: likewise
18909 * loader/i386/xnu_helper.S: likewise
18910 * loader/macho.c: likewise
18911 * loader/xnu.c: likewise
18912 * loader/xnu_resume.c: likewise
18913 * util/grub-dumpdevtree: likewise
18914 * include/grub/i386/pit.h: include grub/err.h
18915 (grub_pit_wait): export
18916 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 18917
5caf964d 189182009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
18919
18920 Efiemu
7dd4a573 18921
5caf964d 18922 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 18923 _linux_efi, linux_efi.
18924 new files in grub-emu
5caf964d 18925 new targets efiemu32.o and efiemu64.o
18926 * loader/linux_normal_efiemu.c: likewise
18927 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 18928 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 18929 files to copy
18930 * include/grub/autoefi.h: new file
7dd4a573 18931 * include/grub/i386/efiemu.h: likewise
5caf964d 18932 * include/grub/i386/pc/efiemu.h: likewise
18933 * include/grub/efi/api.h: add LL suffix when necessary
18934 new definitions relating to tables
18935 * include/grub/efiemu/efiemu.h: new file
18936 * include/grub/efiemu/runtime.h: likewise
18937 * efiemu/prepare.c: likewise
18938 * efiemu/loadcore_common.c: likewise
18939 * efiemu/loadcore64.c: likewise
18940 * efiemu/runtime/efiemu.sh: likewise
18941 * efiemu/runtime/efiemu.S: likewise
18942 * efiemu/runtime/efiemu.c: likewise
18943 * efiemu/runtime/config.h: likewise
18944 * efiemu/prepare32.c: likewise
18945 * efiemu/main.c: likewise
18946 * efiemu/modules/pnvram.c: likewise
18947 * efiemu/modules/i386: likewise
18948 * efiemu/modules/i386/pc: likewise
18949 * efiemu/modules/acpi.c: likewise
18950 * efiemu/i386/pc/cfgtables.c: likewise
18951 * efiemu/i386/loadcore64.c: likewise
18952 * efiemu/i386/loadcore32.c: likewise
18953 * efiemu/prepare64.c: likewise
18954 * efiemu/loadcore.c: likewise
18955 * efiemu/symbols.c: likewise
18956 * efiemu/mm.c: likewise
18957 * efiemu/loadcore32.c: likewise
7dd4a573 18958
189592009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 18960
18961 ACPI spoofing
18962
18963 * commands/acpi.c: new file
18964 * commands/i386/pc/acpi.c: likewise
18965 * commands/efi/acpi.c: likewise
18966 * include/grub/acpi.h: likewise
18967 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
18968 (acpi_mod_SOURCES): new variable
18969 (acpi_mod_CFLAGS): likewise
18970 (acpi_mod_LDFLAGS): likewise
18971 * conf/i386-efi.rmk: likewise
18972 * conf/x86_64-efi.rmk: likewise
18973
7dd4a573 189742009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 18975
18976 Missing part from mmap patch
18977
18978 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
18979 (grub_mmap_unregister)
18980 (grub_mmap_free_and_unregister): use grub_mmap_register
18981
7dd4a573 189822009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 18983
18984 Mmap services
18985
18986 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
18987 * loader/i386/linux.c (find_mmap_size): likewise
18988 (allocate_pages): likewise
18989 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
18990 (grub_fill_multiboot_mmap): likewise
18991 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
18992 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
18993 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
18994 (OPENBSD_MMAP_RESERVED): likewise
18995 * include/grub/i386/pc/memory.h: include grub/memory.h
18996 (grub_lower_mem): removed
18997 (grub_upper_mem): likewise
18998 (GRUB_MACHINE_MEMORY_ACPI): new definition
18999 (GRUB_MACHINE_MEMORY_NVS): likewise
19000 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
19001 (GRUB_MACHINE_MEMORY_HOLE): likewise
19002 (grub_machine_mmap_register): likewise
19003 (grub_machine_mmap_unregister): likewise
19004 (grub_machine_get_upper): likewise
19005 (grub_machine_get_lower): likewise
19006 (grub_machine_get_post64): likewise
19007 * include/grub/i386/efi/memory.h: new file
19008 * include/grub/x86_64/efi/memory.h: likewise
19009 * include/grub/efi/memory.h: likewise
19010 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
19011 (mmap_mod_SOURCES): new variable
19012 (mmap_mod_LDFLAGS): likewise
19013 (mmap_mod_ASFLAGS): likewise
19014 * conf/i386-coreboot.rmk: likewise
19015 * conf/i386-ieee1275.rmk: likewise
19016 * conf/i386-efi.rmk: likewise
19017 * conf/x86_64-efi.rmk: likewise
19018 * include/grub/types.h (UINT_TO_PTR): new macro
19019 (PTR_TO_UINT32): likewise
19020 (PTR_TO_UINT64): likewise
19021 * include/grub/memory.h: new file
19022 * mmap/i386/pc/mmap.c: likewise
19023 * mmap/i386/pc/mmap_helper.S: likewise
19024 * mmap/i386/uppermem.c: likewise
19025 * mmap/mmap.c: likewise
19026 * mmap/efi/mmap.c: likewise
7dd4a573 19027 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 19028 grub_upper_mem
19029 * kern/i386/pc/init.c (grub_lower_mem): removed variable
19030 (grub_upper_mem): likewise
19031 (grub_machine_init): don't use grub_upper_mem,
19032 make grub_lower_mem local
19033 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
19034 grub_mmap_iterate and grub_mmap_get_upper
19035 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
19036
d558e6b5 190372009-05-02 Bean <bean123ch@gmail.com>
19038
19039 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
19040 script/sh/parser.y.
19041 (pkglib_MODULES): Add normal.mod and sh.mod.
19042 (normal_SOURCES): New variable.
19043 (normal_mod_CFLAGS): Likewise.
19044 (normal_mod_LDFLAGS): Likewise.
19045 (sh_mod_SOURCES): Likewise.
19046 (sh_mod_CFLAGS): Likewise.
19047 (sh_mod_LDFLAGS): Likewise.
19048
19049 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
19050 script/sh/lexer.c_DEPENDENCIES.
19051 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
19052 kern/rescue_reader.c and kern/rescue_parser.c.
19053 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
19054 (grub_emu_SOURCES): Change source files.
19055 (pkglib_MODULES): Remove normal.mod.
19056 (normal_SOURCES): Removed.
19057 (normal_mod_CFLAGS): Likewise.
19058 (normal_mod_LDFLAGS): Likewise.
19059 * conf/i386-coreboot.rmk: Likewise.
19060 * conf/i386-efi.rmk: Likewise.
19061 * conf/i386-ieee1276.rmk: Likewise.
19062 * conf/powerpc-ieee1275.rmk: Likewise.
19063 * conf/sparc64-ieee1275.rmk: Likewise.
19064 * conf/x86_64-efi.rmk: Likewise.
19065
19066 * include/grub/command.h (grub_command_execute): New inline function.
19067
19068 * include/grub/menu.h (grub_menu_entry): Removed commands field.
19069
19070 * include/grub/normal.h: Remove <grub/setjmp.h>.
19071 (grub_fs_module_list): Moved to normal/autofs.c.
19072 (grub_exit_env): Removed.
19073 (grub_command_execute): Likewise.
19074 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
19075 parameter script.
19076 (read_command_list): New function declaration.
19077 (read_fs_list): Likewise.
19078
19079 * include/parser.h: Include <grub/reader.h>.
19080 (grub_parser_split_cmdline): Change type of getline parameter.
19081 (grub_parser): New structure.
19082 (grub_parser_class): New variable.
19083 (grub_parser_execute): New function declaration.
19084 (grub_register_rescue_parser): Likewise.
19085 (grub_parser_register): New inline function.
19086 (grub_parser_unregister): Likewise.
19087 (grub_parser_get_current): Likewise.
19088 (grub_parser_set_current): Likewise.
19089
19090 * include/grub/reader.h: New file.
19091 * kern/reader.c: Likewise.
19092 * kern/rescue_parser.c: Likewise.
19093 * kern/rescue_reader.c: Likewise.
19094 * normal/autofs.c: Likewise.
19095 * normal/dyncmd.c: Likewise.
19096
19097 * include/grub/rescue.h: Removed.
19098 * normal/command.h: Likewise.
19099
19100 * include/grub/script.h: Moved to ...
19101 * include/grub/script_sh.h: ... Moved here.
19102 * normal/execute.c: Moved to ...
19103 * script/sh/execute.c: ... Moved here.
19104 * normal/function.c: Moved to ...
19105 * script/sh/function.c: ... Moved here.
19106 * normal/lexer.c: Moved to ...
19107 * script/sh/lexer.c: ... Moved here.
19108 * normal/parser.y: Moved to ...
19109 * script/sh/parser.y: ... Moved here.
19110 * normal/script.c: Moved to ...
19111 * script/sh/script.c: ... Moved here.
19112
19113 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
19114 <grub/reader.h>.
19115 (grub_exit_env): Removed.
19116 (fs_module_list): Moved to normal/autofs.c.
19117 (grub_file_getline): Don't handle comment here.
19118 (free_menu): Skip removed field entry->commands.
19119 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
19120 script parameter.
19121 (read_config_file): Removed nested parameter, change getline function.
19122 (grub_enter_normal_mode): Removed.
19123 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
19124 (read_command_list): Likewise.
19125 (autoload_fs_module): Moved to normal/autofs.c.
19126 (read_fs_list): Likewise.
19127 (reader_nested): New variable.
19128 (grub_normal_execute): Run parser.sh to switch to sh parser.
19129 (grub_cmd_rescue): Removed.
19130 (cmd_normal): Removed.
19131 (grub_cmd_normal): Unregister itself at the beginning. Don't register
19132 rescue command.
19133 (grub_cmdline_run): New function.
19134 (grub_normal_reader_init): Likewise.
19135 (grub_normal_read_line): Likewise.
19136 (grub_env_write_pager): Likewise.
19137 (cmdline): New variable.
19138 (grub_normal_reader): Likewise.
19139 (GRUB_MOD_INIT): Register normal reader and set as current, register
19140 pager hook, register normal command with grub_register_command_prio,
19141 so that it won't show up in command.lst.
19142 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
19143 grub_fs_autoload_hook.
19144
19145 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
19146 (grub_menu_execute_entry): Replace grub_script_execute with
19147 grub_parser_execute, change parameter to grub_command_execute.
19148
19149 * normal/menu_text.c: Remove <grub/script.h>.
19150
19151 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
19152 and <grub/parser.h>.
19153 (run): Change editor_getline to use new parser interface. Change
19154 parameter to grub_command_execute.
19155
19156 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
19157 <grub/reader.h> and <grub/parser.h>.
19158 (grub_load_normal_mode): Execute normal command.
19159 (grub_main): Call grub_register_core_commands,
19160 grub_register_rescue_parser and grub_register_rescue_reader, use
19161 grub_reader_loop to enter input loop.
19162
7dd4a573 19163 * kern/parser.c (grub_parser_split_cmdline): Change type of
19164 getline parameter.
d558e6b5 19165 (grub_parser_class): New variable.
19166 (grub_parser_execute): New function.
19167
19168 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
19169 * loader/multiboot2.c: Likewise.
19170 * loader/sparc64/ieee1275/linux.c: Likewise.
19171
19172 * util/grub-emu.c (read_command_list): New dummy function.
19173
18db813d 191742009-05-02 Robert Millan <rmh.grub@aybabtu.com>
19175
19176 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
19177 count to 16 for CCISS and IDA.
19178
6c67de15 191792009-05-02 Robert Millan <rmh.grub@aybabtu.com>
19180
19181 * normal/menu_text.c (grub_wait_after_message): Print a newline
19182 after waiting for user input.
19183
19184 * loader/i386/linux.c: Include `<grub/normal.h>'.
19185 (grub_cmd_linux): Improve the error message about `ask' mode, by
19186 waiting for user input so it's not missed (we can do this, since
19187 user requested interaction).
19188
d9dc87b0 191892009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
19190
19191 Added missing lst to grub-mkrescue
19192
19193 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
19194 and ${input_dir}/parttool.lst
19195
ac8a2baa 191962009-04-30 David S. Miller <davem@davemloft.net>
19197
ad22a610 19198 * util/hostdisk.c (device_is_wholedisk): New function.
19199 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
19200 zero only if device_is_wholedisk() returns true.
19201
6966215d 19202 * util/hostdisk.c (convert_system_partition_to_system_disk):
19203 Handle virtual disk devices named /dev/vdiskX as found on sparc
19204 and powerpc.
19205
ac8a2baa 19206 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
19207 lettered partition specifier is found, convert to numbered.
19208
979b4fb4 192092009-04-29 David S. Miller <davem@davemloft.net>
19210
e2bf39b2 19211 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
19212 * include/grub/sparc64/ieee1275/memory.h: Likewise.
19213
3c64e104 19214 * normal/command.c: Add missing newline at end of file.
19215
979b4fb4 19216 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
19217 warnings.
19218 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
19219 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
19220 grub_ofdisk_read): Likewise, and deal similarly with the fact that
19221 ihandles have a 32-bit type but need to be stored in a "void *".
19222
136d9f82 192232009-04-28 Pavel Roskin <proski@gnu.org>
19224
9459c306 19225 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
19226 not disk. Adjust all dependencies.
2e08a26a 19227 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 19228 grub_disk_close().
19229
136d9f82 19230 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
19231 parent's partition, don't copy it by reference, as it gets freed
19232 on close.
19233
7dd4a573 192342009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 19235
19236 Preboot hooks support
19237
19238 * commands/boot.c (struct grub_preboot_t): new declaration
19239 (preboots_head): new variable
19240 (preboots_tail): likewise
19241 (grub_loader_register_preboot_hook): new function
19242 (grub_loader_unregister_preboot_hook): likewise
19243 (grub_loader_set): launch preboot hooks
19244 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
19245 (grub_loader_register_preboot_hook): new declaration
19246 (grub_loader_unregister_preboot_hook): likewise
19247
5af922b5 192482009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
19249
19250 Warning fix
19251
7dd4a573 19252 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 19253 calling grub_dprintf
19254
a5562c30 192552009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
19256
19257 Bug and warning fixes
19258
7dd4a573 19259 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 19260 declaration
19261 * commands/test.c (test_parse): fixed bug with file tests and corrected
19262 declaration of find_file
19263
4006f85c 192642009-04-26 Pavel Roskin <proski@gnu.org>
19265
19266 * Makefile.in: Don't install empty manual pages if help2man is
19267 missing. Use help2man option for output, not shell redirection.
19268
5c77c3de 192692009-04-26 David S. Miller <davem@davemloft.net>
19270
19271 * util/grub-mkdevicemap.c (make_device_map): Add missing
19272 NESTED_FUNC_ATTR to process_device().
19273
033b10a8 192742009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19275
19276 Test command
19277
19278 * commands/test.c: rewritten to use bash-like test
19279
e4343593 192802009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
19281
19282 Parttool autoloading and improvements
19283
7dd4a573 19284 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 19285 (parttool.lst): new target
19286 * genmk.rb: generate parttool-*
19287 (CLEANFILES): add #{parttool}
19288 (PARTTOOLFILES): new variable
19289 * genparttoollist.sh: new file
7dd4a573 19290 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 19291 (grub_pcpart_type): likewise
19292 * commands/parttool.c (helpmsg): new variable
19293 (grub_cmd_parttool): output help if not enough arguments are supplied
19294 autoload modules
19295 (GRUB_MOD_INIT(parttool)): use helpmsg
19296
0d312500 192972009-04-24 David S. Miller <davem@davemloft.net>
19298
7dd4a573 19299 Avoiding opening same device multiple times in device iterator.
0d312500 19300
19301 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 19302 and use it to build a list of partitions in iterate_disk() and
0d312500 19303 iterate_partition().
19304
ac20caff 19305 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
19306 on disk->data.
19307
0dcf7495 19308 * disk/ieee1275/nand.c (grub_nand_iterate): Return
19309 grub_devalias_iterate() result instead of unconditional 0.
19310 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
19311 Also, capture hook return value, either directly or via
19312 grub_children_iterate(), and propagate to caller.
19313 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
19314 grub_children_iterate): Return value is now 'int' instead of
19315 'grub_err_t'.
19316 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
19317 like a proper iterator, stopping when hooks return non-zero.
19318 (grub_devalias_iterate): Likewise.
19319
c8c08833 193202009-04-23 David S. Miller <davem@davemloft.net>
19321
19322 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
19323
f01005a8 193242009-04-22 David S. Miller <davem@davemloft.net>
19325
19326 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
19327 is larger than address_cells, use that value for address_cells too.
19328
4e8269da 19329 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
19330 IEEE1275_MAX_PATH_LEN): Define.
19331 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
19332 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
19333 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
19334 'devtype'. Explicitly NULL terminate devalias expansion.
19335
a1447506 19336 * util/sparc64/ieee1275/misc.c: New file.
19337 * util/sparc64/ieee1275/grub-setup.c: New file.
19338 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
19339 * util/sparc64/ieee1275/grub-mkimage.c: New file.
19340 * util/sparc64/ieee1275/grub-install.in: New file.
19341 * util/ieee1275/ofpath.c: New file.
19342 * util/ieee1275/devicemap.c: New file.
19343 * util/devicemap.c: New file.
19344 * util/deviceiter.c: New file.
19345 * kern/sparc64/ieee1275/init.c: New file.
19346 * include/grub/util/ofpath.h: New file.
19347 * include/grub/util/deviceiter.h: New file.
19348 * util/grub-mkdevicemap.c: Include deviceiter.h.
19349 Implement using grub_util_emit_devicemap_entry and
19350 grub_util_iterate_devices.
19351 * conf/i386-corebook.rmk: Build util/deviceiter.c and
19352 util/devicemap.c into grub-mkdevicemap
19353 * conf/i386-efi.rmk: Likewise.
19354 * conf/i386-ieee1275.rmk: Likewise.
19355 * conf/i386-pc.rmk: Likewise.
19356 * conf/powerpc-ieee1275.rmk: Likewise.
19357 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
19358 images and installation utilities. Build kernel as image
19359 instead of as elf binary. Use common rules as much as possible.
19360
7dd4a573 193612009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 19362
19363 Correct GPT definition
19364
7dd4a573 19365 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 19366 of "attrib" member
19367
c6c5219f 193682009-04-19 Felix Zielcke <fzielcke@z-51.de>
19369
19370 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
19371
0552ff9f 193722009-04-19 David S. Miller <davem@davemloft.net>
19373
19374 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
19375 (grub_rescue_cmd_linux): Rename to...
19376 (grub_cmd_linux): and fix prototype.
19377 (grub_rescue_cmd_initrd): Rename to...
19378 (grub_cmd_initrd): and fix prototype.
19379 (cmd_linux, cmd_initrd): New.
19380 (GRUB_MOD_INIT(linux)): Use grub_register_command().
19381 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
19382
d1a282fc 193832009-04-17 Pavel Roskin <proski@gnu.org>
19384
07c5039f 19385 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
19386 format.
19387 (grub_ohci_transfer): Likewise.
19388
b012002d 19389 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
19390
1bc09c35 19391 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
19392 return without a value. Fix inconsistent indentation.
19393
e0ff9126 19394 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
19395 match struct grub_fs.
19396
d1a282fc 19397 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
19398 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
19399 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
19400 * commands/lspci.c (grub_lspci_iter): Likewise.
19401
a96df3f2 194022009-04-16 Bean <bean123ch@gmail.com>
19403
19404 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
19405 value.
19406
41bb0fe9 194072009-04-15 Pavel Roskin <proski@gnu.org>
19408
19409 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
19410 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
19411 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
19412 definitions.
19413
596c6970 194142009-04-15 Felix Zielcke <fzielcke@z-51.de>
19415
19416 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 19417 that no multiple data or metadata areas are supported and `Unknown
596c6970 19418 metadata header'.
19419
7dd4a573 194202009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 19421
19422 Move loader out of the kernel
19423
19424 * kern/loader.c: moved to ...
19425 * commands/boot.c: ... moved here
19426 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
19427 * commands/boot.c (grub_cmd_boot): moved here. All users updated
19428 * include/grub/kernel.h (grub_machine_fini): export
19429 * include/grub/loader.h (grub_loader_is_loaded): update declaration
19430 (grub_loader_set): likewise
19431 (grub_loader_unset): likewise
19432 (grub_loader_boot): likewise
19433 * conf/common.rmk: new module boot.mod
19434 (pkglib_MODULES): add boot.mod
19435 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
19436 (grub_emu_SOURCES): likewise
19437 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
19438 (grub_emu_SOURCES): likewise
19439 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
19440 (grub_emu_SOURCES): likewise
19441 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
19442 (grub_emu_SOURCES): likewise
19443 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
19444 (grub_emu_SOURCES): likewise
7dd4a573 19445 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
19446 (grub_emu_SOURCES): likewise
0d5d5653 19447 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 19448 (grub_emu_SOURCES): likewise
0d5d5653 19449
7dd4a573 194502009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 19451
19452 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 19453
5999d619 19454 * kern/misc.c (grub_itoa): Removed function
19455 (grub_ltoa): likewise
19456 (grub_vsprintf): use grub_lltoa
19457
7dd4a573 194582009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 19459
19460 Restore grub-emu
19461
19462 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
19463 * conf/i386-coreboot.rmk: likewise
19464 * conf/i386-ieee1275.rmk: likewise
19465 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 19466
20318222 194672009-04-15 Felix Zielcke <fzielcke@z-51.de>
19468
19469 * INSTALL: Add that `./autogen.sh' needs to be run before
19470 `./configure.'.
19471
d05f0df3 194722009-04-14 Bean <bean123ch@gmail.com>
19473
19474 * Makefile.in (pkglib_DATA): Add handler.lst.
19475 (handler.lst): New rule.
19476
19477 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
19478 * conf/i386-coreboot.rmk: Likewise.
19479 * conf/i386-ieee1275.rmk: Likewise.
19480 * conf/i386-efi.rmk: Likewise.
19481 * conf/x86_64-efi.rmk: Likewise.
19482 * conf/powerpc-ieee1275.rmk: Likewise.
19483 * conf/sparc64-ieee1275.rmk: Likewise.
19484
19485 * genhandlerlist.sh: New file.
19486
19487 * genmk.rb: Add rules to generate handler.lst.
19488
19489 * include/grub/normal.h (grub_file_getline): New function definition.
19490 (read_handler_list): Likewise.
19491 (free_handler_list): Likewise.
19492
19493 * include/grub/term.h (grub_term_register_input): Add name parameter
19494 for auto generation of handler.lst.
19495 (grub_term_register_output): Likewise.
19496
19497 * normal/handler.c: New file.
19498
19499 * normal/main.c (get_line): Renamed to grub_file_getline.
19500 (read_config_file): Use the newly renamed grub_file_getline.
19501 (read_command_list): Likewise.
19502 (read_fs_list): Likewise.
19503 (grub_normal_execute): Call read_handler_list to parse handler.lst.
19504 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
19505
19506 * term/efi/console.c (grub_console_init): Add name parameter for auto
19507 generation of handler.lst.
19508 * term/gfxterm.c: Likewise.
19509 * term/i386/pc/at_keyboard.c: Likewise.
19510 * term/i386/pc/console.c: Likewise.
19511 * term/i386/pc/serial.c: Likewise.
19512 * term/i386/pc/vesafb.c: Likewise.
19513 * term/i386/pc/vga.c: Likewise.
19514 * term/i386/pc/vga_text.c: Likewise.
19515 * term/ieee1275/ofconsole.c: Likewise.
19516 * term/usb_keyboard.c: Likewise.
19517
33c846be 195182009-04-14 Bean <bean123ch@gmail.com>
19519
19520 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
19521 properly with null character.
19522
4484e01e 195232009-04-14 Felix Zielcke <fzielcke@z-51.de>
19524
19525 * configure: Remove.
19526 * config.h.in: Likewise.
f93d668e 19527 * stamp-h.in: Likewise.
4484e01e 19528 * DISTLIST: Likewise.
19529 * conf/common.mk: Likewise.
19530 * conf/i386-coreboot.mk: Likewise.
19531 * conf/i386-efi.mk: Likewise.
19532 * conf/i386-ieee1275.mk: Likewise.
19533 * conf/i386.mk: Likewise.
19534 * conf/i386-pc.mk: Likewise.
19535 * conf/powerpc-ieee1275.mk: Likewise.
19536 * conf/sparc64-ieee1275.mk: Likewise.
19537 * conf/x86_64-efi.mk: Likewise.
19538
19539 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
19540 develop on GRUB.
19541
7dd4a573 195422009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 19543 David S. Miller <davem@davemloft.net>
19544
19545 * util/hostdisk.c (make_device_name): Fix buffer length
19546 calculations.
19547
e25b5a8c 195482009-04-14 Felix Zielcke <fzielcke@z-51.de>
19549
19550 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
19551 <sys/param.h> and <sys/sysctl.h>.
19552 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
19553 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
19554 opening the device and reset them afterwards.
19555
1f1f580c 195562009-04-13 Pavel Roskin <proski@gnu.org>
19557
19558 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
19559 Reported by John Stanley <jpsinthemix@verizon.net>
19560
7ebc2d6b 195612009-04-13 Robert Millan <rmh@aybabtu.com>
19562
19563 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 19564 that name for menuentries when appropriate.
7ebc2d6b 19565
d8ba3667 195662009-04-13 Felix Zielcke <fzielcke@z-51.de>
19567
19568 * util/grub.d/10_freebsd.in: Add a missing `fi'.
19569
cba416eb 195702009-04-13 Robert Millan <rmh@aybabtu.com>
19571
19572 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
19573 to Linux, simply abort telling the user it's no longer supported.
19574
a547a745 195752009-04-13 Felix Zielcke <fzielcke@z-51.de>
19576
19577 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 19578 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 19579 `freebsd_loadenv' only when devices.hints exist.
19580
232a769c 195812009-04-13 Pavel Roskin <proski@gnu.org>
19582
19583 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
19584
c3012039 195852009-04-13 Felix Zielcke <fzielcke@z-51.de>
19586
19587 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
19588 partition number.
19589 (grub_drive): Likewise.
19590
234022fe 195912009-04-13 David S. Miller <davem@davemloft.net>
19592
19593 * kern/sparc64/ieee1275/ieee1275.c: New file.
19594 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
19595 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
19596 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
19597 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
19598 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
19599 grub_ieee1275_alloc_physmem): Declare new exported functions.
19600
d8e1836c 19601 * include/grub/sparc64/ieee1275/loader.h: New file.
19602 * include/grub/sparc64/ieee1275/memory.h: Likewise.
19603 * include/grub/sparc64/kernel.h: Likewise.
19604 * loader/sparc64/ieee1275/linux.c: Likewise.
19605
96bd81ec 19606 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
19607 (grub_fstest_SOURCES): Likewise.
19608
6a4737e5 19609 * util/hostdisk.c (make_device_name): Do not make any assumptions
19610 about the length of drive names.
19611
1d7a72fd 19612 * kern/dl.c (grub_dl_load_file): Close file immediately when
19613 we are done using it.
19614
56bc2471 196152009-04-12 David S. Miller <davem@davemloft.net>
19616
19617 * kern/misc.c (grub_ltoa): Fix cast when handling negative
19618 values. Noticed by Pavel Roskin.
19619
df38d0bb 19620 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
19621 target compiler.
7dd4a573 19622
e382e93a 19623 * genmk.rb: Add more flexible image type specification, also
19624 pass --strip-unneeded to objcopy.
19625 * conf/i386-pc.rmk: Use *_FORMAT.
19626 * conf/i386-pc.mk: Rebuilt.
19627
f5dbbca9 19628 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
19629 (OFDISK_HASH_SZ): Define.
19630 (ofdisk_hash): New hash table.
19631 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
19632 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
19633 instead of device phandle which is not unique.
19634
91c88b12 19635 * kern/sparc64/ieee1275/init.c: Delete, replace with...
19636 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
19637 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
19638 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
19639 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
19640 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
19641 GRUB_KERNEL_MACHINE_DATA_END): Define.
19642 (grub_kernel_image_size, grub_total_module_size): Declare.
19643
5b5d4aa5 196442009-04-12 Pavel Roskin <proski@gnu.org>
19645
7dd4a573 19646 * configure.ac: Change the logic when we check for target tools.
19647 Do it when the target is specified and it's different from the
19648 specified value of the host.
5b5d4aa5 19649
c91e1793 196502009-04-11 Felix Zielcke <fzielcke@z-51.de>
19651
19652 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
19653 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
19654 GNU/kFreeBSD. Check if a device is a character device. Use
19655 DIOCGMEDIASIZE to get the size.
19656 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
19657 support for GNU/kFreeBSD.
19658 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
19659 is a character device instead of a block device. Add support for
19660 FreeBSD device names.
19661
19662 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
19663 is a character device instead of a block device.
19664
19665 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
19666 is a character device instead of a block device.
19667
b1ac8644 196682009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
19669
19670 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
19671 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
19672 FreeBSD. Check if a device is a character device. Use
19673 DIOCGMEDIASIZE to get the size.
19674 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
19675 support for FreeBSD.
19676 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
19677 is a character device instead of a block device. Add support for
19678 FreeBSD device names.
19679
19680 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
19681 a character device instead of a block device.
19682 (grub_util_check_char_device): New function.
19683
19684 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
19685 a character device instead of a block device.
19686
19687 * include/grub/util/getroot.h (grub_util_check_char_device): New
19688 prototype.
19689
a3f7515a 196902009-04-11 David S. Miller <davem@davemloft.net>
19691
19692 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
19693 static libgcc.
19694 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
19695 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
19696 function, if present.
19697 (__bswapdi2): Likewise.
19698
0d44993d 19699 * include/grub/sparc64/ieee1275/boot.h: New file.
19700 * boot/sparc64/ieee1275/boot.S: Likewise.
19701 * boot/sparc64/ieee1275/diskboot.S: Likewise.
19702
ed3d2bc2 19703 * kern/misc.c (grub_ltoa): New function.
19704 (grub_vsprintf): Use it to format 'long' integers.
19705
d3bfb59c 197062009-04-10 David S. Miller <davem@davemloft.net>
19707
19708 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
19709 slots are of type grub_ieee1275_cell_t.
19710 (grub_nand_read): Likewise.
19711 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
19712 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
19713 macros are used to compare values in arg/ret block of the call.
19714 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
19715 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
19716 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
19717 grub_ieee1275_instance_to_path, grub_ieee1275_write,
19718 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
19719 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
19720 grub_ieee1275_close, grub_ieee1275_set_property,
19721 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
19722 grub_ieee1275_cell_t.
19723 * kern/ieee1275/openfw.c (grub_map): Likewise.
19724 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
19725 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
19726
450e2238 19727 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
19728 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
19729 (grub_devalias_iterate): Likewise.
19730
7dd4a573 197312009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 19732
19733 UFS improvements
19734
19735 * fs/ufs.c (INODE_NBLOCKS): new definition
19736 (struct grub_ufs_dirent): added fields for non-BSD dirents
19737 (grub_ufs_get_file_block): fixed double indirect handling
19738 (grub_ufs_lookup_symlink): use more robust way to determine whether
19739 symlink is inline
19740 (grub_ufs_find_file): support for non-BSD dirents
19741 (grub_ufs_dir): support for non-BSD dirents
19742
e7e6862a 197432009-04-10 Bean <bean123ch@gnail.com>
19744
19745 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
19746 attribute, otherwise the size would be wrong for i386 platform.
19747
19748 * include/grub/pci.h (grub_pci_read_word): New inline function.
19749 (grub_pci_read_byte): Likewise.
19750 (grub_pci_write): Likewise.
19751 (grub_pci_write_word): Likewise.
19752 (grub_pci_write_byte): Likewise.
19753
19754 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
19755
19756 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
19757 (find_framebuf): Scan pci to locate the frame buffer address.
19758
19759 * commands/efi/fixvideo.c: New file.
19760
19761 * commands/efi/loadbios.c: Likewise.
19762
19763 * commands/memrw.c: Likewise.
19764
19765 * util/grub-dumpbios.in: Likewise.
19766
19767 * conf/common.rmk (grub-dumpbios): New utility.
19768 (pkglib_MODULES): New module memrw.mod.
19769 (memrw_mod_SOURCE): New macro.
19770 (memrw_mod_CFLAGS): Likewise.
19771 (memrw_mod_LDFLAGS): Likewise.
19772
7dd4a573 19773 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 19774 fixvideo.mod.
19775 (loadbios_mod_SOURCE): New macro.
19776 (loadbios_mod_CFLAGS): Likewise.
19777 (loadbios_mod_LDFLAGS): Likewise.
19778 (fixvideo_mod_SOURCE): Likewise.
19779 (fixvideo_mod_CFLAGS): Likewise.
19780 (fixvideo_mod_LDFLAGS): Likewise.
19781
7dd4a573 19782 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 19783 fixvideo.mod.
19784 (loadbios_mod_SOURCE): New macro.
19785 (loadbios_mod_CFLAGS): Likewise.
19786 (loadbios_mod_LDFLAGS): Likewise.
19787 (fixvideo_mod_SOURCE): Likewise.
19788 (fixvideo_mod_CFLAGS): Likewise.
19789 (fixvideo_mod_LDFLAGS): Likewise.
19790
af63ada2 197912009-04-08 Felix Zielcke <fzielcke@z-51.de>
19792
19793 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
19794
c2cdde70 197952009-04-07 David S. Miller <davem@davemloft.net>
19796
19797 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
19798 support for R_SPARC_OLO10 relocations. Fix compile warning for
19799 R_SPARC_WDISP30 case.
ea3f72cf 19800 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 19801
761319cf 198022009-04-06 Pavel Roskin <proski@gnu.org>
19803
1007d1f5 19804 * include/grub/misc.h (ARRAY_SIZE): New macro.
19805 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
19806 New macro.
19807 * loader/i386/linux.c (allocate_pages): Use free_pages().
19808 (grub_linux_unload): Don't use free_pages().
19809 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
19810 wrong index. Treat all other modes as text modes.
19811 (grub_cmd_linux): Initialize vid_mode unconditionally to
19812 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
19813
761319cf 19814 * commands/help.c (print_command_help): Use cmd->prio, not
19815 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
19816
ea761d40 198172009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 19818
ea761d40 19819 Parttool
19820
19821 * parttool/pcpart.c: new file
19822 * commands/parttool.c: likewise
19823 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
19824 (parttool_mod_SOURCES): new variable
19825 (parttool_mod_CFLAGS): likewise
19826 (parttool_mod_LDFLAGS): likewise
19827 (pcpart_mod_SOURCES): likewise
19828 (pcpart_mod_CFLAGS): likewise
19829 (pcpart_mod_LDFLAGS): likewise
7dd4a573 19830 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 19831 and parttool/pcpart.c
19832 * conf/i386-efi.rmk: likewise
19833 * conf/i386-ieee1275.rmk: likewise
19834 * conf/i386-pc.rmk: likewise
19835 * conf/powerpc-ieee1275.rmk: likewise
19836 * conf/sparc64-ieee1275.rmk: likewise
19837 * conf/x86_64-ieee1275.rmk: likewise
19838
05aaebfb 198392009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19840
19841 Support for mtime and further expandability of dir command
19842
19843 * include/grub/lib/datetime.h: moved to ...
7dd4a573 19844 * include/grub/datetime.h: ... moved here and added
05aaebfb 19845 declaration of grub_unixtime2datetime. All users updated
7dd4a573 19846 * include/grub/fs.h: new syntax for dir and mtime functions in
19847 struct grub_fs
05aaebfb 19848 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
19849 and GRUB_FSHELP_FLAGS_MASK
19850 * commands/ls.c (grub_ls_list_files): Write mtime in long format
19851 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
19852 (grub_ext2_mtime): new function
19853 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
19854 (grub_hfsplus_mtime): new function
19855 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
19856 (GRUB_UFS_ATTR_FILE): likewise
19857 (GRUB_UFS_ATTR_LNK): likewise
19858 (struct grub_ufs_sblock): new fields mtime
19859 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
19860 all users updated
19861 (grub_ufs_dir): mtime support
19862 (grub_ufs_mtime): new function
19863 * fs/affs.c (grub_affs_dir): use new dir syntax
19864 * fs/afs.c (grub_afs_dir): likewise
19865 * fs/cpio.c (grub_cpio_dir): likewise
19866 * fs/fat.c (grub_fat_find_dir): likewise
19867 * fs/hfs.c (grub_hfs_dir): likewise
19868 * fs/iso9660.c (grub_iso9660_dir): likewise
19869 * fs/jfs.c (grub_jfs_dir): likewise
19870 * fs/minix.c (grub_minix_dir): likewise
19871 * fs/ntfs.c (grub_ntfs_dir): likewise
19872 * fs/reiserfs.c (grub_reiserfs_dir): likewise
19873 * fs/sfs.c (grub_sfs_dir): likewise
19874 * fs/xfs.c (grub_xfs_dir): likewise
19875 * util/hostfs.c (grub_hostfs_dir): likewise
19876 * lib/datetime.c: moved to ...
19877 * normal/datetime.c: ... moved here
19878 (grub_unixtime2datetime): new function
19879 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 19880 * normal/completion.c (iterate_dir): use new dir syntax
19881 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 19882 last modification time of a volume
7dd4a573 19883 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 19884 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 19885 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 19886 (normal_mod_SOURCES): likewise
19887 (datetime_mod_SOURCES): Removed lib/datetime.c
19888 * conf/i386-efi.rmk: likewise
7dd4a573 19889 * conf/i386-ieee1275.rmk: likewise
05aaebfb 19890 * conf/i386-pc.rmk: likewise
19891 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 19892 * conf/sparc64-ieee1275.rmk: likewise
19893 * conf/x86_64-efi.rmk: likewise
05aaebfb 19894
8a7e1a14 198952009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
19896
19897 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 19898
19899 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 19900 on grub_fat_find_dir
19901 (grub_fat_find_dir): use grub_fat_iterate_dir
19902 (grub_fat_label): likewise
19903
04186a9c 199042009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
19905
7dd4a573 19906 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 19907 and command.h
19908 remove extraneous kernel_elf_HEADERS
19909
da4c0bb6 199102009-04-04 Bean <bean123ch@gnail.com>
19911
19912 * include/grub/util/misc.h: Add dummy function fsync for mingw.
19913
19914 * util/misc.c: Likewise.
19915
54ad9555 199162009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
19917
19918 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
19919 instead of grub_printf.
19920
7a6bf9f2 199212009-04-03 Robert Millan <rmh@aybabtu.com>
19922
19923 * loader/i386/linux.c (grub_linux_setup_video): Fill
19924 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
19925 values from `mode info' structure instead of hardcoded
19926 values.
19927
3fcc2083 199282009-04-01 Pavel Roskin <proski@gnu.org>
19929
19930 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
19931 unused now.
19932 * genmk.rb: Likewise.
19933 * configure.ac: Likewise.
19934
5ec9740b 199352009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
19936
19937 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
19938 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
19939
5270cec8 199402009-04-01 David S. Miller <davem@davemloft.net>
19941
19942 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 19943 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 19944 (grub_setjmp): Mark with 'returns_twice' attribute.
19945 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
19946 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
19947 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
19948
9c3dd854 199492009-04-01 Robert Millan <rmh@aybabtu.com>
19950
19951 Reapply fix from 2008-07-28 which was accidentally reverted; also
19952 perform the same fix to a similar check in same function.
19953
19954 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
19955 with the same number are found, just use issue a warning with
19956 grub_dprintf(), as this error has been reported to be non-fatal.
19957
0d818b7e 199582009-03-31 Pavel Roskin <proski@gnu.org>
19959
19960 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
19961 for cross-compilation.
19962
95646d92 199632009-03-30 Robert Millan <rmh@aybabtu.com>
19964
19965 Fix i386-ieee1275 build.
19966
19967 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
19968 Remove declaration.
19969
6a003ed1 199702009-03-30 Pavel Roskin <proski@gnu.org>
19971
19972 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
19973 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
19974 zero-terminated, rely only on the strlen value. Fix comparison
19975 of strings differing in length.
19976
92f33540 199772009-03-30 Robert Millan <rmh@aybabtu.com>
19978
19979 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
19980 checking for abi version. Improve error messages on BIOS to notify
19981 user about `linux16' command.
19982
a8c48fd5 199832009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
19984
f968172e 19985 Leak fixes
a8c48fd5 19986
f968172e 19987 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
19988 in case of collision
19989 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 19990
9c323f09 199912009-03-29 Robert Millan <rmh@aybabtu.com>
19992
19993 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
19994 set `vid_mode' accordingly.
19995 (grub_linux_boot): Process `vid_mode' and set video mode.
19996
ae68f423 199972009-03-29 Robert Millan <rmh@aybabtu.com>
19998
19999 * util/grub.d/10_linux.in (linux_entry): New function.
20000 Factorize generation of Linux boot entries.
20001
5709cfc4 200022009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
20003
20004 Make the format of Environment Block plain text. The boot loader
20005 part is not tested well yet.
7dd4a573 20006
5709cfc4 20007 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
20008 (buffer): Removed.
20009 (envblk): Likewise.
20010 (usage): Remove "info" and "clear". Add "unset". Update the
20011 description of "set", as this does not delete variables any
20012 longer.
20013 (create_envblk_file): Complete rewrite.
20014 (open_envblk_file): Likewise.
20015 (cmd_info): Removed.
20016 (cmd_list): Likewise.
20017 (cmd_set): Likewise.
20018 (cmd_clear): Likewise.
20019 (list_variables): New function.
20020 (write_envblk): Likewise.
20021 (set_variables): Likewise.
20022 (unset_variables): Likewise.
20023 (main): Complete rewrite.
20024
20025 * commands/loadenv.c (buffer): Removed.
20026 (envblk): Likewise.
20027 (open_envblk_file): New function.
20028 (read_envblk_file): Complete rewrite.
20029 (grub_cmd_load_env): Likewise.
20030 (grub_cmd_list_env): Likewise.
20031 (struct blocklist): New struct.
20032 (free_blocklists): New function.
20033 (check_blocklists): Likewise.
20034 (write_blocklists): Likewise.
20035 (grub_cmd_save_env): Complete rewrite.
20036
20037 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
20038 a plain text signature.
20039 (GRUB_ENVBLK_MAXLEN): Removed.
20040 (struct grub_envblk): Complete rewrite.
20041 (grub_envblk_find): Removed.
20042 (grub_envblk_insert): Likewise.
20043 (grub_envblk_open): New prototype.
20044 (grub_envblk_set): Likewise.
20045 (grub_envblk_delete): Put const to VALUE.
20046 (grub_envblk_iterate): Put const to NAME and VALUE.
20047 (grub_envblk_close): New prototype.
20048 (grub_envblk_buffer): New inline function.
20049 (grub_envblk_size): Likewise.
20050
20051 * lib/envblk.c: Include grub/mm.h.
20052 (grub_env_find): Removed.
20053 (grub_envblk_open): New function.
20054 (grub_envblk_close): Likewise.
20055 (escaped_value_len): Likewise.
20056 (find_next_line): Likewise.
20057 (grub_envblk_insert): Removed.
20058 (grub_envblk_set): New function.
20059 (grub_envblk_delete): Complete rewrite.
20060 (grub_envblk_iterate): Likewise.
20061
a9368fd3 200622009-03-28 Robert Millan <rmh@aybabtu.com>
20063
20064 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
20065 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
20066 variables. Use 16-bit loader.
20067 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
20068 loader.
20069 * kern/i386/loader.S (grub_linux_boot): Rename to ...
20070 (grub_linux16_boot): ... this. Update all users.
20071 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
20072 (grub_linux_boot): ... this. Update all users.
20073
20074 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
20075 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
20076 commands to `linux16' and `initrd16'.
20077 (GRUB_MOD_FINI(linux)): Rename to ...
20078 (GRUB_MOD_FINI(linux16)): ... this.
20079
e4dd5a7e 200802009-03-24 Pavel Roskin <proski@gnu.org>
20081
20082 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
20083 not just for compilation.
20084
c04d6e05 200852009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
20086
20087 Move multiboot helper out of kernel
20088
20089 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
20090 `loader/i386/multiboot_helper.S'.
20091 * conf/i386-coreboot.rmk: Likewise
20092 * conf/i386-ieee1275.rmk: Likewise
20093
20094 * kern/i386/loader.S: Move multiboot helpers from here...
20095 * loader/i386/multiboot_helper.S: ...moved here
20096 * include/grub/i386/loader.h: Move declarations of multiboot
20097 helpers from here...
20098 * include/grub/i386/multiboot.h: ...moved here
20099 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
20100
42a5b3fc 201012009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20102
20103 * kern/env.c (grub_env_context_open): Added an argument to specify
20104 whether a new context inherits exported variables from current
20105 one. This is useful when making a sandbox to interpret a config
20106 file.
20107 All callers updated.
20108
20109 * include/grub/env.h (grub_env_context_open): Updated the prototype.
20110
b28bbc4e 201112009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20112
20113 * kern/env.c (grub_env_context_close): Fix memory leaks.
20114
f04f02e4 201152009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
20116
20117 * normal/main.c (grub_normal_execute): Added an argument
20118 BATCH to specify if an interactive interface should be provided
20119 after reading a config file.
20120 All callers updated.
20121 (read_command_list): Prevent being executed twice.
20122 (read_fs_list): Likewise.
20123
42a5b3fc 20124 * include/grub/normal.h (grub_normal_execute): Updated the
20125 prototype.
f04f02e4 20126
41473ac2 201272009-03-22 Pavel Roskin <proski@gno.org>
20128
fbc00b0c 20129 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
20130 _start.
20131 * kern/i386/pc/startup.S: Likewise.
20132 * kern/i386/efi/startup.S: Likewise.
20133 * kern/i386/ieee1275/startup.S: Likewise.
20134 * kern/i386/coreboot/startup.S: Likewise.
20135 * kern/x86_64/efi/startup.S: Likewise.
20136
41473ac2 20137 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
20138 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
20139 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
20140
2274cc8f 201412009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
20142
20143 Bugfixes in multiboot for bugs uncovered by solaris kernel.
20144
20145 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
20146 limit detection.
20147 Use vaddr of correct segment for entry_point.
20148
b1b797cb 201492009-03-21 Bean <bean123ch@gmail.com>
20150
20151 * commands/blocklist.c: Add include file <grub/command.h>, remove
20152 <grub/normal.h> and <grub/arg.h>.
20153 (grub_cmd_blocklist): Use the new command interface.
20154 (GRUB_MOD_INIT): Likewise.
20155 (GRUB_MOD_FINI): Likewise.
20156 * commands/boot.c: Likewise.
20157 * commands/cat.c: Likewise.
20158 * commands/cmp.c: Likewise.
20159 * commands/configfile.c: Likewise.
20160 * commands/crc.c: Likewise.
20161 * commands/echo.c: Likewise.
20162 * commands/halt.c: Likewise.
20163 * commands/handler.c: Likewise.
20164 * commands/hdparm.c: Likewise.
20165 * commands/help.c: Likewise.
20166 * commands/hexdump.c: Likewise.
20167 * commands/loadenv.c: Likewise.
20168 * commands/ls.c: Likewise.
20169 * commands/lsmmap.c: Likewise.
20170 * commands/lspci.c: Likewise.
20171 * commands/loadenv.c: Likewise.
20172 * commands/read.c: Likewise.
20173 * commands/reboot.c: Likewise.
20174 * commands/search.c: Likewise.
20175 * commands/sleep.c: Likewise.
20176 * commands/test.c: Likewise.
20177 * commands/usbtest.c: Likewise.
20178 * commands/videotest.c: Likewise.
20179 * commands/i386/cpuid.c: Likewise.
20180 * commands/i386/pc/halt.c: Likewise.
20181 * commands/i386/pc/play.c: Likewise.
20182 * commands/i386/pc/pxecmd.c: Likewise.
20183 * commands/i386/pc/vbeinfo.c: Likewise.
20184 * commands/i386/pc/vbetest.c: Likewise.
20185 * commands/ieee1275/suspend.c: Likewise.
20186 * disk/loopback.c: Likewise.
20187 * font/font_cmd.c: Likewise.
20188 * hello/hello.c: Likewise.
20189 * loader/efi/appleloader.c: Likewise.
20190 * loader/efi/chainloader.c: Likewise.
20191 * loader/i386/bsd.c: Likewise.
20192 * loader/i386/efi/linux.c: Likewise.
20193 * loader/i386/ieee1275/linux.c: Likewise.
20194 * loader/i386/linux.c: Likewise.
20195 * loader/i386/pc/chainloader.c: Likewise.
20196 * loader/i386/pc/linux.c: Likewise.
20197 * loader/powerpc/ieee1275/linux.c: Likewise.
20198 * loader/multiboot_loader.c: Likewise.
20199 * term/gfxterm.c: Likewise.
20200 * term/i386/pc/serial.c: Likewise.
20201 * term/terminfo.c: Likewise.
20202
20203 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
20204 * term/i386/pc/vga.c: Likewise.
20205 * video/readers/jpeg.c: Likewise.
20206 * video/readers/png.c: Likewise.
20207 * video/readers/tga.c: Likewise.
20208
20209 * util/grub-fstest (cmd_loopback): Removed.
20210 (cmd_blocklist): Likewise.
20211 (cmd_ls): Likewise.
20212 (grub_register_command): Likewise.
20213 (grub_unregister_command): Likewise.
20214 (execute_command): Use grub_command_find to locate command and execute
20215 it.
20216
20217 * include/grub/efi/chainloader.h: Removed.
20218 * loader/efi/chainloader_normal.c: Likewise.
20219 * loader/i386/bsd_normal.c: Likewise.
20220 * loader/i386/pc/chainloader_normal.c: Likewise.
20221 * loader/i386/pc/multiboot_normal.c: Likewise.
20222 * loader/linux_normal.c: Likewise.
20223 * loader/multiboot_loader_normal.c: Likewise.
20224 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
20225
20226 * gencmdlist.sh: Scan new registration command grub_register_extcmd
20227 and grub_register_command_p1.
20228
20229 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
20230 kern/command.c, lib/arg.c and commands/extcmd.c.
20231 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
20232 (minicmd_mod_SOURCES): New variable.
20233 (minicmd_mod_CFLAGS): Likewise.
20234 (minicmd_mod_LDFLAGS): Likewise.
20235 (extcmd_mod_SOURCES): Likewise.
20236 (extcmd_mod_CFLAGS): Likewise.
20237 (extcmd_mod_LDFLAGS): Likewise.
20238 (boot_mod_SOURCES): Removed.
20239 (boot_mod_CFLAGS): Likewise.
20240 (boot_mod_LDFLAGS): Likewise.
20241
20242 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
20243 kern/corecmd.c.
20244 (kernel_img_HEADERS): Add command.h.
20245 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
20246 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
20247 and lib/arg.c.
20248 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
20249 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
20250 remove the corresponding normal mode command.
20251 (normal_mod_SOURCES): Remove normal/arg.c.
20252 * conf/i386-coreboot.rmk: Likewise.
20253 * conf/i386-efi.rmk: Likewise.
20254 * conf/i386-ieee1275.rmk: Likewise.
20255 * conf/powerpc-ieee1275.rmk: Likewise.
20256 * conf/x86_64-efi.rmk: Likewise.
20257
20258 * include/grub/arg.h: Move from here ...
20259 * include/grub/lib/arg.h: ... to here.
20260
20261 * normal/arg.c: Move from here ...
20262 * lib/arg.c: ... to here.
20263
20264 * commands/extcmd.c: New file.
20265 * commands/minicmd.c: Likewise.
20266 * include/grub/command.h: Likewise.
20267 * include/grub/extcmd.h: Likewise.
20268 * kern/command.c: Likewise.
20269 * kern/corecmd.c: Likewise.
20270
20271 * kern/list.c (grub_list_iterate): Return int instead of void.
20272 (grub_list_insert): New function.
20273 (grub_prio_list_insert): Likewise.
20274
20275 * kern/rescue.c (grub_rescue_command): Removed.
20276 (grub_rescue_command_list): Likewise.
20277 (grub_rescue_register_command): Likewise.
20278 (grub_rescue_unregister_command): Likewise.
20279 (grub_rescue_cmd_boot): Move to minicmd.c
20280 (grub_rescue_cmd_help): Likewise.
20281 (grub_rescue_cmd_info): Likewise.
20282 (grub_rescue_cmd_boot): Likewise.
20283 (grub_rescue_cmd_testload): Likewise.
20284 (grub_rescue_cmd_dump): Likewise.
20285 (grub_rescue_cmd_rmmod): Likewise.
20286 (grub_rescue_cmd_lsmod): Likewise.
20287 (grub_rescue_cmd_exit): Likewise.
20288 (grub_rescue_print_devices): Moved to corecmd.c.
20289 (grub_rescue_print_files): Likewise.
20290 (grub_rescue_cmd_ls): Likewise.
20291 (grub_rescue_cmd_insmod): Likewise.
20292 (grub_rescue_cmd_set): Likewise.
20293 (grub_rescue_cmd_unset): Likewise.
7d074e3c 20294 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 20295 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 20296 commands, remove grub_rescue_register_command calls.
b1b797cb 20297
7d074e3c 20298 * normal/command.c (grub_register_command): Removed.
b1b797cb 20299 (grub_unregister_command): Likewise.
20300 (grub_command_find): Likewise.
20301 (grub_iterate_commands): Likewise.
20302 (rescue_command): Likewise.
20303 (export_command): Moved to corecmd.c.
20304 (set_command): Removed.
20305 (unset_command): Likewise.
20306 (insmod_command): Likewise.
20307 (rmmod_command): Likewise.
20308 (lsmod_command): Likewise.
20309 (grub_command_init): Likewise.
20310
20311 * normal/completion.c (iterate_command): Use cmd->prio to check for
20312 active command.
20313 (complete_arguments): Use grub_extcmd_t structure to find options.
20314 (grub_normal_do_completion): Change function grub_iterate_commands to
20315 grub_command_iterate.
20316
20317 * normal/execute.c (grub_script_execute_cmd): No need to parse
20318 argument here.
20319
20320 * normal/main.c (grub_dyncmd_dispatcher): New function.
20321 (read_command_list): Register unload commands as dyncmd.
20322 (grub_cmd_normal): Use new command interface, register rescue,
20323 unregister normal at entry, register normal, unregister rescue at exit.
20324
20325 * include/grub/list.h (grub_list_test_t): New type.
20326 (grub_list_iterate): Return int instead of void.
20327 (grub_list_insert): New function.
20328 (GRUB_AS_NAMED_LIST_P): New macro.
20329 (GRUB_AS_PRIO_LIST): Likewise.
20330 (GRUB_AS_PRIO_LIST_P): Likewise.
20331 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
20332 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
20333 (grub_prio_list): New structure.
20334 (grub_prio_list_insert): New function.
20335 (grub_prio_list_remove): New inline function.
20336
20337 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
20338 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
20339 (GRUB_COMMAND_FLAG_MENU): Likewise.
20340 (GRUB_COMMAND_FLAG_BOTH): Likewise.
20341 (GRUB_COMMAND_FLAG_TITLE): Likewise.
20342 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
20343 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
20344 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
20345 (grub_command): Likewise.
20346 (grub_register_command): Likewise.
20347 (grub_command_find): Likewise.
20348 (grub_iterate_commands): Likewise.
20349 (grub_command_init): Likewise.
20350 (grub_arg_parse): Likewise.
20351 (grub_arg_show_help): Likewise.
20352
20353 * include/grub/rescue.h (grub_rescue_register_command): Removed.
20354 (grub_rescue_unregister_command): Likewise.
20355
20356 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
20357 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
20358 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
20359
20360 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
20361 grub_rescue_cmd_initrd.
20362 * include/grub/i386/loader.h: Likewise.
20363 * include/grub/x86_64/loader.h: Likewise.
20364
20365 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
20366
1f4147aa 203672009-03-21 Bean <bean123ch@gmail.com>
20368
20369 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
20370 instead of stat in mingw environment.
20371
20372 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
20373
20374 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
20375
20376 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
20377 AC_CONFIG_LINKS.
20378
2156d5ba 203792009-03-21 Bean <bean123ch@gmail.com>
20380
20381 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
20382 out of range error.
20383
177b82ca 203842009-03-18 Michel Dänzer <michel@daenzer.net>
20385
20386 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
20387 checking inode flags for EXT4_EXTENTS_FLAG.
20388
14aad807 203892009-03-18 Robert Millan <rmh@aybabtu.com>
20390
20391 * loader/i386/linux.c: Include `<grub/video.h>' and
20392 `<grub/i386/pc/vbe.h>'..
20393 (grub_linux_setup_video): New function. Loosely based on the EFI one.
20394 (grub_linux32_boot): Attempt to configure video settings with
20395 grub_linux_setup_video().
20396 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
20397 to avoid grub_console_fini() which would step out of graphical mode
20398 unconditionally.
20399
8cf83a27 204002009-03-14 Robert Millan <rmh@aybabtu.com>
20401
20402 Fix build on powerpc.
20403 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
20404
40164e75 204052009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
20406
20407 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
20408 background image command.
20409
c58bc32a 204102009-03-12 Colin D Bennett <colin@gibibit.com>
20411
20412 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
20413 (grub_gfxterm_putchar): Extract pairs of identical calls to
20414 draw_cursor out of conditional blocks.
20415
5415144a 204162009-03-11 Pavel Roskin <proski@gnu.org>
20417
20418 * fs/hfs.c (grub_hfs_strncasecmp): New function.
20419 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
20420
6394042e 204212009-03-11 Robert Millan <rmh@aybabtu.com>
20422
20423 * loader/i386/multiboot_elfxx.c
20424 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
20425
b7b50e5f 204262009-03-11 Felix Zielcke <fzielcke@z-51.de>
20427
20428 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
20429 `kern/handler.c'.
20430
1ca7fc96 204312009-03-11 Robert Millan <rmh@aybabtu.com>
20432
20433 * loader/i386/multiboot.c (code_size): New variable.
20434 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 20435 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 20436 4-byte alignment to MBI and others by increasing
7d074e3c 20437 `boot_loader_name_length' appropriately.
1ca7fc96 20438
20439 * loader/i386/multiboot_elfxx.c
20440 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
20441
a83ea1d2 204422009-03-09 Felix Zielcke <fzielcke@z-51.de>
20443
20444 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
20445 `fs/ext2.c'.
20446
aa9f3bff 204472009-03-08 Robert Millan <rmh@aybabtu.com>
20448
20449 Make loader/i386/linux.c usable on i386-pc again.
20450
20451 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
20452 memory to heap.
20453 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
20454 `#error' stanza.
20455
d8b3b60e 204562009-03-07 Bean <bean123ch@gmail.com>
20457
20458 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
20459 allocation.
20460
b362c9e9 204612009-03-06 Robert Millan <rmh@aybabtu.com>
20462
20463 Fix display issue on terminals with screen size other than 80x25
20464 (e.g. gfxterm with resolution higher than 640x480).
20465
20466 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 20467 position relative to the center of the terminal instead of relying
b362c9e9 20468 on a hardcoded offset.
20469
9304eef1 204702009-03-04 Robert Millan <rmh@aybabtu.com>
20471
20472 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
20473 installed.
20474
20475 * Makefile.in (host_kernel): New variable.
20476 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
20477 scripts instead of just the windows one.
20478 * configure.ac: Initialize and AC_SUBST `host_kernel'.
20479
eabc95fb 204802009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 20481
20482 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
20483 `kern/handler.c'.
20484 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20485 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20486 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20487 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20488 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20489 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20490
ceb1223c 204912009-03-04 Felix Zielcke <fzielcke@z-51.de>
20492
20493 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
20494 or if there's no space for the disk label and print the partition number on a
20495 invalid magic.
20496
4910684a 204972009-03-04 Felix Zielcke <fzielcke@z-51.de>
20498
20499 * util/misc.c: Include <time.h>.
20500 (grub_millisleep): New function.
20501
7e9ca17a 205022009-03-04 Bean <bean123ch@gmail.com>
20503
20504 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
20505 another option -mno-red-zone.
20506
20507 * commands/handler.c: Change module description.
20508
20509 * kern/handler.c: Add missing space at the end of description line.
20510
20511 * kern/list.c: Likewise.
20512
f501677c 205132009-03-03 Robert Millan <rmh@aybabtu.com>
20514
20515 Move more components to the relocation area, and fix mbi pointer
20516 handling to use the destination rather than the origin (thanks to
20517 Vladimir Serbinenko for spotting).
20518
20519 * loader/i386/multiboot.c (mbi_dest): New variable.
20520 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
20521 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
20522 relocation area.
20523
9902d047 205242009-03-01 Bean <bean123ch@gmail.com>
20525
50fb7002 20526 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 20527 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
20528 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
20529 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
20530
20531 * loader/i386/efi/linux.c (acpi_guid): New variable.
20532 (acpi_guid): Likewise.
20533 (EBDA_SEG_ADDR): New constant.
20534 (LOW_MEM_ADDR): Likewise.
20535 (FAKE_EBDA_SEG): Likewise.
20536 (fake_bios_data): New function.
20537 (grub_linux_boot): Call fake_bios_data.
20538
71b9f361 205392009-03-01 Bean <bean123ch@gmail.com>
20540
20541 * commands/terminal.c: Removed.
20542
20543 * commands/handler.c: New file.
20544
20545 * include/grub/list.h: Likewise.
20546
20547 * include/grub/handler.h: Likewise.
20548
20549 * kern/list.c: Likewise.
20550
20551 * kern/handler.c: Likewise.
20552
20553 * kern/term.h: Include header file <grub/handler.h>.
20554 (grub_term_input): Move next field to the beginning.
20555 (grub_term_output): Likewise.
20556 (grub_term_input_class): New variable.
20557 (grub_term_output_class): Likewise.
20558 (grub_term_register_input): Changed to inline function.
20559 (grub_term_register_output): Likewise.
20560 (grub_term_unregister_input): Likewise.
20561 (grub_term_unregister_output): Likewise.
20562 (grub_term_set_current_input): Likewise.
20563 (grub_term_set_current_output): Likewise.
20564 (grub_term_get_current_input): Likewise.
20565 (grub_term_get_current_output): Likewise.
20566 (grub_term_iterate_input): Removed.
20567 (grub_term_iterate_output): Likewise.
20568
20569 * kern/term.c (grub_term_list_input): Removed.
20570 (grub_term_list_output): Likewise.
20571 (grub_term_input_class): New variable.
20572 (grub_term_output_class): Likewise.
50fb7002 20573 (grub_cur_term_input): Change variable as macro.
71b9f361 20574 (grub_cur_term_output): Likewise.
20575 (grub_term_register_input): Removed.
20576 (grub_term_register_output): Likewise.
20577 (grub_term_unregister_input): Likewise.
20578 (grub_term_unregister_output): Likewise.
20579 (grub_term_set_current_input): Likewise.
20580 (grub_term_set_current_output): Likewise.
20581 (grub_term_iterate_input): Likewise.
20582 (grub_term_iterate_output): Likewise.
20583 (grub_term_get_current_input): Likewise.
20584 (grub_term_get_current_output): Likewise.
20585
20586 * util/grub-editenv.c: Include header file <grub/handler.h>.
20587 (grub_term_get_current_input): Removed.
20588 (grub_term_get_current_output): Likewise.
20589 (grub_term_input_class): New variable.
50fb7002 20590 (grub_term_output_class): Likewise.
71b9f361 20591
20592 * util/grub-fstest.c (grub_term_get_current_input): Removed.
20593 (grub_term_get_current_output): Likewise.
20594 (grub_term_input_class): New variable.
50fb7002 20595 (grub_term_output_class): Likewise.
71b9f361 20596
20597 * util/grub-probe.c (grub_term_get_current_input): Removed.
20598 (grub_term_get_current_output): Likewise.
20599 (grub_term_input_class): New variable.
50fb7002 20600 (grub_term_output_class): Likewise.
71b9f361 20601
20602 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
20603 (grub_term_get_current_output): Likewise.
20604 (grub_term_input_class): New variable.
50fb7002 20605 (grub_term_output_class): Likewise.
71b9f361 20606
20607 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
20608 (terminal_mod_SOURCES): Likewise.
20609 (terminal_mod_CFLAGS): Likewise.
20610 (terminal_mod_LDFLAGS): Likewise.
20611
20612 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
20613 handler.c.
20614 (kernel_img_SOURCES): Add list.c and handler.c.
20615 (kernel_img_HEADERS): Add list.h and handler.h.
20616
20617 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
20618 handler.c.
20619 (kernel_mod_SOURCES): Add list.c and handler.c.
20620 (kernel_mod_HEADERS): Add list.h and handler.h.
20621
20622 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
20623 handler.c.
20624 (kernel_elf_SOURCES): Add list.c and handler.c.
20625 (kernel_elf_HEADERS): Add list.h and handler.h.
20626
20627 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
20628 handler.c.
20629 (kernel_elf_SOURCES): Add list.c and handler.c.
20630 (kernel_elf_HEADERS): Add list.h and handler.h.
20631
20632 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
20633 handler.c.
20634 (kernel_mod_SOURCES): Add list.c and handler.c.
20635 (kernel_mod_HEADERS): Add list.h and handler.h.
20636
20637 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
20638 handler.c.
20639 (kernel_elf_SOURCES): Add list.c and handler.c.
20640 (kernel_elf_HEADERS): Add list.h and handler.h.
20641
8a31787f 206422009-02-27 Robert Millan <rmh@aybabtu.com>
20643
20644 Factorize elf32 / elf64 code in Multiboot loader. This will
20645 prevent it from getting out of sync again.
20646
20647 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
20648 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
20649 grub_multiboot_load_elf64): Move from here ...
20650 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
20651 grub_multiboot_load_elf): ... to here (new file).
20652
51cd3dfc 206532009-02-27 Robert Millan <rmh@aybabtu.com>
20654
20655 * util/grub.d/10_linux.in: Rename "single-user mode" to
20656 "recovery mode".
20657
6e8c9c3a 206582009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
20659
20660 Don't leak in SCSI code.
20661 * disk/scsi.c (grub_scsi_close): free `scsi'.
20662
4b6bf4f9 206632009-02-27 Robert Millan <rmh@aybabtu.com>
20664
20665 * loader/i386/pc/multiboot.c: Move from here ...
20666 * loader/i386/multiboot.c: ... to here. Update all users.
20667
b9413424 206682009-02-27 Robert Millan <rmh@aybabtu.com>
20669
20670 Patch from Alexandre Bique <bique.alexandre@gmail.com>
20671 * util/i386/pc/grub-setup.c (setup): Fix directory path.
20672
50fb7002 206732009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 20674
20675 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
20676 b-tree.
20677
8cc50345 206782009-02-27 Robert Millan <rmh@aybabtu.com>
20679
20680 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
20681 `0x' qualifier as 0 when base is specified as parameter).
20682
6e09b8b7 206832009-02-24 Bean <bean123ch@gmail.com>
20684
20685 * configure.ac: Check for -mcmodel=large in x86_64 target.
20686
20687 * include/grub/efi/api.h (efi_call_10): New macro.
20688 (efi_wrap_10): New function.
20689
20690 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
20691 (GRUB_PE32_REL_BASED_HIGH): Likewise.
20692 (GRUB_PE32_REL_BASED_LOW): Likewise.
20693 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
20694 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
20695 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
20696 (GRUB_PE32_REL_BASED_SECTION): Likewise.
20697 (GRUB_PE32_REL_BASED_REL): Likewise.
20698 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
20699 (GRUB_PE32_REL_BASED_DIR64): Likewise.
20700 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
20701
20702 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
20703 issue.
20704
20705 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
20706 (efi_wrap_10): New function.
20707
20708 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
20709
20710 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
20711 MB/MBP model (NV chipset).
20712 (devdata_devs): Add devpath_5 to the list.
20713
20714 * load/i386/efi/linux.c (video_base): Remove variable.
20715 (RGB_MASK): New macro.
20716 (RGB_MAGIC): Likewise.
20717 (LINE_MIN): Likewise.
20718 (LINE_MAX): Likewise.
20719 (FBTEST_STEP): Likewise.
20720 (FBTEST_COUNT): Likewise.
20721 (fb_list): New variable.
20722 (grub_find_video_card): Remove function.
20723 (find_framebuf): New function.
20724 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
20725 line length.
20726
20727 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
20728 problem for x86_64.
20729
74b21bee 207302009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
20731
20732 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
20733
20734 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
20735 coding tool name.
20736
a455f472 207372009-02-22 Robert Millan <rmh@aybabtu.com>
20738
20739 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
20740 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
20741 in our relocation, instead of using it directly from heap. Also
20742 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
20743
6374daf3 207442009-02-21 Robert Millan <rmh@aybabtu.com>
20745
20746 Implement USB keyboard support (based on patch by Marco Gerards)
20747
20748 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
20749 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
20750 (usb_keyboard_mod_LDFLAGS): New variables.
20751
20752 * term/usb_keyboard.c: New file.
20753
8fa4ea70 207542009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
20755
20756 Corrected wrong declaration
20757
20758 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
20759
353976ac 207602009-02-14 Christian Franke <franke@computer.org>
20761
20762 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
20763 (grub_lspci_iter): Print class code and programming interface byte.
20764
6aa1169b 207652009-02-14 Christian Franke <franke@computer.org>
20766
20767 * gendistlist.sh: Ignore `.svn' directories.
20768
265372ca 207692009-02-14 Felix Zielcke <fzielcke@z-51.de>
20770
20771 * fs/fat.c: Add 2009 to Copyright line.
20772
9ff516f3 207732009-02-14 Christian Franke <franke@computer.org>
20774
20775 * commands/hdparm.c: New file. Provides `hdparm' command
20776 which sends ATA commands via grub_disk_ata_pass_through ().
20777
20778 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
20779
20780 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
20781 and <grub/cpu/io.h> to include/grub/ata.h.
20782 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
20783 (GRUB_CDROM_SECTOR_SIZE): Remove.
20784 (GRUB_ATA_*): Move to include/grub/ata.h.
20785 (GRUB_ATAPI_*): Likewise.
20786 (enum grub_ata_commands): Likewise.
20787 (enum grub_ata_timeout_milliseconds): Likewise.
20788 (struct grub_ata_device): Likewise.
20789 (grub_ata_regset): Likewise.
20790 (grub_ata_regget): Likewise.
20791 (grub_ata_regset2): Likewise.
20792 (grub_ata_regget2): Likewise.
20793 (grub_ata_check_ready): Likewise.
20794 (grub_ata_wait_not_busy): Remove static, exported in
20795 include/grub/ata.h.
20796 (grub_ata_wait_drq): Likewise.
20797 (grub_ata_pio_read): Likewise.
20798
20799 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
20800 function for hdparm.mod.
20801
20802 * include/grub/ata.h: New file, contains declarations from
20803 disk/ata.c.
20804 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
20805
20806 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
20807 (grub_disk_ata_pass_through): New exported variable.
20808
20809 * kern/disk.c (grub_disk_ata_pass_through): New variable.
20810
772e23da 208112009-02-13 Colin D Bennett <colin@gibibit.com>
20812
20813 Support multiple fallback entries, and provide an API to support
20814 executing default+fallback menu entries. Renamed the `terminal' menu
20815 viewer to `text'.
20816
20817 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
20818 variable declaration.
20819 (grub_menu_execute_callback): New structure declaration.
20820 (grub_menu_execute_callback_t): New typedef.
20821 (grub_menu_execute_with_fallback): New function declaration.
20822 (grub_menu_get_entry): Likewise.
20823 (grub_menu_get_timeout): Likewise.
20824 (grub_menu_set_timeout): Likewise.
20825
20826 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
20827
20828 * normal/menu.c (grub_wait_after_message): Moved to
20829 `normal/menu_text.c'.
20830 (draw_border): Likewise.
20831 (print_message): Likewise.
20832 (print_entry): Likewise.
20833 (print_entries): Likewise.
20834 (grub_menu_init_page): Likewise.
20835 (get_entry_number): Likewise.
20836 (print_timeout): Likewise.
20837 (run_menu): Likewise.
20838 (grub_menu_execute_entry): Likewise.
20839 (show_text_menu): Likewise.
20840 (get_and_remove_first_entry_number): New function.
20841 (grub_menu_execute_with_fallback): Likewise.
20842 (get_entry): Renamed to ...
20843 (grub_menu_get_entry): .. this and made it global.
20844 (get_timeout): Renamed to ...
20845 (grub_menu_get_timeout): ... this and made it global.
20846 (set_timeout): Renamed to ...
20847 (grub_menu_set_timeout): ... this and made it global.
20848 (grub_normal_terminal_menu_viewer): Renamed to ...
20849 (grub_normal_text_menu_viewer): ... this.
20850
20851 * normal/menu_text.c: New file. Extracted text-menu-specific code
20852 from normal/menu.c.
20853
20854 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
20855 (normal_mod_SOURCES): Likewise.
20856
20857 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20858 (normal_mod_SOURCES): Likewise.
20859
20860 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20861 (normal_mod_SOURCES): Likewise.
20862
20863 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
20864 (normal_mod_SOURCES): Likewise.
20865
20866 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20867 (normal_mod_SOURCES): Likewise.
20868
20869 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20870 (normal_mod_SOURCES): Likewise.
20871
20872 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20873 (normal_mod_SOURCES): Likewise.
20874
16ac430e 208752009-02-11 Robert Millan <rmh@aybabtu.com>
20876
20877 * util/grub.d/00_header.in: Update old reference to `font' command.
20878
06ff20fc 208792009-02-10 Felix Zielcke <fzielcke@z-51.de>
20880
20881 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
20882
20883 Based on patch from Javier Martín.
20884
96da9407 208852009-02-09 Felix Zielcke <fzielcke@z-51.de>
20886
20887 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 20888 to avoid false positives with FAT.
96da9407 20889 (grub_fstest_SOURCES): Likewise.
20890 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20891 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20892 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20893 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
20894 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20895 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20896
6dca6fe4 208972009-02-09 Felix Zielcke <fzielcke@z-51.de>
20898
06ff20fc 20899 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 20900 bpb.version_specific.fat12_or_fat16.fstype and
20901 bpb.version_specific.fat32.fstype.
20902
2550c62f 209032009-02-08 Robert Millan <rmh@aybabtu.com>
20904
be110b30 20905 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 20906
56978920 209072009-02-08 Robert Millan <rmh@aybabtu.com>
20908
20909 * Makefile.in (host_os, host_cpu): New variables.
20910 (target_os): Remove. Update all users.
20911
d64399b5 209122009-02-08 Marco Gerards <marco@gnu.org>
20913
20914 * Makefile.in (enable_grub_emu_usb): New variable.
20915 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
20916 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
20917 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
20918 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
20919 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
20920 `usbtest.mod' and `usbms.mod'.
20921 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
20922 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
20923 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
20924 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
20925 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
20926 variables.
20927
20928 * disk/usbms.c: New file.
20929
20930 * include/grub/usb.h: Likewise.
20931
20932 * include/grub/usbtrans.h: Likewise.
20933
20934 * include/grub/usbdesc.h: Likewise.
20935
20936 * bus/usb/usbtrans.c: Likewise.
20937
20938 * bus/usb/ohci.c: Likewise.
20939
20940 * bus/usb/uhci.c: Likewise.
20941
20942 * bus/usb/usbhub.c: Likewise.
20943
20944 * bus/usb/usb.c: Likewise.
20945
20946 * commands/usbtest.c: Likewise.
20947
20948 * util/usb.c: Likewise.
50fb7002 20949
d64399b5 20950 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
20951
20952 * configure.ac: Test for libusb presence.
50fb7002 20953
d64399b5 20954 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
20955
2b40d6bb 209562009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
20957
20958 * kern/mm.c: Add more comments.
20959
73a4ce81 209602009-02-08 Robert Millan <rmh@aybabtu.com>
20961
20962 Patch from Javier Martín.
20963 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
20964 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
20965
f821ce59 209662009-02-08 Robert Millan <rmh@aybabtu.com>
20967
20968 * fs/cpio.c: Split tar functionality to ...
20969 * fs/tar.c: ... here (new file). Update all users.
20970
aebfc4b0 209712009-02-07 Robert Millan <rmh@aybabtu.com>
20972
20973 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
20974 backward-incompatible features.
20975
20976 Based on patch from Javier Martín, with some adjustments.
20977
50fb7002 209782009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 20979
20980 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
20981
0bb5115e 209822009-02-07 Robert Millan <rmh@aybabtu.com>
20983
20984 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
20985 position of `disk/lvm.c' to ensure grub_init_all() always picks it
20986 after the RAID stuff.
20987
38a0f8e7 209882009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
20989
50fb7002 20990 Fixes problem when running vbetest command as reported by
38a0f8e7 20991 Vladimir Serbinenko <phcoder@gmail.com>.
20992
20993 * (grub_vbe_set_video_mode): Fixed problem with text modes.
20994
3143cc1c 209952009-02-04 Felix Zielcke <fzielcke@z-51.de>
20996
20997 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
20998 /dev/md/NpN style mdraid devices.
20999
9cba6fce 210002009-02-03 Felix Zielcke <fzielcke@z-51.de>
21001
21002 * util/unifont2pff.rb: Remove.
21003
e507a2c1 210042009-02-03 Felix Zielcke <fzielcke@z-51.de>
21005
21006 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
21007 `#'.
21008
d2c2b4cd 210092009-02-03 Felix Zielcke <fzielcke@z-51.de>
21010
21011 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
21012 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21013 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21014 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
21015 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21016 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21017 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21018
b4315fb0 210192009-02-02 Christian Franke <franke@computer.org>
21020
21021 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
21022
de3aa260 210232009-02-01 Felix Zielcke <fzielcke@z-51.de>
21024
7c3ff286 21025 * INSTALL: Note that we now require at least autoconf 2.59 and
21026 that LZO is optional.
de3aa260 21027
825a182b 210282009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
21029
21030 Base on patch on bug #24154 created by Tomas Tintera
21031 <trosos@seznam.cz>.
21032
21033 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
21034
a69ef770 210352009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
21036
7c3ff286 21037 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 21038 <bero@arklinux.org>.
21039
21040 * normal/parser.y (script_init): Add missing semicolon.
21041
6fa42fa6 210422009-01-31 Colin D Bennett <colin@gibibit.com>
21043
7c3ff286 21044 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 21045 (free_menu_entry_classes): Added.
21046 (grub_normal_menu_addentry): Added class property handling.
21047 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
21048 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
21049
21050 * normal/menu_viewer.c: New file.
21051
21052 * normal/menu.c (run_menu_entry): Renamed to ...
21053 (grub_menu_execute_entry): ... this and made it as global.
21054 (grub_menu_run): Renamed to ...
21055 (show_text_menu): ... this and made it local.
21056 (show_text_menu): Adapt to new function names.
21057 (grub_normal_terminal_menu_viewer): New global variable.
21058
21059 * include/grub/menu.h: New file.
21060
21061 * include/grub/menu_viewer.h: New file.
21062
21063 * include/grub/normal.h: Added include to grub/menu.h.
21064 (grub_menu_entry): Moved to include/grub/menu.h.
21065 (grub_menu_entry_t): Likewise.
21066 (grub_menu): Likewise.
21067 (grub_menu_t): Likewise.
21068 (grub_normal_terminal_menu_viewer): Added.
21069 (grub_menu_execute_entry): Likewise.
21070 (grub_menu_run): Removed.
21071
21072 * DISTLIST: Added include/grub/menu.h.
21073 Added include/grub/menu_viewer.h.
21074 Added normal/menu_viewer.c.
21075
210762009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
21077
21078 * normal/execute.c (grub_script_execute_menuentry): Changed to use
21079 arglist for menutitle arguments.
21080
21081 * normal/main.c (grub_normal_menu_addentry): Likewise.
21082
21083 * normal/parser.y (menuentry): Likewise.
21084
21085 * normal/script.c (grub_script_create_cmdmenu): Likewise.
21086
21087 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
21088 (grub_script_create_cmdmenu): Likewise.
21089
21090 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
21091
21092 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
21093 changes.
21094
21095 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
21096
21097 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
21098
21099 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
21100
21101 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21102
21103 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21104
21105 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
21106
56192c23 211072009-01-30 Christian Franke <franke@computer.org>
21108
21109 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
21110 in option help text.
21111
d72521b3 211122009-01-27 Pavel Roskin <proski@gnu.org>
21113
21114 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
21115
994b5e84 211162009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
21117
21118 * commands/lsmmap.c: Add include to grub/machine/memory.h.
21119
21120 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
21121
21122 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
21123 unregister function.
21124
6a7eab2c 211252009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
21126
21127 * disk/scsi.c (grub_scsi_read): Fix sign problem.
21128
21129 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
21130
21131 * util/grub-mkfont.c (usage): Fix typo.
21132
21133 * util/elf/grub-mkimage.c (load_modules): Fix warning.
21134
1806b56e 211352009-01-26 Daniel Mierswa <impulze@impulze.org>
21136
3fb18f09 21137 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
21138
336e1fb9 21139 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
21140
1806b56e 21141 * kern/misc.c (grub_strcasecmp): New function.
21142 (grub_strcasecmp): Use grub_size_t instead of int for length.
21143 Fix return value.
21144 * include/grub/misc.h: Update function prototypes.
21145
580b2a0f 211462009-01-26 Robert Millan <rmh@aybabtu.com>
21147
21148 * configure.ac: Fix cross-compilation check.
ef257b36 21149
d31c24f1 211502009-01-22 Christian Franke <franke@computer.org>
21151
21152 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
21153 (precision) digit string. Allow `.format2' without `format1' (width).
21154 Limit input chars for `%s' output to `format2' if specified. This is
21155 compatible with standard printf ().
21156
3138b44c 211572009-01-22 Christian Franke <franke@computer.org>
21158
21159 * disk/ata.c (grub_ata_wait_status): Replace by ...
21160 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
21161 other status bits may be invalid while BSY is asserted.
21162 (grub_ata_check_ready): New function.
21163 (grub_ata_cmd): Removed.
21164 (grub_ata_wait_drq): New function.
21165 (grub_ata_strncpy): Remove inline.
21166 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
21167 and error check now done by grub_ata_wait_drq ().
21168 (grub_ata_pio_write): Likewise.
21169 (grub_atapi_identify): Set DEV before check for !BSY. Use
21170 grub_ata_wait_drq () to wait for data.
21171 (grub_ata_device_initialize): Add status register check to
21172 detect missing SATA slave devices. Add debug messages.
21173 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
21174 (grub_atapi_packet): Set DEV before check for !BSY. Replace
21175 transfer loop by grub_ata_pio_write ().
21176 (grub_ata_identify): Set DEV before check for !BSY. Use
21177 grub_ata_wait_drq () to wait for data.
ef257b36 21178 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 21179 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
21180 read/write in one loop. Fix invalid command on write. Fix incomplete
21181 command on (size % batch) == 0. Add missing error check after write of
21182 last block. Add debug messages.
21183 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
21184
59a64ef6 211852009-01-19 Christian Franke <franke@computer.org>
21186
21187 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
21188 (GRUB_ATAPI_IREASON_*): Likewise.
21189 (grub_ata_pio_write): Fix timeout error return.
21190 (grub_atapi_identify): Add grub_ata_wait () after cmd.
21191 (grub_atapi_wait_drq): New function.
21192 (grub_atapi_packet): New parameter `size'.
21193 Use grub_atapi_wait_drq () and direct write instead of
21194 grub_ata_pio_write ().
21195 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
21196 reads the number of bytes requested by the device for each DRQ
21197 assertion.
21198 (grub_atapi_write): Remove old implementation, return not
21199 implemented instead.
21200
1cfe20b3 212012009-01-19 Christian Franke <franke@computer.org>
21202
21203 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
21204 of 512 to calculate data size.
21205 (grub_scsi_read12): Likewise.
21206 (grub_scsi_write10): Likewise.
21207 (grub_scsi_write12): Likewise.
21208 (grub_scsi_read): Adjust size according to blocksize.
21209 Add checks for invalid blocksize and unaligned transfer.
21210
bee5fe5d 212112009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
21212
21213 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
21214
ef257b36 21215 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 21216 width glyphs.
21217
3e643f8c 212182009-01-19 Robert Millan <rmh@aybabtu.com>
21219
21220 * config.guess: Update to latest version from config git.
21221 * config.sub: Likewise.
21222
4fa80998 212232009-01-17 Felix Zielcke <fzielcke@z-51.de>
21224
21225 * Makefile.in: Change font compilation to use new grub-mkfont instead
21226 of java version.
21227
21228 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
21229 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
21230 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21231 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
21232 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
21233 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
21234 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
21235 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
21236 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
21237
7086085b 212382009-01-16 Christian Franke <franke@computer.org>
21239
21240 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
21241 (enum grub_ata_timeout_milliseconds): New enum.
21242 (grub_ata_wait_status): Add parameter milliseconds.
21243 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
21244 recovery from timed-out commands.
21245 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
21246 return grub_errno instead of REG_ERROR.
21247 (grub_ata_pio_write): Add parameter milliseconds.
21248 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
21249 Pass milliseconds to grub_ata_wait_status () and
21250 grub_ata_pio_read ().
21251 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
21252 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
21253 grub_ata_wait_status (). Fix IDENTIFY timeout check.
21254 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
21255 It is not suitable for device detection, because DEV bit is ignored,
21256 the command may run too long, and not all devices set the signature
21257 properly.
21258 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
21259 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
21260 Fix device selection, DEV bit must be set first to address the registers
21261 of the correct device.
21262 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
21263 grub_ata_pio_read/write ().
21264 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
21265 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
21266
4a412913 212672009-01-13 Carles Pina i Estany <carles@pina.cat>
21268
21269 * util/grub-editenv.c (main): Use fseeko(), not fseek().
21270
7795c55e 212712009-01-13 Bean <bean123ch@gmail.com>
d913988c 21272
21273 * util/grub-mkfont.c (write_font): forget to remove some debug code.
21274
7795c55e 212752009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 21276
21277 * Makefile.in: (enable_grub_mkfont): New variable.
21278 (freetype_cflags): Likewise.
21279 (freetype_libs): Likewise.
21280
21281 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
21282 (grub_mkfont_SOURCES): New variable.
21283 (grub_mkfont_CFLAGS): Likewise.
21284 (grub_mkfont_LDFLAGS): Likewise.
21285
21286 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
21287 library if `--enable-grub-mkfont' is requested.
21288 (enable_grub_mkfont): New variable.
21289 (freetype_cflags): Likewise.
21290 (freetype_libs): Likewise.
21291
21292 * util/grub-mkfont.c: New file.
21293
093af1fe 212942009-01-12 Christian Franke <franke@computer.org>
21295
21296 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
21297 mode check. Fix setting of compat_use[].
21298
f36cc108 212992009-01-10 Robert Millan <rmh@aybabtu.com>
21300
21301 Update a few copyright years which we forgot to do in 2008 (only for
21302 files whose changes made in 2008 were copyright-significant)
21303
21304 * Makefile.in: Add 2008 to Copyright line.
21305 * disk/ieee1275/ofdisk.c: Likewise.
21306 * disk/efi/efidisk.c: Likewise.
21307 * kern/dl.c: Likewise.
21308 * kern/sparc64/ieee1275/init.c: Likewise.
21309 * kern/mm.c: Likewise.
21310 * kern/efi/mm.c: Likewise.
21311 * boot/i386/pc/boot.S: Likewise.
21312 * genfslist.sh: Likewise.
21313 * fs/iso9660.c: Likewise.
21314 * fs/hfs.c: Likewise.
21315 * fs/jfs.c: Likewise.
21316 * fs/minix.c: Likewise.
21317 * fs/ufs.c: Likewise.
21318 * gensymlist.sh.in: Likewise.
21319 * genkernsyms.sh.in: Likewise.
21320 * include/grub/misc.h: Likewise.
21321 * include/grub/types.h: Likewise.
21322 * include/grub/symbol.h: Likewise.
21323 * include/grub/elf.h: Likewise.
21324 * include/grub/kernel.h: Likewise.
21325 * include/grub/disk.h: Likewise.
21326 * include/grub/dl.h: Likewise.
21327 * include/grub/i386/linux.h: Likewise.
21328 * include/grub/i386/pc/biosdisk.h: Likewise.
21329 * include/grub/efi/api.h: Likewise.
21330 * include/grub/efi/pe32.h: Likewise.
21331 * include/grub/util/misc.h: Likewise.
21332 * normal/execute.c: Likewise.
21333 * normal/arg.c: Likewise.
21334 * normal/completion.c: Likewise.
21335 * normal/lexer.c: Likewise.
21336 * normal/parser.y: Likewise.
21337 * normal/misc.c: Likewise.
21338 * commands/i386/pc/vbeinfo.c: Likewise.
21339 * commands/hexdump.c: Likewise.
21340 * commands/terminal.c: Likewise.
21341 * commands/ls.c: Likewise.
21342 * commands/help.c: Likewise.
21343 * partmap/pc.c: Likewise.
21344 * loader/efi/chainloader.c: Likewise.
21345 * loader/multiboot_loader.c: Likewise.
21346 * loader/i386/pc/multiboot2.c: Likewise.
21347 * term/efi/console.c: Likewise.
21348 * term/i386/pc/serial.c: Likewise.
21349 * util/lvm.c: Likewise.
21350 * util/console.c: Likewise.
21351 * util/i386/efi/grub-mkimage.c: Likewise.
21352 * util/raid.c: Likewise.
21353
7f02114b 213542009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
21355
21356 * commands/videotest.c: Removed include to grub/machine/memory.h.
21357
21358 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
21359 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
21360 (video_mod_SOURCES): Removed.
21361 (video_mod_CFLAGS): Likewise.
21362 (video_mod_LDFLAGS): Likewise.
21363 (gfxterm_mod_SOURCES): Likewise.
21364 (gfxterm_mod_CFLAGS): Likewise.
21365 (gfxterm_mod_LDFLAGS): Likewise.
21366 (videotest_mod_SOURCES): Likewise.
21367 (videotest_mod_CFLAGS): Likewise.
21368 (videotest_mod_LDFLAGS): Likewise.
21369 (bitmap_mod_SOURCES): Likewise.
21370 (bitmap_mod_CFLAGS): Likewise.
21371 (bitmap_mod_LDFLAGS): Likewise.
21372 (tga_mod_SOURCES): Likewise.
21373 (tga_mod_CFLAGS): Likewise.
21374 (tga_mod_LDFLAGS): Likewise.
21375 (jpeg_mod_SOURCES): Likewise.
21376 (jpeg_mod_CFLAGS): Likewise.
21377 (jpeg_mod_LDFLAGS): Likewise.
21378 (png_mod_SOURCES): Likewise.
21379 (png_mod_CFLAGS): Likewise.
21380 (png_mod_LDFLAGS): Likewise.
21381
21382 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
21383 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
21384 (video_mod_SOURCES): Added.
21385 (video_mod_CFLAGS): Likewise.
21386 (video_mod_LDFLAGS): Likewise.
21387 (videotest_mod_SOURCES): Likewise.
21388 (videotest_mod_CFLAGS): Likewise.
21389 (videotest_mod_LDFLAGS): Likewise.
21390 (bitmap_mod_SOURCES): Likewise.
21391 (bitmap_mod_CFLAGS): Likewise.
21392 (bitmap_mod_LDFLAGS): Likewise.
21393 (tga_mod_SOURCES): Likewise.
21394 (tga_mod_CFLAGS): Likewise.
21395 (tga_mod_LDFLAGS): Likewise.
21396 (jpeg_mod_SOURCES): Likewise.
21397 (jpeg_mod_CFLAGS): Likewise.
21398 (jpeg_mod_LDFLAGS): Likewise.
21399 (png_mod_SOURCES): Likewise.
21400 (png_mod_CFLAGS): Likewise.
21401 (png_mod_LDFLAGS): Likewise.
21402 (gfxterm_mod_SOURCES): Likewise.
21403 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 21404 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 21405
21406 * term/gfxterm.c: Removed include to grub/machine/memory.h,
21407 grub/machine/console.h.
21408
644fff97 214092009-01-04 Jerone Young <jerone@gmail.com>
21410
21411 Make on screen instructions clearer
21412
21413 Based on patch created by Jidanni <jidanni@jidanni.org>
21414
21415 * normal/menu.c: print clearer instructions on the screen
21416
1e901a75 214172009-01-02 Colin D Bennett <colin@gibibit.com>
21418
21419 New font engine.
34c44600 21420
1e901a75 21421 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
21422 build system and fixed gfxterm.c to work with different sized fonts.
21423
21424 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 21425
1e901a75 21426 * configure: Re-generated.
34c44600 21427
1e901a75 21428 * DISTLIST: Removed font/manager.c.
21429 Added font/font.c.
21430 Added font/font_cmd.c.
34c44600 21431
1e901a75 21432 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
21433 compilation.
34c44600 21434
1e901a75 21435 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 21436
21437 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 21438
21439 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 21440
1e901a75 21441 * normal/menu.c: Likewise.
34c44600 21442
1e901a75 21443 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
21444 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 21445
1e901a75 21446 * include/grub/font.h: Replaced with new file.
34c44600 21447
1e901a75 21448 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
21449 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
21450 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
21451 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
21452 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 21453 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 21454 fg_red, fg_green, fg_blue, fg_alpha.
21455 (grub_video_adapter): Removed blit_glyph.
34c44600 21456 (grub_video_blit_glyph): Removed.
21457
1e901a75 21458 * font/manager.c: Removed file.
34c44600 21459
21460 * font/font.c: New file.
21461
1e901a75 21462 * font/font_cmd.c: Likewise.
34c44600 21463
1e901a75 21464 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 21465
1e901a75 21466 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
21467 (grub_video_vbe_map_rgba): Likewise.
21468 (grub_video_vbe_unmap_color_int): Likewise.
21469 (grub_video_vbe_blit_glyph): Removed.
21470 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 21471
1e901a75 21472 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
21473 (get_pixel): Likewise.
34c44600 21474 (set_pixel): Likewise.
21475
1e901a75 21476 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 21477
1e901a75 21478 * term/gfxterm.c: Adapted to new font engine.
34c44600 21479
1e901a75 21480 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 21481
1e901a75 21482 * term/i386/pc/vga.c: Likewise.
34c44600 21483
1e901a75 21484 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 21485
1e901a75 21486 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 21487
1e901a75 21488 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 21489
1e901a75 21490 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 21491
1e901a75 21492 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 21493
1e901a75 21494 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 21495
1e901a75 21496 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 21497
1e901a75 21498 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 21499
1e901a75 21500 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
21501
21502 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 21503
1e901a75 21504 * util/grub-mkconfig_lib.in: Changed font extension.
21505
278922e8 215062008-12-28 Felix Zielcke <fzielcke@z-51.de>
21507
21508 * util/getroot.c (grub_util_get_grub_dev): Add support for
21509 /dev/md/dNNpNN style partitionable mdraid devices.
21510
3ced05cf 215112008-12-12 Alex Smith <alex@alex-smith.me.uk>
21512
21513 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
21514 at a time limit of the PXE TFTP API correctly.
21515 (grub_pxefs_close): Likewise.
21516
7fd0ee30 215172008-11-29 Robert Millan <rmh@aybabtu.com>
21518
34c44600 21519 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 21520 grub_ata_device_initialize() calls.
21521
34c44600 215222008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 21523
21524 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
21525 iteration failed.
21526 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
21527
89313780 215282008-11-28 Robert Millan <rmh@aybabtu.com>
21529
21530 Fix build on powerpc-ieee1275. Based on patch created by
21531 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
21532 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
21533 `kern/ieee1275/mmap.c'.
21534 * include/grub/powerpc/ieee1275/memory.h: New file.
21535
15257703 21536 Provide grub-install on coreboot.
21537 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
21538 (grub_install_SOURCES): New variable.
21539 * util/i386/pc/grub-install.in: Add a few condition checks to make it
21540 usable on coreboot.
21541
9fc5388a 215422008-11-25 Felix Zielcke <fzielcke@z-51.de>
21543
21544 * util/grub-fstest.c (grub_term_get_current_input): Change return type
21545 to `grub_term_input_t'.
21546 (grub_term_get_current_output): Change return type to
21547 `grub_term_output_t'.
21548
bc3a2f31 215492008-11-22 Robert Millan <rmh@aybabtu.com>
21550
34c44600 21551 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 21552 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
21553 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
21554 grub_vga_text_cls().
21555
80fc88f2 21556 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 21557 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 21558
cbf36fd3 21559 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
21560 to 0x200000 (avoids trouble with some OFW implementations, and matches
21561 with the one in Yaboot).
21562 Reported by Manoel Abranches
21563
73e8e268 215642008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 21565
21566 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
21567 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
21568
73e8e268 21569 * util/grub-mkconfig_lib.in (grub_warn): New function.
21570 (convert_system_path_to_grub_path): Use grub_warn() when issuing
21571 warnings, to obtain consistent formatting.
21572 * util/grub.d/00_header.in: Likewise.
21573 * util/update-grub_lib.in: Likewise.
21574
e94045a1 21575 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 21576 Move comment text to `#error' stanza.
e94045a1 21577
79d29fd7 21578 Harmonize ieee1275's grub_available_iterate() with the generic
21579 grub_machine_mmap_iterate() interface (fixes a recently-introduced
21580 build problem on i386-ieee1275):
21581 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
21582 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
21583 parameter `type'. Update all users of this function.
21584 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
21585 `kern/ieee1275/mmap.c'.
21586 * kern/ieee1275/init.c
21587 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
21588 with ...
21589 (grub_machine_mmap_iterate): ... this.
21590 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
21591 return type to `grub_err_t'. Update all implementations of this
21592 function prototype.
21593 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
21594 Likewise.
21595
60d6b16e 21596 Add `lsmmap' command (lists firmware-provided memory map):
21597 * commands/lsmmap.c: New file.
21598 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
21599 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
21600 variables.
21601 * conf/powerpc-ieee1275.rmk: Likewise.
21602 * conf/i386-coreboot.rmk: Likewise.
21603 * conf/i386-ieee1275.rmk: Likewise.
21604
ebaaf49b 216052008-11-19 Robert Millan <rmh@aybabtu.com>
21606
21607 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 21608 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
21609 constraints to initrd allocation (based on code from
21610 loader/i386/pc/linux.c). Without them, initrd was allocated too high
21611 for Linux to find it.
ebaaf49b 21612
dfab719f 216132008-11-14 Robert Millan <rmh@aybabtu.com>
21614
21615 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
21616 order to cope with duplicate slashes.
21617
10fc3eb9 216182008-11-14 Robert Millan <rmh@aybabtu.com>
21619
21620 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
21621 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
21622 don't want to mess with lower memory, because it is used in the Linux
21623 loader.
21624
21625 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 21626 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 21627 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
21628 is in our heap (probably as a result of it being corrupted during
2f2a3442 21629 decompression). Add #error instance with comment to explain why this
21630 loader isn't currently usable on PC/BIOS.
10fc3eb9 21631
e2e07847 216322008-11-14 Robert Millan <rmh@aybabtu.com>
21633
21634 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 21635 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 21636
fe8e8d69 216372008-11-12 Robert Millan <rmh@aybabtu.com>
21638
21639 Make loader/i386/linux.c buildable on i386-pc (although disabled).
21640
21641 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
21642 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
21643 from here ...
21644 * include/grub/i386/pc/memory.h: ... to here.
21645
976b07d0 216462008-11-12 Robert Millan <rmh@aybabtu.com>
21647
21648 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
21649 split).
21650
21651 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
21652 (grub_console_cur_color, grub_console_real_putchar)
21653 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
21654 (grub_console_setcolorstate, grub_console_setcolor)
21655 (grub_console_getcolor): Move from here ...
21656 * include/grub/i386/vga_common.h: ... to here (new file).
21657
21658 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
21659 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
21660 `<grub/i386/io.h>'.
21661 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
21662 `<grub/i386/vga_common.h>'.
21663
76679cd3 216642008-11-12 Robert Millan <rmh@aybabtu.com>
21665
21666 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
21667 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
21668 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
21669 variables.
21670 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
21671 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
21672
21673 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
21674 grub_console_init() with call to grub_vga_text_init().
21675 (grub_machine_fini): Replace call to
21676 grub_console_fini() with call to grub_vga_text_fini() and
21677 grub_at_keyboard_fini().
21678
21679 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
21680 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
21681 (grub_console_setcolorstate, grub_console_setcolor)
21682 (grub_console_getcolor): New function prototypes.
21683
21684 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
21685 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
21686 (grub_vga_text_setcursor): Static-ize.
21687 (grub_vga_text_term): New structure.
21688 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
21689
21690 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
21691 (grub_console_cur_color, grub_console_standard_color)
21692 (grub_console_normal_color, grub_console_highlight_color)
21693 (map_char, grub_console_putchar, grub_console_getcharwidth)
21694 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
21695 (grub_console_getcolor): Move from here ...
21696 * term/i386/vga_common.c: ... to here (same function names).
21697
95b841d3 216982008-11-12 Robert Millan <rmh@aybabtu.com>
21699
21700 Use newly-added Multiboot support in coreboot.
21701
21702 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
21703 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
21704
21705 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
21706 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
21707 (codestart): Store the MBI in `startup_multiboot_info' when we're
21708 being loaded using Multiboot.
21709
21710 * kern/i386/coreboot/init.c (grub_machine_init): Move
21711 grub_at_keyboard_init() call to beginning of function (useful for
21712 debugging). Call grub_machine_mmap_init() before attempting to use
21713 grub_machine_mmap_iterate().
21714 (grub_lower_mem, grub_upper_mem): Move from here ...
21715 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
21716 here (new file).
21717
21718 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
21719 function prototype.
21720
761ca975 217212008-11-12 Robert Millan <rmh@aybabtu.com>
21722
21723 Fix a regression introduced by the at_keyboard.mod split. Because
21724 some terminals are default on some platforms and non-default on
21725 others, the first terminal being registered determines which is
21726 going to be default.
21727
21728 * kern/term.c (grub_term_register_input): If this is the first
21729 terminal being registered, set it as the current one.
21730 (grub_term_register_output): Likewise.
21731
21732 * term/efi/console.c (grub_console_init): Do not call
21733 grub_term_set_current_output() or grub_term_set_current_input().
21734 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
21735 * term/i386/pc/console.c (grub_console_init): Likewise.
21736 (grub_console_fini): Do not call grub_term_set_current_input()
21737 (but leave grub_term_set_current_output() to restore text mode).
21738
6c529df7 217392008-11-10 Robert Millan <rmh@aybabtu.com>
21740
21741 * util/grub.d/00_header.in: Add backward compatibility check for
21742 versions of terminal.mod that don't understand `terminal_input' or
21743 `terminal_output'.
21744
132e4113 217452008-11-09 Robert Millan <rmh@aybabtu.com>
21746
21747 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
21748 `terminal_input' / `terminal_output', not `terminal'.
21749
ac293d50 217502008-11-08 Robert Millan <rmh@aybabtu.com>
21751
21752 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 21753 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 21754
0025933a 217552008-11-08 Robert Millan <rmh@aybabtu.com>
21756
21757 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 21758 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 21759 members. Update all users.
21760 * util/console.c (grub_ncurses_term): Split in ...
21761 (grub_ncurses_term_input): ... this, and ...
21762 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 21763 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 21764
37c86336 217652008-11-08 Robert Millan <rmh@aybabtu.com>
21766
21767 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
21768 (PKGDATA): Add $(pkgdata_SRCDIR).
21769 (pkglib_BUILDDIR): New variable.
21770 (pkgdata_SRCDIR): New variable.
21771 (build_env.mk): New target.
21772 (include_DATA): New variable.
21773 (install-local): Install $(include_DATA) files in $(includedir).
21774
b6c15a2d 217752008-11-07 Pavel Roskin <proski@gnu.org>
21776
d99d46f1 21777 * gendistlist.sh: Use C locale for sorting to ensure consistent
21778 output on all systems.
21779
b6c15a2d 21780 * util/grub.d/00_header.in: Remove incorrect space before
21781 "serial".
21782
c32ee8c9 217832008-11-07 Robert Millan <rmh@aybabtu.com>
21784
21785 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
21786 per specification.
21787 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
21788 * loader/multiboot_loader.c (find_multi_boot2_header): New function
21789 (based on find_multi_boot1_header).
21790 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
21791 using find_multi_boot2_header(), and abort if neither Multiboot or
21792 Multiboot headers were found.
21793
651c29b7 217942008-11-07 Robert Millan <rmh@aybabtu.com>
21795
21796 Modularize at_keyboard.mod:
21797
21798 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
21799 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
21800 (at_keyboard_mod_LDFLAGS): New variables.
21801
21802 Actual terminal split:
21803
21804 * include/grub/term.h (struct grub_term): Split in ...
21805 (struct grub_term_input): ... this, and ...
21806 (struct grub_term_output): ... this. Update all users.
21807 (grub_term_set_current): Split in ...
21808 (grub_term_set_current_input): ... this, and ...
21809 (grub_term_set_current_output): ... this.
21810 (grub_term_get_current): Split in ...
21811 (grub_term_get_current_input): ... this, and ...
21812 (grub_term_get_current_output): ... this.
21813 (grub_term_register): Split in ...
21814 (grub_term_register_input): ... this, and ...
21815 (grub_term_register_output): ... this.
21816 (grub_term_unregister): Split in ...
21817 (grub_term_unregister_input): ... this, and ...
21818 (grub_term_unregister_output): ... this.
21819 (grub_term_iterate): Split in ...
21820 (grub_term_iterate_input): ... this, and ...
21821 (grub_term_iterate_output): ... this.
21822
21823 * kern/term.c (grub_term_list): Split in ...
21824 (grub_term_list_input): ... this, and ...
21825 (grub_term_list_output): ... this. Update all users.
21826 (grub_cur_term): Split in ...
21827 (grub_cur_term_input): ... this, and ...
21828 (grub_cur_term_output): ... this. Update all users.
21829 (grub_term_set_current): Split in ...
21830 (grub_term_set_current_input): ... this, and ...
21831 (grub_term_set_current_output): ... this.
21832 (grub_term_get_current): Split in ...
21833 (grub_term_get_current_input): ... this, and ...
21834 (grub_term_get_current_output): ... this.
21835 (grub_term_register): Split in ...
21836 (grub_term_register_input): ... this, and ...
21837 (grub_term_register_output): ... this.
21838 (grub_term_unregister): Split in ...
21839 (grub_term_unregister_input): ... this, and ...
21840 (grub_term_unregister_output): ... this.
21841 (grub_term_iterate): Split in ...
21842 (grub_term_iterate_input): ... this, and ...
21843 (grub_term_iterate_output): ... this.
21844
21845 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
21846 a check for input and one for output (and only attempt to get keys
21847 from user when input works).
21848
21849 * util/grub-probe.c (grub_term_get_current): Split in ...
21850 (grub_term_get_current_input): ... this, and ...
21851 (grub_term_get_current_output): ... this.
21852 * util/grub-fstest.c: Likewise.
21853 * util/i386/pc/grub-setup.c: Likewise.
21854 * util/grub-editenv.c: Likewise.
21855
21856 Portability adjustments:
21857
21858 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
21859 `term/i386/pc/at_keyboard.c'.
21860 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
21861 grub_keyboard_controller_init() (now handled by terminal .init).
21862 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
21863 grub_at_keyboard_init().
21864 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
21865 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
21866 at_keyboard.mod via input terminal interface).
21867 * include/grub/i386/coreboot/console.h: Convert into a stub for
21868 `<grub/i386/pc/console.h>'.
21869
21870 Migrate full terminals to new API:
21871
21872 * term/efi/console.c (grub_console_term): Split into ...
21873 (grub_console_term_input): ... this, and ...
21874 (grub_console_term_output): ... this. Update all users.
21875 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
21876 (grub_ofconsole_init): Split into ...
21877 (grub_ofconsole_init_input): ... this, and ...
21878 (grub_ofconsole_init_output): ... this.
21879 (grub_ofconsole_term): Split into ...
21880 (grub_ofconsole_term_input): ... this, and ...
21881 (grub_ofconsole_term_output): ... this. Update all users.
21882 * term/i386/pc/serial.c (grub_serial_term): Split into ...
21883 (grub_serial_term_input): ... this, and ...
21884 (grub_serial_term_output): ... this. Update all users.
21885 * term/i386/pc/console.c (grub_console_term): Split into ...
21886 (grub_console_term_input): ... this, and ...
21887 (grub_console_term_output): ... this. Update all users.
21888 (grub_console_term_input): Only enable it on PC/BIOS platform.
21889 (grub_console_init): Remove grub_keyboard_controller_init() call.
21890
21891 Migrate input terminals to new API:
21892
21893 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
21894 `i386' and `i386/pc' to enable build on x86_64 (this driver is
21895 i386-specific anyway).
21896 (grub_console_checkkey): Rename to ...
21897 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
21898 users.
21899 (grub_keyboard_controller_orig): New variable.
21900 (grub_console_getkey): Rename to ...
21901 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
21902 users.
21903 (grub_keyboard_controller_init): Static-ize. Save original
21904 controller value so that it can be restored ...
21905 (grub_keyboard_controller_fini): ... here (new function).
21906 (grub_at_keyboard_term): New structure.
21907 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
21908 functions.
21909
21910 Migrate output terminals to new API:
21911
21912 * term/i386/pc/vga.c (grub_vga_term): Change type to
21913 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21914 members. Update all users.
21915 * term/gfxterm.c (grub_video_term): Change type to
21916 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
21917 members. Update all users.
21918 * include/grub/i386/pc/console.h (grub_console_checkkey)
21919 (grub_console_getkey): Do not export (no longer needed by gfxterm,
21920 etc).
21921
21922 Migrate `terminal' command and userland tools to new API:
21923
21924 * commands/terminal.c (grub_cmd_terminal): Split into ...
21925 (grub_cmd_terminal_input): ... this, and ...
21926 (grub_cmd_terminal_output): ... this.
21927 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
21928 `terminal_input' and `terminal_output'.
21929 * util/grub.d/00_header.in: Adjust `terminal' calls to new
21930 `terminal_input' / `terminal_output' API.
21931 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
21932 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
21933 provided ${GRUB_TERMINAL}, convert it).
21934
96e5d876 219352008-11-04 Robert Millan <rmh@aybabtu.com>
21936
21937 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
21938 for FreeBSD.
21939 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
21940
556f3775 219412008-11-03 Bean <bean123ch@gmail.com>
21942
21943 * kern/elf.c (grub_elf32_load): Revert to previous code.
21944 (grub_elf64_load): Likewise.
21945
21946 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
21947
926b9823 219482008-11-01 Robert Millan <rmh@aybabtu.com>
21949
21950 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
21951 (TARGET_CPPFLAGS): Likewise.
21952 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
21953
1432e958 219542008-11-01 Carles Pina i Estany <carles@pina.cat>
21955
21956 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
21957
dba3f844 219582008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 21959
21960 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
21961 addition of objects until the code is not going to be able to fail.
21962
dba3f844 219632008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 21964
21965 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
21966 (add a missing NULL check, and correct them by moving the pointer
21967 operations after the actual check).
21968
7ab28c21 219692008-10-29 Robert Millan <rmh@aybabtu.com>
21970
21971 * util/i386/pc/grub-install.in: Handle empty string as output from
21972 make_system_path_relative_to_its_root().
21973
1b7748eb 219742008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
21975
21976 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
21977 circular metadata worst case scenario. If the metadata is circular
21978 then copy the wrap in place.
21979 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
21980 project lib/format_text/layout.h
21981 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
21982
c9618ab2 219832008-10-03 Felix Zielcke <fzielcke@z-51.de>
21984
7a36edca 21985 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 21986
bf981c62 219872008-10-03 Felix Zielcke <fzielcke@z-51.de>
21988
21989 * util/update-grub_lib.in: Mention filename in warning message.
21990
6d994591 219912008-09-29 Felix Zielcke <fzielcke@z-51.de>
21992
21993 * NEWS: Update for rename of update-grub to grub-mkconfig.
21994
18ade780 219952008-09-29 Felix Zielcke <fzielcke@z-51.de>
21996
21997 * util/update-grub_lib.in: Copy to ...
21998 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 21999 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 22000 * util/update-grub.in: Rename to ...
22001 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
22002 option. Add `--output' option to allow users to specify the generated
22003 configuration file. Default to stdout.
22004 (update_grub_dir): Rename to ...
22005 (grub_mkconfig_dir): ... this.
22006 (grub_cfg): Default to an empty string.
22007 * conf/common.rmk (update-grub): Rename to ...
22008 (grub-mkconfig): ... this.
22009 (update-grub_lib): Copy to ...
22010 (grub-mkconfig_lib): ... this.
22011 (update-grub_SCRIPTS): Copy to ...
22012 (grub-mkconfig_SCRIPTS): ... this. Update all users.
22013 (update-grub_DATA): Rename to ...
22014 (grub-mkconfig_DATA): ... this.
22015
556ce6ac 220162008-09-28 Robert Millan <rmh@aybabtu.com>
22017
22018 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
22019 to `modified'. Add the real `created' field.
22020 (grub_iso9660_uuid): Use `modified' rather than `created' for
22021 constructing the UUID.
22022
220232008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 22024
22025 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
22026 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
22027
92274e85 220282008-09-28 Bean <bean123ch@gmail.com>
22029
22030 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
22031 Thanks to Christian Franke for finding this bug.
22032
add6f17a 220332008-09-25 Robert Millan <rmh@aybabtu.com>
22034
22035 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
22036 instances of grub_util_get_disk_name() (see previous commit).
22037
d2a367b8 220382008-09-25 Robert Millan <rmh@aybabtu.com>
22039
22040 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
22041 `util/i386/get_disk_name.c'.
22042 * conf/i386-efi.rmk: Likewise.
22043 * conf/x86_64-efi.rmk: Likewise.
22044 * conf/i386-coreboot.rmk: Likewise.
22045 * conf/i386-ieee1275.rmk: Likewise.
22046 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
22047 `util/ieee1275/get_disk_name.c'.
22048 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
22049 * util/ieee1275/get_disk_name.c: Remove file.
22050 * util/i386/get_disk_name.c: Remove file.
22051 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
22052 "hd%d" for device.map entries, rather than using
22053 grub_util_get_disk_name().
22054
81a06771 220552008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 22056
22057 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
22058 warning.
22059 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
22060
5a004279 220612008-09-24 Carles Pina i Estany <carles@pina.cat>
22062
22063 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
22064 Changed to 0x5100.
22065 (GRUB_TERM_PPAGE): Changed to 0x4900.
22066
397093d3 220672008-09-24 Robert Millan <rmh@aybabtu.com>
22068
22069 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
22070 macros (they were i386-pc specific).
22071 * include/grub/sparc64/ieee1275/console.h: Likewise.
22072 * include/grub/efi/console.h: Likewise.
22073
a91b6c7c 220742008-09-22 Bean <bean123ch@gmail.com>
22075
22076 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
22077 resident and in attribute list.
22078
22079 * include/grub/ntfs.h (BMP_LEN): Removed.
22080
c40fd116 220812008-09-22 Bean <bean123ch@gmail.com>
22082
81a06771 22083 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 22084 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
22085
22086 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
22087 error occurs, as grub_disk_open will call grub_disk_close, which will
22088 call p->close (scsi).
22089
81a06771 220902008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 22091
22092 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
22093 (AC_PREREQ): Bumped to 2.59.
22094 (AC_TRY_COMPILE): Replace obsolete macro with ...
22095 (AC_COMPILE_IFELSE): ... this.
22096 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
22097 (AC_LINK_IFELSE): ... this.
22098
5dc43410 220992008-09-21 Felix Zielcke <fzielcke@z-51.de>
22100
22101 * autogen.sh: Add a call to `gendistlist.sh'.
22102
9035dce4 221032008-09-19 Christian Franke <franke@computer.org>
22104
22105 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
22106 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
22107 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
22108 Export __enable_execute_stack() to modules.
22109 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
22110 New function.
22111
7fd75377 221122008-09-09 Felix Zielcke <fzielcke@z-51.de>
22113
040030b3 22114 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
22115 Sort the list.
22116
221172008-09-09 Felix Zielcke <fzielcke@z-51.de>
22118
22119 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 22120 #include <grub/util/hostdisk.h>.
22121
89d5ffcf 221222008-09-08 Robert Millan <rmh@aybabtu.com>
22123
22124 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
22125 segments when their filesz is zero (grub_file_read() interprets
81a06771 22126 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 22127 Use `lowest_segment' rather than 0 for calculating the current
22128 segment load address.
22129
40da438f 221302008-09-08 Robert Millan <rmh@aybabtu.com>
22131
22132 * util/hostdisk.c (open_device): Replace a grub_util_info() call
22133 with grub_dprintf("hostdisk", ...), as it was so verbose that it
22134 clobbered useful information.
22135
ddbf5556 221362008-09-08 Robert Millan <rmh@aybabtu.com>
22137
22138 * include/grub/util/biosdisk.h: Move to ...
22139 * include/grub/util/hostdisk.h: ... here. Update all users.
22140 * util/biosdisk.c: Move to ...
22141 * util/hostdisk.c: ... here. Update all users.
22142
783d0f48 221432008-09-07 Robert Millan <rmh@aybabtu.com>
22144
22145 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
22146 variables.
22147 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
22148 and length can be stored directly in the `mbi->mmap_addr' and
22149 `mbi->mmap_length' struct fields.
22150
548e2ea5 221512008-09-07 Robert Millan <rmh@aybabtu.com>
22152
22153 * conf/i386.rmk: New file. Provides declaration for building
22154 `cpuid.mod'.
22155 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
22156 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
22157 variables.
22158 Include `conf/i386.mk'.
22159 * conf/i386-efi.rmk: Likewise.
22160 * conf/x86_64-efi.rmk: Likewise.
22161 * conf/i386-coreboot.rmk: Likewise.
22162 * conf/i386-ieee1275.rmk: Likewise.
22163
0ea85a37 221642008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
22165
22166 Based on patch created by Colin D Bennett <colin@gibibit.com>.
22167 Adds optimization support for BGR based modes.
22168
22169 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
22170 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
22171 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22172 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22173 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22174 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22175 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22176 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22177 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22178 (grub_video_i386_vbeblit_index_index): Likewise.
22179 (grub_video_i386_vbeblit_replace_directN): Added.
22180 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
22181 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
22182 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
22183 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
22184 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
22185 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 22186 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 22187 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
22188 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
22189 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
22190 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
22191 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
22192 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
22193
22194 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
22195 (grub_video_i386_vbefill_R8G8B8): Likewise.
22196 (grub_video_i386_vbefill_index): Likewise.
22197 (grub_video_i386_vbefill_direct32): Added.
22198 (grub_video_i386_vbefill_direct24): Likewise.
22199 (grub_video_i386_vbefill_direct16): Likewise.
22200 (grub_video_i386_vbefill_direct8): Likewise.
22201
81a06771 22202 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 22203 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
22204 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
22205 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
22206 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
22207 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 22208
0ea85a37 22209 * video/video.c (grub_video_get_blit_format): Updated to use new
22210 blit formats. Added handling for 16 bit color modes.
81a06771 22211
22212 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 22213 fillers.
22214 (common_blitter): Updated to use new blitters.
22215
22216 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
22217 Removed.
22218 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
22219 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
22220 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
22221 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
22222 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
22223 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
22224 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
22225 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
22226 (grub_video_i386_vbeblit_index_index): Likewise.
22227 (grub_video_i386_vbeblit_replace_directN): Added.
22228 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
22229 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
22230 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
22231 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
22232 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
22233 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
22234 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
22235 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
22236 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
22237 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
22238 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
22239 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
22240 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 22241
0ea85a37 22242 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
22243 (grub_video_i386_vbefill_R8G8B8): Likewise.
22244 (grub_video_i386_vbefill_index): Likewise.
22245 (grub_video_i386_vbefill_direct32): Added.
22246 (grub_video_i386_vbefill_direct24): Likewise.
22247 (grub_video_i386_vbefill_direct16): Likewise.
22248 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 22249
0ea85a37 22250 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
22251 types.
81a06771 22252
0ea85a37 22253 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
22254 types.
81a06771 22255
0ea85a37 22256 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
22257 blitter types.
81a06771 22258
0ea85a37 22259 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
22260 types.
22261
e8a83df6 222622008-09-06 Felix Zielcke <fzielcke@z-51.de>
22263
22264 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
22265 RAID level 1.
22266
6bcd8ee5 222672008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 22268
6bcd8ee5 22269 * fs/iso9660.c (grub_iso9660_date): New structure.
22270 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
22271 (grub_iso9660_uuid): New function.
c375ae58 22272
59261157 222732008-09-05 Bean <bean123ch@gmail.com>
22274
22275 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
22276
22277 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
22278 insensitive bit for names in Win32 and Win32 & DOS namespace.
22279
22280 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
22281
22282 * include/grub/types.h (LONG_MAX): Likewise.
22283
58b6645a 222842008-09-04 Felix Zielcke <fzielcke@z-51.de>
22285
4ee55921 22286 * util/getroot.c: Include <config.h>.
22287 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
22288 add support for /dev/md/N devices and handle LVM double dash escaping.
22289
222902008-09-04 Felix Zielcke <fzielcke@z-51.de>
22291
22292 * config.guess: Update to latest version from config git.
22293 * config.sub: Likewise.
58b6645a 22294
9124f65d 222952008-09-03 Robert Millan <rmh@aybabtu.com>
22296
22297 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
22298 `disk->total_sectors'.
22299
81a06771 223002008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 22301
22302 * include/grub/normal.h: Fixed incorrect comment for
22303 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
22304
81a06771 223052008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 22306
22307 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
22308 values with defines.
22309
22310 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
22311 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
22312 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
22313 (GRUB_VBE_MODEATTR_COLOR): Likewise.
22314 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
22315 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
22316 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
22317 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
22318 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
22319 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
22320 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
22321 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
22322 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
22323 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
22324 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
22325 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
22326 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
22327 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
22328 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
22329
93d5cbf8 223302008-08-31 Robert Millan <rmh@aybabtu.com>
22331
22332 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
22333 declaration.
22334 (grub_multiboot): Fix a few warnings.
22335
21751d50 223362008-08-31 Robert Millan <rmh@aybabtu.com>
22337
22338 * loader/i386/pc/multiboot.c: Update comment not to say that
22339 boot_device support is unimplemented.
22340
e27a75c5 223412008-08-31 Robert Millan <rmh@aybabtu.com>
22342
22343 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
22344 or memory map support are unimplemented.
22345
81a06771 223462008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 22347
22348 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
22349
81a06771 223502008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 22351
22352 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
22353 total video memory in 'vbeinfo' output; show color format details for
22354 each video mode.
22355
7c5d8d95 223562008-08-30 Pavel Roskin <proski@gnu.org>
22357
22358 * util/genmoddep.c: Remove for real this time.
22359 * DISTLIST: Remove util/genmoddep.c.
22360
4cebd25a 223612008-08-30 Robert Millan <rmh@aybabtu.com>
22362
22363 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
22364 as required by Multiboot spec (it was already 4-byte aligned, but
22365 only by chance).
22366
b497a269 223672008-08-29 Pavel Roskin <proski@gnu.org>
22368
e3925185 22369 * kern/powerpc/ieee1275/crt0.S: Rename to ...
22370 * kern/powerpc/ieee1275/startup.S: ... this.
22371 * conf/powerpc-ieee1275.rmk: Adjust for the above.
22372 * DISTLIST: Likewise.
22373
b497a269 22374 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
22375 grub/cpu/kernel.h. Add start label for consistency with other
22376 platforms. Add grub_prefix immediately after start. Add jump
22377 to the code after grub_prefix.
22378 * include/grub/powerpc/kernel.h: Provide valid values for
22379 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
22380
6e5a42fe 223812008-08-29 Bean <bean123ch@gmail.com>
22382
22383 * configure.ac: Change host_os to cygwin for mingw.
22384 (asprintf): New check for function.
22385
22386 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
22387 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
22388
22389 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 22390 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 22391 sync, sleep and grub_util_get_disk_size for mingw.
22392
22393 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
22394 to get size in mingw.
22395 (open_device): Use flag O_BINARY if it's defined.
22396 (find_root_device): Add dummy code for mingw.
22397
22398 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
22399 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
22400 (get_scsi_disk_name): Return 0 for mingw.
22401
22402 * util/hostfs.c: #include <grub/util/misc.h>.
22403 (grub_hostfs_open): Use "rb" flag to open file, use
22404 grub_util_get_disk_size to get disk size for mingw.
22405
22406 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
22407 (asprintf): New function if HAVE_ASPRINTF is not set.
22408 (sync): New function for mingw.
22409 (sleep): Likewise.
22410 (grub_util_get_disk_size): Likewise.
22411
ab3f2673 224122008-08-28 Pavel Roskin <proski@gnu.org>
22413
22414 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
22415 kern/time.c.
22416
1c282483 224172008-08-28 Robert Millan <rmh@aybabtu.com>
22418
22419 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
22420
678e849c 224212008-08-28 Robert Millan <rmh@aybabtu.com>
22422
22423 Change find_grub_drive() syntax so it doesn't prevent it from
22424 detecting NULL names as errors.
22425
22426 * util/biosdisk.c (find_grub_drive): Move free slot search code
22427 from here ...
22428 (find_free_slot): ... to here.
22429 (read_device_map): Use find_free_slot() to search for free slots.
22430
965c75ca 224312008-08-27 Marco Gerards <marco@gnu.org>
22432
22433 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
22434 (scsi_mod_SOURCES): New variable.
22435 (scsi_mod_CFLAGS): Likewise
22436 (scsi_mod_LDFLAGS): Likewise.
22437
22438 * disk/scsi.c: New file.
22439
22440 * include/grub/scsi.h: Likewise.
22441
22442 * include/grub/scsicmd.h: Likewise.
22443
22444 * disk/ata.c: Include <grub/scsi.h>.
22445 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
22446 instead.
22447 (grub_ata_iterate): Skip ATAPI devices.
22448 (grub_ata_open): Only handle ATAPI devices.
22449 (struct grub_atapi_read): Removed.
22450 (grub_atapi_readsector): Likewise.
22451 (grub_ata_read): No longer handle ATAPI devices.
22452 (grub_ata_write): Likewise.
22453 (grub_atapi_iterate): New function.
22454 (grub_atapi_read): Likewise.
22455 (grub_atapi_write): Likewise.
22456 (grub_atapi_open): Likewise.
22457 (grub_atapi_close): Likewise.
22458 (grub_atapi_dev): New variable.
22459 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
22460 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
22461
22462 * include/grub/disk.h (enum grub_disk_dev_id): Add
22463 `GRUB_DISK_DEVICE_SCSI_ID'.
22464
c07ae501 224652008-08-26 Robert Millan <rmh@aybabtu.com>
22466
22467 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
22468 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
22469 descriptive.
22470
5ed20adc 224712008-08-23 Bean <bean123ch@gmail.com>
22472
22473 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
22474 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
22475 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
22476 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
22477 dm_nv.mod.
22478 (raid5rec_mod_SOURCES): New macro.
22479 (raid5rec_mod_CFLAGS): Likewise.
22480 (raid5rec_mod_LDFLAGS): Likewise.
22481 (raid6rec_mod_SOURCES): Likewise.
22482 (raid6rec_mod_CFLAGS): Likewise.
22483 (raid6rec_mod_LDFLAGS): Likewise.
22484 (mdraid_mod_SOURCES): Likewise.
22485 (mdraid_mod_CFLAGS): Likewise.
22486 (mdraid_mod_LDFLAGS): Likewise.
22487 (dm_nv_mod_SOURCES): Likewise.
22488 (dm_nv_mod_CFLAGS): Likewise.
22489 (dm_nv_mod_LDFLAGS): Likewise.
22490
22491 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
22492 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
22493 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
22494
22495 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
22496 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
22497
22498 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22499
22500 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
22501
22502 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22503
22504 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22505
22506 * disk/raid5_recover.c: New file.
22507
22508 * disk/raid6_recover.c: Likewise.
22509
22510 * disk/mdraid_linux.c: Likewise.
22511
22512 * disk/dmraid_nvidia.c: Likewise.
22513
22514 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
22515 ULONG_MAX.
22516
22517 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
22518 calculate the size of raid device.
22519 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
22520 different layout of raid5.
22521 (grub_raid_scan_device): Remove code specific to mdraid.
22522 (grub_raid_list): New variable.
22523 (free_array): New function.
22524 (grub_raid_register): Likewise.
22525 (grub_raid_unregister): Likewise.
22526 (grub_raid_rescan): Likewise.
22527 (GRUB_MOD_INIT): Don't iterate device here.
22528 (GRUB_MOD_FINI): Use free_array to release resource.
22529
22530 * include/grub/raid.h: Remove macro and structure specific to mdraid.
22531 (grub_raid5_recover_func_t): New function variable type.
22532 (grub_raid6_recover_func_t): Likewise.
22533 (grub_raid5_recover_func): New variable.
22534 (grub_raid6_recover_func): Likewise.
22535 (grub_raid_register): New function.
22536 (grub_raid_unregister): Likewise.
22537 (grub_raid_rescan): Likewise.
22538 (grub_raid_block_xor): Likewise.
22539
22540 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
22541 (CMD_CRC): New macro.
22542 (part): Removed.
22543 (read_file): Handle device as well as file.
22544 (cmd_crc): New function.
22545 (fstest): Handle multiple disks.
22546 (options): Remove part, raw and long, add root and diskcount.
22547 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 22548 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 22549 add handling for the new options, support multiple disks.
22550
22551 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
22552
29c18915 225532008-08-23 Bean <bean123ch@gmail.com>
22554
22555 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
22556
22557 * genfslist.sh: Ignore kernel.mod.
22558
22559 * genpartmaplist.sh: Likewise.
22560
8415f261 225612008-08-23 Robert Millan <rmh@aybabtu.com>
22562
22563 * util/getroot.c (find_root_device): Skip anything that starts with
22564 a dot, not just directories. This avoids things like /dev/.tmp.md0.
22565
d5a7dc5b 225662008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 22567
d5a7dc5b 22568 * util/update-grub.in (GRUB_GFXMODE): Export variable.
22569 * util/grub.d/00_header.in: Allow the administrator to change default
22570 gfxmode via ${GRUB_GFXMODE}.
22571
380cfbb4 225722008-08-21 Felix Zielcke <fzielcke@z-51.de>
22573
22574 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
22575
c9baafe7 225762008-08-21 Robert Millan <rmh@aybabtu.com>
22577
22578 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
22579 loader.
22580 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
22581 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
22582
e290bef2 225832008-08-20 Carles Pina i Estany <carles@pina.cat>
22584
22585 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
22586 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
22587
f9dbfc96 225882008-08-19 Robert Millan <rmh@aybabtu.com>
22589
22590 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
22591 (struct grub_virtual_screen): Remove `cursor_color'.
22592 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
22593 initialization.
22594 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
22595
dd6bd6ab 225962008-08-18 Robert Millan <rmh@aybabtu.com>
22597
22598 Unify (identical) linux_normal.c files.
22599 * loader/i386/efi/linux_normal.c: Move from here ...
22600 * loader/linux_normal.c: ... to here. Update all users.
22601 * loader/i386/pc/linux_normal.c: Delete. Update all users.
22602 * loader/i386/ieee1275/linux_normal.c: Likewise.
22603
7f42f83e 226042008-08-18 Robert Millan <rmh@aybabtu.com>
22605
22606 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
22607 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
22608 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
22609 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
22610 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
22611 New macros.
22612 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
22613 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
22614 (GRUB_LINUX_CL_END_OFFSET): ... to here.
22615 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
22616 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
22617 (GRUB_EFI_CL_END_OFFSET): Rename to ...
22618 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
22619 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
22620 Initialize `params->video_cursor_x' and `params->video_cursor_y'
22621 portably using grub_getxy().
22622 Replace `-EFI' with `-bzImage' in boot message.
22623
38487ddb 226242008-08-17 Robert Millan <rmh@aybabtu.com>
22625
22626 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
22627
deceb3ec 226282008-08-17 Robert Millan <rmh@aybabtu.com>
22629
22630 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
22631
22632 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
22633 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
22634 (grub_machine_mmap_iterate): New function declaration.
22635 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
22636 structure.
22637 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
22638 macros.
22639
22640 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
22641 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
22642 Move e820 parsing from here ...
22643 * kern/i386/pc/mmap.c: New file.
22644 (grub_machine_mmap_iterate): ... to here.
22645
22646 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
22647 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
22648 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
22649 (grub_available_iterate): Redeclare to return `void', and redeclare
22650 its hook to use grub_uint64_t as addr and size parameters, and rename
22651 to ...
22652 (grub_machine_mmap_iterate): ... this. Update all users.
22653
22654 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
22655 to make it more readable. Rename to ...
22656 (grub_machine_mmap_iterate): ... this.
22657
22658 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
22659 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
22660 (grub_multiboot): Allocate an extra region after the payload, and fill
22661 it with a Multiboot memory map. Adjust a.out loader to calculate size
22662 with the extra space.
22663 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
22664 with the extra space.
22665
f8aa0f43 226662008-08-17 Carles Pina i Estany <carles@pina.cat>
22667
9807deb9 22668 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 22669
605f5bb6 226702008-08-17 Felix Zielcke <fzielcke@z-51.de>
22671
22672 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
22673 mdate-sh to the list `find' searches for.
22674 * DISTLIST: Regenerated.
22675
210db6c6 226762008-08-16 Felix Zielcke <fzielcke@z-51.de>
22677
22678 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
22679 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 22680 genmoddep.awk, gensymlist.sh.in.
22681 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 22682 * DISTLIST: Regenerated.
48cdbfd4 22683 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 22684
1082b929 226852008-08-16 Robert Millan <rmh@aybabtu.com>
22686
22687 * disk/raid.c (grub_raid_init): Handle/report errors set by
22688 grub_device_iterate().
22689 * disk/lvm.c (grub_lvm_init): Likewise.
22690
42ce5170 226912008-08-15 Bean <bean123ch@gmail.com>
22692
22693 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22694 and datehook.mod.
22695 (datetime_mod_SOURCES): New macro.
22696 (datetime_mod_CFLAGS): Likewise.
22697 (datetime_mod_LDFLAGS): Likewise.
22698 (date_mod_SOURCES): Likewise.
22699 (date_mod_CFLAGS): Likewise.
22700 (date_mod_LDFLAGS): Likewise.
22701 (datehook_mod_SOURCES): Likewise.
22702 (datehook_mod_CFLAGS): Likewise.
22703 (datehook_mod_LDFLAGS): Likewise.
22704
22705 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22706 and datehook.mod.
22707 (datetime_mod_SOURCES): New macro.
22708 (datetime_mod_CFLAGS): Likewise.
22709 (datetime_mod_LDFLAGS): Likewise.
22710 (date_mod_SOURCES): Likewise.
22711 (date_mod_CFLAGS): Likewise.
22712 (date_mod_LDFLAGS): Likewise.
22713 (datehook_mod_SOURCES): Likewise.
22714 (datehook_mod_CFLAGS): Likewise.
22715 (datehook_mod_LDFLAGS): Likewise.
22716
22717 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22718 and datehook.mod.
22719 (datetime_mod_SOURCES): New macro.
22720 (datetime_mod_CFLAGS): Likewise.
22721 (datetime_mod_LDFLAGS): Likewise.
22722 (date_mod_SOURCES): Likewise.
22723 (date_mod_CFLAGS): Likewise.
22724 (date_mod_LDFLAGS): Likewise.
22725 (datehook_mod_SOURCES): Likewise.
22726 (datehook_mod_CFLAGS): Likewise.
22727 (datehook_mod_LDFLAGS): Likewise.
22728
22729 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22730 and datehook.mod.
22731 (datetime_mod_SOURCES): New macro.
22732 (datetime_mod_CFLAGS): Likewise.
22733 (datetime_mod_LDFLAGS): Likewise.
22734 (date_mod_SOURCES): Likewise.
22735 (date_mod_CFLAGS): Likewise.
22736 (date_mod_LDFLAGS): Likewise.
22737 (datehook_mod_SOURCES): Likewise.
22738 (datehook_mod_CFLAGS): Likewise.
22739 (datehook_mod_LDFLAGS): Likewise.
22740
22741 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
22742 and datehook.mod.
22743 (datetime_mod_SOURCES): New macro.
22744 (datetime_mod_CFLAGS): Likewise.
22745 (datetime_mod_LDFLAGS): Likewise.
22746 (date_mod_SOURCES): Likewise.
22747 (date_mod_CFLAGS): Likewise.
22748 (date_mod_LDFLAGS): Likewise.
22749 (datehook_mod_SOURCES): Likewise.
22750 (datehook_mod_CFLAGS): Likewise.
22751 (datehook_mod_LDFLAGS): Likewise.
22752
22753 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
22754
22755 * commands/date.c: New file.
22756
22757 * hook/datehook.c: Likewise.
22758
22759 * include/grub/lib/datetime.h: Likewise.
22760
22761 * include/grub/i386/cmos.h: Likewise.
22762
22763 * lib/datetime.c: Likewise.
22764
22765 * lib/i386/datetime.c: Likewise.
22766
22767 * lib/efi/datetime.c: Likewise.
22768
0e9242da 227692008-08-14 Robert Millan <rmh@aybabtu.com>
22770
22771 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
22772 (grub_mkelfimage_SOURCES): New variable.
22773 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
22774
22775 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
22776 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
22777 * conf/powerpc-ieee1275.rmk: Likewise.
22778 * conf/i386-ieee1275.rmk: Likewise.
22779
22780 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
22781 * kern/i386/coreboot/init.c: Likewise.
22782
22783 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
22784 with `<grub/cpu/kernel.h>'.
22785 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
22786 to ...
22787 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
22788 * kern/i386/coreboot/startup.S: Likewise.
22789
22790 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
22791 (GRUB_MOD_GAP): Remove.
22792 * include/grub/powerpc/kernel.h: New file.
22793 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
22794 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
22795 * include/grub/i386/kernel.h: New file.
22796 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
22797 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
22798 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
22799
22800 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
22801 `grub-mkelfimage'.
22802 Use --directory when invoking grub_mkimage.
22803
22804 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
22805 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
22806 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
22807 and GRUB_KERNEL_CPU_PREFIX.
22808
b86408f8 228092008-08-14 Felix Zielcke <fzielcke@z-51.de>
22810
d5e619ca 22811 * include/grub/err.h (grub_err_printf): New function prototype.
22812 * util/misc.c (grub_err_printf): New function.
22813 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
22814 grub_printf.
22815 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 22816
7161f0e0 228172008-08-13 Robert Millan <rmh@aybabtu.com>
22818
22819 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
22820
a1967522 228212008-08-13 Robert Millan <rmh@aybabtu.com>
22822
22823 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
22824 boot entry.
22825
371458b5 228262008-08-12 Robert Millan <rmh@aybabtu.com>
22827
22828 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
22829 of the relocation code from here ...
22830 (grub_multiboot): ... to here.
22831 (forward_relocator, backward_relocator): Move from here ...
22832 * kern/i386/loader.S (grub_multiboot_forward_relocator)
22833 (grub_multiboot_backward_relocator): ... to here.
22834 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
22835 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
22836 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
22837 (grub_multiboot_forward_relocator_end)
22838 (grub_multiboot_backward_relocator)
22839 (grub_multiboot_backward_relocator_end): New variables.
22840
05f9452b 228412008-08-12 Bean <bean123ch@gmail.com>
22842
22843 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
22844
20024ab0 228452008-08-11 Robert Millan <rmh@aybabtu.com>
22846
22847 * kern/i386/linuxbios/startup.S: Move from here ...
22848 * kern/i386/coreboot/startup.S: ... to here.
22849
22850 * kern/i386/linuxbios/init.c: Move from here ...
22851 * kern/i386/coreboot/init.c: ... to here.
22852
22853 * kern/i386/linuxbios/table.c: Move from here ...
22854 * kern/i386/coreboot/mmap.c: ... to here.
22855
22856 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
22857
e352e9cd 228582008-08-11 Robert Millan <rmh@aybabtu.com>
22859
22860 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
22861 errors. Leave it to the upper layer to handle them.
22862
2d05bc6a 228632008-08-09 Christian Franke <franke@computer.org>
22864
22865 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
22866 * conf/common.rmk: Install `grub-pe2elf' only if requested.
22867 Install `grub.d/10_windows' only on Cygwin.
22868 * configure.ac: Add subst of `target_os'.
22869 Check `target_os' also before setting TARGET_OBJ2ELF.
22870 Add `--enable-grub-pe2elf'.
22871
042bd419 228722008-08-08 Robert Millan <rmh@aybabtu.com>
22873
22874 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
22875 (grub_last_time): Change type to grub_uint64_t.
22876 (grub_disk_open): Migrate code from to using grub_get_time_ms().
22877 (grub_disk_close): Likewise.
22878
22879 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
22880 (run_menu): Migrate code from to using grub_get_time_ms().
22881
22882 * util/misc.c (grub_get_time_ms): New function.
22883
7f280db5 228842008-08-08 Marco Gerards <marco@gnu.org>
22885
22886 * disk/ata.c (grub_ata_regget): Change return type to
22887 `grub_uint8_t'.
22888 (grub_ata_regget2): Likewise.
22889 (grub_ata_wait_status): New function.
22890 (grub_ata_wait_busy): Removed function, updated all users to use
22891 `grub_ata_wait_status'.
22892 (grub_ata_wait_drq): Likewise.
22893 (grub_ata_cmd): New function.
22894 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
22895 error handling.
22896 (grub_ata_pio_write): Add error handling.
22897 (grub_atapi_identify): Likewise.
22898 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
22899 handling.
22900 (grub_ata_identify): Use `grub_ata_cmd' and improve error
22901 handling. Actually use the detected registers. Reorder the
22902 detection logic such that it is easier to read.
22903 (grub_ata_pciinit): Do not assign the same ID to each controller.
22904 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
22905 handling.
22906 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
22907
22908 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
22909
1fbc5e66 229102008-08-08 Marco Gerards <marco@gnu.org>
22911
22912 * NEWS: Update.
22913
819ce6c0 229142008-08-07 Bean <bean123ch@gmail.com>
22915
22916 * include/grub/x86_64/pci.h: New file.
22917
5c41d44d 229182008-08-07 Christian Franke <franke@computer.org>
22919
22920 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
22921 (TIMER2_GATE): Likewise.
22922 (grub_pit_wait): Add enable/disable of the timer2 gate
22923 bit of port 0x61. This fixes a possible infinite loop.
22924
5ebc275d 229252008-08-07 Bean <bean123ch@gmail.com>
22926
22927 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
22928 kern/i386/tsc.c and kern/i386/pit.c.
22929
22930 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
22931 x86_64 platform.
22932
22933 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
22934 <grub/i386/tsc.h>.
22935
22936 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
22937
e383b3d0 229382008-08-07 Bean <bean123ch@gmail.com>
22939
22940 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
22941
22942 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
22943
22944 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
22945 multiple inclusion. Add #include <grub/types.h>.
22946
1cbb58ac 229472008-08-06 Christian Franke <franke@computer.org>
22948
22949 * conf/common.rmk: Build and install `10_windows'.
22950 * util/grub.d/10_windows.in: New script.
22951
337f5a1e 229522008-08-06 Pavel Roskin <proski@gnu.org>
22953
22954 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
22955
057bc4ac 229562008-08-06 Robert Millan <rmh@aybabtu.com>
22957
22958 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
22959 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
22960
2b99f123 229612008-08-06 Bean <bean123ch@gmail.com>
22962
22963 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
22964 (grub_pxefs_fs_int): Remove dummy definition.
22965 (grub_pxefs_open): Use data->block_size to store the current block
22966 size setting.
22967 (grub_pxefs_read): Use block size stored in data->block_size. As the
22968 value of grub_pxe_blksize can be changed after the file is opened.
22969
9f0234cb 229702008-08-06 Bean <bean123ch@gmail.com>
22971
22972 * fs/i386/pc/pxe.c (curr_file): new variable.
22973 (grub_pxefs_open): Simply the handling of pxe file system. Don't
22974 require the dummy internal file system anymore.
22975 (grub_pxefs_read): Removed.
22976 (grub_pxefs_close): Likewise.
22977 (grub_pxefs_fs_int): Likewise.
22978 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
22979 connection when we switch file.
22980 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
22981
a55d42e0 229822008-08-06 Robert Millan <rmh@aybabtu.com>
22983
22984 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
22985 `halt.mod'.
22986 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
22987 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
22988
22989 * kern/i386/halt.c: New file.
22990 * kern/i386/reboot.c: Likewise.
22991 * include/grub/i386/reboot.h: Likewise.
22992 * include/grub/i386/halt.h: Likewise.
22993
22994 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
22995 Include `<grub/cpu/halt.h>'.
22996 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
22997 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
22998
22999 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
23000 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
23001 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
23002 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
23003 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
23004 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
23005 from here ...
23006 * include/grub/i386/at_keyboard.h: ... to here.
23007
24371d26 230082008-08-05 Robert Millan <rmh@aybabtu.com>
23009
23010 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
23011 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
23012 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
23013 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
23014 `kern/generic/millisleep.c'.
23015
23016 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
23017 instead of grub_get_rtc().
23018 (grub_tsc_init): Initialize `tsc_boot_time'.
23019
23020 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
23021 (grub_machine_init): Use grub_tsc_init() rather than
23022 installing an RTC-based handler via grub_install_get_time_ms().
23023
23024 * kern/i386/pit.c: New file.
23025 * include/grub/i386/pit.h: Likewise.
23026
9e7007b3 230272008-08-05 Bean <bean123ch@gmail.com>
23028
23029 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
23030
23031 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
23032 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
23033 (pxe_mod_SOURCES): New macro.
23034 (pxe_mod_CFLAGS): Likewise.
23035 (pxe_mod_LDFLAGS): Likewise.
23036 (pxecmd_mod_SOURCES): Likewise.
23037 (pxecmd_mod_CFLAGS): Likewise.
23038 (pxecmd_mod_LDFLAGS): Likewise.
23039
23040 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
23041 (grub_pxe_call): Likewise.
23042
23043 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
23044
23045 * commands/i386/pc/pxecmd.c: New file.
23046
9f0234cb 23047 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 23048
23049 * include/grub/i386/pc/pxe.h: Likewise.
23050
6977d49f 230512008-08-05 Bean <bean123ch@gmail.com>
23052
23053 * util/console.c (grub_console_cur_color): New variable.
23054 (grub_console_standard_color): Likewise.
23055 (grub_console_normal_color): Likewise.
23056 (grub_console_highlight_color): Likewise.
23057 (color_map): Likewise.
23058 (use_color): Likewise.
23059 (NUM_COLORS): New macro.
23060 (grub_ncurses_setcolorstate): Handle color properly.
23061 (grub_ncurses_setcolor): Don't change color here, just remember the
23062 settings, color will be set in grub_ncurses_setcolorstate.
23063 (grub_ncurses_getcolor): New function.
23064 (grub_ncurses_init): Initialize color pairs.
23065 (grub_ncurses_term): New member grub_ncurses_getcolor.
23066
9c2ff3ee 230672008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 23068
9c2ff3ee 23069 High resolution timer support. Implemented for x86 CPUs using TSC.
23070 Extracted generic grub_millisleep() so it's linked in only as needed.
23071 This requires a Pentium compatible CPU; if the RDTSC instruction is
23072 not supported, then it falls back on the generic grub_get_time_ms()
23073 implementation that uses the machine's RTC.
23074
23075 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
23076 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
23077 `kern/generic/millisleep.c'.
23078
23079 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
23080 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
23081
23082 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
23083 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
23084
23085 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
23086
23087 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
23088 `kern/generic/millisleep.c'.
23089
23090 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
23091
23092 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
23093
23094 * kern/generic/rtc_get_time_ms.c: New file.
23095
23096 * kern/generic/millisleep.c: New file.
337f5a1e 23097
9c2ff3ee 23098 * kern/misc.c: Don't include
23099 <kern/time.h> anymore.
23100 (grub_millisleep_generic): Removed.
23101
23102 * commands/sleep.c (grub_interruptible_millisleep): Uses
23103 grub_get_time_ms() instead of grub_get_rtc().
23104
23105 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
23106 function.
23107 (grub_cpu_is_cpuid_supported): New inline function.
23108 (grub_cpu_is_tsc_supported): New inline function.
23109 (grub_tsc_init): New function prototype.
23110 (grub_tsc_get_time_ms): New function prototype.
23111
23112 * kern/i386/tsc.c (grub_get_time_ms): New file.
23113
23114 * include/grub/time.h: Include <grub/types.h.
23115 (grub_millisleep_generic): Removed.
23116 (grub_get_time_ms): New prototype.
23117 (grub_install_get_time_ms): New prototype.
23118 (grub_rtc_get_time_ms): New prototype.
23119
23120 * kern/time.c (grub_get_time_ms): New function.
23121 (grub_install_get_time_ms): New function.
23122
23123 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
23124 <grub/time.h> anymore.
23125 (grub_millisleep): Removed.
23126 (grub_machine_init): Call grub_tsc_init.
23127
23128 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
23129 get_time_ms() implementation.
23130
23131 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
23132 (ieee1275_get_time_ms): New function.
23133 (grub_machine_init): Install get_time_ms() implementation.
23134
23135 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
23136 (grub_machine_init): Call grub_tsc_init().
23137 (grub_millisleep): Removed.
bf06a93f 23138
9c2ff3ee 23139 * kern/ieee1275/init.c (grub_millisleep): Removed.
23140 (grub_machine_init): Install ieee1275_get_time_ms()
23141 implementation.
23142 (ieee1275_get_time_ms): New function.
23143 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
23144 real work.
23145
9ec92aaf 231462008-08-05 Marco Gerards <marco@gnu.org>
23147
23148 * disk/ata.c: Include <grub/pci.h>.
23149 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
23150 (grub_ata_initialize): Rewritten.
23151 (grub_ata_device_initialize): New function.
23152
8d23f507 231532008-08-04 Pavel Roskin <proski@gnu.org>
23154
23155 * kern/main.c: Include grub/mm.h.
23156
5e15ee3d 231572008-08-04 Robert Millan <rmh@aybabtu.com>
23158
23159 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
23160 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
23161 corruption problem).
23162
a9053f8f 231632008-08-04 Robert Millan <rmh@aybabtu.com>
23164
23165 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
23166 warnings introduced in my last commit.
23167
dd19c7d7 231682008-08-03 Robert Millan <rmh@aybabtu.com>
23169
23170 Make PCI available on all i386 architectures.
23171
23172 * include/grub/i386/pc/pci.h: Move from here ...
23173 * include/grub/i386/pci.h: ... to here.
23174
23175 * include/grub/i386/pc/pci.h: Remove.
23176 * include/grub/i386/efi/pci.h: Remove.
23177 * include/grub/x86_64/efi/pci.h: Remove.
23178
23179 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
23180 `<grub/cpu/pci.h>'.
23181
23182 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
23183 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
23184 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
23185
23186 * conf/i386-ieee1275.rmk: Likewise.
23187
e14a6184 231882008-08-03 Robert Millan <rmh@aybabtu.com>
23189
23190 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
23191 (grub_console_setcursor): Make it possible to set cursor off.
23192
52768e37 231932008-08-03 Robert Millan <rmh@aybabtu.com>
23194
23195 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
23196 of modules instead of assuming which platform provides what.
23197 * util/update-grub.in: Likewise.
23198
2d52f57f 231992008-08-03 Robert Millan <rmh@aybabtu.com>
23200
23201 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
23202 instead of `grub_install_dos_part' to determine whether a drive needs
23203 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 23204 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 23205
2a5cd121 232062008-08-02 Robert Millan <rmh@aybabtu.com>
23207
23208 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
23209
93808428 232102008-08-02 Robert Millan <rmh@aybabtu.com>
23211
23212 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
23213 of informational grub_dprintf() calls.
23214
3bd0a12a 232152008-08-02 Robert Millan <rmh@aybabtu.com>
23216
23217 * disk/memdisk.c (memdisk_size): Don't initialize.
23218 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
23219
23220 * include/grub/i386/pc/kernel.h
23221 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
23222 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
23223 (grub_memdisk_image_size, grub_arch_memdisk_addr)
23224 (grub_arch_memdisk_size): Remove.
23225
23226 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
23227 field (was only used to transfer a constant). Add `type' field to
23228 support multiple module types.
23229 (grub_module_iterate): New function.
23230
23231 * kern/device.c (grub_device_open): Do not hide error messages
23232 when grub_disk_open() fails. Use grub_print_error() instead.
23233
23234 * kern/i386/pc/init.c (grub_arch_modules_addr)
23235 (grub_arch_memdisk_size): Remove functions.
23236 (grub_arch_modules_addr): Return the module address in high memory
23237 (now that it isn't copied anymore).
23238
23239 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
23240 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
23241 decompression routine (grub_total_module_size already includes that
23242 now). Don't copy modules back to low memory.
23243
23244 * kern/main.c: Include `<grub/mm.h>'.
23245 (grub_load_modules): Split out (and use) ...
23246 (grub_module_iterate): ... this function, which iterates through
23247 module objects and runs a hook.
23248 Comment out grub_mm_init_region() call, as it would cause non-ELF
23249 modules to be overwritten.
23250
23251 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
23252 the memdisk image in its own region, make it part of the module list.
23253 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
23254 (main): Parse --memdisk|-m option, and pass user-provided path as
23255 parameter to generate_image().
23256 (add_segments): Pass `memdisk_path' down to load_modules().
23257 (load_modules): Embed memdisk image in module section when requested.
23258 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
23259 `header.type' instead of `header.offset'.
23260
23261 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
23262 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
23263 (memdisk_mod_LDFLAGS): New variables.
23264 * conf/i386-coreboot.rmk: Likewise.
23265 * conf/i386-ieee1275.rmk: Likewise.
23266
a927cc73 232672008-08-02 Robert Millan <rmh@aybabtu.com>
23268
23269 * loader/i386/pc/multiboot.c (playground, forward_relocator)
23270 (backward_relocator): New variables. Used to allocate and relocate
23271 the payload, respectively.
23272 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 23273 address, install the appropriate relocator code in each bound of
a927cc73 23274 the payload, and set the entry point such that
23275 grub_multiboot_real_boot() will jump to one of them.
23276
23277 * kern/i386/loader.S (grub_multiboot_payload_size)
23278 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
23279 (grub_multiboot_payload_entry_offset): New variables.
23280 (grub_multiboot_real_boot): Set cpu context to what the relocator
23281 expects, and jump to the relocator instead of the payload.
23282
23283 * include/grub/i386/loader.h (grub_multiboot_payload_size)
23284 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
23285 (grub_multiboot_payload_entry_offset): Export.
23286
b15d8a0c 232872008-08-01 Bean <bean123ch@gmail.com>
23288
23289 * normal/menu_entry.c (editor_getline): Don't return the original
23290 string as result, as it will be released by lexer once it has done
23291 using it.
23292
cdfb3d22 232932008-08-01 Robert Millan <rmh@aybabtu.com>
23294
23295 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
23296 within menuentries, not before them.
23297 util/grub.d/10_hurd.in: Likewise.
23298
9175e93d 232992008-08-01 Bean <bean123ch@gmail.com>
23300
23301 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
23302 (bufio_mod_SOURCES): New macro.
23303 (bufio_mod_CFLAGS): Likewise.
23304 (bufio_mod_LDFLAGS): Likewise.
23305
23306 * include/grub/bufio.h: New file.
23307
23308 * io/bufio.c: Likewise.
23309
23310 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
23311 (grub_video_reader_png): Use grub_buffile_open to open file.
23312
23313 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
23314 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
23315
23316 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
23317 (grub_video_reader_tga): Use grub_buffile_open to open file.
23318
23319 * font/manager.c: Include <grub/bufio.h>.
23320 (add_font): Use grub_buffile_open to open file.
23321
3d8383e7 233222008-07-31 Robert Millan <rmh@aybabtu.com>
23323
23324 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
23325 ELF segments, use a macro for arbitrarily accessing any of them instead
23326 of preparing a pointer that allows access to one at a time.
23327 (grub_multiboot_load_elf64): Likewise.
23328
16e641b6 233292008-07-31 Bean <bean123ch@gmail.com>
23330
23331 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
23332 GRUB_KERNEL_MACHINE_DATA_END.
23333
59198b72 233342008-07-30 Robert Millan <rmh@aybabtu.com>
23335
23336 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
23337 Increase from 0x50 to 0x60.
23338 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
23339 use UUIDs to identify the root drive for them. If that's not
23340 possible, abort.
23341 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
23342 check, for cross-disk installs.
23343
ae88bca3 233442008-07-30 Robert Millan <rmh@aybabtu.com>
23345
23346 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
23347 is non-empty, use it to set the `prefix' environment variable instead
23348 of the usual approach.
23349 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
23350 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
23351 environment variable instead of dummy make_install_device().
23352
23353 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
23354 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 23355 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 23356
23357 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
23358 New variable reference.
23359 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
23360 New macro. Defines offset of `grub_prefix' within startup.S (relative
23361 to `start').
23362 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
23363 section within startup.S (relative to `start').
23364 * include/grub/i386/coreboot/kernel.h: Likewise.
23365
23366 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
23367 Overwrite grub_prefix with its contents, at the beginning of the
23368 first segment.
23369 (main): Understand -p|--prefix.
23370
14f41dd1 233712008-07-30 Robert Millan <rmh@aybabtu.com>
23372
23373 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
23374
4ca049a3 233752008-07-30 Robert Millan <rmh@aybabtu.com>
23376
23377 * term/i386/pc/vga_text.c (grub_console_cls): Use
23378 grub_console_gotoxy() to go back to beginning of the screen.
23379 Found by Patrick Georgi <patrick.georgi@coresystems.de>
23380
2921d337 233812008-07-29 Christian Franke <franke@computer.org>
23382
23383 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
23384 Add conversion of emulated mount points on Cygwin.
23385
b609876d 233862008-07-29 Christian Franke <franke@computer.org>
23387
23388 * util/update-grub.in: Add a check for admin
23389 group on Cygwin.
23390 Remove old `grub.cfg.new' before creation.
23391 Add `-f' to `mv' to handle the different filesystem
23392 semantics of Windows.
23393
e93e4679 233942008-07-29 Bean <bean123ch@gmail.com>
23395
23396 * normal/main.c (get_line): Fix buffer overflow bug.
23397
41694fd0 233982008-07-28 Robert Millan <rmh@aybabtu.com>
23399
23400 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
23401 (struct grub_apple_header): New struct. Describes the layout of
23402 the partmap header.
23403 (apple_partition_map_iterate): Check the header magic as well as the
23404 partition magic (which was already being checked).
23405
cfd0b4e6 234062008-07-28 Pavel Roskin <proski@gnu.org>
23407
23408 * genmk.rb: Add a warning to the beginning of the output that
23409 it's a generated file and should not be edited.
23410
93cce016 234112008-07-28 Robert Millan <rmh@aybabtu.com>
23412
23413 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
23414 with the same number are found, just use issue a warning with
23415 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 23416
cd1df915 234172008-07-27 Robert Millan <rmh@aybabtu.com>
23418
23419 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
23420 information.
23421
b70a8427 234222008-07-27 Bean <bean123ch@gmail.com>
23423
23424 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
23425 (grub_fat_find_dir): Ignore case when comparing filename.
23426
8f5e379f 234272008-07-27 Bean <bean123ch@gmail.com>
23428
23429 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
23430 smallino, as it's more descriptive, and i8count can be confused with
23431 the other field count.
23432 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
23433 inode type.
23434
a85cd5a0 234352008-07-27 Bean <bean123ch@gmail.com>
23436
23437 * commands/crc.c: New file.
23438
23439 * lib/crc.c: Likewise.
23440
23441 * include/grub/lib/crc.h: Likewise.
23442
23443 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
23444
23445 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
23446 (hexdump): Move this function to ...
23447
23448 * lib/hexdump.c: ... here.
23449
23450 * include/grub/hexdump.h: Renamed to ...
23451
23452 * include/grub/lib/hexdump.h: ... this.
23453
23454 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
23455
23456 * util/grub-editenv.c: Likewise.
23457
23458 * include/envblk.h: Renamed to ...
23459
23460 * include/lib/envblk.h: ... this.
23461
23462 * util/envblk.c: Renamed to ...
23463
23464 * lib/envblk.c: ... this.
23465
23466 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
23467 lib/hexdump.c.
23468 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
23469 (pkglib_MODULES): Add crc.mod.
23470 (hexdump_mod_SOURCES): Add lib/hexdump.c.
23471 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
23472 (crc_mod_SOURCES): New macro.
23473 (crc_mod_CFLAGS): Likewise.
23474 (crc_mod_LDFLAGS): Likewise.
23475
23476 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
23477
23478 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
23479
23480 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23481
23482 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23483
23484 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23485
c298def0 234862008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 23487
23488 * commands/help.c: Include <grub/term.h>.
23489 (TERM_WIDTH): Removed. Updated all users.
23490
cc349fb3 234912008-07-27 Pavel Roskin <proski@gnu.org>
23492
23493 * util/getroot.c (find_root_device): Rephrase a comment to avoid
23494 spurious warnings about a comment within a comment.
23495
9051607e 234962008-07-25 Robert Millan <rmh@aybabtu.com>
23497
23498 * util/getroot.c (find_root_device): Skip devices that match
23499 /dev/dm-[0-9]. This lets the real device be found for any type of
23500 abstraction (LVM, EVMS, RAID..).
23501 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
23502 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
23503 device is found first, find_root_device() will now skip it.
23504
01453bfc 235052008-07-24 Pavel Roskin <proski@gnu.org>
23506
23507 * include/grub/types.h: Use __builtin_bswap32() and
23508 __builtin_bswap64() with gcc 4.3 and newer.
23509
6af9849f 235102008-07-24 Christian Franke <franke@computer.org>
23511
3a0fa256 23512 * util/i386/pc/grub-install.in: If `--debug' is specified,
23513 pass `--verbose' to grub-setup.
23514 Abort script if make_system_path_relative_to_its_root() fails.
23515
7810e747 235162008-07-24 Bean <bean123ch@gmail.com>
23517
23518 * configure.ac: Fixed a bug caused by the previous cygwin patch,
23519 variable `target_platform' should be `platform'.
23520
42290e17 235212008-07-24 Bean <bean123ch@gmail.com>
23522
51cc5193 23523 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 23524 (grub_png_init_fixed_block): New function.
23525 (grub_png_decode_image_data): Handle fixed huffman code compression.
23526
2a8a80e4 235272008-07-24 Bean <bean123ch@gmail.com>
23528
23529 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
23530 (grub_pe2elf_SOURCES): New macro.
23531 (CLEANFILES): Add grub-pe2elf.
23532
23533 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
23534 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
23535 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
23536 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
23537 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
23538 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
23539 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
23540 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
23541 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
23542 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
23543 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
23544 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
23545 (GRUB_PE32_DT_FUNCTION): Likewise.
23546 (GRUB_PE32_REL_I386_DIR32): Likewise.
23547 (GRUB_PE32_REL_I386_REL32): Likewise.
23548 (grub_pe32_symbol): New structure.
23549 (grub_pe32_reloc): Likewise.
23550
23551 * util/grub-pe2elf.c: New file.
23552
23553 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
23554 start symbol in non pc platform.
23555
23556 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
23557
23558 The following patches are from Christian Franke.
23559
23560 * include/grub/dl.h: Remove .previous, gas supports this only
23561 for ELF format.
23562
23563 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
23564 Remove .type, gas supports this only for ELF format.
23565
23566 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
23567 nullbytes in symbol table. This fixes an infinite loop if table is
23568 zero filled.
23569
23570 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
23571 TARGET_IMG_LDFLAGS and EXEEXT.
23572
23573 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
23574 TARGET_IMG_LDFLAGS_AC.
23575 (grub_CHECK_STACK_ARG_PROBE): New function.
23576
23577 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
23578
23579 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
23580
23581 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
23582 to set TARGET_IMG_LD* accordingly.
23583 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
23584 Add call to grub_CHECK_STACK_ARG_PROBE.
23585 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
23586
23587 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
23588
23589 * genmk.rb: Add EXEEXT to CLEANFILES.
23590
12ccdb75 235912008-07-23 Robert Millan <rmh@aybabtu.com>
23592
23593 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
23594 define the codes for arrows and lines used for the menu).
23595 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
23596 as well.
23597
23598 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
23599 fonts, because the latter are too slow.
23600
18eeaf04 236012008-07-21 Bean <bean123ch@gmail.com>
23602
23603 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
23604 a20. Run keyboard test last, as it will cause macbook to halt.
23605
b095e2ad 236062008-07-18 Pavel Roskin <proski@gnu.org>
23607
23608 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
23609 load foreign architecture modules correctly anyway. Keep
23610 support for loading host architecture modules, whether we
23611 compile them or not.
23612
737feb35 236132008-07-17 Pavel Roskin <proski@gnu.org>
23614
3f4ce737 23615 * configure.ac: Use -m32 or -m64 regardless of whether we had to
23616 change target_cpu. The compiler default can mismatch target_cpu
23617 in any case.
23618
4ad2d049 23619 * disk/efi/efidisk.c: Fix format warnings on x86_64.
23620 * kern/efi/efi.c: Likewise.
23621
f6130a12 23622 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
23623 target compiler is functional.
23624 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
23625 are set up.
23626
58393a2d 23627 * configure.ac: Default to efi platform for x86_64-apple. Allow
23628 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
23629 adjustments from the rest, only do them if target is not
23630 explicitly given. Merge other adjustments with the final sanity
23631 check. Remove an extraneous check for supported CPU. Be
23632 specific which CPU and which platform is not supported.
23633
737feb35 23634 * configure.ac: Default to pc platform for x86_64.
23635
546f966a 236362008-07-17 Robert Millan <rmh@aybabtu.com>
23637
23638 Partial LinuxBIOS -> Coreboot rename.
23639
23640 * conf/i386-linuxbios.rmk: Renamed to ...
23641 * conf/i386-coreboot.rmk: ... this.
23642 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
23643 * configure.ac: Accept "coreboot" as input platform (but maintain
23644 compatibility with "linuxbios").
23645 * include/grub/i386/linuxbios: Renamed to ...
23646 * include/grub/i386/coreboot: ... this.
23647
20011694 236482008-07-17 Bean <bean123ch@gmail.com>
23649
23650 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 23651 (appleldr_mod_SOURCE): New variable.
20011694 23652 (appleldr_mod_CFLAGS): Likewise.
23653 (appleldr_mod_LDFLAGS): Likewise.
23654 (pci_mod_SOURCES): Likewise.
23655 (pci_mod_CFLAGS): Likewise.
23656 (pci_mod_LDFLAGS): Likewise.
23657 (lspci_mod_SOURCES): Likewise.
23658 (lspci_mod_CFLAGS): Likewise.
23659 (lspci_mod_LDFLAGS): Likewise.
23660
23661 * conf/x86_64-efi.rmk: New file.
23662
23663 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
23664 macro.
23665 (grub_efidisk_write): Likewise.
23666
23667 * include/efi/api.h (efi_call_0): New macro.
23668 (efi_call_1): Likewise.
23669 (efi_call_2): Likewise.
23670 (efi_call_3): Likewise.
23671 (efi_call_4): Likewise.
23672 (efi_call_5): Likewise.
23673 (efi_call_6): Likewise.
23674
23675 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
23676 grub_rescue_cmd_chainloader.
23677
23678 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
23679 (grub_pe32_optional_header): Change some fields based on i386 or
23680 x86_64 platform.
23681 (GRUB_PE32_PE32_MAGIC): Likewise.
23682
23683 * include/grub/efi/uga_draw.h: New file.
23684
23685 * include/grub/elf.h (STN_ABS): New constant.
23686 (R_X86_64_NONE): Relocation constant for x86_64.
23687 (R_X86_64_64): Likewise.
23688 (R_X86_64_PC32): Likewise.
23689 (R_X86_64_GOT32): Likewise.
23690 (R_X86_64_PLT32): Likewise.
23691 (R_X86_64_COPY): Likewise.
23692 (R_X86_64_GLOB_DAT): Likewise.
23693 (R_X86_64_JUMP_SLOT): Likewise.
23694 (R_X86_64_RELATIVE): Likewise.
23695 (R_X86_64_GOTPCREL): Likewise.
23696 (R_X86_64_32): Likewise.
23697 (R_X86_64_32S): Likewise.
23698 (R_X86_64_16): Likewise.
23699 (R_X86_64_PC16): Likewise.
23700 (R_X86_64_8): Likewise.
23701 (R_X86_64_PC8): Likewise.
23702
23703 * include/grub/i386/efi/pci.h: New file.
23704
23705 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
23706 Change it value based on platform.
23707 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
23708 (GRUB_E820_RAM): Likewise.
23709 (GRUB_E820_RESERVED): Likewise.
23710 (GRUB_E820_ACPI): Likewise.
23711 (GRUB_E820_NVS): Likewise.
23712 (GRUB_E820_EXEC_CODE): Likewise.
23713 (GRUB_E820_MAX_ENTRY): Likewise.
23714 (grub_e820_mmap): New structure.
23715 (linux_kernel_header): Change the efi field according to different
23716 kernel version, also field from linux_kernel_header.
23717
23718 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
23719
23720 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
23721 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
23722 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
23723 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
23724 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
23725 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
23726 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
23727 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
23728 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
23729 (GRUB_PCI_ADDR_IO_MASK): Likewise.
23730
23731 * include/grub/x86_64/efi/kernel.h: New file.
23732
23733 * include/grub/x86_64/efi/loader.h: Likewise.
23734
23735 * include/grub/x86_64/efi/machine.h: Likewise.
23736
23737 * include/grub/x86_64/efi/pci.h: Likewise.
23738
23739 * include/grub/x86_64/efi/time.h: Likewise.
23740
23741 * include/grub/x86_64/linux.h: Likewise.
23742
23743 * include/grub/x86_64/setjmp.h: Likewise.
23744
23745 * include/grub/x86_64/time.h: Likewise.
23746
23747 * include/grub/x86_64/types.h: Likewise.
23748
23749 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
23750 GRUB_TARGET_SIZEOF_VOID_P.
23751
23752 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
23753 (grub_efi_locate_handle): Likewise.
23754 (grub_efi_open_protocol): Likewise.
23755 (grub_efi_set_text_mode): Likewise.
23756 (grub_efi_stall): Likewise.
23757 (grub_exit): Likewise.
23758 (grub_reboot): Likewise.
23759 (grub_halt): Likewise.
23760 (grub_efi_exit_boot_services): Likewise.
23761 (grub_get_rtc): Likewise.
23762
23763 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
23764 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
23765 (grub_efi_allocate_pages): Wrap efi calls.
23766 (grub_efi_free_pages): Wrap efi calls.
23767 (grub_efi_get_memory_map): Wrap efi calls.
23768
23769 * kern/x86_64/dl.c: New file.
23770
23771 * kern/x86_64/efi/callwrap.S: Likewise.
23772
23773 * kern/x86_64/efi/startup.S: Likewise.
23774
23775 * loader/efi/appleloader.c: Likewise.
23776
23777 * loader/efi/chainloader.c (cmdline): New variable.
23778 (grub_chainloader_unload): Wrap efi calls.
23779 (grub_chainloader_boot): Likewise.
23780 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
23781 command line.
23782
23783 * loader/efi/chainloader_normal.c (chainloader_command):
23784 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
23785 command line.
23786
23787 * loader/i386/efi/linux.c (allocate_pages): Change allocation
23788 method.
23789 (grub_e820_add_region): New function.
23790 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
23791 booting.
23792 (grub_find_video_card): New function.
23793 (grub_linux_setup_video): New function.
23794 (grub_rescue_cmd_linux): Probe for video information.
23795
23796 * normal/x86_64/setjmp.S: New file.
23797
23798 * term/efi/console.c (map_char): New function.
23799 (grub_console_putchar): Map unicode char.
23800 (grub_console_checkkey): Wrap efi calls.
23801 (grub_console_getkey): Likewise.
23802 (grub_console_getwh): Likewise.
23803 (grub_console_gotoxy): Likewise.
23804 (grub_console_cls): Likewise.
23805 (grub_console_setcolorstate): Likewise.
23806 (grub_console_setcursor): Likewise.
23807
23808 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
23809
59652a20 238102008-07-16 Pavel Roskin <proski@gnu.org>
23811
ef294055 23812 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
23813 format strings.
23814
59652a20 23815 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
23816 pointer, not an integer. This fixes a warning and prevents
23817 precision loss on 64-bit systems.
23818 (relocate_addresses): Remove unneeded cast.
23819
afc3b5d7 238202008-07-15 Pavel Roskin <proski@gnu.org>
23821
506b2b3e 23822 * kern/i386/ieee1275/init.c: Include grub/cache.h.
23823
62ead89c 23824 * term/ieee1275/ofconsole.c: Disable code unused on i386.
23825
c4cd51d7 23826 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
23827 Fix comparison between signed and unsigned.
23828
0d3d8f28 23829 * include/grub/i386/ieee1275/console.h: Declare
23830 grub_console_init() and grub_console_fini().
23831
8804b286 23832 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
23833 It's empty and unused.
23834
ee01cf35 23835 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
23836 beginning to avoid warnings with some compilers.
23837
afc3b5d7 23838 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
23839 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
23840
e4e8eaa5 238412008-07-14 Pavel Roskin <proski@gnu.org>
23842
407aceb4 23843 * kern/env.c (grub_register_variable_hook): Don't copy empty
23844 string, it leaks memory. Pass "" to grub_env_set(), it should
23845 handle constant strings.
23846
e4e8eaa5 23847 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
23848 * commands/cmp.c (grub_cmd_cmp): Likewise.
23849 * kern/dl.c (grub_dl_flush_cache): Likewise.
23850 (grub_dl_load_core): Likewise.
23851 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
23852 (grub_elf64_load_phdrs): Likewise.
23853
d4e2dad3 238542008-07-13 Pavel Roskin <proski@gnu.org>
23855
23856 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
23857 between signed and unsigned.
23858 (LzmaEnc_Finish): Fix warning about an unused parameter.
23859
aa24b516 238602008-07-13 Bean <bean123ch@gmail.com>
23861
23862 * Makefile.in (enable_lzo): New rule.
23863
23864 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
23865
23866 * configure.ac (ENABLE_LZO): New option --enable-lzo.
23867
23868 * boot/i386/pc/lnxboot.S: #include <config.h>.
23869
23870 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 23871 its value according to the compression algorithm used, lzo or lzma.
aa24b516 23872
23873 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
23874 compression algorithm according to configure macro.
23875
23876 * kern/i386/pc/startup.S (codestart): Likewise.
23877
23878 * kern/i386/pc/lzma_decode.S: New file.
23879
23880 * include/grub/lib/LzFind.h: Likewise.
23881
23882 * include/grub/lib/LzHash.h: Likewise.
23883
23884 * include/grub/lib/LzmaDec.h: Likewise.
23885
23886 * include/grub/lib/LzmaEnc.h: Likewise.
23887
23888 * include/grub/lib/LzmaTypes.h: Likewise.
23889
23890 * lib/LzFind.c: Likewise.
23891
23892 * lib/LzmaDec.c: Likewise.
23893
23894 * lib/LzmaEnc.c: Likewise.
23895
4ae821ac 238962008-07-13 Bean <bean123ch@gmail.com>
23897
23898 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
23899 (grub_ext4_extent_header): New structure.
23900 (grub_ext4_extent): Likewise.
23901 (grub_ext4_extent_idx): Likewise.
23902 (grub_ext4_find_leaf): New function.
23903 (grub_ext2_read_block): Handle extents.
23904
9a745147 239052008-07-12 Robert Millan <rmh@aybabtu.com>
23906
23907 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
23908
d49a4cf6 239092008-07-11 Robert Millan <rmh@aybabtu.com>
23910
23911 * util/grub.d/40_custom.in: New file. Example on how to add custom
23912 entries to /etc/grub.d.
23913 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
23914 40_custom (implicitly, by merging all the grub.d rules).
23915
947414b4 239162008-07-11 Pavel Roskin <proski@gnu.org>
23917
0059cf6f 23918 * commands/read.c (grub_getline): Fix invalid memory access.
23919 Don't add newline to the variable value.
23920
947414b4 23921 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
23922 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
23923 (serial_hw_get_port): Check validity of the port number.
23924 (grub_cmd_serial): Check return value of serial_hw_get_port().
23925
62a02d00 239262008-07-07 Pavel Roskin <proski@gnu.org>
23927
23928 * boot/i386/pc/diskboot.S (notification_string): Replace
23929 "Loading kernel" with just "loading". This is shorter, less
23930 confusing and saves a few bytes for possible future changes.
23931
3e5581b0 239322008-07-05 Pavel Roskin <proski@gnu.org>
23933
ea387a48 23934 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
23935 size for ATAPI devices, they are undefined. Output sector
23936 number in decimal form.
23937
3e5581b0 23938 * disk/ata.c: Use named constants for status bits.
23939
fdecb8fd 239402008-07-04 Pavel Roskin <proski@gnu.org>
23941
bcd35b90 23942 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
23943 grub_addr_t before casting it to the void pointer to fix a
23944 warning. Non-addressable regions are discarded earlier.
23945 (grub_arch_modules_addr): Cast _end to grub_addr_t.
23946 * kern/i386/linuxbios/table.c: Include grub/misc.h.
23947 (check_signature): Don't shadow table_header.
23948 (grub_linuxbios_table_iterate): Cast numeric constants to
23949 grub_linuxbios_table_header_t.
23950 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
23951 grub_stop().
23952
af58ab3d 23953 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
23954 prevent warnings.
23955
1759aa57 23956 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
23957 pointer, which can cause warnings. Support 64-bit addresses.
23958
fdecb8fd 23959 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
23960 of sizeof(long). This fixes PowerPC image generation on x86_64.
23961
8516d2a8 239622008-07-04 Robert Millan <rmh@aybabtu.com>
23963
23964 This fixes a performance issue when pc & gpt partmap iterators
23965 didn't abort iteration even after our hook found what it was
fe987087 23966 looking for (often causing expensive probes of non-existent drives).
8516d2a8 23967
23968 Some callers relied on previous buggy behaviour, since they would
34c44600 23969 raise an error when their own hooks caused early abortion of its
8516d2a8 23970 iteration.
23971
23972 * kern/device.c (grub_device_open): Improve error message.
23973 * disk/lvm.c (grub_lvm_open): Likewise.
23974 * disk/raid.c (grub_raid_open): Likewise.
23975
23976 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
23977 when hook requests it, independently of grub_errno.
23978 (pc_partition_map_probe): Do not fail when find_func() caused
23979 early abortion of pc_partition_map_iterate().
23980
23981 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
23982 when hook requests it, independently of grub_errno.
23983 (gpt_partition_map_probe): Do not fail when find_func() caused
23984 early abortion of gpt_partition_map_iterate().
23985
23986 * kern/partition.c (grub_partition_iterate): Abort parent iteration
23987 when hook requests it, independently of grub_errno. Do not fail when
23988 part_map_iterate_hook() caused early abortion of p->iterate().
23989
23990 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
23991 when grub_partition_iterate() returned with non-zero.
23992
277d0de9 239932008-07-03 Pavel Roskin <proski@gnu.org>
23994
23995 * disk/ata.c (grub_ata_pio_write): Check status before writing,
23996 like we do in grub_ata_pio_read().
23997 (grub_ata_readwrite): Always write individual sectors. Fix the
23998 sector count for the remainder.
23999 (grub_ata_write): Enable writing to ATA devices. Correctly
24000 report error for ATAPI devices.
24001
d4c9b428 240022008-07-02 Pavel Roskin <proski@gnu.org>
24003
e43fc690 24004 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
24005 warning.
24006
f707af42 24007 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
24008 for every read sector, we already increment it for the whole
24009 batch. This fixes reading more than 256 sectors at once.
24010
11e16b15 24011 * util/grub-editenv.c (cmd_info): Cast argument to long
24012 explicitly. ptrdiff_t reduces to int on i386.
24013
cbabfdd4 24014 * util/grub-editenv.c (main): Be specific which parameter is
24015 missing.
24016
b8fbce0a 24017 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
24018 (memdisk): Make memdisk_orig_addr a pointer.
24019
c9c8e606 24020 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
24021 for file offsets, use grub_off_t instead. Fix printf format
24022 warnings.
24023
ca62e598 24024 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
24025 there. Real unexpected warnings should not drown in the noise
24026 about known problems.
24027
ce8d1766 24028 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
24029 grub_disk_addr_t for memory addresses.
24030
00c7a56a 24031 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
24032 explicitly to fix a warning.
24033
08d3ef09 24034 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
24035
cb71ba20 24036 * Makefile.in (MODULE_LDFLAGS): New variable.
24037 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
24038 the linker accepts --build-id=none.
24039 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
24040 MODULE_LDFLAGS.
24041 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
24042
d4c9b428 24043 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
24044 those in Linux XFS code. Provide a way to access 64-bit parent
24045 inode.
24046 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
24047 the end of struct grub_xfs_dir_header.
24048
d4156eee 240492008-07-02 Bean <bean123ch@gmail.com>
24050
24051 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
24052 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
24053 and GRUB_IEEE1275_FLAG_NO_ANSI.
24054
24055 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
24056 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
24057 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
24058
24059 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
24060 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
24061
24062 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
24063 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
24064
24065 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
24066 esc sequence on non ANSI terminal.
24067 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
24068
24069 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
24070 beginning of file.
24071
2270f77b 240722008-07-02 Bean <bean123ch@gmail.com>
24073
24074 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
24075 (grub_editenv_SOURCES): New variable.
24076 (pkglib_MODULES): Add loadenv.mod.
24077 (loadenv_mod_SOURCES): New variable.
24078 (loadenv_mod_CFLAGS): Likewise.
24079 (loadenv_mod_LDFLAGS): Likewise.
24080
24081 * include/grub/envblk.h: New file.
24082
24083 * util/envblk.c: New file.
24084
24085 * util/grub-editenv.c: New file.
24086
24087 * commands/loadenv.c: New file.
24088
0e9e51ec 240892008-07-01 Pavel Roskin <proski@gnu.org>
24090
d89b7634 24091 * include/multiboot2.h (struct multiboot_tag_module): Use char,
24092 not unsigned char. This fixes warnings and is consistent with
24093 other tags.
24094
bf1835b1 24095 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
24096
8222a04b 24097 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
24098
6a42d99d 24099 * term/tparm.c (analyze): Always set *popcount.
24100
10b159d1 24101 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
24102 cast to fix a warning.
24103
b8789f6c 24104 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
24105 cast to suppress a warning.
24106
29d7e38a 24107 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
24108 grub_fshelp_read_file() expects.
24109
f341f669 24110 * fs/fat.c: Fix UUID calculation on big-endian systems. We
24111 write uuid as a 32-bit value in CPU byte order, so declare and
24112 use it as such.
24113
0e9e51ec 24114 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
24115 long if the format specifier expects it.
24116 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
24117 * partmap/pc.c (pc_partition_map_iterate): Likewise.
24118 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
24119 long to fix a warning.
24120 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
24121 grub_dprintf() arguments to fix warnings.
24122
3aefa857 241232008-06-30 Pavel Roskin <proski@gnu.org>
24124
56c7668b 24125 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
24126 install_bsd_part immediately before core.img is embedded or
24127 modified on disk. This fixes core.img verification if core.img
24128 cannot be embedded.
24129
3aefa857 24130 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
24131 core_path to calculate the blocklist.
24132 Patch from Javier Martín <lordhabbit@gmail.com>
24133
5444088d 241342008-06-29 Robert Millan <rmh@aybabtu.com>
24135
24136 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
24137 block to disk block.
24138 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
24139 Patch from Niels Böhm <bitbucket@arcor.de>
24140
674835c8 241412008-06-29 Robert Millan <rmh@aybabtu.com>
24142
24143 * util/update-grub_lib.in (font_path): Search for fonts in
24144 /boot/grub first, which is more likely to be readable (we aren't
24145 deciding where fonts live, just looking for them).
24146
f527dbc8 241472008-06-26 Pavel Roskin <proski@gnu.org>
24148
6c2d8df6 24149 * util/biosdisk.c (read_device_map): Don't leave dead map
24150 entries for devices failing stat() check.
24151
f527dbc8 24152 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
24153 core_path_dev for the core.img path on the target device.
24154
aebe3d13 241552008-06-26 Robert Millan <rmh@aybabtu.com>
24156
24157 * disk/fs_uuid.c: New file.
24158 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
24159 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
24160 (fs_uuid_mod_LDFLAGS): New variables.
24161 * include/grub/disk.h (grub_disk_dev_id): Add
24162 `GRUB_DISK_DEVICE_UUID_ID'.
24163 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
24164 implement iterate().
24165
37aaf354 241662008-06-26 Robert Millan <rmh@aybabtu.com>
24167
24168 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
24169 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
24170 Linux image includes no initrd.
24171
25ff262a 241722008-06-21 Javier Martín <lordhabbit@gmail.com>
24173
24174 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
24175 call to resolve the core image location that effectively appended the
24176 name twice.
24177
76a2bd44 241782008-06-21 Robert Millan <rmh@aybabtu.com>
24179
24180 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
24181 call from here ...
24182
24183 * util/grub.d/10_hurd.in: ... to here ...
24184 * util/grub.d/10_linux.in: ... and here.
24185
650e1c79 241862008-06-19 Robert Millan <rmh@aybabtu.com>
24187
fe987087 24188 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 24189 after it has been set by grub_machine_set_prefix().
24190
6ce63911 241912008-06-19 Robert Millan <rmh@aybabtu.com>
24192
24193 * commands/search.c (search_label, search_fs_uuid, search_file): Print
24194 search result when not saving to variable, not the other way around.
24195 When saving to variable, abort iteration as soon as a match is found.
24196
73940cec 241972008-06-19 Robert Millan <rmh@aybabtu.com>
24198
24199 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
24200 check for partition that provides /boot/grub. Its logic is flawed,
24201 as it prevents prepare_grub_to_access_device() from being called
24202 multiple times.
24203
3c62a39d 242042008-06-19 Robert Millan <rmh@aybabtu.com>
24205
24206 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
24207 "insmod" command directly when abstraction modules are needed,
fe987087 24208 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 24209 since it had already been processed).
24210
47395a42 242112008-06-19 Pavel Roskin <proski@gnu.org>
24212
24213 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
24214 changed. This is needed in case GRUB_LIBDIR changes.
24215 * conf/i386-ieee1275.rmk: Likewise.
24216 * conf/i386-linuxbios.rmk: Likewise.
24217 * conf/i386-pc.rmk: Likewise.
24218 * conf/powerpc-ieee1275.rmk: Likewise.
24219
a145ac2d 242202008-06-18 Pavel Roskin <proski@gnu.org>
24221
24222 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
24223 kernel_elf_symlist.c to symlist.c for consistency with other
24224 architectures. Update all users.
24225 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
24226
7847c51e 242272008-06-18 Robert Millan <rmh@aybabtu.com>
24228
24229 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
24230 it in prefix.
24231
24232 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
24233 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
24234 a RAID device, run setup() for all members independently on whether
24235 LVM abstraction is being used.
24236 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
24237 If grub-mkimage has set `*install_dos_part == -2', don't override this
24238 value.
24239 Perform *install_dos_part adjustments independently on whether
24240 we're embedding or not.
24241 Clarify error message when image is too big for embedding.
24242 Remove duplicate *install_dos_part stanza.
24243
b23e5644 242442008-06-17 Robert Millan <rmh@aybabtu.com>
24245
24246 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
24247 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
24248 variables.
24249 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
24250 values in grub_ofconsole_normal_color and
24251 grub_ofconsole_highlight_color (they're not directly related to
24252 background and foreground).
24253 (grub_ofconsole_setcolorstate): Extract background and foreground
24254 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
24255
0aac2f79 242562008-06-17 Robert Millan <rmh@aybabtu.com>
24257
24258 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
24259 /boot/grub for the check in last commit, not /boot (they could be
24260 different partitions).
24261
3cca7ef3 242622008-06-16 Robert Millan <rmh@aybabtu.com>
24263
24264 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
24265 asked to setup access for the same partition that provides /boot,
24266 don't bother using UUIDs since our root already has the value we
24267 want.
24268
347396d8 242692008-06-16 Robert Millan <rmh@aybabtu.com>
24270
24271 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
24272 I2O devices.
24273 Patch from Sven Mueller <sven@debian.org>.
24274
991477f8 242752008-06-16 Robert Millan <rmh@aybabtu.com>
24276
24277 * util/update-grub.in: Check for $EUID instead of $UID.
24278 Reported by Vincent Zweije.
24279
d31a32a1 242802008-06-16 Bean <bean123ch@gmail.com>
24281
fe987087 24282 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 24283 (grub_ext2_read_block): Likewise.
24284 (grub_ext2_read_inode): Likewise.
24285 (grub_ext2_mount): Likewise.
24286 (grub_ext2_close): Likewise.
24287 (grub_ext3_get_journal): Removed.
24288
fe987087 24289 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 24290 (grub_reiserfs_read_symlink): Likewise.
24291 (grub_reiserfs_mount): Likewise.
24292 (grub_reiserfs_open): Likewise.
24293 (grub_reiserfs_read): Likewise.
24294 (grub_reiserfs_close): Likewise.
24295 (grub_reiserfs_get_journal): Removed.
24296
24297 * fs/fshelp.c (grub_fshelp_read): Removed.
24298 (grub_fshelp_map_block): Likewise.
24299
24300 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
24301 (grub_fshelp_journal): Likewise.
24302 (grub_fshelp_read): Likewise.
24303 (grub_fshelp_map_block): Likewise.
24304
3540a760 243052008-06-16 Pavel Roskin <proski@gnu.org>
24306
24307 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
24308 floating point anymore.
24309 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
24310
95614c84 243112008-06-15 Pavel Roskin <proski@gnu.org>
24312
24313 * commands/ls.c (grub_ls_list_files): Use integer calculations
24314 for human readable format, avoid floating point use.
24315 * kern/misc.c (grub_ftoa): Remove.
24316 (grub_vsprintf): Remove floating point support.
24317
50465dd6 243182008-06-15 Robert Millan <rmh@aybabtu.com>
24319
fe6b695a 24320 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 24321 devices.
24322 Reported by Max Vozeler.
24323
a9207284 243242008-06-15 Robert Millan <rmh@aybabtu.com>
24325
24326 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
24327 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
24328 skipped later.
24329 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
24330 the beginning of the prefix.
24331
24332 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
24333 It is assumed that if we have a memdisk, grub-mkimage has set
24334 grub_prefix to include the "(memdisk)" drive in it.
24335
a7cbd45a 243362008-06-15 Robert Millan <rmh@aybabtu.com>
24337
24338 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
24339 Initialize keyboard controller after registering the terminal, so that
24340 grub_printf() can be called from grub_keyboard_controller_init().
24341
21cf716a 243422008-06-15 Robert Millan <rmh@aybabtu.com>
24343
24344 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
24345 extent-btree which is written as big endian on disk.
24346 Reported by Alain Greppin <al@chilibi.org>.
24347
23a64d8e 243482008-06-14 Robert Millan <rmh@aybabtu.com>
24349
24350 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
24351 * util/i386/pc/grub-install.in (modules): Likewise.
24352
d687651c 243532008-06-13 Pavel Roskin <proski@gnu.org>
24354
24355 * commands/ls.c (grub_ls_list_files): Fix format warnings.
24356
dfe9ddd4 243572008-06-13 Bean <bean123ch@gmail.com>
24358
24359 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
24360
24361 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
24362
24363 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
24364 to indicate sparse block.
24365
16ae7781 243662008-06-12 Pavel Roskin <proski@gnu.org>
24367
e6d1a308 24368 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
24369 number, grub_fshelp_read() does it for us.
24370
16ae7781 24371 * fs/fshelp.c (grub_fshelp_read): New function. Implement
24372 linear disk read with journal translation.
24373 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
24374 * include/grub/fshelp.h: Declare grub_fshelp_read().
24375
40fd3a2b 243762008-06-09 Pavel Roskin <proski@gnu.org>
24377
24378 * fs/minix.c (grub_minix_mount): Handle error reading
24379 superblock.
24380
f5679726 243812008-06-08 Robert Millan <rmh@aybabtu.com>
24382
24383 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
24384 don't append the RAID prefix afterwards.
24385 Reported by Clint Adams.
24386
ce525529 243872008-06-08 Robert Millan <rmh@aybabtu.com>
24388
24389 Based on description from Pavel:
24390 * kern/disk.c (grub_disk_check_range): Rename to ...
24391 (grub_disk_adjust_range): ... this. Add a comment explaining the
24392 tasks performed by this function.
24393
ad4936a0 243942008-06-08 Robert Millan <rmh@aybabtu.com>
24395
24396 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
24397 `num_serial' (for consistency with other variables).
24398 (struct grub_ntfs_data): Add `uuid' member.
24399 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
24400 (grub_ntfs_uuid): New function.
24401 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
24402
dc20b0f9 244032008-06-07 Pavel Roskin <proski@gnu.org>
24404
24405 * util/biosdisk.c (open_device): Revert last change to the
24406 function, it broke installation. The sector needs to be
24407 different dependent on which device is opened.
24408
c5e3cfba 244092008-06-06 Robert Millan <rmh@aybabtu.com>
24410
24411 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
24412 rest of GRUB, and breakage doesn't happen if its value were modified.
24413
24414 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24415 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
24416 a constant (same value).
24417 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
24418 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
24419
26a1f8c4 244202008-06-06 Robert Millan <rmh@aybabtu.com>
24421
24422 * util/biosdisk.c (open_device): Do not modify sector offset when
24423 accessing a partition. kern/disk.c already handles this for us.
24424
25d6b327 244252008-06-06 Robert Millan <rmh@aybabtu.com>
24426
24427 * util/grub-emu.c (grub_machine_init): Move code in this function from
24428 here ...
24429 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
24430 segfault in case grub_printf() is called).
24431
24432 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
24433 grub_probe. Update all users not to explicitly add it again.
24434 (grub_device): New variable; contains corresponding device for grubdir.
24435 (fs_module, partmap_module, devabstraction_module): Pass
24436 `--device ${grub_device}' to grub_probe to avoid traversing /dev
24437 every time.
24438
9ece62fb 244392008-06-05 Robert Millan <rmh@aybabtu.com>
24440
24441 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
24442 is found, print it (same layout as with labels).
24443
1ad36d37 244442008-06-04 Robert Millan <rmh@aybabtu.com>
24445
24446 * util/biosdisk.c (get_drive): Rename to ...
24447 (find_grub_drive): ... this. Update all users.
24448
24449 (get_os_disk): Rename to ...
24450 (convert_system_partition_to_system_disk): ... this. Update all users.
24451
24452 (find_drive): Rename to ...
24453 (find_system_device): ... this. Update all users.
24454
e6a30859 244552008-06-04 Robert Millan <rmh@aybabtu.com>
24456
24457 * util/biosdisk.c (get_os_disk): Handle IDA devices.
24458 * util/grub-mkdevicemap.c (get_mmc_disk_name)
24459 (make_device_map): Likewise.
24460
00c108a4 244612008-06-01 Robert Millan <rmh@aybabtu.com>
24462
24463 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
24464 before dereferencing it.
24465
24466 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
24467 union with fat12/fat16-specific ones. Add some new fields, including
24468 `num_serial' for both versions.
24469 (struct grub_fat_data): Add `uuid' member.
24470 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
24471 names. Initialize `data->uuid' using `num_serial'.
24472 (grub_fat_uuid): New function.
24473 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
24474
24475 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
24476 (grub_reiserfs_uuid): New function.
24477 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
24478 member.
24479
24480 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
24481 (grub_xfs_uuid): New function.
24482 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
24483
1385c5bb 244842008-06-01 Robert Millan <rmh@aybabtu.com>
24485
24486 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
24487 code that is backward compatible with pre-uuid search command.
24488
c682dfd7 244892008-05-31 Robert Millan <rmh@aybabtu.com>
24490
24491 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
24492 floppies after everything else, to ensure floppy drive isn't accessed
24493 unnecessarily (patch from Bean).
24494
b7db5d47 244952008-05-31 Robert Millan <rmh@aybabtu.com>
24496
24497 * commands/search.c (search_label, search_fs_uuid, search_file): Do
24498 not print device names when we were asked to set a variable.
24499
6e037aa9 245002008-05-31 Robert Millan <rmh@aybabtu.com>
24501
24502 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
24503 using "cursor-on" and "cursor-off" commands (understood at least by
24504 the Open Firmware flavour on OLPC).
24505
41305bc8 245062008-05-31 Michael Gorven <michael@gorven.za.net>
24507
24508 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
24509 on and off sequences.
24510
69ba137e 245112008-05-31 Robert Millan <rmh@aybabtu.com>
24512
24513 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
24514 * util/update-grub.in: Likewise.
24515
520ae21b 245162008-05-30 Pavel Roskin <proski@gnu.org>
24517
24518 * util/biosdisk.c (linux_find_partition): Simplify logic and
24519 make the code more universal. Keep special processing for
24520 devfs, but use a simple rule for all other devices. If the
24521 device ends with a number, append 'p' and the partition number.
24522 Otherwise, append only the partition number.
24523
5786569b 245242008-05-30 Robert Millan <rmh@aybabtu.com>
24525
24526 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
24527 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
24528 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
24529 the `root' parameter to Linux.
24530
51500452 245312008-05-30 Robert Millan <rmh@aybabtu.com>
24532
24533 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
24534 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
24535 --fs_uuid with --fs-uuid.
24536 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
24537 all filesystems support them).
24538
811d3878 245392008-05-30 Robert Millan <rmh@aybabtu.com>
24540
24541 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 24542 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 24543
cab63c95 245442008-05-30 Robert Millan <rmh@aybabtu.com>
24545
24546 * util/grub.d/00_header.in: Remove obsolete comment referencing
24547 convert_system_path_to_grub_path().
24548 * util/update-grub.in: Likewise.
24549 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
24550 (convert_system_path_to_grub_path): Add a warning message explaining
24551 that this function is deprecated. Rely on is_path_readable_by_grub()
24552 for the readability checks.
24553 (font_path): Use is_path_readable_by_grub() for the readability
24554 check rather than convert_system_path_to_grub_path().
24555
972e2f7a 245562008-05-30 Robert Millan <rmh@aybabtu.com>
24557
24558 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
24559 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
24560 converting it first.
24561 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
24562 grub.cfg for access to font file, and afterwards call it again to set
24563 the root device.
24564
62191274 245652008-05-30 Robert Millan <rmh@aybabtu.com>
24566
24567 * commands/search.c (options): Add --fs_uuid option.
24568 (search_fs_uuid): New function.
24569 (grub_cmd_search): Fix --set argument passing.
24570 Use search_fs_uuid() when requested via --fs_uuid.
24571 (grub_search_init): Update help message.
24572 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
24573 and redeclare it as an array of 16-bit words.
24574 (grub_ext2_uuid): New function.
24575 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
24576 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
24577 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
24578 (GRUB_DEVICE_BOOT_UUID): New variables.
24579 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
24580 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
24581 whenever possible.
24582 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
24583 just assume `root' variable has the right value.
24584 * util/grub.d/10_linux.in: Likewise.
24585 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
24586 via PRINT_FS_UUID.
24587 (main): Recognise `-t fs_uuid' argument.
24588
01b73ec8 245892008-05-30 Robert Millan <rmh@aybabtu.com>
24590
24591 * util/biosdisk.c (map): Redefine structure to hold information
24592 about GRUB drive name.
fe6b695a 24593 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 24594 drive names.
24595 (call_hook): Remove.
24596 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
24597 member. Assume drive has partitions.
24598 (grub_util_biosdisk_open): Access device names via `.device' struct
24599 member.
24600 (open_device): Likewise.
24601 (find_drive): Likewise.
24602 (read_device_map): Adjust map[] usage to match the new struct
24603 definition. Don't check for duplicates (still possible, but not cheap
24604 anymore).
24605 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
24606 (make_device_name): Remove assumption of BIOS-like drive names.
24607
22f16596 246082008-05-30 Pavel Roskin <proski@gnu.org>
24609
24610 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
24611 compiling execute.c doesn't need grub_script.tab.h anymore.
24612 (normal/command.c_DEPENDENCIES): Likewise.
24613 (normal/function.c_DEPENDENCIES): Likewise.
24614 * conf/i386-ieee1275.rmk: Likewise.
24615 * conf/i386-linuxbios.rmk: Likewise.
24616 * conf/i386-pc.rmk: Likewise.
24617 * conf/powerpc-ieee1275.rmk: Likewise.
24618 * conf/sparc64-ieee1275.rmk: Likewise.
24619
528ad8f2 246202008-05-29 Pavel Roskin <proski@gnu.org>
24621
d1dff95d 24622 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
24623 when scanning metadata for volume group name.
24624
528ad8f2 24625 * include/grub/script.h: Don't include grub_script.tab.h. It's
24626 a generated file, which may only be included from the files with
24627 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
24628 use union YYSTYPE, as the later allows forward declaration.
24629 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
24630
47248e08 246312008-05-29 Robert Millan <rmh@aybabtu.com>
24632
24633 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
24634 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
24635 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
24636 (grub_console_checkkey): Add grub_dprintf() call to report unknown
24637 scan codes.
24638
ee632529 246392008-05-29 Robert Millan <rmh@aybabtu.com>
24640
24641 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
24642 control key combinations.
24643
eee96e08 246442008-05-29 Robert Millan <rmh@aybabtu.com>
24645
24646 * util/powerpc/ieee1275/grub-install.in: Move from here ...
24647 * util/ieee1275/grub-install.in: ... to here.
24648 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
24649 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
24650 (grub_install_SOURCES): Likewise.
24651
da9a6a94 246522008-05-29 Robert Millan <rmh@aybabtu.com>
24653
24654 * fs/affs.c: Update copyright year.
24655 * fs/ext2.c: Likewise.
24656 * fs/fshelp.c: Likewise.
24657 * fs/hfsplus.c: Likewise.
24658 * fs/ntfs.c: Likewise.
24659 * fs/xfs.c: Likewise.
24660 * include/grub/fshelp.h: Likewise.
24661 * util/grub-mkdevicemap.c: Likewise.
24662
12e65f3a 246632008-05-28 Robert Millan <rmh@aybabtu.com>
24664
24665 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
24666 might need to be fatfs to support some firmware implementations
24667 (e.g. OFW or EFI).
24668
23023641 246692008-05-28 Robert Millan <rmh@aybabtu.com>
24670
24671 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
24672 devices.
24673 * util/grub-mkdevicemap.c (get_mmc_disk_name)
24674 (make_device_map): Likewise.
24675
887d2619 246762008-05-20 Bean <bean123ch@gmail.com>
24677
24678 * fs/fshelp.c (grub_fshelp_map_block): New function.
24679 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
24680 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
24681
24682 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
24683 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
24684 (grub_fshelp_journal): New structure.
24685 (grub_fshelp_map_block): New function prototype.
24686 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
24687 (grub_fshelp_map_block): Likewise.
24688
24689 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
24690 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
24691 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
24692 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
24693 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
24694 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
24695 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
24696 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
24697 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
24698 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
24699 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
24700 (grub_ext2_sblock): New members for journal support.
24701 (grub_ext3_journal_header): New structure.
24702 (grub_ext3_journal_revoke_header): Likewise.
24703 (grub_ext3_journal_block_tag): Likewise.
24704 (grub_ext3_journal_sblock): Likewise.
24705 (grub_fshelp_node): New members logfile and journal.
24706 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
24707 grub_fshelp_map_block to get real block number.
24708 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
24709 number.
24710 (grub_ext2_read_inode): Likewise.
24711 (grub_ext3_get_journal): New function.
24712 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
24713 (grub_ext2_close): Release memory used by journal.
24714
24715 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
24716 (REISERFS_MAGIC_DESC_BLOCK): New macro.
24717 (grub_reiserfs_transaction_header): Renamed to
24718 grub_reiserfs_description_block, replace field data with real_blocks.
24719 (grub_reiserfs_commit_block): New structure.
24720 (grub_reiserfs_data): New member journal.
24721 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
24722 number.
24723 (grub_reiserfs_read_symlink): Likewise.
24724 (grub_reiserfs_iterate_dir): Likewise.
24725 (grub_reiserfs_open): Likewise.
24726 (grub_reiserfs_read): Likewise.
24727 (grub_reiserfs_get_journal): New function.
24728 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
24729 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
24730 using grub_reiserfs_get_journal.
24731 (grub_reiserfs_close): Release memory used by journal.
24732
24733 * fs/affs.c (grub_affs_read_block): Change block type to
24734 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
24735
24736 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
24737
24738 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
24739
24740 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
24741
24742 * fs/udf.c (grub_udf_read_block): Change block type to
24743 grub_disk_addr_t. Use type cast to avoid warning.
24744
24745 * fs/xfs.c (grub_xfs_read_block): Likewise.
24746
b7c6bed5 247472008-05-16 Christian Franke <franke@computer.org>
24748
24749 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
24750 to ensure that break with ESC will always work.
24751 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
24752 Remove ESC from keyboard queue.
24753
eedf167f 247542008-05-16 Christian Franke <franke@computer.org>
24755
24756 * util/biosdisk.c: [__CYGWIN__] Add includes.
24757 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
24758 (get_os_disk): Move variable declarations to OS specific
24759 parts to avoid warning.
24760 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
24761 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
24762 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
24763 Cygwin.
24764 * util/getroot.c: [__CYGWIN__] Add includes.
24765 (strip_extra_slashes): Fix "/" case.
24766 [__CYGWIN__] (get_win32_path): New function.
24767 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
24768 [__CYGWIN__] (find_root_device): Disable.
24769 [__CYGWIN__] (get_bootsec_serial): New function.
24770 [__CYGWIN__] (find_cygwin_root_device): Likewise.
24771 [__linux__] (grub_guess_root_device): Add early returns to simplify
24772 structure.
24773 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
24774 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
24775 check for Linux only.
24776
a079699e 247772008-05-15 Bean <bean123ch@gmail.com>
24778
24779 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
24780 keyboard hang problem in apple's intel mac.
24781
1cf4059a 247822008-05-09 Robert Millan <rmh@aybabtu.com>
24783
24784 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
24785 devices.
24786 * util/grub-mkdevicemap.c (get_virtio_disk_name)
24787 (make_device_map): Likewise.
24788 Reported by Aurelien Jarno <aurel32@debian.org>
24789
ed759390 247902008-05-07 Ian Campbell <ijc@hellion.org.uk>
24791
24792 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
24793 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
24794 (make_device_map): Output entries for xvd type disks.
24795
b56c4eaa 247962008-05-07 Robert Millan <rmh@aybabtu.com>
24797
24798 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
24799 devices.
24800 * util/grub-mkdevicemap.c (get_cciss_disk_name)
24801 (make_device_map): Likewise.
24802 Reported by Roland Dreier <rdreier@cisco.com>
24803
7f8866ed 248042008-05-07 Robert Millan <rmh@aybabtu.com>
24805
24806 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
24807 grub_strstr() call. Correct a few mistakes in failure path handling.
24808
b0346e0f 248092008-05-06 Robert Millan <rmh@aybabtu.com>
24810
24811 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
24812 Do not print a trailing slash (therefore, the root directory is an
24813 empty string).
24814 (convert_system_path_to_grub_path): Do not remove trailing slash
24815 from make_system_path_relative_to_its_root() output.
24816
24817 * util/i386/pc/grub-install.in: Add trailing slash to output from
24818 make_system_path_relative_to_its_root().
24819
6cf12cbd 248202008-05-06 Robert Millan <rmh@aybabtu.com>
24821
24822 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
24823 ensures that output lines aren't intermangled with those sent to
24824 stderr (via grub_util_info()).
24825 * util/grub-probe.c (grub_refresh): Likewise.
24826 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
24827
0fbb3117 248282008-05-05 Christian Franke <franke@computer.org>
24829
24830 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
24831 Add Cygwin device names.
24832 (get_ide_disk_name) [__CYGWIN__]: Likewise.
24833 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
24834 (check_device): Return error instead of success on empty name.
24835 (make_device_map): Move label inside linux specific code to
24836 prevent compiler warning.
24837
8124cdb7 248382008-04-30 Robert Millan <rmh@aybabtu.com>
24839
24840 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
24841 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
24842 first boot option.
24843 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
24844
094c01d0 248452008-04-29 Robert Millan <rmh@aybabtu.com>
24846
24847 * docs/grub.cfg: New file (example GRUB configuration).
24848
f4b1fc02 248492008-04-26 Robert Millan <rmh@aybabtu.com>
24850
329ce2a5 24851 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
24852 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
24853 and `disk/ieee1275/nand.c'.
f4b1fc02 24854
25f16ec1 248552008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 24856
25f16ec1 24857 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
24858 i386-linuxbios.
24859
24860 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
24861 change the buffer size to 4096 for cdrom device.
24862
24863 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
24864 and nand.mod.
24865 (_linux_mod_SOURCES): New variable.
24866 (_linux_mod_CFLAGS): Likewise.
24867 (_linux_mod_LDFLAGS): Likewise.
24868 (linux_mod_SOURCES): Likewise.
24869 (linux_mod_CFLAGS): Likewise.
24870 (linux_mod_LDFLAGS): Likewise.
24871 (nand_mod_SOURCES): Likewise.
24872 (nand_mod_CFLAGS): Likewise.
24873 (nand_mod_LDFLAGS): Likewise.
24874
24875 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
24876 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
24877 type property. (nand device in olpc don't have this property)
24878
24879 * include/grub/disk.h (grub_disk_dev_id): New macro
24880 GRUB_DISK_DEVICE_NAND_ID.
24881
24882 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
24883 function prototype.
24884 (grub_rescue_cmd_initrd): Likewise.
24885
24886 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
24887 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
24888 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 24889
25f16ec1 24890 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
24891 GRUB_MACHINE_IEEE1275 is defined.
24892
24893 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
24894 Use NESTED_FUNC_ATTR attribute on the hook parameter.
24895
24896 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
24897 on nested function heap_init.
24898 (grub_upper_mem): New variable for i386-ieee1275.
24899 (grub_get_extended_memory): New function for i386-ieee1275.
24900 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
24901
24902 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
24903 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
24904 property.
f19dbdb7 24905
25f16ec1 24906 * loader/i386/ieee1275/linux.c: New file.
24907
24908 * loader/i386/ieee1275/linux_normal.c: New file.
24909
24910 * disk/ieee1275/nand.c: New file.
24911
e89d61e9 249122008-04-18 Thomas Schwinge <tschwinge@gnu.org>
24913
24914 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
24915 value.
24916 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
24917
602566f6 249182008-04-18 Robert Millan <rmh@aybabtu.com>
24919
24920 Restructures early code path on ieee1275 to unify grub_main() as
24921 the first C function that is executed in every platform.
24922
24923 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
24924 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
24925 cmain().
24926 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
24927 * kern/ieee1275/cmain.c (cmain): Rename to ...
24928 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
24929 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
24930 at the beginning.
24931
57490c2b 249322008-04-18 Robert Millan <rmh@aybabtu.com>
24933
24934 * util/update-grub.in: Fix syntax error when setting
24935 `GRUB_PRELOAD_MODULES'.
24936 Reported by Stephane Chazelas <stephane@artesyncp.com>
24937
1977517d 249382008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
24939
24940 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
24941 section into account, newer toolchains generate unique build ids
24942 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 24943 we want build ids to be preserved
1977517d 24944 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
24945 far from other sections don't cause the raw binary images grow
24946 size
24947
bfb1f1a2 249482008-04-15 Robert Millan <rmh@aybabtu.com>
24949
24950 * disk/lvm.c: Update copyright year.
24951 * kern/misc.c: Likewise.
24952
01979850 249532008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
24954
24955 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 24956 there is no memory left for physical volume name.
01979850 24957
0a1150e2 249582008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
24959
24960 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
24961 volume name mapping to support bigger than 9 character names properly.
24962
82ead3fe 249632008-04-13 Robert Millan <rmh@aybabtu.com>
24964
24965 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
24966 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
24967
e54a72f5 249682008-04-13 Christian Franke <franke@computer.org>
24969
24970 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
24971 to create a floppy emulation boot CD when non emulation mode
24972 does not work.
24973 Enable Joliet CD filesystem extension.
24974
9fe86034 249752008-04-13 Robert Millan <rmh@aybabtu.com>
24976
24977 * kern/misc.c (grub_strncat): Fix off-by-one error.
24978 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
24979
24980 * kern/env.c (grub_env_context_close): Clear current context, not
24981 previous one.
24982 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
24983
24984 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
24985
7ceeee39 249862008-04-13 Robert Millan <rmh@aybabtu.com>
24987
24988 Improve robustness when handling LVM.
24989
24990 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 24991 (and leave `*p' unmodified).
7ceeee39 24992 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
24993 through it.
24994 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
24995 iterating through it.
24996 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
24997 through it.
fe6b695a 24998 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 24999 when due) on each grub_lvm_getvalue() or grub_strstr() call.
25000 Don't assume `vg->pvs != NULL' when iterating through it.
25001
58cd3d85 250022008-04-13 Robert Millan <rmh@aybabtu.com>
25003
25004 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
25005 * genmk.rb (partmap): New variable.
25006 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
25007 (#{partmap}): New target rule.
25008 * genpartmaplist.sh: New file.
25009 * Makefile.in (pkglib_DATA): Add partmap.lst.
25010 (partmap.lst): New target rule.
25011 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
25012 modules (including all partition maps), instead of preloading them.
25013
78b51059 250142007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
25015
25016 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
25017 `linux-boot-prober' (if installed) to detect other operating
25018 systems which are installed on the computer and add them to
25019 the boot menu.
25020 * conf/common.rmk: Build and install 30_os-prober.
25021
a91627b4 250222008-04-12 Robert Millan <rmh@aybabtu.com>
25023
25024 * kern/powerpc/ieee1275/init.c: Move from here ...
25025 * kern/ieee1275/init.c: ... to here. Update all users.
25026
25027 * kern/powerpc/ieee1275/cmain.c: Move from here ...
25028 * kern/ieee1275/cmain.c: ... to here. Update all users.
25029
25030 * kern/powerpc/ieee1275/openfw.c: Move from here ...
25031 * kern/ieee1275/openfw.c: ... to here. Update all users.
25032
25033 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
25034 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
25035
322562ea 250362008-04-10 Pavel Roskin <proski@gnu.org>
25037
25038 * configure.ac: Always use "_cv_" in cache variables for
25039 compatibility with Autoconf 2.62.
25040
a02a73c5 250412008-04-07 Robert Millan <rmh@aybabtu.com>
25042
25043 Revert grub/machine/init.h addition by Pavel (since it breaks on
25044 i386-ieee1275 and others):
25045 * util/i386/pc/misc.c: Remove grub/machine/init.h.
25046 * util/powerpc/ieee1275/misc.c: Likewise.
25047
25c024b1 250482008-04-07 Robert Millan <rmh@aybabtu.com>
25049
25050 * util/grub-probe.c (probe): Improve error message.
25051
3cbd2f98 250522008-04-07 Robert Millan <rmh@aybabtu.com>
25053
25054 * util/biosdisk.c (read_device_map): Skip devices that don't exist
25055 (this prevents the presence of a bogus entry from ruining the whole
25056 thing).
25057
87a297bf 250582008-04-06 Pavel Roskin <proski@gnu.org>
25059
36747a62 25060 * util/biosdisk.c: Include grub/util/biosdisk.h.
25061 * util/grub-fstest.c (execute_command): Make static.
25062 * util/grub-mkdevicemap.c (check_device): Likewise.
25063 * util/i386/pc/misc.c: Include grub/machine/init.h.
25064 * util/powerpc/ieee1275/misc.c: Likewise.
25065 * util/lvm.c: Include grub/util/lvm.h.
25066 * util/misc.c: Include grub/kernel.h, grub/misc.h and
25067 grub/cache.h.
25068 * util/raid.c: Include grub/util/raid.h.
25069 (grub_util_getdiskname): Make static.
25070
87a297bf 25071 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
25072 grub_hostfs_fini(), as they are called from grub_init_all() and
25073 grub_fini_all() respectively. This fixes an infinite loop in
25074 grub-fstest due to double registration of hostfs.
25075 Reported by Christian Franke <Christian.Franke@t-online.de>
25076
f6ce7629 250772008-04-05 Pavel Roskin <proski@gnu.org>
25078
25079 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
25080 all 8 functions. Otherwise, probe function 0 only.
25081
070e49e4 250822008-04-04 Pavel Roskin <proski@gnu.org>
25083
8b088a4c 25084 * commands/lspci.c (grub_lspci_iter): Print the bus number
25085 correctly.
25086
4f657021 25087 * commands/lspci.c (grub_pci_classes): Fix typos.
25088 (grub_lspci_iter): Don't print func twice. Print vendor ID
25089 before device ID, as it's normally done.
25090
070e49e4 25091 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
25092 Fix signedness warnings.
25093 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
25094 Likewise.
25095 * util/ieee1275/get_disk_name.c: Include config.h so that
25096 _GNU_SOURCE is defined and getline() is declared. Mark an
25097 unused argument as such. Fix a signedness warning.
25098
ba7328dc 250992008-04-02 Pavel Roskin <proski@gnu.org>
25100
26887f22 25101 * genkernsyms.sh.in: Use more robust assignments for CC and
25102 srcdir. Quote srcdir.
25103 * gensymlist.sh.in: Likewise. Assert at the compile time that
25104 the symbol table is not empty.
25105
ba7328dc 25106 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
25107 * fs/cpio.c (grub_cpio_read): Likewise.
25108
0f582c6b 251092008-04-01 Pavel Roskin <proski@gnu.org>
25110
4b6e1995 25111 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
25112 * disk/host.c (grub_host_open): Likewise.
25113 * disk/loopback.c (grub_loopback_open): Likewise.
25114 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
25115 disk->id as in disk/host.c, not a multi-character constant.
25116
828a2768 25117 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
25118 later is obsolete, potentially dangerous and sets a bad example.
25119 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
25120 * util/misc.c (grub_util_get_image_size): Likewise.
25121
2bb4fb47 25122 * disk/loopback.c (options): Improve help for "--partitions".
25123
0f582c6b 25124 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
25125 options to align them with the short options, e.g. "echo -e".
25126
a33224e0 251272008-03-31 Bean <bean123ch@gmail.com>
25128
25129 * video/reader/png.c (grub_png_data): New member is_16bit and
25130 image_data.
25131 (grub_png_decode_image_header): Detect 16 bit png image.
25132 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
25133 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
25134 (grub_video_reader_png): Release memory occupied by image_data.
25135
25136 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
25137 4096 bytes.
25138 (grub_nfs_mount): Skip the test for sector per cluster.
25139
25140 * include/grub/ntfs.h (MAX_SPC): Removed.
25141
86cb4f54 251422008-03-31 Bean <bean123ch@gmail.com>
25143
25144 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
25145 (grub_probe_SOURCES): Add fs/afs.c.
25146 (grub_fstest_SOURCES): Likewise.
25147 (afs_mod_SOURCES): New variable.
25148 (afs_mod_CFLAGS): Likewise.
25149 (afs_mod_LDFLAGS): Likewise.
25150
25151 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
25152 (grub_emu_SOURCES): Likewise.
25153
25154 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25155
25156 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25157
25158 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25159
25160 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25161
25162 * fs/afs.c: New file.
25163
17c74c21 251642008-03-30 Pavel Roskin <proski@gnu.org>
25165
4cb68e89 25166 * disk/host.c: Include grub/misc.h to fix a warning.
25167 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
25168 warnings about implicit declarations.
25169
8790bb04 25170 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
25171 variable.
25172 * include/grub/i386/loader.h: Change declaration of
25173 grub_linux_boot() to match what grub_loader_set() expects.
25174 * util/getroot.c (grub_guess_root_device): Return const char* to
25175 fix a warning.
25176 * util/grub-probe.c (probe): Fix a warning about uninitialized
25177 abstraction_name variable.
25178 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
25179 second argument as unused to fix a warning.
25180
9a3f3296 25181 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
25182 missing grub_error() call.
25183
0ecef90d 25184 * util/update-grub_lib.in: Define datarootdir, since Autoconf
25185 2.60 and newer uses it to define datadir.
25186
0bf6d401 25187 * commands/sleep.c: Fix warning about implicit declaration.
25188 * disk/memdisk.c: Likewise.
25189 * loader/aout.c: Likewise.
25190 * loader/i386/bsd_normal.c: Likewise.
25191 * util/grub-probe.c: Likewise.
25192
7cdacf97 25193 * commands/i386/cpuid.c (has_longmode): Make static.
25194 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
25195 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
25196
17c74c21 25197 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
25198 GDT. This is more robust, as %ds can change.
25199 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
25200 calling real_to_prot().
25201 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
25202
80a3e68b 252032008-03-28 Pavel Roskin <proski@gnu.org>
25204
25205 * kern/i386/pc/startup.S: Assert that uncompressed functions
25206 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
25207 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
25208 code, as they push parts of the code (error handlers) beyond
25209 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
25210 code as correctness and size.
25211
77bcd272 252122008-03-28 Pavel Roskin <proski@gnu.org>
25213
25214 * kern/i386/pc/startup.S
25215 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
25216 data block address to the real mode, keep offset minimal. This
25217 works around a bug in AWARD BIOS on old Athlon systems, which
25218 makes CD detection hang.
25219
c5dfd43b 252202008-03-26 Pavel Roskin <proski@gnu.org>
25221
25222 * normal/color.c (grub_parse_color_name_pair): Make `name' a
25223 const.
25224 * include/grub/normal.h: Add grub_parse_color_name_pair()
25225 declaration.
25226
bf962df2 252272008-03-24 Bean <bean123ch@gmail.com>
25228
25229 * disk/i386/pc/biosdisk.c (cd_start): Removed.
25230 (cd_count): Removed.
25231 (cd_drive): New variable.
25232 (grub_biosdisk_get_drive): Don't check for (cdN) device.
25233 (grub_biosdisk_call_hook): Likewise.
25234 (grub_biosdisk_iterate): Change cdrom detection method.
25235 (grub_biosdisk_open): Replace cd_start with cd_drive.
25236 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
25237 detect cdrom device.
25238
25239 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
25240 Removed.
25241 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
25242 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
25243 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
25244 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
25245 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
25246 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
25247 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
25248 (grub_biosdisk_cdrp): New structure.
25249 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
25250
25251 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
25252
25253 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
25254 device.
25255
25256 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
25257 New function.
25258
68e7fc7a 252592008-03-20 Robert Millan <rmh@aybabtu.com>
25260
25261 Remove 2 TiB limit in ata.mod.
25262 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
25263 (grub_ata_dumpinfo): Print sector count with 0x%llx.
25264 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
25265 grub_uint64_t instead of grub_uint32_t.
25266
38ad2cf5 252672008-03-05 Bean <bean123ch@gmail.com>
25268
25269 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
25270 (grub_multiboot): Set boot device.
25271
25272 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
25273
2b89344e 252742008-03-02 Bean <bean123ch@gmail.com>
25275
25276 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
25277 symlink_buffer.
25278
87a95d1f 252792008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
25280
25281 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
25282 texinfo.tex.
25283
25284 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
25285 modified.
25286
25287 * docs/fdl.texi: New file.
f19dbdb7 25288
87a95d1f 25289 * docs/mdate-sh: New file. Copied from gnulib.
25290 * docs/texinfo.tex: Likewise.
25291
25292 * config.guess: Updated from gnulib.
25293 * install-sh: Likewise.
25294
7dc15d8e 252952008-02-28 Robert Millan <rmh@aybabtu.com>
25296
25297 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
25298 (aout_mod_SOURCES): New variable.
25299 (aout_mod_CFLAGS): Likewise.
25300 (aout_mod_LDFLAGS): Likewise.
25301
25302 * conf/i386-ieee1275.rmk: Likewise.
25303
b00ab696 253042008-02-28 Robert Millan <rmh@aybabtu.com>
25305
25306 * util/update-grub.in: Reorganise terminal validity check. Accept
25307 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
25308 Based on suggestion by Franklin PIAT.
25309
79ca2d78 253102008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
25311
25312 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
25313 function.
25314 * util/getroot.c (grub_util_check_block_device): New function that
25315 returns the given argument if it is a block device and returns NULL else.
25316 * util/grub-probe.c (argument_is_device): New variable.
25317 (probe): Promote device_name from a variable to an argument. Receive
25318 device_name from grub_util_check_block_device() if path is NULL and from
25319 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 25320 (options): Introduce new parameter '-d, --device'.
79ca2d78 25321 (main): Add description of the new parameter to the help screen.
25322 Rename path variable to argument. Set argument_is_device if the '-d'
25323 option is given. Pass argument to probe() depending on
25324 argument_is_device.
25325
0d16e571 253262008-02-24 Bean <bean123ch@gmail.com>
25327
25328 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
25329 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
25330 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
25331 (GRUB_ISO9660_VOLDESC_PART): Likewise.
25332 (GRUB_ISO9660_VOLDESC_END): Likewise.
25333 (grub_iso9660_primary_voldesc): New member escape.
25334 (grub_iso9660_data): New member joliet.
25335 (grub_iso9660_convert_string): New function.
25336 (grub_iso9660_mount): Detect joliet extension.
25337 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
25338 (grub_iso9660_iso9660_label): Likewise.
25339
25340 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
25341 (grub_setup_SOURCES): Add fs/udf.c.
25342 (grub_fstest_SOURCES): Likewise.
25343 (udf_mod_SOURCES): New variable.
25344 (udf_mod_CFLAGS): Likewise.
25345 (udf_mod_LDFLAGS): Likewise.
25346
25347 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
25348 (grub_emu_SOURCES): Likewise.
25349
25350 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25351
25352 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25353
25354 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25355
25356 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25357
25358 * fs/udf.c: New file.
25359
8a594a17 253602008-02-24 Robert Millan <rmh@aybabtu.com>
25361
25362 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
25363 (normal/lexer.c_DEPENDENCIES): New variables.
25364 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25365 (normal/lexer.c_DEPENDENCIES): Likewise.
25366 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
25367 (normal/lexer.c_DEPENDENCIES): Likewise.
25368 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
25369 (normal/lexer.c_DEPENDENCIES): Likewise.
25370 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25371 (normal/lexer.c_DEPENDENCIES): Likewise.
25372 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
25373 (normal/lexer.c_DEPENDENCIES): Likewise.
25374
2dc33c03 253752008-02-23 Robert Millan <rmh@aybabtu.com>
25376
25377 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
25378 since they were intended to be in hex. This didn't break previously
25379 because of a bug in gpt_partition_map_iterate() (see below).
25380
25381 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
25382 when checking the validity of GPT header.
25383 Remove `partno', since it always provides the same information as `i'.
25384
f6f4cfb0 253852008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
25386
25387 * include/grub/efi/time.h: Fix a wrong comment.
25388
79ff665f 253892008-02-19 Pavel Roskin <proski@gnu.org>
25390
25391 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
25392 message.
25393
d38e24c2 253942008-02-19 Bean <bean123ch@gmail.com>
25395
25396 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
25397 (aout_mod_SOURCES): New variable.
25398 (aout_mod_CFLAGS): Likewise.
25399 (aout_mod_LDFLAGS): Likewise.
25400 (_bsd_mod_SOURCES): New variable.
25401 (_bsd_mod_CFLAGS): Likewise.
25402 (_bsd_mod_LDFLAGS): Likewise.
25403 (bsd_mod_SOURCES): New variable.
25404 (bsd_mod_CFLAGS): Likewise.
25405 (bsd_mod_LDFLAGS): Likewise.
25406
25407 * include/grub/aout.h: New file.
25408
25409 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
25410
25411 * include/grub/i386/bsd.h: New file.
25412
25413 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
25414 to make it public.
25415
25416 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
25417 function is called, so that it's possible to change it inside the hook.
25418 (grub_elf64_load): Likewise.
25419 (grub_elf_file): Don't close the file if elf header is not found.
25420 (grub_elf_close): Close the file if grub_elf_file fails (The new
25421 grub_elf_file won't close it).
25422 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
25423 (grub_elf64_size): Likewise.
25424
25425 * kern/i386/loader.S (grub_unix_real_boot): New function.
25426
25427 * loader/aout.c: New file.
25428
25429 * loader/i386/bsd.c: New file.
25430
25431 * loader/i386/bsd_normal.c: New file.
25432
25433 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
25434
25435 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 25436 can test other formats.
d38e24c2 25437
b93bdb0f 254382008-02-19 Robert Millan <rmh@aybabtu.com>
25439
25440 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
25441 (grub_gpt_partition_type_empty): Redefine with macro from
25442 `<grub/gpt_partition.h>'.
25443 (gpt_partition_map_iterate): Adjust partition type comparison.
25444
25445 Export `entry' as partmap-specific `part.data' struct.
25446 (grub_gpt_header, grub_gpt_partentry): Move from here ...
25447
25448 * include/grub/gpt_partition.h (grub_gpt_header)
25449 (grub_gpt_partentry): ... to here (new file).
25450
25451 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
25452
25453 (grub_gpt_partition_type_bios_boot): New const variable, defined
25454 with macro from `<grub/gpt_partition.h>'.
25455
25456 (setup): Replace `first_start' with `embed_region', which keeps
25457 track of the embed region (and is partmap-agnostic).
25458
25459 Replace find_first_partition_start() with find_usable_region(),
25460 which finds a usable region for embedding using partmap-specific
25461 knowledge (supports PC/MSDOS and GPT).
25462
25463 Fix all assumptions that the embed region start at sector 1, using
25464 `embed_region.start' from now on. Similarly, use `embed_region.end'
25465 rather than `first_start' to calculate available size.
25466
25467 In grub_util_info() message, replace "into after the MBR" with an
25468 indication of the specific sector our embed region starts at.
25469
66cb40f6 254702008-02-19 Robert Millan <rmh@aybabtu.com>
25471
25472 * DISTLIST: Replace `commands/ieee1275/halt.c' and
25473 `commands/ieee1275/reboot.c' with `commands/halt.c' and
25474 `commands/reboot.c'.
25475 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
25476 (halt_mod_SOURCES): Likewise.
25477 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
25478 (halt_mod_SOURCES): Likewise.
25479
b7202015 254802008-02-17 Christian Franke <franke@computer.org>
25481
25482 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
25483
32b0fc49 254842008-02-17 Robert Millan <rmh@aybabtu.com>
25485
25486 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
25487 set `first_start' to 0 for non-PC/MSDOS partition maps.
25488
aca63502 254892008-02-16 Robert Millan <rmh@aybabtu.com>
25490
25491 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
25492 do not assume partition map is PC/MSDOS before performing checks that
25493 are specific to that layout.
25494
0de8be86 254952008-02-13 Robert Millan <rmh@aybabtu.com>
25496
25497 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
25498 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
25499 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
25500
c3db8364 255012008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
25502
25503 * configure.ac: Only a cosmetic change on the handling of
25504 -fno-stack-protector.
25505
f714229e 255062008-02-12 Alexandre Boeglin <alex@boeglin.org>
25507
c3db8364 25508 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
25509 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
25510 reboot.c.
f714229e 25511 (grub_install_SOURCES): Add halt.mod and reboot.mod.
25512 (halt_mod_SOURCES): New variable.
25513 (halt_mod_CFLAGS): Likewise.
25514 (halt_mod_LDFLAGS): Likewise.
25515 (reboot_mod_SOURCES): Likewise.
25516 (reboot_mod_CFLAGS): Likewise.
25517 (reboot_mod_LDFLAGS): Likewise.
25518
c3db8364 25519 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
25520 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
25521 reboot.c.
f714229e 25522 (halt_mod_SOURCES): Likewise.
25523 (reboot_mod_SOURCES): Likewise.
25524
c3db8364 25525 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
25526 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 25527 (reboot_mod_SOURCES): Likewise.
25528
25529 * commands/i386/pc/reboot.c: merge this file ...
25530
25531 * commands/ieee1275/reboot.c: ... and this file ...
25532
25533 * commands/reboot.c: ... to this file.
c3db8364 25534 Add some precompiler directive to include the correct header for
25535 each machine.
f714229e 25536
25537 * commands/ieee1275/halt.c: move this file ...
25538
25539 * commands/halt.c: ... to here.
c3db8364 25540 Add some precompiler directive to include the correct header for
25541 each machine.
f714229e 25542
25543 * include/grub/efi/efi.h (grub_reboot): New function declaration.
25544 (grub_halt): Likewise.
25545
25546 * kern/efi/efi.c (grub_reboot): New function.
25547 (grub_halt): Likewise.
25548
c74493e0 255492008-02-12 Robert Millan <rmh@aybabtu.com>
25550
25551 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
25552 /dev (like it is done for /dev/mapper). This doesn't provide support
25553 for EVMS, but at least it is now easy to identify the problem when it
25554 arises.
25555
d0db4b04 255562008-02-11 Robert Millan <rmh@aybabtu.com>
25557
25558 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
25559 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
25560 comparing it with -1, not 0.
25561
bf748642 255622008-02-10 Robert Millan <rmh@aybabtu.com>
25563
25564 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
25565 `disk/lvm.c'.
25566 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25567 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
25568
25569 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
25570 `disk/lvm.c' to the end of the list.
25571 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
25572 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25573
b5db202a 255742008-02-10 Robert Millan <rmh@aybabtu.com>
25575
25576 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
25577 grub_print_error() instead. This will let user know why we're entering
25578 rescue mode.
25579 Based on suggestions from Sam Morris.
25580
83abee31 255812008-02-10 Alexandre Boeglin <alex@boeglin.org>
25582
25583 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
25584 on remaining N args, instead of "--" arg N times.
25585
78d5a08b 255862008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
25587
25588 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
25589 (fill_with_default_glyph): Changed to use unknown_glyph for fill
25590 pattern for unknown glyphs.
25591
68807e5f 255922008-02-09 Robert Millan <rmh@aybabtu.com>
25593
25594 * configure.ac: Probe for `help2man'.
25595 * Makefile.in (builddir): New variable.
25596 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
25597 or otherwise add a few flags/options to it.
25598 (install-local): For every executable utility or script that is
25599 installed, invoke $(HELP2MAN) to install a manpage based on --help
25600 output.
25601
25602 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
25603 that it doesn't prevent --help from working in build tree.
25604
25605 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
25606 with `bug-grub@gnu.org'.
25607 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
25608 * util/update-grub.in (usage): New function.
25609 Implement proper argument check, with support for --help and --version
25610 (as well as existing -y).
25611
256122008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 25613
25614 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
25615 avoid overwriting previous output.
25616 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
25617
c1962162 256182008-02-09 Robert Millan <rmh@aybabtu.com>
25619
25620 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
25621 drawing the menu.
25622
3dac2e3f 256232008-02-09 Robert Millan <rmh@aybabtu.com>
25624
25625 * commands/sleep.c: New file.
25626 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
25627 (sleep_mod_SOURCES): New variable.
25628 (sleep_mod_CFLAGS): Likewise.
25629 (sleep_mod_LDFLAGS): Likewise.
25630
7a634e08 256312008-02-09 Robert Millan <rmh@aybabtu.com>
25632
25633 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
25634 situations in which we can deduce the RAID size and the superblock
25635 doesn't match it.
25636
b92f0c18 256372008-02-09 Robert Millan <rmh@aybabtu.com>
25638
25639 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
25640 and return a grub_diskmemberlist_t composed of LVM physical volumes.
25641 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
25642
25643 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
25644 and return a grub_diskmemberlist_t composed of physical array members.
25645 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
25646
25647 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
25648 prototype.
25649 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
25650 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
25651 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
25652
25653 * util/grub-probe.c (probe): Move partmap probing code from here ...
25654 (probe_partmap): ... to here.
25655 (probe): Use probe_partmap() once for the disk we're probing, and
25656 additionally, when such disk contains a memberlist() struct member,
25657 once for each disk that is contained in the structure returned by
25658 memberlist().
25659
91a4bf68 256602008-02-09 Robert Millan <rmh@aybabtu.com>
25661
25662 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
25663 environment variable to 'all' in order to obtain debug output from
25664 non-util/ code.
25665 * util/i386/pc/grub-setup.c (main): Likewise.
25666
a96f9caa 256672008-02-08 Robert Millan <rmh@aybabtu.com>
25668
25669 * disk/raid.c (grub_raid_scan_device): Check for
25670 `array->device[sb.this_disk.number]' rather than for
25671 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 25672 guaranteed to be accessible.
a96f9caa 25673
b37a9222 256742008-02-08 Robert Millan <rmh@aybabtu.com>
25675
25676 * disk/raid.c: Update copyright.
25677 * fs/cpio.c: Likewise.
25678 * include/grub/raid.h: Likewise.
25679 * loader/i386/pc/multiboot.c: Likewise.
25680 * util/hostfs.c: Likewise.
25681
5626aee1 256822008-02-08 Robert Millan <rmh@aybabtu.com>
25683
25684 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
25685 to a grub_disk_t array.
25686 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
25687 `device[x]'.
25688 (grub_raid_scan_device): Replace `device[x].name' accesses with
25689 `device[x]->name'. Simplify initialization of `array->device[x]'.
25690
554f0187 256912008-02-08 Robert Millan <rmh@aybabtu.com>
25692
25693 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
25694 grub_dprintf() calls.
25695 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
25696 error message.
25697
1ec8425d 256982008-02-07 Christian Franke <franke@computer.org>
25699
25700 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
25701 instead of fseek and ftell to support large files.
25702 (grub_hostfs_read): Likewise.
25703
f2156fda 257042008-02-07 Robert Millan <rmh@aybabtu.com>
25705
25706 Patch from Jeroen Dekkers.
25707 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 25708 failure, since successfully reading all array members might not be
f2156fda 25709 required.
25710
9216e0e7 257112008-02-06 Robert Millan <rmh@aybabtu.com>
25712
25713 * util/grub-probe.c (probe): Simplify partmap probing (with the
25714 assumption that the first word up to the underscore equals to
25715 the module name).
25716
b0dfd29a 257172008-02-06 Christian Franke <franke@computer.org>
25718
25719 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
25720 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
25721 last block of a cpio or tar stream.
25722 Check for "TRAILER!!!" instead of any empty data
25723 block to detect last block of a cpio stream.
25724 (grub_cpio_dir): Fix constness of variable np.
25725 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
25726 cpio or tar trailer is detected. This fixes a crash
25727 on open of a non existing file.
25728
c32865bf 257292008-02-05 Bean <bean123ch@gmail.com>
25730
25731 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
25732 address of entry.
25733 (grub_multiboot_load_elf64): Likewise.
25734 (grub_multiboot): Initialize mbi structure.
25735
25736 * util/grub-fstest.c: Don't include unused header file script.h.
25737
fe6b695a 25738 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 25739 of file.
25740 (grub_fstest_SOURCES): Likewise.
25741
409480b7 257422008-02-05 Robert Millan <rmh@aybabtu.com>
25743
25744 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
25745 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
25746 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
25747 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
25748
25749 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
25750 (translation_table): Replace hardcoded values with macros
25751 provided by `<grub/term.h>'.
25752
25753 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
25754 (keyboard_map): Correct/add a few values, with macros provided
25755 by `<grub/term.h>'.
25756 (keyboard_map_shift): Zero values that don't differ from their
25757 `keyboard_map' equivalents.
25758 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
25759 Discard the second scan code that is always sent by Caps lock.
25760 Only use `keyboard_map_shift' when it provides a non-zero value,
25761 otherwise fallback to `keyboard_map'.
25762
99fadbaa 257632008-02-04 Bean <bean123ch@gmail.com>
25764
25765 * Makefile.in (enable_grub_fstest): New variable.
25766
25767 * conf/common.rmk (grub_fstest_init.lst): New rule.
25768 (grub_fstest_init.h): Likewise.
25769 (grub_fstest_init.c): Likewise.
25770 (util/grub-fstest.c_DEPENDENCIES): New variable.
25771 (grub_fstest_SOURCES): Likewise.
25772
25773 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
25774
25775 * util/grub-fstest.c: New file.
25776
bf567c50 257772008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25778
25779 Make grub-setup handle a separate root device.
f19dbdb7 25780
bf567c50 25781 * util/i386/pc/grub-setup.c (setup): Always open the root device,
25782 so that the root device can be compared with the destination
25783 device.
25784 When embedding the core image, if the root and destination devices
25785 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
25786 0xFF.
25787 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 25788
9be6b98b 257892008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25790
25791 Add support for having a grub directory in a different drive. This
25792 is still only the data handling part.
f19dbdb7 25793
9be6b98b 25794 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
25795 (codestart): Save %dh in GRUB_ROOT_DRIVE.
25796 (grub_root_drive): New variable.
25797
25798 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
25799 instead of GRUB_BOOT_DRIVE to construct a device name. Set
25800 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
25801 as it was.
25802
25803 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
25804
25805 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
25806 macro.
25807 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
25808
25809 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
25810 is bogus, because PXE booting does not specify any drive
25811 correctly.
25812
25813 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
25814 am not sure if this is really correct.
25815
25816 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
25817 is always identical to the boot drive when booting from a CD.
25818
25819 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
25820 longer.
25821 (root_drive): New variable.
25822 (real_start): Unconditionally set %dh to ROOT_DRIVE.
25823 (setup_sectors): Push %dx right after popping it, because %dh will
25824 be modified later.
25825 (copy_buffer): Restore %dx.
25826
e0ca0677 258272008-02-03 Robert Millan <rmh@aybabtu.com>
25828
25829 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
25830 use `cdboot.img' for cdrom images.
25831
3b3f6629 258322008-02-03 Robert Millan <rmh@aybabtu.com>
25833
25834 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
25835 only setup gfxterm when `font' command has succeeded.
25836
d42b3672 258372008-02-03 Robert Millan <rmh@aybabtu.com>
25838
25839 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
25840 (grub_rescue_cmd_multiboot_loader)
25841 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
25842
fa370ea6 258432008-02-03 Pavel Roskin <proski@gnu.org>
25844
e0c5dacb 25845 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 25846 %edx and %esi from stack only after grub_gate_a20() is called.
25847 grub_gate_a20() clobbers %edx.
25848
f2a76e1d 258492008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
25850
25851 * configure.ac (AC_INIT): Bumped to 1.96.
25852
25853 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
25854 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
25855 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
25856 video/readers/png.c.
25857
90fd32d1 258582008-02-03 Bean <bean123ch@gmail.com>
9be665dd 25859
25860 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
25861 (cdboot_img_SOURCES): New variable.
25862 (cdboot_img_ASFLAGS): New variable.
25863 (cdboot_img_LDFLAGS): New variable.
25864
25865 * boot/i386/pc/cdboot.S: New file.
25866
25867 * disk/i386/pc/biosdisk.c (cd_start): New variable.
25868 (cd_count): Likewise.
25869 (grub_biosdisk_get_drive): Add support for cd device.
25870 (grub_biosdisk_call_hook): Likewise.
25871 (grub_biosdisk_iterate): Likewise.
25872 (grub_biosdisk_open): Likewise.
25873 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
25874 (grub_biosdisk_rw): Support reading from cd device.
25875 (GRUB_MOD_INIT): Iterate cd devices.
25876
25877 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
25878 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
25879 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
25880
25881 * kern/i386/pc/init.c (make_install_device): Check for cd device.
25882
4020aa53 258832008-02-02 Robert Millan <rmh@aybabtu.com>
25884
25885 * commands/read.c: New file.
25886 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
25887 (read_mod_SOURCES): New variable.
25888 (read_mod_CFLAGS): Likewise.
25889 (read_mod_LDFLAGS): Likewise.
25890
e03a1132 258912008-02-02 Robert Millan <rmh@aybabtu.com>
25892
25893 * normal/main.c (grub_normal_execute): Check for `menu->size' when
25894 determining whether menu has to be displayed.
25895
58c69220 258962008-02-02 Marco Gerards <marco@gnu.org>
25897
25898 * bus/pci.c: New file.
25899
25900 * include/grub/pci.h: Likewise.
25901
25902 * include/grub/i386/pc/pci.h: Likewise.
25903
25904 * commands/lspci.c: Likewise.
25905
25906 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
25907 `lspci.mod'.
25908 (pci_mod_SOURCES): New variable.
25909 (pci_mod_CFLAGS): Likewise.
25910 (pci_mod_LDFLAGS): Likewise.
25911 (lspci_mod_SOURCES): Likewise.
25912 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 25913 (lspci_mod_LDFLAGS): Likewise.
58c69220 25914
c004e1b4 259152008-02-02 Bean <bean123ch@gmail.com>
25916
25917 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
25918 (grub_ufs_get_file_block): Fix indirect block calculation problem.
25919
25920 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
25921 (grub_xfs_btree_node): New structure.
25922 (grub_xfs_btree_root): New structure.
25923 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
25924 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
25925 (GRUB_XFS_EXTENT_BLOCK): Likewise.
25926 (GRUB_XFS_EXTENT_SIZE): Likewise.
25927 (grub_xfs_read_block): Support btree format type.
25928 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
25929 Use directory block as basic unit.
25930
25931 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
25932
25933 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
25934 __attribute__ ((__regparm__ (1))).
25935
f95562bf 259362008-02-01 Robert Millan <rmh@aybabtu.com>
25937
25938 Correct a mistake in previous commit.
25939
25940 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
25941 top.
25942 (normal/command.c_DEPENDENCIES): New variable.
25943
7d31f41f 259442008-02-01 Robert Millan <rmh@aybabtu.com>
25945
25946 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
25947 top.
25948 (normal/command.c_DEPENDENCIES): New variable.
25949 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
25950 * conf/i386-ieee1275.rmk: Likewise.
25951 * conf/i386-linuxbios.rmk: Likewise.
25952 * conf/i386-pc.rmk: Likewise.
25953 * conf/sparc64-ieee1275.rmk: Likewise.
25954 * conf/powerpc-ieee1275.rmk: Likewise.
25955 (grub_emu_SOURCES): Add `fs/fshelp.c'.
25956
25957 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
25958
60b6be74 259592008-02-01 Robert Millan <rmh@aybabtu.com>
25960
25961 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
25962 call at beginning of function.
25963
078522ab 259642008-01-31 Pavel Roskin <proski@gnu.org>
25965
25966 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 25967 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
25968 (grub_mkrescue_SOURCES): Likewise.
078522ab 25969 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
25970
ccaa8a5f 259712008-01-30 Robert Millan <rmh@aybabtu.com>
25972
25973 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
25974 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
25975 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
25976 (grub_probe_SOURCES): ... to here.
25977
25978 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
25979 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
25980 * conf/i386-ieee1275.rmk: Likewise.
25981 * conf/i386-linuxbios.rmk: Likewise.
25982 * conf/powerpc-ieee1275.rmk: Likewise.
25983
ae5a9cd7 259842008-01-30 Tristan Gingold <gingold@free.fr>
25985
25986 * kern/rescue.c: Silently accept empty lines.
25987
70bc2ef2 259882008-01-29 Bean <bean123ch@gmail.com>
25989
25990 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
25991 (real_code_2): Code cleanup and change comment style.
25992 (move_memory): Avoid using 32-bit address mode.
25993
6a4d50ea 259942008-01-29 Bean <bean123ch@gmail.com>
25995
25996 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
25997 (png_mod_SOURCES): New variable.
25998 (png_mod_CFLAGS): Likewise.
25999 (png_mod_LDFLAGS): Likewise.
26000
26001 * video/readers/png.c: New file.
26002
11cc30ac 260032008-01-28 Robert Millan <rmh@aybabtu.com>
26004
26005 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
26006 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
26007 `ifndef GRUB_MOD_GAP' hack.
26008 * util/elf/grub-mkimage.c (add_segments): Likewise.
26009
3abc589f 260102008-01-27 Robert Millan <rmh@aybabtu.com>
26011
26012 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
26013 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 26014 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 26015
e1907778 260162008-01-27 Robert Millan <rmh@aybabtu.com>
26017
26018 Get grub-emu to build again (including parallel builds).
26019
26020 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
26021 Split into ...
26022 (util/grub-emu.c_DEPENDENCIES): ... this, ...
26023 (normal/execute.c_DEPENDENCIES): ... this, ...
26024 (grub-emu_DEPENDENCIES): ... and this.
26025
26026 * conf/i386-efi.rmk: Likewise.
26027 * conf/i386-linuxbios.rmk: Likewise.
26028 * conf/i386-ieee1275.rmk: Likewise.
26029 * conf/powerpc-ieee1275.rmk: Likewise.
26030 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
26031
2216b101 260322008-01-27 Robert Millan <rmh@aybabtu.com>
26033
26034 * NEWS: Add a few items.
26035
f75172d9 260362008-01-27 Robert Millan <rmh@aybabtu.com>
26037
26038 Fix parallel builds with grub-emu. Based on earlier commit for
26039 grub-probe and grub-setup.
26040
26041 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26042 (util/grub-emu.c_DEPENDENCIES): ... this.
26043 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26044 (util/grub-emu.c_DEPENDENCIES): ... this.
26045 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26046 (util/grub-emu.c_DEPENDENCIES): ... this.
26047 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26048 (util/grub-emu.c_DEPENDENCIES): ... this.
26049 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
26050 (util/grub-emu.c_DEPENDENCIES): ... this.
26051
3f51de77 260522008-01-27 Pavel Roskin <proski@gnu.org>
26053
26054 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
26055 to create a gap between _end and the modules added to the image
26056 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
26057 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
26058 * util/elf/grub-mkimage.c (add_segments): Likewise.
26059
2033f53e 260602008-01-26 Pavel Roskin <proski@gnu.org>
26061
26062 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
26063 just return an error.
26064
22da1f6f 260652008-01-26 Bean <bean123ch@gmail.com>
26066
26067 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
26068 (grub_reiserfs_get_item): Save offset of the next item.
26069 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
26070
2a9525e6 260712008-01-25 Robert Millan <rmh@aybabtu.com>
26072
26073 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
26074 make all filesystem sources appear together (possibly fixing omissions
26075 while at it).
26076 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26077 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26078 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
26079 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26080
26081 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
26082 add `kern/file.c'.
26083 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
26084 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
26085 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
26086 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
26087
26088 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
26089 (probe): Add a sanity check to make sure of our ability to read
26090 requested files when probing for filesystem type.
26091
26092 * genmk.rb: Update copyright year (2007).
26093
26094 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
26095 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
26096 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
26097 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
26098 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
26099 : Remove function prototypes.
26100
b95f71b5 261012008-01-25 Robert Millan <rmh@aybabtu.com>
26102
26103 Revert my previous commits (based on wrong assumption of how grub_errno
26104 works).
26105
fe6b695a 26106 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 26107 * kern/file.c (grub_file_open): Likewise.
26108
d08bbb49 261092008-01-24 Pavel Roskin <proski@gnu.org>
26110
26111 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
26112 that hang if GRUB tries to setup colors.
26113 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
26114 colors for firmwares that don't support it.
26115 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
26116 Recognize Open Hack'Ware, set flags to work around its
26117 limitations.
26118
605e36ed 261192008-01-24 Robert Millan <rmh@aybabtu.com>
26120
26121 * kern/file.c (grub_file_open): Do not account previous failures of
26122 unrelated functions when grub_errno is checked for.
26123 Reported by Oleg Strikov.
26124
bac332a1 261252008-01-24 Bean <bean123ch@gmail.com>
26126
26127 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
26128 (grub_ufs_sblock): New member volume name.
26129 (grub_ufs_find_file): Fix string copy bug.
26130 (grub_ufs_label): Implement this function properly.
26131
26132 * fs/hfs.c (grub_hfs_cnid_type): New enum.
26133 (grub_hfs_iterate_records): Use the correct file number for extents
26134 and catalog file. Fix problem in next index calculation.
26135 (grub_hfs_find_node): Replace recursive function call with loop.
26136 (grub_hfs_iterate_dir): Replace recursive function call with loop.
26137
15c80c09 261382008-01-23 Robert Millan <rmh@aybabtu.com>
26139
26140 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
26141 `<grub/symbol.h>' and `<grub/multiboot.h>'.
26142 (grub_multiboot2_real_boot): New function prototype.
26143
26144 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
26145 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
26146
26147 * kern/i386/ieee1275/init.c (grub_os_area_addr)
26148 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
26149
305338fd 261502008-01-23 Robert Millan <rmh@aybabtu.com>
26151
26152 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
26153 #ifdef'ed out grub_printf().
26154
3ea52685 261552008-01-23 Robert Millan <rmh@aybabtu.com>
26156
26157 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
26158 grub_dprintf calls, since they make "debug=all" mode unusable.
26159 (grub_console_checkkey): Likewise.
26160
5882ae4b 261612008-01-23 Robert Millan <rmh@aybabtu.com>
26162
26163 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
26164 `term/i386/pc/at_keyboard.c'.
26165 (pkglib_MODULES): Add `serial.mod'.
26166 (serial_mod_SOURCES): New variable.
26167 (serial_mod_CFLAGS): Likewise.
26168 (serial_mod_LDFLAGS): Likewise.
26169
26170 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
26171 `<grub/powerpc/ieee1275/console.h>'.
26172 (grub_keyboard_controller_init): New function prototype.
26173 (grub_console_checkkey): Likewise.
26174 (grub_console_getkey): Likewise.
26175
26176 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
26177 keyboard on i386.
26178
26179 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
26180 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
26181
06ab5303 261822008-01-23 Robert Millan <rmh@aybabtu.com>
26183
26184 * kern/i386/pc/init.c (make_install_device): When memdisk image is
26185 present, "(memdisk)/boot/grub" becomes the default prefix.
26186
26187 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
26188 a memdisk tarball with all the modules. Add --overlay=DIR option that
26189 allows users to overlay additional files into the image.
26190
dbb475a4 261912008-01-23 Robert Millan <rmh@aybabtu.com>
26192
26193 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
26194 and `machine/memory.h'.
26195 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
26196 (_multiboot_mod_SOURCES): New variable.
26197 (_multiboot_mod_CFLAGS): Likewise.
26198 (_multiboot_mod_LDFLAGS): Likewise.
26199 (multiboot_mod_SOURCES): Likewise.
26200 (multiboot_mod_CFLAGS): Likewise.
26201 (multiboot_mod_LDFLAGS): Likewise.
26202
26203 * include/grub/i386/ieee1275/loader.h: New file.
26204
26205 * include/grub/i386/ieee1275/machine.h: Likewise.
26206
26207 * include/grub/i386/ieee1275/memory.h: Likewise.
26208
26209 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
26210 variable declaration.
26211 (grub_os_area_size): Likewise.
26212
26213 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
26214 (grub_lower_mem, grub_upper_mem): New variables.
26215 (grub_stop_floppy): New function (just to make
26216 grub_multiboot2_real_boot() happy).
26217
26218 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
26219 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
26220 (grub_stop): New function.
26221 Include `"../realmode.S"' and `"../loader.S"'.
26222
26223 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
26224 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
26225
26226 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
26227 rely on grub_multiboot2_real_boot() for final boot.
26228
25638629 262292008-01-22 Robert Millan <rmh@aybabtu.com>
26230
26231 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
26232 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
26233 device that doesn't look like an SD card.
26234 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
26235 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
26236 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
26237 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
26238 found.
26239
9dad816d 262402008-01-22 Robert Millan <rmh@aybabtu.com>
26241
26242 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
26243 avoid claiming over our own code.
26244
34842f2d 262452008-01-22 Bean <bean123ch@gmail.com>
26246
26247 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
26248 (jpeg_mod_SOURCES): New variable.
26249 (jpeg_mod_CFLAGS): Likewise.
26250 (jpeg_mod_LDFLAGS): Likewise.
26251
26252 * video/readers/jpeg.c : New file.
26253
44023a28 262542008-01-22 Bean <bean123ch@gmail.com>
26255
26256 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
26257 there are no more items.
26258
bc2d8ac6 262592008-01-21 Robert Millan <rmh@aybabtu.com>
26260
26261 * kern/mm.c (grub_mm_init_region): Improve debug message.
26262
261bd4bc 262632008-01-21 Robert Millan <rmh@aybabtu.com>
26264
26265 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
26266 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
26267 address.
26268 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
26269 a C macro.
26270 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
26271 Indicates start of upper memory.
26272 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
26273 (generate_image): Abort when image size is big enough to corrupt
26274 upper memory.
26275
26276 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
26277 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
26278 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
26279 instead of hardcoding 0xA0000.
26280 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
26281 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
26282 instead of hardcoding 0xA0000.
26283
f970b55e 262842008-01-21 Robert Millan <rmh@aybabtu.com>
26285
26286 * disk/memdisk.c (memdisk_size): New variable.
26287 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
26288 `memdisk_size'.
26289 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
26290 image to dynamic memory.
26291 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
26292 `memdisk_size'. Free memdisk block.
26293
1a8b0526 262942008-01-21 Robert Millan <rmh@aybabtu.com>
26295
26296 Fix detection of very small filesystems (like tar).
26297
26298 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
26299 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
26300 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
26301 a problem with this disk).
26302
6e9b4aab 263032008-01-21 Robert Millan <rmh@aybabtu.com>
26304
26305 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
26306 on grub_biosdisk_rw_standard() error.
26307
0d8837b2 263082008-01-21 Robert Millan <rmh@aybabtu.com>
26309
26310 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
26311 recent changes.
26312 * kern/elf.c: Likewise.
26313 * kern/ieee1275/ieee1275.c: Likewise.
26314 * kern/powerpc/ieee1275/openfw.c: Likewise.
26315 * term/ieee1275/ofconsole.c: Likewise.
26316
ffd36e34 263172008-01-21 Robert Millan <rmh@aybabtu.com>
26318
26319 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
26320
3f0093d0 26321 * include/grub/kernel.h (grub_arch_memdisk_addr)
26322 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 26323
3f0093d0 26324 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
26325 (grub_arch_memdisk_size): ... to here.
ffd36e34 26326
6c391b21 263272008-01-21 Robert Millan <rmh@aybabtu.com>
26328
26329 Mostly based on bugfix from Bean.
26330
26331 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
26332 attribute with hook() parameter.
26333 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
26334 declaration.
26335 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
26336 attribute with hook() parameter.
26337 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
26338 declaration.
26339
55a581dc 263402008-01-21 Robert Millan <rmh@aybabtu.com>
26341
26342 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
26343 (pkglib_MODULES): Add `memdisk.mod'.
26344 (memdisk_mod_SOURCES): New variable.
26345 (memdisk_mod_CFLAGS): Likewise.
26346 (memdisk_mod_LDFLAGS): Likewise.
26347
26348 * disk/memdisk.c: New file.
26349
26350 * include/grub/disk.h (grub_disk_dev_id): Add
26351 `GRUB_DISK_DEVICE_MEMDISK_ID'.
26352
26353 * include/grub/i386/pc/kernel.h
26354 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
26355 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
26356 (grub_kernel_image_size): New variable declaration.
26357 (grub_total_module_size): Likewise.
26358 (grub_memdisk_image_size): Likewise.
26359
26360 * include/grub/i386/pc/memory.h
26361 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
26362
26363 * include/grub/kernel.h: Include `<grub/symbol.h>'.
26364 (grub_arch_memdisk_addr): New variable declaration.
26365 (grub_arch_memdisk_size): Likewise.
26366
26367 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
26368 (grub_arch_memdisk_size): Likewise.
26369
26370 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
26371 (codestart): Replace hardcoded `0x100000' with
26372 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
26373
26374 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
26375 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
26376 not NULL, append the contents of the file it refers to, at the end of
26377 the compressed kernel image. Initialize `grub_memdisk_image_size'
26378 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
26379 (options): Add "memdisk"|'m' option.
26380 (main): Parse --memdisk|-m option, and pass user-provided path as
26381 parameter to generate_image().
26382
3d7f54c9 263832008-01-20 Robert Millan <rmh@aybabtu.com>
26384
26385 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
26386 grub_dprintf() calls from here ...
26387 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
26388
0bf74728 263892008-01-20 Robert Millan <rmh@aybabtu.com>
26390
26391 Fix detection of "real mode" when /options/real-mode? doesn't exist.
26392
26393 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
26394 declaration.
26395 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
26396 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
26397 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 26398 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 26399 property).
26400 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
26401 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
26402
33bf70a7 264032008-01-19 Robert Millan <rmh@aybabtu.com>
26404
fe6b695a 26405 Get rid of confusing function (superseded by
33bf70a7 26406 `grub_ieee1275_get_integer_property')
26407 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
26408 prototype.
26409 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
26410 function.
26411 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
26412 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 26413 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 26414
e2da7d26 264152008-01-19 Robert Millan <rmh@aybabtu.com>
26416
26417 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
26418 command after "shut-down", since implementations differ on which
26419 the command for halt is.
26420
59f1fd8d 264212008-01-19 Robert Millan <rmh@aybabtu.com>
26422
26423 * include/grub/i386/linuxbios/console.h: Add header protection.
26424 (grub_keyboard_controller_init): New function prototype.
26425 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
26426 (KEYBOARD_COMMAND_READ): Likewise.
26427 (KEYBOARD_COMMAND_WRITE): Likewise.
26428 (KEYBOARD_SCANCODE_SET1): Likewise.
26429 (grub_keyboard_controller_write): New function.
26430 (grub_keyboard_controller_read): Likewise.
26431 (grub_keyboard_controller_init): Likewise.
26432
26433 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
26434 (grub_console_init): On coreboot/LinuxBIOS, call
26435 grub_keyboard_controller_init().
26436
5f5a7c15 264372008-01-19 Robert Millan <rmh@aybabtu.com>
26438
26439 PowerPC changes provided by Pavel Roskin.
26440
26441 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
26442 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
26443 don't rely on cmain() doing it.
26444 * kern/i386/ieee1275/startup.S (_start): Store %eax in
26445 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
26446
1210e168 264472008-01-16 Robert Millan <rmh@aybabtu.com>
26448
26449 * include/grub/i386/linuxbios/memory.h
26450 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
26451 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
26452 receive `table_header' as argument. Instead, probe for it in the
26453 known memory ranges where it can be present.
26454 (grub_available_iterate): Do not pass a fixed `table_header' address
26455 to grub_linuxbios_table_iterate().
26456
3d04eab8 264572008-01-15 Robert Millan <rmh@aybabtu.com>
26458
26459 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
26460 * conf/i386-ieee1275.rmk: New file.
26461 * include/grub/i386/ieee1275/console.h: Likewise.
26462 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
26463 * include/grub/i386/ieee1275/kernel.h: Likewise.
26464 * include/grub/i386/ieee1275/time.h: Likewise.
26465 * kern/i386/ieee1275/init.c: Likewise.
26466 * kern/i386/ieee1275/startup.S: Likewise.
26467
d1bc1b73 264682008-01-15 Robert Millan <rmh@aybabtu.com>
26469
26470 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
26471 when pointers are 32-bit (but still do set it to one when they are
26472 64-bit).
26473
66a65807 264742008-01-15 Robert Millan <rmh@aybabtu.com>
26475
26476 * include/grub/ieee1275/ieee1275.h
26477 (grub_ieee1275_get_integer_property): New function prototype.
26478
26479 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
26480 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 26481 grub_ieee1275_get_property() to handle endianness.
66a65807 26482
26483 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
26484 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 26485 where appropriate.
66a65807 26486 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
26487 (grub_map): Likewise.
26488 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
26489
a83ccafd 264902008-01-15 Bean <bean123ch@gmail.com>
26491
26492 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
26493 (grub_script_execute_cmdline): Reset grub_errno.
26494
26495 * normal/main.c (read_config_file): Reset grub_errno.
26496
26497 * normal/parse.y (script_init): New.
26498 (script): Move function and menuentry here.
26499 (delimiter): New.
26500 (command): Add delimiter at the end of command.
26501 (commands): Adjust to match the new command.
26502 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 26503 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 26504 (if): Use the new commands.
26505
26506 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
26507
df6ecfc6 265082008-01-15 Robert Millan <rmh@aybabtu.com>
26509
26510 * normal/menu.c (run_menu): Move timeout message from here ...
26511 (print_timeout): ... to here.
26512 (run_menu): Use print_timeout() once during initial draw to print
26513 the whole message, and again in every clock tick to update only
26514 the number of seconds.
26515
87ae25eb 265162008-01-15 Robert Millan <rmh@aybabtu.com>
26517
26518 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
26519 actual size of `available' from grub_ieee1275_get_property(), and
26520 restrict parsing to that bound.
26521
47bf09a4 265222008-01-15 Christian Franke <franke@computer.org>
26523
26524 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
26525 (argp_program_version): Remove variable.
26526 (argp_program_bug_address): Likewise.
26527 (options): Convert from struct argp_option to struct option.
26528 (struct arguments): Remove.
26529 (parse_opt): Remove.
26530 (usage): New function.
26531 (main): Replace struct args members by simple variables.
26532 Replace argp_parse() by getopt_long().
26533 Add switch to evaluate options.
26534 Add missing "(...)" around root_dev in prefix string.
26535
c86f1469 265362008-01-14 Robert Millan <rmh@aybabtu.com>
26537
26538 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
26539 for grub_ieee1275_exit(), in order to improve portability.
26540
e622c559 265412008-01-14 Robert Millan <rmh@aybabtu.com>
26542
26543 * util/grub.d/10_linux.in (prefix): Define.
26544 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
26545
44cb1ec8 265462008-01-13 Pavel Roskin <proski@gnu.org>
26547
26548 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
26549 grub_errno if no errors have been detected.
26550
1eb8c802 265512008-01-12 Robert Millan <rmh@aybabtu.com>
26552
26553 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
26554 (grub_util_get_dev_abstraction): New function prototype.
26555
26556 * util/getroot.c: Include `<grub/util/getroot.h>'
26557 (grub_util_get_grub_dev): Move detection of abstraction type to ...
26558 (grub_util_get_dev_abstraction): ... here (new function).
26559
26560 * util/grub-probe.c: Convert PRINT_* to an enum. Add
26561 `PRINT_ABSTRACTION'.
26562 (probe): Probe for abstraction type when requested.
26563 (main): Understand `--target=abstraction'.
26564
26565 * util/i386/efi/grub-install.in: Add abstraction module to core
26566 image when it is found to be necessary.
26567 * util/i386/pc/grub-install.in: Likewise.
26568 * util/powerpc/ieee1275/grub-install.in: Likewise.
26569
26570 * util/update-grub_lib.in (font_path): Return system path without
26571 converting to GRUB path.
26572 * util/update-grub.in: Convert system path returned by font_path()
26573 to a GRUB path. Use `grub-probe -t abstraction' to determine what
26574 abstraction module is needed for loading fonts (if any). Export
26575 that as `GRUB_PRELOAD_MODULES'.
26576 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
26577 insmod commands).
26578
52bd3de9 265792008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
26580
26581 Remove some unused code from reiserfs.
f19dbdb7 26582
52bd3de9 26583 * fs/reiserfs.c (struct grub_reiserfs_key)
26584 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
26585 (struct grub_reiserfs_node_body): Removed.
26586 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
26587 Likewise.
26588 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26589 Likewise.
26590 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26591 Likewise.
26592 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
26593 Likewise.
26594 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
26595 Likewise.
26596 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
26597 Likewise.
26598 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26599 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26600 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
26601
2f80039d 266022008-01-10 Robert Millan <rmh@aybabtu.com>
26603
26604 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
26605 Determines if a file is garbage left by packaging systems, etc.
26606 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
26607 for processing /etc/grub.d scripts.
26608 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
26609 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
26610 as a condition for processing Linux images.
26611
87888032 266122008-01-10 Pavel Roskin <proski@gnu.org>
26613
26614 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
26615 to compile reiserfs.c on PowerPC.
26616
7e54fced 266172008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 26618
26619 * kern/device.c (grub_device_iterate): Do not abort device iteration
26620 when one of the devices cannot be opened.
26621 * kern/disk.c (grub_disk_open): Do not account previous failures of
26622 unrelated functions when grub_errno is checked for.
26623
5aa541e6 266242008-01-08 Robert Millan <rmh@aybabtu.com>
26625
26626 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
26627 `! grub_linux_is_bzimage', change order of address comparison to make
26628 it more intuitive, and improve "too big zImage" error message.
26629
7076340d 266302008-01-08 Robert Millan <rmh@aybabtu.com>
26631
26632 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
26633 `$(update-grub_DATA)'.
26634 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
26635 targets.
26636
9ca70333 266372008-01-07 Robert Millan <rmh@aybabtu.com>
26638
26639 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
26640 which instruction is modified by grub-setup during installation
26641 (since it wasn't obvious by only looking at this file).
26642
38ccf575 266432008-01-07 Robert Millan <rmh@aybabtu.com>
26644
26645 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
26646 listing actual TODO items.
26647
f5db4291 266482008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26649
868967cf 26650 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
26651 correctly.
26652 (grub_reiserfs_get_key_offset): Likewise.
26653 (grub_reiserfs_set_key_offset): Likewise.
26654 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 26655 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 26656
26657 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
26658 better to remove the bitfield version completely.
f19dbdb7 26659
868967cf 266602008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 26661
f5db4291 26662 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
26663 allocated from the heap, due to the fshelp implementation.
26664 (grub_reiserfs_dir): Free NODE, due to the same reason.
26665
492e6d9d 266662008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26667
26668 Mostly from Vincent Pelletier:
f19dbdb7 26669
492e6d9d 26670 * fs/reiserfs.c: New file.
f19dbdb7 26671
492e6d9d 26672 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
26673 (reiserfs_mod_SOURCES): New variable.
26674 (reiserfs_mod_CFLAGS): Likewise.
26675 (reiserfs_mod_LDFLAGS): Likewise.
26676
26677 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
26678 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
26679 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
26680 normal/color.c.
26681
9ce3e7c1 266822008-01-06 Robert Millan <rmh@aybabtu.com>
26683
26684 * normal/color.c: Remove `<grub/env.h>'.
26685
f3b58148 266862008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
26687
26688 * include/grub/normal.h: Include <grub/env.h>.
26689
7ac3bcfa 266902008-01-05 Robert Millan <rmh@aybabtu.com>
26691
26692 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
26693 usage example with `(hd0,1)'.
fb358190 26694 Reported by Samuel Thibault.
7ac3bcfa 26695
c8ee99d7 266962008-01-05 Robert Millan <rmh@aybabtu.com>
26697
26698 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
26699 (grub_linux_boot_zimage): Rename to ...
26700 (grub_linux_boot): ... this.
26701 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
26702 (grub_linux_boot_zimage): Conditionalize zImage copy.
26703
26704 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
26705 (grub_linux_boot_bzimage): Remove prototype.
26706 (grub_linux_boot_zimage): Rename to ...
26707 (grub_linux_boot): ... this.
26708
26709 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
26710 (grub_linux_boot): Remove function.
26711
0ece25b1 267122008-01-05 Robert Millan <rmh@aybabtu.com>
26713
26714 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
26715 (grub_env_write_color_highlight): Likewise.
26716 (grub_wait_after_message): Likewise.
26717
26718 * normal/color.c: New file.
26719
26720 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26721 (normal_mod_DEPENDENCIES): Likewise.
26722
26723 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26724 (normal_mod_DEPENDENCIES): Likewise.
26725
26726 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26727 (normal_mod_DEPENDENCIES): Likewise.
26728
26729 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
26730 (normal_mod_DEPENDENCIES): Likewise.
26731
26732 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
26733 for waiting after a message is printed.
26734 * normal/main.c (read_config_file): Likewise.
26735 (grub_normal_init): Register grub_env_write_color_normal() and
26736 grub_env_write_color_highlight() hooks. Mark `color_normal' and
26737 `color_highlight' variables as global.
26738
26739 * normal/menu.c (grub_wait_after_message): New function.
26740 (grub_color_menu_normal): New variable. Replaces ...
26741 (GRUB_COLOR_MENU_NORMAL): ... this macro.
26742 (grub_color_menu_highlight): New variable. Replaces ...
26743 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
26744 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
26745 `GRUB_TERM_COLOR_STANDARD'.
26746 (print_message): Use `grub_setcolorstate' to reload colors. Rename
26747 `normal_code' and `highlight_code' to `old_color_normal' and
26748 `old_color_highlight', respectively.
26749 (grub_menu_init_page): Update colors when drawing the menu, based on
26750 `menu_color_normal' and `menu_color_highlight' variables.
26751 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
26752 a message is printed.
26753
182dd4e5 267542008-01-05 Robert Millan <rmh@aybabtu.com>
26755
26756 * kern/env.c (grub_env_context_open): Propagate hooks for global
26757 variables to new context.
26758
26759 * kern/main.c (grub_set_root_dev): Export `root' variable.
26760
ddf8f6ad 267612008-01-05 Robert Millan <rmh@aybabtu.com>
26762
26763 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 26764 discs unconditionally, since udev and others have options to provide
ddf8f6ad 26765 them.
26766
d8b43d9b 267672008-01-05 Robert Millan <rmh@aybabtu.com>
26768
26769 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
26770
2bff2de3 267712008-01-04 Christian Franke <franke@computer.org>
26772
26773 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
26774 of eisa_mmap.
26775
97eab917 267762008-01-03 Pavel Roskin <proski@gnu.org>
26777
26778 * kern/i386/linuxbios/init.c: Put "void" to all function
26779 declarations with no arguments.
26780 * kern/powerpc/ieee1275/init.c: Likewise.
26781 * term/i386/pc/at_keyboard.c: Likewise.
26782 * term/i386/pc/vga_text.c: Likewise.
26783 * util/grub-mkdevicemap.c: Likewise.
26784
b9416d00 267852008-01-02 Robert Millan <rmh@aybabtu.com>
26786
26787 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
26788 message when loaded image is out of bounds.
26789 (grub_multiboot_load_elf64): Likewise.
26790
92695df9 267912008-01-02 Pavel Roskin <proski@gnu.org>
26792
26793 * util/grub.d/10_linux.in: Try version without ".old" when
26794 looking for initrd. It's better to use initrd from the newer
26795 kernel of the same version than no initrd at all.
26796
d98d9cad 267972008-01-01 Robert Millan <rmh@aybabtu.com>
26798
26799 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
26800
dbfdce36 268012008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
26802
f19dbdb7 26803 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 26804 grub_video_get_active_render_target.
26805 (grub_video_adapter): Added unmap_color and get_active_render_target.
26806
f19dbdb7 26807 * video/video.c: Added grub_video_unmap_color and
dbfdce36 26808 grub_video_get_active_render_target.
26809 (grub_video_get_info): Changed method to accept NULL pointer as an
26810 argument to allow detection of active video adapter.
26811
26812 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
26813 grub_video_vbe_unmap_color_int.
26814 Added grub_video_vbe_unmap_color and
26815 grub_video_vbe_get_active_render_target.
26816 (grub_video_vbe_adapter): Added unmap_color and
26817 get_active_render_target.
26818
f19dbdb7 26819 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 26820 with grub_video_vbe_unmap_color_int.
26821
26822 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
26823 (DEFAULT_NORMAL_COLOR): Likewise.
26824 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
26825 (DEFAULT_FG_COLOR): Removed.
26826 (DEFAULT_BG_COLOR): Likewise.
26827 (DEFAULT_CURSOR_COLOR): Changed value.
26828 (grub_virtual_screen): Added standard_color_setting,
26829 normal_color_setting, highlight_color_setting and term_color.
26830 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
26831 (bitmap_width): Added.
26832 (bitmap_height): Likewise.
26833 (bitmap): Likewise.
26834 (set_term_color): Likewise.
26835 (grub_virtual_screen_setup): Changed to use new terminal coloring
26836 settings.
26837 (grub_gfxterm_init): Added init for bitmap.
26838 (grub_gfxterm_fini): Added destroy for bitmap.
26839 (redraw_screen_rect): Updated to use background bitmap and new
26840 terminal coloring.
26841 (scroll_up): Added optimization for case when there is no bitmap.
26842 (grub_gfxterm_cls): Fixed to use correct background color.
26843 (grub_virtual_screen_setcolorstate): Changed to use new terminal
26844 coloring.
26845 (grub_virtual_screen_setcolor): Likewise.
26846 (grub_virtual_screen_getcolor): Added.
26847 (grub_gfxterm_background_image_cmd): Likewise.
26848 (grub_video_term): Added setcolor and getcolor.
26849 (MOD_INIT): Added registration of background_image command.
26850 (MOD_TERM): Added unregistration for background_image command.
26851
c3c20931 268522007-12-30 Pavel Roskin <proski@gnu.org>
26853
26854 * loader/multiboot_loader.c: Fix multiboot command
26855 unregistration. Fix all typos in the word "multiboot".
26856
df266716 268572007-12-29 Pavel Roskin <proski@gnu.org>
94239199 26858
26859 * util/grub.d/10_linux.in: Refactor search for initrd. Add
26860 support for initrd names used in Fedora.
26861
fc6e896c 268622007-12-26 Bean <bean123ch@gmail.com>
26863
26864 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
26865 (cpio_mod_SOURCES): New variable.
26866 (cpio_mod_CFLAGS): Likewise.
26867 (cpio_mod_LDFLAGS): Likewise.
26868
26869 * fs/cpio.c: New file.
26870
26871 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
26872
26873 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26874
26875 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
26876
26877 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26878
533110ad 268792007-12-25 Robert Millan <rmh@aybabtu.com>
26880
26881 * include/grub/term.h (struct grub_term): Add `getcolor' function.
26882 (grub_getcolor): New function.
26883
26884 * kern/term.c (grub_getcolor): New function.
26885 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
26886 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
26887 (print_entry): Set normal and highlight colors to
26888 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
26889 respectively, before printing and restore them to old
26890 values afterwards.
26891 (grub_menu_init_page): Likewise. Fill an additional colored space
26892 that would otherwise be left blank.
26893
26894 * term/efi/console.c (grub_console_getcolor): New function.
26895 (struct grub_console_term.getcolor): New variable.
26896 * term/i386/pc/console.c (grub_console_getcolor): New function.
26897 (struct grub_console_term.getcolor): New variable.
26898 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
26899 (struct grub_console_term.getcolor): New variable.
26900
26901 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
26902 (struct grub_console_term.setcolor): Remove variable.
26903 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
26904 (struct grub_console_term.setcolor): Remove variable.
26905 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
26906 (struct grub_console_term.setcolor): Remove variable.
26907 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
26908 (struct grub_console_term.setcolor): Remove variable.
26909
4931827f 269102007-12-25 Robert Millan <rmh@aybabtu.com>
26911
26912 * configure.ac: Search for possible unifont.hex locations, and
26913 define UNIFONT_HEX if found.
26914
26915 * Makefile.in (UNIFONT_HEX): Define variable.
26916 (DATA): Rename to ...
26917 (PKGLIB): ... this. Update all users.
26918 (PKGDATA): New variable.
26919 (pkgdata_IMAGES): Rename to ...
26920 (pkglib_IMAGES): ... this. Update all users.
26921 (pkgdata_MODULES): Rename to ...
26922 (pkglib_MODULES): ... this. Update all users.
26923 (pkgdata_PROGRAMS): Rename to ...
26924 (pkglib_PROGRAMS): ... this. Update all users.
26925 (pkgdata_DATA): Rename to ...
26926 (pkglib_DATA): ... this. Update all users.
26927 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
26928 (unicode.pff, ascii.pff): New rules.
26929 (all-local): Add `$(PKGDATA)' dependency.
26930 (install-local): Process `$(PKGDATA)'.
26931
26932 * util/update-grub_lib.in (font_path): Search for *.pff files in
26933 a few more locations, including `${pkgdata}'.
26934
57e57e31 269352007-12-23 Robert Millan <rmh@aybabtu.com>
26936
26937 Patch from Bean <bean123ch@gmail.com>:
26938 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
26939 `size'.
26940
4bc72aa9 269412007-12-21 Bean <bean123ch@gmail.com>
26942
26943 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
26944 (ntfscomp_mod_SOURCES): New variable.
26945 (ntfscomp_mod_CFLAGS): Likewise.
26946 (ntfscomp_mod_LDFLAGS): Likewise.
26947
26948 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
26949 (grub_probe_SOURCES): Likewise.
26950 (grub_emu_SOURCES): Likewise.
26951
26952 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26953 (grub_emu_SOURCES): Likewise.
26954
26955 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26956 (grub_emu_SOURCES): Likewise.
26957
26958 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
26959 (grub_emu_SOURCES): Likewise.
26960
26961 * fs/ntfs.c (grub_ntfscomp_func): New variable.
26962 (read_run_list): Renamed to grub_ntfs_read_run_list.
26963 (decomp_nextvcn): Moved to ntfscomp.c.
26964 (decomp_getch): Likewise.
26965 (decomp_get16): Likewise.
26966 (decomp_block): Likewise.
26967 (read_block): Likewise.
26968 (read_data): Partially moved to ntfscomp.c.
26969 (fixup): Change unsigned to grub_uint16_t.
26970 (read_mft): Change unsigned long to grub_uint32_t.
26971 (read_attr): Likewise.
26972 (read_data): Likewise.
26973 (read_run_data): Likewise.
26974 (read_run_list): Likewise.
26975 (read_mft): Likewise.
26976
26977 * fs/ntfscomp.c: New file.
26978
26979 * include/grub/ntfs.h: New file.
26980
af680a87 269812007-12-16 Robert Millan <rmh@aybabtu.com>
26982
26983 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
26984 IDE disk check, since Linux is known to support 20 IDE disks.
26985 Reported by Colin Watson.
26986
84be7599 269872007-12-15 Bean <bean123ch@gmail.com>
26988
26989 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
26990 (lnxboot_img_SOURCES): New variable.
26991 (lnxboot_img_ASFLAGS): Likewise.
26992 (lnxboot_img_LDFLAGS): Likewise.
26993
26994 * boot/i386/pc/lnxboot.S: New file.
26995
6af9db01 269962007-11-24 Pavel Roskin <proski@gnu.org>
26997
26998 * configure.ac: Test if '--build-id=none' is supported by the
26999 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
27000 objcopy to generate incorrect binary files (binutils
27001 2.17.50.0.18-1 as shipped by Fedora 8).
27002 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
27003 linking, so that build ID doesn't break the test.
27004
7361cfe6 270052007-11-24 Pavel Roskin <proski@gnu.org>
27006
27007 * include/grub/i386/time.h: use "void" in the argument list
27008 of grub_cpu_idle().
27009 * include/grub/powerpc/time.h: Likewise.
27010 * include/grub/sparc64/time.h: Likewise.
27011
1593e10c 270122007-11-18 Christian Franke <franke@computer.org>
27013
27014 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
27015 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
27016 This fixes the problem that function keys did not work in grub-emu.
27017
3b8db1a8 270182007-11-18 Christian Franke <franke@computer.org>
27019
27020 * disk/host.c (grub_host_open): Remove attribute unused from
27021 name parameter. Add check for "host". This fixes the problem
27022 that grub-emu does not find partitions.
27023
2e29408d 270242007-11-18 Christian Franke <franke@computer.org>
27025
27026 * util/hostfs.c (is_dir): New function.
27027 (grub_hostfs_dir): Handle missing dirent.d_type case.
27028 (grub_hostfs_read): Add missing fseek().
27029 (grub_hostfs_label): Clear label pointer. This fixes a crash
27030 of grub-emu on "ls (host)".
27031
398cd047 270322007-11-18 Christian Franke <franke@computer.org>
27033
27034 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
27035 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
27036 to 64 bit boundary by default.
27037
c405c391 270382007-11-18 Bean <bean123ch@gmail.com>
27039
27040 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
27041 (hexdump_mod_SOURCES): New variable.
27042 (hexdump_mod_CFLAGS): Likewise.
27043 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 27044
c405c391 27045 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27046
27047 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27048
27049 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27050
27051 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
27052
27053 * include/grub/hexdump.h: New file.
27054
27055 * commands/hexdump.c: New file.
27056
5cced7fd 270572007-11-10 Robert Millan <rmh@aybabtu.com>
27058
27059 * commands/i386/pc/play.c (beep_off): Switch order of arguments
27060 in grub_outb() calls.
27061 (beep_on): Likewise.
27062
8b714eb0 270632007-11-10 Christian Franke <franke@computer.org>
27064
27065 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
27066 (grub_menu_run): Likewise.
27067
ce0f1839 270682007-11-10 Robert Millan <rmh@aybabtu.com>
27069
27070 * include/grub/i386/efi/machine.h: New file.
27071 * include/grub/i386/linuxbios/machine.h: Likewise.
27072 * include/grub/i386/pc/machine.h: Likewise.
27073 * include/grub/powerpc/ieee1275/machine.h: Likewise.
27074 * include/grub/sparc64/ieee1275/machine.h: Likewise.
27075
27076 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
27077 (serial_hw_io_addr): New variable.
27078 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
27079 instead of `(unsigned short *) 0x400'.
27080
270c237d 270812007-11-10 Bean <bean123ch@gmail.com>
27082
27083 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
27084
a87783bf 270852007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
27086
27087 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
27088 (vga_mod_SOURCES): Added.
27089 (vga_mod_CFLAGS): Likewise.
27090 (vga_mod_LDFLAGS): Likewise.
27091
27092 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
27093 grub_outb() calls.
27094 (set_map_mask): Likewise.
27095 (set_read_map): Likewise.
27096 (set_read_address): Likewise.
27097 (vga_font): Removed variable.
27098 (get_vga_glyph): Removed function.
27099 (invalidate_char): Likewise.
27100 (write_char): Changed to use grub_font_get_glyph() for font
27101 information.
27102 (grub_vga_putchar): Likewise.
27103 (grub_vga_getcharwidth): Likewise.
27104
6433b448 271052007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
27106
27107 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
27108 flags.
27109 (pxeboot_img_LDFLAGS): Likewise.
27110 (diskboot_img_LDFLAGS): Likewise.
27111 (kernel_img_LDFLAGS): Likewise.
27112
49178511 271132007-11-06 Robert Millan <rmh@aybabtu.com>
27114
27115 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
27116 in grub_outb() calls.
27117 (serial_hw_init): Likewise.
27118
53b052de 271192007-11-05 Robert Millan <rmh@aybabtu.com>
27120
27121 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
27122 spaces. Skip non-regular files.
27123
5ab33bba 271242007-11-05 Robert Millan <rmh@aybabtu.com>
27125
27126 * kern/disk.c (grub_disk_firmware_fini)
27127 (grub_disk_firmware_is_tainted): New variables.
27128
27129 * include/grub/disk.h (grub_disk_firmware_fini)
27130 (grub_disk_firmware_is_tainted): Likewise.
27131
27132 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
27133 (grub_disk_biosdisk_fini): ... to here.
27134 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
27135 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
27136 is set. Register grub_disk_biosdisk_fini() in
27137 `grub_disk_firmware_fini'.
27138
27139 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
27140 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
27141 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
27142 to finish existing firmware disk interface.
27143
27144 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
27145 (ata_mod_SOURCES): New variable.
27146 (ata_mod_CFLAGS): Likewise.
27147 (ata_mod_LDFLAGS): Likewise.
27148
0149ab7c 271492007-11-05 Robert Millan <rmh@aybabtu.com>
27150
27151 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
27152 (grub_ata_wait): Reimplement using grub_millisleep().
27153
27154 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
27155 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
27156
be7ac41e 271572007-11-03 Marco Gerards <marco@gnu.org>
27158
27159 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
27160 (CRTC_ADDR_PORT): New macro.
27161 (CRTC_DATA_PORT): Likewise.
27162 (CRTC_CURSOR): Likewise.
27163 (CRTC_CURSOR_ADDR_HIGH): Likewise.
27164 (CRTC_CURSOR_ADDR_LOW): Likewise.
27165 (update_cursor): New function.
27166 (grub_console_real_putchar): Call `update_cursor'.
27167 (grub_console_gotoxy): Likewise.
27168 (grub_console_cls): Set the default color when clearing the
27169 screen.
27170 (grub_console_setcursor): Implemented.
27171
bb06ab2e 271722007-11-03 Marco Gerards <marco@gnu.org>
27173
27174 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
27175 become activate.
27176 (grub_ata_pio_write): Likewise.
27177
27178 (grub_atapi_identify): Wait after issuing an ATA command.
27179 (grub_atapi_packet): Likewise.
27180 (grub_ata_identify): Likewise.
27181 (grub_ata_readwrite): Likewise.
27182
cf8f780b 271832007-11-03 Marco Gerards <marco@gnu.org>
27184
27185 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
27186 (grub_ata_pio_write): Likewise.
27187 (grub_ata_readwrite): Use `grub_error', instead of
27188 returning `grub_errno'.
27189
ed649e54 271902007-11-03 Marco Gerards <marco@gnu.org>
27191
27192 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
27193 grub_ata_pio_write once for every single sector, instead of for
27194 multiple sectors.
27195
ca25d8f0 271962007-10-31 Robert Millan <rmh@aybabtu.com>
27197
27198 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
27199
27200 * conf/i386-linuxbios.rmk: New file.
27201
27202 * kern/i386/pc/hardware.c: Likewise.
27203 * term/i386/pc/at_keyboard.c: Likewise.
27204 * term/i386/pc/vga_text.c: Likewise.
27205
27206 * include/grub/i386/linuxbios/boot.h: Likewise.
27207 * include/grub/i386/linuxbios/console.h: Likewise.
27208 * include/grub/i386/linuxbios/init.h: Likewise.
27209 * include/grub/i386/linuxbios/kernel.h: Likewise.
27210 * include/grub/i386/linuxbios/loader.h: Likewise.
27211 * include/grub/i386/linuxbios/memory.h: Likewise.
27212 * include/grub/i386/linuxbios/serial.h: Likewise.
27213 * include/grub/i386/linuxbios/time.h: Likewise.
27214
27215 * kern/i386/linuxbios/init.c: Likewise.
27216 * kern/i386/linuxbios/startup.S: Likewise.
27217 * kern/i386/linuxbios/table.c: Likewise.
27218
e911ecc1 272192007-10-31 Marco Gerards <marco@gnu.org>
27220
27221 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
27222 (ata_mod_SOURCES): New variable.
27223 (ata_mod_CFLAGS): Likewise.
27224 (ata_mod_LDFLAGS): Likewise.
27225
27226 * disk/ata.c: New file.
27227
27228 * include/grub/disk.h (grub_disk_dev_id): Add
27229 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 27230
7f66d0e0 272312007-10-31 Robert Millan <rmh@aybabtu.com>
27232
27233 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
27234 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
27235
27236 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
27237 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
27238
27239 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
27240 `<grub/types.h>'.
27241
27242 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
27243
5cd7dd46 272442007-10-27 Robert Millan <rmh@aybabtu.com>
27245
3236ca65 27246 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 27247
2ebfc90f 272482007-10-22 Robert Millan <rmh@aybabtu.com>
27249
27250 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
27251 `"../realmode.S"'.
27252 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
27253
73fcb0f3 272542007-10-22 Robert Millan <rmh@aybabtu.com>
27255
27256 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
27257 (pkgdata_MODULES): Add `biosdisk.mod'.
27258 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
27259 variables.
27260
27261 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
27262 (grub_biosdisk_init): Replace with ...
27263 (GRUB_MOD_INIT(biosdisk)): ... this.
27264 (grub_biosdisk_fini): Replace with ...
27265 (GRUB_MOD_FINI(biosdisk)): ... this.
27266
27267 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
27268 (grub_machine_init): Remove call to grub_biosdisk_init().
27269 (grub_machine_fini): Remove call to grub_machine_fini().
27270
27271 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
27272
3381d274 272732007-10-22 Robert Millan <rmh@aybabtu.com>
27274
27275 * include/grub/time.h: New file.
27276 * include/grub/i386/time.h: Likewise.
27277 * include/grub/powerpc/time.h: Likewise.
27278 * include/grub/sparc64/time.h: Likewise.
27279
27280 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
27281 instances to ...
27282 (KERNEL_MACHINE_TIME_HEADER): ... this.
27283 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
27284 instances to ...
27285 (KERNEL_MACHINE_TIME_HEADER): ... this.
27286 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
27287 instances to ...
27288 (KERNEL_MACHINE_TIME_HEADER): ... this.
27289
27290 * kern/i386/efi/init.c: Include `<grub/time.h>'.
27291 (grub_millisleep): New function.
27292 * kern/i386/pc/init.c: Include `<grub/time.h>'.
27293 (grub_millisleep): New function.
27294 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
27295 Remove `grub/machine/time.h' include.
27296 (grub_millisleep): New function.
27297 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
27298 Remove `grub/machine/time.h' include.
27299 (grub_millisleep): New function.
27300
27301 * include/grub/misc.h (grub_div_roundup): New function.
27302
27303 * kern/misc.c: Include `<grub/time.h>'.
27304 (grub_millisleep_generic): New function.
27305
27306 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
27307 Add `time.h'.
27308 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
27309 Add `time.h'.
27310 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
27311 `machine/time.h'. Add `time.h'.
27312 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
27313
a39a0312 273142007-10-21 Robert Millan <rmh@aybabtu.com>
27315
27316 * include/grub/misc.h (grub_max): New function.
27317
2aad70e2 273182007-10-21 Robert Millan <rmh@aybabtu.com>
27319
27320 * util/misc.c (grub_util_info): Call fflush() before returning.
27321
54b71c4b 273222007-10-20 Robert Millan <rmh@aybabtu.com>
27323
27324 * genmk.rb (Image): Copy `extra_flags' from here ...
27325 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
27326
27327 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
27328 to `argc' and `args' arguments.
27329
a979f513 273302007-10-17 Robert Millan <rmh@aybabtu.com>
27331
27332 * kern/i386/loader.S: New file.
27333
27334 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
27335 * kern/i386/loader.S (grub_linux_prot_size)... to here.
27336 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
27337 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
27338 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
27339 * kern/i386/loader.S (grub_linux_real_addr)... to here.
27340 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
27341 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
27342 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
27343 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
27344 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
27345 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
27346 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
27347 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
27348
27349 * kern/i386/realmode.S: New file.
27350
27351 * kern/i386/pc/startup.S (protstack): Moved from here ...
27352 * kern/i386/realmode.S (protstack)... to here.
27353 * kern/i386/pc/startup.S (gdt): Moved from here ...
27354 * kern/i386/realmode.S (gdt)... to here.
27355 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
27356 * kern/i386/realmode.S (prot_to_real)... to here.
27357
27358 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
27359 `kern/i386/realmode.S'.
27360
825fc8fd 273612007-10-17 Robert Millan <rmh@aybabtu.com>
27362
27363 * include/grub/i386/loader.h: New file.
27364
27365 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
27366 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
27367 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
27368 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
27369 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
27370 * include/grub/i386/loader.h (grub_linux_prot_size)
27371 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
27372 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
27373 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
27374 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
27375
27376 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
27377
e179b2f4 273782007-10-15 Robert Millan <rmh@aybabtu.com>
27379
27380 * normal/misc.c (grub_normal_print_device_info): Do not probe for
27381 filesystem when dev->disk is unset.
27382 Do probe for filesystem even when dev->disk->has_partitions is set.
27383 In case a filesystem is found, always report it.
27384 In case it isn't, if dev->disk->has_partitions is set, report that
27385 a partition table was found instead of reporting that no filesystem
27386 could be identified.
27387
5db82af6 273882007-10-12 Robert Millan <rmh@aybabtu.com>
27389
27390 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
27391 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
27392
68f6ac74 27393 * include/grub/types.h (grub_host_to_target16): New macro.
27394 (grub_host_to_target32): Likewise.
27395 (grub_host_to_target64): Likewise.
27396 (grub_target_to_host16): Likewise.
27397 (grub_target_to_host32): Likewise.
27398 (grub_target_to_host64): Likewise.
5db82af6 27399
27400 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
27401 Renamed from to ...
27402 (GRUB_MOD_ALIGN): ...this. Update all users.
27403
68f6ac74 27404 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
27405 grub_host_to_target32.
27406 Replace grub_be_to_cpu32 with grub_target_to_host32.
27407 (load_modules): Likewise.
27408 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
27409 Replace grub_be_to_cpu32 with grub_target_to_host32.
27410 Replace grub_cpu_to_be16 with grub_host_to_target16.
27411 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 27412
3cf497cc 274132007-10-12 Robert Millan <rmh@aybabtu.com>
27414
27415 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
27416 * util/elf/grub-mkimage.c: ... here.
27417
27418 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
27419 `util/powerpc/ieee1275/grub-mkimage.c'.
27420
c8cc3692 274212007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 27422
c8cc3692 27423 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
27424 and make it easier to figure out.
27425 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
27426 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
27427 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
27428 leave us with less than HEAP_MIN_SIZE total heap.
27429 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 27430
5c58b791 274312007-10-03 Robert Millan <rmh@aybabtu.com>
27432
27433 * include/grub/i386/io.h: New file.
27434 * commands/i386/pc/play.c (inb): Removed.
27435 (outb): Removed.
27436 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27437 with grub_outb().
afcd2ef8 27438 * term/i386/pc/serial.c (inb): Removed.
27439 (outb): Removed.
27440 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27441 with grub_outb().
27442 * term/i386/pc/vga.c (inb): Removed.
27443 (outb): Removed.
27444 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
27445 with grub_outb().
5c58b791 27446
1a477ed6 274472007-10-02 Robert Millan <rmh@aybabtu.com>
27448
27449 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
27450 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27451 Reported by Marcin Kurek.
27452
6b5d80fa 274532007-09-07 Robert Millan <rmh@aybabtu.com>
27454
27455 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
27456 SmartFirmware version updates (as released by Sven Luther), and avoid
27457 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
27458 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
27459 known broken.
27460
5618afbf 274612007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27462
27463 From Hitoshi Ozeki:
27464 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
27465 when merging two regions.
27466
6139dcd9 274672007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
27468
508e39ee 27469 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
27470 * normal/completion.c (grub_normal_do_completion): Likewise.
27471 Reported by Hitoshi Ozeki.
27472
274732007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 27474
6139dcd9 27475 Do not use devices at boot in chainloading.
f19dbdb7 27476
6139dcd9 27477 * loader/i386/pc/chainloader.c (boot_drive): New variable.
27478 (boot_part_addr): Likewise.
27479 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
27480 with BOOT_DRIVE and BOOT_PART_ADDR.
27481 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
27482 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
27483
38da6516 274842007-08-29 Robert Millan <rmh@aybabtu.com>
27485
27486 Patch from Simon Peter <dn.tlp@gmx.net>:
27487 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
27488 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
27489 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
27490 util/i386/pc/grub-setup.c_DEPENDENCIES.
27491 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
27492 util/grub-probe.c_DEPENDENCIES.
27493 * conf/powerpc-ieee1275.rmk: Likewise.
27494
29d0928c 274952007-08-28 Robert Millan <rmh@aybabtu.com>
27496
27497 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
27498 to tell grub-mkdevicemap how to name devices.
27499 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
27500 feature).
27501
27502 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
27503 util/i386/get_disk_name.c.
27504 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
27505 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
27506 util/ieee1275/get_disk_name.c.
27507
27508 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
27509
27510 * DISTLIST: Add util/i386/get_disk_name.c and
27511 util/ieee1275/get_disk_name.c.
27512
27513 * util/grub-mkdevicemap.c: Replace device naming logic with
27514 grub_util_get_disk_name() calls.
27515
5a0d3cca 275162007-08-20 Robert Millan <rmh@aybabtu.com>
27517
27518 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
27519 (so that it works for both plural and singular quantities).
27520
8b72db2f 275212007-08-05 Robert Millan <rmh@aybabtu.com>
27522
27523 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
27524 so that [xz] isn't taken into account when determining order.
27525
352466bf 275262007-08-02 Marco Gerards <marco@gnu.org>
27527
27528 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
27529 `include/multiboot2.h', `include/grub/elfload.h',
27530 `include/multiboot.h', `include/grub/multiboot.h',
27531 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
27532 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
27533 `kern/elf.c', `loader/multiboot_loader.c',
27534 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
27535 `loader/i386/pc/multiboot2.c',
27536 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
27537 `util/i386/pc/grub-mkrescue.in'. Remove
27538 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
27539 `include/grub/i386/pc/util/biosdisk.h' and
27540 `include/grub/powerpc/ieee1275/multiboot.h'.
27541
8f096014 275422007-08-02 Bean <bean123ch@gmail.com>
27543
27544 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
27545 (ntfs_mod_SOURCES): New variable.
27546 (ntfs_mod_CFLAGS): Likewise.
27547 (ntfs_mod_LDFLAGS): Likewise.
27548
27549 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
27550 (grub_probe_SOURCES): Likewise.
27551 (grub_emu_SOURCES): Likewise.
27552
27553 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
27554 (grub_emu_SOURCES): Likewise.
27555
27556 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
27557 (grub_emu_SOURCES): Likewise.
f19dbdb7 27558
8f096014 27559 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
27560
27561 * fs/ntfs.c: New file.
27562
9959f7db 275632007-08-02 Bean <bean123ch@gmail.com>
27564
27565 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
27566
27567 * file.h (grub_file): Likewise.
27568
27569 * fshelp.h (grub_fshelp_read_file): Likewise.
27570
27571 * util/i386/pc/grub-setup.c (setup): Likewise.
27572 (save_first_sector): Likewise.
27573 (save_blocklists): Likewise.
f19dbdb7 27574
9959f7db 27575 * fs/affs.c (grub_affs_read_file): Likewise.
27576
27577 * fs/ext2.c (grub_ext2_read_file): Likewise.
27578
27579 * fs/fat.c (grub_fat_read_data): Likewise.
27580
27581 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
27582
27583 * fs/hfs.c (grub_hfs_read_file): Likewise.
27584
27585 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
27586
27587 * fs/jfs.c (grub_jfs_read_file): Likewise.
27588
27589 * fs/minix.c (grub_minix_read_file): Likewise.
27590
27591 * fs/sfs.c (grub_sfs_read_file): Likewise.
27592
27593 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 27594
9959f7db 27595 * fs/xfs.c (grub_xfs_read_file): Likewise.
27596
27597 * command/blocklist.c (read_blocklist): Likewise.
27598 (print_blocklist): Likewise.
27599
0a203f83 276002007-08-02 Marco Gerards <marco@gnu.org>
27601
27602 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
27603 `util/hostfs.c'.
27604
27605 * disk/host.c: New file.
27606
27607 * util/hostfs.c: Likewise.
27608
27609 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
27610 return `GRUB_ERR_BAD_FS'.
27611 * fs/sfs.c (grub_sfs_mount): Likewise.
27612 * fs/xfs.c (grub_xfs_mount): Likewise.
27613
27614 * include/grub/disk.h (enum grub_disk_dev_id): Add
27615 `GRUB_DISK_DEVICE_HOST_ID'.
27616
27617 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
27618
e5dfe777 276192007-07-24 Jerone Young <jerone@gmail.com>
27620
f19dbdb7 27621 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 27622 modules for compilation.
27623 * conf/powerpc-ieee1275.rmk: Likewise.
27624
27625 * include/multiboot.h: Move multiboot definitions to one file. Rename
27626 many definitions to not get grub specific.
27627 * include/multiboot2.h: Create header with multiboot 2 definitions.
27628 * include/grub/multiboot.h: Header for grub specific function
27629 prototypes and definitions.
27630 * include/grub/multiboot2.h: Likewise.
27631 * include/grub/multiboot_loader.h: Likewise.
27632 * include/grub/i386/pc/multiboot.h: Removed.
27633 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
27634
27635 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
27636 and 2 to allow for one multiboot and module commands.
27637 * loader/multiboot2.c: Add multiboot2 functionality.
27638 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
27639 and definition names.
27640 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
27641 2 functions.
27642 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
27643 ieee1275 specific multiboot2 code.
27644
27645 * kern/i386/pc/startup.S: Change headers and definition names for
27646 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
27647
daf0f0ba 276482007-07-22 Robert Millan <rmh@aybabtu.com>
27649
27650 * geninitheader.sh: Process file specified in first parameter rather
27651 than hardcoding grub_modules_init.lst.
fe6b695a 27652 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 27653 than hardcoding grub_modules_init.h.
27654
27655 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
27656 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
27657 grub_probe_init.[ch] and grub_setup_init.[ch].
27658
27659 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
27660 grub_modules_init.h with grub_emu_init.h.
27661 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
27662 grub_probe_init.[ch] files.
27663 * conf/i386-efi.rmk: Likewise.
27664 * conf/i386-pc.rmk: Likewise.
27665 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
27666 grub_setup_init.[ch] files.
27667
27668 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
27669 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
27670 to initialize modules rather than a list of hardcoded functions.
27671 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
27672 grub_init_all() to initialize modules rather than a list of hardcoded
27673 functions.
27674
54cdc1cc 276752007-07-22 Robert Millan <rmh@aybabtu.com>
27676
27677 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
27678 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
27679
ad0686cc 276802007-07-22 Robert Millan <rmh@aybabtu.com>
27681
27682 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
27683 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
27684 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
27685 flag when running on SmartFirmware.
27686 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
27687 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
27688 was set.
27689
27690 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
27691 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
27692 rather than decreasing it.
27693
27694 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
27695 there's not enough space to do it, fail in the same way as when it
27696 can't be done because there are no partitions.
27697
27698 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
27699 when nvsetenv failed.
27700
969c02ec 277012007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
27702
27703 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
27704 because this rule is automatically generated.
27705 (grub-mkrescue): Removed for the same reason as above.
27706
5a79f472 277072007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
27708
27709 Migrate to GNU General Public License Version 3.
f19dbdb7 27710
5a79f472 27711 * COPYING: Replaced with the plain text version of GPLv3.
27712
27713 * config.guess: Updated from gnulib.
27714 * config.sub: Likewise.
27715
27716 * geninit.sh: Output a GPLv3 copyright notice.
27717 * geninitheader.sh: Likewise.
27718 * genmodsrc.sh: Likewise.
27719 * gensymlist.sh.in: Likewise.
27720
27721 * boot/i386/pc/boot.S: Upgraded to GPLv3.
27722 * boot/i386/pc/diskboot.S: Likewise.
27723 * boot/i386/pc/pxeboot.S: Likewise.
27724 * commands/blocklist.c: Likewise.
27725 * commands/boot.c: Likewise.
27726 * commands/cat.c: Likewise.
27727 * commands/cmp.c: Likewise.
27728 * commands/configfile.c: Likewise.
27729 * commands/echo.c: Likewise.
27730 * commands/help.c: Likewise.
27731 * commands/ls.c: Likewise.
27732 * commands/search.c: Likewise.
27733 * commands/terminal.c: Likewise.
27734 * commands/test.c: Likewise.
27735 * commands/videotest.c: Likewise.
27736 * commands/i386/cpuid.c: Likewise.
27737 * commands/i386/pc/halt.c: Likewise.
27738 * commands/i386/pc/play.c: Likewise.
27739 * commands/i386/pc/reboot.c: Likewise.
27740 * commands/i386/pc/vbeinfo.c: Likewise.
27741 * commands/i386/pc/vbetest.c: Likewise.
27742 * commands/ieee1275/halt.c: Likewise.
27743 * commands/ieee1275/reboot.c: Likewise.
27744 * commands/ieee1275/suspend.c: Likewise.
27745 * disk/loopback.c: Likewise.
27746 * disk/lvm.c: Likewise.
27747 * disk/raid.c: Likewise.
27748 * disk/efi/efidisk.c: Likewise.
27749 * disk/i386/pc/biosdisk.c: Likewise.
27750 * disk/ieee1275/ofdisk.c: Likewise.
27751 * font/manager.c: Likewise.
27752 * fs/affs.c: Likewise.
27753 * fs/ext2.c: Likewise.
27754 * fs/fat.c: Likewise.
27755 * fs/fshelp.c: Likewise.
27756 * fs/hfs.c: Likewise.
27757 * fs/hfsplus.c: Likewise.
27758 * fs/iso9660.c: Likewise.
27759 * fs/jfs.c: Likewise.
27760 * fs/minix.c: Likewise.
27761 * fs/sfs.c: Likewise.
27762 * fs/ufs.c: Likewise.
27763 * fs/xfs.c: Likewise.
27764 * hello/hello.c: Likewise.
27765 * include/grub/acorn_filecore.h: Likewise.
27766 * include/grub/arg.h: Likewise.
27767 * include/grub/bitmap.h: Likewise.
27768 * include/grub/boot.h: Likewise.
27769 * include/grub/cache.h: Likewise.
27770 * include/grub/device.h: Likewise.
27771 * include/grub/disk.h: Likewise.
27772 * include/grub/dl.h: Likewise.
27773 * include/grub/elfload.h: Likewise.
27774 * include/grub/env.h: Likewise.
27775 * include/grub/err.h: Likewise.
27776 * include/grub/file.h: Likewise.
27777 * include/grub/font.h: Likewise.
27778 * include/grub/fs.h: Likewise.
27779 * include/grub/fshelp.h: Likewise.
27780 * include/grub/gzio.h: Likewise.
27781 * include/grub/hfs.h: Likewise.
27782 * include/grub/kernel.h: Likewise.
27783 * include/grub/loader.h: Likewise.
27784 * include/grub/lvm.h: Likewise.
27785 * include/grub/misc.h: Likewise.
27786 * include/grub/mm.h: Likewise.
27787 * include/grub/net.h: Likewise.
27788 * include/grub/normal.h: Likewise.
27789 * include/grub/parser.h: Likewise.
27790 * include/grub/partition.h: Likewise.
27791 * include/grub/pc_partition.h: Likewise.
27792 * include/grub/raid.h: Likewise.
27793 * include/grub/rescue.h: Likewise.
27794 * include/grub/script.h: Likewise.
27795 * include/grub/setjmp.h: Likewise.
27796 * include/grub/symbol.h: Likewise.
27797 * include/grub/term.h: Likewise.
27798 * include/grub/terminfo.h: Likewise.
27799 * include/grub/tparm.h: Likewise.
27800 * include/grub/types.h: Likewise.
27801 * include/grub/video.h: Likewise.
27802 * include/grub/efi/api.h: Likewise.
27803 * include/grub/efi/chainloader.h: Likewise.
27804 * include/grub/efi/console.h: Likewise.
27805 * include/grub/efi/console_control.h: Likewise.
27806 * include/grub/efi/disk.h: Likewise.
27807 * include/grub/efi/efi.h: Likewise.
27808 * include/grub/efi/pe32.h: Likewise.
27809 * include/grub/efi/time.h: Likewise.
27810 * include/grub/i386/linux.h: Likewise.
27811 * include/grub/i386/setjmp.h: Likewise.
27812 * include/grub/i386/types.h: Likewise.
27813 * include/grub/i386/efi/kernel.h: Likewise.
27814 * include/grub/i386/efi/loader.h: Likewise.
27815 * include/grub/i386/efi/time.h: Likewise.
27816 * include/grub/i386/pc/biosdisk.h: Likewise.
27817 * include/grub/i386/pc/boot.h: Likewise.
27818 * include/grub/i386/pc/chainloader.h: Likewise.
27819 * include/grub/i386/pc/console.h: Likewise.
27820 * include/grub/i386/pc/init.h: Likewise.
27821 * include/grub/i386/pc/kernel.h: Likewise.
27822 * include/grub/i386/pc/loader.h: Likewise.
27823 * include/grub/i386/pc/memory.h: Likewise.
27824 * include/grub/i386/pc/multiboot.h: Likewise.
27825 * include/grub/i386/pc/serial.h: Likewise.
27826 * include/grub/i386/pc/time.h: Likewise.
27827 * include/grub/i386/pc/vbe.h: Likewise.
27828 * include/grub/i386/pc/vbeblit.h: Likewise.
27829 * include/grub/i386/pc/vbefill.h: Likewise.
27830 * include/grub/i386/pc/vbeutil.h: Likewise.
27831 * include/grub/i386/pc/vga.h: Likewise.
27832 * include/grub/ieee1275/ieee1275.h: Likewise.
27833 * include/grub/ieee1275/ofdisk.h: Likewise.
27834 * include/grub/powerpc/libgcc.h: Likewise.
27835 * include/grub/powerpc/setjmp.h: Likewise.
27836 * include/grub/powerpc/types.h: Likewise.
27837 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
27838 * include/grub/powerpc/ieee1275/console.h: Likewise.
27839 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
27840 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
27841 * include/grub/powerpc/ieee1275/loader.h: Likewise.
27842 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
27843 * include/grub/powerpc/ieee1275/time.h: Likewise.
27844 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
27845 * include/grub/sparc64/libgcc.h: Likewise.
27846 * include/grub/sparc64/setjmp.h: Likewise.
27847 * include/grub/sparc64/types.h: Likewise.
27848 * include/grub/sparc64/ieee1275/console.h: Likewise.
27849 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
27850 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
27851 * include/grub/sparc64/ieee1275/time.h: Likewise.
27852 * include/grub/util/biosdisk.h: Likewise.
27853 * include/grub/util/getroot.h: Likewise.
27854 * include/grub/util/lvm.h: Likewise.
27855 * include/grub/util/misc.h: Likewise.
27856 * include/grub/util/raid.h: Likewise.
27857 * include/grub/util/resolve.h: Likewise.
27858 * io/gzio.c: Likewise.
27859 * kern/device.c: Likewise.
27860 * kern/disk.c: Likewise.
27861 * kern/dl.c: Likewise.
27862 * kern/elf.c: Likewise.
27863 * kern/env.c: Likewise.
27864 * kern/err.c: Likewise.
27865 * kern/file.c: Likewise.
27866 * kern/fs.c: Likewise.
27867 * kern/loader.c: Likewise.
27868 * kern/main.c: Likewise.
27869 * kern/misc.c: Likewise.
27870 * kern/mm.c: Likewise.
27871 * kern/parser.c: Likewise.
27872 * kern/partition.c: Likewise.
27873 * kern/rescue.c: Likewise.
27874 * kern/term.c: Likewise.
27875 * kern/efi/efi.c: Likewise.
27876 * kern/efi/init.c: Likewise.
27877 * kern/efi/mm.c: Likewise.
27878 * kern/i386/dl.c: Likewise.
27879 * kern/i386/efi/init.c: Likewise.
27880 * kern/i386/efi/startup.S: Likewise.
27881 * kern/i386/pc/init.c: Likewise.
27882 * kern/i386/pc/lzo1x.S: Likewise.
27883 * kern/i386/pc/startup.S: Likewise.
27884 * kern/ieee1275/ieee1275.c: Likewise.
27885 * kern/powerpc/cache.S: Likewise.
27886 * kern/powerpc/dl.c: Likewise.
27887 * kern/powerpc/ieee1275/cmain.c: Likewise.
27888 * kern/powerpc/ieee1275/crt0.S: Likewise.
27889 * kern/powerpc/ieee1275/init.c: Likewise.
27890 * kern/powerpc/ieee1275/openfw.c: Likewise.
27891 * kern/sparc64/cache.S: Likewise.
27892 * kern/sparc64/dl.c: Likewise.
27893 * kern/sparc64/ieee1275/init.c: Likewise.
27894 * kern/sparc64/ieee1275/openfw.c: Likewise.
27895 * loader/efi/chainloader.c: Likewise.
27896 * loader/efi/chainloader_normal.c: Likewise.
27897 * loader/i386/efi/linux.c: Likewise.
27898 * loader/i386/efi/linux_normal.c: Likewise.
27899 * loader/i386/pc/chainloader.c: Likewise.
27900 * loader/i386/pc/chainloader_normal.c: Likewise.
27901 * loader/i386/pc/linux.c: Likewise.
27902 * loader/i386/pc/linux_normal.c: Likewise.
27903 * loader/i386/pc/multiboot.c: Likewise.
27904 * loader/i386/pc/multiboot_normal.c: Likewise.
27905 * loader/powerpc/ieee1275/linux.c: Likewise.
27906 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
27907 * normal/arg.c: Likewise.
27908 * normal/cmdline.c: Likewise.
27909 * normal/command.c: Likewise.
27910 * normal/completion.c: Likewise.
27911 * normal/execute.c: Likewise.
27912 * normal/function.c: Likewise.
27913 * normal/lexer.c: Likewise.
27914 * normal/main.c: Likewise.
27915 * normal/menu.c: Likewise.
27916 * normal/menu_entry.c: Likewise.
27917 * normal/misc.c: Likewise.
27918 * normal/parser.y: Likewise.
27919 * normal/script.c: Likewise.
27920 * normal/i386/setjmp.S: Likewise.
27921 * normal/powerpc/setjmp.S: Likewise.
27922 * normal/sparc64/setjmp.S: Likewise.
27923 * partmap/acorn.c: Likewise.
27924 * partmap/amiga.c: Likewise.
27925 * partmap/apple.c: Likewise.
27926 * partmap/gpt.c: Likewise.
27927 * partmap/pc.c: Likewise.
27928 * partmap/sun.c: Likewise.
27929 * term/gfxterm.c: Likewise.
27930 * term/terminfo.c: Likewise.
27931 * term/efi/console.c: Likewise.
27932 * term/i386/pc/console.c: Likewise.
27933 * term/i386/pc/serial.c: Likewise.
27934 * term/i386/pc/vesafb.c: Likewise.
27935 * term/i386/pc/vga.c: Likewise.
27936 * term/ieee1275/ofconsole.c: Likewise.
27937 * util/biosdisk.c: Likewise.
27938 * util/console.c: Likewise.
27939 * util/genmoddep.c: Likewise.
27940 * util/getroot.c: Likewise.
27941 * util/grub-emu.c: Likewise.
27942 * util/grub-mkdevicemap.c: Likewise.
27943 * util/grub-probe.c: Likewise.
27944 * util/lvm.c: Likewise.
27945 * util/misc.c: Likewise.
27946 * util/raid.c: Likewise.
27947 * util/resolve.c: Likewise.
27948 * util/update-grub.in: Likewise.
27949 * util/update-grub_lib.in: Likewise.
27950 * util/grub.d/00_header.in: Likewise.
27951 * util/grub.d/10_hurd.in: Likewise.
27952 * util/grub.d/10_linux.in: Likewise.
27953 * util/i386/efi/grub-install.in: Likewise.
27954 * util/i386/efi/grub-mkimage.c: Likewise.
27955 * util/i386/pc/grub-install.in: Likewise.
27956 * util/i386/pc/grub-mkimage.c: Likewise.
27957 * util/i386/pc/grub-mkrescue.in: Likewise.
27958 * util/i386/pc/grub-setup.c: Likewise.
27959 * util/i386/pc/misc.c: Likewise.
27960 * util/powerpc/ieee1275/grub-install.in: Likewise.
27961 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
27962 * util/powerpc/ieee1275/misc.c: Likewise.
27963 * video/bitmap.c: Likewise.
27964 * video/video.c: Likewise.
27965 * video/i386/pc/vbe.c: Likewise.
27966 * video/i386/pc/vbeblit.c: Likewise.
27967 * video/i386/pc/vbefill.c: Likewise.
27968 * video/i386/pc/vbeutil.c: Likewise.
27969 * video/readers/tga.c: Likewise.
27970
3572d015 279712007-07-02 Robert Millan <rmh@aybabtu.com>
27972
27973 * conf/i386-efi.rmk: Replace obsolete reference to
27974 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
27975 with util/getroot.c.
27976 * conf/powerpc-ieee1275.rmk: Likewise.
27977 * conf/sparc64-ieee1275.rmk: Likewise.
27978
27979 * util/grub-emu.c (main): Fix unchecked pointer handling.
27980
2c2a681b 279812007-07-02 Robert Millan <rmh@aybabtu.com>
27982
27983 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
27984 invocation to fail, in order to support partition-less media.
27985
27986 * util/i386/pc/grub-install.in: Likewise.
27987
27988 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
27989 which fs or partmap modules are needed (akin to its sister scripts).
27990
27991 Also use grub-probe to get rid of unportable /proc/mounts check.
27992
27993 Print the same informational message that the other scripts do, before
fe6b695a 27994 exiting.
2c2a681b 27995
6193defe 279962007-06-23 Robert Millan <rmh@aybabtu.com>
27997
fe6b695a 27998 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 27999 a font file can be found and, if so, echo the GRUB path to it.
28000
28001 * util/update-grub.in: Handle multiple terminals depending on user
28002 input, platform availability and font file presence. Propagate
28003 variables of our findings to /etc/grub.d/ children.
28004
28005 * util/grub.d/00_header.in: Handle multiple terminals, based on
28006 environment setup by update-grub.
28007
eface1dc 280082007-06-23 Robert Millan <rmh@aybabtu.com>
28009
ba50d28f 28010 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 28011
bf697e28 280122007-06-21 Robert Millan <rmh@aybabtu.com>
28013
28014 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
28015 indicate end of data section in kernel image.
28016 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
28017 GRUB_KERNEL_MACHINE_DATA_END.
28018
28019 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
28020 space for it.
28021 * kern/i386/efi/startup.S: Likewise.
28022
28023 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
28024 during image generation. Implement --prefix option to override this
28025 patch.
28026 * util/i386/efi/grub-mkimage.c: Likewise.
28027
28028 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
28029 code to make path relative to its root into a separate function.
28030
28031 * util/i386/pc/grub-install.in: Use newly provided
28032 make_system_path_relative_to_its_root() to convert ${grubdir}, then
28033 pass the result to grub-install --prefix.
28034
baa574b4 280352007-06-13 Robert Millan <rmh@aybabtu.com>
28036
28037 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
28038 DEFAULT_DEVICE_MAP.
28039 * util/grub-emu.c: Use above definitions from misc.h instead of
28040 defining them.
28041 * util/grub-mkdevicemap.c: Likewise.
28042 * util/i386/pc/grub-setup.c: Likewise.
28043 * util/grub-probe.c: Likewise.
28044 (probe): Abort with grub_util_error() when either
28045 grub_guess_root_device or grub_util_get_grub_dev fails.
28046
0215dcbf 280472007-06-12 Robert Millan <rmh@aybabtu.com>
28048
28049 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
28050 "pager" assignment.
28051 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
28052 "pcdata".
28053 * util/grub-probe.c (probe): Likewise for "drive_name".
28054
8af2ab7b 280552007-06-11 Robert Millan <rmh@aybabtu.com>
28056
28057 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
28058 not just the cdrom one.
28059
59d31694 280602007-06-11 Robert Millan <rmh@aybabtu.com>
28061
28062 * util/i386/pc/grub-mkrescue.in: Add "set -e".
28063 Add --pkglibdir=DIR option to override pkglibdir.
28064 Mention --image-type=TYPE in help output.
28065 Fix --grub-mkimage (it was a no-op).
fe6b695a 28066 Abort gracefully when no parameter is given.
59d31694 28067
7ee367e4 280682007-06-11 Robert Millan <rmh@aybabtu.com>
28069
28070 * util/i386/pc/grub-mkrescue.in: New file.
28071 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
28072 * Makefile.in: Handle bin_SCRIPTS.
28073
29b0ed46 280742007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
28075
28076 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
28077 list of video modes.
28078
c0f90770 280792007-06-06 Robert Millan <rmh@aybabtu.com>
28080
28081 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
28082 file doesn't exist, or if it is in a filesystem grub can't read.
28083
28084 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
28085 not abort if GRUB_DRIVE could not be defined. Rearrange generated
28086 header comment to fit in 80 columns when the variables are resolved.
28087
28088 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
28089 could be identified by update-grub. Remove redundant check for
fe6b695a 28090 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 28091 handles that).
28092
fb36dc26 280932007-06-04 Robert Millan <rmh@aybabtu.com>
28094
28095 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
28096
28097 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
28098
28099 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
28100
0c68c93e 281012007-06-04 Robert Millan <rmh@aybabtu.com>
28102
28103 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
28104
28105 * include/grub/partition.h: Declare grub_apple_partition_map_init and
28106 grub_apple_partition_map_fini.
28107
28108 * util/biosdisk.c
28109 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
28110 to access >2 TiB disks).
28111
28112 Print disk->total_sectors with %llu instead of %lu, since this
28113 variable is always 64-bit (prevents wrong disk size from being displayed
28114 on either >2 TiB disk or big-endian CPU).
28115
28116 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
28117 into a generic case that supports all (sane) partition maps.
28118
28119 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
28120 breaks big-endian.
28121
28122 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
28123 and grub_apple_partition_map_fini() after that.
28124
0f23eb74 281252007-06-01 Robert Millan <rmh@aybabtu.com>
28126
28127 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
28128
28129 * util/grub.d/00_header.in: Only enable gfxterm when
28130 convert_system_path_to_grub_path() succeeds.
28131
42c71976 281322007-05-20 Robert Millan <rmh@aybabtu.com>
28133
28134 * util/update-grub_lib.in: New file.
28135 * DISTLIST: Add update-grub_lib.in.
28136 * conf/common.rmk: Generate update-grub_lib and install it in
28137 $(lib_DATA).
28138 * Makefile.in: Add install routine for $(lib_DATA).
28139
28140 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
28141 function provided by update-grub_lib to support arbitrary paths of
28142 unifont.pff.
28143 * util/update-grub.in: Use convert_system_path_to_grub_path() to
28144 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
28145
5beb2291 281462007-05-19 Robert Millan <rmh@aybabtu.com>
28147
28148 * commands/i386/cpuid.c: New module.
28149 * DISTLIST: Add it.
28150 * conf/i386-efi.rmk: Enable cpuid.mod.
28151 * conf/i386-pc.rmk: Likewise.
28152
7262eca1 281532007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
28154
28155 * kern/disk.c (grub_disk_read): Check return value of
28156 grub_realloc().
28157
260ba823 281582007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
28159
28160 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
28161 arrays.
28162 * disk/raid.c (grub_raid_open): Likewise.
28163
1ecb6cf2 281642007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
28165
28166 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
28167 stack instead of on the heap.
28168
28169 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
28170 before doing a read on it.
28171
28172 * configure.ac: Only use -fno-stack-protector for the target
28173 environment.
f19dbdb7 28174
21c8cbb1 281752007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
28176
28177 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
28178 __attribute_ ((unused)) to mode_type argument.
28179
28180 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 28181
21c8cbb1 28182 * kern/misc.c (memcmp): Fix prototype.
28183
28184 * include/grub/partition.h [GRUB_UTIL]
28185 (grub_gpt_partition_map_init): Add prototype.
28186 (grub_gpt_partition_map_fini): Likewise.
28187
28188 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
28189 at the right place.
28190
28191 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
28192 (grub_fat_read_data): Likewise.
28193 (grub_fat_find_dir): Likewise.
28194
28195 * font/manager.c (find_glyph): Make table a const.
28196 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 28197
849d55d3 281982007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
28199
28200 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
28201 code, first search for device in /dev/mapper, then in /dev.
28202 (grub_util_get_grub_dev): New function.
28203 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
28204 prototype.
28205 * util/grub-probe.c (probe): Remove check for RAID, call
28206 grub_util_get_grub_dev() instead of
28207 grub_util_biosdisk_get_grub_dev().
28208 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
28209 grub_util_biosdisk_get_grub_dev().
28210 * util/i386/pc/grub-setup.c (main): Likewise.
28211
8fff7c2f 282122007-05-16 Robert Millan <rmh@aybabtu.com>
28213
28214 * DISTLIST: Update for the latest changes.
28215 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
28216 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
28217 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
28218 grub/util/biosdisk.h.
28219 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
28220 grub/util/biosdisk.h.
28221
48e12b52 282222007-05-16 Robert Millan <rmh@aybabtu.com>
28223
28224 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
28225
46b9d128 282262007-05-16 Robert Millan <rmh@aybabtu.com>
28227
28228 * util/i386/efi/grub-install.in: New.
28229 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
28230 newly added grub-install.
28231 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
28232 include.
28233 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
28234 grub/util/biosdisk.h.
28235 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
28236 grub/util/biosdisk.h.
28237
2d1a40a9 282382007-05-16 Robert Millan <rmh@aybabtu.com>
28239
28240 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
28241 * include/grub/util/biosdisk.h: ... here.
28242 * util/i386/pc/biosdisk.c: Moved to ...
28243 * util/biosdisk.c: ... here.
28244 * util/i386/pc/getroot.c: Moved to ...
28245 * util/getroot.c: ... here.
28246 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
28247 * util/grub-mkdevicemap.c: ... here.
28248 * util/i386/pc/grub-probe.c: Moved to ...
28249 * util/grub-probe.c: ... here.
28250
9e26e3bc 282512007-05-15 Robert Millan <rmh@aybabtu.com>
28252
28253 * util/update-grub.in: Remove duplicated line in grub.cfg header
28254 message.
28255
57f96397 282562007-05-13 Robert Millan <rmh@aybabtu.com>
28257
28258 * util/update-grub.in: Fix a few assumptions about the devices holding
28259 /, /boot and /boot/grub being the same.
28260 * util/grub.d/00_header.in: Likewise.
28261 * util/grub.d/10_hurd.in: Likewise.
28262 * util/grub.d/10_linux.in: Likewise.
28263
28264 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
28265 patterns. Use that to define the `.old' suffix as older than `'.
28266
28267 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
28268
28269 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
28270 the grub.cfg header message.
28271
2e610d62 282722007-05-11 Robert Millan <rmh@aybabtu.com>
28273
28274 * util/update-grub.in: Create device.map if it doesn't already exist,
28275 before attempting to run grub-probe.
28276 Check for grub-probe and grub-mkdevicemap with the same code
28277 grub-install is using.
28278 Remove test mode.
28279
3f6a10ef 282802007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
28281
28282 * Makefile.in: Add the datarootdir autoconf variable.
28283
02e7b75e 282842007-05-09 Robert Millan <rmh@aybabtu.com>
28285
28286 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 28287 fail gracefully if dev->disk->partition == NULL.
02e7b75e 28288
75f396cc 282892007-05-07 Robert Millan <rmh@aybabtu.com>
28290
28291 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
28292 determine partition map module.
28293 * util/i386/pc/grub-install.in: Use this feature to decide which
28294 partition module to load, instead of hardcoding pc and gpt.
28295
da65cb36 282962007-05-07 Robert Millan <rmh@aybabtu.com>
28297
28298 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
28299 source directory differs from build directory.
28300
b57d6a91 283012007-05-05 Robert Millan <rmh@aybabtu.com>
28302
28303 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
28304 initialisation.
28305
509d00f1 283062007-05-05 Robert Millan <rmh@aybabtu.com>
28307
28308 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
28309
c48f23ef 283102007-05-05 Robert Millan <rmh@aybabtu.com>
28311
28312 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
28313 command-line arguments via ${GRUB_CMDLINE_LINUX}.
28314
20b97658 283152007-05-05 Robert Millan <rmh@aybabtu.com>
28316
28317 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
28318 (grub_probe_SOURCES): Likewise.
28319 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
28320 GPT and initialize dos_part and bsd_part accordingly.
28321 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
28322 install_bsd_part.
28323 (main): Activate gpt module for use during partition identification,
28324 and deactivate it afterwards.
28325 * util/i386/pc/grub-install.in: Add gpt module to core.img.
28326 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
28327 partition identification, and deactivate it afterwards.
28328
99123174 283292007-05-05 Robert Millan <rmh@aybabtu.com>
28330
28331 * term/i386/pc/console.c (grub_console_fini): Call
28332 grub_term_set_current() before grub_term_unregister().
28333
ebd97f6e 283342007-05-04 Robert Millan <rmh@aybabtu.com>
28335
28336 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
28337 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
28338 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
28339 and update-grub_DATA.
28340 * conf/common.rmk: Build and install update-grub components.
28341 * conf/common.mk: Regenerate.
28342 * util/update-grub.in: New. Core of update-grub.
28343 * util/grub.d/00_header.in: New. Generates grub.cfg header.
28344 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
28345 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
28346 * util/grub.d/README: New. Document grub.d directory layout.
28347
b06a264d 283482007-05-01 Robert Millan <rmh@aybabtu.com>
28349
28350 * util/grub-emu.c: Move initialization functions
28351 grub_util_biosdisk_init() and grub_init_all() before
28352 grub_util_biosdisk_get_grub_dev(), which relies on them.
28353
41f0050e 283542007-04-19 Robert Millan <rmh@aybabtu.com>
28355
28356 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
28357 it is used later.
28358
04582bb3 283592007-04-18 Jerone Young <jerone@gmail.com>
28360
f19dbdb7 28361 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 28362 stanza.
28363
08db4632 283642007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 28365
08db4632 28366 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
28367 continue on and look for device node with real device name.
28368
801b76be 283692007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 28370
fe6b695a 28371 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 28372 ability.
28373 * Makefile.in: Add autoconf package transformation code.
28374 * util/i386/pc/grub-install.in: Likewise.
28375 * util/powerpc/ieee1275/grub-install.in: Likewise.
28376
6795c4e1 283772007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
28378
28379 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
28380 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
28381 (EXT2_REVISION): Likewise.
28382 (EXT2_INODE_SIZE): Likewise.
28383 (struct grub_ext2_block_group): Added a missing member
28384 "used_dirs".
28385 (grub_ext2_read_inode): Divide by the inode size in a superblock
28386 instead of 128 to obtain INODES_PER_BLOCK.
28387 Use the macro EXT2_INODE_SIZE instead of directly using
28388 SBLOCK->INODE_SIZE.
28389
d70af616 283902007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
28391
28392 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
28393 superblock instead of the structure size to compute an
28394 offset. This fixes the problem that GRUB could not read a
28395 filesystem when inode size is different from 128-byte.
28396
3b801603 283972007-03-05 Marco Gerards <marco@gnu.org>
28398
28399 * normal/main.c (read_config_file): When "menu" is not set, create
28400 an initial context.
28401
4785bfe4 284022007-02-21 Hollis Blanchard <hollis@penguinppc.org>
28403
28404 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
28405 (HEAP_LIMIT): New macro.
28406 (grub_claim_heap): Claim memory up to `heaplimit'.
28407
a0cbb023 284082007-02-21 Hollis Blanchard <hollis@penguinppc.org>
28409
28410 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
28411 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
28412 (_start): Likewise.
28413 (grub_arch_modules_addr): Return address after `_end'.
28414 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
28415 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
28416 (add_segments): Calculate `_end' from phdr size and location.
28417 (ALIGN_UP): Moved to ...
28418 * include/grub/misc.h: here.
28419 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
28420 New macro.
28421 (GRUB_IEEE1275_MODULE_BASE): Removed.
28422
fd7d8eba 284232007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28424
28425 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
28426 loop boundary.
28427
9b09e6fc 284282007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28429
28430 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
28431 All users updated.
28432 (grub_elf64_load_hook_t): Likewise.
28433 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
28434 debug output.
28435
3ce27299 284362007-02-20 Hollis Blanchard <hollis@penguinppc.org>
28437
28438 * kern/mm.c: Update copyright.
28439 (grub_mm_debug): Correct syntax error.
28440 (grub_mm_dump_free): New function.
28441 (grub_debug_free): Call `grub_free'.
28442 * include/grub/mm.h: Update copyright.
28443 (grub_mm_dump_free): Add declaration.
28444
077d5fee 284452007-02-12 Hollis Blanchard <hollis@penguinppc.org>
28446
28447 * include/grub/ieee1275/ieee1275.h: Update copyright.
28448 * kern/powerpc/ieee1275/init.c: Likewise.
28449 * kern/powerpc/ieee1275/openfw.c: Likewise.
28450
28451 * loader/powerpc/ieee1275/linux.c: Likewise.
28452 * include/grub/elfload.h: Likewise.
28453 * kern/elf.c: Likewise.
28454 (grub_elf32_load): Pass `base' and `size' parameters. Update all
28455 callers.
28456 (grub_elf64_load): Likewise.
28457 (grub_elf32_load_segment): Move to a nested function.
28458 (grub_elf64_load_segment): Likewise.
28459
dc946850 284602007-02-12 Hollis Blanchard <hollis@penguinppc.org>
28461
28462 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
28463 prototype.
28464 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
28465 (grub_heap_len): Likewise.
28466 (HEAP_SIZE): New macro.
28467 (grub_claim_heap): New function.
28468 (grub_machine_init): Don't claim heap directly. Call
28469 `grub_claim_heap'.
28470 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
28471 (grub_available_iterate): New function.
28472
baa2a121 284732007-02-03 Thomas Schwinge <tschwinge@gnu.org>
28474
28475 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
28476 * configure.ac: Use it for testing the HOST and TARGET compilers.
28477
4fe9862e 284782006-12-13 Thomas Schwinge <tschwinge@gnu.org>
28479
28480 * Makefile.in (enable_grub_emu): New variable.
28481 * configure.ac (--enable-grub-emu): New option.
28482 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
28483 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
28484 * conf/i386-pc.rmk: Likewise.
28485 * conf/powerpc-ieee1275.rmk: Likewise.
28486 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
28487
a8aa5762 284882006-12-12 Marco Gerards <marco@gnu.org>
28489
28490 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
28491
28492 * kern/env.c (grub_env_unset): Don't free the member `value' when
28493 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
28494 pointer.
28495
28496 * normal/main.c (current_menu): Removed.
28497 (free_menu): Unset the `menu' environment variable.
28498 (grub_normal_menu_addentry): Make use of the environment variable
28499 `menu', instead of using the global `current_menu'. Allocate
28500 memory for the sourcecode of this entry.
28501 (read_config_file): New argument `nested', changed all callers.
28502 Only in the case of a new context, initialize a new menu. Set the
28503 `menu' environment variable.
28504 (grub_normal_execute): Don't set and unset the environment
28505 variable `menu' here anymore. Only free the menu when leaving the
28506 context.
28507
28508 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
28509 leak.
28510
957b3a3e 285112006-12-11 Marco Gerards <marco@gnu.org>
28512
28513 * normal/menu_entry.c (run): Fix off by one bug so the last line
28514 is executed. Move the loader check to outside the loop.
28515
ef875714 285162006-12-08 Hollis Blanchard <hollis@penguinppc.org>
28517
28518 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
28519
4e739985 285202006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
28521
28522 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
28523 the number of sectors. Reported by Andrey Shuvikov
28524 <mr_hyro@yahoo.com>.
f19dbdb7 28525
790707f2 285262006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
28527
28528 * kern/disk.c (grub_disk_read): When there is a read error, always
28529 try to read only the necessary data.
f19dbdb7 28530
790707f2 28531 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
28532 disk/raid.c.
28533 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
28534 prototype.
28535 [GRUB_UTIL] (grub_raid_fini): Likewise.
28536 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 28537 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 28538 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
28539 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
28540 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
28541 and grub_raid_fini().
f19dbdb7 28542
03e58196 285432006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
28544
28545 * include/grub/types.h (__unused): Rename to UNUSED.
28546 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
28547 (grub_elf64_size): Likewise.
f19dbdb7 28548
ae4f23bf 285492006-11-03 Hollis Blanchard <hollis@penguinppc.org>
28550
28551 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
28552 grub_error_push and grub_error_pop in the error-handling path.
28553 (grub_elf32_load_segment): Only call grub_file_read with non-zero
28554 length.
28555
2166cc83 285562006-11-03 Hollis Blanchard <hollis@penguinppc.org>
28557
28558 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
28559 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28560 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28561 (kernel_elf_SOURCES): Likewise.
28562 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
28563 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
28564 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
28565 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
28566 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
28567 (elf_mod_SOURCES): New variable.
28568 (elf_mod_CFLAGS): Likewise.
28569 (elf_mod_LDFLAGS): Likewise.
28570 * include/grub/types.h (__unused): New macro.
28571 * include/grub/elfload.h: New file.
28572 * kern/elf.c: Likewise.
28573 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
28574 (ELF32_LOADMASK): New macro.
28575 (ELF64_LOADMASK): Likewise.
28576 (vmlinux): Removed.
28577 (grub_linux_load32): New function.
28578 (grub_linux_load64): Likewise.
28579 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
28580 Use grub_elf_t instead of grub_file_t.
28581
a09d5aa5 285822006-11-02 Hollis Blanchard <hollis@penguinppc.org>
28583
28584 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
28585 `catch_result' to struct set_color_args.
28586
d976fc51 285872006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
28588
28589 * normal/menu.c: Include grub/script.h.
28590 * normal/menu_entry.c: Likewise.
28591 * include/grub/normal.h: Do not include grub/script.h.
28592
67507549 285932006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28594
28595 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
28596
69203a99 285972006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28598
28599 * kern/disk.c (grub_disk_open): Print debug messages when opening a
28600 disk.
28601 (grub_disk_close): Print debug messages when closing a disk.
28602 (grub_disk_read): Print debug messages when disk read fails.
28603 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
28604 filesystem type.
28605 * kern/partition.c: Include misc.h.
28606 (grub_partition_iterate): Print debug messages when detecting
28607 partition type.
28608
e2b8278c 286092006-10-27 Hollis Blanchard <hollis@penguinppc.org>
28610
28611 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
28612 is negative.
28613 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
28614
97b2f2ff 286152006-10-26 Hollis Blanchard <hollis@penguinppc.org>
28616
28617 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
28618 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
28619
6555d655 286202006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
28621
28622 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
28623 instead of sizeof(lv). Patch by Michael Guntsche.
28624
4d42b77f 286252006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
28626
28627 * disk/lvm.c: Rename VGS to VG_LIST.
28628 (grub_lvm_iterate): Change VGS->LV to VG-LV.
28629 (grub_lvm_open): Likewise.
28630 Thanks to Michael Guntsche for finding this bug.
28631
5d74d927 286322006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
28633
28634 * configure.ac (AC_INIT): Bumped to 1.95.
28635
a1bb27e4 286362006-10-14 Robert Millan <rmh@aybabtu.com>
28637
28638 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
28639 with "/dev/.static/dev/md".
28640
e0994b8b 286412006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
28642
28643 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
28644 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
28645 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
28646 DRIVE_NAME are always freed.
28647
28648 * util/i386/pc/biosdisk.c (make_device_name): Add one into
28649 DOS_PART, as a DOS partition is counted from one instead of zero
28650 now. Reported by Robert Millan.
28651
ddd5cee9 286522006-10-14 Robert Millan <rmh@aybabtu.com>
28653
28654 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
28655 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
28656 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
28657 string returned by grub_guess_root_device.
28658 * util/i386/pc/grub-setup.c: Likewise.
28659 * util/i386/pc/grub-probefs.c: Likewise.
28660
28661 * util/i386/pc/grub-probefs.c: Rename to ...
28662 * util/i386/pc/grub-probe.c: ... this.
28663 * DISTLIST: Remove grub-probefs, add grub-probe.
28664 * conf/i386-efi.rmk: Likewise.
28665 * conf/i386-pc.rmk: Likewise.
28666 * util/i386/pc/grub-install.in: Likewise.
28667
28668 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
28669 choose which information we want to print.
28670
2b002173 286712006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
28672
28673 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
28674 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
28675 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
28676 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
28677 video/readers/tga.c and video/i386/pc/vbeutil.c.
28678
286792006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
28680
28681 Added support for RAID and LVM.
f19dbdb7 28682
2b002173 28683 * disk/lvm.c: New file.
28684 * disk/raid.c: Likewise.
28685 * include/grub/lvm.h: Likewise.
f19dbdb7 28686 * include/grub/raid.h: Likewise.
2b002173 28687 * include/grub/util/lvm.h: Likewise.
28688 * include/grub/util/raid.h: Likewise.
28689 * util/lvm.c: Likewise.
28690 * util/raid.c: Likewise.
28691
28692 * include/grub/disk.h (grub_disk_dev_id): Add
28693 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
28694 (grub_disk_get_size): New prototype.
28695 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
28696 returns a partition.
28697 (grub_disk_get_size): New function.
f19dbdb7 28698
2b002173 28699 * kern/i386/pc/init.c (make_install_device): Copy the prefix
28700 verbatim if grub_install_dos_part is -2.
28701
28702 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
28703 and LVM devices.
28704
28705 * util/i386/pc/grub-setup.c (setup): New argument
28706 MUST_EMBED. Force embedding of GRUB when the argument is
28707 true. Close FILE before returning.
28708 (main): Add support for RAID and LVM.
f19dbdb7 28709
2b002173 28710 * conf/common.rmk: Add RAID and LVM modules.
28711 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
28712 util/lvm.c.
28713 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
28714
28715 * kern/misc.c (grub_strstr): New function.
28716 * include/grub/misc.h (grub_strstr): New prototype.
28717
050548d0 287182006-10-10 Tristan Gingold <tristan.gingold@bull.net>
28719
28720 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
28721
da849d2d 287222006-10-05 Tristan Gingold <tristan.gingold@bull.net>
28723
28724 * kern/misc.c (grub_strtoull): Guess the base only if not
28725 specified.
28726
97b2f2ff 287272006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 28728
28729 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
28730 PowerMac support.
28731
97b2f2ff 287322006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 28733
28734 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
28735
28736 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
28737 Remove `flags' argument. All callers changed.
28738 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
28739 (IEEE1275_IHANDLE_INVALID): New variable.
28740 (IEEE1275_CELL_INVALID): New variable.
28741 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
28742 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
28743 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
28744 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
28745 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
28746 codes from Open Firmware. All callers updated.
28747 (grub_ieee1275_next_property): Directly return Open Firmware return
28748 code.
28749 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
28750 Standardize error checking from `grub_ieee1275_get_property'.
28751 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
28752 `devalias' to `aliases'. Correct comments. Consolidate error paths.
28753
97b2f2ff 287542006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 28755
28756 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
28757 `instance_to_package_args' to `instance_to_path_args'.
28758
28759 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
28760 `grub_ieee1275_chosen'.
28761
28762 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
28763 `grub_ieee1275_interpret'.
28764
97b2f2ff 287652006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 28766
28767 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
28768
97b2f2ff 287692006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 28770
28771 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
28772 (__cmpdi): Likewise.
28773
28774 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
28775 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
28776 `grub_ssize_t'.
28777
02bb8acc 28778 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 28779
28780 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
28781 to type `grub_ssize_t'.
28782 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
28783
7f9a8531 287842006-09-22 Marco Gerards <marco@gnu.org>
28785
28786 * normal/script.c (grub_script_create_cmdmenu): Skip leading
28787 newlines.
28788
b5ef1102 287892006-09-22 Marco Gerards <marco@gnu.org>
28790
28791 * commands/echo.c: New file.
28792
28793 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
28794
28795 * conf/common.rmk (echo_mod_SOURCES): New variable.
28796 (echo_mod_CFLAGS): Likewise.
28797 (echo_mod_LDFLAGS): Likewise.
28798
2cff3677 287992006-09-22 Marco Gerards <marco@gnu.org>
28800
28801 * normal/main.c (get_line): Malloc memory instead of using
28802 preallocated memory. Removed the arguments `cmdline' and
28803 `max_len'. Updated all callers.
28804
6ba4688b 288052006-09-22 Marco Gerards <marco@gnu.org>
28806
28807 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
28808 (normal_mod_DEPENDENCIES): Likewise.
28809
28810 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
28811 (normal_mod_DEPENDENCIES): Likewise.
28812
28813 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
28814
e02ac02c 288152006-09-22 Johan Rydberg <jrydberg@gnu.org>
28816
28817 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
28818 programs.
28819 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
28820 (normal_mod_DEPENDENCIES): Likewise.
28821 * conf/i386-pc.mk: Regenerate.
28822 * conf/i386-efi.mk: Likewise
28823 * conf/common.mk: Likewise.
28824 * conf/powerpc-ieee1275.mk: Likewise.
28825 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 28826
8d252e44 288272006-09-22 Robert Millan <rmh@aybabtu.com>
28828
28829 Sync with i386 version.
28830 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
28831 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
28832
209bf7ac 288332006-09-21 Robert Millan <rmh@aybabtu.com>
28834
28835 Import from GRUB Legacy (lib/device.c):
28836 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
28837 (init_device_map) [__linux__]: Add support for I2O devices.
28838
6b146090 288392006-09-14 Marco Gerards <marco@gnu.org>
28840
28841 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
28842 `-melf_i386'.
28843
e38600a8 288442006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 28845
28846 * util/i386/pc/grub-install.in: Skip menu.lst when removing
28847 /boot/grub/*.lst.
78fa1790 28848
2952da5d 28849 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 28850
2952da5d 28851 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
28852 before adding it to device.map.
28853
01b82a64 288542006-08-15 Johan Rydberg <jrydberg@gnu.org>
28855
fe6b695a 28856 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 28857 compiles a file; using the -MD option.
28858 * conf/common.mk: Regenerate.
28859 * conf/i386-pc.mk: Likewise.
28860 * conf/i386-efi.mk: Likewise.
28861 * conf/powerpc-ieee1275.mk: Likewise.
28862 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 28863
1064790d 288642006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
28865
28866 Move the prototypes of grub_setjmp and grub_longjmp to
28867 cpu/setjmp.h, so that each architecture may specify different
28868 attributes.
f19dbdb7 28869
1064790d 28870 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
28871 (grub_longjmp): Likewise.
28872 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
28873 (grub_longjmp): Likewise.
28874 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
28875 (grub_longjmp): Likewise.
28876
28877 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
28878 [!GRUB_UTIL] (grub_longjmp): Removed.
28879
29dda3ed 288802006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
28881
28882 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
28883 "color!" method does not return any value.
28884
ad2a06ed 288852006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28886
28887 * include/grub/bitmap.h: New file.
28888
28889 * include/grub/i386/pc/vbeutil.h: Likewise.
28890
28891 * video/bitmap.c: Likewise.
28892
28893 * video/readers/tga.c: Likewise.
28894
28895 * video/i386/pc/vbeutil.c: Likewise.
28896
28897 * commands/videotest.c: Code cleanup and updated to reflect to new
28898 video API.
28899
28900 * term/gfxterm.c: Likewise.
28901
28902 * video/video.c: Likewise.
28903
28904 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
28905 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
28906 (bitmap_mod_SOURCES): New entry.
28907 (bitmap_mod_CFLAGS): Likewise.
28908 (bitmap_mod_LDFLAGS): Likewise.
28909 (tga_mod_SOURCES): Likewise.
28910 (tga_mod_CFLAGS): Likewise.
28911 (tga_mod_LDFLAGS): Likewise.
28912
28913 * include/grub/video.h (grub_video_blit_operators): New enum type.
28914 (grub_video_render_target): Changed as forward declaration and moved
28915 actual definition to be video driver specific.
28916 (grub_video_adapter.blit_bitmap): Added blitting operator.
28917 (grub_video_adapter.blit_render_target): Likewise.
28918 (grub_video_blit_bitmap): Likewise.
28919 (grub_video_blit_render_target): Likewise.
28920
28921 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
28922 driver specific render target definition.
28923 (grub_video_vbe_map_rgba): Added driver internal helper.
28924 (grub_video_vbe_unmap_color): Updated to use
28925 grub_video_i386_vbeblit_info.
28926 (grub_video_vbe_get_video_ptr): Likewise.
28927
28928 * include/grub/i386/pc/vbeblit.h
28929 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
28930 grub_video_i386_vbeblit_info.
28931 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
28932 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
28933 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
28934 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
28935 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
28936 (grub_video_i386_vbeblit_index_index): Likewise.
28937 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
28938 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
28939 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
28940 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
28941 operator.
28942 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
28943 operator.
28944
28945 * video/i386/pc/vbeblit.c: Updated to reflect changes on
28946 include/grub/i386/pc/vbeblit.h.
28947
28948 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
28949 Updated to use grub_video_i386_vbeblit_info.
28950 (grub_video_i386_vbefill_R8G8B8): Likewise.
28951 (grub_video_i386_vbefill_index): Likewise.
28952 (grub_video_i386_vbefill): Added generic filler.
28953
28954 * video/i386/pc/vbefill.c: Updated to reflect changes on
28955 include/grub/i386/pc/vbefill.h.
28956
28957 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
28958 grub_video_i386_vbeblit_info.
28959 (grub_video_vbe_unmap_color): Likewise.
28960 (grub_video_vbe_blit_glyph): Likewise.
28961 (grub_video_vbe_scroll): Likewise.
28962 (grub_video_vbe_draw_pixel): Removed function.
28963 (grub_video_vbe_get_pixel): Likewise.
28964 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
28965 updated code to use it.
28966 (common_blitter): Added common blitter for render target and bitmap.
28967 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
28968 (grub_video_vbe_blit_render_target): Likewise.
28969
bc8c036d 289702006-07-30 Johan Rydberg <jrydberg@gnu.org>
28971
28972 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
28973 is in text mode if there is no console control protocol instance
28974 available.
28975
684a8eff 289762006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28977
28978 * include/grub/video.h: Code cleanup.
28979
28980 * include/grub/i386/pc/vbe.h: Likewise.
28981
28982 * video/i386/pc/vbe.c: Likewise.
28983
28984 * video/i386/pc/vbeblit.c: Likewise.
28985
28986 * video/i386/pc/vbefill.c: Likewise.
28987
28988 * video/video.c: Likewise. Also added more comments.
28989
5915059b 289902006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
28991
28992 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
28993 (struct grub_biosdisk_dap): Likewise.
28994
28995 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
28996 linkage settings for all functions.
28997
90ce5d56 289982006-07-12 Marco Gerards <marco@gnu.org>
28999
29000 * configure.ac (--enable-mm-debug): Fix typo.
29001
29002 * genkernsyms.sh.in: Use proper quoting for `CC'.
29003
43e7f879 290042006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
29005
29006 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
29007 (normal_mod_ASFLAGS): Remove "-m32".
29008
4889bdec 290092006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
29010
29011 * util/misc.c: Include config.h.
29012 [!HAVE_MEMALIGN]: Do not include malloc.h.
29013 (grub_memalign): Use posix_memalign, if present. Then, use
29014 memalign, if present. Otherwise, emit an error.
29015
29016 * util/grub-emu.c: Do not include malloc.h.
29017
29018 * include/grub/util/misc.h: Include unistd.h. This is required for
29019 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
29020 D. Eades III <hde@foobar-qux.org>.
29021
29022 * configure.ac (AC_GNU_SOURCE): Added.
29023 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
29024 type.
29025
fd39d4da 290262006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
29027
29028 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
29029 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
29030
b786f3b5 290312006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
29032
29033 * include/grub/types.h (grub_host_addr_t): Rename to
29034 grub_target_addr_t.
29035 (grub_host_off_t): Rename to grub_target_off_t.
29036 (grub_host_size_t): Rename to grub_target_size_t.
29037 (grub_host_ssize_t): Rename to grub_target_ssize_t.
29038 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
29039
29040 * include/grub/kernel.h (struct grub_module_header): Change type
29041 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
29042 (grub_module_info): Likewise.
f19dbdb7 29043
051988bb 290442006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
29045
29046 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
29047 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
29048 Velazquez <jesus.velazquez@gmail.com>.
29049
deae281b 290502006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
29051
29052 Count partitions from 1 instead of 0 in the string representation
29053 of partitions. Still use 0-based internally.
f19dbdb7 29054
deae281b 29055 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
29056 (sun_partition_map_iterate): Use grub_partition_t instead of
29057 struct grub_partition *. Cast DESC->START_CYLINDER to
29058 grub_uint64_t after converting the endian.
29059 (sun_partition_map_probe): Subtract 1 for PARTNUM.
29060 (sun_partition_map_get_name): Add 1 to P->INDEX.
29061
29062 * partmap/pc.c (grub_partition_parse): Subtract 1 for
29063 PCDATA->DOS_PART.
29064 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
29065
29066 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
29067 zero instead of one.
29068 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
29069 (gpt_partition_map_get_name): Add 1 into P->INDEX.
29070
29071 * partmap/apple.c (apple_partition_map_iterate): Change the type
29072 of POS to unsigned.
29073 (apple_partition_map_probe): Subtract 1 for PARTNUM.
29074 (apple_partition_map_get_name): Add 1 into P->INDEX.
29075
29076 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
29077 of POS to unsigned.
29078 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
29079 calculate the offset of a partition.
29080 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
29081 (amiga_partition_map_get_name): Add 1 into P->INDEX.
29082
29083 * partmap/acorn.c (acorn_partition_map_find): Change the type of
29084 SECTOR to grub_disk_addr_t.
29085 (acorn_partition_map_iterate): Likewise.
29086 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
29087 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
29088 top.
29089 (acorn_partition_map_get_name): Add 1 into P->INDEX.
29090
29091 * kern/i386/pc/init.c (make_install_device): Add 1 into
29092 GRUB_INSTALL_DOS_PART.
29093
29094 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
29095 conditional.
29096
524a1e6a 290972006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
29098
29099 Clean up the code to support 64-bit addressing in disks and
29100 files. This change is not enough for filesystems yet.
f19dbdb7 29101
524a1e6a 29102 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
29103 type of "start" to grub_uint64_t.
29104 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
29105 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
29106 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
29107 convert addresses.
29108
29109 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
29110 to grub_disk_addr_t.
29111
29112 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
29113 string.
29114
29115 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29116
29117 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
29118 to char *.
29119
29120 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
29121
29122 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
29123
29124 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
29125
29126 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
29127 to grub_off_t, to detect an error from grub_file_seek.
29128 (grub_multiboot_load_elf32): Likewise.
29129
29130 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
29131 maximum unsigned long value when an overflow is detected.
29132 (grub_strtoull): New function.
29133 (grub_divmod64): Likewise.
29134 (grub_lltoa): use grub_divmod64.
29135
29136 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
29137 grub_disk_addr_t.
29138 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
29139 the pointer to next character. Use grub_strtoull instead of
29140 grub_strtoul.
29141 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
29142 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
29143 respectively.
29144
fe6b695a 29145 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 29146 return value is signed.
29147 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
29148 test if OFFSET is less than zero, as OFFSET is unsigned now.
29149
29150 * kern/disk.c (struct grub_disk_cache): Change the type of
29151 "sector" to grub_disk_addr_t.
29152 (grub_disk_cache_get_index): Change the type of SECTOR to
29153 grub_disk_addr_t. Calculate the hash with SECTOR casted to
29154 unsigned after shifting.
29155 (grub_disk_cache_invalidate): Change the type of SECTOR to
29156 grub_disk_addr_t.
29157 (grub_disk_cache_unlock): Likewise.
29158 (grub_disk_cache_store): Likewise.
29159 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
29160 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
29161 grub_disk_addr_t and grub_uint64_t, respectively.
29162 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
29163 body, as the value of OFFSET is tweaked by
29164 grub_disk_check_range. Change the types of START_SECTOR, LEN and
29165 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
29166 respectively.
29167 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
29168 body, as the value of OFFSET is tweaked by
29169 grub_disk_check_range. Change the types of LEN and N to
29170 grub_size_t.
29171
29172 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
29173 and "saved_offset" to grub_off_t.
29174 (test_header): Cast BUF to char *.
29175 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
29176 to char *.
29177 (grub_gzio_read): Change the types of OFFSET and SIZE to
29178 grub_off_t and grub_size_t, respectively.
29179
29180 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
29181 Removed.
29182 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
29183 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
29184 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
29185 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
29186 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
29187
29188 * include/grub/types.h (grub_off_t): Unconditionally set to
29189 grub_uint64_t.
29190 (grub_disk_addr_t): Changed to grub_uint64_t.
29191
29192 * include/grub/partition.h (struct grub_partition): Change the
29193 types of "start", "len" and "offset" to grub_disk_addr_t,
29194 grub_uint64_t and grub_disk_addr_t, respectively.
29195 (grub_partition_get_start): Return grub_disk_addr_t.
29196 (grub_partition_get_len): Return grub_uint64_t.
29197
29198 * include/grub/misc.h (grub_strtoull): New prototype.
29199 (grub_divmod64): Likewise.
29200
29201 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
29202 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
29203 grub_off_t, respectively.
29204 All callers and references changed.
29205
29206 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
29207 grub_size_t in "read".
29208 All callers and references changed.
29209
29210 * include/grub/file.h (struct grub_file): Change the types of
29211 "offset" and "size" to grub_off_t and grub_off_t,
29212 respectively. Change the type of SECTOR to grub_disk_addr_t in
29213 "read_hook".
29214 (grub_file_read): Change the type of LEN to grub_size_t.
29215 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
29216 grub_off_t.
29217 (grub_file_size): Return grub_off_t.
29218 (grub_file_tell): Likewise.
29219 All callers and references changed.
29220
29221 * include/grub/disk.h (struct grub_disk_dev): Change the types of
29222 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
29223 "write".
29224 (struct grub_disk): Change the type of "total_sectors" to
29225 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 29226 "read_hook".
524a1e6a 29227 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
29228 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
29229 (grub_disk_write): Likewise.
29230 All callers and references changed.
29231
29232 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
29233 char * for grub_strncmp to silence gcc.
29234 (grub_iso9660_mount): Likewise.
29235 (grub_iso9660_mount): Likewise.
29236 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
29237 return statement.
29238 (grub_iso9660_iterate_dir): Likewise.
29239 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
29240
29241 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
29242 LEN to grub_disk_addr_t and grub_size_t, respectively.
29243
29244 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
29245
29246 * fs/jfs.c (grub_jfs_read_file): Likewise.
29247
29248 * fs/minix.c (grub_jfs_read_file): Likewise.
29249
29250 * fs/sfs.c (grub_jfs_read_file): Likewise.
29251
29252 * fs/ufs.c (grub_jfs_read_file): Likewise.
29253
29254 * fs/xfs.c (grub_jfs_read_file): Likewise.
29255
29256 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
29257 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
29258 respectively.
29259
29260 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
29261 BLKNR to -1 instead of returning GRUB_ERRNO.
29262 (grub_ext2_read_file): Change the types of SECTOR and
29263 LEN to grub_disk_addr_t and grub_size_t, respectively.
29264
29265 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
29266 LEN to grub_disk_addr_t and grub_size_t, respectively.
29267
29268 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
29269 grub_file_read.
29270
29271 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
29272 string. Do not cast SECTOR explicitly.
29273
29274 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
29275 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
29276 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
29277 grub_disk_addr_t and grub_size_t, respectively. If the sector is
29278 over 2TB and LBA mode is not supported, raise an error.
29279 (get_safe_sectors): New function.
29280 (grub_biosdisk_read): Use get_safe_sectors.
29281 (grub_biosdisk_write): Likewise.
29282
29283 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
29284 (grub_efidisk_write): Likewise.
29285
29286 * disk/loopback.c (delete_loopback): Cosmetic changes.
29287 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
29288 correctly.
29289 (grub_loopback_open): Likewise.
29290 (grub_loopback_read): Likewise. Also, change the type of POS to
29291 grub_off_t, and fix the usage of grub_memset.
29292
29293 * commands/i386/pc/play.c: Include grub/machine/time.h.
29294
29295 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
29296 print FILE->SIZE.
29297
29298 * commands/configfile.c: Include grub/env.h.
29299
29300 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
29301 GRUB_ERRNO directly instead. Change the type of POS to
29302 grub_off_t. Follow the coding standard.
29303
29304 * commands/blocklist.c: Include grub/partition.h.
29305 (grub_cmd_blocklist): Return an error if the underlying device is
29306 not a disk. Take the starting sector of a partition into account,
29307 if a partition is used.
29308
29309 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
29310 a length field.
29311 (lba_mode): Support 64-bit addresses.
29312 (chs_mode): Likewise.
29313 (copy_buffer): Adapted to the new offsets of a length field and a
29314 segment field.
29315 (blocklist_default_start): Allocate 64-bit space.
29316
29317 * boot/i386/pc/boot.S (force_lba): Removed.
29318 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 29319 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 29320 space.
29321 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
29322 is useless.
29323 (lba_mode): Refactored to support a 64-bit address. More size
29324 optimization.
29325 (setup_sectors): Likewise.
29326
53af98ad 293272006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
29328
29329 * DISTLIST: Added include/grub/i386/linux.h. Removed
29330 include/grub/i386/pc/linux.h
29331
29332 * configure.ac (AC_INIT): Bumped to 1.94.
29333
29334 * config.guess: Updated from gnulib.
29335 * config.sub: Likewise.
29336 * install-sh: Likewise.
29337 * mkinstalldirs: Likewise.
29338
b4c1940a 293392006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
29340
29341 * conf/common.rmk (grub_modules_init.lst): Depended on
29342 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
29343 MODSRCFILES.
29344
29345 * genmk.rb (PModule::rule): Reverted the previous change.
29346
cfca1cfd 293472006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
29348
29349 * conf/common.rmk (grub_modules_init.lst): Depends on
29350 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
29351 that the target does not exist before producing.
29352 (grub_modules_init.h): Remove the target before generating.
29353 (grub_emu_init.c): Likewise.
29354
29355 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
29356
aa6d7826 293572006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
29358
29359 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
29360 for the target-specific tests. Make sure that we also have the
29361 up-to-date target variables for those tests.
29362
26c607b9 293632006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
29364
29365 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
29366 (PModule::rule): Likewise.
29367
0162321a 293682006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
29369
29370 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
29371 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
29372 target-specific flags should be prefixed.
29373 (PModule::rule): Likewise.
29374
6c826348 293752006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
29376
29377 * configure.ac (CMP): Check if cmp is available explicitly.
29378
b977bf01 293792006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
29380
29381 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
29382 (target_cpu): New variable.
29383 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 29384
b977bf01 29385 * util/i386/pc/grub-install.in (host_cpu): Removed.
29386 (target_cpu): New variable.
29387 (pkglibdir): Use target_cpu instead of host_cpu.
29388
29389 * util/genmoddep.c: Removed.
f19dbdb7 29390
b977bf01 29391 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
29392 instead of GRUB_HOST_SIZEOF_VOID_P.
29393 * kern/dl.c: Likewise.
29394
29395 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
29396 ...
29397 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29398 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29399 (GRUB_TARGET_SIZEOF_LONG): ... this.
29400 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29401 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29402 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
29403 to ...
29404 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29405 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29406 (GRUB_TARGET_SIZEOF_LONG): ... this.
29407 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29408 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29409 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
29410 to ...
29411 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
29412 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
29413 (GRUB_TARGET_SIZEOF_LONG): ... this.
29414 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
29415 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
29416
29417 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
29418 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
29419 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
29420 instead of GRUB_HOST_SIZEOF_LONG.
29421 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
29422 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
29423 GRUB_CPU_WORDS_BIGENDIAN.
29424 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
29425 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
29426 grub_host_ssize_t.
29427
29428 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
29429 (genmoddep_SOURCES): Likewise.
29430 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
29431 (genmoddep_SOURCES): Likewise.
29432 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
29433 (genmoddep_SOURCES): Likewise.
29434 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
29435 Likewise.
29436 (genmoddep_SOURCES): Likewise.
29437
29438 * genmoddep.awk: New file.
29439
29440 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
29441 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
29442 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
29443 (PModule::rule): Likewise.
29444 (Program::rule): Likewise.
29445 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
29446 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
29447 respectively.
29448
29449 * configure.ac: Rewritten intensively to use host and target
29450 instead of build and host, respectively.
29451
29452 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
29453 (host_cpu): Removed.
29454 (target_cpu): New variable.
29455 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
29456 (BUILD_CC): Removed.
29457 (BUILD_CFLAGS): Likewise.
29458 (BUILD_CPPFLAGS): Likewise.
29459 (TARGET_CC): New variable.
29460 (TARGET_CFLAGS): Likewise.
29461 (TARGET_CPPFLAGS): Likewise.
29462 (TARGET_LDFLAGS): Likewise.
29463 (AWK): Likewise.
29464 (include): Use target_cpu instead of host_cpu.
29465 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 29466
b977bf01 29467 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
29468
f09771a1 294692006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
29470
29471 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
29472 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
29473 field 'false' to 'exec_on_false'.
29474 (grub_script_create_cmdif): Renamed argument names to reflect above
29475 changes.
29476
29477 * normal/execute.c (grub_script_execute_cmdif): Likewise.
29478
29479 * normal/script.c (grub_script_create_cmdif): Likewise.
29480
118f4fb3 294812006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
29482
29483 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
29484 top.
29485 (grub_hfsplus_btree_recptr): Likewise.
29486 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
29487 FILEBLOCK both to pass a block number and store next block
29488 number.
29489 (grub_hfsplus_read_block): Rewritten heavily to support an extent
29490 overflow file correctly. Specify errors appropriately, because
29491 fshelp expects that GRUB_ERRNO is set when fails. Reuse
29492 grub_hfsplus_btree_recptr to get the pointer to a found key.
29493 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
29494 is found.
29495
29496 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
29497 linux.mod.
29498 (_linux_mod_SOURCES): New variable.
29499 (_linux_mod_CFLAGS): Likewise.
29500 (_linux_mod_LDFLAGS): Likewise.
29501 (linux_mod_SOURCES): Likewise.
29502 (linux_mod_CFLAGS): Likewise.
29503 (linux_mod_LDFLAGS): Likewise.
29504
29505 * DISTLIST: Added loader/i386/efi/linux.c,
29506 loader/i386/efi/linux_normal.c and
29507 include/grub/i386/efi/loader.h.
29508
29509 * loader/i386/efi/linux.c: New file.
29510 * loader/i386/efi/linux_normal.c: Likewise.
29511 * include/grub/i386/efi/loader.h: Likewise.
29512
89a7d726 295132006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
29514
29515 * commands/blocklist.c: New file.
29516
29517 * DISTLIST: Added commands/blocklist.c.
29518
29519 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 29520 color for the background, and a darker color for the foreground.
89a7d726 29521 (grub_console_checkkey): Return READ_KEY.
29522 (grub_console_cls): Set the background to
29523 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
29524
29525 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
29526
29527 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
29528 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
29529
29530 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
29531 prototype.
29532
29533 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
29534 BG. The spec is wrong again.
29535
29536 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
29537 prototype.
29538 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
29539
29540 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
29541 commands/blocklist.c.
29542 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 29543
89a7d726 29544 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
29545 (blocklist_mod_SOURCES): New variable.
29546 (blocklist_mod_CFLAGS): Likewise.
29547 (blocklist_mod_LDFLAGS): Likewise.
29548
75c8f258 295492006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
29550
29551 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
29552 duplication.
29553 (lba_mode): Use %eax more intensively to reduce the code size.
29554
da2eb181 295552006-05-20 Marco Gerards <marco@gnu.org>
29556
29557 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
29558
29559 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
29560 for `menuentry'.
29561 (script): Accept leading newlines.
29562 (newlines): New rule to describe 0 or more newlines.
29563 (commands): Accept `command' with trailing newline. Fixed the
29564 order in which arguments were passed to `grub_script_add_cmd'.
29565 Accept commands separated by newlines.
29566 (function): Changed to accept newlines.
29567 (menuentry) Rewritten.
29568
29569 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
29570 front of the list, instead of to the end.
29571
577b4050 295722006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
29573
29574 * util/i386/pc/grub-install.in (bindir): New variable.
29575 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
29576 Shaver <lbgwjl@gmail.com>.
29577
0d6e1189 295782006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
29579
29580 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
29581 grub/machine/linux.h
29582 * loader/i386/pc/linux.c: Likewise.
29583
29584 * include/grub/i386/pc/linux.h: Moved to ...
29585 * include/grub/i386/linux.h: ... here.
29586
29587 * include/grub/i386/linux.h (struct linux_kernel_params): New
29588 struct.
f19dbdb7 29589
31b86e9f 295902006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
29591
29592 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
29593 checking.
29594 (grub_video_vbe_blit_glyph): Likewise.
29595 (grub_video_vbe_blit_bitmap): Likewise.
29596 (grub_video_vbe_blit_render_target): Likewise.
29597
83b984de 295982006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
29599
29600 * configure.ac (--with-platform): Properly quote the square
29601 brackets.
29602
5f0413bd 296032006-05-08 Marco Gerards <marco@gnu.org>
29604
29605 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
29606 this...
29607 (kernel_elf_HEADERS): ...to this. Updated all users.
29608 (grubof_symlist.c): Renamed from this...
29609 (kernel_elf_symlist.c): ...to this. Updated all users.
29610 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
29611 (grubof_SOURCES): Renamed from this...
29612 (kernel_elf_SOURCES): ...to this.
29613 (grubof_HEADERS): Renamed from this...
29614 (kernel_elf_HEADERS): ...to this.
29615 (grubof_CFLAGS): Renamed from this...
29616 (kernel_elf_CFLAGS): ...to this.
29617 (grubof_ASFLAGS): Renamed from this...
29618 (kernel_elf_ASFLAGS): ...to this.
29619 (grubof_LDFLAGS): Renamed from this...
29620 (kernel_elf_LDFLAGS): ...to this.
29621
29622 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
29623 this...
29624 (kernel_elf_HEADERS): ...to this. Updated all users.
29625 (grubof_symlist.c): Renamed from this...
29626 (kernel_elf_symlist.c): ...to this. Updated all users.
29627 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
29628 (grubof_SOURCES): Renamed from this...
29629 (kernel_elf_SOURCES): ...to this.
29630 (grubof_HEADERS): Renamed from this...
29631 (kernel_elf_HEADERS): ...to this.
29632 (grubof_CFLAGS): Renamed from this...
29633 (kernel_elf_CFLAGS): ...to this.
29634 (grubof_ASFLAGS): Renamed from this...
29635 (kernel_elf_ASFLAGS): ...to this.
29636 (grubof_LDFLAGS): Renamed from this...
29637 (kernel_elf_LDFLAGS): ...to this.
29638
29639 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
29640 `kernel.elf' instead of `grubof'.
29641
05568c2e 296422006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
29643
29644 Add --with-platform to configure. Use pkglibdir instead of
29645 pkgdatadir. This is reported by Roger Leigh.
29646
29647 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
29648 (host_vendor): Likewise.
29649 (host_os): Likewise.
29650 (pkgdatadir): Likewise.
29651 (platform): New variable.
29652 (pkglibdir): Likewise.
29653 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 29654
05568c2e 29655 * util/i386/pc/grub-install.in (datadir): Removed.
29656 (host_vendor): Likewise.
29657 (host_os): Likewise.
29658 (pkgdatadir): Likewise.
29659 (platform): New variable.
29660 (pkglibdir): Likewise.
29661 Use PKGLIBDIR instead of PKGDATADIR.
29662
29663 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
29664 instead of GRUB_DATADIR.
29665 (main): Likewise.
29666 * util/i386/pc/grub-mkimage.c (usage): Likewise.
29667 (main): Likewise.
29668 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29669 (main): Likewise.
29670
29671 * configure.ac (--with-platform): New option.
29672 Use PLATFORM instead of HOST_VENDOR to specify a platform.
29673
29674 * Makefile.in: Include a makefile based on PLATFORM instead of
29675 HOST_VENDOR.
29676 (pkgdatadir): Not appended by the machine type.
29677 (pkglibdir): Appended by the machine type.
29678 (host_vendor): Removed.
29679 (platform): New variable.
29680 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
29681 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
29682 (uninstall): Likewise.
29683
4e93851c 296842006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
29685
29686 Use the environment context in the menu. Remove the commands
29687 "default" and "timeout", and use variables instead.
f19dbdb7 29688
4e93851c 29689 * normal/menu.c: Include grub/env.h.
29690 (print_entry): Cast TITLE to silence gcc.
29691 (get_timeout): New function.
29692 (set_timeout): Likewise.
29693 (get_entry_number): Likewise.
29694 (run_menu): Use a default entry, a fallback entry and a timeout
29695 in the environment variables "default", "fallback" and
29696 "timeout". Also, tweak the default entry if it is not within the
29697 current menu entries.
29698 (grub_menu_run): Use a fallback entry in the environment variable
29699 "fallback".
29700
29701 * normal/main.c (read_config_file): Do not initialize
29702 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
29703 NEWMENU->TIMEOUT.
29704 (grub_normal_execute): Use a data slot to store the menu.
29705
29706 * include/grub/normal.h (struct grub_menu): Removed default_entry,
29707 fallback_entry and timeout.
29708 (struct grub_menu_list): Removed.
29709 (grub_menu_list_t): Likewise.
29710 (struct grub_context): Likewise.
29711 (grub_context_t): Likewise.
29712 (grub_context_get): Likewise.
29713 (grub_context_get_current_menu): Likewise.
29714 (grub_context_push_menu): Likewise.
29715 (grub_context_pop_menu): Likewise.
29716 (grub_default_init): Likewise.
29717 (grub_default_fini): Likewise.
29718 (grub_timeout_init): Likewise.
29719 (grub_timeout_fini): Likewise.
29720
29721 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
29722 and timeout.mod.
29723 (normal_mod_SOURCES): Removed normal/context.c.
29724
29725 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
29726 commands/default.c, commands/timeout.c and normal/context.c.
29727 (normal_mod_SOURCES): Removed normal/context.c.
29728
29729 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
29730 commands/timeout.c and normal/context.c.
29731 (normal_mod_SOURCES): Removed normal/context.c.
29732
29733 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
29734 commands/default.c, commands/timeout.c and normal/context.c.
29735 (normal_mod_SOURCES): Removed normal/context.c.
29736
29737 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
29738 timeout.mod.
29739 (default_mod_SOURCES): Removed.
29740 (default_mod_CFLAGS): Likewise.
29741 (default_mod_LDFLAGS): Likewise.
29742 (timeout_mod_SOURCES): Removed.
29743 (timeout_mod_CFLAGS): Likewise.
29744 (timeout_mod_LDFLAGS): Likewise.
29745
29746 * DISTLIST: Removed commands/default.c, commands/timeout.c and
29747 normal/context.c.
29748
29749 * commands/default.c: Removed.
29750 * commands/timeout.c: Likewise.
29751 * normal/context.c: Likewise.
29752
1eb9cc1d 297532006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
29754
29755 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
29756
385bd9c1 297572006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
29758
29759 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
29760 "next" to "prev" for readability.
29761 (struct grub_env_sorted_var): New struct.
29762 (grub_env_context): Renamed to ...
29763 (initial_context): ... this.
29764 (grub_env_var_context): Renamed to ...
29765 (current_context): ... this.
29766 (grub_env_find): Look only at CURRENT_CONTEXT.
29767 (grub_env_context_open): Rewritten to copy exported variables from
29768 previous context.
29769 (grub_env_context_close): Rewritten according to the new
29770 scheme. Also, add an assertion to prevent the initial context from
29771 removed.
29772 (grub_env_insert): Removed the code for the sorted list.
29773 (grub_env_remove): Likewise.
29774 (grub_env_export): Simply mark the variable with
29775 GRUB_ENV_VAR_GLOBAL.
29776 (grub_env_set): A cosmetic change for naming consistency.
29777 (grub_env_get): Likewise.
29778 (grub_env_unset): Likewise.
29779 (grub_env_iterate): Rewritten to sort variables within this
29780 function.
29781 (grub_register_variable_hook): Fixed for naming consistency. Call
29782 grub_env_find again, only if NAME is not found at the first time.
29783 (mangle_data_slot_name): New function.
29784 (grub_env_set_data_slot): Likewise.
29785 (grub_env_get_data_slot): Likewise.
29786 (grub_env_unset_data_slot): Likewise.
29787
29788 * include/grub/env.h (grub_env_var_type): New enum.
29789 (GRUB_ENV_VAR_LOCAL): New constant.
29790 (GRUB_ENV_VAR_GLOBAL): Likewise.
29791 (GRUB_ENV_VAR_DATA): Likewise.
29792 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
29793 "type".
29794 (grub_env_set): Replace VAR with NAME for consistency.
29795 (grub_register_variable_hook): Likewise.
29796 (grub_env_export): Specify the name of the argument.
29797 (grub_env_set_data_slot): New prototype.
29798 (grub_env_get_data_slot): Likewise.
29799 (grub_env_unset_data_slot): Likewise.
29800
7f362539 298012006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
29802
29803 Extend the loader so that GRUB can accept a loader which comes
29804 back to GRUB when a loaded image exits. Also, this change adds
29805 support for a chainloader on EFI.
f19dbdb7 29806
7f362539 29807 * term/efi/console.c: Include grub/misc.h.
29808 (grub_console_checkkey): Display a scan code on the top for
29809 debugging. This will be removed once the EFI port gets stable.
29810 Correct the scan code mapping.
29811
29812 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
29813 allocate memory from larger regions, in order to reduce the number
29814 of allocated regions. Otherwise, the MacOSX loader panics.
29815 (filter_memory_map): Avoid less than 1MB for compatibility with
29816 other loaders.
29817 (add_memory_regions): Allocate from the tail of a region, if
29818 possible, to avoid allocating a region near to 1MB, for the MacOSX
29819 loader.
29820
29821 * kern/efi/init.c (grub_efi_set_prefix): Specify
29822 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
29823
29824 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
29825 argument IMAGE_HANDLE and specify it to get a loaded image.
29826 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
29827 grub_efi_get_loaded_image.
fe6b695a 29828 (grub_efi_get_filename): Divide the length by the size of
7f362539 29829 grub_efi_char16_t.
29830 (grub_efi_get_device_path): New function.
29831 (grub_efi_print_device_path): Print End Device Path nodes. Divide
29832 the length by the size of grub_efi_char16_t for a file path device
29833 path node.
29834
29835 * kern/loader.c (grub_loader_noreturn): New variable.
29836 (grub_loader_set): Accept a new argument NORETURN. Set
29837 GRUB_LOADER_NORETURN to NORETURN.
29838 All callers changed.
29839 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
29840 grub_machine_fini.
29841
29842 * include/grub/efi/efi.h (grub_efi_get_device_path): New
29843 prototype.
29844 (grub_efi_get_loaded_image): Take an argument to specify an image
29845 handle.
29846
29847 * include/grub/loader.h (grub_loader_set): Added one more argument
29848 NORETURN.
29849
29850 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
29851 instead of grub_efi_open_protocol.
29852 (grub_efidisk_get_device_name): Likewise.
29853 (grub_efidisk_close): Print a newline.
29854 (grub_efidisk_get_device_handle): Fixed to use
29855 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
29856 GRUB_EFI_DEVICE_PATH_TYPE.
29857
29858 * disk/efi/efidisk.c (device_path_guid): Moved to ...
29859 * kern/efi/efi.c (device_path_guid): ... here.
29860
29861 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
29862 chain.mod.
29863 (kernel_mod_HEADERS): Added efi/disk.h.
29864 (_chain_mod_SOURCES): New variable.
29865 (_chain_mod_CFLAGS): Likewise.
29866 (_chain_mod_LDFLAGS): Likewise.
29867 (chain_mod_SOURCES): Likewise.
29868 (chain_mod_CFLAGS): Likewise.
29869 (chain_mod_LDFLAGS): Likewise.
29870
29871 * DISTLIST: Added include/grub/efi/chainloader.h,
29872 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
29873
29874 * include/grub/efi/chainloader.h: New file.
29875 * loader/efi/chainloader.c: Likewise.
29876 * loader/efi/chainloader_normal.c: Likewise.
29877
c0111d6e 298782006-04-30 Marco Gerards <marco@gnu.org>
29879
29880 * commands/configfile.c (grub_cmd_source): New function.
29881 (GRUB_MOD_INIT): Register the commands `source' and `.'.
29882 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
29883
df5341da 298842006-04-30 Marco Gerards <marco@gnu.org>
29885
29886 * normal/execute.c (grub_script_execute_cmd): Change the return
29887 type to `grub_err_t'. Correctly return the error.
29888 (grub_script_execute_cmdline): In case a command line is not a
29889 command or a function, try to interpret it as an assignment.
29890
f85934bd 298912006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
29892
29893 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
29894 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
29895 skip a node whose name is obviously invalid as UTF-16,
29896 i.e. contains a NUL character. Stop the iteration when the last
29897 directory entry is found. Instead of using the return value of
29898 grub_hfsplus_btree_iterate_node, store the value in RET and use
29899 it, because the iterator can be stopped by the last directory
29900 entry.
29901
8f8a2cf8 299022006-04-30 Marco Gerards <marco@gnu.org>
29903
29904 * include/grub/env.h (grub_env_export): New prototype. Reported
29905 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
29906
a27e84ce 299072006-04-30 Marco Gerards <marco@gnu.org>
29908
29909 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
29910 size of the extents in a catalog file record.
29911
eaef0553 299122006-04-29 Marco Gerards <marco@gnu.org>
29913
29914 * commands/configfile.c (grub_cmd_configfile): Execute the
29915 configfile within its own context.
29916
29917 * include/grub/env.h (grub_env_context_open): New prototype.
29918 (grub_env_context_close): Likewise.
29919
29920 * kern/env.c (grub_env): Removed.
29921 (grub_env_sorted): Likewise.
29922 (grub_env_context): New variable.
29923 (grub_env_var_context): Likewise.
29924 (grub_env_find): Search both the active context and the global
29925 context.
29926 (grub_env_context_open): New function.
29927 (grub_env_context_close): Likewise.
29928 (grub_env_insert): Likewise.
29929 (grub_env_remove): Likewise.
29930 (grub_env_export): Likewise.
29931 (grub_env_set): Changed to use helper functions to avoid code
29932 duplication.
29933 (grub_env_iterate): Rewritten so both the current context and the
29934 global context are being used.
29935
29936 * normal/command.c (export_command): New function.
29937 (grub_command_init): Register the `export' function.
29938
7b455f4d 299392006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
29940
29941 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
29942 explicitly to suppress gcc's warnings.
29943 * fs/fat.c (grub_fat_find_dir): Likewise.
29944 (grub_fat_label): Likewise.
29945 * fs/xfs.c (grub_xfs_read_inode): Likewise.
29946 (grub_xfs_mount): Likewise.
29947 (grub_xfs_label): Likewise.
29948 * fs/affs.c (grub_affs_mount): Likewise.
29949 (grub_affs_label): Likewise.
29950 (grub_affs_iterate_dir): Likewise.
29951 * fs/sfs.c (grub_sfs_mount): Likewise.
29952 (grub_sfs_iterate_dir): Likewise.
29953 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
29954 * fs/hfs.c (grub_hfs_mount): Likewise.
29955 (grub_hfs_cmp_catkeys): Likewise.
29956 (grub_hfs_find_dir): Likewise.
29957 (grub_hfs_dir): Likewise.
29958 (grub_hfs_label): Likewise.
29959 * fs/jfs.c (grub_jfs_mount): Likewise.
29960 (grub_jfs_opendir): Likewise.
29961 (grub_jfs_getent): Likewise.
29962 (grub_jfs_lookup_symlink): Likewise.
29963 (grub_jfs_label): Likewise.
29964 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
29965 (grub_hfsplus_iterate_dir): Likewise.
29966 (grub_hfsplus_btree_iterate_node): Made static.
29967
29968 * util/grub-emu.c (prefix): New variable.
29969 (grub_machine_set_prefix): New function.
29970 (main): Do not set the environment variable "prefix" here. Only
29971 set PREFIX, which is used later by grub_machine_set_prefix.
29972
29973 * include/grub/video.h: Do not include grub/symbol.h.
29974 (grub_video_register): Not exported. This symbol is not defined in
29975 the kernel.
29976 (grub_video_unregister): Likewise.
29977 (grub_video_iterate): Likewise.
29978 (grub_video_setup): Likewise.
29979 (grub_video_restore): Likewise.
29980 (grub_video_get_info): Likewise.
29981 (grub_video_get_blit_format): Likewise.
29982 (grub_video_set_palette): Likewise.
29983 (grub_video_get_palette): Likewise.
29984 (grub_video_set_viewport): Likewise.
29985 (grub_video_get_viewport): Likewise.
29986 (grub_video_map_color): Likewise.
29987 (grub_video_map_rgb): Likewise.
29988 (grub_video_map_rgba): Likewise.
29989 (grub_video_fill_rect): Likewise.
29990 (grub_video_blit_glyph): Likewise.
29991 (grub_video_blit_bitmap): Likewise.
29992 (grub_video_blit_render_target): Likewise.
29993 (grub_video_scroll): Likewise.
29994 (grub_video_swap_buffers): Likewise.
29995 (grub_video_create_render_target): Likewise.
29996 (grub_video_delete_render_target): Likewise.
29997 (grub_video_set_active_render_target): Likewise.
29998
29999 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
30000 Undefined.
30001 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
30002
30003 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
30004 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30005 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30006 instead of $(srcdir)/genkernsyms.sh.
30007
30008 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
30009 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30010 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30011 instead of $(srcdir)/genkernsyms.sh.
30012
30013 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
30014 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30015 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30016 instead of $(srcdir)/genkernsyms.sh.
30017
30018 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
30019 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
30020 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
30021 instead of $(srcdir)/genkernsyms.sh.
30022
30023 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
30024 genkernsyms.sh.
30025
30026 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
30027 genkernsyms.sh.
30028 (gensymlist.sh): New target.
30029 (genkernsyms.sh): Likewise.
30030
30031 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
30032 genkernsyms.sh.in and gensymlist.sh.in.
30033
30034 * genkernsyms.sh: Removed.
30035 * gensymlist.sh: Likewise.
f19dbdb7 30036
7b455f4d 30037 * genkernsyms.sh.in: New file.
30038 * gensymlist.sh.in: Likewise.
30039
1885bb27 300402006-04-25 Hollis Blanchard <hollis@penguinppc.org>
30041
30042 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
30043 clobber "prefix", since we may have already set it manually.
30044
71538dff 300452006-04-25 Hollis Blanchard <hollis@penguinppc.org>
30046
30047 * kern/misc.c (abort): New alias for grub_abort.
30048
2965c7cc 300492006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
30050
30051 A new machine-specific function "grub_machine_set_prefix" is
30052 defined. This is called after loading modules, so that a prefix
30053 initialization can use modules. Also, this change adds an
30054 intensive debugging feature for the memory manager via the
30055 configure option "--enable-mm-debug".
f19dbdb7 30056
2965c7cc 30057 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
30058 PART.LEN.
30059
30060 * kern/sparc64/ieee1275/init.c (abort): Removed.
30061 (grub_stop): Likewise.
30062 (grub_exit): New function.
30063 (grub_set_prefix): Renamed to ...
30064 (grub_machine_set_prefix): ... this.
30065 (grub_machine_init): Do not call grub_set_prefix.
30066
30067 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
30068 (grub_machine_set_prefix): ... this.
30069 (grub_machine_init): Do not call grub_set_prefix.
30070
30071 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
30072 (grub_machine_init): Do not set the prefix here.
30073
30074 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
30075
30076 * kern/efi/init.c: Include grub/mm.h.
30077 (grub_efi_set_prefix): New function.
30078
30079 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
30080 (grub_efi_get_filename): New function.
30081 (grub_print_device_path): Renamed to ...
30082 (grub_efi_print_device_path): ... this.
30083
30084 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
30085 [MM_DEBUG] (grub_realloc): Likewise.
30086 [MM_DEBUG] (grub_free): Likewise.
30087 [MM_DEBUG] (grub_memalign): Likewise.
30088 [MM_DEBUG] (grub_mm_debug): New variable.
30089 [MM_DEBUG] (grub_debug_malloc): New function.
30090 [MM_DEBUG] (grub_debug_free): New function.
30091 [MM_DEBUG] (grub_debug_realloc): New function.
30092 [MM_DEBUG] (grub_debug_memalign): New function.
30093
30094 * kern/misc.c (grub_abort): Print a newline to distinguish
30095 the message.
30096
30097 * kern/main.c (grub_main): Call grub_machine_set_prefix and
30098 grub_set_root_dev after loading modules. This is necessary when
30099 setting a prefix depends on modules.
30100
30101 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
30102 (grub_efi_print_device_path): ... this.
30103 (grub_efi_get_filename): New prototype.
30104 (grub_efi_set_prefix): Likewise.
30105
30106 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
30107 and grub/disk.h.
30108 (grub_efidisk_get_device_handle): New prototype.
30109 (grub_efidisk_get_device_name): Likewise.
30110
30111 * include/grub/mm.h: Include config.h.
30112 (MM_DEBUG): Removed.
30113 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
30114 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
30115 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
30116 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
30117 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
30118 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
30119 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
30120 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
30121 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
30122
30123 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
30124
30125 * disk/efi/efidisk.c: Include grub/partition.h.
30126 (iterate_child_devices): New function.
30127 (add_device): First, compare only last device path nodes, so that
30128 devices are sorted by the types.
30129 (grub_efidisk_get_device_handle): New function.
30130 (grub_efidisk_get_device_name): Likewise.
30131
30132 * configure.ac (--enable-mm-debug): New option to enable the
30133 memory manager debugging feature. This makes the binary much
30134 bigger, so is disabled by default.
30135
9cacaa17 301362006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
30137
30138 Use grub_abort instead of grub_stop, and grub_exit must be
30139 define in each architecture now. Also, this change adds support
30140 for EFI disks.
f19dbdb7 30141
9cacaa17 30142 * util/i386/pc/grub-probefs.c: Include grub/term.h.
30143 (grub_getkey): New function.
30144 (grub_term_get_current): Likewise.
30145
30146 * util/i386/pc/grub-setup.c: Include grub/term.h.
30147 (grub_getkey): New function.
30148 (grub_term_get_current): Likewise.
30149
30150 * util/misc.c (grub_stop): Renamed to ...
30151 (grub_exit): ... this.
30152
30153 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
30154 (grub_exit): ... this.
30155 (grub_machine_init): Use grub_abort instead of abort.
30156 (grub_stop): Removed.
30157
30158 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
30159 abort.
30160
30161 * kern/i386/pc/startup.S (grub_exit): New function.
30162 (cold_reboot): New label.
30163
30164 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
30165 (grub_efi_init): Call grub_efidisk_init.
30166 (grub_efi_fini): Call grub_efidisk_fini.
30167
30168 * kern/efi/efi.c: Include grub/mm.h.
30169 (grub_efi_console_control_guid): Renamed to ...
30170 (console_control_guid): ... this.
30171 (grub_efi_loaded_image_guid): Renamed to ...
30172 (loaded_image_guid): ... this.
30173 (grub_efi_locate_handle): New function.
30174 (grub_efi_open_protocol): Likewise.
30175 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
30176 GRUB_EFI_CONSOLE_CONTROL_GUID.
30177 (grub_efi_exit): Removed.
30178 (grub_stop): Likewise.
30179 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
30180 (grub_exit): New function.
30181 (grub_print_device_path): Likewise.
30182
30183 * kern/rescue.c (grub_rescue_cmd_exit): New function.
30184 (grub_enter_rescue_mode): Register "exit".
30185
30186 * kern/misc.c (grub_real_dprintf): A cosmetic change.
30187 (grub_abort): New function.
30188
30189 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
30190
30191 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
30192
30193 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
30194
30195 * include/grub/efi/efi.h (grub_efi_exit): Removed.
30196 (grub_print_device_path): New prototype.
30197 (grub_efi_locate_handle): Likewise.
30198 (grub_efi_open_protocol): Likewise.
30199
30200 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
30201 * disk/efi/efidisk.c: Likewise.
30202
30203 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
30204
30205 * include/grub/efi/console_control.h
30206 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
30207
30208 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
30209 last 8 bytes as an array.
30210 (GRUB_EFI_DISK_IO_GUID): New macro.
30211 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
30212 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
30213 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
30214 grub_uint8_t.
30215 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
30216 (struct grub_efi_device_path): Rename the member "sub_type" to
30217 "subtype".
30218 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
30219 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
30220 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
30221 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
30222 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
30223 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
30224 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
30225 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
30226 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
30227 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
30228 (struct grub_efi_pci_device_path): New structure.
30229 (grub_efi_pci_device_path_t): New type.
30230 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
30231 (struct grub_efi_pccard_device_path): New structure.
30232 (grub_efi_pccard_device_path_t): New type.
30233 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
30234 (struct grub_efi_memory_mapped_device_path): New structure.
30235 (grub_efi_memory_mapped_device_path_t): New type.
30236 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
30237 (struct grub_efi_vendor_device_path): New structure.
30238 (grub_efi_vendor_device_path_t): New type.
30239 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
30240 (struct grub_efi_controller_device_path): New structure.
30241 (grub_efi_controller_device_path_t): New type.
30242 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
30243 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
30244 (struct grub_efi_acpi_device_path): New structure.
30245 (grub_efi_acpi_device_path_t): New type.
30246 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
30247 (struct grub_efi_expanded_acpi_device_path): New structure.
30248 (grub_efi_expanded_acpi_device_path_t): New type.
30249 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
30250 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
30251 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
30252 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
30253 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
30254 (struct grub_efi_atapi_device_path): New structure.
30255 (grub_efi_atapi_device_path_t): New type.
30256 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
30257 (struct grub_efi_fibre_channel_device_path): New structure.
30258 (grub_efi_fibre_channel_device_path_t): New type.
30259 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
30260 (struct grub_efi_1394_device_path): New structure.
30261 (grub_efi_1394_device_path_t): New type.
30262 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
30263 (struct grub_efi_usb_device_path): New structure.
30264 (grub_efi_usb_device_path_t): New type.
30265 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
30266 (struct grub_efi_usb_class_device_path): New structure.
30267 (grub_efi_usb_class_device_path_t): New type.
30268 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
30269 (struct grub_efi_i2o_device_path): New structure.
30270 (grub_efi_i2o_device_path_t): New type.
30271 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
30272 (struct grub_efi_mac_address_device_path): New structure.
30273 (grub_efi_mac_address_device_path_t): New type.
30274 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
30275 (struct grub_efi_ipv4_device_path): New structure.
30276 (grub_efi_ipv4_device_path_t): New type.
30277 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
30278 (struct grub_efi_ipv6_device_path): New structure.
30279 (grub_efi_ipv6_device_path_t): New type.
30280 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
30281 (struct grub_efi_infiniband_device_path): New structure.
30282 (grub_efi_infiniband_device_path_t): New type.
30283 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
30284 (struct grub_efi_uart_device_path): New structure.
30285 (grub_efi_uart_device_path_t): New type.
30286 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
30287 (struct grub_efi_vendor_messaging_device_path): New structure.
30288 (grub_efi_vendor_messaging_device_path_t): New type.
30289 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
30290 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
30291 (struct grub_efi_hard_drive_device_path): New structure.
30292 (grub_efi_hard_drive_device_path_t): New type.
30293 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
30294 (struct grub_efi_cdrom_device_path): New structure.
30295 (grub_efi_cdrom_device_path_t): New type.
30296 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
30297 (struct grub_efi_vendor_media_device_path): New structure.
30298 (grub_efi_vendor_media_device_path_t): New type.
30299 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
30300 (struct grub_efi_file_path_device_path): New structure.
30301 (grub_efi_file_path_device_path_t): New type.
30302 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
30303 (struct grub_efi_protocol_device_path): New structure.
30304 (grub_efi_protocol_device_path_t): New type.
30305 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
30306 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
30307 (struct grub_efi_bios_device_path): New structure.
30308 (grub_efi_bios_device_path_t): New type.
30309 (struct grub_efi_disk_io): New structure.
30310 (grub_efi_disk_io_t): New type.
30311 (struct grub_efi_block_io_media): New structure.
30312 (grub_efi_block_io_media_t): New type.
30313 (struct grub_efi_block_io): New structure.
30314 (grub_efi_block_io_t): New type.
30315
30316 * include/grub/misc.h (grub_stop): Removed.
30317 (grub_exit): New prototype.
30318 (grub_abort): Likewise.
30319
30320 * include/grub/disk.h (enum grub_disk_dev_id): Added
30321 GRUB_DISK_DEVICE_EFIDISK_ID.
30322
30323 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
30324 disk/efi/efidisk.c.
30325 (kernel_syms.lst): Remove the target if an error occurs.
30326
49986a9f 303272006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
30328
30329 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
30330 as it was simply too buggy.
30331
970d3b8a 303322006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
30333
30334 * kern/misc.c (grub_lltoa): New function.
30335 (grub_vsprintf): Added support for the long long suffix,
30336 i.e. "ll".
30337
ff04ec24 303382006-04-20 Hollis Blanchard <hollis@penguinppc.org>
30339
30340 * Makefile.in (LDFLAGS): Add variable.
30341 (LD): Remove variable.
30342 * configure.ac: Add -m32 to LDFLAGS.
30343 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
30344 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
30345 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
30346 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
30347 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
30348 variables.
30349 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
30350 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
30351 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
30352
37e5e1a4 303532006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
30354
30355 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
30356 length for unknown glyph.
30357
c352d8dd 303582006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
30359
2eab1c0d 30360 Add support for pre-loaded modules into the EFI port.
f19dbdb7 30361
2eab1c0d 30362 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
30363 completely. Accept one more argument DIR. The caller has changed.
30364
30365 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
30366
30367 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
30368 (grub_efi_loaded_image_guid): New variable.
30369 (grub_efi_get_loaded_image): New function.
30370 (grub_arch_modules_addr): Likewise.
30371
30372 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
30373 prototype.
30374
30375 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
30376 (struct grub_efi_loaded_image): New structure.
30377 (grub_efi_loaded_image_t): New type.
30378
303792006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 30380
c352d8dd 30381 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
30382 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
30383 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
30384
6d01d6b4 303852006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
30386
30387 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
30388
976a4ea0 303892006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
30390
30391 * DISTLIST: Added include/grub/efi/console.h,
30392 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
30393 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
30394
30395 * include/grub/efi/console.h: New file.
30396 * include/grub/efi/time.h: Likewise.
30397 * include/grub/i386/efi/kernel.h: Likewise.
30398 * kern/efi/init.c: Likewise.
30399 * kern/efi/mm.c: Likewise.
30400 * term/efi/console.c: Likewise.
f19dbdb7 30401
976a4ea0 30402 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
30403 (grub_stop): Removed.
30404 (grub_get_rtc): Likewise.
30405 (grub_machine_init): Simply call grub_efi_init.
30406 (grub_machine_fini): Call grub_efi_fini.
30407
30408 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
30409 (grub_efi_output_string): Removed.
30410 (grub_efi_stall): New function.
30411 (grub_stop): Likewise.
30412 (grub_get_rtc): Likewise.
30413
30414 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
30415 (grub_efi_stall): New prototype.
30416 (grub_efi_allocate_pages): Likewise.
30417 (grub_efi_free_pages): Likewise.
30418 (grub_efi_get_memory_map): Likewise.
30419 (grub_efi_mm_init): Likewise.
30420 (grub_efi_mm_fini): Likewise.
30421 (grub_efi_init): Likewise.
30422 (grub_efi_fini): Likewise.
30423
30424 * include/grub/i386/efi/time.h: Do not include
30425 grub/symbol.h. Include grub/efi/time.h.
30426 (GRUB_TICKS_PER_SECOND): Removed.
30427 (grub_get_rtc): Likewise.
30428
30429 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
30430 Added padding. The EFI spec is buggy.
30431 (GRUB_EFI_BLACK): New macro.
30432 (GRUB_EFI_BLUE): Likewise.
30433 (GRUB_EFI_GREEN): Likewise.
30434 (GRUB_EFI_CYAN): Likewise.
30435 (GRUB_EFI_RED): Likewise.
30436 (GRUB_EFI_MAGENTA): Likewise.
30437 (GRUB_EFI_BROWN): Likewise.
30438 (GRUB_EFI_LIGHTGRAY): Likewise.
30439 (GRUB_EFI_BRIGHT): Likewise.
30440 (GRUB_EFI_DARKGRAY): Likewise.
30441 (GRUB_EFI_LIGHTBLUE): Likewise.
30442 (GRUB_EFI_LIGHTGREEN): Likewise.
30443 (GRUB_EFI_LIGHTCYAN): Likewise.
30444 (GRUB_EFI_LIGHTRED): Likewise.
30445 (GRUB_EFI_LIGHTMAGENTA): Likewise.
30446 (GRUB_EFI_YELLOW): Likewise.
30447 (GRUB_EFI_WHITE): Likewise.
30448 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
30449 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
30450 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
30451 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
30452 (GRUB_EFI_BACKGROUND_RED): Likewise.
30453 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
30454 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
30455 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
30456 (GRUB_EFI_TEXT_ATTR): Likewise.
30457
30458 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
30459 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
30460 (kernel_mod_HEADERS): Added efi/time.h.
30461
83709125 304622006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
30463
30464 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
30465 include/grub/efi/api.h, include/grub/efi/console_control.h,
30466 include/grub/efi/efi.h, include/grub/efi/pe32.h,
30467 include/grub/i386/efi/time.h, kern/efi/efi.c,
30468 kern/i386/efi/init.c, kern/i386/efi/startup.S,
30469 and util/i386/efi/grub-mkimage.c.
30470
30471 * Makefile.in (RMKFILES): Added i386-efi.rmk.
30472
30473 * genmk.rb (PModule#rule): Do not export symbols if
30474 #{prefix}_EXPORTS is set to "no".
30475
30476 * conf/i386-efi.mk: New file.
30477 * conf/i386-efi.rmk: Likewise.
30478 * include/grub/efi/api.h: Likewise.
30479 * include/grub/efi/console_control.h: Likewise.
30480 * include/grub/efi/efi.h: Likewise.
30481 * include/grub/efi/pe32.h: Likewise.
30482 * include/grub/i386/efi/time.h: Likewise.
30483 * kern/efi/efi.c: Likewise.
30484 * kern/i386/efi/init.c: Likewise.
30485 * kern/i386/efi/startup.S: Likewise.
30486 * util/i386/efi/grub-mkimage.c: Likewise.
30487
304882006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 30489
30490 * include/grub/script.h: Include <grub/parser.h> and
30491 "grub_script.tab.h".
30492 (struct grub_lexer_param): New struct.
30493 (struct grub_parser_param): Likewise.
30494 (grub_script_create_arglist): Pass the state in an argument.
30495 (grub_script_add_arglist): Likewise.
30496 (grub_script_create_cmdline): Likewise.
30497 (grub_script_create_cmdblock): Likewise.
30498 (grub_script_create_cmdif): Likewise.
30499 (grub_script_create_cmdmenu): Likewise.
30500 (grub_script_add_cmd): Likewise.
30501 (grub_script_arg_add): Likewise.
30502 (grub_script_lexer_ref): Likewise.
30503 (grub_script_lexer_deref): Likewise.
30504 (grub_script_lexer_record_start): Likewise.
30505 (grub_script_lexer_record_stop): Likewise.
30506 (grub_script_mem_record): Likewise.
30507 (grub_script_mem_record_stop): Likewise.
30508 (grub_script_malloc): Likewise.
30509 (grub_script_yylex): Likewise.
30510 (grub_script_yyparse): Likewise.
30511 (grub_script_yyerror): Likewise.
30512 (grub_script_yylex): Likewise.
30513 (grub_script_lexer_init): Return the state.
30514
30515 * normal/lexer.c (grub_script_lexer_state): Removed variable.
30516 (grub_script_lexer_done): Likewise.
30517 (grub_script_lexer_getline): Likewise.
30518 (grub_script_lexer_refs): Likewise.
30519 (script): Likewise.
30520 (newscript): Likewise.
30521 (record): Likewise.
30522 (recording): Likewise.
30523 (recordpos): Likewise.
30524 (recordlen): Likewise.
30525 (grub_script_lexer_init): Return the state instead of setting
30526 global variables.
30527 (grub_script_lexer_ref): Use the newly added argument for state
30528 instead of globals.
30529 (grub_script_lexer_deref): Likewise.
30530 (grub_script_lexer_record_start): Likewise.
30531 (grub_script_lexer_record_stop): Likewise.
30532 (recordchar): Likewise.
30533 (nextchar): Likewise.
30534 (grub_script_yylex2): Likewise.
30535 (grub_script_yylex): Likewise.
30536 (grub_script_yyerror): Likewise.
30537
30538 * normal/parser.y (func_mem): Removed variable.
30539 (menu_entry): Likewise.
30540 (err): Likewise.
30541 (%lex-param): New parser option.
30542 (%parse-param): Likewise.
30543 (script): Always return the AST.
30544 (argument): Pass the state around.
30545 (arguments): Likewise.
30546 (grubcmd): Likewise.
30547 (commands): Likewise.
30548 (function): Likewise.
30549 (menuentry): Likewise.
30550 (if_statement): Likewise.
30551 (if): Likewise.
30552
30553 * normal/script.c (grub_script_memused): Removed variable.
30554 (grub_script_parsed): Likewise.
30555 (grub_script_malloc): Added a state argument. Use that instead of
30556 global variables.
30557 (grub_script_mem_record): Likewise.
30558 (grub_script_mem_record_stop): Likewise.
30559 (grub_script_arg_add): Likewise.
30560 (grub_script_add_arglist): Likewise.
30561 (grub_script_create_cmdline): Likewise.
30562 (grub_script_create_cmdif): Likewise.
30563 (grub_script_create_cmdmenu): Likewise.
30564 (grub_script_add_cmd): Likewise.
30565 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 30566
e2a8c904 305672006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 30568
30569 * normal/command.c (grub_command_init): Remove the title command.
30570
30571 * normal/lexer.c (grub_script_yylex): Renamed from this...
30572 (grub_script_yylex2): ... to this.
30573 (grub_script_yylex): New function. Temporary
30574 introduced to filter some tokens.
30575 (grub_script_yyerror): Print a newline.
30576
30577 * normal/main.c (read_config_file): Output information about the
30578 lines that contain errors. Wait for a key after all lines have
30579 been processed. Don't return an empty menu.
30580
30581 * normal/parser.y (func_mem): Don't initialize.
30582 (menu_entry): Likewise.
30583 (err): New variable.
30584 (script): Don't return anything when an error was encountered.
30585 (ws, returns): Removed rules.
30586 (argument): Disabled concatenated variable support.
30587 (arguments): Remove explicit separators.
30588 (grubcmd): Likewise.
30589 (function): Likewise.
30590 (menuentry): Likewise.
30591 (if): Likewise.
30592 (commands): Likewise. Add error handling.
30593
30594 * normal/script.c (grub_script_create_cmdline): If
30595 `grub_script_parsed' is 0, assume the parser encountered an error.
30596
c9a86192 305972006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
30598
30599 * configure.ac: Add support for EFI. Fix the typo
30600 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
30601
70f3b243 306022006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
30603
30604 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
30605 foreign multibyte characters should be shown correctly.
30606
65f201ad 306072006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
30608
30609 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
30610 calculation.
30611 (read_config_file): Made it to close file before returning.
30612
b4b93674 306132006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
30614
30615 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
30616 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
30617 video/i386/pc/vbefill.c.
30618
30619 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
30620 video/i386/pc/vbefill.c.
30621
30622 * include/grub/video.h (grub_video_blit_format): New enum.
30623 (grub_video_mode_info): Added new member blit_format.
30624 (grub_video_get_blit_format): New function prototype.
30625
30626 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
30627 function prototype.
30628 (grub_video_vbe_map_rgb): Likewise.
30629 (grub_video_vbe_unmap_color): Likewise.
30630
30631 * include/grub/i386/pc/vbeblit.h: New file.
30632
30633 * include/grub/i386/pc/vbefill.h: New file.
30634
30635 * video/video.c (grub_video_get_blit_format): New function.
30636 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
30637 (grub_video_vbe_map_rgb): Likewise.
30638 (grub_video_vbe_unmap_color): Likewise.
30639
30640 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
30641 optimized fills.
30642 (grub_video_vbe_blit_render_target): Changed to use more optimized
30643 blits.
30644 (grub_video_vbe_setup): Added detection for optimized settings.
30645 (grub_video_vbe_create_render_target): Likewise.
30646
30647 * video/i386/pc/vbeblit.c: New file.
30648
30649 * video/i386/pc/vbefill.c: New file.
30650
c2379b9c 306512006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
30652
30653 * font/manager.c (grub_font_get_glyph): Removed font fixup from
30654 here...
30655
30656 * util/unifont2pff.rb: ... and moved it to here. Improved argument
30657 parsing to support both hex and dec ranges. If filename was missing
30658 show usage information.
30659
bd0d7896 306602006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
30661
30662 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
30663 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
30664
30665 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
30666 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
30667 (video_mod_SOURCES): Added.
30668 (video_mod_CFLAGS): Likewise.
30669 (video_mod_LDFLAGS): Likewise.
30670 (gfxterm_mod_SOURCES): Likewise.
30671 (gfxterm_mod_CFLAGS): Likewise.
30672 (gfxterm_mod_LDFLAGS): Likewise.
30673 (videotest_mod_SOURCES): Likewise.
30674 (videotest_mod_CFLAGS): Likewise.
30675 (videotest_mod_LDFLAGS): Likewise.
30676 (vesafb_mod_SOURCES): Removed.
30677 (vesafb_mod_CFLAGS): Likewise.
30678 (vesafb_mod_LDFLAGS): Likewise.
30679 (vga_mod_SOURCES): Likewise.
30680 (vga_mod_CFLAGS): Likewise.
30681 (vga_mod_LDFLAGS): Likewise.
30682
30683 * commands/videotest.c: New file.
30684
30685 * font/manager.c (fill_with_default_glyph): Modified to use
30686 grub_font_glyph.
30687 (grub_font_get_glyph): Likewise.
30688 (fontmanager): Renamed from this...
30689 (font_manager): ... to this.
30690
30691 * include/grub/font.h (grub_font_glyph): Added new structure.
30692 (grub_font_get_glyph): Modified to use grub_font_glyph.
30693
30694 * include/grub/misc.h (grub_abs): Added as inline function.
30695
30696 * include/grub/video.h: New file.
30697
30698 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
30699 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
30700 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
30701 (grub_vbe_get_controller_info): Renamed from this...
30702 (grub_vbe_bios_get_controller_info): ... to this.
30703 (grub_vbe_get_mode_info): Renamed from this...
30704 (grub_vbe_bios_get_mode_info): ... to this.
30705 (grub_vbe_set_mode): Renamed from this...
30706 (grub_vbe_bios_set_mode): ... to this.
30707 (grub_vbe_get_mode): Renamed from this...
30708 (grub_vbe_bios_get_mode): ... to this.
30709 (grub_vbe_set_memory_window): Renamed from this...
30710 (grub_vbe_bios_set_memory_window): ... to this.
30711 (grub_vbe_get_memory_window): Renamed from this...
30712 (grub_vbe_bios_get_memory_window): ... to this.
30713 (grub_vbe_set_scanline_length): Renamed from this...
30714 (grub_vbe_set_scanline_length): ... to this.
30715 (grub_vbe_get_scanline_length): Renamed from this...
30716 (grub_vbe_bios_get_scanline_length): ... to this.
30717 (grub_vbe_set_display_start): Renamed from this...
30718 (grub_vbe_bios_set_display_start): ... to this.
30719 (grub_vbe_get_display_start): Renamed from this...
30720 (grub_vbe_bios_get_display_start): ... to this.
30721 (grub_vbe_set_palette_data): Renamed from this...
30722 (grub_vbe_bios_set_palette_data): ... to this.
30723 (grub_vbe_set_pixel_rgb): Removed.
30724 (grub_vbe_set_pixel_index): Likewise.
30725
30726 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
30727 from this...
30728 (grub_vbe_bios_get_controller_info): ... to this.
30729 (grub_vbe_get_mode_info): Renamed from this...
30730 (grub_vbe_bios_get_mode_info): ... to this.
30731 (grub_vbe_set_mode): Renamed from this...
30732 (grub_vbe_bios_set_mode): ... to this.
30733 (grub_vbe_get_mode): Renamed from this...
30734 (grub_vbe_bios_get_mode): ... to this.
30735 (grub_vbe_set_memory_window): Renamed from this...
30736 (grub_vbe_bios_set_memory_window): ... to this.
30737 (grub_vbe_get_memory_window): Renamed from this...
30738 (grub_vbe_bios_get_memory_window): ... to this.
30739 (grub_vbe_set_scanline_length): Renamed from this...
30740 (grub_vbe_set_scanline_length): ... to this.
30741 (grub_vbe_get_scanline_length): Renamed from this...
30742 (grub_vbe_bios_get_scanline_length): ... to this.
30743 (grub_vbe_set_display_start): Renamed from this...
30744 (grub_vbe_bios_set_display_start): ... to this.
30745 (grub_vbe_get_display_start): Renamed from this...
30746 (grub_vbe_bios_get_display_start): ... to this.
30747 (grub_vbe_set_palette_data): Renamed from this...
30748 (grub_vbe_bios_set_palette_data): ... to this.
30749 (grub_vbe_bios_get_controller_info): Fixed problem with registers
30750 getting corrupted after calling it. Added more pushes and pops.
30751 (grub_vbe_bios_set_mode): Likewise.
30752 (grub_vbe_bios_get_mode): Likewise.
30753 (grub_vbe_bios_get_memory_window): Likewise.
30754 (grub_vbe_bios_set_scanline_length): Likewise.
30755 (grub_vbe_bios_get_scanline_length): Likewise.
30756 (grub_vbe_bios_get_display_start): Likewise.
30757 (grub_vbe_bios_set_palette_data): Likewise.
30758
30759 * normal/cmdline.c (cl_set_pos): Refresh the screen.
30760 (cl_insert): Likewise.
30761 (cl_delete): Likewise.
30762
30763 * term/gfxterm.c: New file.
30764
30765 * term/i386/pc/vesafb.c: Removed file.
30766
30767 * video/video.c: New file.
30768
30769 * video/i386/pc/vbe.c (real2pm): Added new function.
30770 (grub_video_vbe_draw_pixel): Likewise.
30771 (grub_video_vbe_get_video_ptr): Likewise.
30772 (grub_video_vbe_get_pixel): Likewise
30773 (grub_video_vbe_init): Likewise.
30774 (grub_video_vbe_fini): Likewise.
30775 (grub_video_vbe_setup): Likewise.
30776 (grub_video_vbe_get_info): Likewise.
30777 (grub_video_vbe_set_palette): Likewise.
30778 (grub_video_vbe_get_palette): Likewise.
30779 (grub_video_vbe_set_viewport): Likewise.
30780 (grub_video_vbe_get_viewport): Likewise.
30781 (grub_video_vbe_map_color): Likewise.
30782 (grub_video_vbe_map_rgb): Likewise.
30783 (grub_video_vbe_map_rgba): Likewise.
30784 (grub_video_vbe_unmap_color): Likewise.
30785 (grub_video_vbe_fill_rect): Likewise.
30786 (grub_video_vbe_blit_glyph): Likewise.
30787 (grub_video_vbe_blit_bitmap): Likewise.
30788 (grub_video_vbe_blit_render_target): Likewise.
30789 (grub_video_vbe_scroll): Likewise.
30790 (grub_video_vbe_swap_buffers): Likewise.
30791 (grub_video_vbe_create_render_target): Likewise.
30792 (grub_video_vbe_delete_render_target): Likewise.
30793 (grub_video_vbe_set_active_render_target): Likewise.
30794 (grub_vbe_set_pixel_rgb): Remove function.
30795 (grub_vbe_set_pixel_index): Likewise.
30796 (index_color_mode): Remove static variable.
30797 (active_mode): Likewise.
30798 (framebuffer): Likewise.
30799 (bytes_per_scan_line): Likewise.
30800 (grub_video_vbe_adapter): Added new static variable.
30801 (framebuffer): Likewise.
30802 (render_target): Likewise.
30803 (initial_mode): Likewise.
30804 (mode_in_use): Likewise.
30805 (mode_list): Likewise.
30806
5f97350b 308072006-03-10 Marco Gerards <marco@gnu.org>
30808
30809 * configure.ac (AC_INIT): Bumped to 1.93.
30810
30811 * DISTLIST: Added `include/grub/hfs.h'.
30812
a3c5c6f8 308132006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
30814
30815 * boot/i386/pc/boot.S (general_error): Before looping, try INT
30816 18H, which might help the BIOS falling back to next boot media.
30817
6de53d26 308182006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
30819
30820 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
30821 Poe Chen <poe.poechen@gmail.com>.
30822
77c4a393 308232006-01-17 Marco Gerards <marco@gnu.org>
30824
30825 * include/grub/normal.h: Include <grub/script.h>.
30826 (grub_command_list): Removed struct.
30827 (grub_command_list_t): Removed type.
30828 (grub_menu_entry): Remove members `num' and `command_list'. Add
30829 members `commands' and `sourcecode'.
30830 * include/grub/script.h: Add inclusion guards.
30831 (grub_script_cmd_menuentry): New struct.
30832 (grub_script_execute_menuentry): New prototype.
30833 (grub_script_lexer_record_start): Likewise.
30834 (grub_script_lexer_record_stop): Likewise.
30835 * normal/execute.c (grub_script_execute_menuentry): New function.
30836 * normal/lexer.c (record, recording, recordpos, recordlen): New
30837 variables.
30838 (grub_script_lexer_record_start): New function.
30839 (grub_script_lexer_record_stop): Likewise.
30840 (recordchar): Likewise.
30841 (nextchar): Likewise.
30842 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
30843 2048 as the buffer size. Add the tokens `menuentry' and `@'.
30844 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
30845 (current_menu): New variable.
30846 (free_menu): Mainly rewritten.
30847 (grub_normal_menu_addentry): New function.
30848 (read_config_file): Rewritten.
30849 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 30850 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 30851 the menu entry.
30852 (run): Mainly rewritten.
30853 * normal/parser.y (menu_entry): New variable.
30854 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
30855 (menuentry): New rule.
30856 (command): Add `menuentry'.
30857 (if_statement): Allow additional returns before `fi'.
30858 * normal/script.c (grub_script_create_cmdmenu): New function.
30859
144f1f98 308602006-01-03 Marco Gerards <marco@gnu.org>
30861
30862 * INSTALL: GNU Bison is required.
30863 * configure.ac: Rewritten the test to detect Bison.
30864 * Makefile.in (YACC): New variable. Reported by Xun Sun
30865 <xun.sun.cn@gmail.com>.
30866
af4b2d89 308672006-01-03 Marco Gerards <marco@gnu.org>
30868
30869 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
30870 the HFS+ filesystem to filesystem blocks.
30871 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
30872 GCC warning is silenced.
30873
15643b71 308742006-01-03 Marco Gerards <marco@gnu.org>
30875
30876 * partmap/apple.c (apple_partition_map_iterate): Convert the data
30877 read from disk from big endian to host byte order.
30878
00905879 308792006-01-03 Hollis Blanchard <hollis@penguinppc.org>
30880
30881 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
30882 documentation.
30883 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
30884 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
30885 embedded HFS+ filesystem.
30886 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
30887 (grub_hfs_sblock): Move from here...
30888 * include/grub/hfs.h: To here... New file.
30889 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
30890 documentation.
30891 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
30892 New macros.
30893 (grub_hfsplus_volheader): Change type of member `magic' to
30894 `grub_uint16_t'.
30895 (grub_hfsplus_data): Add new member `embedded_offset'.
30896 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
30897 returned block.
30898 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
30899 Calculate the offset.
30900
8899bc3e 309012005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30902
30903 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
30904 Removed.
30905 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
30906
ae8c0277 309072005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30908
30909 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
30910 ENV->NAME is NULL after allocating ENV->VALUE.
30911
07084456 309122005-12-25 Marco Gerards <marco@gnu.org>
30913
30914 * kern/env.c (grub_env_set): Rewritten the error handling code.
30915
4750f5f1 309162005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30917
30918 * geninit.sh: Made more robust, and more portable.
30919
50214199 309202005-12-25 Marco Gerards <marco@gnu.org>
30921
30922 Add support for Apple HFS+ filesystems.
f19dbdb7 30923
50214199 30924 * fs/hfsplus.c: New file.
30925
30926 * DISTLIST: Added `fs/hfsplus.c'.
30927
30928 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
30929 (hfsplus_mod_SOURCES): New variable.
30930 (hfsplus_mod_CFLAGS): Likewise.
30931 (hfsplus_mod_LDFLAGS): Likewise.
30932 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
30933 (grub_setup_SOURCES): Likewise.
30934 (grub_mkdevicemap_SOURCES): Likewise.
30935 (grub_emu_SOURCES): Likewise.
30936 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30937
30938 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
30939
30940 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
30941
befaed6c 309422005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
30943
30944 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
30945 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
30946 include/grub/parser.h, include/grub/script.h, kern/parser.c,
30947 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
30948 normal/lexer.c, normal/parser.y, normal/script.c, and
30949 partmap/gpt.c.
30950 Removed kern/sparc64/cache.c.
30951
30952 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
30953 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
30954 grub_emu_init.c.
30955
30956 * configure.ac (AC_INIT): Bumped to 1.92.
30957
6a124103 309582005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
30959
30960 * kern/err.c (grub_error_push): Added new function to support error
30961 stacks.
30962 (grub_error_pop): Likewise.
30963 (grub_error_stack_items): New local variable to support error stacks.
30964 (grub_error_stack_pos): Likewise.
30965 (grub_error_stack_assert): Likewise.
30966 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
30967 stack depth.
30968 (grub_print_error): Added support to print errors from error stack.
30969
30970 * include/grub/err.h (grub_error_push): Added function prototype.
30971 (grub_error_pop): Likewise.
30972
be973c1b 309732005-12-09 Hollis Blanchard <hollis@penguinppc.org>
30974
30975 * configure.ac: Accept `powerpc64' as host_cpu.
30976 (amd64): Rename to `biarch32'.
30977
30978 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
30979 non-cacheline-aligned addresses.
30980
30981 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
30982 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
30983 if `size' is non-zero.
30984
b04216ab 309852005-12-03 Marco Gerards <mgerards@xs4all.nl>
30986
30987 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
30988 and `cd' to make sure the filename is not prefixed with a
30989 directory name.
30990 (pkgdata_MODULES): Add `gpt.mod'.
30991 (gpt_mod_SOURCES): New variable.
30992 (gpt_mod_CFLAGS): Likewise.
30993 (gpt_mod_LDFLAGS): Likewise.
30994
30995 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
30996
30997 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
30998 New macro.
30999
31000 * partmap/gpt.c: New file.
31001
31002 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
31003 GPT partition map is detected.
31004
41730ed9 310052005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
31006
31007 * commands/i386/pc/play.c: New file.
31008 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
31009 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
31010 macros.
f19dbdb7 31011
95dc3643 310122005-11-27 Marco Gerards <mgerards@xs4all.nl>
31013
31014 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
31015 ((unused))' to silence gcc warning.
31016
1569ec51 310172005-11-26 Hollis Blanchard <hollis@penguinppc.org>
31018
31019 * configure.ac: Correct `AC_PROG_YACC' test.
31020
9abde152 310212005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31022
31023 * util/powerpc/ieee1275/grub-install.in: Run the mount point
31024 check before installing files.
31025
44b83271 310262005-11-22 Mike Small <smallm@panix.com>
31027
31028 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
31029 number regex so multidigit numbers are recognized correctly.
31030
310312005-11-22 Mike Small <smallm@panix.com>
31032
31033 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
31034 debugging message before attempting to claim memory.
31035 (grub_rescue_cmd_initrd): Add a claim debugging message and try
31036 multiple addresses in case of failure.
31037
9c12956b 310382005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31039
31040 * term/tparm.c (get_space): Remove empty `if' statement.
31041
31042 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
31043
31044 * kern/parser.c (check_varstate): Rename `state' to 's'.
31045
aeaf81d9 310462005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31047
31048 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
31049 variable definitions to the beginning of each function. Sort stack
31050 variables by size.
31051 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
31052 `buf' argument to `char *'.
31053
79bbb63f 310542005-11-22 Hollis Blanchard <hollis@penguinppc.org>
31055
31056 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
31057 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 31058 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 31059 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
31060 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
31061 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
31062 configfile.mod, search.mod, gzio.mod and test.mod.
31063 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
31064 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
31065 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
31066 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
31067 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
31068 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
31069 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
31070 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
31071 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
31072 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
31073 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31074 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31075 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
31076 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
31077 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
31078 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
31079 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
31080 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
31081 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
31082 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
31083 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
31084 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
31085 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
31086
31087 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
31088 `grep --include'.
31089 (pkgdata_MODULES): Add test.mod.
31090
233b1628 310912005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31092
31093 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
31094 appending to variables with "+=".
31095 (PModule): Use full pathname to generate *.lst filenames.
31096
31097 * Makefile.in: Fixed list rules moved from genmk.rb.
31098 (.DELETE_ON_ERROR): New special target.
31099 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
31100
31101 * conf/i386-pc.rmk: Include conf/common.mk.
31102 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 31103 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 31104 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
31105 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
31106 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
31107 configfile.mod, search.mod, gzio.mod and test.mod.
31108 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
31109 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
31110 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
31111 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
31112 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
31113 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
31114 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
31115 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
31116 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
31117 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
31118 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31119 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31120 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
31121 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
31122 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
31123 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
31124 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
31125 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
31126 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
31127 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
31128 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
31129 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
31130 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
31131 here...
31132 * conf/common.rmk: ... to here. New file.
31133
31134 * conf/common.mk: New file.
31135
16f820c8 311362005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
31137
31138 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
31139 (grub_script.tab.c): ... here.
31140
31141 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
31142 (grub_script.tab.c): ... here.
31143
31144 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
31145 (grub_script.tab.c): ... here.
31146
31147 * normal/command.c (grub_command_find): Fixed a memory leak of
31148 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
31149
63ba1554 311502005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31151
31152 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
31153 "@" which marks the start of a comment on ARM.
31154 (VARIABLE): Likewise.
31155
7f67dc13 311562005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31157
79bbb63f 31158 Add support for Linux/ADFS partition tables.
7f67dc13 31159
31160 * partmap/acorn.c: New file.
31161
31162 * include/grub/acorn_filecore.h: Likewise.
31163
31164 * DISTLIST: Added `partmap/acorn.c' and
31165 `include/grub/acorn_filecore.h'.
f19dbdb7 31166
7f67dc13 31167 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31168 `partmap/acorn.c'.
31169 (pkgdata_MODULES): Add `acorn.mod'.
31170 (acorn_mod_SOURCES): New variable.
31171 (acorn_mod_CFLAGS): Likewise.
31172
31173 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
31174 `partmap/acorn.c'.
31175 (pkgdata_MODULES): Add `acorn.mod'.
31176 (acorn_mod_SOURCES): New variable.
31177 (acorn_mod_CFLAGS): Likewise.
31178
31179 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
31180 (pkgdata_MODULES): Add `acorn.mod'.
31181 (acorn_mod_SOURCES): New variable.
31182 (acorn_mod_CFLAGS): Likewise.
31183 (acorn_mod_LDFLAGS): Likewise.
31184
31185 * include/types.h (grub_disk_addr_t): New typedef.
31186
6d099807 311872005-11-13 Marco Gerards <mgerards@xs4all.nl>
31188
31189 * geninit.sh: New file.
31190
31191 * geninitheader.sh: Likewise.
31192
31193 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
31194 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
31195 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
31196 * commands/configfile.c (grub_configfile_init)
31197 (grub_configfile_fini): Likewise.
31198 * commands/default.c (grub_default_init, grub_default_fini):
31199 Likewise.
31200 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
31201 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
31202 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
31203 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
31204 Likewise.
31205 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
31206 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
31207 Likewise.
31208 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 31209 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 31210 Likewise.
31211 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
31212 Likewise.
fe6b695a 31213 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 31214 Likewise.
31215 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
31216 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
31217 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
31218 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
31219 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
31220 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
31221 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
31222 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
31223 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
31224 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
31225 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
31226 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
31227 * partmap/amiga.c (grub_amiga_partition_map_init)
31228 (grub_amiga_partition_map_fini): Likewise.
31229 * partmap/apple.c (grub_apple_partition_map_init)
31230 (grub_apple_partition_map_fini): Likewise.
31231 * partmap/pc.c (grub_pc_partition_map_init)
31232 (grub_pc_partition_map_fini): Likewise.
31233 * partmap/sun.c (grub_sun_partition_map_init,
31234 grub_sun_partition_map_fini): Likewise.
31235 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
31236 Likewise.
31237
31238 * util/grub-emu.c: Include <grub_modules_init.h>.
31239 (main): Don't initialize and de-initialize any modules directly,
31240 use `grub_init_all' and `grub_fini_all' instead.
31241
31242 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
31243 `grub_vesafb_mod_init'.
31244 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
31245 all users.
31246 * term/i386/pc/vga.c (grub_vga_init): Renamed to
31247 `grub_vga_mod_init'. Updated all users.
31248 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 31249
6d099807 31250 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
31251 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
31252 rules.
31253
31254 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
31255 Generate a function to initialize the module in utilities.
31256 Updated all callers.
31257 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
31258 initialize the module in utilities. Updated all callers.
31259
9046bcf0 312602005-11-09 Hollis Blanchard <hollis@penguinppc.org>
31261
31262 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
31263 escape sequence and a literal ^L to clear the screen.
31264
31265 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
31266 when returning from Open Firmware.
31267
d13ea639 312682005-11-09 Hollis Blanchard <hollis@penguinppc.org>
31269
31270 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
31271 (grub_ofconsole_height): Likewise.
31272 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
31273 manually insert a '\n'.
31274 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
31275 `grub_ofconsole_height'. Return early if these are already set.
31276
a8fcf206 312772005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
31278
31279 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
31280 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
31281 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
31282 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
31283 and `normal/script.c'.
31284 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31285 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31286 (test_mod_SOURCES): New variable.
31287 (test_mod_CFLAGS): Likewise.
31288 (test_mod_LDFLAGS): Likewise.
31289 (pkgdata_MODULES): Add `test.mod'.
31290 (grub_script.tab.c): New rule.
31291 (grub_script.tab.h): Likewise.
31292
b6b32745 312932005-11-07 Marco Gerards <mgerards@xs4all.nl>
31294
31295 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
31296 `commands/test.c', `normal/execute.c', `normal/lexer.c',
31297 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31298 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31299 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
31300 (test_mod_SOURCES): New variable.
31301 (test_mod_CFLAGS): Likewise.
31302 (pkgdata_MODULES): Add `test.mod'.
31303 (grub_script.tab.c): New rule.
31304 (grub_script.tab.h): Likewise.
31305
daac212a 313062005-11-06 Marco Gerards <mgerards@xs4all.nl>
31307
31308 Add initial scripting support.
31309
31310 * commands/test.c: New file.
31311 * include/grub/script.h: Likewise.
31312 * normal/execute.c: Likewise.
31313 * normal/function.c: Likewise.
31314 * normal/lexer.c: Likewise.
31315 * normal/parser.y: Likewise.
31316 * normal/script.c: Likewise.
31317
31318 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 31319
daac212a 31320 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
31321 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
31322 `normal/function.c' and `normal/script.c'.
31323 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
31324 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 31325 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
31326 variables.
daac212a 31327 (pkgdata_MODULES): Add `test.mod'.
31328 (grub_script.tab.c): New rule.
31329 (grub_script.tab.h): Likewise.
31330
31331 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
31332
31333 * include/grub/normal.h (grub_test_init): New prototype.
31334 (grub_test_fini): Likewise.
f19dbdb7 31335
daac212a 31336 * normal/command.c: Include <grub/script.h>.
31337 (grub_command_execute): Rewritten.
f19dbdb7 31338
daac212a 31339 * util/grub-emu.c (main): Call `grub_test_init' and
31340 `grub_test_fini'.
31341
77500b2b 313422005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31343
31344 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
31345 to 0.
31346 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
31347 there are no pending characters.
31348
e45deb9e 313492005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31350
31351 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
31352 `grub_strndup' to drop device arguments. Replace unnecessary
31353 `grub_strndup' with `grub_strdup'.
31354
4ce32619 313552005-11-03 Hollis Blanchard <hollis@penguinppc.org>
31356
31357 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
31358 `debug' environment variable has been set.
31359
313602005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 31361
4ce32619 31362 * Makefile.in (install-local): Use $(DATA).
31363 (uninstall): Likewise.
31364 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
31365 (sbin_UTILITIES): ... to here.
31366 (sbin_SCRIPTS): New variable.
31367 (grub_install_SOURCES): New variable.
31368 * util/powerpc/ieee1275/grub-install.in: New file.
31369 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
31370 variable.
31371 (add_segments): Call `grub_util_get_path'.
31372
25fe6f03 313732005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
31374
31375 From Timothy Baldwin:
31376 * commands/ls.c (grub_ls_list_files): Close FILE with
31377 grub_file_close.
31378 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
31379
04ccf3ec 313802005-10-24 Marco Gerards <mgerards@xs4all.nl>
31381
31382 * include/grub/parser.h: New file.
31383
31384 * kern/parser.c: Likewise.
31385
31386 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
31387 (grub_setup_SOURCES): Likewise.
31388 (grub_probefs_SOURCES): Likewise.
31389 (grub_emu_SOURCES): Likewise.
31390 (kernel_img_HEADERS): Add `parser.h'.
31391
31392 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
31393 (grub_emu_SOURCES): Add `kern/parser.c'.
31394 (grubof_SOURCES): Likewise.
31395
31396 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
31397 (grubof_SOURCES): Add `kern/parser.c'.
31398
31399 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
31400
31401 * kern/misc.c (grub_split_cmdline): Removed function.
31402
31403 * kern/rescue.c: Include <grub/parser.h>.
31404 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
31405 of `grub_split_cmdline'.
31406
31407 * normal/command.c: Include <grub/parser.h>.
31408 (grub_command_execute): Use `grub_parser_split_cmdline' instead
31409 of `grub_split_cmdline'.
31410
31411 * normal/completion.c: Include <grub/parser.h>.
31412 (cmdline_state): New variable.
31413 (iterate_dir): End the filename with a quote depending on the
31414 command line state.
31415 (get_state): new function.
31416 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
31417 split the arguments and determine the current argument. When the
31418 argument string is not quoted, escape all spaces.
31419
6d8f4b0e 314202005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31421
31422 * normal/sparc64/setjmp.S: New file.
31423
15cf03ed 314242005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31425
31426 * include/grub/sparc64/libgcc.h: New file.
31427 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
31428 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
31429 normal/sparc64/setjmp.c.
31430
03e8661a 314312005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
31432
31433 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
31434 * kern/sparc64/cache.S: New file.
31435 * kern/sparc64/cache.c: Removed.
31436 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
31437 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
31438 -mtune=ultrasparc.
31439 (COMMON_LDFLAGS): Add -melf64_sparc.
31440 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
31441 (grubof_SOURCES): Use cache.S instead of cache.c.
31442 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
31443 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
31444 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
31445 commented though.
31446 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
31447 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
31448 (linux_mod_CFLAGS): Commented out.
31449 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
31450 out because module isn't built.
31451 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
31452 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
31453 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
31454 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
31455 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
31456 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
31457 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
31458 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
31459 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
31460 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
31461 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
31462 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
31463 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
31464 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
31465
34eeec8a 314662005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
31467
31468 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
31469 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
31470 longer, because HFS should not be used on PC.
31471
708367a3 314722005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
31473
31474 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
31475 consistently within the loop.
31476
6fa1251a 314772005-10-15 Marco Gerards <mgerards@xs4all.nl>
31478
31479 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
31480 directory can not be read.
31481
4801580b 314822005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31483
31484 * configure.ac (AC_INIT): Increase the version number to 1.91.
31485
31486 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
31487 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
31488 term/i386/pc/serial.c.
31489
219ad426 314902005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31491
31492 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
31493 file size must be permitted.
31494
31495 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
31496 between %ah and %al.
31497
688e5699 314982005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
31499
31500 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
31501 grub_uint64_t.
31502 Call the hook with a NUL-terminated filename.
31503 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
31504 grub_cpu_to_be32.
31505
31506 * kern/term.c (cursor_state): New variable.
31507 (grub_term_set_current): Reset the cursor state on a new
31508 terminal.
31509 (grub_setcursor): Rewritten to use CURSOR_STATE.
31510 (grub_getcursor): New function.
31511
31512 * include/grub/term.h (grub_getcursor): New prototype.
31513
31514 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
31515 integers on ARM. Reported by Timothy Baldwin
31516 <T.E.Baldwin99@members.leeds.ac.uk>.
31517
bb34586c 315182005-10-11 Marco Gerards <mgerards@xs4all.nl>
31519
31520 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
31521 allocated.
31522 (grub_sfs_dir): Likewise.
31523
9a909877 315242005-10-09 Marco Gerards <mgerards@xs4all.nl>
31525
31526 Add support for the SFS filesystem.
31527
31528 * fs/sfs.c: New file.
31529
31530 * DISTLIST: Added `fs/sfs.c'.
31531
31532 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
31533 (grub_probefs_SOURCES): Likewise.
31534 (grub_emu_SOURCES): Likewise.
31535 (pkgdata_MODULES): Add `sfs.mod'.
31536 (sfs_mod_SOURCES): New variable.
31537 (sfs_mod_CFLAGS): Likewise.
31538 (sfs_mod_LDFLAGS): Likewise.
31539
31540 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
31541 (pkgdata_MODULES): Add `sfs.mod'.
31542 (sfs_mod_SOURCES): New variable.
31543 (sfs_mod_CFLAGS): Likewise.
31544
31545 * util/grub-emu.c (main): Call `grub_sfs_init' and
31546 `grub_sfs_fini'.
31547
31548 * include/grub/fs.h (grub_sfs_init): New prototype.
31549 (grub_sfs_fini): Likewise.
31550
57bdbde3 315512005-10-07 Marco Gerards <mgerards@xs4all.nl>
31552
31553 Add support for the AFFS filesystem.
31554
31555 * fs/affs.c: New file.
31556
31557 * DISTLIST: Added `fs/affs.c'.
31558
31559 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
31560 (grub_probefs_SOURCES): Likewise.
31561 (grub_emu_SOURCES): Likewise.
31562 (pkgdata_MODULES): Add `affs.mod'.
31563 (affs_mod_SOURCES): New variable.
31564 (affs_mod_CFLAGS): Likewise.
31565 (affs_mod_LDFLAGS): Likewise.
31566
31567 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
31568 (pkgdata_MODULES): Add `affs.mod'.
31569 (affs_mod_SOURCES): New variable.
31570 (affs_mod_CFLAGS): Likewise.
31571
31572 * util/grub-emu.c (main): Call `grub_affs_init' and
31573 `grub_affs_fini'.
31574
31575 * include/grub/fs.h (grub_affs_init): New prototype.
31576 (grub_affs_fini): Likewise.
31577
047b67e0 315782005-10-01 Marco Gerards <mgerards@xs4all.nl>
31579
31580 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
31581
59b8208a 315822005-10-01 Marco Gerards <mgerards@xs4all.nl>
31583
31584 * configure.ac: Accept `x86_64' as host_cpu. In that case add
31585 `-m32' to CFLAGS.
31586
31587 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
31588 linking.
f19dbdb7 31589
59b8208a 31590 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
31591 (COMMON_LDFLAGS): New variable.
31592 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
31593 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
31594 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
31595 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
31596 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
31597 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
31598 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
31599 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
31600 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
31601 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
31602 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
31603 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
31604 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
31605 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
31606 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
31607 variables.
31608 (normal_mod_ASFLAGS): Add `-m32'.
31609
31610 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
31611 (grub_host_size_t, grub_host_ssize_t): New types.
31612 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 31613 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 31614 `GRUB_HOST_SIZEOF_VOID_P'.
31615
31616 * include/grub/kernel.h (struct grub_module_header): Type of
31617 member offset changed to `grub_host_off_t'. Type of member size
31618 changed to `grub_host_size_t'.
31619 (struct grub_module_info): Type of member offset changed to
31620 `grub_host_off_t'. Type of member size changed to
31621 `grub_host_size_t'.
31622
b4093103 316232005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
31624
31625 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 31626
b4093103 31627 * kern/i386/pc/startup.S (multiboot_header): New label.
31628 (multiboot_entry): Likewise.
31629 (multiboot_trampoline): Likewise.
31630
31631 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
31632 Increased to 0x4A0.
31633
31634 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
31635 put parentheses after a question mark.
31636 [!GRUB_UTIL] (my_mod): New variable.
31637
31638 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
31639
b2499b29 316402005-09-28 Marco Gerards <mgerards@xs4all.nl>
31641
31642 Adds support for the XFS filesystem. Btrees are not supported
31643 yet.
31644
31645 * fs/xfs.c: New file.
31646
31647 * DISTLIST: Added `fs/xfs.c'.
31648
31649 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
31650 (grub_probefs_SOURCES): Likewise.
31651 (grub_emu_SOURCES): Likewise.
31652 (pkgdata_MODULES): Add `xfs.mod'.
31653 (xfs_mod_SOURCES): New variable.
31654 (xfs_mod_CFLAGS): Likewise.
31655
31656 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
31657 (pkgdata_MODULES): Add `xfs.mod'.
31658 (xfs_mod_SOURCES): New variable.
31659 (xfs_mod_CFLAGS): Likewise.
31660
31661 * util/grub-emu.c (main): Call `grub_xfs_init' and
31662 `grub_xfs_fini'.
31663
31664 * include/grub/fs.h (grub_xfs_init): New prototype.
31665 (grub_xfs_fini): Likewise.
31666
f19dbdb7 31667
83d37a62 316682005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
31669
31670 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
31671 color modes, allow greater than 16 colors to be configured as
31672 a default palette.
31673
47d2d65e 316742005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
31675
31676 * normal/completion.c (complete_arguments): Add the qualifier
31677 const into OPTIONS.
31678
31679 From Omniflux <omniflux+lists@omniflux.com>:
31680 * include/grub/terminfo.h: New file.
31681 * include/grub/tparm.h: Likewise.
31682 * include/grub/i386/pc/serial.h: Likewise.
31683 * term/terminfo.c: Likewise.
31684 * term/tparm.c: Likewise.
31685 * term/i386/pc/serial.c: Likewise.
31686 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
31687 serial.mod.
31688 (terminfo_mod_SOURCES): New variable.
31689 (terminfo_mod_CFLAGS): Likewise.
31690 (serial_mod_SOURCES): Likewise.
31691 (serial_mod_CFLAGS): Likewise.
31692
48b671ff 316932005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
31694
31695 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
31696 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
31697 and kern/powerpc/ieee1275/cmain.c, respectively.
31698
31699 * boot/powerpc/ieee1275/crt0.S: Moved to ...
31700 * kern/powerpc/ieee1275/crt0.S: ... here.
31701
31702 * boot/powerpc/ieee1275/cmain.c: Moved to ...
31703 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 31704
48b671ff 31705 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
31706 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
31707 instead of boot/powerpc/ieee1275/crt0.S and
31708 boot/powerpc/ieee1275/cmain.c, respectively.
31709
31710 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
31711 sectors. It was not used anyway.
31712
09fc77a7 317132005-08-30 Hollis Blanchard <hollis@penguinppc.org>
31714
31715 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
31716 `unused parameter' warning.
31717
003789c7 317182005-08-30 Hollis Blanchard <hollis@penguinppc.org>
31719
31720 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
31721 function.
31722 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
31723 getcharwidth.
31724
67f44c86 317252005-08-28 Marco Gerards <metgerards@student.han.nl>
31726
31727 * include/grub/normal.h (enum grub_completion_type): Added
31728 `GRUB_COMPLETION_TYPE_ARGUMENT'.
31729
31730 * normal/cmdline.c (print_completion): Handle
31731 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
31732 * normal/menu_entry.c (store_completion): Likewise.
31733
31734 * normal/completion.c (complete_arguments): New function.
31735 (grub_normal_do_completion): Call `complete_arguments' when the
31736 current words start with a dash.
31737
0b5abe02 317382005-08-27 Marco Gerards <metgerards@student.han.nl>
31739
31740 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
31741 `gzio.mod' instead of `io.mod').
31742
d9864ee1 317432005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
31744
31745 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
31746 (DISTDIRS): Added io and video.
31747 Rewrite the search routine to make an output consistently.
31748
31749 * DISTLIST: Added conf/sparc64-ieee1275.mk,
31750 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
31751 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
31752 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
31753 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
31754 util/powerpc/ieee1275/misc.c.
f19dbdb7 31755
d9864ee1 31756 * include/grub/gzio.h: New file.
31757 * io/gzio.c: Likewise.
f19dbdb7 31758
d9864ee1 31759 * kern/file.c (grub_file_close): Call grub_device_close only if
31760 FILE->DEVICE is not NULL.
31761
31762 * include/grub/mm.h [!NULL] (NULL): New macro.
31763
31764 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
31765
31766 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
31767 (pkgdata_MODULES): Added gzio.mod.
31768 (gzio_mod_SOURCES): New variable.
31769 (gzio_mod_CFLAGS): Likewise.
31770
31771 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
31772 (pkgdata_MODULES): Added gzio.mod.
31773 (gzio_mod_SOURCES): New variable.
31774 (gzio_mod_CFLAGS): Likewise.
31775
31776 * commands/cat.c: Include grub/gzio.h.
31777 (grub_cmd_cat): Use grub_gzfile_open instead of
31778 grub_file_open.
f19dbdb7 31779
d9864ee1 31780 * commands/cmp.c: Include grub/gzio.h.
31781 (grub_cmd_cmp): Use grub_gzfile_open instead of
31782 grub_file_open.
31783
31784 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
31785 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
31786 grub_file_open.
31787 (grub_rescue_cmd_module): Likewise.
31788
fa46f4b5 317892005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
31790
31791 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
31792 kern/sparc64/ieee1275/init.c because it contains _start.
31793 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
31794
e9211b5d 317952005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
31796
31797 * configure.ac: Add support for sparc64 host with ieee1275
31798 firmware.
31799 * configure: Generated from configure.ac.
31800 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
31801 instead of int.
31802 (grub_ofdisk_read): Likewise.
31803 (grub_ofdisk_open): Use %p to print pointer values, and cast the
31804 pointers as (void *) to remove a warning.
31805 (grub_ofdisk_close): Likewise.
31806 (grub_ofdisk_read): Likewise.
31807 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
31808 returns, so make it return void to remove a warning.
31809 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
31810 Corresponding prototype change.
31811 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
31812 values, and cast the pointers as (void *) to remove a warning.
31813 (grub_mm_dump): Likewise.
31814 * conf/sparc64-ieee1275.mk: New file.
31815 * conf/sparc64-ieee1275.rmk: Likewise.
31816 * include/grub/sparc64/setjmp.h: Likewise.
31817 * include/grub/sparc64/types.h: Likewise.
31818 * include/grub/sparc64/ieee1275/console.h: Likewise.
31819 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
31820 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
31821 * include/grub/sparc64/ieee1275/time.h: Likewise.
31822 * kern/sparc64/cache.c: Likewise.
31823 * kern/sparc64/dl.c: Likewise.
31824 * kern/sparc64/ieee1275/init.c: Likewise.
31825 * kern/sparc64/ieee1275/openfw.c: Likewise.
31826
385c6a92 318272005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
31828
31829 * util/console.c (grub_ncurses_putchar): If C is greater than
31830 0x7f, set C to a question mark.
31831 (grub_ncurses_getcharwidth): New function.
31832 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
31833 getcharwidth.
31834
31835 * normal/menu.c (print_entry): Made aware of Unicode. First,
31836 convert TITLE to UCS-4, and predict the cursor position by
31837 grub_getcharwidth.
31838
31839 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
31840 const to SRC.
31841 * kern/misc.c (grub_utf16_to_utf8): Likewise.
31842
16ccb8b1 318432005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31844
31845 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
31846 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
31847 grub_strcat.
31848
31849 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
31850 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
31851 grub_strcpy and grub_strlen. Take it into account that a space
31852 character is inserted as a delimiter.
31853
6a85ce79 318542005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31855
31856 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 31857 invalid magic in the error.
6a85ce79 31858
31859 * commands/search.c: New file.
f19dbdb7 31860
6a85ce79 31861 * util/grub-emu.c (main): Call grub_search_init and
31862 grub_search_fini.
31863
31864 * kern/rescue.c (grub_rescue_print_disks): Removed.
31865 (grub_rescue_print_devices): New function.
31866 (grub_rescue_cmd_ls): Use grub_device_iterate with
31867 grub_rescue_print_devices instead of grub_disk_dev_iterate with
31868 grub_rescue_print_disks.
31869
31870 * kern/partition.c (grub_partition_iterate): Return the result of
31871 PARTMAP->ITERATE instead of GRUB_ERRNO.
31872
31873 * kern/device.c: Include grub/partition.h.
31874 (grub_device_iterate): New function.
31875
31876 * include/grub/partition.h (grub_partition_iterate): Return int
31877 instead of grub_err_t.
31878
31879 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
31880 prototype.
31881 [GRUB_UTIL] (grub_search_fini): Likewise.
31882
31883 * include/grub/device.h (grub_device_iterate): New prototype.
31884
31885 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
31886 commands/search.c.
31887 (pkgdata_MODULES): Added search.mod.
31888 (search_mod_SOURCES): New variable.
31889 (search_mod_CFLAGS): Likewise.
31890
31891 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
31892 (pkgdata_MODULES): Added search.mod.
31893 (search_mod_SOURCES): New variable.
31894 (search_mod_CFLAGS): Likewise.
31895
31896 * commands/ls.c (grub_ls_list_disks): Renamed to ...
31897 (grub_ls_list_devices): ... this, and use grub_device_iterate.
31898 All callers changed.
31899
31900 * DISTLIST: Added commands/search.c.
31901
ef095434 319022005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
31903
31904 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
31905 conversion.
31906 (grub_getcharwidth): New function.
31907
31908 * kern/misc.c (grub_utf8_to_ucs4): New function.
31909
31910 * include/grub/term.h (struct grub_term): Added a new member
31911 "getcharwidth".
31912 (grub_getcharwidth): New prototype.
31913
31914 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
31915
31916 * term/i386/pc/console.c (map_char): New function. Segregated from
31917 grub_console_putchar.
31918 (grub_console_putchar): Use map_char.
31919 (grub_console_getcharwidth): New function.
31920 (grub_console_term): Specified grub_console_getcharwidth as
31921 getcharwidth.
31922
31923 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
31924 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
31925
31926 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
31927 GRUB_ERRNO.
31928 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
31929 on grub_strtoul completely.
31930 (write_char): Declare local variables in the beginning of the
31931 function.
31932 (grub_vesafb_getcharwidth): New function.
31933 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
31934 getcharwidth.
31935
1f0a95e4 319362005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
31937
31938 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
31939 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
31940 commands/i386/pc/vbetest.c.
31941
31942 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
31943 call grub_vbe_get_controller_info again, because the returned
31944 information is volatile.
31945 (grub_vbe_set_video_mode): Mostly rewritten.
31946 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
31947 grub_vbe_status_t correctly.
31948 (grub_vbe_get_video_mode_info): Likewise.
31949 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
31950 several if statements.
31951
31952 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
31953 * commands/i386/pc/vbeinfo.c: ... this.
31954
31955 * commands/i386/pc/vbe_test.c: Renamed to ...
31956 * commands/i386/pc/vbetest.c: ... this.
31957
31958 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
31959 ...
31960 (grub_cmd_vbeinfo): ... this. Save video modes before
31961 iterating. Skip a video mode, if it is not available, not enough
31962 information is given or it is monochrome. Show the memory
31963 model. Leave the interpretation of MODEVAR to grub_strtoul
31964 completely.
31965 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
31966 (GRUB_MOD_FINI): Likewise.
31967
31968 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
31969 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
31970 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
31971 duplicated grub_env_get. Leave the interpretation of MODEVAR to
31972 grub_strtoul completely.
31973 (real2pm): Removed.
31974 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
31975 (GRUB_MOD_FINI): Likewise.
31976
31977 * normal/misc.c: Include grub/mm.h.
31978
31979 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
31980 vbe_list_modes with vbetest.mod and vbeinfo.mod.
31981 (vbe_list_modes_mod_SOURCES): Removed.
31982 (vbe_list_modes_mod_CFLAGS): Likewise.
31983 (vbe_test_mod_SOURCES): Likewise.
31984 (vbe_test_mod_CFLAGS): Likewise.
31985 (vbeinfo_mod_SOURCES): New variable.
31986 (vbeinfo_mod_CFLAGS): Likewise.
31987 (vbetest_mod_SOURCES): Likewise.
31988 (vbetest_mod_CFLAGS): Likewise.
31989
992ffbbe 319902005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
31991
31992 * normal/misc.c: New file.
31993
31994 * DISTLIST: Added normal/misc.c.
f19dbdb7 31995
992ffbbe 31996 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
31997 DISK to HOOK. Call HOOK with DISK.
31998 * partmap/apple.c (apple_partition_map_iterate): Likewise.
31999 * partmap/pc.c (pc_partition_map_iterate): Likewise.
32000 * partmap/sun.c (sun_partition_map_iterate): Likewise.
32001
32002 * normal/menu_entry.c (struct screen): Added a new member
32003 "completion_shown".
32004 (completion_buffer): New global variable.
32005 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
32006 (store_completion): New function.
32007 (complete): Likewise.
32008 (clear_completions): Likewise.
32009 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
32010 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
32011 a tab, call complete.
32012
32013 * normal/completion.c (disk_dev): Removed.
32014 (print_simple_completion): Likewise.
32015 (print_partition_completion): Likewise.
32016 (print_func): New global variable.
32017 (add_completion): Do not take the arguments WHAT or PRINT any
32018 longer. Added a new argument TYPE. Instead of printing directly,
32019 call PRINT_FUNC if not NULL.
32020 All callers changed.
32021 (complete_device): Use a local variable DEV instead of
32022 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
32023 (grub_normal_do_completion): Take a new argument HOOK. Do not
32024 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
32025 empty string, return NULL instead.
32026 All callers changed.
32027
32028 * normal/cmdline.c (print_completion): New function.
32029
32030 * kern/partition.c (grub_partition_iterate): Add an argument DISK
32031 to HOOK.
32032 All callers changed.
32033
32034 * kern/disk.c (grub_print_partinfo): Removed.
32035
32036 * include/grub/partition.h (struct grub_partition_map): Add a new
32037 argument DISK into HOOK of ITERATE.
32038 (grub_partition_iterate): Add a new argument DISK to HOOK.
32039
32040 * include/grub/normal.h (enum grub_completion_type): New enum.
32041 (grub_completion_type_t): New type.
32042 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
32043 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
32044 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
32045 (GRUB_COMPLETION_TYPE_FILE): Likewise.
32046 (grub_normal_do_completion): Added a new argument HOOK.
32047 (grub_normal_print_device_info): New prototype.
32048
32049 * include/grub/disk.h (grub_print_partinfo): Removed.
32050
32051 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
32052 (normal_mod_SOURCES): Likewise.
32053 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32054 (normal_mod_SOURCES): Likewise.
32055
32056 * commands/ls.c (grub_ls_list_disks): Use
32057 grub_normal_print_device_info instead of grub_print_partinfo. Free
32058 PNAME.
32059 (grub_ls_list_files): Use grub_normal_print_device_info instead of
32060 duplicating the code.
32061
0bd41162 320622005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
32063
32064 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 32065 follow GCS more precisely.
32066 * commands/i386/pc/vbe_test.c: Likewise.
32067 * include/grub/i386/pc/vbe.h: Likewise.
32068 * term/i386/pc/vesafb.c: Likewise.
32069 * video/i386/pc/vbe.c: Likewise.
0bd41162 32070
6323696a 320712005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
32072
32073 * DISTLIST: Added term/i386/pc/vesafb.c
32074 DISTLIST: Added video/i386/pc/vbe.c
32075 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
32076 DISTLIST: Added commands/i386/pc/vbe_test.c.
32077 * commands/i386/pc/vbe_list_modes.c: New file.
32078 * commands/i386/pc/vbe_test.c: Likewise.
32079 * term/i386/pc/vesafb.c: Likewise.
32080 * video/i386/pc/vbe.c: Likewise.
32081 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
32082 (grub_vbe_probe) Added prototype.
32083 (grub_vbe_set_video_mode) Likewise.
32084 (grub_vbe_get_video_mode) Likewise.
32085 (grub_vbe_get_video_mode_info) Likewise.
32086 (grub_vbe_set_pixel_rgb) Likewise.
32087 (grub_vbe_set_pixel_index) Likewise.
32088 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
32089 (pkgdata_MODULES): Added vesafb.mod.
32090 (pkgdata_MODULES): Added vbe_list_modes.mod.
32091 (pkgdata_MODULES): Added vbe_test.mod.
32092 (vbe_mod_SOURCES): Added.
32093 (vbe_mod_CFLAGS): Likewise.
32094 (vesafb_mod_SOURCES): Likewise.
32095 (vesafb_mod_CFLAGS): Likewise.
32096 (vbe_list_modes_mod_SOURCES): Likewise.
32097 (vbe_list_modes_mod_CFLAGS): Likewise.
32098 (vbe_test_mod_SOURCES): Likewise.
32099 (vbe_test_mod_CFLAGS): Likewise.
32100
0a74e62f 321012005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
32102
0a74e62f 32103 * normal/command.c (grub_command_execute): If INTERACTIVE is
32104 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
32105 CMDLINE. Disable the pager if INTERACTIVE is true.
32106 All callers are changed.
32107
32108 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
32109 before reading a config file.
32110 * normal/main.c (read_config_file): Even if a command is not
32111 found, register it if it is within an entry.
32112
32113 * util/grub-emu.c: Include sys/types.h and unistd.h.
32114 (options): Added --hold.
32115 (struct arguments): Added a new member "hold".
32116 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
32117 missing.
32118 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
32119 cleared by a debugger, if it is not zero.
32120
32121 * include/grub/normal.h (grub_command_execute): Add an argument
32122 INTERACTIVE.
32123
e51f85ae 321242005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
32125
32126 * DISTLIST: Added include/grub/i386/pc/vbe.h.
32127
e9c6f39b 321282005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
32129
32130 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
32131 program with another one, because the old one didn't detect a bug
32132 in gcc-3.4. Always use regparm 2, because the new test is still
32133 not enough for gcc-4.0. Someone must investigate a simple test
32134 case which detects a bug in gcc-4.0.
32135
8de3495c 321362005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
32137
32138 * DISTLIST: Added normal/completion.c.
32139
32140 * normal/completion.c: New file.
f19dbdb7 32141
8de3495c 32142 * term/i386/pc/console.c (grub_console_getwh): New function.
32143 (grub_console_term): Assign grub_console_getwh to getwh.
32144
32145 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
32146 function is defined in normal/completion.c as
32147 grub_normal_do_completion.
32148 (grub_cmdline_get): Use grub_normal_do_completion instead of
32149 grub_tab_complete.
32150
32151 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
32152 returns non-zero, otherwise return 0.
32153 (grub_partition_iterate): First, probe the partition map. Then,
32154 call ITERATE only for this partition map.
32155
32156 * kern/misc.c (grub_strncmp): Rewritten.
32157
32158 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
32159 returns non-zero. Otherwise return 0.
32160
32161 * include/grub/partition.h (grub_partition_map_iterate): Return
32162 int instead of void.
32163
32164 * include/grub/normal.h (grub_normal_do_completion): New prototype.
32165
32166 * include/grub/misc.h (grub_strncmp): Change the type of N to
32167 grub_size_t.
32168
32169 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
32170 of void.
32171
32172 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 32173 unsigned explicitly before comparing it with I.
8de3495c 32174
32175 * kern/main.c (grub_env_write_root): Add the attribute unused into
32176 VAR.
32177
32178 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
32179 normal/completion.c.
32180 (normal_mod_SOURCES): Likewise.
32181 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32182 (normal_mod_SOURCES): Likewise.
32183
32184 * normal/command.c (grub_iterate_commands): If ITERATE returns
32185 non-zero, return one immediately.
32186
e85e144b 321872005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
32188
32189 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
32190 * kern/i386/pc/startup.S: Updated Global Descriptor table's
32191 descriptions.
32192 (grub_vbe_get_controller_info): New function.
32193 (grub_vbe_get_mode_info): Likewise.
32194 (grub_vbe_set_mode): Likewise.
32195 (grub_vbe_get_mode): Likewise.
32196 (grub_vbe_set_memory_window): Likewise.
32197 (grub_vbe_get_memory_window): Likewise.
32198 (grub_vbe_set_scanline_length): Likewise.
32199 (grub_vbe_get_scanline_length): Likewise.
32200 (grub_vbe_set_display_start): Likewise.
32201 (grub_vbe_get_display_start): Likewise.
32202 (grub_vbe_set_palette_data): Likewise.
32203 * include/grub/i386/pc/vbe.h: New file.
32204
c46153d2 322052005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32206
32207 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
32208 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
32209 * DISTLIST: Likewise.
32210 * kern/ieee1275/of.c: Moved to ...
32211 * kern/ieee1275/ieee1275.c: ... here.
32212
0cb90c45 322132005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32214
32215 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
32216 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
32217 Pass 0 as `end' parameter to grub_strtoul().
32218
a19fb360 322192005-08-08 Hollis Blanchard <hollis@penguinppc.org>
32220
32221 * include/grub/powerpc/ieee1275/console.h: Do not include
32222 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
32223 ifdef.
32224 (grub_console_cur_color): Remove i386-specific prototype.
32225 (grub_console_real_putchar): Likewise.
32226 (grub_console_checkkey): Likewise.
32227 (grub_console_getkey): Likewise.
32228 (grub_console_getxy): Likewise.
32229 (grub_console_gotoxy): Likewise.
32230 (grub_console_cls): Likewise.
32231 (grub_console_setcursor): Likewise.
32232 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
32233 Include <grub/machine/console.h>.
32234 * term/ieee1275/ofconsole.c: Likewise.
32235
4ac9bd04 322362005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
32237
32238 * Makefile.in (LIBLZO): New variable.
32239
32240 * configure.ac: Check for LZO version 2.
32241
32242 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
32243 lzo/lzo1x.h instead of lzo1x.h.
32244
32245 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
32246 of -llzo.
32247
32248 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
32249 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
32250
32251 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
32252 copying the data from PARTITION to P.
32253
f4917dfd 322542005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32255
32256 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
32257 negative, unload the module.
32258
32259 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
32260 map is "pc_partition_map" but not "pc".
32261 (usage): Fix the description. The options are --boot-image and
32262 --core-image but not --boot-file or --core-file.
32263 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
32264 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
32265 DEFAULT_DIRECTORY.
32266
32267 * util/i386/pc/grub-install.in: Do not specify --boot-file or
32268 --core-file. Specify INSTALL_DEVICE as an argument.
32269
32270 * util/console.c: Include config.h.
32271 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
32272 [HAVE_NCURSES_H]: Include ncurses.h.
32273 [HAVE_CURSES_H]: Include curses.h.
32274 [!A_NORMAL] (A_NORMAL): Defined as zero.
32275 [!A_STANDOUT] (A_STANDOUT): Likewise.
32276
32277 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
32278 -lncurses.
32279 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
32280
32281 * configure.ac: Check for curses libraries and headers.
32282
32283 * Makefile.in (LIBCURSES): New variable.
32284
32285 * genmk.rb (Script::rule): Set the executable bits.
32286
32287 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
32288 name of the PC partition map is "pc_partition_map" but not "pc".
32289
0e143073 322902005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32291
32292 * util/i386/pc/grub-install.in (grub_probefs): New variable.
32293 (modules): Likewise.
32294 (usage): Added descriptions for --modules and --grub-probefs.
32295 Handle --modules and --grub-probefs. Save the arguments in MODULES
32296 and GRUB_PROBEFS, respectively.
32297 Auto-detect a filesystem module against GRUBDIR. If the result is
32298 empty and modules are not specified explicitly, abort the
32299 installation. Add the result to MODULES.
32300
32301 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
32302 disk/powerpc/ieee1275/ofdisk.c,
32303 include/grub/powerpc/ieee1275/init.h and
32304 term/powerpc/ieee1275/ofconsole.c.
32305 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
32306 term/ieee1275/ofconsole.c.
32307
32308 * include/grub/powerpc/ieee1275/console.h: Resurrected.
32309
32310 * COPYING: Upgraded to the latest version. Only the address of the
32311 FSF office has changed.
f19dbdb7 32312
efd6e6d5 323132005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
32314
32315 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
32316 kern/ieee1275.c with kern/ieee1275/of.c.
32317
32318 * kern/ieee1275.c: Moved to ...
32319 * kern/ieee1275/of.c: ... here.
32320
8ceafda2 323212005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
32322
32323 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 32324 readability.
8ceafda2 32325
32326 * config.guess: Updated to the latest version from gnulib.
32327 * config.sub: Likewise.
32328 * install.sh: Likewise.
32329 * mkinstalldirs: Likewise.
32330
32331 * include/grub/console.h: Removed. This file is arch-specific. Do
32332 not put this in include/grub.
32333
32334 * include/grub/i386/pc/console.h: Resurrected.
32335
32336 * util/console.c: Include grub/machine/console.h instead of
32337 grub/console.h.
32338 * util/grub-emu.c: Likewise.
32339
267f6cd9 323402005-08-04 Marco Gerards <metgerards@student.han.nl>
32341
32342 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
32343 hardcoded value.
f19dbdb7 32344
267f6cd9 32345 From Vincent Pelletier <subdino2004@yahoo.fr>
32346 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
32347 Redefined to use grub_getwh.
32348 (grub_term): New member named getwh.
32349 (grub_getwh): New prototype.
32350 * kern/term.c (grub_getwh): New function.
32351 * term/i386/pc/console.c (grub_console_getwh): New function.
32352 (grub_console_term): New member `getwh'.
32353 * term/i386/pc/vga.c (grub_vga_getwh): New function.
32354 (grub_vga_term): New member `getwh'.
0b5abe02 32355 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 32356 grub_ssize_t.
32357 (grub_ofconsole_getw): New function.
32358 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
32359 (grub_ofconsole_term): New field named getwh and new initial
32360 value.
32361
3be7266d 323622005-08-03 Hollis Blanchard <hollis@penguinppc.org>
32363
32364 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
32365 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
32366 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
32367 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
32368 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
32369 of <grub/machine/ieee1275.h>.
32370 * commands/ieee1275/reboot.c: Likewise.
32371 * boot/powerpc/ieee1275/ieee1275.c: Move ...
32372 * kern/ieee1275.c: ... to here. All users updated. Change all
32373 parameter structs to use new type `grub_ieee1275_cell_t'.
32374 * term/powerpc/ieee1275/ofconsole.c: Move ...
32375 * term/ieee1275/ofconsole.c: ... to here. All users updated.
32376 * disk/powerpc/ieee1275/ofdisk.c: Move ...
32377 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
32378 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
32379 to return int.
32380 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
32381 Remove unused prototypes. All users updated.
32382 * include/grub/powerpc/ieee1275/console.h: Removed.
32383 * include/grub/powerpc/ieee1275/ieee1275.h: Define
32384 `grub_ieee1275_cell_t'.
32385 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
32386 Cast comparisons with -1 to the correct type.
32387 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
32388 type to match `grub_ieee1275_entry_fn'.
32389
8b5f3938 323902005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
32391
32392 * DISTLIST: Added util/i386/pc/grub-probefs.c.
32393
32394 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
32395 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
32396 partmap/sun.c.
32397 (grub_probefs_SOURCES): New variable.
32398
32399 * util/i386/pc/grub-probefs.c: New file.
32400
32401 * util/i386/pc/grub-setup.c (main): Call
32402 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
32403 grub_hfs_init and grub_jfs_init to initialize the system. Call
32404 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
32405 grub_pc_partition_map_fini to finish the system.
32406
ea409713 324072005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
32408
32409 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
32410 function.
32411 (grub_multiboot_load_elf32): Likewise.
32412 (grub_multiboot_is_elf64): Likewise.
32413 (grub_multiboot_load_elf64): Likewise.
32414 (grub_multiboot_load_elf): Likewise.
32415 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
32416 an ELF32 or ELF64 file.
32417 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
32418
32419 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
32420 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
32421 NULL before calling FS->LABEL.
32422 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
32423 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
32424 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
32425 before calling FS->LABEL.
32426
141a288b 324272005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
32428
32429 * util/i386/pc/grub-install.in (datadir): New variable.
32430 (libdir): Removed.
32431 (pkgdatadir): New variable.
32432 (pkglibdir): Removed.
32433
0d5f8a54 324342005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
32435
32436 * DISTLIST: Added util/i386/pc/grub-install.in.
32437
32438 * util/i386/pc/grub-install.in: New file.
32439
32440 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
32441 (grub_install_SOURCES): Likewise.
32442
32443 * genmk.rb: Added support for scripts.
32444 (Script): New class.
32445 (scripts): New variable.
32446
32447 * Makefile.in (install-local): Install sbin_SCRIPTS by
32448 INSTALL_SCRIPT.
32449 (uninstall): Remove sbin_SCRIPTS.
32450
32451 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
32452 device, try to get a GRUB device by
32453 grub_util_biosdisk_get_grub_dev.
32454 Free DEST_DEV.
32455
32456 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
32457 description for --device-map.
32458
5f968e1e 324592005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
32460
32461 Change the semantics of variable hooks. They now return strings
32462 instead of error values.
f19dbdb7 32463
5f968e1e 32464 * util/i386/pc/grub-setup.c: Include grub/env.h.
32465 (setup): Use grub_device_set_root instead of grub_env_set.
32466
32467 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
32468 grub_env_get instead of grub_device_set_root and
32469 grub_device_get_root, respectively.
32470
32471 * kern/main.c (grub_env_write_root): New function.
32472 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
32473 grub_env_set instead of grub_device_set_root.
32474
32475 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
32476 many variables.
32477 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
32478 rather than calling ENV->WRITE_HOOK afterwards.
32479 (grub_env_get): Return the result of ENV->READ_HOOK rather than
32480 passing a pointer of a pointer.
32481 (grub_register_variable_hook): Change the types of "read_hook" and
32482 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
32483 respectively.
32484 Allocate the default empty string on the heap, because this string
32485 may be freed later.
32486
32487 * kern/device.c: Include grub/env.h.
32488 (grub_device_set_root): Removed.
32489 (grub_device_get_root): Likewise.
32490 (grub_device_open): Use grub_env_get instead of
32491 grub_device_get_root.
32492
32493 * include/grub/env.h (grub_env_read_hook_t): New type.
32494 (grub_env_write_hook_t): Likewise.
32495 (grub_env_var): Change the types of "read_hook" and "write_hook"
32496 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
32497 (grub_register_variable_hook): Likewise.
32498
32499 * include/grub/device.h (grub_device_set_root): Removed.
32500 (grub_device_set_root): Likewise.
32501
32502 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
32503 make sure that DIRNAME terminates with '/', so that
32504 grub_fat_find_dir will fail if PATH is not a directory.
32505
32506 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
32507 from DIRNAME.
32508 Use the qualifier auto for print_files and print_files_long.
32509 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
32510 as a regular file.
32511 Put a newline only if there is no error.
32512 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
32513 used.
32514
896f0afd 325152005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
32516
32517 * kern/partition.c (grub_partition_probe): Initialize PART to
32518 NULL. Otherwise, when no partition map is registered, this returns
32519 a garbage.
32520
b28b81b2 325212005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
32522
32523 * partmap/apple.c (apple_partition_map_iterate): Check if POS
32524 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
32525 valid.
32526
5f3607e0 325272005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
32528
32529 * commands/ls.c (grub_ls_list_disks): Print the filesystem
32530 information on each device, if it does not have partitions. Print
32531 "Device" instead of "Disk", because this function is not specific
32532 to disk devices.
32533
32534 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
32535 static to ensure that it is put on the memory rather than a
32536 register.
32537
502c87e8 325382005-07-17 Yoshinori Okuji <okuji@enbug.org>
32539
32540 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
32541 (grub_cat_init): Likewise.
32542 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
32543 (options): Likewise.
32544 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
32545 (grub_configfile_init): Likewise.
32546 * font/manager.c (GRUB_MOD_INIT): Likewise.
32547 * commands/help.c (GRUB_MOD_INIT): Likewise.
32548 (grub_help_init): Likewise.
32549 * normal/command.c (grub_command_init): Likewise.
32550 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
32551 * disk/loopback.c (grub_loop_init): Likewise.
32552 (GRUB_MOD_INIT): Likewise.
32553 * commands/ls.c (grub_ls_init): Likewise.
32554 (GRUB_MOD_INIT): Likewise.
32555 (options): Likewise.
32556 * commands/boot.c (grub_boot_init): Likewise.
32557 (GRUB_MOD_INIT): Likewise.
32558 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
32559 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
32560 (GRUB_MOD_INIT): Likewise.
32561 * commands/cmp.c (grub_cmp_init): Likewise.
32562 (GRUB_MOD_INIT): Likewise.
32563
32564 * normal/arg.c: Use <> instead of "" to include header files.
32565 (SHORT_ARG_HELP): New macro.
32566 (SHORT_ARG_USAGE): Likewise.
32567 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
32568 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
32569 descriptions.
32570 (find_short): Check if C is 'h' or 'u' explicitly.
32571 (grub_arg_show_help): Use space characters instead of tabs. Treat
32572 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
32573 are shown with --help and --usage only if they are not used for
32574 the command itself.
32575 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
32576 'h' and 'u'.
32577
32578 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
32579 const into "longarg". Change the type of "shortarg" to int.
32580
f806d18e 325812005-07-17 Yoshinori Okuji <okuji@enbug.org>
32582
32583 * boot/i386/pc/boot.S (boot_drive_check): New label.
32584
32585 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
32586 macro.
32587
32588 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
32589 which do not pass a boot drive correctly. Copied from GRUB Legacy.
32590
e293232b 325912005-07-17 Yoshinori Okuji <okuji@enbug.org>
32592
32593 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
32594 When turning off Gate A20, skip the check and return immediately,
32595 because this is not fatal usually.
32596
ebedfd00 325972005-07-17 Yoshinori Okuji <okuji@enbug.org>
32598
32599 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
32600 be 0x7C00 instead of 0x8000.
32601
32602 * boot/i386/pc/pxeboot.S: Rewritten.
32603
32604 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
32605 EXT_C.
32606 (gate_a20_check_state): Read a byte from 0x108000. Invert the
32607 result.
32608
654fc59f 326092005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
32610
32611 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
32612 robustness. This routine now supports a BIOS call and System
32613 Control Port A to modify the gate A20.
32614
32615 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
32616 Increased to 0x440.
32617
09f9923f 326182005-07-12 Hollis Blanchard <hollis@penguinppc.org>
32619
32620 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
32621 device path and resulting ihandle.
32622 (grub_ofdisk_close): dprintf the ihandle being closed.
32623 (grub_ofdisk_read): dprintf function parameters.
32624 * kern/mm.c (grub_mm_init_region): Likewise.
32625 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
32626 (grub_linux_boot): dprintf the Linux entry point, initrd address and
32627 size, and boot arguments.
32628 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
32629 before loading into memory.
32630 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
32631 before loading into memory.
32632
7ef504d8 326332005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
32634
32635 * kern/mm.c: Added much documentation.
32636 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
32637 8, set to 5 instead of 8.
32638
e0f050c2 326392005-07-10 Yoshinori Okuji <okuji@enbug.org>
32640
32641 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
32642
32643 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
32644 (grub_mkdevicemap_SOURCES): New variable.
32645
32646 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
32647 lib/device.c of GRUB Legacy.
32648
7224189a 326492005-07-10 Yoshinori Okuji <okuji@enbug.org>
32650
32651 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
32652 instead of PATH is NULL.
32653
68c864eb 326542005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
32655
32656 * commands/cmp.c (BUFFER_SIZE): New macro.
32657 (grub_cmd_cmp): Close the right file at the right time. Compare
32658 only data just read. Don't report files of different size as
32659 identical. Dynamically allocate buffers. Move variable
32660 declarations at the beginning of function.
32661
e6f3e614 326622005-07-09 Yoshinori Okuji <okuji@enbug.org>
32663
32664 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
32665 reverse.
32666
f8f1559a 326672004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
32668
32669 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
32670 when backspace is pressed at beginning of line.
32671
39c9d41d 326722005-07-03 Yoshinori Okuji <okuji@enbug.org>
32673
32674 * DISTLIST: Added genfslist.sh.
32675
32676 * normal/main.c (fs_module_list): New variable.
32677 (autoload_fs_module): New function.
32678 (read_fs_list): Likewise.
32679 (grub_normal_execute): Call read_fs_list.
32680
32681 * kern/fs.c (grub_fs_autoload_hook): New variable.
32682 (grub_fs_probe): Added support for auto-loading.
32683
32684 * include/grub/normal.h (struct grub_fs_module_list): New struct.
32685 (grub_fs_module_list_t): New type.
32686
32687 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
32688 (grub_fs_autoload_hook): New prototype.
32689
32690 * genfslist.sh: New file.
f19dbdb7 32691
39c9d41d 32692 * genmk.rb: Added a rule to generate a filesystem list.
32693
121c1d83 326942005-06-30 Marco Gerards <metgerards@student.han.nl>
32695
32696 * configure.ac: Fix the test for cross-compiling.
32697
32698 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
32699 define GRUB_UTIL anymore.
32700
32701 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
32702 so this function works on other systems than just big endian.
32703 (load_modules): Likewise.
32704 (add_segments): Likewise.
32705
e75d76e1 327062005-06-23 Hollis Blanchard <hollis@penguinppc.org>
32707
32708 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
32709 contains `l' modifier, get a long from va_arg().
32710
50b5a0a7 327112005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
32712
32713 * kern/mm.c (grub_free): If the next free block which is being
32714 merged is the first free block, set the first block to the block
32715 being freed.
32716 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
32717
89371b20 327182005-05-08 Hollis Blanchard <hollis@penguinppc.org>
32719
32720 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
32721 `grub_ieee1275_chosen'.
32722
168d6e58 327232005-05-08 Hollis Blanchard <hollis@penguinppc.org>
32724
32725 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
32726 (grub_ieee1275_chosen): New variable.
32727 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
32728 `chosen'.
32729 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
32730 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
32731 Rename first argument to `phandle' for consistency.
32732 (grub_ieee1275_get_property_length): Likewise.
32733 (grub_ieee1275_next_property): Likewise. Change type of first argument
32734 to grub_ieee1275_phandle_t.
32735 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
32736 Move export next to declaration.
32737 (grub_ieee1275_chosen): New variable.
32738 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
32739 Correct cosmetic typo.
32740 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
32741 `grub_ieee1275_chosen'.
32742 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
32743 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
32744 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
32745 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
32746 `grub_ieee1275_chosen'.
32747
ca5baa3f 327482005-05-10 Hollis Blanchard <hollis@penguinppc.org>
32749
32750 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
32751 /chosen/bootargs.
32752 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
32753 /chosen/bootargs as "variable=value" pairs.
32754
708b345f 327552005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
32756
32757 * include/grub/misc.h (grub_dprintf): New macro.
32758 (grub_real_dprintf): New prototype.
32759 (grub_strword): Likewise.
32760 (grub_iswordseparator): Likewise.
32761 * kern/misc.c (grub_real_dprintf): New function.
32762 (grub_strword): Likewise.
32763 (grub_iswordseparator): Likewise.
32764
f4c5e67c 327652005-04-30 Hollis Blanchard <hollis@penguinppc.org>
32766
32767 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
32768 (roundup): Remove macro.
32769 (grub_ieee1275_flags): Make static.
32770 (grub_ieee1275_realmode): Remove.
32771 (grub_ieee1275_test_flag): New function.
32772 (grub_ieee1275_set_flag): Likewise.
32773 (find_options): Rename to `grub_ieee1275_find_options'; update
32774 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
32775 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
32776 (cmain): New prototype.
32777 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
32778 `grub_ieee1275_flags' directly.
32779 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
32780 machine/biosdisk.h.
32781 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
32782 Don't include grub/machine/init.h.
32783 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
32784 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
32785 Remove prototype.
32786 (grub_ieee1275_realmode): Likewise.
32787 (grub_ieee1275_flag): New enum.
32788 (grub_ieee1275_test_flag): New prototype.
32789 (grub_ieee1275_set_flag): New prototype.
32790 * include/grub/powerpc/ieee1275/init.h: Remove file.
32791 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
32792 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
32793 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
32794 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
32795 comment.
32796 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
32797 `grub_ieee1275_test_flag'.
32798 (grub_ieee1275_encode_devname): Likewise.
32799
ed16607e 328002005-04-21 Hollis Blanchard <hollis@penguinppc.org>
32801
32802 * include/grub/powerpc/ieee1275/ieee1275.h
32803 (grub_ieee1275_encode_devname): New prototype.
32804 (grub_ieee1275_get_filename): Likewise.
32805 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
32806 function.
32807 (grub_set_prefix): Likewise.
32808 (grub_machine_init): Call grub_set_prefix.
32809 * kern/powerpc/ieee1275/openfw.c: Fix typos.
32810 (grub_parse_type): New enum.
32811 (grub_ieee1275_get_devargs): New function.
32812 (grub_ieee1275_get_devname): Likewise.
32813 (grub_ieee1275_parse_args): Likewise.
32814 (grub_ieee1275_get_filename): Likewise.
32815 (grub_ieee1275_encode_devname): Likewise.
32816
be369920 328172005-03-30 Marco Gerards <metgerards@student.han.nl>
32818
32819 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
32820 `grub_loader_unset'.
32821
a5ce3a4a 328222005-03-26 Hollis Blanchard <hollis@penguinppc.org>
32823
32824 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
32825 instead of grub_ieee1275_interpret.
32826 (grub_halt_init): New function.
32827 (grub_halt_fini): Likewise.
32828 (GRUB_MOD_INIT): Correct message grammar.
32829 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
32830 instead of grub_ieee1275_interpret.
32831 (grub_reboot_init): New function.
32832 (grub_reboot_fini): Likewise.
32833 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
32834 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
32835 util/i386/pc/misc.c with commands/ieee1275/halt.c,
32836 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
32837 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
32838 function.
32839 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
32840 Add prototype.
32841 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
32842 prototype.
32843 (grub_halt): Likewise.
32844 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
32845 (cmain): Remove __attribute__((unused)).
32846 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
32847 (grub_heap_len): Likewise.
32848 (grub_machine_fini): New function.
32849 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
32850 (grub_halt): Likewise.
32851 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
32852 function.
32853 * util/powerpc/ieee1275/misc.c: New file.
32854
0058f771 328552005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
32856
32857 * DISTLIST: New file.
32858 * gendistlist.sh: Likewise.
f19dbdb7 32859
0058f771 32860 * Makefile.in (COMMON_DISTFILES): Removed.
32861 (BOOT_DISTFILES): Likewise.
32862 (CONF_DISTFILES): Likewise.
32863 (DISK_DISTFILES): Likewise.
32864 (FS_DISTFILES): Likewise.
32865 (INCLUDE_DISTFILES): Likewise.
32866 (KERN_DISTFILES): Likewise.
32867 (LOADER_DISTFILES): Likewise.
32868 (TERM_DISTFILES): Likewise.
32869 (UTIL_DISTFILES): Likewise.
32870 (DISTFILES): Likewise.
32871 (uninstall): Uninstall files in $(pkgdata_DATA).
32872 (DISTLIST): New target.
32873 (distdir): Use the contents of the file DISTLIST to get a list of
32874 distributed files.
32875
46b3b8a5 328762005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
32877
32878 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
32879 descriptor. This is ported from GRUB Legacy.
32880
32881 * gencmdlist.sh: Added an extra semicolon to make it work with
32882 old sed versions. Reported by Robert Bihlmeyer
32883 <robbe@orcus.priv.at>.
32884
5822ff87 328852005-03-08 Yoshinori Okuji <okuji@enbug.org>
32886
32887 Automatic loading of commands is supported.
f19dbdb7 32888
5822ff87 32889 * normal/main.c (read_command_list): New function.
32890 (grub_normal_execute): Call read_command_list.
32891
32892 * normal/command.c (grub_register_command): Return zero or CMD.
32893 Allocate CMD->NAME from the heap.
32894 Initialize CMD->MODULE_NAME to zero.
32895 Find the same name as well. If the same command is found and it is
32896 a dummy command, overwrite members. If it is not a dummy command,
32897 return zero.
32898 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
32899 (grub_command_find): If a dummy command is found, load a module
32900 and retry to find a command only once.
32901
32902 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
32903 make sure that each command is loaded.
32904
32905 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
32906 macro.
32907 (struct grub_command): Remove const from the member `name'.
32908 Add a new member `module_name'.
32909 (grub_register_command): Return grub_command_t.
32910
32911 * commands/help.c (grub_cmd_help): Call grub_command_find to make
32912 sure that each command is loaded.
32913
32914 * genmk.rb (PModule::rule): Specify a module name without the
32915 suffix ".mod" to gencmdlist.sh.
32916
7b1f4b57 329172005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
32918
32919 * gencmdlist.sh: New file.
f19dbdb7 32920
7b1f4b57 32921 * genmk.rb (PModule::rule): Generate a rule for a command list.
32922 Clean command.lst.
32923 Generate command.lst from $(COMMANDFILES).
32924
32925 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
32926 (DATA): Added $(pkgdata_DATA).
32927 (install-local): Install files in $(pkgdata_DATA).
32928
062aaf39 329292005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
32930
32931 * term/i386/pc/vga.c (debug_command): Removed.
32932 (GRUB_MOD_INIT): Do not register the command "debug".
32933
32934 From Hollis Blanchard:
32935 * commands/configfile.c: New file.
32936 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
32937 commands/configfile.c.
32938 (pkgdata_MODULES): Added configfile.mod.
32939 (configfile_mod_SOURCES): New variable.
32940 (configfile_mod_CFLAGS): Likewise.
32941 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
32942 commands/configfile.c.
32943 (pkgdata_MODULES): Added configfile.mod.
32944 (configfile_mod_SOURCES): New variable.
32945 (configfile_mod_CFLAGS): Likewise.
32946 * util/grub-emu.c (main): Call grub_configfile_init and
32947 grub_configfile_fini.
32948 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
32949 prototype.
32950 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 32951
cee01aa6 329522005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
32953
32954 * normal/arg.c (grub_arg_show_help): Do not show the bug report
32955 address.
32956
32957 * commands/help.c (grub_cmd_help): Do not print newlines after
32958 the last command in print_command_help.
32959
93f3a1d8 329602005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
32961
32962 * commands/default.h: New file.
32963 * commands/timeout.h: Likewise.
32964 * normal/context.c: Likewise.
f19dbdb7 32965
93f3a1d8 32966 * util/misc.c: Do not include sys/times.h.
32967 Include sys/time.h and grub/machine/time.h.
32968 (grub_get_rtc): Rewritten with gettimeofday.
32969
32970 * util/grub-emu.c (main): Call grub_default_init and
32971 grub_timeout_init before grub_normal_init, and call
32972 grub_timeout_fini and grub_default_fini after grub_main.
32973
32974 * util/console.c (grub_ncurses_checkkey): Return the read
32975 character or -1.
32976
32977 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
32978 timeouts.
32979
32980 * normal/main.c (read_config_file): Push MENU. If this fails,
32981 print an error and wait for a user input.
32982 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
32983 If a menu is empty or an error occurs, pop MENU.
32984 (grub_normal_execute): Pop and free MENU after grub_menu_run
32985 returns.
32986
32987 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
32988
32989 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
32990 include time.h.
32991 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
32992 without GRUB_UTIL.
32993 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
32994 time.h.
32995 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
32996 without GRUB_UTIL.
32997
32998 * include/grub/normal.h (struct grub_menu_list): New struct.
32999 (grub_menu_list_t): New type.
33000 (struct grub_context): New struct.
33001 (grub_context_t): New type.
33002 (grub_register_command): Got rid of EXPORT_FUNC.
33003 (grub_unregister_command): Likewise.
33004 (grub_context_get): New prototype.
33005 (grub_context_get_current_menu): Likewise.
33006 (grub_context_push_menu): Likewise.
33007 (grub_context_pop_menu): Likewise.
33008 [GRUB_UTIL] (grub_default_init): Likewise.
33009 [GRUB_UTIL] (grub_default_fini): Likewise.
33010 [GRUB_UTIL] (grub_timeout_init): Likewise.
33011 [GRUB_UTIL] (grub_timeout_fini): Likewise.
33012
33013 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
33014 commands/timeout.c and normal/context.c.
33015 (pkgdata_MODULES): Added default.mod and timeout.mod.
33016 (normal_mod_SOURCES): Added normal/context.c.
33017 (default_mod_SOURCES): New variable.
33018 (default_mod_CFLAGS): Likewise.
33019 (timeout_mod_SOURCES): Likewise.
33020 (timeout_mod_CFLAGS): Likewise.
33021 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
33022 conf/i386-pc.rmk.
33023 (pkgdata_MODULES): Added default.mod and timeout.mod.
33024 (normal_mod_SOURCES): Added normal/context.c.
33025 (default_mod_SOURCES): New variable.
33026 (default_mod_CFLAGS): Likewise.
33027 (timeout_mod_SOURCES): Likewise.
33028 (timeout_mod_CFLAGS): Likewise.
33029
33030 * Makefile.in (all-local): Added $(MKFILES).
33031
4ed2e1dd 330322005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
33033
33034 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
33035 (grub_emu_SOURCES): Likewise.
33036 (pkgdata_MODULES): Add `sun.mod'.
33037 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
33038 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33039 `partmap/sun.c'.
33040 (pkgdata_MODULES): Add `sun.mod'.
33041 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
33042 * include/grub/partition.h (grub_sun_partition_map_init): New
33043 prototype.
33044 (grub_sun_partition_map_fini): Likewise.
33045 * partmap/sun.c: New file.
33046 * util/grub-emu.c (main): Initialize and de-initialize the sun
33047 partitionmap support.
33048
4d4e372e 330492005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
33050
33051 This implements an Emacs-like menu entry editor.
f19dbdb7 33052
4d4e372e 33053 * normal/menu_entry.c: New file.
f19dbdb7 33054
4d4e372e 33055 * util/console.c (grub_ncurses_putchar): Translate some Unicode
33056 characters to ASCII.
33057 (saved_char): New variable.
33058 (grub_ncurses_checkkey): Rewritten completely.
33059 (grub_ncurses_getkey): Likewise.
33060 (grub_ncurses_init): Call raw instead of cbreak.
33061
33062 * normal/menu.c (print_entry): Do not put a space.
33063 (init_page): Renamed to ...
33064 (grub_menu_init_page): ... this. All callers changed.
33065 (edit_menu_entry): Removed.
33066 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
33067
33068 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
33069
33070 * kern/misc.c (grub_vprintf): Call grub_refresh.
33071
33072 * normal/menu.c (DISP_LEFT): Renamed to ...
33073 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
33074 * normal/menu.c (DISP_UP): Renamed to ...
33075 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
33076 * normal/menu.c (DISP_RIGHT): Renamed to ...
33077 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
33078 * normal/menu.c (DISP_DOWN): Renamed to ...
33079 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
33080 * normal/menu.c (DISP_HLINE): Renamed to ...
33081 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
33082 * normal/menu.c (DISP_VLINE): Renamed to ...
33083 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
33084 * normal/menu.c (DISP_UL): Renamed to ...
33085 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
33086 * normal/menu.c (DISP_UR): Renamed to ...
33087 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
33088 * normal/menu.c (DISP_LL): Renamed to ...
33089 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
33090 * normal/menu.c (DISP_LR): Renamed to ...
33091 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
33092 * normal/menu.c (TERM_WIDTH): Renamed to ...
33093 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
33094 * normal/menu.c (TERM_HEIGHT): Renamed to ...
33095 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
33096 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
33097 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
33098 * normal/menu.c (TERM_MARGIN): Renamed to ...
33099 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
33100 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
33101 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
33102 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
33103 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
33104 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
33105 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
33106 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
33107 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
33108 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
33109 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
33110 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
33111 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
33112 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
33113 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
33114 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
33115 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
33116 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
33117 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
33118 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
33119 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
33120 All callers changed.
33121
33122 * include/grub/normal.h: New prototype.
33123
33124 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33125 normal/menu_entry.c.
33126 (normal_mod_SOURCES): Likewise.
33127 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33128 (normal_mod_SOURCES): Likewise.
33129
e6b92c8a 331302005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
33131
33132 * include/grub/normal.h (grub_halt_init): New prototype.
33133 (grub_halt_fini): Likewise.
33134 (grub_reboot_init): Likewise.
33135 (grub_reboot_fini): Likewise.
33136
33137 * util/grub-emu.c: Include signal.h.
33138 (main_env): New global variable.
33139 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
33140 catch C-c.
33141 (grub_machine_fini): New function.
33142 (main): Call grub_halt_init and grub_reboot_init before
33143 grub_main, and grub_reboot_fini and grub_halt_fini after it.
33144 Call setjmp with MAIN_ENV to go back afterwards.
33145 Call grub_machine_fini right before return.
33146
33147 * include/grub/util/misc.h: Include setjmp.h.
33148 (main_env): New prototype.
33149
33150 * include/grub/kernel.h (grub_machine_fini): New prototype.
33151 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
33152 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
33153
33154 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
33155 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
33156 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 33157
e6b92c8a 33158 * util/i386/pc/misc.c: New file.
f19dbdb7 33159
e6b92c8a 33160 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
33161 util/i386/pc/misc.c, commands/i386/pc/halt.c and
33162 commands/i386/pc/reboot.c.
33163
c642636f 331642005-02-14 Guillem Jover <guillem@hadrons.org>
33165
33166 * include/grub/dl.h (grub_dl_check_header): New prototype.
33167 (grub_arch_dl_check_header): Change return type to grub_err_t,
33168 remove size parameter and export function. Update all callers.
33169 * kern/dl.c (grub_dl_check_header): New function.
33170 (grub_dl_load_core): Use `grub_dl_check_header' instead of
33171 `grub_arch_dl_check_header'. Check ELF type. Check if sections
33172 are inside the core.
33173 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
33174 independent ELF header checks.
33175 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
33176 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
33177 `grub_dl_check_header' instead of explicit checks. Check for the
33178 ELF type.
33179 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
33180 `grub_dl_check_header' instead of explicit checks. Remove arch
33181 specific ELF header checks.
33182
e6b92c8a 33183 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
33184 argument SIZE.
33185
5eabe94b 331862005-02-13 Hollis Blanchard <hollis@penguinppc.org>
33187
33188 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
33189 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
33190
1b14a681 331912005-02-12 Hollis Blanchard <hollis@penguinppc.org>
33192
33193 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 33194 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 33195 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 33196 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 33197 * partmap/amiga.c (amiga_partition_map_iterate): Return
33198 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
33199 * partmap/apple.c (apple_partition_map_iterate): Likewise.
33200
aca108aa 332012005-02-01 Guillem Jover <guillem@hadrons.org>
33202
33203 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
33204 help info.
33205
c9f9c556 332062005-01-31 Marco Gerards <metgerards@student.han.nl>
33207
33208 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
33209 Removed prototype.
33210 (grub_rescue_cmd_linux): New prototype.
33211 (grub_rescue_cmd_initrd): Likewise.
33212 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
33213 `bi_rec'.
33214 (grub_linux_release_mem): Release the memory for the initrd.
33215 (grub_load_linux): Renamed from this...
33216 (grub_rescue_cmd_linux): ...To this. Changed all callers.
33217 Changed `entry' not to be static. Loop over memory regions to
33218 find another one when the default fails.
33219 (grub_rescue_cmd_initrd): New function.
33220 (grub_linux_init): Remove function.
33221 (grub_linux_fini): Likewise.
33222 (GRUB_MOD_INIT): Register `initrd'.
33223 (GRUB_MOD_FINI): Unregister `initrd'.
33224 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
33225 Function removed.
33226 (grub_linux_normal_fini): Likewise.
33227 (GRUB_MOD_INIT): Register `initrd'.
33228 (GRUB_MOD_FINI): Unregister `initrd'.
33229
990cf3aa 332302005-01-31 Marco Gerards <metgerards@student.han.nl>
33231
33232 * commands/help.c: New file.
33233 * normal/arg.c (show_help): Renamed to...
33234 (grub_arg_show_help): ... this.
33235 * commands/i386/pc/halt.c: New file.
33236 * commands/i386/pc/reboot.c: Likewise.
33237 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
33238 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
33239 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
33240 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
33241 variables.
33242 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33243 `commands/help.c'.
33244 (pkgdata_MODULES): Add `help.mod'.
33245 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
33246 * grub/i386/pc/init.h (grub_reboot): New prototype.
33247 (grub_halt): Likewise.
33248 * include/grub/normal.h (grub_arg_show_help): New prototype.
33249 (grub_help_init): Likewise.
33250 (grub_help_fini): Likewise.
33251 * util/grub-emu.c (main): Initialize and deinitialize the help
33252 command.
33253
33254 * normal/cmdline.c (grub_cmdline_get): Doc fix.
33255
33256 * normal/command.c (grub_command_init): Fixed the description of
33257 the `set' and `unset' commands.
33258
332592005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 33260
33261 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
33262 function.
33263 * commands/ieee1275/halt.c: New file.
33264 * commands/ieee1275/reboot.c: Likewise.
33265 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
33266 `__attribute__ ((unused))'. Some GCS related fixed.
33267 (grub_suspend_init) [GRUB_UTIL]: Function removed.
33268 (grub_suspend_fini): Likewise.
33269 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
33270 and `halt.mod'.
33271 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
33272 (halt_mod_CFLAGS): New variables.
33273 * include/grub/powerpc/ieee1275/ieee1275.h
33274 (grub_ieee1275_interpret): New prototype.
33275
1ab09cc7 332762005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
33277
33278 * include/grub/misc.h (memmove): New prototype.
33279 (memcpy): Likewise.
33280
8b8cbdb2 332812005-01-22 Hollis Blanchard <hollis@penguinppc.org>
33282
33283 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
33284 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
33285
e3741a27 332862005-01-22 Marco Gerards <metgerards@student.han.nl>
33287
33288 * kern/misc.c (grub_strndup): Function rewritten.
33289
776bd780 332902005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
33291
33292 * normal/menu.c (TERM_WIDTH): Macro redefined.
33293 (TERM_TOP_BORDER_Y): Likewise.
33294 (draw_border): Replaced while-loop by a for-loop. Make the number
33295 of lines consistent with the number of lines displayed in
33296 print_entries. Added a margin below the rectangle.
33297 (print_entry): Make the entry fit in the rectangle.
33298 (print_entries): Display the scroll arrows next to the right
33299 border.
33300
78026bce 333012005-01-21 Marco Gerards <metgerards@student.han.nl>
33302
33303 * fs/minix.c (grub_minix_find_file): Reserve more space for
33304 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
33305 `grub_strncpy' to copy `path' into it.
33306
67bbaf0f 333072005-01-21 Marco Gerards <metgerards@student.han.nl>
33308
33309 Add the loopback device, a device via which files can be accessed
33310 as devices.
f19dbdb7 33311
67bbaf0f 33312 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
33313 (pkgdata_MODULES): Add loopback.mod.
33314 (loopback_mod_SOURCES): New variable.
33315 (loopback_mod_CFLAGS): Likewise.
33316 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
33317 `disk/loopback.c'.
33318 (pkgdata_MODULES): Add loopback.mod.
33319 (loopback_mod_SOURCES): New variable.
33320 (loopback_mod_CFLAGS): Likewise.
33321 * disk/loopback.c: new file.
33322 * include/grub/normal.h (grub_loop_init): New prototype.
33323 (grub_loop_fini): New prototype.
33324 * util/grub-emu.c (main): Initialize and de-initialize loopback
33325 support.
33326 * include/grub/disk.h (grub_disk_dev_id): Add
33327 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
33328
6f1c18bd 333292005-01-20 Hollis Blanchard <hollis@penguinppc.org>
33330
33331 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
33332 function.
33333 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
33334 (suspend_mod_SOURCES): New variable.
33335 (suspend_mod_CFLAGS): Likewise.
33336 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
33337 New prototype.
33338 * commands/ieee1275/suspend.c: New file.
33339
b38551da 333402005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
33341
33342 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 33343 ((unused))' to `__attribute__ ((used))'.
b38551da 33344 (GRUB_MOD_FINI): Likewise.
33345 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
33346 * genmk.rb (PModule): Assign space to common symbols when linking
33347 modules.
33348
777aff39 333492005-01-20 Marco Gerards <metgerards@student.han.nl>
33350
33351 * include/grub/mm.h (grub_mm_init_region): Change the type of the
33352 `unsigned' arguments to `grub_size_t'.
33353 (grub_malloc): Likewise.
33354 (grub_realloc): Likewise.
33355 (grub_memalign): Likewise.
33356 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
33357 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
33358 * util/misc.c (grub_malloc): Likewise.
33359 (grub_realloc): Likewise.
33360 * kern/mm.c (get_header_from_pointer): Change the casts to
33361 `unsigned' into a cast to `grub_size_t'.
33362
33363 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
33364 point to `currnode' when `currnode' is changed.
33365
33366 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
33367 Schottelius <nico-linux@schottelius.org>.
33368
d0ff18e1 333692005-01-09 Hollis Blanchard <hollis@penguinppc.org>
33370
33371 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
33372 (note_path): Remove variable.
33373 (GRUB_IEEE1275_NOTE_NAME): New macro.
33374 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
33375 (grub_ieee1275_note_hdr): New structure.
33376 (grub_ieee1275_note_desc): Likewise.
33377 (grub_ieee1275_note): Likewise.
33378 (load_note): Remove `dir' argument. All callers updated. Remove
33379 `note_img' and `path'. Do not load a file from `note_path'.
33380 Initialize a struct grub_ieee1275_note and write that to `out'.
33381 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
33382
4ca7004c 333832005-01-05 Marco Gerards <metgerards@student.han.nl>
33384
33385 * util/misc.c (grub_util_read_image): Revert last change. It
33386 called `grub_util_read_at', which seeks from the beginning of the
33387 file.
33388
0b412211 333892005-01-04 Hollis Blanchard <hollis@penguinppc.org>
33390
33391 * TODO: Add note about endianness in grub-mkimage.
33392 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
33393 section.
33394 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
33395 (grub_mkimage_SOURCES): New target.
33396 * include/grub/kernel.h (grub_start_addr): Remove variable.
33397 (grub_end_addr): Likewise.
33398 (grub_total_module_size): Likewise.
33399 (grub_kernel_image_size): Likewise.
33400 (GRUB_MODULE_MAGIC): New constant.
33401 (grub_module_info): New structure.
33402 (grub_arch_modules_addr): New prototype.
33403 (grub_get_end_addr): Remove prototype.
33404 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
33405 * include/grub/powerpc/ieee1275/kernel.h: New file.
33406 * include/grub/util/misc.h (grub_util_get_fp_size): New
33407 prototype.
33408 (grub_util_read_at): Likewise.
33409 (grub_util_write_image_at): Likewise.
33410 * kern/main.c (grub_get_end_addr): Remove function.
33411 (grub_load_modules): Call grub_arch_modules_addr instead of using
33412 grub_end_addr. Look for a grub_module_info struct in memory. Use
33413 the grub_module_info fields instead of calling grub_get_end_addr
33414 as loop conditions. Move grub_add_unused_region code here.
33415 (grub_add_unused_region): Remove function.
33416 * kern/i386/pc/init.c: Include grub/cache.h.
33417 (grub_machine_init): Remove call to grub_get_end_addr. Remove
33418 one call to add_mem_region.
33419 (grub_arch_modules_addr): New function.
33420 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
33421 (grub_total_module_size): Likewise.
33422 Include grub/machine/kernel.h.
33423 (grub_arch_modules_addr): New function.
33424 * util/grub-emu.c (grub_end_addr): Remove variable.
33425 (grub_total_module_size): Likewise.
33426 (grub_arch_modules_addr): New function.
33427 * util/misc.c: Include unistd.h.
33428 (grub_util_get_fp_size): New function.
33429 (grub_util_read_at): Likewise.
33430 (grub_util_write_image_at): Likewise.
33431 (grub_util_read_image): Call grub_util_read_at.
33432 (grub_util_write_image): Call grub_util_write_image_at.
33433 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
33434 additional memory in kernel_img for a struct grub_module_info.
33435 Fill in that grub_module_info.
33436 * util/powerpc/ieee1275/grub-mkimage.c: New file.
33437
458786f8 334382005-01-03 Hollis Blanchard <hollis@penguinppc.org>
33439
33440 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
33441 New function.
33442 * include/grub/powerpc/ieee1275/ieee1275.h
33443 (grub_ieee1275_milliseconds): New prototype.
33444 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
33445 Change to 1000.
33446 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
33447 grub_ieee1275_milliseconds.
33448
ac507d1b 334492005-01-03 Hollis Blanchard <hollis@penguinppc.org>
33450
33451 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
33452 variable.
33453 (find_options): New function.
33454 (cmain): Call find_options.
33455 * include/grub/powerpc/ieee1275/ieee1275.h
33456 (grub_ieee1275_realmode): New extern variable.
33457 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
33458 grub_map if grub_ieee1275_realmode is false.
33459
6b8fd1c4 334602004-12-29 Marco Gerards <metgerards@student.han.nl>
33461
33462 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
33463 lines are inserted and make it work like readline. Reported by
33464 Vincent Pelletier <subdino2004@yahoo.fr>.
33465
8514a1e0 334662004-12-28 Marco Gerards <metgerards@student.han.nl>
33467
33468 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
33469
33470 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
33471 `kern/powerpc/cache.S'.
33472
924b6140 334732004-12-27 Marco Gerards <metgerards@student.han.nl>
33474
33475 * genmk.rb: Handle the `Program' class in the main loop. Written
33476 by Johan Rydberg <jrydberg@gnu.org>.
33477 (Program): New class.
33478 (programs): New variable.
33479 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
33480 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
33481 instead of "grub/kernel.h". Include <grub/machine/init.h>.
33482 (help_arch): Function removed.
33483 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
33484 `powerpc/libgcc.h' and `loader.h'.
33485 (pkgdata_PROGRAMS): New variable.
33486 (sbin_UTILITIES): Variable removed.
33487 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
33488 (grubof_SOURCES): Variable re-defined so it only includes the
33489 core functionality.
33490 (grubof_CFLAGS): Remove `-DGRUBOF'.
33491 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
33492 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
33493 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
33494 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
33495 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
33496 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
33497 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
33498 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
33499 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
33500 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
33501 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
33502 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
33503 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
33504 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
33505 (pc_mod_CFLAGS): New variables.
33506 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
33507 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
33508 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
33509 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
33510 Moved from here...
33511 * include/grub/i386/pc/init.h (grub_os_area_addr)
33512 (rub_os_area_size): ... to here.
33513 * include/grub/powerpc/ieee1275/ieee1275.h
33514 (grub_ieee1275_entry_fn): Export symbol.
33515 * include/grub/powerpc/ieee1275/init.h: New file.
33516 * include/grub/powerpc/libgcc.h: Likewise.
33517 * include/grub/cache.h: Likewise.
33518 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
33519 <hollis@penguinppc.org>.
33520 * kern/dl.c: Include <grub/cache.h>.
33521 (grub_dl_flush_cache): New function.
33522 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
33523 for this module.
33524 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
33525 (grub_console_init): Removed prototypes.
33526 (grub_machine_init): Don't initialize the modules anymore.
33527 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
33528 static.
33529 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
33530 Macro undef removed.
33531 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
33532 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
33533 relocation `R_PPC_REL32'. Return an error when the relocation is
33534 unknown.
33535 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
33536 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
33537 * util/misc.c (grub_arch_sync_caches): Likewise.
33538
e4b47e0c 335392004-12-19 Marco Gerards <metgerards@student.han.nl>
33540
33541 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
33542 `symlist.c', add `grubof_symlist.c'.
33543 (symlist.c): Variable removed.
33544 (grubof_HEADERS): Variable added.
33545 (grubof_symlist.c): New target.
33546 (kernel_syms.lst): Use `grubof_HEADERS' instead of
33547 `kernel_img_HEADERS'.
33548 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
33549 * kern/powerpc/dl.c: New file.
33550 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
33551 Function removed.
33552 (grub_arch_dl_relocate_symbols): Likewise.
33553 (grub_register_exported_symbols): Likewise.
33554
4ceb3636 335552004-12-13 Marco Gerards <metgerards@student.han.nl>
33556
33557 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
33558 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
33559 to fail instead. Reported by Vincent Pelletier
33560 <subdino2004@yahoo.fr>.
33561
33562 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
33563 it is not allocated. Reported by Vincent Pelletier
33564 <subdino2004@yahoo.fr>.
33565
33566 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
33567 output so the output looks better.
f19dbdb7 33568
3f1578fe 335692004-12-04 Marco Gerards <metgerards@student.han.nl>
33570
33571 Modulize the partition map support and add support for the amiga
33572 partition map.
f19dbdb7 33573
3f1578fe 33574 * commands/ls.c: Include <grub/partition.h> instead of
33575 <grub/machine/partition.h>.
33576 * kern/disk.c: Likewise.
33577 * kern/rescue.c: Likewise.
33578 * loader/i386/pc/chainloader.c: Likewise.
33579 * normal/cmdline.c: Likewise.
33580 * kern/powerpc/ieee1275/init.c: Likewise.
33581 (grub_machine_init): Call `grub_pc_partition_map_init',
33582 `grub_amiga_partition_map_init' and
33583 `grub_apple_partition_map_init'.
33584 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
33585 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
33586 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
33587 `partition.h' and `pc_partition.h'.
33588 (grub_setup_SOURCES): Remove
33589 `disk/i386/pc/partition.c'. Add `kern/partition.c',
33590 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
33591 (grub_emu_SOURCES): Likewise.
33592 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
33593 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
33594 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
33595 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
33596 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
33597 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
33598 (grubof_SOURCES): Likewise.
33599 * disk/i386/pc/partition.c: File removed.
33600 * disk/powerpc/ieee1275/partition.c: Likewise.
33601 * include/grub/powerpc/ieee1275/partition.h: Likewise.
33602 * include/grub/i386/pc/partition.h: Likewise.
33603 * kern/partition.c: New file.
33604 * partmap/amiga.c: Likewise.
33605 * partmap/apple.c: Likewise.
33606 * partmap/pc.c: Likewise.
33607 * include/grub/partition.h: Likewise..
33608 * include/grub/pc_partition.h: Likewise.
33609 * util/grub-emu.c: Include <grub/partition.h> instead of
33610 <grub/machine/partition.h>.
33611 (main): Call `grub_pc_partition_map_init',
33612 `grub_amiga_partition_map_init' and
33613 `grub_apple_partition_map_init' and deinitialize afterwards.
33614 * util/i386/pc/biosdisk.c: Include `#include
33615 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
33616 `<grub/machine/partition.h>'.
33617 * util/i386/pc/grub-setup.c: Likewise.
33618 * util/i386/pc/biosdisk.c: Likewise.
33619 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
33620 partition information in case of a PC partition.
33621 * util/i386/pc/grub-setup.c: Include `#include
33622 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
33623 `<grub/machine/partition.h>'.
33624 (setup): Only access the PC specific partition information in case
33625 of a PC partition.
33626
0ef4ced9 336272004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 33628
0ef4ced9 33629 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
33630 (grub_longjmp): Likewise.
33631 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
33632 20.
33633 * normal/powerpc/setjmp.S: New file.
33634 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
33635 `normal/powerpc/setjmp.S'.
33636 (grubof_CFLAGS): Add `-DGRUBOF'.
33637 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
33638 [GRUB_UTIL && !GRUBOF].
f19dbdb7 33639
19950e29 336402004-11-16 Marco Gerards <metgerards@student.han.nl>
33641
33642 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
33643 property named `name'. Correctly handle the error returned by
33644 `grub_ieee1275_finddevice' if a device can not be opened.
33645
a2fea427 336462004-11-02 Hollis Blanchard <hollis@penguinppc.org>
33647
33648 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
33649 `actual' for negativity.
33650 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
33651 kern/fshelp.c.
33652
41ea0ea3 336532004-11-01 Marco Gerards <metgerards@student.han.nl>
33654
33655 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
33656 (PAGE_OFFSET): New macro.
33657 (CRTC_ADDR_PORT): Likewise.
33658 (CRTC_DATA_PORT): Likewise.
33659 (START_ADDR_HIGH_REGISTER): Likewise.
33660 (START_ADDR_LOW_REGISTER): Likewise.
33661 (GRAPHICS_ADDR_PORT): Likewise.
33662 (GRAPHICS_DATA_PORT): Likewise.
33663 (READ_MAP_REGISTER): Likewise.
33664 (INPUT_STATUS1_REGISTER): Likewise.
33665 (INPUT_STATUS1_VERTR_BIT): Likewise.
33666 (page): New variable.
33667 (wait_vretrace): New function.
33668 (set_read_map): Likewise.
33669 (set_start_address): Likewise.
33670 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
33671 the right page.
33672 (check_vga_mem): Take the page into account.
33673 (write_char): Likewise.
33674 (write_cursor): Likewise.
33675 (scroll_up): Likewise. Copy the page to the page that is not
33676 shown and switch between both pages.
33677 (grub_vga_putchar): Fix off by one error.
33678 (grub_vga_cls): Wait for the vertical retrace. Take the page into
33679 account.
33680
ad0bd20b 336812004-11-01 Marco Gerards <metgerards@student.han.nl>
33682
33683 Add support for iso9660 (including rockridge).
f19dbdb7 33684
ad0bd20b 33685 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
33686 (iso9660_mod_SOURCES): New variable.
33687 (iso9660_mod_CFLAGS): Likewise.
33688 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
33689 * include/grub/fs.h (grub_iso9660_init): New prototype.
33690 * util/grub-emu.c (main): Call `grub_iso9660_init'.
33691 * fs/iso9660.c: New file.
33692
33693 * include/grub/misc.h (grub_strncat): New prototype.
33694 * kern/misc.c (grub_strncat): New function.
f19dbdb7 33695
ad0bd20b 33696 * fs/hfs.c (grub_hfs_mount): Translate the error
33697 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
33698 * fs/jfs.c (grub_jfs_mount): Likewise.
33699 * fs/ufs.c (grub_ufs_mount): Likewise.
33700
a5477a59 337012004-10-28 Hollis Blanchard <hollis@penguinppc.org>
33702
33703 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
33704 which initialized BAT registers.
33705 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
33706 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
33707 Move from here...
33708 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
33709 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
33710 ... to here.
33711 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
33712 (grub_mapclaim): Likewise.
33713 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
33714 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
33715 hand.
33716
9304c1f8 337172004-10-19 Hollis Blanchard <hollis@penguinppc.org>
33718
33719 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
33720 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
33721 -ffreestanding and -msoft-float.
33722
86f4ae25 337232004-10-15 Hollis Blanchard <hollis@penguinppc.org>
33724
33725 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
33726 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
33727 set in grub_ieee1275_flags.
33728
38912228 337292004-10-14 Hollis Blanchard <hollis@penguinppc.org>
33730
33731 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
33732 prototype.
33733 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
33734 grub_console_init first.
33735 Change the memory range used for grub_ieee1275_claim and
33736 grub_mm_init_region.
33737 Print an error message if the claim fails.
33738 Include <grub/misc.h>.
33739
d1923dc8 337402004-10-13 Hollis Blanchard <hollis@penguinppc.org>
33741
33742 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
33743 Call grub_children_iterate for device nodes of type `scsi',
33744 `ide', or `ata'.
33745 (grub_ofdisk_open): Remove manual device alias resolution.
33746 Fix memory leak when device cannot be opened.
f19dbdb7 33747 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 33748 (grub_children_iterate): New prototype.
33749 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
33750 New function.
33751 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
33752 Return -1 if args.size was -1.
33753
4512e4f3 337542004-10-11 Hollis Blanchard <hollis@penguinppc.org>
33755
33756 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
33757 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
33758 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
33759 Open Firmware's memory for it; claim memory from _start to _end.
33760 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
33761 (_end): New extern.
33762 (_start): Zero BSS from __bss_start to _end.
33763 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
33764 New extern.
33765 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
33766
4d61feb0 337672004-10-11 Hollis Blanchard <hollis@penguinppc.org>
33768
ad0bd20b 33769 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
33770 -1 if args.base was -1.
4d61feb0 33771
026fa2f9 337722004-10-08 Hollis Blanchard <hollis@penguinppc.org>
33773
33774 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
33775 escape sequence instead of a literal ^L. Also call
33776 grub_ofconsole_gotoxy.
33777
9f2220ef 337782004-10-03 Hollis Blanchard <hollis@penguinppc.org>
33779
33780 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
33781 void * arguments to grub_addr_t. All callers updated. Also make
33782 the `result' argument optional.
33783 (grub_ieee1275_release): change void * arguments to grub_addr_t.
33784 All callers updated.
33785
8a572cd7 337862004-09-22 Hollis Blanchard <hollis@penguinppc.org>
33787
33788 * commands/ls.c (grub_ls_list_files): Use the string following the
33789 initial ')', if present, as the filesystem path.
33790 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
33791
33792 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
33793
18aa81f2 337942004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
33795
33796 Make the source code of the menu interface more readable.
f19dbdb7 33797
18aa81f2 33798 * normal/menu.c: Include grub/mm.h.
33799 (TERM_WIDTH): New macro.
33800 (TERM_HEIGHT): Likewise.
33801 (TERM_INFO_HEIGHT): Likewise.
33802 (TERM_MARGIN): Likewise.
33803 (TERM_SCROLL_WIDTH): Likewise.
33804 (TERM_TOP_BORDER_Y): Likewise.
33805 (TERM_LEFT_BORDER_X): Likewise.
33806 (TERM_BORDER_WIDTH): Likewise.
33807 (TERM_MESSAGE_HEIGHT): Likewise.
33808 (TERM_BORDER_HEIGHT): Likewise.
33809 (TERM_NUM_ENTRIES): Likewise.
33810 (TERM_FIRST_ENTRY_Y): Likewise.
33811 (TERM_ENTRY_WIDTH): Likewise.
33812 (TERM_CURSOR_X): Likewise.
33813 (draw_border): Use macros instead of magic numbers.
33814 (print_entry): Likewise.
33815 (print_entries): Likewise.
33816 (run_menu): Likewise. Also, handle the key 'e'.
33817 (run_menu_entry): Ignore empty command lines.
33818 (print_message): Added a new argument EDIT. If EDIT is true,
33819 print a different message.
33820 (init_page): Likewise.
33821 (edit_menu_entry): New function. Not implemented yet.
33822
b47efe30 338232004-09-17 Marco Gerards <metgerards@student.han.nl>
33824
33825 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
33826 can be loaded from normal mode.
f19dbdb7 33827
b47efe30 33828 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
33829 `multiboot.mod'.
33830 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
33831 (multiboot_mod_CFLAGS): New variables.
33832 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 33833 * loader/i386/pc/multiboot_normal.c: Likewise.
33834
b47efe30 33835 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
33836 attribute `unused'.
f19dbdb7 33837
b47efe30 33838 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
33839 `fdiro' to read the mode information from instead of `diro'.
33840
33841 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
33842 looking up a symlink.
33843
33844 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
33845 macro.
33846 * normal/command.c (grub_command_execute): Don't parse the
33847 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
33848 flags of the command.
33849
33850 * normal/menu.c (grub_menu_run): Fix typo.
33851
da75ac71 338522004-09-14 Hollis Blanchard <hollis@penguinppc.org>
33853
33854 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
33855
33856 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
33857 `y + 1' instead of `y - 1'.
33858
33859 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 33860
062b24c2 338612004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
33862
33863 From Hollis Blanchard <hollis@penguinppc.org>:
33864 * kern/misc.c (memmove): New alias for grub_memmove.
33865 (memcmp): New alias for grub_memcmp.
33866 (memset): New alias for grub_memset.
f19dbdb7 33867 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 33868 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 33869 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 33870 (grub_ieee1275_get_property): Likewise.
f19dbdb7 33871
8ddad845 338722004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
33873
33874 Added normal mode command `chainloader' as module chain.mod, which
33875 depends on normal.mod and _chain.mod.
f19dbdb7 33876
8ddad845 33877 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
33878 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
33879 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
33880 Deleted prototype.
33881 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
33882 but arguments parsing moved to ...
33883 (grub_chainloader_cmd): ... here. New function.
33884 * include/grub/i386/pc/chainloader.h: New file.
33885 * loader/i386/pc/chainloader_normal.c: Likewise.
33886
2c1f4ce3 338872004-09-11 Marco Gerards <metgerards@student.han.nl>
33888
33889 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
33890 (grub_mkimage_LDFLAGS): Likewise.
33891 (grub_emu_SOURCES): Likewise.
33892 (kernel_img_HEADERS): Added fshelp.h.
33893 * fs/ext2.c: Include <grub/fshelp.h>.
33894 (FILETYPE_REG): New macro.
33895 (FILETYPE_INO_REG): Likewise.
33896 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
33897 Changed all users.
33898 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
33899 all users.
33900 (grub_fshelp_node): New struct.
33901 (grub_ext2_data): Added member `diropen'. Changed member `inode'
33902 to a pointer.
33903 (grub_ext2_get_file_block): Removed function.
33904 (grub_ext2_read_block): New function.
33905 (grub_ext2_read_file): Replaced parameter `data' by `node'.
33906 This function was written.
33907 (grub_ext2_mount): Read the root inode. Create a diropen struct.
33908 (grub_ext2_find_file): Removed function.
33909 (grub_ext2_read_symlink): New function.
33910 (grub_ext2_iterate_dir): Likewise.
33911 (grub_ext2_open): Rewritten.
33912 (grub_ext2_dir): Rewritten.
33913 * include/grub/fshelp.h: New file.
33914 * fs/fshelp.c: Likewise.
33915
3c52136a 339162004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
33917
33918 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
33919 (print_message): Add a missing newline.
33920 (run_menu): Added timeout support.
33921 (run_menu_entry): New local function.
33922 (grub_menu_run): Added support for booting.
33923
33924 * kern/loader.c (grub_loader_is_loaded): New function.
33925
33926 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
33927 (grub_get_rtc): Exported.
33928
33929 * include/grub/i386/pc/time.h: Include grub/symbol.h.
33930 (grub_get_rtc): Exported.
33931
33932 * include/grub/normal.h (struct grub_command_list): Remove
33933 constant from the member `command'.
33934
33935 * include/grub/loader.h (grub_loader_is_loaded): Declared.
33936
33937 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
33938
33939 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
33940
aa033560 339412004-08-28 Marco Gerards <metgerards@student.han.nl>
33942
33943 Add support for the JFS filesystem.
33944
33945 * fs/jfs.c: New file.
33946 * include/grub/fs.h (grub_jfs_init): New prototype.
33947 (grub_jfs_fini): New prototype.
33948 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
33949 (grub_emu_SOURCES): Likewise.
33950 (pkgdata_MODULES): Add jfs.mod.
33951 (jfs_mod_SOURCES): New variable.
33952 (jfs_mod_CFLAGS): Likewise.
33953 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
33954 (grubof_SOURCES): Likewise.
33955 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
33956
33957 * fs/fat.c (grub_fat_find_dir): Convert the filename little
33958 endian to the host endian.
33959 (grub_fat_utf16_to_utf8): Move function from there...
33960 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 33961 the endianness of the source string anymore.
aa033560 33962 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
33963
94bc45af 339642004-08-24 Marco Gerards <metgerards@student.han.nl>
33965
33966 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
33967 (grub_boot_fini) [GRUB_UTIL]: Likewise.
33968 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
33969 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 33970
94bc45af 33971 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
33972 (grub_hfs_iterate_dir): Make the function static. Add prototypes
33973 for `node_found' and `it_dir'.
33974 (grub_hfs_dir): Add prototype for `dir_hook'.
33975
33976 * fs/minix.c (grub_minix_get_file_block): Add prototype for
33977 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
33978 and `indir32' to silence a gcc warning.
33979
33980 * include/grub/fs.h (grub_hfs_init): New prototype.
33981 (grub_hfs_fini): Likewise.
f19dbdb7 33982
33983
97543f08 339842004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
33985
33986 Each disk device has its own id now. This is useful to make use
33987 of multiple disk devices.
f19dbdb7 33988
97543f08 33989 * include/grub/disk.h (grub_disk_dev_id): New enum.
33990 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
33991 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
33992
33993 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
33994 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
33995
33996 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
33997 GRUB_DISK_DEVICE_OFDISK_ID as an id.
33998
33999 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
34000 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
34001
34002 * include/grub/disk.h (struct grub_disk_dev): Added a new member
34003 "id" which is used by the cache manager.
34004
34005 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
34006 of just "GRUB".
34007
64372eb4 340082004-08-18 Marco Gerards <metgerards@student.han.nl>
34009
34010 * fs/hfs.c: New file.
34011 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
34012 (grub_emu_SOURCES): Likewise.
34013 (pkgdata_MODULES): Add hfs.mod.
34014 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
34015 (grubof_SOURCES): Likewise.
34016 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
34017
34018 * include/grub/misc.h (grub_strncasecmp): Add prototype.
34019 * kern/misc.c (grub_strncasecmp): Add function.
34020
cc61b58f 340212004-08-14 Marco Gerards <metgerards@student.han.nl>
34022
34023 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
34024 with parentheses.
34025
34026 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
34027 (grub_ext2_dir): In case the directory entry type is unknown, read
34028 it from the inode.
34029
0ef123f6 340302004-08-02 Peter Bruin <pjbruin@dds.nl>
34031
34032 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
34033 grub_load_linux instead of grub_rescue_cmd_linux as second
34034 argument of grub_rescue_register_command.
34035
34036 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
34037
a447c5df 340382004-07-27 Marco Gerards <metgerards@student.han.nl>
34039
34040 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
34041 function.
34042 * commands/boot.c: Remove the check for `GRUB_UTIL'.
34043 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
34044 `loader/powerpc/ieee1275/linux.c',
34045 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
34046 * include/grub/powerpc/ieee1275/ieee1275.h
34047 (grub_ieee1275_release): New prototype.
34048 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
34049 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
34050 normal, boot, linux and linux_normal.
34051 * loader/powerpc/ieee1275/linux.c: New file.
34052 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
34053
5a9e3546 340542004-07-12 Marco Gerards <metgerards@student.han.nl>
34055
34056 * normal/arg.c (grub_arg_parse): Correct error handling after
34057 reallocating the argumentlist (check if `argl' is not null instead
34058 of checking if `args' is not null).
34059 * kern/mm.c (grub_realloc): Return the same pointer when using the
34060 same region, instead of returning the header address.
34061
e15199cb 340622004-07-11 Marco Gerards <metgerards@student.han.nl>
34063
34064 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
34065 one block instead of two when looking for the initial partition.
34066 (grub_partition_probe): Initialize the local variable `p' with 0.
34067 Use base 10 for the grub_strtoul call.
34068 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
34069 need for one local variable.
34070 (grub_strtoul): Don't add the new value to `num', instead of that
34071 just assign it.
34072
020616c2 340732004-07-11 Marco Gerards <metgerards@student.han.nl>
34074
34075 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
34076 (pxeboot_img_SOURCES): New variable.
34077 (pxeboot_img_ASFLAGS): Likewise.
34078 (pxeboot_img_LDFLAGS): Likewise.
34079 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
34080 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
34081 <lode_leroy@hotmail.com>.
34082
6c51eb64 340832004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34084
34085 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
34086 there was no input.
34087
cfb12aff 340882004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34089
34090 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
34091 the history buffer logic.
34092
6eabba74 340932004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
34094
34095 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
34096 (FILETYPE_INO_SYMLINK): New macros.
34097 (grub_ext2_find_file): Check if the node is a directory using the
34098 inode stat information instead of using the filetype in the
34099 dirent. Exclude the first character of an absolute symlink.
34100 (grub_ext2_dir): Mask out the filetype part of the mode member of
34101 the inode.
34102
66e19ef8 341032004-05-24 Marco Gerards <metgerards@student.han.nl>
34104
34105 Add support for UFS version 1 and 2. Add support for the minix
34106 filesystem version 1 and 2, both the variants with 14 and 30 long
34107 filenames.
f19dbdb7 34108
66e19ef8 34109 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
34110 fs/minix.c.
34111 (grub_emu_SOURCES): Likewise.
34112 (pkgdata_MODULES): Add ufs.mod and minix.mod.
34113 (ufs_mod_SOURCES): New variable.
34114 (ufs_mod_CFLAGS): Likewise.
34115 (minix_mod_SOURCES): Likewise.
34116 (minix_mod_CFLAGS): Likewise.
34117 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
34118 fs/minix.c.
34119 (grubof_SOURCES): Likewise.
34120 * fs/ufs.c: New file.
34121 * fs/minix.c: New file.
34122 * include/grub/fs.h (grub_ufs_init): New prototype.
34123 (grub_ufs_fini): Likewise.
34124 (grub_minix_init): Likewise.
34125 (grub_minix_fini): Likewise.
34126 * util/grub-emu.c (main): Initialize and deinitialize UFS and
34127 minix fs.
34128
cc2e748a 341292004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
34130
34131 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
34132 commands/ls.c, commands/terminal.c, commands/boot.c,
34133 commands/cmp.c and commands/cat.c.
34134 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
34135
34136 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
34137 "env.h"
34138
4b13b216 341392004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34140
34141 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
34142 and grub_, respectively. Because the conversion is trivial and
34143 mechanical, I omit the details here. Please refer to the CVS
34144 if you need more information.
34145
6a142551 341462004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
34147
34148 * include/pupa: Renamed to ...
34149 * include/grub: ... this.
34150 * util/i386/pc/pupa-mkimage.c: Renamed to ...
34151 * util/i386/pc/grub-mkimage.c: ... this.
34152 * util/i386/pc/pupa-setup.c: Renamed to ...
34153 * util/i386/pc/grub-setup.c: ... this.
34154 * util/pupa-emu.c: Renamed to ...
34155 * util/grub-emu.c: ... this.
34156
e56cdf21 341572004-03-29 Marco Gerards <metgerards@student.han.nl>
34158
34159 Add support for the newworld apple macintosh (PPC). This has been
34160 tested on the powerbook 2000 only. It only adds support for
34161 generic ieee1275 functions, console and disk support. This should
34162 be easy to port to other architectures with support for Open
34163 Firmware.
f19dbdb7 34164
e56cdf21 34165 * configure.ac: Accept the powerpc as host_cpu. In the case of
34166 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
34167 specific tests are only executed while building for the i386.
34168 Inverse test for crosscompile.
34169 * genmk.rb (Utility): Allow assembler files.
34170 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
34171 * conf/powerpc-ieee1275.rmk: New file.
34172 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
34173 * disk/powerpc/ieee1275/partition.c: Likewise.
34174 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
34175 * include/pupa/powerpc/ieee1275/console.h: Likewise.
34176 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
34177 * include/pupa/powerpc/ieee1275/time.h: Likewise.
34178 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
34179 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
34180 * include/pupa/powerpc/ieee1275/loader.h
34181 * include/pupa/powerpc/setjmp.h: Likewise.
34182 * include/pupa/powerpc/types.h: Likewise.
34183 * kern/powerpc/ieee1275/init.c: Likewise.
34184 * kern/powerpc/ieee1275/openfw.c: Likewise.
34185 * term/powerpc/ieee1275/ofconsole.c: Likewise.
34186
34187 These files were written by Johan Rydberg
34188 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 34189
e56cdf21 34190 * boot/powerpc/ieee1275/cmain.c: New file.
34191 * boot/powerpc/ieee1275/crt0.S: Likewise.
34192 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
34193 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
34194
8c8cc205 341952004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
34196
34197 * Makefile.in: Update copyright.
34198 * genmodsrc.sh: Likewise.
34199 * gensymlist.sh: Likewise.
34200 * term/i386/pc/vga.c: Indent correctly.
34201
34202 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
34203 bugreporting address.
34204 * util/i386/pc/pupa-setup.c (usage): Likewise,
34205 (main): Call pupa_ext2_init and pupa_ext2_fini.
34206
f19dbdb7 34207 * fs/fat.c (log2): Renamed to ...
8c8cc205 34208 (fat_log2): ... this.
34209 All callers changed.
34210 * kern/misc.c (memcpy): Alias to pupa_memmove.
34211 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
34212 lvalue cast.
34213 * util/console.c (pupa_ncurses_fini): Return 0.
34214
34215 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
34216 Move fail label here.
34217 [__GNU__]: Don't warn when using stat.
34218 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
34219 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
34220 long int. Use strtol instead of strtoul.
f19dbdb7 34221
db1771cf 342222004-03-14 Marco Gerards <metgerards@student.han.nl>
34223
34224 * commands/boot.c: New file.
34225 * commands/cat.c: Likewise.
34226 * commands/cmp.c: Likewise.
34227 * commands/ls.c: Likewise.
34228 * commands/terminal.c: Likewise.
34229 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
34230 (pupa_register_command): Changed interface to match the new
34231 argument parser.
34232 (pupa_command_execute): Changed (almost rewritten) so it uses
34233 pupa_split_command. Added support for setting variables using the
34234 syntax `foo=bar'.
34235 (rescue_command): Changed to work with the new argument parser.
34236 (terminal_command): Moved from here to commands/terminal.c.
34237 (set_command): New function.
34238 (unset_command): New function.
34239 (insmod_command): New function.
34240 (rmmod_command): New function.
34241 (lsmod_command): New function.
34242 (pupa_command_init): Don't initialize the command terminal
34243 anymore. Initialize the commands set, unset, insmod, rmmod and
34244 lsmod.
34245 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
34246 (kernel_img_HEADERS): Add arg.h and env.h.
34247 (pupa_mkimage_LDFLAGS): Add kern/env.c.
34248 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
34249 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
34250 normal/arg.c.
34251 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
34252 terminal.mod.
34253 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
34254 (boot_mod_SOURCES): New variable.
34255 (terminal_mod_SOURCES): Likewise.
34256 (ls_mod_SOURCES): Likewise.
34257 (cmp_mod_SOURCES): Likewise.
34258 (cat_mod_SOURCES): Likewise.
34259
34260 * normal/arg.c: New file.
34261 * kern/env.c: Likewise.
34262 * include/pupa/arg.h: Likewise.
34263 * include/pupa/env.h: Likewise.
34264 * font/manager.c (font_command): Changed to match argument parsing
34265 interface changes.
34266 (PUPA_MOD_INIT): Likewise.
34267 * hello/hello.c (pupa_cmd_hello): Likewise.
34268 (PUPA_MOD_INIT): Likewise.
34269 * include/pupa/disk.h: Include <pupa/device.h>.
34270 (pupa_print_partinfo): New prototype.
34271 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
34272 (pupa_dl_get_prefix): Likewise.
34273 * include/pupa/misc.h: Include <pupa/err.h>.
34274 (pupa_isgraph): New prototype.
34275 (pupa_isdigit): Likewise.
34276 (pupa_split_cmdline): Likewise.
34277 * include/pupa/normal.h: Include <pupa/arg.h>.
34278 (pupa_command): Changed the prototype of the member `func' to
34279 match the argument parsing interface. Added member `options'.
34280 (pupa_register_command): Updated to match function.
34281 (pupa_arg_parse): New prototype.
34282 (pupa_hello_init) [PUPA_UTIL]: New prototype.
34283 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
34284 (pupa_ls_init) [PUPA_UTIL]: Likewise.
34285 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
34286 (pupa_cat_init) [PUPA_UTIL]: Likewise.
34287 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
34288 (pupa_boot_init) [PUPA_UTIL]: Likewise.
34289 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
34290 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
34291 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
34292 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
34293 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
34294 * kern/disk.c: Include <pupa/file.h>.
34295 (pupa_print_partinfo): New function.
34296 * kern/dl.c: Include <pupa/env.h>.
34297 (pupa_dl_dir): Variable removed.
34298 (pupa_dl_load): Use the environment variable `prefix' instead of
34299 the variable pupa_dl_dir.
34300 (pupa_dl_set_prefix): Function removed.
34301 (pupa_dl_get_prefix): Likewise.
34302 * kern/i386/pc/init.c: Include <pupa/env.h>.
34303 (pupa_machine_init): Use the environment variable `prefix' instead of
34304 using pupa_dl_set_prefix to set the prefix.
34305 * kern/main.c: Include <pupa/env.h>.
34306 (pupa_set_root_dev): Use the environment variable `prefix' instead of
34307 using pupa_dl_get_prefix to get the prefix.
34308 * kern/misc.c: Include <pupa/env.h>.
34309 (pupa_isdigit): New function.
34310 (pupa_isgraph): Likewise.
34311 (pupa_ftoa): Likewise.
34312 (pupa_vsprintf): Added support for printing values of the type
34313 `double'. Make it possible to format variable output when using
34314 formatting like `%1.2%f'.
34315 (pupa_split_cmdline): New function.
34316 * kern/rescue.c: Include <pupa/env.h>.
34317 (next_word): Removed function.
34318 (pupa_rescue_cmd_prefix): Likewise.
34319 (pupa_rescue_cmd_set): New function.
34320 (pupa_rescue_cmd_unset): New function.
34321 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
34322 split the command line instead of splitting it here. Added
34323 support for setting variables using the syntax `foo=bar'. Don't
34324 initialize the prefix command anymore. Initialized the set and
34325 unset commands.
34326 * normal/cmdline.c: Include <pupa/env.h>.
34327 (pupa_tab_complete): Added prototypes for print_simple_completion,
34328 print_partition_completion, add_completion, iterate_commands,
34329 iterate_dev, iterate_part and iterate_dir. Moved code to print
34330 partition information from here to kern/disk.c.
fe6b695a 34331 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 34332 * normal/main.c: Include <pupa/env.h>.
34333 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
34334 instead of using pupa_dl_get_prefix to get the prefix.
34335 * term/i386/pc/vga.c: Include <pupa/arg.h>.
34336 (check_vga_mem): Cast pointers to `void *' to silence a gcc
34337 warning.
34338 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
34339 (pupa_vga_setcolor): Declare unused variables with `__attribute__
34340 ((unused))' to silence a gcc warning.
34341 (pupa_vga_setcolor): Likewise.
34342 (debug_command): Changed to match argument parsing
34343 interface changes.
34344 * util/pupa-emu.c: Include <pupa/env.h>.
34345 (options): Added 0's for unused fields to silence a gcc warning.
34346 (argp): Likewise.
34347 (main): Use the environment variable `prefix' instead of using
34348 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
34349 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
34350 and terminal.
34351
34352 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
34353 * util/misc.c: Include <malloc.h>.
34354 (pupa_malloc): Rewritten so errors are correctly reported.
34355 (pupa_realloc): Likewise.
34356 (pupa_memalign): Likewise.
34357 (pupa_mm_init_region): Declare unused variables with
34358 `__attribute__ ((unused))' to silence a gcc warning.
34359 * normal/i386/setjmp.S: Remove tab at the end of the file to
34360 silence a gcc warning.
34361 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
34362 variables with `__attribute__ ((unused))' to silence a gcc
34363 warning.
34364 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
34365 local variable i unsigned to silence a gcc warning.
34366
34367 * kern/term.c: Include <pupa/misc.h>.
34368 (pupa_more_lines): New variable.
34369 (pupa_more): Likewise.
34370 (pupa_putcode): When the pager is active pause at the end of every
34371 screen.
34372 (pupa_set_more): New function.
34373 * include/pupa/term.h (pupa_set_more): New prototype.
34374
34375
3b1139cb 343762004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
34377
34378 Now this project is GRUB 2 rather than PUPA. The location of
34379 the CVS repository was moved to GRUB's.
f19dbdb7 34380
3b1139cb 34381 * configure.ac: Use bug-grub as the reporting address.
34382 Use GRUB instead of PUPA.
34383 Change the version number to 1.90.
34384
8367695c 343852004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
34386
34387 * genkernsyms.sh: Updated copyright information.
34388 * genmk.rb: Likewise.
34389 * genmodsrc.sh: Likewise.
34390 * gensymlist.sh: Likewise.
34391 * boot/i386/pc/boot.S: Likewise.
34392 * boot/i386/pc/diskboot.S: Likewise.
34393 * disk/i386/pc/biosdisk.c: Likewise.
34394 * disk/i386/pc/partition.c: Likewise.
34395 * font/manager.c: Likewise.
34396 * fs/ext2.c: Likewise.
34397 * fs/fat.c: Likewise.
34398 * include/pupa/boot.h: Likewise.
34399 * include/pupa/device.h: Likewise.
34400 * include/pupa/disk.h: Likewise.
34401 * include/pupa/dl.h: Likewise.
34402 * include/pupa/elf.h: Likewise.
34403 * include/pupa/err.h: Likewise.
34404 * include/pupa/file.h: Likewise.
34405 * include/pupa/font.h: Likewise.
34406 * include/pupa/fs.h: Likewise.
34407 * include/pupa/kernel.h: Likewise.
34408 * include/pupa/loader.h: Likewise.
34409 * include/pupa/misc.h: Likewise.
34410 * include/pupa/mm.h: Likewise.
34411 * include/pupa/net.h: Likewise.
34412 * include/pupa/normal.h: Likewise.
34413 * include/pupa/rescue.h: Likewise.
34414 * include/pupa/setjmp.h: Likewise.
34415 * include/pupa/symbol.h: Likewise.
34416 * include/pupa/term.h: Likewise.
34417 * include/pupa/types.h: Likewise.
34418 * include/pupa/i386/setjmp.h: Likewise.
34419 * include/pupa/i386/types.h: Likewise.
34420 * include/pupa/i386/pc/biosdisk.h: Likewise.
34421 * include/pupa/i386/pc/boot.h: Likewise.
34422 * include/pupa/i386/pc/console.h: Likewise.
34423 * include/pupa/i386/pc/init.h: Likewise.
34424 * include/pupa/i386/pc/kernel.h: Likewise.
34425 * include/pupa/i386/pc/linux.h: Likewise.
34426 * include/pupa/i386/pc/loader.h: Likewise.
34427 * include/pupa/i386/pc/memory.h: Likewise.
34428 * include/pupa/i386/pc/multiboot.h: Likewise.
34429 * include/pupa/i386/pc/partition.h: Likewise.
34430 * include/pupa/i386/pc/time.h: Likewise.
34431 * include/pupa/i386/pc/vga.h: Likewise.
34432 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
34433 * include/pupa/util/getroot.h: Likewise.
34434 * include/pupa/util/misc.h: Likewise.
34435 * include/pupa/util/resolve.h: Likewise.
34436 * kern/device.c: Likewise.
34437 * kern/disk.c: Likewise.
34438 * kern/dl.c: Likewise.
34439 * kern/err.c: Likewise.
34440 * kern/file.c: Likewise.
34441 * kern/fs.c: Likewise.
34442 * kern/loader.c: Likewise.
34443 * kern/main.c: Likewise.
34444 * kern/misc.c: Likewise.
34445 * kern/mm.c: Likewise.
34446 * kern/rescue.c: Likewise.
34447 * kern/term.c: Likewise.
34448 * kern/i386/dl.c: Likewise.
34449 * kern/i386/pc/init.c: Likewise.
34450 * kern/i386/pc/lzo1x.S: Likewise.
34451 * kern/i386/pc/startup.S: Likewise.
34452 * loader/i386/pc/chainloader.c: Likewise.
34453 * loader/i386/pc/linux.c: Likewise.
34454 * loader/i386/pc/multiboot.c: Likewise.
34455 * normal/cmdline.c: Likewise.
34456 * normal/command.c: Likewise.
34457 * normal/main.c: Likewise.
34458 * normal/menu.c: Likewise.
34459 * normal/i386/setjmp.S: Likewise.
34460 * term/i386/pc/console.c: Likewise.
34461 * term/i386/pc/vga.c: Likewise.
34462 * util/console.c: Likewise.
34463 * util/genmoddep.c: Likewise.
34464 * util/misc.c: Likewise.
34465 * util/pupa-emu.c: Likewise.
34466 * util/resolve.c: Likewise.
34467 * util/unifont2pff.rb: Likewise.
34468 * util/i386/pc/biosdisk.c: Likewise.
34469 * util/i386/pc/getroot.c: Likewise.
34470 * util/i386/pc/pupa-mkimage.c: Likewise.
34471 * util/i386/pc/pupa-setup.c: Likewise.
34472
e6eced71 344732004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
34474
34475 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
34476 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
34477 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
34478 reading and reset it after reading.
34479 (pupa_ext2_close): Return PUPA_ERR_NONE.
34480
34481 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
34482 Correct value.
34483 (struct linux_kernel_header): Add kernel_version and
34484 initrd_addr_max.
34485 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
34486 pupa_file_read succeeds.
34487 (pupa_rescue_cmd_initrd): Implement.
34488
5aded270 344892003-12-03 Marco Gerards <metgerards@student.han.nl>
34490
34491 * fs/ext2.c (pupa_ext2_label): New function.
34492 (pupa_ext2_fs): Added label.
34493 * fs/fat.c (pupa_fat_label): New function.
34494 (pupa_fat_fs): Added label.
34495 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
34496
34497 * kern/misc.c (pupa_strndup): New function.
34498 * include/pupa/misc.h (pupa_strndup): New prototype.
34499
34500 * include/pupa/normal.h: Include <pupa/err.h>.
34501 (pupa_set_history): New prototype.
34502 (pupa_iterate_commands): New prototype.
34503 * normal/cmdline.c: Include <pupa/machine/partition.h>,
34504 <pupa/disk.h>, <pupa/file.h>.
34505 (hist_size): New variable.
34506 (hist_lines): Likewise.
34507 (hist_end): Likewise.
34508 (hist_used): Likewise.
34509 (pupa_set_history): New function.
34510 (pupa_history_get): Likewise.
34511 (pupa_history_add): Likewise.
34512 (pupa_history_replace): Likewise.
34513 (pupa_tab_complete): Likewise.
34514 (pupa_cmdline_run): Added tab completion and history buffer. Tab
34515 completion shows partitionnames while completing partitions, this
34516 feature was suggested by Jeff Bailey.
34517 * normal/command.c (pupa_iterate_commands): New function.
34518 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
34519 (pupa_normal_init): Initialize history buffer.
34520 (PUPA_MOD_INIT): Likewise.
34521 (pupa_normal_fini): Free the history buffer.
34522 (PUPA_MOD_FINI): Likewise.
34523
34524 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
34525 key.
34526
34527 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
34528 * configure.ac [i386]: Check for regparam bug.
34529 (NESTED_FUNC_ATTR) [! i386]: Defined.
34530
1f7315a3 345312003-11-17 Marco Gerards <metgerards@student.han.nl>
34532
34533 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
34534 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
34535 (pupa_emu_SOURCES): New variable.
34536 (pupa_emu_LDFLAGS): Likewise.
34537 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
34538 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
34539 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
34540 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
34541 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
34542 (pupa_jmp_buf): New typedef.
34543 (pupa_setjmp) [PUPA_UTIL]: New macro.
34544 (pupa_longjmp) [PUPA_UTIL]: Likewise.
34545 * include/pupa/term.h (struct pupa_term): New member `refresh'.
34546 (pupa_refresh): New prototype.
34547 * include/pupa/util/getroot.h: New file.
34548 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
34549 it.
34550 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
34551 (pupa_rescue_cmd_cat): Likewise.
34552 (pupa_rescue_cmd_ls): Likewise.
34553 (pupa_rescue_cmd_testload): Likewise.
34554 (pupa_rescue_cmd_lsmod): Likewise.
34555 * normal/cmdline.c (pupa_cmdline_get): Likewise.
34556 * normal/menu.c (run_menu): Likewise.
34557 * kern/term.c (pupa_cls): Likewise.
34558 (pupa_refresh): New function.
34559 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
34560 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
34561 * util/console.c: New file.
f19dbdb7 34562
1f7315a3 34563 * util/i386/pc/getroot.c: New file.
34564 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
34565 (pupa_putchar): New function.
34566 (pupa_refresh): Likewise.
34567 (xgetcwd): Function moved to ...
34568 (strip_extra_slashes): Likewise.
34569 (get_prefix): Likewise.
f19dbdb7 34570 * util/i386/pc/getroot.c: ... here.
1f7315a3 34571 (find_root_device): Function moved and renamed to...
34572 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
34573 Changed all callers.
34574 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
34575 and renamed to...
34576 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
34577 Changed all callers.
34578 * util/misc.c (pupa_memalign): New function.
34579 (pupa_mm_init_region): Likewise.
34580 (pupa_register_exported_symbols): Likewise.
34581 (pupa_putchar): Function removed.
34582 * util/pupa-emu.c: New file.
34583
9a5c1ade 345842003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
34585
34586 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
34587 (_multiboot_mod_SOURCES): New variable.
34588 (_multiboot_mod_CFLAGS): Likewise.
34589 * loader/i386/pc/multiboot.c: New file.
34590 * include/pupa/i386/pc/multiboot.h: Likewise.
34591 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
34592 (pupa_multiboot_real_boot): New function.
34593 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
34594 (pupa_multiboot_real_boot): New prototype.
34595 (pupa_rescue_cmd_multiboot): Likewise
34596 (pupa_rescue_cmd_module): Likewise.
34597
34598 * kern/loader.c (pupa_loader_set): Continue when
34599 pupa_loader_unload_func() fails.
34600 (pupa_loader_unset): New function.
34601 * include/pupa/loader.h (pupa_loader_unset): New prototype.
34602
34603 * kern/misc.c (pupa_stpcpy): New function.
34604 * include/pupa/misc.h (pupa_stpcpy): New prototype.
34605
8e72a9c0 346062003-11-12 Marco Gerards <metgerards@student.han.nl>
34607
34608 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
34609 for available extensions.
34610
34611 * include/pupa/i386/pc/time.h: New file.
34612 * kern/disk.c: Include <pupa/machine/time.h>.
34613 (PUPA_CACHE_TIMEOUT): New macro.
34614 (pupa_last_time): New variable.
34615 (pupa_disk_open): Flush the cache when there was a timeout.
34616 (pupa_disk_close): Reset the timer.
34617 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
34618 pupa_currticks.
34619 * util/misc.c: Include <sys/times.h>
34620 (pupa_get_rtc): New function.
34621
c4adbd32 346222003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
34623
34624 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
34625 as blocks.
34626 (pupa_ext2_get_file_block): Use blocks member.
34627
34628 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
34629 first block. Return -1 instead of pupa_errno on error.
34630
bfd30f06 346312003-10-27 Marco Gerards <metgerards@student.han.nl>
34632
34633 * README: In the pupa-mkimage example use _chain instead of chain
34634 and ext2 instead of fat.
34635 * TODO: Replace ext2fs with jfs as an example. Add an item for
34636 adding journal playback for ext2fs.
34637 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
34638 (pkgdata_MODULES): Added ext2.mod.
34639 (ext2_mod_SOURCES): New variable.
34640 (ext2_mod_CFLAGS): Likewise.
34641 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
34642 * include/pupa/misc.h (pupa_strncpy): New prototype.
34643 (pupa_strcat): Likewise.
34644 (pupa_strncmp): Likewise.
34645 * kern/misc.c (pupa_strcat): Enable function.
34646 (pupa_strncpy): New function.
34647 (pupa_strncmp): Likewise.
34648 * fs/ext2.c: New file.
f19dbdb7 34649
bfd30f06 34650 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
34651 when the read failed before retrying.
34652 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
34653 (_FILE_OFFSET_BITS): Likewise.
34654 * configure.ac: Added AC_SYS_LARGEFILE.
34655
98d15063 346562003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
34657
34658 * genmk.rb (PModule#rule): Make sure to get only symbol names
34659 from the output of nm.
59cad637 34660 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 34661
18d9c7cd 346622003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
34663
34664 I forgot to check in these changes for a long time. This adds
34665 incomplete support for VGA console, and this is still very
34666 buggy. Also, a lot of consideration is required for I18N,
34667 UNICODE, and VGA font issues. Therefore, assume that this is
34668 such that "better than nothing".
f19dbdb7 34669
18d9c7cd 34670 * font/manager.c: New file.
34671 * include/pupa/font.h: Likewise.
34672 * include/pupa/i386/pc/vga.h: Likewise.
34673 * term/i386/pc/vga.c: Likewise.
34674 * util/unifont2pff.rb: Likewise.
34675
34676 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
34677 (pkgdata_MODULES): Added vga.mod and font.mod.
34678 (vga_mod_SOURCES): New variables.
34679 (vga_mod_CFLAGS): Likewise.
34680 (font_mod_SOURCES): Likewise.
34681 (font_mod_CFLAGS): Likewise.
34682
34683 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
34684
34685 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 34686 (struct pupa_term): Added init and fini.
18d9c7cd 34687 Changed the argument of putchar to pupa_uint32_t.
34688
34689 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
34690 (pupa_console_real_putchar): New prototype.
34691 (pupa_console_putchar): Removed.
34692 (pupa_console_checkkey): Exported.
34693 (pupa_console_getkey): Likewise.
34694
34695 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
34696 characters.
34697
34698 * kern/term.c (pupa_term_set_current): Rewritten.
34699 (pupa_putchar): Likewise.
34700 (pupa_putcode): New function.
34701
34702 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
34703 (pupa_console_real_putchar): ... this.
34704 (pupa_vga_set_mode): New function.
34705 (pupa_vga_get_font): Likewise.
34706
34707 * normal/command.c: Include pupa/term.h.
34708 (terminal_command): New function.
34709 (pupa_command_init): Register the command "terminal".
34710
34711 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
34712 (DISP_UP): Likewise.
34713 (DISP_RIGHT): Likewise.
34714 (DISP_DOWN): Likewise.
34715 (DISP_HLINE): Likewise.
34716 (DISP_VLINE): Likewise.
34717 (DISP_UL): Likewise.
34718 (DISP_UR): Likewise.
34719 (DISP_LL): Likewise.
34720 (DISP_LR): Likewise.
34721
34722 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 34723
977329f5 347242003-02-08 NIIBE Yutaka <gniibe@m17n.org>
34725
34726 * util/resolve.c (pupa_util_resolve_dependencies): BUG
34727 FIX. Reverse the path_list.
34728
34729 * include/pupa/normal.h: Export pupa_register_command and
34730 pupa_unregister_command.
34731
34732 * hello/hello.c (pupa_cmd_hello): New module.
34733 * conf/i386-pc.rmk: Added hello.mod.
34734
1f5ab428 347352003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
34736
34737 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 34738
1f5ab428 34739 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
34740 (compress_kernel): New variable.
34741 (generate_image): Heavily modified to support compressing a
34742 large part of the core image.
34743
34744 * util/misc.c (pupa_util_read_image): Fix a file descriptor
34745 leak.
34746 (pupa_util_load_image): New function.
34747
34748 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
34749 (pupa_compressed_size): New variable.
34750 (codestart): Enable Gate A20 here.
34751 Decompress the compressed part of the core image.
34752 Rearrange the code to put functions and variables which are
34753 required for initialization in the non-compressed part.
34754 Include lzo1x.S.
34755
34756 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
34757 here.
34758
34759 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
34760
f19dbdb7 34761 * include/pupa/i386/pc/kernel.h
1f5ab428 34762 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
34763 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
34764 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
34765 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
34766 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
34767
34768 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
34769
34770 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
34771 (Utility#rule): Likewise.
34772
34773 * configure.ac: Check if LZO is available.
34774
ce5bf700 347752003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
34776
34777 * include/pupa/normal.h: New file.
34778 * include/pupa/setjmp.h: Likewise.
34779 * include/pupa/i386/setjmp.h: Likewise.
34780 * normal/cmdline.c: Likewise.
34781 * normal/command.c: Likewise.
34782 * normal/main.c: Likewise.
34783 * normal/menu.c: Likewise.
34784 * normal/i386/setjmp.S: Likewise.
f19dbdb7 34785
ce5bf700 34786 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
34787 (pupa_rescue_cmd_initrd): Likewise.
34788
34789 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
34790 Likewise.
34791
34792 * kern/i386/pc/startup.S (translation_table): New variable.
34793 (translate_keycode): New function.
34794 (pupa_console_getkey): Call translate_keycode.
34795
34796 * kern/rescue.c (attempt_normal_mode): New function.
34797 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
34798 it failed, print a message.
34799
34800 * kern/mm.c (pupa_real_malloc): Print more information when a
34801 free magic is broken.
34802 (pupa_free): If the first free header is not free actually, set
34803 it to P.
34804
34805 * kern/main.c (pupa_load_normal_mode): Just load the module
34806 "normal".
34807 (pupa_main): Don't print the message
34808 "Entering into rescue mode..." here.
34809
34810 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
34811 Declared.
34812 (pupa_rescue_cmd_initrd): Likewise.
34813 (pupa_rescue_cmd_initrd): Likewise.
34814
34815 * include/pupa/symbol.h (FUNCTION): Specify the type.
34816 (VARIABLE): Likewise.
34817
34818 * include/pupa/err.h (pupa_err_t): Added
34819 PUPA_ERR_UNKNOWN_COMMAND.
34820
34821 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
34822 (pupa_dl_get_prefix): Likewise.
34823
34824 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
34825 Added _chain.mod and _linux.mod instead of chain.mod and
34826 linux.mod.
34827 (chain_mod_SOURCES): Renamed to ...
34828 (_chain_mod_SOURCES): ... this.
34829 (chain_mod_CFLAGS): Renamed to ...
34830 (_chain_mod_CFLAGS): ... this.
34831 (linux_mod_SOURCES): Renamed to ...
34832 (_linux_mod_SOURCES): ... this.
34833 (linux_mod_CFLAGS): Renamed to ...
34834 (_linux_mod_CFLAGS): ... this.
34835 (normal_mod_SOURCES): New variable.
34836 (normal_mod_CFLAGS): Likewise.
34837 (normal_mod_ASFLAGS): Likewise.
34838
348392003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
34840
34841 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
34842 possible.
34843
fe6b695a 34844 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 34845 recursively.
34846 (pupa_dl_unref): Unrefer depending modules recursively.
34847 Don't call pupa_dl_unload implicitly, because PUPA can crash if
34848 a module is unloaded before one depending on that module is
34849 unloaded.
34850 (pupa_dl_unload): Unload depending modules explicitly,
34851 if possible.
34852
c04da074 348532003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
34854
34855 * include/pupa/i386/pc/linux.h: New file.
34856 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 34857
c04da074 34858 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
34859 Removed.
34860 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
34861 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
34862 of PUPA_CHAINLOADER_BOOT_SECTOR.
34863
34864 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
34865 (pupa_linux_prot_size): New variable.
34866 (pupa_linux_tmp_addr): Likewise.
34867 (pupa_linux_real_addr): Likewise.
34868 (pupa_linux_boot_zimage): New function.
34869 (pupa_linux_boot_bzimage): Likewise.
34870
34871 * kern/i386/pc/init.c (struct mem_region): New structure.
34872 (MAX_REGIONS): New macro.
34873 (mem_regions): New variable.
34874 (num_regions): Likewise.
34875 (pupa_os_area_addr): Likewise.
34876 (pupa_os_area_size): Likewise.
34877 (pupa_lower_mem): Likewise.
34878 (pupa_upper_mem): Likewise.
34879 (add_mem_region): New function.
34880 (compact_mem_regions): Likewise.
34881 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
34882 the size of the conventional memory and that of so-called upper
34883 memory (before the first memory hole).
34884 Instead of adding each found region to free memory, use
34885 add_mem_region and add them after removing overlaps.
34886 Also, add only 1/4 of the upper memory to free memory. The rest
34887 is used for loading OS images. Maybe this is ad hoc, but this
34888 makes it much easier to relocate OS images when booting.
34889
34890 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
34891 (pupa_enter_rescue_mode): Don't register initrd and module.
34892
34893 * kern/mm.c: Include pupa/dl.h.
34894
34895 * kern/main.c: Include pupa/file.h and pupa/device.h.
34896
34897 * kern/loader.c (pupa_loader_load_module_func): Removed.
34898 (pupa_loader_load_module): Likewise.
34899
34900 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
34901 ``.o''.
34902
34903 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
34904 (pupa_linux_tmp_addr): Likewise.
34905 (pupa_linux_real_addr): Likewise.
34906 (pupa_linux_boot_zimage): Likewise.
34907 (pupa_linux_boot_bzimage): Likewise.
34908
34909 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
34910 (pupa_upper_mem): Likewise.
34911 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
34912 module is too dangerous.
34913
34914 * include/pupa/loader.h (pupa_os_area_addr): Declared.
34915 (pupa_os_area_size): Likewise.
34916 (pupa_loader_set): Remove the first argument. Loader doesn't
34917 manage modules or initrd any longer.
34918 (pupa_loader_load_module): Removed.
34919
34920 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
34921 (linux_mod_SOURCES): New variable.
34922 (linux_mod_CFLAGS): Likewise.
34923
a13f9237 349242003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
34925
34926 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
34927 the length of a blocklist correctly.
34928
34929 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
34930 Use ioctl only if the OS file is a block device.
34931 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
34932 not very useful for normal files.
34933
34934 * kern/main.c (pupa_set_root_dev): New function.
34935 (pupa_load_normal_mode): Likewise.
34936 (pupa_main): Call those above.
34937
34938 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
34939 pupa_uint16_t.
34940
34941 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
34942
a5ffe966 349432003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
34944
34945 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
34946 (setup): Configure the installed partition information and the
34947 dl prefix.
34948
34949 * loader/i386/pc/chainloader.c (my_mod): New variable.
34950 (pupa_chainloader_unload): New function.
34951 (pupa_rescue_cmd_chainloader): Refer itself.
34952 (PUPA_MOD_INIT): Save its own module in MY_MOD.
34953
34954 * kern/i386/pc/startup.S (install_partition): Removed.
34955 (version_string): Likewise.
34956 (config_file): Likewise.
34957 (pupa_install_dos_part): New variable.
34958 (pupa_install_bsd_part): Likewise.
34959 (pupa_prefix): Likewise.
34960 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
34961
34962 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
34963 and pupa/misc.h.
34964 (make_install_device): New function.
34965 (pupa_machine_init): Set the dl prefix.
34966
34967 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
34968 (buf): Renamed to ...
34969 (linebuf): ... this.
34970 (pupa_rescue_cmd_prefix): New function.
34971 (pupa_rescue_cmd_insmod): Likewise.
34972 (pupa_rescue_cmd_rmmod): Likewise.
34973 (pupa_rescue_cmd_lsmod): Likewise.
34974 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
34975 rmmod and lsmod.
34976
34977 * kern/mm.c (pupa_memalign): If failed even after invalidating
34978 disk caches, unload unneeded modules and retry.
34979
34980 * kern/misc.c (pupa_memmove): New function.
34981 (pupa_memcpy): Removed.
34982 (pupa_strcpy): New function.
34983 (pupa_itoa): Made static.
34984
34985 * kern/dl.c (pupa_dl_iterate): New function.
34986 (pupa_dl_ref): Likewise.
34987 (pupa_dl_unref): Likewise.
34988 (pupa_dl_unload): Return if succeeded or not.
34989 (pupa_dl_unload_unneeded): New function.
34990 (pupa_dl_unload_all): Likewise.
34991 (pupa_dl_init): Renamed to ...
34992 (pupa_dl_set_prefix): ... this.
34993 (pupa_dl_get_prefix): New function.
34994
34995 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
34996 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
34997 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
34998 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
34999 (pupa_install_dos_part): Declared.
35000 (pupa_install_bsd_part): Likewise.
35001 (pupa_prefix): Likewise.
35002 (pupa_boot_drive): Likewise.
35003
35004 * include/pupa/types.h: Fix a typo.
35005
35006 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
35007 pupa_memmove.
35008 (pupa_memmove): Declared.
35009 (pupa_strcpy): Likewise.
35010
35011 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
35012 pupa_mod_init takes one argument, its own module.
35013 (pupa_dl_unload_unneeded): Declared.
35014 (pupa_dl_unload_all): Likewise.
35015 (pupa_dl_ref): Likewise.
35016 (pupa_dl_unref): Likewise.
35017 (pupa_dl_iterate): Likewise.
35018 (pupa_dl_init): Renamed to ...
35019 (pupa_dl_set_prefix): ... this.
35020 (pupa_dl_get_prefix): Declared.
35021
35022 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 35023 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 35024 unloaded.
35025 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
35026 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
35027
35028 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
35029 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
35030
012d7999 350312003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
35032
35033 * util/i386/pc/pupa-setup.c (setup): Define the internal
35034 function find_first_partition_start at the top level, because GCC
35035 3.0.x cannot compile internal functions in deeper scopes
35036 correctly.
35037 (find_root_device): Use lstat instead of stat.
35038 Don't follow symbolic links.
35039 Fix the path-constructing code.
35040
35041 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
35042 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
35043 by a BLKGETSIZE ioctl first, because block devices don't fill
35044 the member st_mode of the structure stat on Linux.
35045 [__linux__] (linux_find_partition): Use a temporary buffer
35046 REAL_DEV for the working space. Copy it to DEV before returning.
35047 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
35048 buffer cache consistent.
35049 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
35050 strncmp. The previous value was merely wrong.
35051 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
35052
35053 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
35054 FAT size is 12. The previous value was merely wrong.
35055
35056 * kern/main.c (pupa_main): Don't split the starting message from
35057 newlines.
35058
35059 * kern/term.c (pupa_putchar): Put CR after LF instead of before
35060 LF, because BIOS goes crazy about character attributes in this
35061 case.
35062
1cc73a62 350632003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
35064
35065 * include/i386/pc/util/biosdisk.h: New file.
35066 * util/i386/pc/biosdisk.c: Likewise.
35067 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 35068
1cc73a62 35069 * Makefile.in (INCLUDE_DISTFILES): Added
35070 include/pupa/i386/pc/util/biosdisk.h.
35071 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
35072 directory util/i386/pc.
35073 (install-local): Added a rule for sbin_UTILITIES.
35074 (uninstall): Likewise.
35075
35076 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
35077
35078 * util/misc.c (xrealloc): New function.
35079 (pupa_malloc): Likewise.
35080 (pupa_free): Likewise.
35081 (pupa_realloc): Likewise.
35082 (pupa_stop): Likewise.
35083 (pupa_putchar): Likewise.
35084
35085 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
35086
35087 * include/pupa/util/misc.h (xrealloc): Declared.
35088
35089 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
35090 macro.
35091 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
35092 (PUPA_BOOT_MACHINE_BPB_END): ... this.
35093
35094 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
35095 [PUPA_UTIL] (pupa_fat_fini): Likewise.
35096
35097 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
35098 way should be implemented.
35099 [PUPA_UTIL] (pupa_fat_fini): Likewise.
35100
35101 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
35102 the size of NAME for safety.
35103 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
35104 0x88.
35105
35106 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
35107 (pupa_setup_SOURCES): Likewise.
35108
35109 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
35110
08b70fe8 351112002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
35112
35113 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
35114 bunch of pushl's from pusha, because this destroys the return
35115 value.
35116
62ddcc8f 351172002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
35118
35119 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
35120 This means that any missing prototypes could be fatal. Also, you
35121 must take care when writing assembly code. See the comments at
35122 the beginning of startup.S, for more details.
f19dbdb7 35123
62ddcc8f 35124 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
35125 compilation mechanism.
35126 (pupa_chainloader_real_boot): Likewise.
35127 (pupa_biosdisk_rw_int13_extensions): Likewise.
35128 (pupa_biosdisk_rw_standard): Likewise.
35129 (pupa_biosdisk_check_int13_extensions): Likewise.
35130 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
35131 (pupa_biosdisk_get_diskinfo_standard): Likewise.
35132 (pupa_get_memsize): Likewise.
35133 (pupa_get_mmap_entry): Likewise.
35134 (pupa_console_putchar): Likewise.
35135 (pupa_console_setcursor): Likewise.
35136 (pupa_getrtsecs): Use pushl instead of push.
35137
35138 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
35139 memory instead of the stack for a mmap entry, because some
35140 BIOSes may ignore the maximum size and overflow.
35141
35142 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
35143
35144 * genmk.rb (PModule#rule): Compile automatically generated
35145 sources with module-specific CFLAGS as well as other sources.
35146
9962ed99 351472002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35148
35149 * configure.ac: Check ld.
35150 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
35151 respectively, before checking endianness and sizes.
35152
35153 * Makefile.in (LD): New variable.
f19dbdb7 35154
abdfc3c5 351552002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35156
35157 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
35158
6a161fa9 351592002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
35160
35161 * Changelog: New file.
35162