]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* grub-core/fs/cpio.c (handle_symlink): Fix a bug.
[grub2.git] / ChangeLog
1 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
4
5 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6
7 Merge common RAID and LVM logic to an abstract diskfilter.
8 Add LDM support using the same framework.
9
10 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
11 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
12 (libgrubmods): Remove grub-core/disk/raid.c and
13 grub-core/partmap/gpt.c.
14 * grub-core/Makefile.core.def (ldm): New module.
15 (raid): Renamed to diskfilter. All users updated.
16 * grub-core/disk/raid.c: Moved to ...
17 * grub-core/disk/diskfilter.c: ... here.
18 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
19 (lv_num): New var.
20 (find_array): Renamed to ...
21 (find_lv): ... this. Support multi-LV. Skip nameless LVs
22 (grub_is_array_readable): Renamed to ...
23 (grub_is_lv_readable): ... this. Support multinode hierarchy.
24 (insert_array): New argument id.
25 (is_node_readable): New function.
26 (scan_device): Rename to ...
27 (scan_disk): .. this. Restrict to one disk.
28 (scan_devices): New function.
29 (grub_diskfilter_iterate): Support multi-LV.
30 Skip invisible and nameless LVs.
31 (grub_diskfilter_memberlist): Support multi-LV.
32 (grub_diskfilter_read_node): New function.
33 (grub_raid_read): Most of logic moved to ...
34 (read_segment): ... here
35 (read_lv): New function.
36 (grub_diskfilter_get_vg_by_uuid): New function.
37 (grub_diskfilter_make_raid): Likewise.
38 * grub-core/disk/ldm.c: New file.
39 * grub-core/disk/lvm.c (vg_list): Removed.
40 (lv_count): Likewise.
41 (scan_depth): Likewise.
42 (is_lv_readable): Likewise.
43 (grub_lvm_getvalue): Advance pointer past the number.
44 (find_lv): Removed.
45 (do_lvm_scan): Refactored into ...
46 (grub_lvm_detect): ... this. Support raid.
47 (grub_lvm_iterate): Removed.
48 (grub_lvm_memberlist): Likewise.
49 (grub_lvm_open): Likewise.
50 (grub_lvm_close): Likewise.
51 (read_lv): Likewise.
52 (read_node): Likewise.
53 (is_node_readable): Likewise.
54 (is_lv_readable): Likewise.
55 (grub_lvm_read): Likewise.
56 (grub_lvm_write): Likewise.
57 (grub_lvm_dev): Use diskfilter
58 (GRUB_MOD_INIT): Likewise.
59 (GRUB_MOD_FINI): Likewise.
60 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
61 new interface.
62 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
63 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
64 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
65 grub_diskfilter_read_node.
66 Fix a bug with xor.
67 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
68 grub_diskfilter_read_node.
69 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
70 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
71 (grub_disk_dev_iterate): Move from here...
72 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
73 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
74 Make global.
75 (grub_hostdisk_find_partition_start): Likewise.
76 (grub_hostdisk_os_dev_to_grub_drive): New function.
77 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
78 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
79 * util/getroot.c (make_device_name): ... here.
80 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
81 Move to ...
82 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
83 * grub-core/kern/emu/hostdisk.c
84 (convert_system_partition_to_system_disk): Move to ...
85 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
86 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
87 * util/getroot.c (device_is_wholedisk): ... here.
88 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
89 * util/getroot.c (find_system_device): ... here.
90 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
91 Move to ...
92 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
93 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
94 Move to ...
95 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
96 Handle LDM.
97 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
98 Move to ...
99 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
100 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
101 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
102 DISKFILTER.
103 * include/grub/raid.h: Renamed to ...
104 * include/grub/diskfilter.h: ... this.
105 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
106 (GRUB_RAID_LAYOUT_*): Make into array.
107 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
108 (grub_diskfilter_vg): New struct.
109 (grub_diskfilter_pv_id): Likewise.
110 (grub_raid_member): Removed.
111 (grub_raid_array): Likewise.
112 (grub_diskfilter_pv): New struct.
113 (grub_diskfilter_lv): Likewise.
114 (grub_diskfilter_segment): Likewise.
115 (grub_diskfilter_node): Likewise.
116 (grub_diskfilter_get_vg_by_uuid): New proto.
117 (grub_raid_register): Inline.
118 (grub_diskfilter_unregister): Likewise.
119 (grub_diskfilter_make_raid): New proto.
120 (grub_diskfilter_vg_register): Likewise.
121 (grub_diskfilter_read_node): Likewise.
122 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
123 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
124 (grub_util_is_ldm): Likewise.
125 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
126 (grub_hostdisk_find_partition_start): Likewise.
127 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
128 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
129 New definition.
130 (grub_gpt_partition_map_iterate): New proto.
131 * include/grub/lvm.h (grub_lvm_vg): Removed.
132 (grub_lvm_pv): Likewise.
133 (grub_lvm_lv): Likewise.
134 (grub_lvm_segment): Likewise.
135 (grub_lvm_node): Likewise.
136 * util/getroot.c [...]
137 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
138 (probe_abstraction): Likewise.
139 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
140 (main): Remove dead logic.
141
142 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
143
144 Simplify root device discover and don't fail when trying to open
145 incorrect devices.
146
147 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
148 function.
149 (get_diskname_from_path): Likewise.
150 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
151 of iterating.
152
153 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
154
155 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
156
157 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
158
159 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
160 pastthe end.
161
162 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
163
164 * util/grub-install.in: Add missing \.
165 Reported by: gentoofan
166
167 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
168
169 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
170 (direct_read): Use correct compressed size.
171 (grub_squash_read_data): Likewise.
172
173 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
174
175 * docs/grub.texi (Platform limitations): New section.
176 (Platform-specific operations): Likewise.
177 * docs/grub-dev.texi (Porting): Likewise.
178
179 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
180
181 IEEE1275 disk write support.
182
183 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
184 const void *.
185 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
186 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
187 and seek loginc to ...
188 (grub_ofdisk_prepare): ... here.
189 (grub_ofdisk_write): Implement.
190
191 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
192
193 ARC disk write support.
194
195 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
196 (reopen): New argument writable. All users updated.
197 Handle required access mode.
198 (grub_arcdisk_write): Implement.
199 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
200 (grub_arc_firmware_vector): Make buffer to write a const buffer.
201
202 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
203
204 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
205 (read_sblock): Don't attempt to read superblocks outside the disk size.
206
207 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
208
209 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
210 first superblock to find the second one when possible.
211
212 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
213
214 * util/grub-install.in: Fix an ARC bug.
215 Print a warning if no platform-specific setup is available.
216
217 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
218
219 Use static allocation rather than scratch pointer in reed_solomon.
220 It decreases its size significantly and avoids a variable in .text.
221
222 * grub-core/lib/reed_solomon.c (scratch): Removed.
223 (chosenstat): New const or static array.
224 (sigma): Likewise.
225 (errpot): Likewise.
226 (errpos): Likewise.
227 (sy): Likewise.
228 (mstat): Likewise.
229 (errvals): Likewise.
230 (eqstat): Likewise.
231 (pol_evaluate): Replace x with log_x argument. All users updated.
232 (syndroms): Removed.
233 (gauss_solve): Use statically allocated arrays.
234 (rs_recover): Likewise.
235 Calculate syndroms directly.
236 (decode_block): Use statically allocated arrays.
237 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
238 (main) [TEST]: Allow -DTEST -DSTANDALONE.
239
240 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
241
242 Eliminate fixed limit on reed solomon decoder length.
243
244 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
245 rather than hardcoding the address.
246 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
247 no_reed_solomon_length.
248 Move gate_a20 to no-reed-solomon part.
249 Don't force a particular size of no reed-solomon part.
250 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
251 Removed.
252 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
253 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
254
255 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
256
257 * grub-core/commands/wildcard.c (match_files): Handle filenames
258 without explicit device.
259 (wildcard_expand): Don't add explicit device if not already present.
260 * tests/grub_script_echo1.in: Add a new expansion test.
261
262 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
263
264 Replace single-linked with double-linked lists. It results in more
265 compact and more efficient code.
266
267 * grub-core/kern/list.c (grub_list_push): Moved from here ...
268 * include/grub/list.h (grub_list_push): ... to here. Set prev.
269 (grub_list_remove): Moved from here ...
270 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
271 (grub_prio_list_insert): Set prev.
272 * include/grub/list.h (grub_list): Add prev. All users updated.
273
274 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
275
276 Handle newer autotools. Add some missing quotes while on it.
277
278 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
279 (pkglib_DATA): Move grub-mkconfig_lib from here ...
280 (pkgdata_DATA): ... here.
281 * Makefile.util.def (update-grub_lib): Removed.
282 * conf/Makefile.common (pkglib_DATA): Removed.
283 (pkglib_SCRIPTS): Likewise.
284 (pkgdata_DATA): New variable.
285 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
286 needed.
287 Add missing quotes.
288 Remove unused variable while on it.
289 * tests/util/grub-shell.in: Likewise.
290 * util/grub-install.in: Likewise.
291 * util/grub-mkconfig.in: Likewise.
292 * util/grub-mknetdir.in: Likewise.
293 * util/grub-mkrescue.in: Likewise.
294 * util/grub-mkstandalone.in: Likewise.
295 * util/grub.d/00_header.in: Likewise.
296 * util/grub.d/10_hurd.in: Likewise.
297 * util/grub.d/10_illumos.in: Likewise.
298 * util/grub.d/10_kfreebsd.in: Likewise.
299 * util/grub.d/10_linux.in: Likewise.
300 * util/grub.d/10_netbsd.in: Likewise.
301 * util/grub.d/10_windows.in: Likewise.
302 * util/grub.d/20_linux_xen.in: Likewise.
303 * util/grub.d/30_os-prober.in: Likewise.
304 * util/update-grub_lib.in: Removed.
305
306 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
307
308 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
309 a workaround for intel problem.
310
311 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
312 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
313 2012-01-23 pfsmorigo
314
315 * util/grub-install.in: Support dd'in into PreP partition.
316 * util/grub-probe.c (probe): Support discovering partition type.
317 (main): Support -t msdos_parttype.
318
319 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
320
321 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
322 infinite recursion using counter.
323 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
324 init to skip it if the magic check fails.
325 (dec_stream_header): Init s->crc32.
326
327 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
328 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
329 2012-01-22 Richard Laager <rlaager@wiktel.com>
330
331 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
332 All users updated.
333 (find_bestub): Determine correct size.
334 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
335 (scan_disk): Align the size down.
336 Call check pool before find_bestub to have ashift.
337
338 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
339
340 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
341 dprintf in no-malloc zone.
342
343 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
344
345 * configure.ac: Add back in test for limits.h.
346
347 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
348
349 Support 4K-sector NTFS.
350
351 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
352 (grub_ntfs_data): Remove blocksize.
353 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
354 Remove data argument. All users updated.
355
356 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
357
358 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
359 being in .text to avoid dprel references.
360 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
361 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
362 (grub_arch_highmemsize): Likewise.
363 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
364 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
365 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
366
367 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
368
369 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
370
371 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
372 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
373
374 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
375
376 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
377 GRUB_UTIL.
378 (grub_set_datetime_cmos): Likewise.
379
380 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
381
382 Make XZ compression parameters dependent on target and not host CPU.
383
384 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
385 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
386
387 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
388
389 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
390 set but not used variable.
391
392 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
393
394 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
395 created when no uuid support is compiled into mkfs.reiser.
396
397 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
398
399 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
400 (utf8_to_macroman): Do the opposite.
401 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
402
403 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
404
405 * configure.ac: Refise build qemu_mips w/o unifont.
406
407 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
408
409 Eliminate grub_min/grub_max prone to overflow usage.
410
411 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
412 (poll_nonroot_hub): Likewise.
413 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
414 (grub_affs_label): Likewise.
415 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
416 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
417 (grub_hfs_label): Likewise.
418 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
419 * grub-core/fs/zfs/zfs.c (MIN): Remove.
420 (zap_leaf_array_equal): Use grub_size. Remove MIN.
421 (zap_leaf_array_get): Likewise.
422 (dnode_get_path): Likewise.
423 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
424 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
425 * grub-core/script/execute.c (grub_script_break): Likewise.
426 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
427 grub_max.
428 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
429 * include/grub/misc.h (grub_min): Removed.
430 (grub_max): Likewise.
431
432 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
433
434 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
435 direct.inode = 0.
436
437 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
438
439 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
440
441 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
442
443 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
444
445 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
446
447 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
448 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
449
450 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
451
452 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
453 rather than a hack for grub_strncasemap.
454
455 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
456
457 Support multiple initrds
458 Note: part of this was accidently committed in r3739.
459
460 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
461 initrd.
462 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
463 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
464 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
465 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
466 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
467
468 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
469
470 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
471 disks with unknown size.
472 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
473
474 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
475
476 Remove defines pertaining to arbitrary limits not affecting GRUB
477 anymore.
478
479 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
480 (EXT2_MAX_SYMLINKCNT): Likewise.
481 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
482 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
483 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
484 (GRUB_PXE_MAX_BLKSIZE): Likewise.
485 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
486 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
487 (DN_MAX_OBJECT_SHIFT): Likewise.
488 (DN_MAX_OFFSET_SHIFT): Likewise.
489 (DN_MAX_OBJECT): Likewise.
490 (DNODES_PER_LEVEL_SHIFT): Likewise.
491 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
492 (SPA_MAXBLOCKSIZE): Likewise.
493 (SPA_BLOCKSIZES): Likewise.
494 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
495 (MZAP_MAX_BLKSZ): Likewise.
496
497 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
498
499 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
500 handle NULL appropriately.
501 Remove MIN.
502
503 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
504
505 Fix efiemu.
506
507 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
508 cpu/types.h.
509 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
510 * configure.ac: Fix efiemu check.
511
512 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
513
514 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
515 grub_probe.
516 Reported by: adamwill
517
518 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
519
520 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
521
522 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
523
524 Fix handling of wide characters in gfxterm.
525
526 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
527 (clear_char): Likewise.
528 (paint_char): Skip code == NULL chars.
529 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
530
531 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
532
533 * grub-core/normal/charset.c: Move comment to right place.
534
535 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
536
537 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
538 (GRUB_AFFS_FLAG_FFS): Put back where it was.
539 (grub_affs_mount): Revert the correct version checking.
540
541 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
542
543 * docs/grub.texi (Unicode): Mention several other unsupported features.
544
545 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
546
547 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
548 case statements as compile-time one.
549 (direct_read): Prevent spurious warnings.
550 (grub_squash_read_data): Likewise.
551
552 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
553
554 Various squash4 fixes and LZO and XZ support.
555
556 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
557 Add xzembed source files.
558 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
559 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
560 (grub_squash_inode): New subtype long_dir.
561 (SQUASH_TYPE_LONG_DIR): New inode type.
562 (COMPRESSION): New enum.
563 (XZBUFSIZ): New const.
564 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
565 (read_chunk): Use data->decompress.
566 (zlib_decompress): New function.
567 (lzo_decompress): Likewise.
568 (xz_decompress): Likewise.
569 (squash_mount): Set new data fields.
570 (grub_squash_iterate_dir): Handle long dir.
571 (squash_unmount): Free xzdec and xzbuf.
572 (grub_squash_open): Check ino type.
573 (direct_read): Stylistic fixes. Use data->decompress.
574 (grub_squash_read_data): Likewise.
575 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
576 (get_byte): Likewise.
577 (grub_zlib_disk_read): Removed.
578 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
579 (GRUB_POSIX_BOOL_DEFINED): New define.
580 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
581 * grub-core/lib/xzembed/xz.h: Addmissing includes.
582 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
583 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
584
585 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
586
587 Don't override more informative errors.
588
589 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
590 * grub-core/font/font.c (open_section): Likewise.
591 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
592 filename. Don't override errors.
593 (grub_cmd_openbsd_ramdisk): Don't override errors.
594 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
595 (grub_cmd_initrd): Likewise.
596 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
597 (grub_cmd_initrd): Likewise.
598 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
599 (grub_cmd_linux): Likewise.
600 (grub_cmd_initrd): Likewise.
601 (grub_cmd_payload): Likewise.
602 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
603 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
604 (grub_cmd_module): Likewise.
605 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
606 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
607 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
608 (grub_cmd_xnu_mkext): Likewise.
609 (grub_cmd_xnu_ramdisk): Likewise.
610 (grub_xnu_check_os_bundle_required): Likewise.
611 (grub_xnu_load_kext_from_dir): Likewise.
612 (grub_cmd_xnu_kextdir): Likewise.
613 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
614
615 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
616
617 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
618 as 1024 in block size field. Found on one of my test images.
619 Small optimisation while on it.
620
621 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
622
623 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
624 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
625 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
626 performance fixes while on it.
627 (grub_sfs_close): Fix memory leak while on it.
628 (grub_sfs_label): Convert Latin1 to UTF-8.
629
630 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
633 space to avoid overflows.
634 (grub_hfs_label): Convert from macroman to UTF-8.
635
636 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
637
638 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
639
640 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
641
642 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
643
644 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
645
646 * unicode: Import Unicode 6.0 data.
647
648 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
649
650 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
651 outside of range.
652
653 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
654
655 Avoid cutting in the middle of UTF-8 character.
656
657 * include/grub/charset.h (grub_getend): New function.
658 * grub-core/script/function.c (grub_script_function_find): Use
659 grub_getend.
660 * grub-core/normal/completion.c (add_completion): Likewise.
661
662 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
665 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
666 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
667 (GRUB_UNICODE_TAG_END): Likewise.
668 (GRUB_UNICODE_LAST_VALID): Likewise.
669
670 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
671
672 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
673 len and make it smaller. All users updated.
674 * util/import_unicode.py: Put length and not end character.
675 Check length.
676
677 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
678
679 Make better Unicode-compliant and unify some UTF-8 code pathes.
680
681 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
682 valid character.
683 (grub_is_valid_utf8): Use grub_utf8_process.
684 Check resulting code range.
685 (grub_utf8_to_ucs4): Use grub_utf8_process.
686 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
687 valid character.
688
689 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
690
691 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
692
693 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
694
695 * docs/grub.texi (Filesystems): Mention AFS.
696
697 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
698
699 * docs/grub.texi (Filesystems): Clarify restrictions.
700 (Regexp): Mention non-Unicode regexp behaviour.
701 (Other): Mention non-Unicode matching behaviour.
702
703 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
704
705 Make HFS implementation use MacRoman.
706
707 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
708 (macroman): New const array.
709 (macroman_to_utf8): New function.
710 (utf8_to_macroman): Likewise.
711 (grub_hfs_find_dir): Use utf8_to_macroman.
712 (grub_hfs_dir): Use macroman_to_utf8.
713 Set case_insensitive.
714
715 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
716
717 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
718
719 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
720
721 Integrate hints into autogeneration scripts.
722
723 * docs/grub.texi (Filesystems): Add a hostdisk example.
724 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
725 (grub-probe): Add ofpath.
726 * gentpl.py: Remove group nosparc64.
727 * grub-core/commands/search.c (cache_entry): New struct.
728 (cache): New var.
729 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
730 * grub-core/commands/search_wrap.c (options): Add platform-specific
731 hint options.
732 (grub_cmd_search): Handle platform-specific hints.
733 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
734 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
735 (grub_util_biosdisk_data): Likewise.
736 (grub_util_biosdisk_open): Set device_map.
737 (read_device_map): Handle "" as indication of no map.
738 Set device_map.
739 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
740 (grub_util_biosdisk_get_compatibility_hint): New function.
741 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
742 * include/grub/emu/hostdisk.h
743 (grub_util_biosdisk_get_compatibility_hint): New proto.
744 * util/grub-install.in: Don't call grub-mkdevicemap.
745 Add platform-specific hint to load.cfg.
746 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
747 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
748 hints. Set root preliminary to compatibility hint, not to OS name.
749 * util/grub-probe.c (PRINT_*): Add hints.
750 (print): Make static.
751 (escape_of_path): New function.
752 (guess_bios_drive): Likewise.
753 (guess_efi_drive): Likewise.
754 (guess_baremetal_drive): Likewise.
755 (print_full_name): Likewise.
756 (probe): Handle hints.
757 (main): Likewise.
758 * util/ieee1275/devicemap.c: Removed.
759 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
760 updated.
761 (grub_util_devname_to_ofpath): Return NULL on failure.
762
763 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
764 resource leak.
765 * util/getroot.c (grub_util_pull_device): Fix memory leak.
766
767 * po/POTFILES.in: Regenerated.
768
769 Allow purely long options
770
771 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
772 (SHORT_ARG_USAGE): Likewise.
773 (grub_arg_show_help): Compare opt with help_options.
774 (parse_option): Receive opt as argument. If makes big simplificatons.
775 All users updated
776
777 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
778
779 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
780 Restructure to avoid warning.
781
782 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
783
784 * util/grub-install.in: Account for possible escaped comma in device
785 name.
786
787 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
788
789 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
790 channel.
791
792 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
793
794 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
795 allocation and zero-setting.
796 (grub_ieee1275_get_devname): Check that alias is complete.
797
798 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
799
800 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
801 unaligned segments.
802
803 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
804
805 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
806 prefix.
807 (grub_ofdisk_open): Check and discard ieee1275 prefix.
808 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
809 Add ieee1275 prefix.
810
811 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
812
813 * docs/grub.texi (Filesystems): Update.
814
815 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
816
817 Support odc, newc and bigendian cpio formats.
818
819 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
820 * grub-core/Makefile.core.def (newc): New module.
821 (odc): Likewise.
822 (cpio_be): Likewise.
823 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
824 (MAGIC): Likewise.
825 (MAGIC2): Likewise.
826 (head) [MODE_ODC]: Adapt for the format.
827 (head) [MODE_NEWC]: Likewise.
828 (head) [!MODE_*]: Write fields of interest as arrays.
829 (MAGIC_USTAR): Removed.
830 (read_number) [MODE_NEWC]: Change to hex.
831 (read_number) [!MODE_*]: Parse binary arrays.
832 (grub_cpio_find_file): Factor out the code for better structure and
833 always use read_number.
834 (grub_cpio_mount): Use MAGIC and MAGIC2.
835 (grub_cpio_dir): Exit on first hook non-0 return.
836 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
837 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
838 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
839 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
840 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
841 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
842 * grub-core/fs/newc.c: New file.
843 * grub-core/fs/odc.c: Likewise.
844 * grub-core/fs/cpio_be.c: Likewise.
845
846 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
847
848 Fix handling of tar numbers occupying the whole field.
849
850 * grub-core/fs/cpio.c (read_number): New function.
851 (grub_cpio_find_file): Use read_number instead of strtoull.
852
853 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
854
855 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
856 occupying the whole field size.
857
858 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
859
860 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
861
862 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
863
864 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
865
866 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
867
868 * grub-core/Makefile.core.def (lzma_decompress): Add missing
869 TARGET_IMG_LDFLAGS.
870
871 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * util/getroot.c (ESCAPED_PATH_MAX): New define.
874 (mountinfo_entry): Increase the field size to take escaping into
875 account.
876 (find_root_device_from_libzfs): Add one byte to size of strings for
877 security.
878
879 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
880
881 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
882 an assert.
883 * util/grub-setup.c (setup): Likewise.
884
885 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
886
887 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
888 _LzmaDecodeA.
889
890 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
891
892 * docs/grub.texi (Internationalisation): New section.
893
894 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
895
896 * docs/grub.texi (Loopback booting): New section.
897
898 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
899
900 * util/grub-mkstandalone.in: Fix minor typo errors.
901
902 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
903
904 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
905
906 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
907 net/icmp.c and net/icmp6.c.
908 (http): New module.
909 (priority_queue): Likewise.
910 * grub-core/io/bufio.c: Rewritten.
911 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
912 TYPE_WITH_CONFIGFILE_OPTION.
913 (legacy_commands): Add bootp and dhcp.
914 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
915 (grub_legacy_parse): Likewise.
916 * grub-core/lib/priority_queue.c: New file.
917 * grub-core/net/arp.c: Add missing license header.
918 (arp_find_entry): Removed.
919 (arp_find_entry): Likewise.
920 (grub_net_arp_resolve): Rename to ...
921 (grub_net_arp_send_request): ...this.
922 (grub_net_arp_receive): New card argument.
923 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
924 Set router and DNS server.
925 (grub_net_configure_by_dhcp_ack): Handle routing information.
926 (grub_cmd_bootp): Set checksum.
927 (grub_bootp_init): Remove net_dhcp.
928 * grub-core/net/dns.c: New file.
929 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
930 completion.
931 (get_card_packet): Handle allocation.
932 (grub_efinet_findcards): Set mtu.
933 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
934 (get_card_packet): Handle allocation.
935 (emucard): Set mtu.
936 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
937 (GRUB_MOD_INIT): Set mtu.
938 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
939 mtu.
940 (get_card_packet): Handle allocation.
941 (grub_ofnet_findcards): Set mtu.
942 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
943 assert.
944 (grub_net_recv_ethernet_packet): Handle IPv6.
945 * grub-core/net/http.c: New file.
946 * grub-core/net/icmp.c: Likewise.
947 * grub-core/net/icmp6.c: Likewise.
948 * grub-core/net/ip.c (ip6addr): New type.
949 (ip6hdr): Likewise.
950 (reassemble): Likewise.
951 (cmp): New function.
952 (reassembles): New variable.
953 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
954 (id): New variable.
955 (send_fragmented): New function.
956 (grub_net_send_ip_packet): Rename to ...
957 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
958 Handle non-UDP.
959 (grub_net_recv_ip_packets): Rename to ...
960 (handle_dgram): ... this. Check checksum. Handle non-UDP.
961 (free_rsm): New function.
962 (free_old_fragments): Likewise.
963 (grub_net_recv_ip4_packets): New function.
964 (grub_net_send_ip6_packet): Likewise.
965 (grub_net_send_ip_packet): Likewise.
966 (grub_net_recv_ip6_packets): Likewise.
967 (grub_net_recv_ip_packets): Likewise.
968 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
969 (LINK_LAYER_CACHE_SIZE): New const.
970 (link_layer_find_entry): New function.
971 (grub_net_link_layer_add_address): Likewise.
972 (grub_net_link_layer_resolve_check): Likewise.
973 (grub_net_link_layer_resolve): Likewise.
974 (grub_net_ipv6_get_slaac): Likewise.
975 (grub_net_ipv6_get_link_local): Likewise.
976 (grub_cmd_ipv6_autoconf): Likewise.
977 (parse_ip): Handle one number representation.
978 (parse_ip6): New functoion.
979 (match_net): Handle IPv6.
980 (grub_net_resolve_address): Handle IPv6 and DNS.
981 (grub_net_resolve_net_address): Handle IPv6.
982 (route_cmp): New function.
983 (grub_net_route_address): Find best route.
984 (grub_net_addr_to_str): Handle IPv6.
985 (grub_net_addr_cmp): New function.
986 (grub_net_add_addr): Register local route.
987 (print_net_address): Handle net address.
988 (grub_net_poll_cards): Retransmit TCP.
989 (grub_net_poll_cards_idle_real): Likewise.
990 (have_ahead): New function.
991 (grub_net_seek_real): Use underlying seek.
992 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
993 * grub-core/net/tcp.c: New file.
994 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
995 (cmp): New function.
996 (ack): Likewise.
997 (tftp_receive): Handle unordered input.
998 (destroy_pq): New function.
999 (tftp_close): Close pq.
1000 * grub-core/net/udp.c: Put missing license header.
1001 (grub_net_udp_socket): New function.
1002 (udp_socket_register): Likewise.
1003 (grub_net_udp_close): Likewise.
1004 (grub_net_recv_udp_packet): Check checksum.
1005 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
1006 * include/grub/misc.h (grub_memchr): New function.
1007 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
1008 (grub_net_card_driver): Return buf in recv.
1009 (grub_net_slaac_mac_list): New struct.
1010 (grub_network_level_protocol_id): Add ipv6.
1011 (grub_net_network_level_addr): Likewise.
1012 (grub_net_network_level_net_addr): Likewise.
1013 (grub_net_app_protocol): Add seek.
1014 (grub_net_socket): Removed.
1015 (grub_net_sockets): Likewise.
1016 (grub_net_socket_register): Likewise.
1017 (grub_net_socket_unregister): Likewise.
1018 (FOR_NET_SOCKETS): Likewise.
1019 (grub_net_add_addr): Add const.
1020 (GRUB_NET_BOOTP_*): New enum.
1021 (grub_net_addr_cmp): New proto.
1022 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
1023 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
1024 (grub_net_hwaddr_to_str): NEw proto.
1025 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
1026 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
1027 (grub_dns_init): New proto.
1028 (grub_dns_fini): Likewise.
1029 (grub_net_tcp_retransmit): Likewise.
1030 (grub_net_link_layer_add_address): Likewise.
1031 (grub_net_link_layer_resolve_check): Likewise.
1032 (grub_net_link_layer_resolve): Likewise.
1033 (grub_net_dns_lookup): Likewise.
1034 (grub_net_add_dns_server): Likewise.
1035 (grub_net_remove_dns_server): Likewise.
1036 (GRUB_NET_TRIES): New const.
1037 (GRUB_NET_INTERVAL): Likewise.
1038 * include/grub/net/arp.h: Mostly rewritten.
1039 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
1040 * include/grub/net/ip.h: Mostly rewritten.
1041 * include/grub/net/netbuff.h: Indent.
1042 * include/grub/net/tcp.h: New file.
1043 * include/grub/net/udp.h: Mostly rewritten.
1044 * include/grub/priority_queue.h: New file.
1045 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
1046 (grub_swap_bytes64_compile_time): Likewise.
1047 (grub_cpu_to_be16_compile_time): Likewise.
1048 (grub_cpu_to_be32_compile_time): Likewise.
1049 (grub_cpu_to_be64_compile_time): Likewise.
1050 (grub_be_to_cpu64_compile_time): Likewise.
1051
1052 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1053
1054 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
1055 UINT_TO_PTR with cast.
1056
1057 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1058
1059 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
1060 don't use them.
1061
1062 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1063
1064 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
1065 already there.
1066
1067 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1068
1069 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
1070 confusing ipxe.
1071
1072 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
1075 Add missing const attribute.
1076 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
1077 Likewise.
1078 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
1079 Likewise.
1080
1081 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1082
1083 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
1084 misaligned access.
1085 (serpent_setkey): Likewise.
1086 (serpent_encrypt_internal): Likewise.
1087 (serpent_decrypt_internal): Likewise.
1088 (serpent_encrypt): Don't put an alignment-increasing cast.
1089 (serpent_decrypt): Likewise.
1090 (serpent_test): Likewise.
1091
1092 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1093
1094 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
1095
1096 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
1099
1100 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
1101 grub_addr_t casts.
1102 (PTR_TO_UINT64): Likewise.
1103 (PTR_TO_UINT32): Likewise.
1104
1105 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1106
1107 * util/grub-mkimage.c (generate_image): Decrease the higher limit
1108 because of stack.
1109 * util/grub-setup.c (setup): Don't add redundancy past the higher load
1110 limit.
1111
1112 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
1115 text_width > available width a bit more gracefully.
1116
1117 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1118
1119 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
1120 current address calculation.
1121
1122 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
1125 stack.
1126 (encode_block): Likewise.
1127
1128 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
1131 certainety.
1132
1133 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1134
1135 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
1136 non-RS part to avoid RS messing with GDT.
1137 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
1138 Increase to suit in realmode routines.
1139
1140 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1141
1142 * grub-core/kern/i386/realmode.S: Increase alignment.
1143 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
1144
1145 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1146
1147 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
1148 be deterministic.
1149 (syndroms): Compute 0 syndrom.
1150 (rs_recover): Use 0 syndrom.
1151
1152 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1153
1154 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
1155
1156 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1157
1158 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
1159 brackets.
1160
1161 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1162
1163 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
1164 account.
1165 (get_top_pad): Likewise.
1166 (get_right_pad): Likewise.
1167 (get_bottom_pad): Likewise.
1168
1169 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1170
1171 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
1172
1173 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1174
1175 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
1176 attribute as the structure isn't guaranteed to be properly aligned.
1177 (grub_efi_pci_device_path): Likewise.
1178 (grub_efi_pccard_device_path): Likewise.
1179 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
1180 specify the size of `memory_type'.
1181 (grub_efi_vendor_device_path): Likewise.
1182 (grub_efi_controller_device_path): Likewise.
1183 (grub_efi_acpi_device_path): Likewise.
1184 (grub_efi_expanded_acpi_device_path): Likewise.
1185 (grub_efi_atapi_device_path): Likewise.
1186 (grub_efi_scsi_device_path): Likewise.
1187 (grub_efi_fibre_channel_device_path): Likewise.
1188 (grub_efi_1394_device_path): Likewise.
1189 (grub_efi_usb_device_path): Likewise.
1190 (grub_efi_usb_class_device_path): Likewise.
1191 (grub_efi_i2o_device_path): Likewise.
1192 (grub_efi_mac_address_device_path): Likewise.
1193 (grub_efi_ipv4_device_path): Likewise.
1194 (grub_efi_ipv6_device_path): Likewise.
1195 (grub_efi_infiniband_device_path): Likewise.
1196 (grub_efi_uart_device_path): Likewise.
1197 (grub_efi_vendor_messaging_device_path): Likewise.
1198 (grub_efi_hard_drive_device_path): Likewise.
1199 (grub_efi_cdrom_device_path): Likewise.
1200 (grub_efi_vendor_media_device_path): Likewise.
1201 (grub_efi_file_path_device_path): Likewise.
1202 (grub_efi_protocol_device_path): Likewise.
1203 (grub_efi_piwg_device_path): Likewise.
1204 (grub_efi_bios_device_path): Likewise.
1205
1206 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1207
1208 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
1209 (grub_ucs4_to_utf8_alloc): Likewise.
1210 (grub_ucs4_to_utf8): Likewise.
1211 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
1212 (grub_ucs4_to_utf8_alloc): Likewise.
1213
1214 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 AFFS never uses unicode.
1217
1218 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
1219 (grub_latin1_to_utf8): New inline function.
1220 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
1221
1222 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
1225 overflow.
1226
1227 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1228
1229 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
1230 (grub_squash_dirent_header): Likewise.
1231 (read_chunk): Don't double swap.
1232 (grub_squash_iterate_dir): Fix swap sizes.
1233
1234 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1235
1236 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
1237
1238 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
1241 (grub_hfs_iterate_dir): Likewise.
1242
1243 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 Fix video on platforms where unaligned access is forbidden.
1246 Make several optimisations while on it.
1247
1248 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
1249 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1250 (grub_video_fbblit_replace_32bit_1bit): Likewise.
1251 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
1252 Disable.
1253 (grub_video_fbblit_replace_16bit_1bit):
1254 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1255 (grub_video_fbblit_replace_8bit_1bit): Likewise.
1256 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
1257 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
1258 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
1259 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
1260 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
1261 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
1262 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
1263 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
1264 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
1265 (grub_video_fbblit_replace_index_RGB888): Likewise.
1266 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
1267 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
1268 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
1269 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
1270 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
1271 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
1272 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
1273 Disable.
1274 (grub_video_fbblit_blend_XXX565_1bit):
1275 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1276 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
1277 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
1278 void *.
1279 * grub-core/video/fb/video_fb.c (common_blitter)
1280 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
1281 (grub_video_fb_create_render_target_from_pointer)
1282 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
1283 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
1284 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
1285 definition.
1286 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
1287
1288 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1289
1290 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
1291 HH22 and HM10 relocations.
1292
1293 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1294
1295 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
1296
1297 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
1300 allocation succeeded.
1301
1302 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
1305 argument a u8 pointer. All users updated.
1306 Handle unaligned buffers.
1307
1308 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1309
1310 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
1311 add_part to workaround compiler bug.
1312
1313 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1314
1315 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
1316
1317 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1318
1319 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
1320 Reserve alignment invariants.
1321 (grub_multiboot_load): Likewise.
1322 (retrieve_video_parameters): Likewise.
1323 (grub_multiboot_make_mbi): Likewise.
1324
1325 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1326
1327 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
1328 incorrect pointer.
1329
1330 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
1333 (grub_pata_pio_write): Likewise.
1334
1335 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1336
1337 Add noreturn attributes and remove unreachable code.
1338
1339 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
1340 code.
1341 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
1342 code. Mark as noreturn.
1343 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
1344 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
1345 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
1346 unreachable code.
1347 * grub-core/kern/main.c (grub_main): Mark as noreturn.
1348 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
1349 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
1350 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
1351 * include/grub/kernel.h (grub_main): Mark as noreturn.
1352 * include/grub/reader.h (grub_rescue_run): Likewise.
1353
1354 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1355
1356 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
1357 redundant declaration.
1358
1359 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1360
1361 * include/grub/net.h (grub_net_network_level_interfaces): Remove
1362 redundant declaration.
1363 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
1364
1365 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1366
1367 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
1368 to ensure alignment.
1369 (grub_hdparm_print_identify): Make argument uint16 * to ensure
1370 alignment. Ensure tmp alignment.
1371 (grub_cmd_hdparm): Ensure buf alignment.
1372 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
1373 to ensure alignment.
1374 (grub_ata_dumpinfo): Ensure text alignment.
1375 (grub_atapi_identify): Preserve alignment invariant.
1376 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
1377
1378 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
1381 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
1382 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
1383 * include/grub/misc.h (grub_reboot)
1384 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
1385 (grub_halt) [__mips__]: Likewise.
1386
1387 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1388
1389 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
1390 Remove redundant declaration.
1391 (grub_mmap_get_post64): Likewise.
1392 (grub_mmap_get_upper): Likewise.
1393 (grub_mmap_get_lower): Likewise.
1394
1395 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
1398 uint32_t * to ensure alignment.
1399 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
1400
1401 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1402
1403 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
1404 uint16_t * to ensure alignment.
1405 (sun_pc_partition_map_iterate): Make `block' a union to ensure
1406 alignment.
1407
1408 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
1411 to ensure alignment.
1412 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
1413
1414 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1415
1416 * grub-core/fs/ntfs.c (u16at): Make into inline function.
1417 Handle unaligned pointers.
1418 (u32at): Likewise.
1419 (u64at): Likewise.
1420 (fixup): Use byte access instead of v16at.
1421 (find_attr): Fix imporper usage of v32at.
1422 (read_data): Likewise.
1423 (list_file): Handle byte-swapping and unaligned strings.
1424 (grub_ntfs_label): Likewise.
1425
1426 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1427
1428 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
1429 as it's not necessarily aligned.
1430
1431 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1432
1433 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
1434 redundant declaration.
1435 (grub_serial_init): Likewise.
1436 (grub_terminfo_init): Likewise.
1437
1438 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1439
1440 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
1441 function.
1442 (ZAP_HASH_IDX): Likewise.
1443 (ZAP_LEAF_HASH_SHIFT): Likewise.
1444 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
1445 (LEAF_HASH): Likewise.
1446 (ZAP_LEAF_NUMCHUNKS): Likewise.
1447 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
1448 alignment invariants. Return pointer. All users updated.
1449 (ZAP_LEAF_ENTRY): Make into inline function.
1450 (NBBY): Removed.
1451 (xor): LIkewise.
1452 (xor_out): Use grub_crypto_xor.
1453 (dnode_get_path): Use grub_get_unaligned.
1454 (nvlist_find_value): Likewise.
1455 (grub_zfs_nvlist_lookup_uint64): Likewise.
1456 (grub_zfs_nvlist_lookup_string): Likewise.
1457 (get_nvlist_size): Likewise.
1458 (grub_zfs_open): Likewise.
1459 (fill_fs_info): Likewise.
1460 (grub_zfs_dir): Likewise.
1461 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
1462 alignment invariants.
1463 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
1464 necessarily aligned.
1465
1466 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1467
1468 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
1469
1470 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1471
1472 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
1473 arithmetic to conserve alignment invariants.
1474
1475 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1476
1477 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
1478 redundant declaration.
1479 (grub_efiemu_mm_obtain_request): Likewise.
1480 (grub_efiemu_prepare): Likewise.
1481
1482 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
1485 to match types.
1486
1487 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
1490 case of aunaligned recptr.
1491 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
1492 alignment.
1493 (grub_hfsplus_btree_search): Handle unaligned index.
1494
1495 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1496
1497 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
1498 to get freetag and skip.
1499
1500 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
1503 array.
1504 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
1505 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
1506
1507 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
1510 name for checksum and fix allocation algorithm.
1511
1512 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1513
1514 * include/grub/types.h (grub_properly_aligned_t): New type.
1515 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
1516 (grub_get_unaligned16): Add explicit casts.
1517 (grub_get_unaligned32): Likewise.
1518 (grub_get_unaligned64): Likewise.
1519 (grub_set_unaligned16): New function.
1520 (grub_set_unaligned32): Likewise.
1521
1522 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1523
1524 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
1525
1526 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1527
1528 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
1529 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
1530 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
1531
1532 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1533
1534 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
1535 conditionals.
1536
1537 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1538
1539 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
1540 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
1541
1542 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1543
1544 Unify and improve RAID and crypto xor.
1545
1546 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
1547 changed to grub_crypto_xor
1548 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
1549 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
1550 Use bigger types when possible.
1551
1552 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1553
1554 * grub-core/disk/raid.c (scan_devices): Fix condition.
1555
1556 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
1559 Make name a const ptr.
1560
1561 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
1564 first argument a const pointer.
1565 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
1566 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
1567 proto.
1568 (grub_children_iterate): Likewise.
1569 (grub_machine_mmap_iterate): Remove redundant declaration.
1570
1571 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
1574 (grub_cmd_acpi) [!x86]: Disable EBDA.
1575
1576 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 Enable UTF8 in gnulib regexp.
1579
1580 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
1581 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
1582 (isupper): Use grub_isupper.
1583 (isascii): New inline function.
1584 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
1585 * grub-core/lib/posix_wrap/wctype.h: Likewise.
1586 * grub-core/normal/charset.c (grub_utf8_process): New function.
1587 (grub_utf8_to_utf16): Use grub_utf8_process.
1588 (grub_encode_utf8_character): New function.
1589 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
1590 * include/grub/charset.h (grub_utf8_process): New declaration.
1591 (grub_encode_utf8_character): Likewise.
1592 * include/grub/misc.h (grub_islower): New inline function.
1593 (grub_isupper): Likewise.
1594 (grub_strchrsub): Moved down to fix the definitions.
1595
1596 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1597
1598 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
1599 specification.
1600
1601 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1602
1603 * include/grub/loader.h (grub_loader_register_preboot_hook):
1604 Use struct preboot * and not void * for handle. All users updated.
1605 (grub_loader_unregister_preboot_hook): Likewise.
1606
1607 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
1608
1609 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
1610 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
1611 UTF-16-BE. All users updated.
1612 (grub_hfsplus_cmp_catkey): Fix unicode handling.
1613 (grub_hfsplus_iterate_dir): Likewise.
1614 (grub_hfsplus_label): Likewise.
1615
1616 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
1617
1618 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
1619
1620 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1621
1622 Add missing const qualifiers.
1623
1624 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
1625 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
1626 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
1627 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
1628 (grub_lvm_check_flag): Likewise.
1629 * grub-core/efiemu/i386/coredetect.c
1630 (grub_efiemu_get_default_core_name): Likewise
1631 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
1632 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
1633 * grub-core/fs/ntfs.c (fixup): Likewise.
1634 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
1635 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
1636 (fzap_lookup): Likewise.
1637 (zap_lookup): Likewise.
1638 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
1639 * grub-core/lib/legacy_parse.c (check_option): Likewise.
1640 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
1641 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
1642 (grub_freebsd_add_meta_module): Likewise.
1643 (grub_cmd_freebsd_module): Likewise.
1644 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
1645 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
1646 (grub_xnu_writetree_get_size): Likewise.
1647 (grub_xnu_writetree_toheap_real): Likewise.
1648 (grub_xnu_find_key): Likewise.
1649 (grub_xnu_create_key): Likewise.
1650 (grub_xnu_create_value): Likewise.
1651 (grub_xnu_register_memory): Likewise.
1652 (grub_xnu_check_os_bundle_required): Likewise.
1653 (grub_xnu_scan_dir_for_kexts): Likewise.
1654 (grub_xnu_load_kext_from_dir): Likewise.
1655 * grub-core/normal/color.c (color_list): Likewise.
1656 * grub-core/normal/completion.c (current_word): Likewise.
1657 * grub-core/normal/menu_entry.c (insert_string): Likewise.
1658 * grub-core/term/serial.c (grub_serial_find): Likewise.
1659 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
1660 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
1661 Likewise.
1662 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
1663 (grub_freebsd_add_meta_module): Likewise.
1664 * include/grub/lib/arg.h (grub_arg_option): Likewise.
1665 * include/grub/net.h (grub_net_card_driver): Likewise.
1666 (grub_net_card): Likewise.
1667 (grub_net_app_protocol): Likewise.
1668 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
1669 * include/grub/serial.h (grub_serial_find): Likewise.
1670 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
1671 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
1672 (grub_xnu_create_value): Likewise.
1673 (grub_xnu_find_key): Likewise.
1674 (grub_xnu_scan_dir_for_kexts): Likewise.
1675 (grub_xnu_load_kext_from_dir): Likewise.
1676
1677 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
1678 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
1679 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
1680 Moved from here ...
1681 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
1682
1683 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
1684
1685 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
1686
1687 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1688
1689 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
1690 (read_device): Fix size calculation.
1691
1692 2011-11-25 Robert Millan <rmh@gnu.org>
1693
1694 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
1695 (find_root_device_from_libzfs): Add zpool output parser to be used
1696 as fallback when libzfs isn't available.
1697
1698 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
1699
1700 * po/Makefile.in.in: Add missing escape-continuation.
1701
1702 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
1705
1706 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1707
1708 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
1709
1710 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1711
1712 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
1713
1714 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1715
1716 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
1717
1718 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1719
1720 * grub-core/lib/adler32.c: Add missing license specification.
1721 * grub-core/lib/crc64.c: Likewise.
1722 * grub-core/loader/i386/pc/plan9.c: Likewise.
1723 * grub-core/partmap/plan.c: Likewise.
1724
1725 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
1726
1727 Add facility to debug GRUB with gdb under qemu.
1728
1729 * grub-core/gdb_grub.in: New file.
1730 * grub-core/gmodule.pl.in: Likewise.
1731 * grub-core/Makefile.core.def (gmodule.pl): New script.
1732 (gdb_grub): Likewise.
1733
1734 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1735
1736 * util/grub-mount.c (argp_parser): Accept relative pathes.
1737 * util/grub-fstest.c (argp_parser): Likewise.
1738
1739 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1740
1741 Plan9 support.
1742
1743 * Makefile.util.def (libgrubmods): Add
1744 grub-core/partmap/plan.c.
1745 * docs/grub.texi: Notice Plan9 support.
1746 * grub-core/Makefile.core.def (plan9): New module.
1747 (part_plan): Likewise.
1748 * grub-core/loader/i386/pc/plan9.c: New file.
1749 * grub-core/partmap/plan.c: Likewise.
1750 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
1751 define.
1752 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
1753 * include/grub/mm.h (grub_extend_alloc): New inline function.
1754
1755 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1756
1757 Make Reed-Solomon faster by using power of generator representation of
1758 GF(256)*.
1759
1760 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
1761 (gf_double_t): Likewise.
1762 (gf_invert): Removed.
1763 (gf_powx): New array.
1764 (gf_powx_inv): Likewise.
1765 (scratch): Move higher.
1766 (gf_reduce): Removed.
1767 (gf_mul): Use powx.
1768 (gf_invert): Likewise.
1769 (init_inverts): Replaced with ...
1770 (init_powx): ...this. All users updated.
1771 (pol_evaluate): Replace multiplications with additions.
1772 (rs_encode): Likewise.
1773 (gauss_eliminate): Call gf_invert.
1774 (grub_reed_solomon_add_redundancy): Call init_powx.
1775 (grub_reed_solomon_recover): Call init_powx unconditionally.
1776
1777 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
1780
1781 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
1784 disk->partiton for safety.
1785
1786 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
1789 Fix a memory leak.
1790 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
1791
1792 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1793
1794 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
1795
1796 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1797
1798 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
1799
1800 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1801
1802 Fix spaces handling in proc/self/mountinfo.
1803
1804 * util/getroot.c (unescape): New function.
1805 (grub_find_root_device_from_mountinfo): Use unescape.
1806
1807 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1808
1809 Support ZFS embedding.
1810
1811 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
1812 (grub_zfs_fs): Register grub_zfs_embed.
1813
1814 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1815
1816 Fix MIPS compilation.
1817
1818 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
1819 * include/grub/offsets.h: Rename decompressor fields from
1820 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
1821 * util/grub-mkimage.c (image_targets): Use new names.
1822
1823 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1824
1825 Defer multiboot device parsing until we're in compressed part.
1826
1827 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
1828 bsd_part. setdevice has fallen into disuse.
1829 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
1830 (bsd_part): Likewise.
1831 (boot_dev): New variable.
1832 (multiboot_trampoline): Don't parse multiboot device.
1833 Pass multiboot device in %edx.
1834 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
1835 grub_boot_device.
1836 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
1837 Likewise.
1838 * grub-core/kern/i386/pc/startup.S: Save edx.
1839 (grub_boot_drive): Removed.
1840 (grub_install_dos_part): Likewise.
1841 (grub_install_bsd_part): Likewise.
1842 (grub_boot_device): New variable.
1843 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
1844 (grub_install_bsd_part): Likewise.
1845 (grub_boot_drive): Likewise.
1846 (grub_boot_device): New variable.
1847 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
1848 Removed.
1849 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
1850 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
1851 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
1852 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
1853 * util/grub-install.in: Remove redundant condition.
1854
1855 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1856
1857 Fix bug introduced by previous commit.
1858
1859 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
1860
1861 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1862
1863 Use decompressors framework on i386-pc. It increases core size
1864 by 46 bytes but improves compatibility and maintainability.
1865
1866 * grub-core/Makefile.core.def (lzma_decompress): New image.
1867 (kernel): Add i386_pc_ldflags.
1868 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
1869 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
1870 to real_to_prot, prot_to_real and device info.
1871 * include/grub/offsets.h: Renamed decompressor offsets.
1872 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
1873 (image_target_desc): Remove raw_size and rename decompressor fields.
1874 (compress_kernel): Handle lzma.
1875 (generate_image): Handle decompressors on i386-pc.
1876
1877 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1878
1879 * configure.ac: Add -fno-asynchronous-unwind-tables.
1880
1881 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1882
1883 Move assembly code to C by using intwrap. It increases core size
1884 by 88 bytes but improves compatibility and maintainability.
1885
1886 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
1887 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
1888 ... here. Translated to C.
1889 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
1890 * grub-core/term/i386/pc/console.c (grub_console_getkey):
1891 ... here. Translated to C.
1892 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
1893 * grub-core/term/i386/pc/console.c (grub_console_getxy):
1894 ... here. Translated to C.
1895 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
1896 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
1897 ... here. Translated to C.
1898 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
1899 * grub-core/term/i386/pc/console.c (grub_console_cls):
1900 ... here. Translated to C.
1901 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
1902 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
1903 ... here. Translated to C.
1904 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
1905 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
1906 Translated to C.
1907 * grub-core/term/i386/pc/console.c (int10_9): New function.
1908 (grub_console_putchar): Likewise.
1909 * include/grub/i386/pc/console.h: Removed the not anymore shared
1910 functions.
1911
1912 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1913
1914 Move grub_chainloader_real_boot out of the kernel.
1915
1916 * grub-core/Makefile.am: Remove machine/loader.h.
1917 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
1918 Removed.
1919 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
1920 variable.
1921 (grub_relocator16_keep_a20_enabled): Likewise.
1922 (grub_relocator16_boot): Fill new variables.
1923 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
1924 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
1925 relocator.
1926 (grub_chainloader_unload): Likewise.
1927 (grub_chainloader_cmd): Likewise.
1928 * include/grub/i386/pc/loader.h: Removed.
1929 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
1930 and esi. All initialisers updated.
1931
1932 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1933 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
1934
1935 * Makefile.util.def (grub-mount): New util.
1936 * .bzrignore: Add grub-mount.
1937 * configure.ac: Check for fuse and enable grub-mount if available.
1938 * docs/man/grub-mount.h2m: New file.
1939 * util/grub-mount.c: Likewise.
1940
1941 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1942
1943 * grub-core/commands/efi/fixvideo.c: Gettextize.
1944 * grub-core/commands/hashsum.c: Likewise.
1945 * grub-core/commands/i386/cmostest.c: Likewise.
1946 * grub-core/commands/i386/pc/drivemap.c: Likewise.
1947 * grub-core/commands/i386/pc/lsapm.c: Likewise.
1948 * grub-core/commands/i386/pc/sendkey.c: Likewise.
1949 * grub-core/commands/lsmmap.c: Likewise.
1950 * grub-core/commands/menuentry.c: Likewise.
1951 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
1952 * grub-core/commands/setpci.c: Likewise.
1953 * grub-core/loader/i386/bsd.c: Likewise.
1954 * grub-core/loader/i386/linux.c: Likewise.
1955 * util/getroot.c: Likewise.
1956 * util/grub-editenv.c: Likewise.
1957 * util/grub-fstest.c: Likewise.
1958 * util/grub-mkfont.c: Likewise.
1959 * util/grub-mkimage.c: Likewise.
1960 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1961 * util/grub-pe2elf.c: Likewise.
1962 * util/grub-probe.c: Likewise.
1963 * util/grub-setup.c: Likewise.
1964 * util/ieee1275/ofpath.c: Likewise.
1965 * util/misc.c: Likewise.
1966 * util/raid.c: Likewise.
1967
1968 2011-11-11 Robert Millan <rmh@gnu.org>
1969
1970 * util/getroot.c (grub_util_get_geom_abstraction): Remove
1971 __attribute__((unused)) from `os_dev', which *is* being used.
1972
1973 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1974
1975 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
1976 forgotten define.
1977 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
1978 GRUB_IA64_DL_GOT_ALIGN.
1979 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
1980 GRUB_IA64_DL_TRAMP_ALIGN.
1981
1982 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1983
1984 Replace grub_fatal with normal errors in i386 linux loader.
1985
1986 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
1987 (allocate_pages): Check find_efi_mmap_size return value.
1988 (grub_e820_add_region): Return error.
1989 (grub_linux_boot): Check mmap return value.
1990
1991 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1992
1993 * grub-core/commands/acpihalt.c: Gettextized.
1994 * grub-core/commands/cacheinfo.c: Likewise.
1995 * grub-core/commands/cmp.c: Likewise.
1996 * grub-core/commands/efi/loadbios.c: Likewise.
1997 * grub-core/commands/gptsync.c: Likewise.
1998 * grub-core/commands/ieee1275/suspend.c: Likewise.
1999 * grub-core/commands/legacycfg.c: Likewise.
2000 * grub-core/commands/memrw.c: Likewise.
2001 * grub-core/commands/minicmd.c: Likewise.
2002 * grub-core/commands/parttool.c: Likewise.
2003 * grub-core/commands/time.c: Likewise.
2004 * grub-core/commands/videoinfo.c: Likewise.
2005 * grub-core/disk/geli.c: Likewise.
2006 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
2007 * grub-core/disk/luks.c: Likewise.
2008 * grub-core/disk/lvm.c: Likewise.
2009 * grub-core/font/font_cmd.c: Likewise.
2010 * grub-core/fs/zfs/zfscrypt.c: Likewise.
2011 * grub-core/fs/zfs/zfsinfo.c: Likewise.
2012 * grub-core/gfxmenu/view.c: Likewise.
2013 * grub-core/kern/emu/hostdisk.c: Likewise.
2014 * grub-core/kern/emu/main.c: Likewise.
2015 * grub-core/kern/emu/misc.c: Likewise.
2016 * grub-core/kern/emu/mm.c: Likewise.
2017 * grub-core/kern/mips/arc/init.c: Likewise.
2018 * grub-core/kern/mips/loongson/init.c: Likewise.
2019 * grub-core/kern/partition.c: Likewise.
2020 * grub-core/lib/i386/halt.c: Likewise.
2021 * grub-core/lib/mips/arc/reboot.c: Likewise.
2022 * grub-core/lib/mips/loongson/reboot.c: Likewise.
2023 * grub-core/loader/i386/pc/chainloader.c: Likewise.
2024 * grub-core/loader/i386/xnu.c: Likewise.
2025 * grub-core/loader/multiboot.c: Likewise.
2026 * grub-core/net/bootp.c: Likewise.
2027 * grub-core/net/net.c: Likewise.
2028 * grub-core/normal/term.c: Likewise.
2029 * grub-core/partmap/bsdlabel.c: Likewise.
2030 * grub-core/parttool/msdospart.c: Likewise.
2031 * grub-core/term/gfxterm.c: Likewise.
2032 * grub-core/term/terminfo.c: Likewise.
2033 * grub-core/video/i386/pc/vbe.c: Likewise.
2034 * util/grub-menulst2cfg.c: Likewise.
2035 * util/grub-mkdevicemap.c: Likewise.
2036 * util/grub-mklayout.c: Likewise.
2037 * util/grub-mkrelpath.c: Likewise.
2038 * util/grub-script-check.c: Likewise.
2039 * util/ieee1275/grub-ofpathname.c: Likewise.
2040 * util/resolve.c: Likewise.
2041
2042 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2043
2044 Support %1$d syntax.
2045
2046 * tests/printf_unit_test.c: New file.
2047 * Makefile.util.def (printf_test): New test.
2048 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
2049
2050 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
2053 fix.
2054
2055 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2056
2057 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
2058 dprintf.
2059 * grub-core/font/font.c (grub_font_load): Likewise.
2060
2061 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2062
2063 * util/grub-macho2img.c: Add comment concerning gettext.
2064 * grub-core/lib/legacy_parse.c: Likewise.
2065
2066 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2067
2068 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
2069 (grub_xvasprintf): Likewise.
2070
2071 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 Add const keyword to grub_env_get and gettextize week days.
2074
2075 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
2076 (grub_read_hook_datetime): Return const char *.
2077 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
2078 updated.
2079 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
2080 Mark for gettext.
2081 (grub_get_weekday_name): Return const char *. Call gettext.
2082 * grub-core/script/argv.c (grub_script_argv_append): Receive const
2083 char * and len as the argument. All users updated.
2084 (grub_script_argv_split_append): Receive const char *.
2085 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
2086 * include/grub/env.h (grub_env_get): Likewise.
2087 (grub_env_read_hook_t): Return const char *.
2088 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
2089 (grub_script_argv_split_append): Likewise.
2090
2091 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
2094
2095 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2096
2097 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
2098 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
2099
2100 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2101
2102 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
2103 Fix prototype.
2104
2105 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2106
2107 Fix mips compilation.
2108
2109 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
2110 normal decoder.
2111 (hashes): Use in embed decoder as well (for sizes).
2112 (dec_stream_header): Fix embed decompressor logic.
2113 (dec_stream_footer): Likewise.
2114
2115 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2116
2117 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
2118 an error and not a fatal on unrecognised relocation types.
2119
2120 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2121
2122 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
2123 Issue error rather than printf on unknown arguments.
2124
2125 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2126
2127 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
2128 Make buf a const.
2129
2130 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2131
2132 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
2133 Fix module name.
2134
2135 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2136
2137 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
2138 leftover debug printf.
2139
2140 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
2143
2144 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2145
2146 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
2147 A stylistic fix.
2148
2149 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
2152
2153 2011-11-10 Shea Levy <slevy@tieronedesign.com>
2154
2155 Allow all modules to perform serial IO
2156
2157 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
2158 * include/grub/serial.h (grub_serial_port_configure): New inline
2159 function.
2160 (grub_serial_port_fetch): Likewise.
2161 (grub_serial_port_put): Likewise.
2162 (grub_serial_port_fini): Likewise.
2163 (grub_serial_find): New proto.
2164
2165 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2166
2167 Put symlink at the end of the node and fix a potential
2168 memory corruption.
2169
2170 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
2171 Make symlink into an array.
2172 (set_rockridge): Set have_symlink and alloc_dirents.
2173 (grub_iso9660_read_symlink): Use new layout.
2174 (grub_iso9660_iterate_dir): Fix memory corruption.
2175 Use new layout.
2176 (grub_iso9660_dir): Set have_symlink.
2177 (grub_iso9660_open): Likewise.
2178
2179 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2180
2181 Remove local keyword.
2182
2183 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
2184 (version_test_gt): Likewise.
2185 (version_find_latest): Likewise.
2186 (gettext_printf): Likewise.
2187 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
2188
2189 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2190
2191 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
2192
2193 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2194
2195 Fix ZFS memory and resource leaks.
2196
2197 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
2198 All users updated.
2199 Free type on exit.
2200 (fill_vdev_info): New parameter inserted. All users updated.
2201 (check_pool_label): Likewise.
2202 (scan_disk): Likewise.
2203 (scan_devices): Close non-inserted disks.
2204 (fzap_iterate): Free l.
2205 (unmount_device): Free children descripto memory.
2206
2207 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
2210 argument (access out of bounds).
2211
2212 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
2215 >= 6 drives.
2216
2217 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2218
2219 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
2220 Fix declaration.
2221
2222 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2223
2224 Fix several memory leaks.
2225
2226 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
2227 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
2228 (grub_cpio_dir): Likewise.
2229 * grub-core/fs/fat.c (grub_fat_label): Likewise.
2230 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
2231 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
2232 (grub_romfs_label): Likewise.
2233 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
2234 (squash_unmount): New function.
2235 (grub_squash_dir): Fix memory leak.
2236 (grub_squash_open): Likewise.
2237 (grub_squash_read): Likewise.
2238 (grub_squash_mtime): Likewise.
2239 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
2240 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
2241 * util/grub-fstest.c (fstest): Likewise.
2242
2243 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2244
2245 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
2246 avoid accessing beyond the array.
2247
2248 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2249
2250 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
2251
2252 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2253
2254 Several AFFS fixes.
2255
2256 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
2257 (GRUB_AFFS_FLAG_FFS): Removed.
2258 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
2259 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
2260 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
2261 (grub_fshelp_node): Make block 32-bit.
2262 Add block_cache and last_block_cache.
2263 (grub_affs_read_block): Fill and use block cache.
2264 (grub_affs_read_file): Removed.
2265 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
2266 boot block.
2267 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
2268 safety.
2269 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
2270 space.
2271 (grub_affs_close): Free block cache.
2272 (grub_affs_read): Use grub_fshelp_read_file directly.
2273
2274 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2275
2276 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
2277 with no error set.
2278
2279 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2280
2281 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
2282 used variable.
2283 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
2284 Likewise.
2285
2286 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2287
2288 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
2289
2290 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
2291 byteswap when needed.
2292
2293 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2294
2295 Fix FreeBSD compilation.
2296
2297 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
2298 to avoid circular dependency.
2299 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
2300 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
2301 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
2302
2303 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2304
2305 Fix ZFS crypto error types.
2306
2307 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
2308 (grub_gcm_decrypt): Likewise.
2309 (grub_zfs_load_key_real): Fix error code type. Handle possible error
2310 from PBKDF2.
2311
2312 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2313
2314 Illumos support.
2315
2316 * Makefile.util.def (10_illumos): New script.
2317 * configure.ac: Set COND_HOST_ILLUMOS.
2318 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
2319 Support Illumos calls.
2320 (find_partition_start) [__sun__]: Likewise.
2321 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
2322 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
2323 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
2324 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
2325 device.
2326 * util/grub-probe.c (probe) [__sun__]: Do character check.
2327 * util/grub.d/10_illumos.in: New file.
2328
2329 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2330
2331 Support escaped commas in hostdisk.
2332
2333 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
2334 (find_grub_drive): Use unescape_cmp.
2335 (make_device_name): Escape commas.
2336
2337 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2338
2339 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
2340
2341 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2342
2343 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
2344 variable.
2345
2346 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2347
2348 Support trampoline jumps on powerpc.
2349
2350 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
2351 __ia64__ path.
2352 (grub_dl_load_segments): Set mod->sz.
2353 (grub_dl_flush_cache): Flush whole space occupied by module, not just
2354 segments.
2355 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
2356 (jump): Likewise.
2357 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
2358 function.
2359 (trampoline): New struct.
2360 (trampoline_template): New const.
2361 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
2362 * include/grub/dl.h (grub_dl): Add sz element.
2363 [__powerpc__]: Follow __ia64__.
2364 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
2365 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
2366 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
2367 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
2368
2369 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 ZFS crypto support.
2372
2373 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
2374 * grub-core/Makefile.core.def (zfscrypt): New module.
2375 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
2376 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
2377 it. All users updated.
2378 (grub_zfs_decrypt): New var.
2379 (grub_zfs_load_key): Likewise.
2380 (zio_checksum_functions): Add SHA256+MAC.
2381 (zio_checksum_verify): Handle incomplete comparison due to MAC.
2382 (zio_read): Handle encrypted blocks.
2383 (zap_verify): Remove incorrect check.
2384 (fzap_iterate): Handle non-standard fzap.
2385 (zap_iterate): Likewise.
2386 (zap_iterate_u64): New function.
2387 (dnode_get_fullpath): Load keys.
2388 * grub-core/fs/zfs/zfscrypt.c: New file.
2389 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
2390 (grub_crypto_ecb_encrypt): Make input const.
2391 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
2392 (grub_crypto_ecb_encrypt): Make input const.
2393 (GRUB_CIPHER_AES): New macro.
2394 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
2395 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
2396 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
2397 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
2398 prefix. All users updated.
2399 (grub_zfs_add_key): New proto.
2400 (grub_zfs_decrypt): Likewise.
2401 (grub_zfs_load_key): Likewise.
2402 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
2403 * util/grub-fstest.c (options): Add -K option.
2404 (argp_parser): Likewise.
2405
2406 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2407
2408 Support zle compression on ZFS.
2409
2410 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
2411 (decomp_table): Add zle.
2412 * include/grub/zfs/zio.h (zio_compress): Add zle.
2413
2414 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2415
2416 Support BtrFS embedding.
2417
2418 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
2419 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
2420 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
2421 * util/grub-setup.c (setup): Use fs embedding if available.
2422 Add additional sanity check.
2423
2424 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2425
2426 * util/grub-install.in: Fix condition for config_opt.
2427
2428 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2429
2430 Support third redundancy strip on raidz3.
2431
2432 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
2433 Return error on singularity. All users updated.
2434 (read_device): Don't stop on 3rd failure on raidz3.
2435
2436 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2437
2438 Support case-insensitive ZFS subvolumes.
2439
2440 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
2441 All users updated.
2442 (zap_hash): Likewise.
2443 (name_cmp): New function.
2444 (zap_leaf_array_equal): New parameter case_insensitive.
2445 All users updated.
2446 (zap_leaf_lookup): Likewise.
2447 (fzap_lookup): Likewise.
2448 (zap_lookup): Likewise.
2449 (dnode_get_path): New parameter case_insensitive. Retrieve case
2450 sensitiviness of a volume. All users updated.
2451 (dnode_get_fullpath): New parameter case_insensitive.
2452 All users updated.
2453 (grub_zfs_dir): Set info.case_insensitiveness.
2454
2455 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2456
2457 Support second redundancy strip on raidz(2,3).
2458
2459 * grub-core/fs/zfs/zfs.c (powx): New array.
2460 (powx_inv): Likewise.
2461 (poly): New const.
2462 (xor_out): New function.
2463 (gf_mul): Likewise.
2464 (recovery): Likewise.
2465 (read_device): Use second redundancy strip.
2466
2467 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 Use a power of generator representation of GF(256) multiplication group
2470 to save space time and complexity.
2471
2472 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
2473 (raid6_table2): Likewise.
2474 (powx): New array.
2475 (powx_inv): Likewise.
2476 (poly): New const.
2477 (grub_raid_block_mul): Replace with ...
2478 (grub_raid_block_mulx): ...this.
2479 (grub_raid6_init_table): Rewritten.
2480 (grub_raid6_recover): Use power of generator representation.
2481
2482 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2483
2484 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
2485 for the right device.
2486
2487 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2488
2489 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
2490 expected by grub-mkimage and it's more clear since there is no implicit
2491 padding.
2492
2493 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
2496 disk.
2497 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2498
2499 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
2500
2501 * util/grub-mkrescue.in: Fix handling xorriso option.
2502
2503 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
2506 NULL.
2507
2508 2011-11-03 crocket <crockabiscuit@gmail.com>
2509
2510 * util/grub.d/10_linux.in: Add Slackware initrd naming.
2511
2512 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2513
2514 XZ CRC64 and SHA256 support.
2515
2516 * Makefile.util.def (libgrubmods): Add crc64.c.
2517 * grub-core/Makefile.core.def (crc64): New module.
2518 * grub-core/lib/crc64.c: New file.
2519 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
2520 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
2521 Fix the type.
2522 (MAX_HASH_SIZE): New define.
2523 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
2524 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
2525 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
2526 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
2527 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
2528 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
2529 Handle non-crc32 hashes.
2530 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
2531 (dec_stream_header): Handle non-crc32 hashes.
2532 (dec_stream_footer): Likewise.
2533 (dec_block_header): Likewise.
2534 (dec_main): Likewise.
2535 (xz_dec_init): Likewise.
2536 (xz_dec_reset): Likewise.
2537 (xz_dec_end): Likewise.
2538 * util/import_gcry.py: Add CRC64 line.
2539
2540 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2541
2542 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
2543 as well.
2544
2545 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2546
2547 Make reiserfs label retrieval similar to other *_label functions.
2548
2549 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
2550 (REISERFS_MAX_LABEL_LENGTH): Removed.
2551 (REISERFS_LABEL_OFFSET): Likewise.
2552 (grub_reiserfs_label): Rewritten.
2553
2554 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
2557 field.
2558
2559 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2560
2561 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
2562
2563 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2564
2565 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
2566 drive failure on both raidz and raidz2.
2567
2568 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2569
2570 Fix RAIDZ(2) for >= 5 devices.
2571
2572 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
2573 asize argument. All users updated.
2574
2575 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2576
2577 Fix RAIDZ(2).
2578
2579 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
2580 (fill_vdev_info_real): Set ashift.
2581 (read_device): Rewrite RAIDZ part based on reverse engineering.
2582
2583 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2584
2585 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
2586 don't report potentially unavialiable fields in debug output.
2587 (find_path): Fix double-free and memory leak.
2588
2589 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2590
2591 Read label on UFS1.
2592
2593 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
2594 (grub_ufs_fs): Always set .label.
2595
2596 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2597
2598 Use shifts in UFS.
2599
2600 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
2601 (grub_ufs_data): New field log2_blksz.
2602 (grub_ufs_read_file): Use shifts.
2603 (grub_ufs_mount): Check block size and logarithm it.
2604
2605 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
2608 long symlinks.
2609
2610 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2611
2612 Handle symlinks and long names on tar and cpio.
2613
2614 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
2615 (ATTR_FILE): Likewise.
2616 (ATTR_DIR): Likewise.
2617 (ATTR_LNK): Likewise.
2618 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
2619 (grub_cpio_find_file): Fill mode, handle linkname field as well as
2620 L and K entries.
2621 (grub_cpio_mount): Zero-fill data.
2622 (handle_symlink): New function.
2623 (grub_cpio_dir): Handle symlinks.
2624 (grub_cpio_open): Likewise.
2625 (grub_cpio_close) [MODE_USTAR]: Free linkname.
2626
2627 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2628
2629 Fix iso9660 filename limitations and fix memory leaks.
2630
2631 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
2632 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
2633
2634 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2635
2636 Fix JFS file name length limitations.
2637
2638 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
2639 (grub_jfs_diropen): Fix maximum filename length.
2640 (grub_jfs_getent): Fix filename length.
2641 (grub_jfs_lookup_symlink): Fix size checks.
2642
2643 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2644
2645 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
2646 string.
2647
2648 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 Leverage BFS implementation to read AFS.
2651
2652 * Makefile.util.def (libgrubmods): Add afs.c.
2653 * grub-core/Makefile.core.def (afs): New module
2654 * grub-core/fs/afs.c: New file.
2655 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
2656
2657 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2658
2659 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
2660
2661 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2662
2663 * grub-core/fs/bfs.c: Run indent.
2664
2665 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2666
2667 BFS implementation based on the specification.
2668
2669 * grub-core/fs/bfs.c: New file.
2670 * Makefile.util.def (libgrubmods): Add bfs.c.
2671 * grub-core/Makefile.core.def (bfs): New module.
2672
2673 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2674
2675 * util/grub-fstest.c (cmd_cp): Clarify error message.
2676 (cmd_cmp): Likewise.
2677
2678 2011-10-30 Yves Blusseau <blusseau@zetam.org>
2679
2680 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
2681 and befs_be.
2682
2683 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
2684
2685 Remove afs and befs because of copyright problem.
2686
2687 * grub-core/fs/afs.c: Removed.
2688 * grub-core/fs/afs_be.c: Removed.
2689 * grub-core/fs/befs.c: Removed.
2690 * grub-core/fs/befs_be.c: Removed.
2691 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
2692 * grub-core/Makefile.core.def (afs): Removed.
2693 (afs_be): Likewise.
2694 (befs): Likewise.
2695 (befs_be): Likewise.
2696
2697 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2698
2699 Prefer rockridge over Joliet.
2700
2701 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
2702 to ...
2703 (set_rockridge): ... here.
2704 (grub_iso9660_mount): Check rockridge on the primary label when
2705 discovering. Ignore Joliet if Rockridge is present.
2706
2707 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2708
2709 Use shifts in nilfs2.
2710
2711 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
2712 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
2713 (grub_nilfs2_palloc_entries_per_group): Replace with ...
2714 (grub_nilfs2_log_palloc_entries_per_group): ... this.
2715 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
2716 (grub_nilfs2_entries_per_block): Replaced with ...
2717 (grub_nilfs2_log_entries_per_block_log): ... this.
2718 (grub_nilfs2_blocks_per_group): Replaced with ...
2719 (grub_nilfs2_blocks_per_group_log): ... this.
2720 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
2721 (grub_nilfs2_blocks_per_desc_block_log): ... this.
2722 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
2723 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
2724 (grub_nilfs2_palloc_entry_offset): Replaced ...
2725 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
2726 (grub_nilfs2_dat_translate): Use shifts.
2727 (grub_nilfs2_read_inode): Likewise.
2728 (GRUB_MOD_INIT): Ensure that logs are correct.
2729
2730 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2731
2732 Use shifts in minix filesystem.
2733
2734 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
2735 (GRUB_MINIX_ZONE2SECT): Likewise.
2736 (grub_minix_data): Replace block_size with log_block_size.
2737 (grub_minix_read_file): Use shifts.
2738 (grub_minix_mount): Check block size and take a logarithm.
2739
2740 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 Use shifts in squash4.
2743
2744 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
2745 (squash_mount): Check block size and take logarithm.
2746 (direct_read): Use shifts.
2747
2748 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2749
2750 Correct befs block counting logic.
2751
2752 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
2753 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
2754 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
2755 (grub_afs_read_inode): Use block_shift.
2756 (RANGE_SHIFT): New definition.
2757 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
2758 unexpected conditions, use shifts and appropriate types.
2759 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
2760
2761 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2762
2763 * grub-core/disk/raid.c (scan_devices): Check partition.
2764 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2765
2766 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2767
2768 Support BFS (befs) UUID.
2769
2770 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
2771 (grub_afs_small_data_element_header): New struct.
2772 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
2773 (grub_afs_read_attribute) [MODE_BFS]: New function.
2774 (grub_afs_iterate_dir): Allocate for complete inode.
2775 (grub_afs_mount): Likewise.
2776 (grub_afs_uuid) [MODE_BFS]: New function.
2777 (grub_afs_fs) [MODE_BFS]: Add .uuid.
2778
2779 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
2782 (zfs_unmount): Fix memory leak.
2783
2784 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 Support NTFS reparse points.
2787
2788 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
2789 (symlink_descriptor): New struct.
2790 (grub_ntfs_read_symlink): New function.
2791 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
2792 (grub_ntfs_open): Likewise.
2793
2794 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2795
2796 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
2797
2798 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2799
2800 fstest xnu_uuid subcommand.
2801
2802 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
2803 grub-core/commands/xnu_uuid.c.
2804 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
2805 (fstest): Handle xnu_uuid.
2806 (options): Document xnu_uuid.
2807 (argp_parser): Parse xnu_uuid.
2808
2809 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2810
2811 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
2812 -l argument. Add newline at the end if printing.
2813 (GRUB_MOD_INIT): Document -l.
2814
2815 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2816
2817 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
2818
2819 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2820
2821 ZFS multi-device and version 33 support.
2822
2823 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
2824 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
2825 (grub_zfs_data): Add multidev-ice-related fields.
2826 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
2827 (dva_get_offset): Make dva const.
2828 (zfs_fetch_nvlist): New function.
2829 (fill_vdev_info_real): Likewise.
2830 (fill_vdev_info): Likewise.
2831 (check_pool_label): Likewise.
2832 (scan_disk): Likewise.
2833 (scan_devices): Likewise.
2834 (read_device): Likewise.
2835 (read_dva): Likewise.
2836 (zio_read_gang): Use read_dva.
2837 (zio_read_data): Likewise.
2838 (zap_leaf_lookup): Add missing endian conversion.
2839 (zap_verify): Add missing endian conversion. All users updated.
2840 (fzap_lookup): Likewise.
2841 (fzap_iterate): Likewise.
2842 (dnode_get_path): Handle SA bonus.
2843 (nvlist_find_value): Make input const. All users updated.
2844 (unmount_device): New function.
2845 (zfs_unmount): Use unmount_device.
2846 (zfs_mount): Use scan_disk.
2847 (zfs_mtime): New function.
2848 (grub_zfs_open): Handle system attributes.
2849 (fill_fs_info): Likewise.
2850 (grub_zfs_dir): Likewise.
2851 (grub_zfs_fs): Add mtime.
2852 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
2853 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
2854 (SA_MTIME_OFFSET): Likewise.
2855 (SA_SYMLINK_OFFSET): Likewise.
2856 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
2857 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
2858 (fstest): Support zfsinfo.
2859 (argp_parser): Likewise.
2860
2861 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2862
2863 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
2864 error.
2865
2866 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2867
2868 ZFS fixes.
2869
2870 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
2871 sharing the same block. Iterate over correct number of indices.
2872 (dnode_get_path): Handle symlinks correctly.
2873
2874 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2875
2876 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
2877
2878 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2879
2880 Read label on HFS+.
2881
2882 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
2883 (grub_hfsplus_btree_search): Fix types.
2884 (grub_hfsplus_label): Implement.
2885
2886 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2887
2888 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
2889
2890 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
2893
2894 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 Fix symlink handling on iso9660.
2897
2898 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
2899 All users updated.
2900 (grub_iso9660_susp_iterate): Accept zero-size iterate.
2901 (grub_iso9660_read_symlink): Moved most of code ...
2902 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
2903
2904 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2905
2906 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
2907 Use union to avoid breaking strict-aliasing rules.
2908
2909 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 Support multi-extent iso files.
2912
2913 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
2914 Add node.
2915 (grub_fshelp_node): Revamp. All users updated.
2916 (FLAG_*): New enum.
2917 (read_node): New function.
2918 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
2919 All users updated.
2920 (grub_iso9660_mount): Don't attempt to read sua when there is none.
2921 (get_node_size): New function.
2922 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
2923 entries.
2924 Fix memory leak on . and ..
2925 (grub_iso9660_read): Use read_node.
2926 (grub_iso9660_close): Free node.
2927
2928 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2929
2930 Fix tar 4G limit and handle paths containing dot.
2931
2932 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
2933 (canonicalize): New function.
2934 (grub_cpio_find_file): Use canonicalize. Store offs in
2935 grub_disk_addr_t.
2936 (grub_cpio_dir): Use grub_disk_addr_t.
2937 (grub_cpio_open): Likewise.
2938
2939 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2940
2941 Fix handling of uncompressed blocks on squashfs and break 4G limit.
2942
2943 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
2944 unused flags.
2945 (grub_squash_inode): Add long_file and block_size.
2946 (grub_squash_cache_inode): New struct.
2947 (grub_squash_dirent): Make types into enum.
2948 (SQUASH_TYPE_LONG_REGULAR): New type.
2949 (grub_squash_frag_desc): Add field size.
2950 (SQUASH_BLOCK_FLAGS): New enum.
2951 (grub_squash_data): Use grub_squash_cache_inode.
2952 (grub_fshelp_node): Make ino_chunk 64-bit.
2953 (read_chunk): Minor argument change. All users updated.
2954 (squash_mount): Use correct le_to_cpu.
2955 (grub_squash_open): Handle LONG_REGULAR.
2956 (direct_read): New function.
2957 (grub_squash_read_data): Handle blocks correctly.
2958
2959 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2960
2961 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
2962
2963 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2964
2965 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
2966
2967 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 Fix 2G limit on ZFS.
2970
2971 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
2972 types.
2973 (uberblock_verify): Likewise.
2974 (dmu_read): Likewise.
2975 (grub_zfs_read): Likewise. Remove invalid cast.
2976
2977 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2978
2979 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
2980 (grub_jfs_blkno): Fix incorrect shift.
2981 (grub_jfs_read_file): Use more appropriate types.
2982
2983 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2984
2985 Support triple indirect on minix2 and minix3.
2986
2987 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
2988 Declare triple_indir_zone.
2989 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
2990 indirect.
2991
2992 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2993
2994 Minix FS fixes.
2995
2996 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
2997 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
2998 Rename ctime to mtime. All users updated.
2999 (grub_minix_get_file_block): Fix types and double indirect computations.
3000
3001 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3002
3003 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
3004 if no label is found.
3005 (grub_fat_iterate_dir): Fix file size type.
3006 (grub_fat_iterate_dir): Likewise.
3007
3008 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3009
3010 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
3011 save some space.
3012 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
3013 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
3014
3015 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3016
3017 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
3018
3019 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3020
3021 * util/import_gcry.py: Accept space between # and include.
3022
3023 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3024
3025 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
3026
3027 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3028
3029 Fine grainely disable warnings on lexer. Remove Wno-error on it.
3030
3031 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
3032 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
3033 yylex_strncpy.
3034 * grub-core/script/yylex.l: Add fine-grained #pragma.
3035
3036 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3037
3038 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
3039 New inline function.
3040 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
3041 Likewise.
3042 (memset) [GRUB_UTIL]: Likewise.
3043 (memcmp) [GRUB_UTIL]: Likewise.
3044
3045 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3046
3047 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
3048 inline function rather than a define.
3049
3050 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3051
3052 * util/grub-setup.c: Add missing include.
3053
3054 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3055
3056 * util/ieee1275/grub-ofpathname.c: Add missing include.
3057
3058 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3059
3060 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
3061 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
3062 Likewise.
3063
3064 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3065
3066 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
3067 grub_memcmp usage.
3068
3069 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3070
3071 * util/grub-install.in: Add datarootdir as per automake manual
3072 suggestion.
3073 * util/grub-mknetdir.in: Likewise.
3074
3075 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3076
3077 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
3078 suggestion.
3079 * util/grub.d/10_kfreebsd.in: Likewise.
3080 * util/grub.d/10_linux.in: Likewise.
3081 * util/grub.d/10_netbsd.in: Likewise.
3082 * util/grub.d/10_windows.in: Likewise.
3083 * util/grub.d/20_linux_xen.in: Likewise.
3084
3085 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3086
3087 Remove redundant grub_kernel_image_size.
3088
3089 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
3090 _edata and _start.
3091 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
3092 the small code. It moves it only by few bytes but simplifies the code.
3093 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
3094 _start.
3095 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
3096 (grub_kernel_image_size): Removed.
3097 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
3098 (grub_kernel_image_size): Removed.
3099 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
3100 compiled with Apple toolchain.
3101 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
3102 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
3103 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
3104 (grub_total_module_size): Likewise.
3105 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
3106 Removed.
3107 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
3108 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
3109 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
3110 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
3111 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
3112 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
3113 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
3114 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
3115 Removed.
3116 (grub_total_module_size): Removed.
3117 * util/grub-mkimage.c (image_target_desc): Remove image_size.
3118 (image_targets): Likewise.
3119 Set .compressed_size to no field on sparc.
3120 (generate_image): Remove kernel_image_size handling.
3121
3122 2011-10-19 Szymon Janc <szymon@janc.net.pl>
3123
3124 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
3125 NULL pointer dereference.
3126
3127 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3128
3129 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
3130 done with a dedicated section.
3131
3132 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
3133 Ensure the correct position of boot_path.
3134 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
3135 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
3136 other fields.
3137 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
3138 * include/grub/boot.h: Removed. All references removed.
3139 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
3140 Removed.
3141 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
3142
3143 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3144
3145 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
3146 name.
3147
3148 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
3151
3152 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3153
3154 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
3155 Don't add the bogus brackets.
3156
3157 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3158
3159 ExFAT support.
3160
3161 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
3162 * grub-core/Makefile.core.def (exfat): New module.
3163 * grub-core/fs/exfat.c: New file.
3164 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
3165 (GRUB_FAT_ATTR_*): Make into an enum.
3166 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
3167 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
3168 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
3169 (GRUB_FAT_MAXFILE): Removed.
3170 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
3171 (grub_current_fat_bpb_t): New type.
3172 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
3173 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
3174 (grub_fat_dir_node_t): New type.
3175 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
3176 (fat_log2) [MODE_EXFAT]: Removed.
3177 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
3178 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
3179 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
3180 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
3181 (grub_fat_label) [MODE_EXFAT]: New function.
3182 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
3183 reserved_first_sector to 0.
3184
3185 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3186
3187 Move grub_reboot out of the kernel.
3188
3189 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
3190 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
3191 * grub-core/lib/efi/reboot.c: ... here.
3192 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
3193 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
3194 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
3195 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
3196 * grub-core/lib/i386/reboot_trampoline.S: ... here.
3197 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
3198 * grub-core/lib/ieee1275/reboot.c: ... here.
3199 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
3200 * grub-core/lib/mips/arc/reboot.c: ... here.
3201 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
3202 * grub-core/lib/mips/loongson/reboot.c: ...here.
3203 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
3204 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
3205 * include/grub/emu/misc.h (grub_reboot): New function declaration.
3206 * include/grub/i386/reboot.h: New file.
3207 * include/grub/mips/loongson/ec.h: Fix includes.
3208 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
3209 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
3210 * grub-core/lib/i386/reboot.c: New file.
3211
3212 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3213
3214 Make grub_prefix into module to fix the arbitrary limit and save
3215 some space.
3216
3217 * grub-core/kern/emu/main.c (grub_prefix): Removed.
3218 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
3219 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
3220 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
3221 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
3222 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
3223 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
3224 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
3225 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
3226 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
3227 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
3228 * include/grub/ia64/efi/kernel.h: Removed.
3229 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
3230 (grub_prefix): Removed.
3231 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
3232 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
3233 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
3234 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
3235 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
3236 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
3237 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
3238 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
3239 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
3240 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
3241 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
3242 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
3243 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
3244 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
3245 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
3246 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
3247 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
3248 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
3249 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
3250 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
3251 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
3252 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
3253 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
3254 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
3255 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
3256 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
3257 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
3258 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
3259 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
3260 from module.
3261 * util/grub-mkimage.c (image_target_desc): Removed prefix and
3262 prefix_end.
3263 (image_targets): Likewise.
3264 (generate_image): Put prefix as a module.
3265
3266 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3267
3268 Replace grub_module_iterate with FOR_MODULES.
3269
3270 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
3271 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
3272 (grub_efi_modules_addr): ...this.
3273 * grub-core/kern/efi/init.c (grub_modbase): New variable.
3274 (grub_efi_init): Set grub_modbase.
3275 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
3276 (grub_modbase): New variable.
3277 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
3278 (grub_modbase): New variable.
3279 (grub_machine_init): Set grub_modbase.
3280 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
3281 (grub_modbase): New variable.
3282 (grub_machine_init): Set grub_modbase.
3283 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
3284 (grub_modbase): New variable.
3285 (grub_machine_init): Set grub_modbase.
3286 * grub-core/kern/main.c (grub_module_iterate): Remove.
3287 (grub_modules_get_end): Use grub_modbase.
3288 (grub_load_modules): Use FOR_MODULES.
3289 (grub_load_config): Likewise.
3290 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
3291 (grub_modbase): New variable.
3292 (grub_machine_init): Set grub_modbase.
3293 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
3294 (grub_modbase): New variable.
3295 (grub_machine_init): Set grub_modbase.
3296 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
3297 Removed.
3298 (grub_modbase): New variable.
3299 (grub_machine_init): Set grub_modbase.
3300 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
3301 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
3302 (grub_module_iterate): Likewise.
3303 (grub_modbase): New variable declaration.
3304 (FOR_MODULES): New macro.
3305
3306 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3307
3308 * configure.ac: Check for __ctzdi2 and __ctzsi2.
3309 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
3310
3311 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3312
3313 Fix few obvious type discrepancies.
3314
3315 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
3316 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
3317 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
3318 variable.
3319 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
3320 and connected types.
3321 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
3322 offset.
3323 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
3324 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
3325 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
3326 and connected types.
3327
3328 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3329
3330 Fix python 3.x incompatibilities.
3331
3332 * gentpl.py: Put brackets around print strings.
3333 * util/import_gcry.py: Open explicitly as utf-8.
3334 Use in instead of has_key.
3335
3336 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3337
3338 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
3339 (GRUB_XFS_INO_AGBITS): Make into inline function.
3340 (GRUB_XFS_INO_INOINAG): Likewise.
3341 (GRUB_XFS_INO_AG): Likewise.
3342 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
3343 (GRUB_XFS_EXTENT_OFFSET): Likewise.
3344 (GRUB_XFS_EXTENT_BLOCK): Likewise.
3345 (GRUB_XFS_EXTENT_SIZE): Likewise.
3346 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
3347 (GRUB_XFS_NEXT_DIRENT): Likewise.
3348 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
3349 (grub_xfs_read_file): Fix offset type.
3350
3351 2011-10-15 Robert Millan <rmh@gnu.org>
3352
3353 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
3354
3355 2011-10-15 Robert Millan <rmh@gnu.org>
3356
3357 Fix build problem on FreeBSD and GNU/kFreeBSD.
3358
3359 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
3360
3361 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3362
3363 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
3364
3365 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
3366 types.
3367 (grub_hfsplus_btree_recoffset): Likewise.
3368 (grub_hfsplus_btree_recptr): Likewise.
3369 (grub_hfsplus_find_block): Likewise.
3370 (grub_hfsplus_btree_search): Likewise.
3371 (grub_hfsplus_read_block): Likewise.
3372 (grub_hfsplus_read_file): Likewise.
3373 (grub_hfsplus_mount): Likewise.
3374 (grub_hfsplus_btree_iterate_node): Likewise.
3375 (grub_hfsplus_btree_search): Likewise.
3376 (grub_hfsplus_iterate_dir): Likewise.
3377 (grub_hfsplus_read): A small code simplification.
3378
3379 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3380
3381 * grub-core/kern/emu/hostdisk.c
3382 (convert_system_partition_to_system_disk): Don't assume that children
3383 of mapper nodes are mapper nodes.
3384
3385 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3386
3387 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
3388 * include/grub/misc.h (grub_isxdigit): New function.
3389 * grub-core/video/colors.c (my_isxdigit): Removed. All users
3390 switched to grub_isxdigit.
3391 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
3392 number starting with a letter.
3393
3394 2011-10-09 Robert Millan <rmh@gnu.org>
3395
3396 LVM support for FreeBSD and GNU/kFreeBSD.
3397
3398 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
3399 GNU/kFreeBSD.
3400 (LVM_DEV_MAPPER_STRING): Move from here ...
3401 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
3402 * util/getroot.c: Include `<grub/util/lvm.h>'.
3403 (grub_util_get_dev_abstraction): Enable
3404 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
3405 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
3406 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
3407 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
3408 support it.
3409 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
3410 GNU/kFreeBSD.
3411 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
3412 when LVM abstraction is required for ${GRUB_DEVICE}.
3413
3414 2011-10-06 Szymon Janc <szymon@janc.net.pl>
3415
3416 Add support for LZO compression in GRUB:
3417 - import of minilzo library,
3418 - LZO decompression for btrfs,
3419 - lzop files decompression.
3420
3421 * grub-core/io/lzopio.c: New file.
3422 * grub-core/lib/adler32.c: Likewise.
3423 * grub-core/lib/minilzo/lzoconf.h: Likewise.
3424 * grub-core/lib/minilzo/lzodefs.h: Likewise.
3425 * grub-core/lib/minilzo/minilzo.c: Likewise.
3426 * grub-core/lib/minilzo/minilzo.h: Likewise.
3427 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
3428 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
3429 grub-core/lib/minilzo/minilzo.c to common.
3430 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
3431 cflags in cppflags.
3432 * grub-core/Makefile.core.def (btrfs): Likewise.
3433 * grub-core/Makefile.core.def (lzopio): New module.
3434 (adler32): Likewise.
3435 * grub-core/fs/btrfs.c: Include minilzo.h.
3436 (GRUB_BTRFS_COMPRESSION_LZO): New define.
3437 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
3438 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
3439 (grub_btrfs_lzo_decompress): New function.
3440 (grub_btrfs_extent_read): Add support for LZO compression type.
3441 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
3442 (GRUB_USHRT_MAX): Likewise.
3443 (GRUB_UINT_MAX): Likewise.
3444 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
3445 (UINT_MAX): Likewise.
3446 (CHAR_BIT): Likewise.
3447 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
3448 grub-core/lib/posix_wrap/limits.h
3449 (UCHAR_MAX): Likewise.
3450 * include/grub/file.h (grub_file_filter_id): New compression filter
3451 GRUB_FILE_FILTER_LZOPIO.
3452 * include/grub/file.h (grub_file_filter_id): Set
3453 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
3454 * include/grub/types.h (grub_get_unaligned16): New function.
3455 (grub_get_unaligned32): Likewise.
3456 (grub_get_unaligned64): Likewise.
3457 * util/import_gcry.py (cryptolist): Add adler32.
3458
3459 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
3460
3461 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
3462 in perspective decreases the complexity of build system and fixes
3463 compilation right now.
3464
3465 2011-10-01 Ales Nesrsta <starous@volny.cz>
3466
3467 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
3468 (fixed problem related to using UHCI with coreboot).
3469
3470 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
3471
3472 * gentpl.py: Use Autogen macros so that the output template file
3473 (Makefile.tpl) size is reduced.
3474
3475 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
3476
3477 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
3478 extra_dist.
3479
3480 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3481
3482 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
3483 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
3484
3485 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3486
3487 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
3488 _fullpath.
3489
3490 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3491
3492 Remove extra declaration of sleep for mingw32.
3493
3494 * util/misc.c (sleep) [__MINGW32__]: Removed.
3495 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
3496
3497 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
3498
3499 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
3500 type and packname.
3501 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
3502 Resurrected.
3503 (NETBSD_BTINFO_BOOTWEDGE): New definition.
3504 (grub_netbsd_btinfo_bootwedge): New struct.
3505 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3506 New function.
3507 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
3508
3509 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
3510
3511 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
3512 loader.
3513
3514 2011-09-28 Andreas Born <futur.andy@googlemail.com>
3515
3516 Fix incorrect identifiers in bash-completion.
3517
3518 * util/bash-completion.d/grub-completion.bash.in
3519 (_grub_mkpasswd-pbkdf2): Rename to ...
3520 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
3521 (_grub_script-check): Rename to ...
3522 (_grub_script_check): ... this. All users updated.
3523
3524 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3525
3526 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
3527 Return 0 if disk isn't biosdisk.
3528
3529 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
3530
3531 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
3532 on NetBSD.
3533 * Makefile.util.def (grub-fstest): Likewise.
3534
3535 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
3536
3537 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
3538 Get sector size from disk label.
3539
3540 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
3541
3542 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
3543 */README* as well as README*.
3544 Reported by: Axel Beckert.
3545
3546 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3547
3548 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
3549 case of less than 256 MiB of RAM.
3550
3551 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3552
3553 * grub-core/commands/wildcard.c (make_regex): Handle @.
3554
3555 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3556
3557 * util/grub-install.in: Move cryptodisk logic to appropriate place.
3558
3559 2011-08-21 Szymon Janc <szymon@janc.net.pl>
3560
3561 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
3562 AC_LANG_CONFTEST macros.
3563
3564 2011-08-20 Szymon Janc <szymon@janc.net.pl>
3565
3566 Add grub-fstest option to uncompress data for commands.
3567
3568 * util/grub-fstest.c (uncompress): New var.
3569 (options): New option -u.
3570
3571 2011-08-20 Szymon Janc <szymon@janc.net.pl>
3572
3573 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
3574 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
3575
3576 2011-08-20 Szymon Janc <szymon@janc.net.pl>
3577
3578 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
3579 file type was not recognized correctly (not gzip or corrupted).
3580
3581 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3582
3583 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
3584 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
3585
3586 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3587
3588 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
3589 loongson.
3590 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
3591 video_radeon_fuloong2e.
3592 * grub-core/video/radeon_fuloong2e.c: New file.
3593 * include/grub/video.h (grub_video_id_t): Add new ID
3594 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
3595
3596 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3597
3598 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
3599 define.
3600 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
3601 that PRID matches the detected subplatform and reset the subplatform
3602 if it doesn't.
3603
3604 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3605
3606 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
3607
3608 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3609
3610 Fix PCI iterating on functions >= 4.
3611
3612 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
3613 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
3614 Removed.
3615 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
3616 (grub_pci_read): Fix bitmask.
3617 (grub_pci_read_word): Likewise.
3618 (grub_pci_read_byte): Likewise.
3619 (grub_pci_write): Likewise.
3620 (grub_pci_write_word): Likewise.
3621 (grub_pci_write_byte): Likewise.
3622
3623 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3624
3625 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
3626 can still be specified in TARGET_CFLAGS)
3627
3628 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3629
3630 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
3631
3632 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
3633 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
3634 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
3635 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
3636 (FULOONG): Rename to ...
3637 (FULOONG2F): ... this. All users updated.
3638 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
3639 (machtype_fuloong2f_str): ... this.
3640 (machtype_fuloong2e_str): New string.
3641 Check for machtype_fuloong2e_str.
3642 * grub-core/loader/mips/linux.c (loongson_machtypes)
3643 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
3644 * grub-core/term/serial.c (loongson_defserial)
3645 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
3646 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
3647 loongson_defserial.
3648 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
3649 Rename to ...
3650 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
3651 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
3652 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
3653 to IMAGE_FULOONG2F_FLASH. All users updated.
3654 (image_targets): Rename images.
3655 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
3656
3657 2011-08-19 Szymon Janc <szymon@janc.net.pl>
3658
3659 Make enable of disk cache statistics code configurable.
3660
3661 * configure.ac: --enable-cache-stats added.
3662 * config.h.in (DISK_CACHE_STATS): New define.
3663 * grub-core/Makefile.core.def (cacheinfo): New command.
3664 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
3665 * grub-core/commands/cacheinfo.c: New file.
3666 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
3667 moved to cacheinfo.c.
3668 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
3669 debug code.
3670 * include/grub/disk.h: Likewise.
3671
3672 2011-08-19 Szymon Janc <szymon@janc.net.pl>
3673
3674 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
3675 * grub-core/Makefile.am: Likewise.
3676
3677 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3678
3679 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
3680 non-zero pull.
3681
3682 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3683
3684 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
3685 All users updated.
3686 (grub_jfs_lookup_symlink): Use correct starting inode.
3687
3688 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3689
3690 * util/grub-setup.c (main): Add missing gcry initialisation.
3691
3692 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3693
3694 Don't accept text modes on EFI when booting Linux.
3695
3696 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
3697 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
3698
3699 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
3700 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
3701
3702 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
3703 use of "/path/.." as in grub-install for EFI as well as handling
3704 symlinks correctly.
3705 Fixes Debian bug #637768.
3706
3707 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
3708
3709 * util/grub-probe.c: Remove duplicate #include.
3710
3711 2011-08-10 Robert Millan <rmh@gnu.org>
3712
3713 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
3714
3715 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
3716 function.
3717 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
3718 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
3719
3720 2011-08-03 Robert Millan <rmh@gnu.org>
3721
3722 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
3723 la_array as packed.
3724 Reported by: Zachary Bedell
3725
3726 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
3727
3728 * configure.ac: The Loongson port requires grub-mkfont due to its
3729 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
3730 be built.
3731
3732 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
3733
3734 * util/grub-install.in: Don't source grub-mkconfig_lib until after
3735 processing arguments (otherwise help2man fails when GRUB has not yet
3736 been installed).
3737
3738 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3739
3740 New script grub-mkstandalone.
3741
3742 * Makefile.util.def (grub-mkstandalone): New script.
3743 * docs/man/grub-mkstandalone.h2m: New file.
3744 * util/grub-mkstandalone.in: Likewise.
3745
3746 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3747
3748 Support ATA disks with 4K sectors.
3749
3750 * include/grub/ata.h (grub_ata): New member log_sector_size.
3751 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
3752 (grub_ata_identify): Read sector size.
3753 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
3754
3755 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3756
3757 * util/grub-install.in: Don't use uhci outside of x86.
3758
3759 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3760
3761 * util/grub-mkrescue.in: Add missing quotes.
3762
3763 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3764
3765 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
3766 dereference.
3767
3768 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
3771
3772 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3773
3774 * include/grub/video.h: add missing EXPORT_FUND on
3775 grub_video_edid_checksum and grub_video_edid_preferred_mode.
3776
3777 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3778
3779 * include/grub/mips/kernel.h: Fix define conflict.
3780
3781 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3782
3783 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
3784 all four ways.
3785
3786 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
3787
3788 Preferred resolution detection for VBE.
3789
3790 * grub-core/video/video.c (grub_video_edid_checksum): New function.
3791 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
3792 the Flat Panel extension, in line with the X.org VESA driver.
3793 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
3794 New function.
3795 (grub_vbe_bios_get_ddc_capabilities): Likewise.
3796 (grub_vbe_bios_read_edid): Likewise.
3797 (grub_vbe_get_preferred_mode): Likewise.
3798 (grub_video_vbe_setup): When the mode is "auto", try to get the
3799 preferred mode from VBE, and use the largest mode that is no larger
3800 than the preferred mode (some BIOSes expose a preferred mode that is
3801 not in their mode list!). If this fails, fall back to 640x480 as a
3802 safe conservative choice.
3803 (grub_video_vbe_get_edid): New function.
3804 (grub_video_vbe_adapter): Add get_edid.
3805 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
3806 (struct grub_video_adapter): Add get_edid.
3807 (grub_video_edid_checksum): Add prototype.
3808 (grub_video_edid_preferred_mode): Likewise.
3809 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
3810 structure.
3811
3812 * grub-core/commands/videoinfo.c (print_edid): New function.
3813 (grub_cmd_videoinfo): Print EDID if available.
3814
3815 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
3816 is more appropriate on a wider range of platforms than 640x480.
3817 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
3818 documentation.
3819
3820 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3821
3822 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
3823
3824 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3825
3826 * po/POTFILES.in: Regenerate.
3827
3828 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3829
3830 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
3831 incorrect memory usage.
3832
3833 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3834
3835 * util/grub-install.in: Source grub-mkconfig_lib.
3836
3837 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3838
3839 Remove getroot.c from core on emu platform.
3840
3841 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
3842 kern/emu/raid.c.
3843 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
3844 useless.
3845 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
3846 * util/getroot.c (get_win32_path): ... here.
3847 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
3848 * util/getroot.c (fini_libzfs): ... here.
3849 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
3850 * util/getroot.c (grub_get_libzfs_handle): ... here.
3851 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
3852 Moved from here...
3853 * util/getroot.c (grub_find_zpool_from_dir): ... here.
3854 * grub-core/kern/emu/misc.c
3855 (grub_make_system_path_relative_to_its_root): Moved from here...
3856 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
3857 * grub-core/kern/emu/getroot.c: Moved from here ...
3858 * util/getroot.c: ... here. All users updated.
3859 * grub-core/kern/emu/raid.c: Moved from here ...
3860 * util/raid.c: ... here. All users updated.
3861
3862 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3863
3864 * po/POTFILES.in: Regenerate.
3865
3866 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3867
3868 Fix compilation on GNU/Linux.
3869
3870 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
3871 Disable geli.
3872 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
3873 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
3874 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
3875
3876 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3877 2011-07-07 Michael Gorven <michael@gorven.za.net>
3878 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
3879
3880 LUKS and GELI support.
3881
3882 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
3883 grub-core/disk/luks.c, grub-core/disk/geli.c,
3884 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
3885 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
3886 grub-core/lib/arg.c.
3887 (libgrubmods.a): Remove gcrypts cflags and cppflags.
3888 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
3889 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
3890 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
3891 (grub-bin2h): Add libgcry.a.
3892 (grub-mkimage): Likewise.
3893 (grub-mkrelpath): Likewise.
3894 (grub-script-check): Likewise.
3895 (grub-editenv): Likewise.
3896 (grub-mkpasswd-pbkdf2): Likewise.
3897 (grub-pe2elf): Likewise.
3898 (grub-fstest): Likewise.
3899 (grub-mkfont): Likewise.
3900 (grub-mkdevicemap): Likewise.
3901 (grub-probe): Likewise.
3902 (grub-ofpath): Likewise.
3903 (grub-mklayout): Likewise.
3904 (example_unit_test): Likewise.
3905 (grub-menulst2cfg): Likewise.
3906 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
3907 * grub-core/Makefile.core.def (cryptodisk): New module.
3908 (luks): Likewise.
3909 (geli): Likewise.
3910 * grub-core/disk/AFSplitter.c: New file.
3911 * grub-core/disk/cryptodisk.c: Likewise.
3912 * grub-core/disk/geli.c: Likewise.
3913 * grub-core/disk/luks.c: Likewise.
3914 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
3915 grub_util_is_lvm.
3916 (grub_util_get_dm_abstraction): New function.
3917 (grub_util_follow_gpart_up): Likewise.
3918 (grub_util_get_geom_abstraction): Likewise.
3919 (grub_util_get_dev_abstraction): Use new functions.
3920 (grub_util_pull_device): Pull GELI and LUKS.
3921 (grub_util_get_grub_dev): Handle LUKS and GELI.
3922 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
3923 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
3924 (follow_geom_up): Removed.
3925 (grub_util_fd_seek): New function.
3926 (open_device): Use grub_util_fd_seek.
3927 (nread): Rename to ..
3928 (grub_util_fd_read): ... this. All users updated.
3929 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
3930 (grub_crypto_cbc_decrypt): Likewise.
3931 (grub_crypto_hmac_write): Likewise.
3932 (grub_crypto_hmac_buffer): Likewise.
3933 (grub_password_get): Extend to util.
3934 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
3935 New member modname.
3936 (gcry_md_spec) [GRUB_UTIL]: Likewise.
3937 * include/grub/cryptodisk.h: New file.
3938 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
3939 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
3940 LUKS and GELI.
3941 (grub_util_follow_gpart_up): New proto.
3942 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
3943 (grub_util_fd_read): Likewise.
3944 (grub_cryptodisk_cheat_mount): Likewise.
3945 (grub_util_cryptodisk_print_uuid): Likewise.
3946 (grub_util_get_fd_sectors): Likewise.
3947 * util/grub-fstest.c (mount_crypt): New var.
3948 (fstest): Mount crypto if requested.
3949 (options): New option -C.
3950 (argp_parser): Parse -C.
3951 (main): Init and fini gcry.
3952 * util/grub-install.in: Support cryptodisk install.
3953 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
3954 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
3955 cryptodisk.
3956 (prepare_grub_to_access_device): Likewise.
3957 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
3958 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
3959 (probe_cryptodisk_uuid): New function.
3960 (probe_abstraction): Likewise.
3961 (probe): Use new functions.
3962 * util/import_gcry.py: Create Makefile.utilgcry.def.
3963 Add modname member.
3964
3965 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3966
3967 Lazy device scanning.
3968
3969 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
3970 (grub-setup): Remove util/raid.c.
3971 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
3972 * grub-core/disk/lvm.c (scan_depth): New variable.
3973 (grub_lvm_iterate): Rescan if necessary.
3974 (find_lv): New function based on grub_lvm_open.
3975 (grub_lvm_open): Use find_lv. Rescan on error.
3976 (is_node_readable): New function.
3977 (is_lv_readable): Likewise.
3978 (grub_lvm_scan_device): Skip already found disks.
3979 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
3980 Stop if searched device is found and readable.
3981 * grub-core/disk/raid.c (inscnt): New variable.
3982 (scan_depth): Likewise.
3983 (scan_devices): New function based on grub_raid_register. Abort if
3984 looked for device is found.
3985 (grub_raid_iterate): Rescan if needed.
3986 (find_array): NEw function based on -grub_raid_open.
3987 (grub_raid_open): Use find_array and rescan.
3988 (insert_array): Set became_readable_at.
3989 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
3990 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
3991 New function.
3992 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
3993 (grub_util_pull_device): New function.
3994 (grub_util_get_grub_dev): Call grub_util_pull_device.
3995 * util/raid.c: Moved to ..
3996 * grub-core/kern/emu/raid.c: ... here.
3997 (grub_util_raid_getmembers): New parameter "bootable".
3998 All users updated. Support 1.x.
3999 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
4000 All users updated.
4001 * include/grub/disk.h (grub_disk_pull_t): New enum.
4002 (grub_disk_dev): Change iterate prototype.
4003 All users updated.
4004 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
4005 New proto.
4006 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
4007 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
4008 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
4009 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
4010 All users updated.
4011 * include/grub/util/raid.h: Removed.
4012
4013 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
4014
4015 * po/POTFILES.in: Regenerate.
4016
4017 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
4018
4019 Unify sparc init with other ieee1275.
4020
4021 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
4022 instead of kern/sparc64/ieee1275/init.c.
4023 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
4024 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
4025 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
4026 grub/machine/kernel.h.
4027 (grub_ieee1275_original_stack) [__sparc__]: New variable.
4028 (grub_claim_heap) [__sparc__]: Use sparc version.
4029 (grub_machine_init): Moved args parsing to
4030 (grub_parse_cmdline): ...this.
4031 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
4032 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
4033 New definition.
4034 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
4035
4036 Move BOOTP to separate file.
4037
4038 * grub-core/Makefile.core.def (net): Add net/bootp.c.
4039 * grub-core/net/net.c: Move all BOOTP functions to
4040 * grub-core/net/bootp.c: ... here.
4041
4042 Use frame interface on PXE.
4043
4044 * grub-core/Makefile.core.def (pxecmd): Removed.
4045 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
4046 * grub-core/commands/i386/pc/pxecmd.c: Removed.
4047 * grub-core/i386/pc/pxe.c: Moved from here ...
4048 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
4049 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
4050 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
4051
4052 EFI network support.
4053
4054 * grub-core/Makefile.core.def (efinet): New module.
4055 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
4056 here...
4057 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
4058 All users updated.
4059 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
4060 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
4061 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
4062 * grub-core/net/drivers/efi/efinet.c: New file.
4063 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
4064 (grub_efi_net_config): New extern var.
4065
4066 Various cleanups and bugfixes.
4067
4068 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
4069 error.
4070 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
4071 disk declared as partition.
4072 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
4073 leak on failure.
4074 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
4075 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
4076 (grub_debug_zalloc): Likewise.
4077 (grub_debug_realloc): Likewise.
4078 (grub_debug_memalign): Likewise.
4079 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
4080 Check that target is IPv4.
4081 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
4082 local-mac-address as fallback.
4083 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
4084 memory leak.
4085 * grub-core/net/ip.c (ipchksum): Rename to ...
4086 (grub_net_ip_chksum): ... this. All users updated.
4087 (grub_net_recv_ip_packets): Special handling for DHCP.
4088 * util/grub-mkimage.c (generate_image): Zero-out aout header.
4089
4090 Unify prefix handling
4091
4092 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
4093 (grub_machine_get_bootlocation): ... this.
4094 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
4095 (grub_machine_get_bootlocation): ... this.
4096 (grub_prefix): New variable.
4097 (prefix): Removed.
4098 (root_dev): New variable.
4099 (dir): Likewise.
4100 (main): Use new variables.
4101 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
4102 Revamped into ...
4103 (grub_machine_get_bootlocation): ... this.
4104 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
4105 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
4106 (grub_machine_get_bootlocation): ... this.
4107 (grub_machine_set_prefix): Removed.
4108 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
4109 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
4110 Revamped into ...
4111 (grub_machine_get_bootlocation): ... this.
4112 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
4113 (grub_set_prefix_and_root): ... this. All users updated.
4114 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
4115 Revamped into ...
4116 (grub_machine_get_bootlocation): ... this.
4117 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
4118 (grub_machine_get_bootlocation): New proto.
4119 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
4120
4121 Less intrusive and more reliable seek on network implementation.
4122
4123 * grub-core/kern/file.c (grub_file_net_seek): Removed.
4124 (grub_file_seek): Don't call grub_file_net_seek.
4125 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
4126 (grub_net_fs_read_real): .. this.
4127 (grub_net_seek_real): Use net->offset.
4128 (grub_net_fs_read): Seek if necessary.
4129
4130 Unify IEEE1275 netwotk config with the other platforms.
4131
4132 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
4133 New variable.
4134 (grub_machine_get_bootlocation): Support network.
4135 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
4136 Support type and device parsing.
4137 (grub_ieee1275_get_device_type): New function.
4138 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
4139 into ...
4140 (grub_ieee1275_net_config_real): ... this.
4141 (grub_ofnet_probecards): Removed.
4142 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
4143 * include/grub/ieee1275/ofnet.h: Removed.
4144 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
4145 extern var.
4146 (grub_ieee1275_get_device_type): New function.
4147
4148 Unify network device closing across platforms and make more robust.
4149
4150 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
4151 grub_grubnet_fini.
4152 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
4153 already.
4154 * grub-core/net/net.c (grub_net_network_level_interface_register):
4155 Update num_ifaces.
4156 (grub_net_card_unregister): Close all interfaces.
4157 (receive_packets): Don't poll if no iterfaces are registered.
4158 Open if necessary.
4159 (grub_net_fini_hw): New function.
4160 (grub_net_restore_hw): Likewise.
4161 (fini_hnd): New variable.
4162 (GRUB_MOD_INIT): Register preboot hook.
4163 (GRUB_MOD_FINI): Run and unregister preboot hook.
4164
4165 Poll network cards when idle.
4166
4167 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
4168 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
4169 * grub-core/net/net.c (receive_packets): Save last poll time.
4170 (grub_net_poll_cards_idle_real): New function.
4171 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
4172 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
4173 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
4174
4175 Rename ofnet interfaces.
4176
4177 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
4178 (grub_ofnet_findcards): Use ofnet_%s names.
4179
4180 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
4181
4182 Cleanup socket opening.
4183
4184 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
4185 (grub_net_fs_close): Likewise.
4186 (grub_net_fs_read_real): Use eof member.
4187 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
4188 (+grub_net_udp_close): New inline function.
4189
4190 * include/grub/net/tftp.h: Moved to the top of ...
4191 * grub-core/net/tftp.c: ... here.
4192 * include/grub/net/ip.h: Moved mostly to the top of ...
4193 * grub-core/net/ip.c: ... here.
4194 * include/grub/net/ethernet.h: Moved mostly to the top of ...
4195 * grub-core/net/ethernet.c: ... here.
4196
4197 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
4198
4199 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
4200 FS name.
4201
4202 * include/grub/net/ip.h (ipv4_ini): Removed.
4203 (ipv4_fini): Likewise.
4204
4205 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
4206 (grub_net_send_ip_packets): Likewise.
4207
4208 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4209
4210 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
4211 grub_read_cmos prototype.
4212
4213 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4214
4215 VGA text support in qemu-mips
4216
4217 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
4218 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
4219 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
4220 text.
4221 * grub-core/kern/i386/qemu/init.c: Renamed to ...
4222 * grub-core/kern/vga_init.c: ... this.
4223 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
4224 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
4225 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
4226 Adjust.
4227 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
4228 GRUB_MACHINE_PCI_IO_BASE.
4229
4230 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4231
4232 MIPS qemu flash support.
4233
4234 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
4235 magic.
4236 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
4237 (grub_machine_init): Probe memory if its size isn't known.
4238 * util/grub-mkimage.c (image_targets): Add flash targets.
4239 (generate_image): Handle flash targets.
4240
4241 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4242
4243 MIPS qemu at_keyboard support.
4244
4245 * gentpl.py (videoinkernel): Add qemu-mips.
4246 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
4247 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
4248 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
4249 modules.
4250 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
4251 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
4252 * grub-core/term/serial.c (grub_serial_register)
4253 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
4254
4255 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4256
4257 CMOS support on sparc.
4258
4259 * gentpl.py (cmos): Add powerpc and sparc.
4260 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
4261 powerpc and sparc.
4262 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
4263 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
4264 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
4265 grub_set_datetime_cmos.
4266 * grub-core/lib/ieee1275/cmos.c: New file.
4267 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
4268 (find_rtc): Set no_ieee1275_rtc on error.
4269 (grub_get_datetime): Call grub_get_datetime_cmos on error.
4270 (grub_set_datetime): Call grub_set_datetime_cmos on error.
4271 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
4272 fail. Move value to argument. All users updated
4273 (grub_cmos_write): Likewise.
4274 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
4275 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
4276 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
4277 grub_get_datetime_cmos and grub_set_datetime_cmos.
4278
4279 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
4280
4281 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
4282 sourcing grub-mkconfig_lib.
4283 * util/update-grub_lib.in: Likewise.
4284 * util/grub.d/00_header.in: Likewise.
4285 * util/grub.d/10_hurd.in: Likewise.
4286 * util/grub.d/10_kfreebsd.in: Likewise.
4287 * util/grub.d/10_linux.in: Likewise.
4288 * util/grub.d/10_netbsd.in: Likewise.
4289 * util/grub.d/10_windows.in: Likewise.
4290 * util/grub.d/20_linux_xen.in: Likewise.
4291 * util/grub.d/30_os-prober.in: Likewise.
4292
4293 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
4294
4295 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
4296 default_bg_color rather than black.
4297 (grub_gfxterm_fullscreen): Likewise.
4298 (grub_gfxterm_background_color_cmd): Save new background color in
4299 default_bg_color.
4300
4301 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4302
4303 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
4304
4305 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4306
4307 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
4308 mismerge.
4309
4310 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4311
4312 Chainloading on coreboot support.
4313
4314 * grub-core/Makefile.core.def (chain): Add coreboot.
4315 * grub-core/loader/i386/coreboot/chainloader.c: New file.
4316
4317 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4318
4319 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
4320 if it happens.
4321
4322 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4323
4324 Implement time command.
4325
4326 * grub-core/Makefile.core.def (time): New module.
4327 * grub-core/commands/time.c: New file.
4328 * grub-core/script/parser.y: Remove "time" keyword.
4329 * grub-core/script/yylex.l: Likewise.
4330
4331 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4332
4333 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
4334
4335 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4336
4337 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
4338 when handling leftovers.
4339
4340 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
4343 so that help2man doesn't fail.
4344
4345 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4346
4347 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
4348 type in pointers on sparc64.
4349 (get_card_packet): Likewise.
4350
4351 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
4352
4353 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
4354 with `*'.
4355 (grub_cmd_videoinfo): Fetch current video mode.
4356
4357 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4358
4359 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
4360 because of underlying system restrictions.
4361
4362 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4363
4364 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
4365 necessary.
4366
4367 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4368
4369 Coreboot video support.
4370
4371 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
4372 (vbe): Likewise.
4373 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
4374 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
4375 here ...
4376 * grub-core/kern/i386/int.S: ... here.
4377 * grub-core/video/i386/pc/vbe.c: Updated includes.
4378 * grub-core/video/i386/pc/vga.c: Likewise.
4379 * include/grub/i386/coreboot/memory.h
4380 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
4381 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
4382 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
4383 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
4384 Disable interrupts.
4385 * include/grub/i386/pc/vga.h: Removed. All users updated.
4386
4387 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4388
4389 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
4390 definitions for dprintf.
4391 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
4392
4393 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4394
4395 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
4396 prototype.
4397 (get_card_packet): Likewise.
4398
4399 2011-06-26 Yves Blusseau <blusseau@zetam.org>
4400
4401 Display the path of the file when file is not found
4402
4403 * grub-core/fs/fat.c: Display the filename when file is not found.
4404 * grub-core/fs/fshelp.c: Likewise.
4405 * grub-core/fs/hfs.c: Likewise.
4406 * grub-core/fs/jfs.c: Likewise.
4407 * grub-core/fs/minix.c: Likewise.
4408 * grub-core/fs/ufs.c: Likewise.
4409 * grub-core/fs/btrfs.c: Likewise.
4410 * grub-core/commands/i386/pc/play.c: Likewise.
4411
4412 2011-06-26 Szymon Janc <szymon@janc.net.pl>
4413
4414 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
4415 pointer checks before calling grub_free().
4416 * grub-core/commands/wildcard.c (match_devices): Likewise.
4417 * grub-core/commands/wildcard.c (match_files): Likewise.
4418 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
4419 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
4420 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
4421 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
4422 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
4423 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
4424 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
4425 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
4426 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
4427
4428 2011-06-25 Patrick <p55@mailinator.com>
4429
4430 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
4431
4432 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4433
4434 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
4435 (grub_pxe_send): Likewise.
4436 (GRUB_MOD_INIT): Fix types.
4437
4438 2011-06-24 Szymon Janc <szymon@janc.net.pl>
4439
4440 * grub-core/io/xzio.c: Fix code style issues
4441
4442 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4443 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
4444
4445 Network infrastructure.
4446 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
4447
4448 * include/grub/net/arp.h: New file.
4449 * include/grub/net/device.h: Likewise.
4450 * include/grub/net/ethernet.h: Likewise.
4451 * include/grub/net/ip.h: Likewise.
4452 * include/grub/net/netbuff.h: Likewise.
4453 * include/grub/net/tftp.h: Likewise.
4454 * include/grub/net/udp.h: Likewise.
4455 * include/grub/ieee1275/ofnet.h: Likewise.
4456 * include/grub/emu/export.h: Likewise.
4457 * include/grub/net.h: Likewise.
4458 * grub-core/net/arp.c: Likewise.
4459 * grub-core/net/ethernet.c: Likewise.
4460 * grub-core/net/ip.c: Likewise.
4461 * grub-core/net/udp.c: Likewise.
4462 * grub-core/net/tftp.c: Likewise.
4463 * grub-core/net/netbuff.c: Likewise.
4464 * grub-core/net/net.c: Likewise.
4465 * grub-core/net/drivers/emu/emunet.c: Likewise.
4466 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
4467 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
4468 export.h.
4469 * grub-core/Makefile.core.def (net): New module.
4470 (tftp): Likewise.
4471 (ofnet): Likewise.
4472 (emunet): Likewise.
4473 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
4474 network protocols.
4475 * grub-core/kern/device.c (grub_net_open) : New variable.
4476 (grub_device_open): Handle network device.
4477 (grub_device_close): Likewise.
4478 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
4479 (grub_grubnet_fini): Likewise.
4480 (grub_file_seek): Seek in network device.
4481 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
4482 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
4483 network root.
4484 (grub_machine_fini): Call grub_grubnet_fini.
4485 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
4486 network.
4487 (grub_ieee1275_get_aliasdevname): New function.
4488 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
4489 Add unofficial Solaris network info.
4490 (grub_multiboot_make_mbi): Likewise.
4491 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
4492 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
4493 * include/grub/device.h (grub_fs): Removed.
4494 * include/grub/err.h (grub_err_t): Add network-related values.
4495 * include/grub/i386/pc/pxe.h: Removed bootp parts.
4496 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
4497 (grub_ieee1275_get_aliasdevname): New proto.
4498 * include/grub/net.h: Rewritten.
4499
4500 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4501
4502 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
4503 names.
4504
4505 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4506
4507 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
4508 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
4509 it truncates the output.
4510 Reported by: Ximin Luo.
4511
4512 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4513
4514 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
4515
4516 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4517
4518 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
4519 partmap before abstraction.
4520
4521 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
4522
4523 * util/grub-mkconfig_lib.in: Add missing quotes.
4524
4525 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4526
4527 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
4528 old method if mountinfo would return /dev/root and /dev/root doesn't
4529 exist.
4530
4531 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4532
4533 ZFS zlib support
4534
4535 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
4536 (decomp_table): Add zlib entries.
4537 (zio_read): USe 8 bits for compression function rather than 3.
4538 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
4539
4540 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4541
4542 * grub-core/disk/ahci.c: Add missing license statements.
4543 * grub-core/fs/romfs.c: Likewise.
4544 * grub-core/lib/ia64/setjmp.S: Likewise.
4545 * grub-core/loader/i386/pc/freedos.c: Likewise.
4546 * grub-core/loader/ia64/efi/linux.c: Likewise.
4547 * grub-core/video/colors.c: Likewise.
4548 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
4549
4550 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4551
4552 AHCI support.
4553
4554 * grub-core/Makefile.core.def (ata_pthru): Removed.
4555 (ahci): New module.
4556 (pata): Likewise.
4557 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
4558 on unload.
4559 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
4560 readwrite.
4561 (grub_hdparm_do_check_powermode_cmd): Likewise.
4562 (grub_hdparm_do_smart_cmd): Likewise.
4563 (grub_hdparm_set_val_cmd): Likewise.
4564 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
4565 * grub-core/disk/ahci.c: New file.
4566 * grub-core/disk/ata.c: Factor out the low-level part into ...
4567 * grub-core/disk/pata.c: ... here.
4568 * grub-core/disk/ata_pthru.c: Contents moved to ...
4569 * grub-core/disk/pata.c: ... here.
4570 * grub-core/disk/scsi.c (grub_scsi_names): New array.
4571 (grub_scsi_iterate): Use grub_scsi_names.
4572 (grub_scsi_open): Likewise.
4573 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
4574 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
4575 (grub_ata_regs_t): New struct.
4576 (grub_disk_ata_pass_through_parms): Likewise.
4577 (grub_ata_device): Renamed to ...
4578 (grub_ata): ... this.
4579 (grub_ata_dev): New struct.
4580 Removed all low-level inline functions.
4581 * include/grub/scsi.h: Add PATA and AHCI subsystems.
4582 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
4583 iterate hooks and open. All users updated.
4584 * util/grub-install.in: Handle AHCI disk module.
4585
4586 2011-06-23 Szymon Janc <szymon@janc.net.pl>
4587
4588 Add support for DRI and RSTn markers in JPEG files.
4589
4590 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
4591 (JPEG_MARKER_RST0): Likewise.
4592 (JPEG_MARKER_RST1): Likewise.
4593 (JPEG_MARKER_RST2): Likewise.
4594 (JPEG_MARKER_RST3): Likewise.
4595 (JPEG_MARKER_RST4): Likewise.
4596 (JPEG_MARKER_RST5): Likewise.
4597 (JPEG_MARKER_RST6): Likewise.
4598 (JPEG_MARKER_RST7): Likewise.
4599 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
4600 (grub_jpeg_decode_dri): New function.
4601 (grub_jpeg_decode_sos): Move image data related part into
4602 grub_jpeg_decode_data function.
4603 (grub_jpeg_decode_data): New function.
4604 (grub_jpeg_reset): New function.
4605 (grub_jpeg_decode_jpeg): Handle new markers.
4606
4607 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4608
4609 * util/ieee1275/ofpath.c (check_sas): Close fd.
4610 (main): Free of_path.
4611 Reported by: David Volgyes <dvolgyes>.
4612
4613 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4614
4615 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
4616 Reported by: David Volgyes <dvolgyes>.
4617
4618 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4619
4620 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
4621 file after stat.
4622 Reported by: David Volgyes <dvolgyes>.
4623
4624 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4625
4626 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
4627
4628 Reported by: David Volgyes <dvolgyes>.
4629
4630 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4631
4632 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
4633 Prevent memory leak.
4634
4635 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4636
4637 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
4638 (main): Close file.
4639 Reported by: David Volgyes <dvolgyes>.
4640
4641 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4642
4643 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
4644 to continue if allocation is failed.
4645
4646 Reported by: David Volgyes <dvolgyes>.
4647
4648 2011-06-23 David Volgyes <dvolgyes>
4649
4650 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
4651 dereference.
4652
4653 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4654
4655 Fix spurious warning.
4656
4657 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
4658 (acorn_partition_map_find): Use .bin member.
4659
4660 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4661
4662 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
4663 /dev/root as a valid device.
4664
4665 2011-06-23 Jim Meyering <meyering@redhat.com>
4666
4667 Avoid NULL deref in grub_device_open.
4668
4669 * grub-core/kern/device.c (grub_device_open): Don't dereference
4670 a NULL pointer upon failed grub_env_get.
4671
4672 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4673
4674 Support non-512B sectors and agglomerate reads.
4675
4676 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
4677 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
4678 (disk_io_guid): Removed.
4679 (make_devices): Locate solely by BlockIO.
4680 (grub_efidisk_open): Fill log_sector_size and total_sectors.
4681 (grub_efidisk_read): Use read_blocks.
4682 (grub_efidisk_write): Use write_blocks.
4683 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
4684 log_sector_size.
4685 (get_safe_sectors): Handle non-512B sectors.
4686 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
4687 sectors.
4688 (grub_biosdisk_write): Handle non-512B sectors.
4689 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
4690 (grub_scsi_read): Remove special non-512B block handling (now handled
4691 one level up).
4692 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
4693 and do sanity checks.
4694 (grub_disk_adjust_range): Handle non-512B sectors.
4695 (transform_sector): New function.
4696 (grub_disk_read_small): Likewise.
4697 (grub_disk_read): Rewritten.
4698 (grub_disk_write): Handle non-512B sectors.
4699 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
4700 log_sector_size.
4701 (open_device): Use log_sector_size.
4702 (grub_util_biosdisk_read): Likewise.
4703 (grub_util_biosdisk_write): Likewise.
4704 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
4705 non-512B sectors.
4706 (pc_partition_map_embed): Likewise.
4707 * include/grub/disk.h (grub_disk): New field log_sector_size.
4708 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
4709 (GRUB_DISK_CACHE_BITS): Increased to 6.
4710 * util/grub-fstest.c (fstest): New command testload.
4711 (argp_parser): Likewise.
4712
4713 2011-06-16 Robert Millan <rmh@gnu.org>
4714
4715 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
4716 `ata' driver on kernel of FreeBSD 9.
4717
4718 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
4719 (get_ataraid_disk_name): New functions.
4720 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
4721 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
4722 get_ataraid_disk_name() and get_ada_disk_name().
4723
4724 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
4725
4726 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
4727 input format.
4728
4729 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
4730
4731 * docs/grub.texi (Obtaining and Building GRUB): Substitute
4732 `ftp.gnu.org' for `alpha.gnu.org'.
4733
4734 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
4735
4736 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
4737 partitions under /dev/disk/by-id/.
4738
4739 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
4740
4741 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
4742 after ten consecutive open failures. Scanning all the way up to
4743 10000 is excessive and can cause serious performance problems in
4744 some configurations.
4745 Fixes Ubuntu bug #787461.
4746
4747 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4748
4749 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
4750 opening new one.
4751
4752 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
4753 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 Don't stat devices unless we have to.
4756
4757 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
4758 dir == /dev/mapper.
4759 (grub_guess_root_device): Use already known os_dev if possible.
4760 * grub-core/kern/emu/hostdisk.c
4761 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
4762 if device is known to be a dm one.
4763
4764 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
4765
4766 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
4767 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
4768 Reported by: Pawel Tecza.
4769
4770 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
4771
4772 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
4773 (lsefisystab): Likewise.
4774 (lssal): Likewise.
4775 (lsefimmap): Likewise.
4776 (hdparm): Enable on qemu-mips.
4777 (setjmp): Add ia64 nodist.
4778 (serial): Simplify tags.
4779
4780 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4781
4782 * Makefile.util.def (grub-ofpathname): Install manual page.
4783
4784 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4785
4786 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
4787
4788 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4789
4790 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
4791
4792 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4793
4794 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
4795 into dprintf.
4796
4797 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4798
4799 Use full 64-bit division.
4800
4801 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
4802 (grub_divmod64): ... this.
4803 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
4804 version.
4805
4806 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4807
4808 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
4809 `source'.
4810
4811 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4812
4813 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
4814 to avoid accidents when debugging with 'sh -x'.
4815 * grub-core/gensyminfo.sh.in: Likewise.
4816 * tests/example_scripted_test.in: Likewise.
4817 * tests/grub_cmd_regexp.in: Likewise.
4818 * tests/grub_script_blanklines.in: Likewise.
4819 * tests/grub_script_dollar.in: Likewise.
4820 * tests/grub_script_expansion.in: Likewise.
4821 * tests/grub_script_final_semicolon.in: Likewise.
4822 * tests/partmap_test.in: Likewise.
4823 * tests/util/grub-shell-tester.in: Likewise.
4824 * tests/util/grub-shell.in: Likewise.
4825
4826 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4827
4828 Move gfxmenu color handling to video, so that gfxterm can use it
4829 too.
4830
4831 * grub-core/gfxmenu/named_colors.c: Move to ...
4832 * grub-core/video/colors.c: ... here. Rename
4833 grub_gui_get_named_color to grub_video_get_named_color.
4834 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
4835 * grub-core/video/colors.c (my_isxdigit): ... here.
4836 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
4837 Move to ...
4838 * grub-core/video/colors.c (parse_hex_color_component): ... here.
4839 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
4840 to ...
4841 * grub-core/video/colors.c (grub_video_parse_color): ... here.
4842
4843 * include/grub/gui.h (grub_gui_color_t): Move to ...
4844 * include/grub/video.h (grub_video_rgba_color_t): ... here.
4845 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
4846 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
4847 * include/grub/gui.h (grub_gui_map_color): Move to ...
4848 * include/grub/video.h (grub_video_map_rgba_color): ... here.
4849 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
4850 to ...
4851 * include/grub/video.h (grub_video_get_named_color): ... here.
4852 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
4853 * include/grub/video.h (grub_video_parse_color): ... here.
4854
4855 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
4856 video/colors.c.
4857 (gfxmenu): Remove gfxmenu/named_colors.c.
4858 (video) [videomodules]: Add video/colors.c.
4859
4860 Add a background_color command.
4861
4862 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
4863 function.
4864 (GRUB_MOD_INIT): Register background_color command.
4865 (GRUB_MOD_FINI): Unregister background_color command.
4866 (redraw_screen_rect): Allow blend/replace of text layer to be
4867 controlled independently from whether there is a background bitmap.
4868 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
4869 changing bitmap.
4870
4871 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4872
4873 Patch BPB in ntldr and chainloader --bpb.
4874
4875 * grub-core/fs/fat.c: Include grub/fat.h.
4876 (grub_fat_bpb): Moved to ...
4877 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
4878 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
4879 grub/ntfs.h.
4880 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
4881 Moved from here...
4882 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
4883 here.
4884 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
4885 New function.
4886 (grub_chainloader_cmd): Patch BPB if --bpb is given.
4887 (GRUB_MOD_INIT): Show --bpb.
4888 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
4889 * grub-core/normal/main.c (features): New variable.
4890 (GRUB_MOD_INIT): Set feature_* variables.
4891 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
4892 proto.
4893 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
4894
4895 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
4898 for cleanness.
4899
4900 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4901
4902 FreeDOS direct loading support.
4903
4904 * docs/grub.texi (Supported OS): Add FreeDOS.
4905 * grub-core/Makefile.core.def (freedos): New module.
4906 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
4907 variable.
4908 (grub_relocator16_boot): Handle %ebx.
4909 * grub-core/lib/i386/relocator16.S: Likewise.
4910 * grub-core/loader/i386/pc/freedos.c: New file.
4911
4912 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4913
4914 Long Linux command line support.
4915
4916 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
4917 (maximal_cmdline_size): New variable.
4918 (allocate_pages): Use maximal_cmdline_size.
4919 (grub_cmd_linux): Set and use maximal_cmdline_size.
4920 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
4921 (allocate_pages): Use maximal_cmdline_size.
4922 (grub_cmd_linux): Set and use maximal_cmdline_size.
4923 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
4924 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
4925 and cmdline_size.
4926
4927 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4928 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4929
4930 Improve devmapper support
4931
4932 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
4933 (grub_util_is_lvm): New function.
4934 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
4935 than lvm if not dmraid.
4936 Handle mapped md nodes.
4937 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
4938 (grub_util_device_is_mapped): ... this. Make always available. All users
4939 updated.
4940 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
4941 (convert_system_partition_to_system_disk): Handle lvm, mpath and
4942 dmraid nodes.
4943 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
4944
4945 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4946
4947 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
4948
4949 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
4950 * grub-core/modinfo.sh.in: New file.
4951 * grub-core/Makefile.core.def (modinfo.sh): New script.
4952 * util/grub-mknetdir.in: Use modinfo.sh.
4953 * util/grub-mkrescue.in: Likewise.
4954
4955 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4956
4957 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
4958 Fix potential usage of Elf32 instead of Elf64 when compiling on
4959 32-bit architecture. Add endianness macros while on it.
4960
4961 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 Use mipsel- rather than mips- in directories involving mipsel ports to
4964 allow both endiannesses coexist.
4965
4966 * configure.ac: proparate target_cpu=mipsel rather than resetting to
4967 mips. All conditions adjusted.
4968 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
4969 variable.
4970 * util/grub-install.in: Adjust conditions to take renaming into account.
4971 * util/grub-mkimage.c (image_targets): Likewise. New target
4972 mips-qemu_mips-elf for bigendian mips.
4973
4974 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4975
4976 Avoid unnecessary copying on MIPS.
4977
4978 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
4979 early if src == dest.
4980 * util/grub-mkimage.c (generate_image): Arange for src == dest if
4981 compression is none.
4982
4983 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4984
4985 Reduce memory footprint on SGI by putting modules before the kernel
4986 as opposed to after.
4987
4988 * grub-core/Makefile.core.def (kernel): Increase linking address.
4989 (none_decompress): Likewise.
4990 (xz_decompress): Likewise.
4991 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
4992 address.
4993 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
4994 layout change.
4995 (grub_arch_modules_addr): New function.
4996 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
4997 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
4998 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
4999 here.
5000 * grub-core/kern/mips/startup.S (total_size): Rename to ...
5001 (grub_total_modules_size): ... this. Make global.
5002 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
5003 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
5004 New definition.
5005 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
5006 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
5007 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
5008 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
5009 * util/grub-mkimage.c (image_target_desc): New flag
5010 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
5011 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
5012 (generate_image): Handle images with modules before kernel.
5013
5014 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5015
5016 Prevent potential loss of memory map by overwrite on qemu-mips.
5017
5018 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
5019 Save ram size in $s4.
5020 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
5021 All users changed to grub_arch_memsize.
5022 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
5023 Loongson.
5024 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
5025 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
5026 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
5027 external variable.
5028
5029 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
5030
5031 * .bzrignore: Remove grub-dumpbios.
5032
5033 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
5034
5035 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
5036 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
5037 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
5038 existing options which append).
5039 * docs/grub.texi (Simple configuration): Document new options.
5040 Reported by: Ian Jackson. Fixes Debian bug #617538.
5041
5042 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
5043
5044 * util/grub-fstest.c (cmd_cat): New function.
5045 (fstest): Handle CMD_CAT.
5046 (options): Add cat.
5047 (argp_parser): Handle cat.
5048
5049 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
5050
5051 * Makefile.util.def (grub-bin2h): Don't install.
5052 * docs/man/grub-bin2h.h2m: Remove.
5053
5054 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5055
5056 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
5057 place.
5058
5059 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5060
5061 Reenable qemu-mips port.
5062
5063 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
5064 Fix small arc bug while on it.
5065 * gentpl.py: Handle qemu_mips.
5066 * grub-core/Makefile.am: Likewise.
5067 * grub-core/Makefile.core.def: Likewise.
5068 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
5069 inappropriate includes.
5070 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
5071 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
5072 * grub-core/kern/main.c (grub_modules_get_end)
5073 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
5074 * grub-core/kern/mips/qemu-mips: Moved to ..
5075 * grub-core/kern/mips/qemu_mips: ... this.
5076 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
5077 (grub_machine_init): Call terminfo_init and serial_init.
5078 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
5079 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
5080 New variable.
5081 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
5082 parameter passing.
5083 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
5084 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
5085 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
5086 * include/grub/mips/qemu_mips/cmos.h: New file.
5087 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
5088 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
5089 Removed.
5090 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
5091 Use correct mips-style address.
5092 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
5093 (GRUB_TICKS_PER_SECOND): Removed.
5094 (grub_get_rtc): Likewise.
5095 (grub_cpu_idle): Likewise.
5096 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
5097 New definition.
5098 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
5099 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
5100 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
5101 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
5102 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
5103 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
5104 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
5105 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
5106
5107 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5108
5109 SGI ARCS port.
5110
5111 * Makefile.util.def (libgrubmods.a): Add dvh.c.
5112 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
5113 platforms.
5114 * configure.ac: New target mips-arc.
5115 * gentpl.py: Likewise.
5116 * grub-core/Makefile.am: Likewise.
5117 * grub-core/Makefile.core.def: Likewise.
5118 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
5119 (none_decompress): Likewise.
5120 (lsdev): New module.
5121 (datetime): Use lib/arc/datetime.c on ARC.
5122 (part_dvh): New module.
5123 * grub-core/commands/arc/lsdev.c: New file.
5124 * grub-core/disk/arc/arcdisk.c: Likewise.
5125 * grub-core/kern/mips/arc/init.c: Likewise.
5126 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
5127 aligned addresses.
5128 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
5129 support.
5130 (grub_arch_dl_relocate_symbols): Likewise.
5131 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
5132 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
5133 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
5134 platforms.
5135 * grub-core/lib/arc/datetime.c: New file.
5136 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
5137 pci.h on non-loongson.
5138 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
5139 (grub_linux_boot): Set unused registers to 0.
5140 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
5141 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
5142 * grub-core/mmap/mips/uppermem.c: ...here.
5143 * grub-core/partmap/dvh.c: New file.
5144 * grub-core/term/arc/console.c: Likewise.
5145 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
5146 (grub_terminfo_set_current): Add terminal "arc".
5147 (grub_terminfo_readkey): Support ARC sequences.
5148 * include/grub/arc/arc.h: New file.
5149 * include/grub/arc/console.h: Likewise.
5150 * include/grub/disk.h (grub_disk_dev_id): Add
5151 GRUB_DISK_DEVICE_ARCDISK_ID.
5152 * include/grub/mips/arc/kernel.h: New file.
5153 * include/grub/mips/arc/memory.h: Likewise.
5154 * include/grub/mips/arc/time.h: Likewise.
5155 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
5156 * include/grub/mips/kernel.h (grub_halt): ... here.
5157 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
5158 here...
5159 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
5160 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
5161 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
5162 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
5163 proto.
5164 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
5165 from here ...
5166 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
5167 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
5168 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
5169 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
5170 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
5171 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
5172 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
5173 (grub_phys_addr_t): Moved from here ...
5174 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
5175 (grub_vtop): Moved from here ...
5176 * include/grub/mips/memory.h (grub_vtop): ... here.
5177 (grub_map_memory): Moved from here ...
5178 * include/grub/mips/memory.h (grub_map_memory): ... here.
5179 (grub_unmap_memory): Moved from here ...
5180 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
5181 (grub_machine_mmap_iterate): Moved from here ...
5182 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
5183 (grub_mmap_get_lower): Moved from here ...
5184 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
5185 (grub_mmap_get_upper): Moved from here ...
5186 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
5187 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
5188 here ...
5189 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
5190 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
5191 here ...
5192 * include/grub/mips/time.h (grub_get_rtc): ... here.
5193 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
5194 here ...
5195 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
5196 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
5197 here ...
5198 * include/grub/mips/time.h (grub_cpu_idle): ... here.
5199 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
5200 definition.
5201 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
5202 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
5203 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
5204 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
5205 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
5206 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
5207 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
5208 (GRUB_MACHINE_LINK_ADDR): Likewise.
5209 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
5210 to 6.
5211 * util/grub-install.in: Run dvhtool on ARC.
5212 * util/grub-mkimage.c (image_targets): Add mips-arc.
5213 (generate_image): Handle ECOFF output for mips-arc.
5214
5215 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5216
5217 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
5218 blocks.
5219
5220 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5221
5222 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
5223 after enabling port.
5224
5225 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5226
5227 Skip incorrect USB devices.
5228
5229 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
5230 configcnt == 0.
5231 * include/grub/usb.h (grub_usb_err_t): New enum value
5232 GRUB_USB_ERR_BADDEVICE.
5233
5234 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5235
5236 Fuloong video init support.
5237
5238 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
5239 well.
5240 (grub_vga_read_arx): New function.
5241 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
5242 definition.
5243 (framebuffer): New members io, mmioptr and mmiobase.
5244 (read_sis_cmd): New function.
5245 (write_sis_cmd): Likewise.
5246 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
5247 rather than 640x400.
5248 * grub-core/video/sis315_init.c: New file.
5249
5250 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5251
5252 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
5253 non-loongson.
5254 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
5255 to grub_dl_register_symbol.
5256
5257 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5258
5259 Fix compilation errors.
5260
5261 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
5262 potentially unused.
5263 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
5264 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
5265 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
5266 to loongson machines.
5267
5268 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5269
5270 Several FS mtime support.
5271
5272 * grub-core/fs/affs.c (grub_affs_time): New struct.
5273 (grub_affs_file): New field mtime.
5274 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
5275 type. Removed 'size'. New field 'di'. All users updated.
5276 (grub_affs_mount): Simplify checsum checking.
5277 (grub_affs_iterate_dir): New helper grub_affs_create_node.
5278 (grub_affs_dir): Handle mtime.
5279 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
5280 (grub_cpio_dir): Likewise.
5281 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
5282 (grub_hfs_filerec): New field mtime.
5283 (grub_hfs_dir): Handle mtime.
5284 (grub_hfs_mtime): New function.
5285 (grub_hfs_fs): Register grub_hfs_mtime.
5286 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
5287 (grub_iso9660_dir): New field mtime.
5288 (grub_fshelp_node): New field dirent.
5289 (iso9660_to_unixtime): New function.
5290 (iso9660_to_unixtime2): Likewise.
5291 (grub_iso9660_read_symlink): Use node->dirent.
5292 (grub_iso9660_iterate_dir): Likewise.
5293 (grub_iso9660_dir): Set mtime.
5294 (grub_iso9660_mtime): New function.
5295 (grub_iso9660_fs): Register grub_iso9660_mtime.
5296 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
5297 (grub_jfs_inode): New fields atime, ctime and mtime.
5298 (grub_jfs_dir): Set mtime.
5299 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
5300 * grub-core/fs/ntfs.c (list_file): Set mtime.
5301 (grub_ntfs_dir): Likewise.
5302 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
5303 (grub_reiserfs_iterate_dir): Set mtime.
5304 (grub_reiserfs_dir): Likewise.
5305 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
5306 (grub_fshelp_node): Likewise.
5307 (grub_sfs_iterate_dir): Set mtime.
5308 (grub_sfs_dir): Likewise.
5309 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
5310 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
5311 (grub_xfs_inode): New fields atime, mtime, ctime.
5312 (grub_xfs_dir): Set mtime.
5313 * include/grub/datetime.h (grub_datetime2unixtime): New function.
5314 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
5315 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
5316
5317 Support UDF symlinks.
5318
5319 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
5320 (grub_ufs_read_symlink): New function. All users updated.
5321
5322 Check amiga partmap checksum.
5323
5324 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
5325 (grub_amiga_partition): Likewise.
5326 (amiga_partition_map_checksum): New function.
5327 (amiga_partition_map_iterate): Check checksum.
5328
5329 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5330
5331 ROMFS support.
5332
5333 * Makefile.util.def (libgrubmods.a): Add romfs.
5334 * grub-core/Makefile.core.def (romfs): New module.
5335 * grub-core/fs/romfs.c: New file.
5336
5337 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5338
5339 Squashfs v4 support.
5340
5341 * Makefile.util.def (libgrubmods.a): Add squash4.
5342 * grub-core/Makefile.core.def (squash4): New module.
5343 * grub-core/fs/squash4.c: New file.
5344 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
5345 disk_input_start, disk_input.
5346 (get_byte): Handle disk_input.
5347 (grub_zlib_disk_read): New function.
5348 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
5349
5350 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5351 2011-05-15 Feiran Zheng <famcool@gmail.com>
5352
5353 * Makefile.util.def (libgrubmods.a): Add minix3.
5354 * grub-core/Makefile.core.def (minix3): New module.
5355 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
5356 (GRUB_MINIX_BSIZE): Removed.
5357 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
5358 (grub_minix_ino_t): New type.
5359 (grub_minix_le_to_cpu_ino): New macro.
5360 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
5361 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
5362 (grub_minix_data): New field block_size.
5363 (grub_minix_read_file): Handle 64-bit correctly.
5364 * grub-core/fs/minix3.c: New file.
5365
5366 2011-05-15 Tristan Gingold <gingold@free.fr>
5367 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
5368 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5369
5370 IA64 support.
5371
5372 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
5373 * configure.ac: Add ia64-efi target.
5374 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
5375 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
5376 * gentpl.py: Add ia64_efi platform.
5377 Rename x86_efi to efi and Add ia64-efi. All users updated.
5378 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
5379 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
5380 Remove kern/generic/rtc_get_time_ms.c on EFI.
5381 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
5382 kern/ia64/dl_helper.c on ia64-efi.
5383 Add kern/emu/cache.c on emu.
5384 (linux): Use on loader/ia64/efi/linux.c on ia64.
5385 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
5386 whether symbol is a function.
5387 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
5388 (grub_symbol): New field 'isfunc'.
5389 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
5390 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
5391 (grub_dl_load_segments): Place all sections into the same region.
5392 [__ia64__]: Create trampolines and got.
5393 [GRUB_MACHINE_EMU]: Call mprotect.
5394 (grub_dl_resolve_symbols): Resolve symbol type as well.
5395 [__ia64__]: Create function descriptors.
5396 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
5397 (grub_rtc_get_time_ms): ... this. Expressions simplified.
5398 (grub_get_rtc): New function.
5399 * grub-core/kern/emu/cache.c [__ia64__]: New file.
5400 * grub-core/kern/emu/cache.S: Renamed to ...
5401 * grub-core/kern/emu/cache_s.S: ... this.
5402 [__ia64__]: Add a nop.
5403 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
5404 [__ia64__]: New function.
5405 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
5406 * grub-core/kern/ia64/dl.c: New file.
5407 * grub-core/kern/ia64/dl_helper.c: Likewise.
5408 * grub-core/kern/ia64/efi/init.c: New file.
5409 * grub-core/kern/ia64/efi/startup.S: Likewise.
5410 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
5411 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
5412 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
5413 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
5414 * grub-core/loader/ia64/efi/linux.c: New file.
5415 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
5416 (GRUB_MOD_DEP): Likewise.
5417 (grub_dl) [__ia64__]: New fields got and tramp.
5418 (grub_dl): New field 'base'.
5419 (grub_dl_register_symbol): New argument isfunc. All users updated.
5420 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
5421 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
5422 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
5423 (grub_ia64_dl_get_tramp_got_size): New proto.
5424 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
5425 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
5426 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
5427 * include/grub/efi/api.h: Skip call wrappers on ia64.
5428 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
5429 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
5430 * include/grub/elf.h (ELF_ST_INFO): New definition.
5431 * include/grub/ia64/efi/kernel.h: New file.
5432 * include/grub/ia64/efi/memory.h: Likewise.
5433 * include/grub/ia64/efi/time.h: Likewise.
5434 * include/grub/ia64/kernel.h: Likewise.
5435 * include/grub/ia64/setjmp.h: Likewise (from glibc).
5436 * include/grub/ia64/time.h: New file.
5437 * include/grub/ia64/types.h: Likewise.
5438 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
5439 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
5440 New protos.
5441 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
5442 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
5443 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
5444 * util/grub-mkimage.c (image_target_desc): New field pe_target.
5445 All users updated.
5446 (EFI64_HEADER_SIZE): New definition. All users updated.
5447 (image_targets): Add ia64-efi.
5448 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
5449 jumpers_addr. All users updated.
5450 Create function descriptors.
5451 (count_funcs): New function.
5452 (unaligned_uint32): New struct.
5453 (MASK20): New definition.
5454 (MASK19): Likewise.
5455 (MASKF21): Likewise.
5456 (add_value_to_slot_20b): New function.
5457 (add_value_to_slot_21_real): Likewise.
5458 (add_value_to_slot_21): Likewise.
5459 (ia64_kernel_trampoline): New struct.
5460 (nopm): New variable.
5461 (jump): Likewise.
5462 (make_trampoline): New function.
5463 (relocate_addresses): Handle ia64.
5464 (make_reloc_section): Likewise.
5465 (load_image): Likewise.
5466
5467 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5468
5469 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
5470 warning. Move variables before code while on it.
5471
5472 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5473
5474 Fuloong support.
5475
5476 * configure.ac: Rename yeeloong platform to loongson. All users updated.
5477 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
5478 * grub-core/boot/mips/loongson/fuloong.S: New file.
5479 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
5480 Explicitly init CS5536.
5481 [FULOONG]: Don't use serial until CS5536 is available.
5482 Set GPIO based on dumps.
5483 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
5484 [FULOONG]: Handle GPIO and memory controller differences.
5485 Parse machine type in $a2.
5486 * grub-core/boot/mips/startup_raw.S: Determine and save the
5487 architecture.
5488 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
5489 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
5490 init on architecture type.
5491 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
5492 SIS315E. Don't init at_keyboard on fuloong.
5493 (grub_halt): Support Fuloong.
5494 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
5495 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
5496 (loongson_machtypes): New array.
5497 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
5498 type.
5499 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
5500 config. All users updated. Handle CS5536 serial.
5501 * grub-core/term/serial.c (grub_serial_register): Conditionalise
5502 default port on machine type. Register serial as inactive.
5503 * grub-core/video/sis315pro.c: New file.
5504 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
5505 definition.
5506 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
5507 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
5508 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
5509 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
5510 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
5511 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
5512 to ...
5513 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
5514 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
5515 definition.
5516 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
5517 (grub_arch_machine): New extern var.
5518 * include/grub/mips/loongson/serial.h
5519 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
5520 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
5521 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
5522 (GRUB_MACHINE_SERIAL_PORT0): ... this.
5523 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
5524 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
5525 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
5526 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
5527 * include/grub/term.h (grub_term_register_input_inactive): New inline
5528 function.
5529 (grub_term_register_output_inactive): Likewise.
5530 * include/grub/video.h (grub_video_driver_id): New value
5531 GRUB_VIDEO_DRIVER_SIS315PRO.
5532 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
5533 New field "names". All users updated.
5534 New field value IMAGE_FULOONG_FLASH.
5535 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
5536
5537 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
5538
5539 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
5540 and add some clarification.
5541
5542 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5543
5544 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
5545 platforms if kernel is compressed.
5546
5547 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5548
5549 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
5550 unused modules since currently referrence counter isn't reliable and
5551 there isn't much memory to recover there anyway.
5552
5553 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5554
5555 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
5556 rather than resetting it to allow modules to reference themselves
5557 in init.
5558
5559 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5560
5561 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
5562 counter on dependencies since grub_dl_unref already handles this.
5563
5564 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5565
5566 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
5567 on error if not already done.
5568
5569 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5570
5571 Fix few potential memory misusage.
5572
5573 * grub-core/font/font.c (load_font_index): Don't free char_index to
5574 avoid double free.
5575 (grub_font_load): Zero-fill font at alloc for safety.
5576 Close file on error.
5577 (free_font): Free bmp_idx.
5578
5579 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5580
5581 * docs/grub.texi (Installation): Fix several outdated claims.
5582
5583 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5584
5585 Handle module_license on windows.
5586
5587 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
5588 sections shifted.
5589 (insert_string): Make argument const char * instead of char *.
5590 (write_section_data): Handle long section names.
5591 Handle module_license.
5592
5593 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5594
5595 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
5596 handle class-free menuentries.
5597 (grub_normal_add_menu_entry): Add a check to be sure.
5598
5599 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5600
5601 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
5602 PgUp and PgDown.
5603
5604 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5605
5606 * configure.ac: Bump version to 1.99.
5607
5608 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5609
5610 Give ATA device a bit more time on first try in order to allow disks
5611 to spin up.
5612
5613 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
5614 if dev->present is 1. Reset dev->present on failure.
5615 (grub_ata_device_initialize): Set dev->present to 1.
5616 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
5617 (grub_ata_device): New member 'present'.
5618
5619 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5620
5621 * util/grub-mkimage.c (generate_image): Update hash.
5622
5623 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5624
5625 Flush caches on DMA memory.
5626
5627 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
5628 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
5629 (grub_dma_free): Likewise.
5630 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
5631
5632 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5633
5634 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
5635 to avoid asm treating ld and sd as macros.
5636
5637 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5638
5639 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
5640 decompressor.
5641
5642 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5643
5644 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
5645 grub_decompress_core since later would fail if grub_decompress_core
5646 is too far.
5647
5648 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5649
5650 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
5651 R_MIPS_JALR since it's used by newer compiler.
5652
5653 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5654
5655 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
5656
5657 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5658
5659 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
5660 file_path to 0 for surety.
5661 (grub_chainloader_boot): Set exit_data to NULL.
5662 Unset the loader once done.
5663 (grub_cmd_chainloader): Fix confusing error message if file is empty.
5664
5665 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5666
5667 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
5668 unknown key into a dprintf.
5669
5670 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5671
5672 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
5673 on first non-existant partition.
5674
5675 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5676
5677 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
5678 openning fails.
5679 Reported by: Mark Korenberg.
5680
5681 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5682
5683 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
5684 overflow.
5685
5686 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5687
5688 * util/grub-mkimage.c (main): Explicitely flush and sync the output
5689 before closing to ensure that it will be readable by grub-setup.
5690
5691 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5692
5693 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
5694 (devpath_1): Use MAKE_PIWG_PATH.
5695 (devpath_2): Likewise.
5696 (devpath_3): Likewise.
5697 (devpath_4): Likewise.
5698 (devpath_5): Likewise.
5699 (devpath_6): Likewise.
5700
5701 The appleldr.mod was checked that to be binary identical to previous
5702 version.
5703
5704 2011-05-05 Zach <mikezackles>
5705
5706 Support 2010 Macbooks.
5707
5708 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
5709 (devs): Add devpath_6.
5710
5711 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5712
5713 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
5714 /dev/random. /dev/urandom is good enough for our purposes (salting).
5715
5716 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5717
5718 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
5719
5720 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5721
5722 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
5723 hexadecimal.
5724
5725 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5726
5727 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
5728 and not 0 on failure.
5729
5730 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
5731
5732 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
5733 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
5734 disk; otherwise grub_fs_probe will not fall back to the next
5735 filesystem.
5736 (grub_pxefs_open): Likewise, for consistency.
5737 Reported and tested by: Ezekiel Grave.
5738
5739 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
5740
5741 * tests/partmap_test.in: Don't hardcode path to parted.
5742 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
5743
5744 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
5745
5746 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
5747 of `ls' to find out which devices are available.
5748
5749 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5750
5751 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
5752 than source address for efi mmap buffer.
5753
5754 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5755
5756 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
5757 wrong action on non-detecting the magic.
5758
5759 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5760
5761 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
5762 already supplied by another part of the module (fixes compilation on
5763 FreeBSD).
5764
5765 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5766
5767 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
5768 match the one used by mdadm.
5769
5770 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5771
5772 * po/README: Add instructions for creating po/LINGUAS.
5773
5774 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5775
5776 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
5777 #551428.
5778
5779 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
5780 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
5781 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
5782 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
5783 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
5784 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
5785 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
5786 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
5787 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
5788 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
5789 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
5790 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
5791 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
5792 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
5793 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
5794 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
5795 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
5796 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
5797 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
5798 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
5799 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
5800 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
5801
5802 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5803
5804 * grub-core/kern/emu/getroot.c
5805 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
5806 test that was incorrectly reintroduced in r3214.
5807 Reported by: Ian Dall. Fixes Savannah bug #33133.
5808
5809 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5810
5811 Fix stack pointer handling in 16-bit relocator.
5812
5813 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
5814 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
5815 Fixes Ubuntu bug #683904.
5816
5817 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5818
5819 * configure.ac: Bump version to 1.99~rc2.
5820
5821 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5822
5823 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
5824 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
5825 * grub-core/lib/x86_64/setjmp.S: Likewise.
5826 * grub-core/lib/mips/setjmp.S: Likewise.
5827 * grub-core/lib/powerpc/setjmp.S: Likewise.
5828 * grub-core/lib/sparc64/setjmp.S: Likewise.
5829
5830 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5831
5832 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
5833 * grub-core/lib/efi/datetime.c: Likewise.
5834
5835 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5836
5837 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
5838 New function.
5839 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
5840 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
5841 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
5842
5843 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5844
5845 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
5846 bitmap.
5847 (grub_gfxterm_term_init): Likewise.
5848
5849 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5850
5851 Take into account the decorations the computing menu entry width.
5852
5853 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
5854 (grub_gfxmenu_create_box): Register get_border_width.
5855 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
5856 if available.
5857 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
5858 get_border_width.
5859
5860 2011-04-18 Endres Puschner <code@e7p.de>
5861
5862 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
5863 Don't skip first class.
5864
5865 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5866
5867 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
5868 chunks.
5869 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
5870
5871 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5872
5873 Complete 64-bit division support.
5874
5875 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
5876 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
5877 * include/grub/misc.h (grub_divmod64): Rename to ...
5878 (grub_divmod64_full): ... this.
5879 (grub_divmod64): New inline function.
5880
5881 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5882
5883 * util/grub-mkimage.c (generate_image): Add forgotten comma.
5884
5885 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5886
5887 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
5888 performing the necessary test.
5889
5890 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5891
5892 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
5893 (kfreebsd.elf): Likewise.
5894 (pc-chainloader.elf): Likewise.
5895 (ntldr.elf): Likewise.
5896
5897 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5898
5899 Identify RAID by its UUID rather than (guessed) name.
5900
5901 * grub-core/disk/raid.c (ascii2hex): New function.
5902 (grub_raid_open): Accept mduuid/%s specification.
5903 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
5904 (get_mdadm_uuid): ... this.
5905 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
5906
5907 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
5908
5909 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
5910 to negative size.
5911
5912 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
5913
5914 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
5915 btrfs subvolume.
5916 * util/grub.d/20_linux_xen.in: Likewise.
5917
5918 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
5919
5920 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
5921 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
5922
5923 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
5924 Build a list of relevant visible mounts using the mnt_id and
5925 parent_mnt_id fields, and then scan that list at the end.
5926
5927 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
5928
5929 * docs/grub.texi (normal): New section.
5930 (normal_exit): New section.
5931 (Embedded configuration): Add reference to normal.
5932 (GRUB only offers a rescue shell): Likewise.
5933 * docs/grub-dev.texi (Error Handling): Fix typo.
5934
5935 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
5936
5937 * NEWS: Drop obsolete entry about probe-only btrfs support.
5938
5939 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
5940
5941 * util/import_gcry.py: Fix typo.
5942
5943 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5944
5945 * NEWS: Add btrfs support.
5946
5947 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5948 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
5949
5950 BtrFS support. Written by me (Vladimir) with important bugfixes and
5951 even more important testing by Colin.
5952
5953 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
5954 * grub-core/Makefile.core.def (btrfs): Add crc.c.
5955 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
5956 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
5957 mem_input_off and mem_input. All users updated to accept in-RAM input.
5958 (gzio_seek): New function.
5959 (test_zlib_header): Likewise.
5960 (grub_gzio_read): Likewise.
5961 (grub_zlib_decompress): Likewise.
5962 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
5963 Accept partial and non-virtual mounts.
5964 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
5965 avoid receiving /dev/dm-X as device.
5966 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
5967 Handle bind and partial mounts.
5968 * grub-core/lib/crc.c: New file.
5969 * include/grub/deflate.h: Likewise.
5970 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
5971 proto.
5972 * include/grub/lib/crc.h: New file.
5973
5974 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5975
5976 Implement automatic module license checking according to new GNU
5977 guidelines.
5978
5979 * grub-core/kern/dl.c (grub_dl_check_license): New function.
5980 (grub_dl_load_core): Use grub_dl_check_license.
5981 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
5982 (GRUB_MOD_LICENSE): Likewise.
5983 (GRUB_MOD_DUAL_LICENSE): Likewise.
5984 All modules updated.
5985
5986 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
5987
5988 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
5989 reserved_first_sector to 1. btrfs reserves plenty of space for boot
5990 loaders.
5991 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
5992
5993 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5994
5995 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
5996
5997 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5998
5999 * util/grub-fstest.c (read_file): Report GRUB error if file opening
6000 failed.
6001
6002 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6003
6004 * grub-core/kern/file.c (grub_file_open): Don't take into account the
6005 parenthesis in the middle of the filename.
6006
6007 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6008
6009 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
6010 rather than trying to put initrd way too high.
6011 Reported by: Ryan Lortie <desrt@desrt.ca>
6012
6013 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
6016 improperly removed string.
6017
6018 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6019
6020 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
6021 is_disk.
6022 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
6023 (open_device) Likewise.
6024 (grub_util_biosdisk_close): Likewise.
6025 Reported by: Mark Korenberg.
6026
6027 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
6028
6029 * util/grub-mkconfig_lib.in: Add missing quotes.
6030
6031 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
6032
6033 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
6034 is NULL.
6035
6036 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6037
6038 Dynamically count the number of lines for the lower banner.
6039
6040 * grub-core/normal/menu_entry.c (per_term_screen): New member
6041 num_entries.
6042 (print_down): Use num_entries.
6043 (update_screen): Likewise.
6044 (grub_menu_entry_run): Set num_entries.
6045 * grub-core/normal/menu_text.c (menu_viewer_data): New member
6046 num_entries.
6047 (grub_print_message_indented): Move real part to ...
6048 (grub_print_message_indented_real): ... here. Additional argument
6049 dry_run.
6050 (draw_border): Additional argument num_entries.
6051 (print_message): Additional argument dry_run.
6052 (print_entries): Receive menu viewer data.
6053 (grub_menu_init_page): New argment num_entries.
6054 (menu_text_set_chosen_entry): Use num_entries.
6055 (grub_menu_try_text): Likewise.
6056 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
6057 All users updated.
6058 (grub_ucs4_count_lines): New function.
6059 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
6060 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
6061 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
6062 (grub_term_border_height): Likewise.
6063 (grub_term_num_entries): Likewise.
6064
6065 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6066
6067 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
6068 Remove now unused string.
6069
6070 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
6071
6072 * docs/grub-dev.texi (Finding your way around): Update for 1.99
6073 build system.
6074 (Getting started): GRUB is developed in Bazaar now, not Subversion.
6075
6076 (Comment): Fix typo.
6077 (Getting started): General copy-editing.
6078 (Typical Development Experience): Likewise.
6079 (Error Handling): Likewise.
6080 (Video API): Likewise.
6081
6082 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
6083
6084 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
6085 throughout.
6086
6087 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6088
6089 * util/grub-mkimage.c (main): Handle special naming of yeeloong
6090 directory.
6091
6092 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
6093
6094 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
6095 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
6096 "development".
6097
6098 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6099
6100 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
6101 grub_strcpy since the lines aren't necessarily 0-terminated.
6102
6103 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6104
6105 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
6106 root on legacy.
6107
6108 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 * grub-core/commands/probe.c (options): Argument to set isn't optional.
6111 (GRUB_MOD_INIT): DEVICE isn't optional.
6112
6113 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6114
6115 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
6116 word on new line if it's too long anyway. Fixes a hang.
6117
6118 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6119
6120 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
6121 const.
6122 * util/grub-setup.c (main): Reuse md device name if available.
6123 * util/raid.c (grub_util_raid_getmembers): Receive device name and
6124 not GRUB name as argument.
6125 Based on patch by: Florian Wagner <fwagner>.
6126
6127 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6128
6129 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
6130 Place mbi on low memory for better compatibility.
6131
6132 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6133
6134 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
6135
6136 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6137 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
6138
6139 * autogen.sh: Ensure that collate and ctype locale is C.
6140 * conf/Makefile.common: Likewise.
6141
6142 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6143
6144 * grub-core/normal/menu.c: Add missing include.
6145
6146 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6147
6148 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
6149
6150 2011-04-08 Martin Zuther <mzuther@mzuther.de>
6151
6152 * util/grub-mkconfig.in: Ignore emacsen backup.
6153
6154 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6155
6156 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
6157 on open.
6158 (grub_util_biosdisk_close): Likewise.
6159
6160 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6161
6162 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
6163 const attribute and use grub_isdigit.
6164
6165 2011-04-06 Andrey <dev_null@ukr.net>
6166
6167 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
6168 gcc warning.
6169
6170 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6171
6172 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
6173 useful grub_dprintf's.
6174
6175 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6176
6177 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
6178
6179 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6180
6181 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
6182
6183 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6184
6185 Output errors if theme loading failed.
6186
6187 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
6188 grub_gfxterm_fullscreen on error paths to ...
6189 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
6190 theme loading error.
6191
6192 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6193
6194 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
6195 space for older compilers.
6196 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6197
6198 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6199
6200 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
6201 and report them as not RAID members since they are useless for GRUB.
6202 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6203
6204 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6205
6206 Increase LVM implementation robustness in order not to crash on
6207 configurations like pvmove. Previously code assumed that in some places
6208 only lvs or only pvs are used whereas it seems that they are used
6209 interchangeably.
6210
6211 * grub-core/disk/lvm.c (read_node): New function.
6212 (read_lv): Use read_node.
6213 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
6214 Match volumes only at the end when all lvs are found. Take both
6215 pvs (first) and lvs (second) into account.
6216 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
6217 mirror_* into node_*. All users updated.
6218 (grub_lvm_stripe): Merge this ...
6219 (grub_lvm_mirror): ... and this ...
6220 (grub_lvm_node): ... into this. All users updated.
6221
6222 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6223
6224 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
6225 of function to allow further scanning for LVMs.
6226
6227 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6228
6229 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
6230 on failed seek as it breaks open fd reusage.
6231
6232 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6233
6234 * util/grub-install.in: Add a recommendation to use --recheck before
6235 reporting bugs.
6236
6237 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6238
6239 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
6240 are obtained.
6241
6242 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6243
6244 GRUB developper manual based on existing Internals section and
6245 contributions by the various authors with active copyright assignment.
6246
6247 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
6248 * docs/font_char_metrics.png: New file.
6249 * docs/font_char_metrics.txt: Likewise.
6250 * docs/grub-dev.texi: Likewise.
6251 * docs/grub.texi (Internals): Move from here ...
6252 * docs/grub-dev.texi: ... here.
6253
6254 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
6255
6256 Store the loopback device as data on loopback grub_disk structures,
6257 rather than the file it points to. This fixes use of freed memory
6258 if an existing loopback device is replaced.
6259
6260 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
6261 disk->data, not dev->file.
6262 (grub_loopback_read): Adjust file assignment to match.
6263 Fixes Ubuntu bug #742967.
6264
6265 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
6266
6267 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
6268 when replacing an existing device.
6269
6270 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6271
6272 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
6273 memory corruptions.
6274
6275 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
6276 unsigned.
6277 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
6278 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
6279 (grub_jfs_read_inode): Likewise.
6280 (grub_jfs_opendir): Likewise. Remove now useless casts.
6281 (grub_jfs_getent): Likewise.
6282 Make ino a grub_uint32_t rather than int.
6283 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
6284 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
6285 division and module with bit operations.
6286 (grub_jfs_find_file): Make ino a grub_uint32_t.
6287 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
6288
6289 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
6290
6291 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
6292 warning. (This was in fact always initialised before use, but GCC
6293 wasn't smart enough to prove that.)
6294 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
6295
6296 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6297
6298 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
6299 stack alignment.
6300 (efi_wrap_1): Likewise.
6301 (efi_wrap_2): Likewise.
6302 (efi_wrap_3): Likewise.
6303 (efi_wrap_4): Likewise.
6304 (efi_wrap_5): Likewise.
6305 (efi_wrap_6): Likewise.
6306 (efi_wrap_10): Likewise.
6307 Based on information by: Red Hat/Peter Jones.
6308
6309 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
6310
6311 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
6312 set-but-not-used variable.
6313
6314 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
6315
6316 * docs/grub.texi (Simple configuration): Be more explicit about
6317 GRUB_DEFAULT, and add an example.
6318 Reported by: Leslie Rhorer.
6319
6320 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6321
6322 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
6323 shell".
6324
6325 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
6326
6327 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
6328 * util/grub.d/20_linux_xen.in: Likewise.
6329
6330 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6331
6332 * util/grub.d/10_linux.in: Try alternative config filenames where
6333 we parse config file.
6334 * util/grub.d/20_linux_xen.in: Likewise.
6335
6336 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
6337
6338 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
6339 * util/grub.d/20_linux_xen.in: Likewise.
6340
6341 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6342
6343 * grub-core/disk/raid.c (insert_array): Add few potentially
6344 useful grub_util_info.
6345 (grub_raid_register): Likewise.
6346
6347 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6348
6349 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
6350 Preserve partition number in mdadm code path.
6351
6352 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6353
6354 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
6355 few potentially useful grub_util_info.
6356
6357 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6358
6359 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
6360
6361 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6362
6363 * docs/grub.texi (default): Use @example rather than nested
6364 itemized lists to avoid breaking gendocs.
6365
6366 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6367
6368 * docs/grub.texi (Future): Update.
6369
6370 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6371
6372 * docs/grub.texi (Environment): New chapter.
6373 (Changes from GRUB Legacy): Link to "Environment block" section for
6374 details of limitations.
6375 (Simple configuration): Likewise. Link to documentation of gfxmode
6376 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
6377 respectively.
6378 (Shell-like scripting): Note that normal variables are stored in the
6379 environment.
6380 (gettext): Link to documentation of lang and locale_dir.
6381 (list_env): New section.
6382 (load_env): New section.
6383 (save_env): New section.
6384
6385 (Reporting bugs): Fix typo.
6386
6387 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6388
6389 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
6390 the example.
6391
6392 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6393
6394 * grub-core/term/at_keyboard.c (set_scancodes)
6395 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
6396
6397 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6398
6399 * docs/grub.texi (Menu-specific commands): Remove some semantics
6400 that were true in GRUB Legacy but not in GRUB 2.
6401 (submenu): New section.
6402 (false): New section.
6403 (read): New section.
6404 (true): New section.
6405
6406 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6407
6408 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
6409
6410 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6411
6412 * docs/grub.texi (Simple configuration): Explain some of the
6413 current limitations of grub-mkconfig.
6414 Reported by: Leslie Rhorer.
6415
6416 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6417
6418 Old macs search for boot.efi rather than for bootia32.efi.
6419
6420 * util/grub-install.in: Copy bootia32.efi to boot.efi.
6421 * util/grub-mkrescue.in: Likewise.
6422 Suggested by: Peter Jones.
6423
6424 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6425
6426 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
6427
6428 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6429
6430 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
6431 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
6432 (grub_lvm_mirror): New struct.
6433 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
6434 (grub_lvm_iterate): Iterate only visible volumes.
6435 (grub_lvm_read): Factor out to ..
6436 (read_lv): ... this. Support mirrors.
6437 (grub_lvm_read): New wrapper function.
6438 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
6439 stripped or mirrored.
6440
6441 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6442
6443 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
6444
6445 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
6446
6447 * docs/grub.texi (loopback): New section.
6448
6449 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
6450
6451 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
6452 removed -p option.
6453
6454 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
6455
6456 * docs/grub.texi (BIOS installation): New section, partly based on
6457 previous text in other sections.
6458 (Installing GRUB using grub-install): Replace BIOS discussion with a
6459 cross-reference.
6460 (Images): Likewise.
6461
6462 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6463
6464 * grub-core/kern/emu/hostdisk.c (find_partition_start)
6465 [HAVE_DIOCGDINFO]: Add safety checks.
6466
6467 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6468
6469 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
6470 per default compiled in kernel and prior to 8.0 isn't shipped at all.
6471
6472 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
6473
6474 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
6475 real_sb->size is zero (e.g. RAID-0), get the disk size from
6476 real_sb->data_size instead.
6477 Fixes Ubuntu bug #743136.
6478
6479 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6480
6481 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
6482 printf clauses for printing size and start.
6483
6484 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6485
6486 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
6487 Reported and tested by: Timothy Nikkel.
6488
6489 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6490
6491 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
6492 (dirty_region_add_real): ... this.
6493 (dirty_region_add): Don't discard margin refresh when performing
6494 scheduled repaint.
6495
6496 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6497
6498 * grub-core/lib/relocator.c (allocate_regstart)
6499 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
6500 terminals are capabple of malloc-free operation.
6501 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
6502 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
6503
6504 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
6505
6506 * util/grub-setup.c: Copy the partition table zone if floppy support
6507 is disabled, even if no partition table is found.
6508
6509 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
6510 during POST if an invalid partition table is contained in the PBR
6511 of the active partition when GRUB is installed to a partition.
6512
6513 2011-03-28 Colin Watson <cjwatson@debian.org>
6514
6515 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
6516 comment.
6517
6518 2011-03-28 Colin Watson <cjwatson@debian.org>
6519
6520 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
6521 to be specific about what kind of RAID device we're scanning for.
6522
6523 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
6524
6525 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
6526 return freed string.
6527
6528 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6529
6530 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
6531
6532 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6533
6534 Use libgeom on FreeBSD to detect partitions.
6535
6536 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
6537 (grub-mkrelpath): Likewise.
6538 (grub-script-check): Likewise.
6539 (grub-editenv): Likewise.
6540 (grub-mkpasswd-pbkdf2): Likewise.
6541 (grub-fstest): Likewise.
6542 (grub-mkfont): Likewise.
6543 (grub-mkdevicemap): Likewise.
6544 (grub-probe): Likewise.
6545 (grub-setup): Likewise.
6546 (grub-ofpathname): Likewise.
6547 (grub-mklayout): Likewise.
6548 (example_unit_test): Likewise.
6549 (grub-menulst2cfg): Likewise.
6550 * grub-core/Makefile.core.def (grub-emu): Likewise.
6551 (grub-emu-lite): Likewise.
6552 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
6553 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
6554 define HAVE_DIOCGDINFO.
6555 (follow_geom_up) [FreeBSD]: New function.
6556 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
6557 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
6558 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
6559 unconditionally of HAVE_DIOCGDINFO.
6560
6561 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6562
6563 Fix FreeBSD compilation problem.
6564
6565 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
6566 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
6567
6568 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
6569
6570 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
6571 Switch back to page zero before loading a kernel, since some kernel
6572 drivers expect that.
6573 Thanks to: Felix Kuehling.
6574
6575 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6576
6577 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
6578 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
6579 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
6580
6581 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6582
6583 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
6584 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
6585
6586 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6587
6588 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
6589 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
6590 malloc is disabled.
6591
6592 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6593
6594 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
6595 for modules headers when counting the needed allocation size.
6596
6597 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6598
6599 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
6600 if no ASCII character is found to prevent crash.
6601
6602 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
6603
6604 * grub-core/video/bitmap.c (match_extension): Ignore case.
6605
6606 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6607
6608 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
6609
6610 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6611
6612 * grub-core/script/parser.y: Declare "time" as valid argument.
6613
6614 2011-03-23 Peter Jones <pjones@redhat.com>
6615
6616 Fix incorrect assert failure reporting.
6617
6618 * grub-core/tests/example_functional_test.c (example_test): Add
6619 a failure comment.
6620 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
6621 (failure_start): ...this. Check that malloc succeeded.
6622 Don't call xvasprintf. Return failure struct.
6623 (failure_append_vtext): New function.
6624 (failure_append_text): Likewise.
6625 (add_failure): Likewise.
6626 (grub_test_assert_helper): Likewise.
6627 * include/grub/test.h (grub_test_assert_helper): New declaration.
6628 (grub_test_assert): Macro rewritten.
6629
6630 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6631
6632 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
6633
6634 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6635
6636 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
6637
6638 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6639
6640 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
6641 into GRUB-style one.
6642
6643 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6644
6645 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
6646 error and not grub_errno.
6647 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
6648
6649 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6650
6651 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
6652 GRUB_USB_SPEED_NONE in case of failure and not the error code.
6653
6654 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6655
6656 * grub-core/efiemu/i386/pc/cfgtables.c
6657 (grub_machine_efiemu_init_tables): Make declaration a prototype.
6658 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
6659 (grub_xnu_unlock): Likewise.
6660 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
6661
6662 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6663
6664 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
6665 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
6666 * grub-core/commands/hashsum.c (aliases): Likewise.
6667 * grub-core/commands/setpci.c (pci_registers): Likewise.
6668 * grub-core/disk/usbms.c (attach_hook): Likewise.
6669 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
6670 (zio_checksum_table): Likewise.
6671 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
6672 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
6673 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
6674 * grub-core/lib/relocator.c (leftovers): Likewise.
6675 (extra_blocks): Likewise.
6676 * grub-core/loader/i386/bsd.c (relocator): Likewise.
6677 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
6678 (modules_last): Likewise.
6679 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
6680 (devices): Likewise.
6681 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
6682 (modules_last): Likewise.
6683 * grub-core/normal/auth.c (users): Likewise.
6684 * grub-core/normal/context.c (initial_menu): Likewise.
6685 (current_menu): Likewise.
6686 * grub-core/normal/crypto.c (crypto_specs): Likewise.
6687 * grub-core/term/serial.c (grub_serial_ports): Likewise.
6688 (grub_serial_terminfo_input_template): Likewise.
6689 (grub_serial_terminfo_output_template): Likewise.
6690 (grub_serial_terminfo_input): Likewise.
6691 (grub_serial_terminfo_output): Likewise.
6692 (registered): Likewise.
6693 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
6694
6695 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6696
6697 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
6698 grub_video_mode_type_t.
6699 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
6700 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
6701 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
6702
6703 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6704
6705 * util/grub-install.in: Correct the x86-64 name as x86_64.
6706
6707 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
6708
6709 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
6710 initial chunk read from the kernel always includes GRUB's multiboot
6711 header, which is now outside the first sector.
6712
6713 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
6714
6715 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
6716 cached mmap_size, so that this works correctly when called multiple
6717 times.
6718 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
6719
6720 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
6721
6722 * docs/grub.texi (Simple configuration): Tidy up formatting.
6723
6724 2011-03-07 Szymon Janc <szymon@janc.net.pl>
6725
6726 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
6727 Set-but-not-used variable removed.
6728
6729 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6730
6731 Workaround yet another IEEE1275 bug.
6732
6733 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6734 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
6735 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
6736 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
6737 is set.
6738 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6739 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
6740
6741 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6742
6743 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
6744 error.
6745
6746 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
6747
6748 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
6749 empty, since in that case we can only generate either nothing or a
6750 syntactically invalid configuration file.
6751 Reported by: Michal Suchanek. Fixes Debian bug #612898.
6752
6753 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
6754
6755 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
6756 (Making a GRUB bootable CD-ROM): Likewise.
6757 (Invoking grub-mkrescue): New section.
6758 Reported by: Yann Dirson. Fixes Debian bug #612585.
6759
6760 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
6761
6762 * util/grub-install.in: Remove unnecessary brackets from tr
6763 arguments.
6764 * util/grub.d/10_hurd.in: Likewise.
6765 * util/grub.d/10_kfreebsd.in: Likewise.
6766 * util/grub.d/10_linux.in: Likewise.
6767 * util/grub.d/20_linux_xen.in: Likewise.
6768 Reported by: Jamie Heilman. Fixes Debian bug #612564.
6769
6770 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
6771
6772 * include/grub/file.h (not_easly_seekable): Rename to ...
6773 (not_easily_seekable): ... this. Update all users.
6774
6775 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
6776
6777 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
6778 grub-mkrescue.
6779
6780 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6781
6782 * util/grub-mkimage.c (generate_image): Refuse to create the images
6783 bigger than the actual flash (512K) in Loongson machines. 512K is also
6784 the biggest chip supported by them.
6785
6786 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6787
6788 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
6789
6790 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
6791
6792 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
6793 super_offset field.
6794
6795 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6796
6797 * util/grub-install.in: Ignore install device on platforms
6798 where it doesn't make sense. Always use UUIDs except on pc, efi and
6799 sparc64.
6800 Reported by: Daniel Kahn Gillmor.
6801
6802 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6803
6804 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
6805
6806 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6807
6808 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
6809 (iterate_real): Don't rely on partition being non-NULL.
6810
6811 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6812
6813 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
6814 supported platforms. Put a compile time assert for this rather than
6815 generate a warning with 32-bit shift.
6816
6817 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6818
6819 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
6820 logical expression more readable.
6821
6822 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6823
6824 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
6825 even if some elements have a name.
6826 Reported by: Alexander GQ Gerasiov.
6827
6828 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
6829
6830 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
6831 path unreadable if `grub-probe -t abstraction' fails, for example if
6832 memberlist fails on an LVM volume group.
6833 Reported by: Darius Jahandarie.
6834
6835 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
6836
6837 * docs/grub.texi (Simple configuration): Document
6838 GRUB_PRELOAD_MODULES.
6839
6840 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
6841
6842 * .bzrignore: Remove nonexistent grub-pbkdf2.
6843
6844 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6845
6846 * configure.ac: Bump version to 1.99~rc1.
6847
6848 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
6849
6850 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
6851 for safety.
6852
6853 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6854
6855 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
6856 module.
6857
6858 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6859
6860 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
6861
6862 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6863
6864 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
6865 diskdevid.
6866
6867 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6868
6869 Fix compilation on cygwin.
6870
6871 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
6872 -R .drectve on cygwin.
6873 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
6874 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
6875 (COND_CYGWIN): New condition.
6876 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
6877 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
6878 not @TARGET_OBJ2ELF@.
6879 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
6880 type to determine whether aux is to be used.
6881
6882 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6883
6884 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
6885 realpath'ed device string.
6886 Handle floppy (somewhat).
6887 Issue error in unknown case rather than garbage.
6888 Reported by: Axel Beckert.
6889
6890 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6891
6892 * util/grub.d/00_header.in (load_video): Handle the case when no video
6893 drivers available.
6894 Thanks to: Axel Beckert.
6895
6896 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6897
6898 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
6899 variable. Fixes problem on big endian platforms.
6900
6901 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6902
6903 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
6904 It doesn't work well there.
6905
6906 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6907
6908 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
6909 warning.
6910 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
6911 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
6912 counter.
6913
6914 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6915
6916 Use alias->path rather than buggy "canon".
6917
6918 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
6919 (ofdisk_hash_add): New argument curcan. All users updated.
6920
6921 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
6922
6923 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
6924
6925 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6926
6927 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
6928 loadmask before doing any calculations. Use correct type for offset.
6929 (grub_linux_load64): Likewise.
6930
6931 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
6932
6933 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
6934 with NULL.
6935 (console_grub_equivalences_unshift): Likewise.
6936 Reported by: Daniel Dehennin.
6937
6938 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6939
6940 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
6941 (set_env_limn_ro): Likewise.
6942 (GRUB_MOD_INIT): Likewise.
6943 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
6944 ARRAY_SIZE while on it.
6945 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
6946 * grub-core/normal/context.c (grub_env_export): Move from here ...
6947 * grub-core/kern/env.c (grub_env_export): ... here.
6948 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
6949 prefix.
6950 * grub-core/kern/main.c (grub_main): Export root and prefix.
6951 * include/grub/env.h (grub_env_export): Export.
6952 Reported by: Seth Goldberg.
6953
6954 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6955
6956 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
6957 Take into account space used by ELF sections and multiboot palette.
6958 Reported by: Grégoire Sutre.
6959
6960 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6961
6962 * BUGS: New file.
6963
6964 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6965
6966 Pass more appropriate video id to Linux.
6967
6968 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
6969 grub_video_get_driver_id and variable gfxpayloadforcelfb to
6970 fill have_vga.
6971 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
6972 shift params->lfb_size.
6973 * include/grub/i386/linux.h: Make an enume out of have_vga values.
6974
6975 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6976
6977 * util/grub-menulst2cfg.c: Add missing include of misc.h.
6978
6979 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6980
6981 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
6982 separator and pass bootpath/devid even if only one of them is available.
6983 Reported by: Seth Goldberg.
6984
6985 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6986
6987 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
6988 implementations bug on them.
6989
6990 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
6991 memory.
6992 (filter_memory_map): Likewise.
6993
6994 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6995
6996 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
6997 Reported by: nebuchadnezzar.
6998
6999 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7000
7001 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
7002 Reported by: nebuchadnezzar.
7003
7004 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7005
7006 Submenu default support.
7007
7008 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
7009 auto_boot. All users updated.
7010 Declared static.
7011 Handle chosen and default with submenus.
7012 (grub_menu_execute_with_fallback): Declared static.
7013 Don't notify failure if autobooted. Upper level does it.
7014 (menuentry_eq): New function.
7015 (get_entry_number): Use menuentry_eq.
7016 (show_menu): New parameter "autobooted". All users updated.
7017 (grub_show_menu): Likewise.
7018 * include/grub/normal.h (grub_show_menu): Likewise.
7019 * include/grub/menu.h (grub_menu_execute_entry): Removed.
7020 (grub_menu_execute_with_fallback): Likewise.
7021
7022 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7023
7024 * util/grub-mklayout.c (usage): Update help text.
7025
7026 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7027
7028 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
7029
7030 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7031
7032 * util/grub-menulst2cfg.c (main): Trim the line.
7033
7034 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7035
7036 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
7037 (grub_machine_init): Don't check amount of low memory as reportedly
7038 INT 12h can be broken and if low memory is too low we wouldn't have
7039 gotten into grub_machine_init anyway.
7040
7041 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7042
7043 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
7044 (grub_machine_mmap_iterate): Take low memory into account
7045
7046 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7047
7048 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
7049 badfs.
7050 Reported by: TiCPU.
7051
7052 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7053
7054 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
7055 members errors.
7056
7057 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
7058
7059 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
7060 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
7061
7062 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
7063
7064 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
7065 openbsd and netbsd types being in part_bsd module.
7066
7067 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7068
7069 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
7070 (_FILE_OFFSET_BITS): Likewise.
7071 Reported by: Seth Goldberg.
7072
7073 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7074
7075 * configure.ac: Check for libdevmapper header.
7076
7077 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7078
7079 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
7080 avoid aliasing.
7081 (fzap_lookup): Likewise.
7082 (dnode_get): Likewise.
7083 (make_mdn): Likewise.
7084 (zfs_mount): Likewise.
7085 (fzap_iterate): Use temporary pointer to avoid aliasing.
7086 (grub_zfs_read): Likewise.
7087 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
7088 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
7089 pointers to avoid aliasing.
7090 (grub_cmd_xnu_kernel64): Likewise.
7091 (grub_xnu_load_driver): Likewise.
7092
7093 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7094
7095 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
7096 aliasing warning.
7097 (grub_cmd_terminal_output): Likewise.
7098 Reported and tested by: Grégoire Sutre.
7099
7100 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7101
7102 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
7103 warning.
7104 Reported and tested by: Grégoire Sutre.
7105
7106 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7107
7108 * configure.ac: Do CPU substitution even if it's specified explicitly.
7109 Reported and tested by: Alain Greppin.
7110
7111 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7112
7113 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
7114 Reported and tested by: Alain Greppin.
7115
7116 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7117
7118 Satisfy some bison versions need for inttypes.h.
7119
7120 * grub-core/lib/posix_wrap/inttypes.h: New file.
7121 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
7122 (int16_t): Likewise.
7123 (int32_t): Likewise.
7124 (int64_t): Likewise.
7125 Reported and tested by: Alain Greppin.
7126
7127 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7128
7129 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
7130 Silence spurious warning.
7131 Reported and tested by: Alain Greppin.
7132
7133 2011-01-07 Szymon Janc <szymon@janc.net.pl>
7134
7135 * docs/grub.texi (Support automatic decompression): Update with xz
7136 decompression support.
7137
7138 2011-01-07 Szymon Janc <szymon@janc.net.pl>
7139
7140 Improve loaders' kernel command line handling.
7141
7142 * grub-core/lib/cmdline.c: New file.
7143 * include/grub/lib/cmdline.h: Likewise.
7144 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
7145 grub_create_loader_cmdline to create kernel command line.
7146 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7147 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
7148 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
7149 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
7150 (linux): Add lib/cmdline.c on common.
7151
7152 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7153
7154 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
7155 inopos might be unaligned.
7156
7157 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7158
7159 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
7160 endian transformations.
7161 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7162 Based on report by: Doug Nazar.
7163
7164 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
7165
7166 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
7167 array->members[i].start_sector.
7168 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
7169
7170 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7171
7172 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
7173 Reported and tested by: Grégoire Sutre.
7174
7175 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
7176
7177 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
7178 avoid causing test failures by clearing the screen.
7179
7180 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
7181
7182 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
7183 Fix prefix check to handle the case where dir ends with a slash
7184 (most significantly, "/" itself).
7185 Reported by: Michael Vogt.
7186
7187 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7188
7189 Run terminfo_cls on initing terminfo output to clear the screen and
7190 move the cursor to (0,0).
7191
7192 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
7193 Call grub_terminfo_output_init.
7194 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
7195 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
7196 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
7197
7198 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7199
7200 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
7201 only when needed.
7202
7203 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7204
7205 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
7206 CTRL.
7207
7208 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7209
7210 The E820 type 5 is BADRAM, not EXEC_CODE.
7211
7212 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
7213 (GRUB_E820_BADRAM): New define.
7214 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
7215 into reserved. Propagate BADRAM.
7216 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
7217 (GRUB_E820_BADRAM): New define.
7218
7219 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7220
7221 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
7222 Ignore the memory post-4G.
7223 (grub_relocator_firmware_alloc_region): Additional debug statement.
7224
7225 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7226
7227 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
7228 names.
7229 Reported by: David Pravec.
7230
7231 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7232
7233 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
7234 BIOSes.
7235
7236 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7237
7238 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
7239 Prevent overflow.
7240 (grub_reed_solomon_recover): Likewise.
7241
7242 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7243
7244 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
7245
7246 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7247
7248 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
7249 variable.
7250
7251 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
7252
7253 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
7254 descriptions of extract_legacy_entries_source and
7255 extract_legacy_entries_configfile.
7256 Reported by: Seung Soo, Ha.
7257
7258 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
7259
7260 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
7261 on devices that do not implement function 0.
7262
7263 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
7264
7265 * grub-core/fs/hfsplus.c: Make parent unsigned.
7266 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
7267 overflows.
7268 (grub_hfsplus_cmp_extkey): Likewise
7269
7270 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7271
7272 * util/grub-install.in: Correctly use bootloader_id and not
7273 GRUB_DISTRIBUTOR on efibootmgr line.
7274
7275 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7276
7277 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
7278
7279 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
7280
7281 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
7282 Xen and reorder menu item wording to make it clearer that this entry
7283 will launch Xen. Print separate messages when loading Xen and
7284 Linux.
7285
7286 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7287
7288 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
7289 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
7290 loop in case of incorrect amiga partmap.
7291
7292 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7293
7294 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
7295 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
7296 Reported by:EHeM.
7297
7298 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7299
7300 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
7301 spurious warning.
7302 Reported by: crocket
7303
7304 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7305
7306 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
7307 Preload EFIemu.
7308 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
7309
7310 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7311
7312 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
7313 is loaded
7314 (grub_cmd_xnu_kextdir): Likewise.
7315 (grub_cmd_xnu_splash): Likewise.
7316
7317 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7318
7319 Avoid using Reed-Solomon with 0 redundancy.
7320
7321 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
7322 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
7323 or 0 redundancy.
7324 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
7325 (grub_reed_solomon_recover): Likewise.
7326
7327 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7328
7329 Don't use disk subsystem in freebsd_boot.
7330
7331 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
7332 (freebsd_biosdev): Likewise.
7333 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
7334 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
7335
7336 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7337
7338 Handling of files of unknown size is currently limited. They can't be
7339 used e.g. for initrd or modules. Moreover gzip handling of not
7340 easily seekable files is buggy. Disable unknown file size for now. May
7341 be inefficient but works.
7342
7343 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
7344 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
7345
7346 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
7347
7348 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
7349 floppy probe.
7350
7351 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
7352
7353 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
7354
7355 2010-12-25 Shea Levy <shlevy>
7356
7357 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
7358
7359 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7360
7361 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
7362 Windows Server 2008.
7363 Reported by: Devin Giddings.
7364
7365 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7366
7367 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
7368 writing an error message because of async power management.
7369 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
7370 (grub_reboot): Likewise.
7371
7372 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
7373
7374 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
7375 keep unit tests from failing when they shouldn't.
7376
7377 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7378
7379 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
7380 previous patch increased the size of the RS code by 20 bytes (at
7381 least with gcc-4.4), so increase this by 20 bytes to match.
7382 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
7383
7384 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7385
7386 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
7387 scratch area. Make sure to initialise chosen in standalone mode as
7388 well as non-standalone.
7389 Reported by: Robert Hooker and Andy Whitcroft.
7390 Tested by: Andy Whitcroft.
7391
7392 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7393
7394 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
7395 constructing a new unescaped string and passing it to grub_xputs in
7396 one go, rather than passing characters to grub_printf one at a time.
7397
7398 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7399
7400 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
7401 initialising utf16.
7402
7403 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7404
7405 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
7406 comment. Add an extra layer of quotation, requiring the output of
7407 this function to be used in a printf format string.
7408 (gettext_printf): New function.
7409 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
7410 Extract translatable strings from here-documents and use a temporary
7411 variable instead, so that xgettext can find them.
7412 * util/grub.d/10_kfreebsd.in: Likewise.
7413 * util/grub.d/10_linux.in: Likewise.
7414 * util/grub.d/20_linux_xen.in: Likewise.
7415
7416 * po/grub.d.sed: New file.
7417 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
7418 arguments. Set c-format flags on all strings extracted from
7419 util/grub.d/ (xgettext refuses to include these itself for strings
7420 it extracted from a shell file, but these really are c-format).
7421
7422 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7423
7424 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
7425 Avoid next pointing to nowhere.
7426
7427 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7428
7429 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
7430 rather than assuming than rootblock is exactly in the middle.
7431 (grub_affs_label): Likewise.
7432
7433 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7434
7435 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
7436 reserved_first_sector to 0.
7437 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
7438 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
7439 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
7440
7441 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7442
7443 Fix handling of UTF-16 UDF labels.
7444
7445 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
7446 (read_string): .. here.
7447 (grub_udf_label): Use read_string.
7448
7449 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
7450
7451 * grub-core/normal/menu_entry.c (run): Execute commands from menu
7452 editor under argument scope.
7453 Reported by: Jordan Uggla
7454
7455 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7456
7457 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
7458
7459 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
7460
7461 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
7462 line, and other keys scroll an entire page (previous handling was
7463 for \r and \n to scroll a page and other keys to scroll two lines).
7464
7465 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7466
7467 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
7468 Set ptrdest to correct get_physical_target_address rather than
7469 incorrect get_virtual_current_address.
7470
7471 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
7472
7473 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
7474 correct cat to grub_uint8_t * rather than grub_uint32_t *.
7475
7476 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
7477
7478 * .bzrignore: Ignore grub-core/rs_decoder.S.
7479
7480 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
7481
7482 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
7483 .mo/.mo.gz opening sequence to ...
7484 (grub_mofile_open_lang): ... here.
7485 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
7486 * util/grub.d/00_header.in (grub_lang): Include country part of
7487 locale.
7488 Reported by: Mario Limonciello.
7489
7490 2010-12-09 Robert Millan <rmh@gnu.org>
7491
7492 * NEWS: Document addition of ZFS support.
7493
7494 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
7495
7496 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
7497 rather than `/ 2', as the latter requires -Wa,--divide which would
7498 require bumping our minimum binutils version.
7499
7500 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
7501
7502 * util/grub-script-check.c (main): Print script line number on
7503 error.
7504
7505 2010-12-01 Robert Millan <rmh@gnu.org>
7506
7507 * grub-core/fs/zfs/zfs.c: New file.
7508 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
7509 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
7510 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
7511 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7512
7513 * include/grub/zfs/dmu.h: Likewise.
7514 * include/grub/zfs/dmu_objset.h: Likewise.
7515 * include/grub/zfs/dnode.h: Likewise.
7516 * include/grub/zfs/dsl_dataset.h: Likewise.
7517 * include/grub/zfs/dsl_dir.h: Likewise.
7518 * include/grub/zfs/sa_impl.h: Likewise.
7519 * include/grub/zfs/spa.h: Likewise.
7520 * include/grub/zfs/uberblock_impl.h: Likewise.
7521 * include/grub/zfs/vdev_impl.h: Likewise.
7522 * include/grub/zfs/zap_impl.h: Likewise.
7523 * include/grub/zfs/zap_leaf.h: Likewise.
7524 * include/grub/zfs/zfs.h: Likewise.
7525 * include/grub/zfs/zfs_acl.h: Likewise.
7526 * include/grub/zfs/zfs_znode.h: Likewise.
7527 * include/grub/zfs/zil.h: Likewise.
7528 * include/grub/zfs/zio.h: Likewise.
7529 * include/grub/zfs/zio_checksum.h: Likewise.
7530
7531 * Makefile.util.def: Build ZFS into libgrubmods.
7532 * grub-core/Makefile.core.def: Build zfs.mod.
7533
7534 2010-11-30 Szymon Janc <szymon@janc.net.pl>
7535
7536 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
7537 variable.
7538 * grub-core/commands/wildcard.c (match_files): Likewise.
7539
7540 2010-11-30 Robert Millan <rmh@gnu.org>
7541
7542 * grub-core/loader/i386/bsd.c
7543 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
7544 whether kernel is loaded using grub_loader_is_loaded(), rather
7545 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
7546 certain error conditions.
7547
7548 2010-11-30 Robert Millan <rmh@gnu.org>
7549
7550 * grub-core/commands/echo.c: Include `<grub/term.h>'.
7551 (grub_cmd_echo): Call grub_refresh() after printing a message.
7552
7553 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
7554
7555 Avoid using tricks for initialising endian variables.
7556
7557 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
7558 Make const.
7559 (GRUB_MOD_INIT): Don't byte-swap.
7560 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
7561 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
7562 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
7563 (grub_swap_bytes32_compile_time): Likewise.
7564 (grub_cpu_to_le32_compile_time): Likewise.
7565 (grub_cpu_to_le16_compile_time): Likewise.
7566
7567 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
7568
7569 * util/grub-setup.c (setup): Stop recommending --force. People who
7570 understand the dangers of blocklists are able to find this option
7571 anyway and the ones who don't shouldn't use it anyway.
7572
7573 2010-11-26 Robert Millan <rmh@gnu.org>
7574
7575 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
7576 Update all users.
7577
7578 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
7579
7580 Fix LVM-on-RAID probing.
7581
7582 * util/grub-probe.c (probe): Remember which disk was detected as
7583 RAID (perhaps an LVM physical volume). Use that disk's raidname
7584 rather than that of the top-level disk.
7585
7586 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7587
7588 Fix cmdline argument quotes for setparams command of menuentry
7589 definitions.
7590
7591 * grub-core/commands/menuentry.c (setparams_prefix): Use single
7592 quotes for arguments.
7593 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7594 grub_strchrsub function instead.
7595
7596 * include/grub/misc.h (grub_strchrsub): New function.
7597
7598 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
7599
7600 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
7601 effort by skipping "." and ".." entries up-front.
7602 Suggested by: Michael Lazarev.
7603
7604 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
7605
7606 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
7607 ldflags to ldadd, to fix link line ordering.
7608 (none_decompress): Likewise.
7609
7610 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
7611
7612 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
7613 platforms.
7614 (grub-emu-lite): Remove kern/emu/cache.S.
7615
7616 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7617
7618 * util/deviceiter.c (compare_devices): If the by-id link for a
7619 device couldn't be resolved, fall back to sorting by the by-id link
7620 rather than segfaulting.
7621 Reported and tested by: Daniel Mierswa.
7622
7623 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7624
7625 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
7626 ldflags, to fix link line ordering.
7627
7628 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7629
7630 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
7631 linkers are picky about this.
7632
7633 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7634
7635 * grub-core/Makefile.am (command.lst): Adjust sed expression
7636 ordering so that extended and priority commands aren't treated as
7637 ordinary commands.
7638
7639 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7640
7641 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
7642 Remove byte-swapping function calls, which are not valid in
7643 structure initialisers.
7644 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
7645 non-const.
7646 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
7647 grub_gpt_partition_type_bios_boot.
7648
7649 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
7650
7651 Fix test program build on GNU/kFreeBSD.
7652
7653 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
7654 $(LIBNVPAIR)' library dependencies.
7655
7656 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
7657
7658 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
7659
7660 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
7661
7662 * util/grub-install.in: Remove excessive quoting that broke
7663 installations to RAID devices.
7664
7665 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7666
7667 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
7668 bootloader version instead of 0.
7669
7670 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7671
7672 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
7673 warning.
7674
7675 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7676
7677 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
7678 retrieve the metadat sector if size isn't known.
7679 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7680
7681 2010-11-18 Robert Millan <rmh@gnu.org>
7682
7683 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
7684 with grub_memcmp().
7685
7686 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
7687
7688 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
7689 arrow.
7690 Reported by: Jordan Uggla.
7691
7692 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7693
7694 Make better UTF compliant.
7695
7696 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
7697 sequences as incorrect.
7698 (grub_is_valid_utf8): Likewise.
7699 (grub_utf8_to_ucs4): Likewise.
7700 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
7701 (grub_ucs4_to_utf8_alloc): Likewise.
7702 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
7703
7704 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7705
7706 Make legacy_source behave like source.
7707
7708 * grub-core/commands/legacycfg.c (legacy_file): Don't call
7709 grub_show_menu.
7710 (grub_cmd_legacy_source): Call grub_show_menu if needed.
7711
7712 2010-11-16 Colin Watson <cjwatson@debian.org>
7713
7714 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
7715 (-Wunused implies -Wunused-parameter, but not vice versa).
7716
7717 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
7718
7719 * configure.ac: Make error messages less confusing by testing for
7720 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
7721 accepted, but produces a diagnostic if something else is wrong).
7722
7723 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7724
7725 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
7726 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
7727 (now unused).
7728 (grub_keyboard_controller_init)
7729 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
7730 read the initial state since controller isn't inited yet.
7731
7732 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7733
7734 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
7735 allocate_regbeg may need to create new chunk header.
7736
7737 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7738
7739 Fix quoting in legacy parser.
7740
7741 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
7742 single quotes.
7743 (grub_legacy_parse): Likewise.
7744 Reported by: Jordan Uggla.
7745 Tested by: Jordan Uggla.
7746
7747 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7748
7749 Don't add -lgcc on i386 and x86_64.
7750
7751 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
7752 * conf/Makefile.common (LDADD_KERNEL): Likewise.
7753 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
7754
7755 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7756
7757 * configure.ac: Add -Wno-trampolines when supported.
7758
7759 2010-11-14 Modestas Vainius <modax@debian.org>
7760
7761 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
7762 fakeraid.
7763
7764 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7765
7766 Add generic logical block size support for UDF.
7767
7768 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
7769 (GRUB_UDF_BLKSZ): Removed.
7770 (struct grub_udf_data): New field "lbshift" to hold the logical block
7771 size of the file system in log2 format. All users updated.
7772 (sblocklist): Change type to unsigned.
7773 (grub_udf_mount): Change type of "sblklist" to unsigned.
7774 Move AVDP search before VRS recognition, because the latter requires
7775 knowledge of the logical block size, which is detected during the
7776 former.
7777 Detect and validate logical block size during AVDP search, adding
7778 support for block sizes 512, 1024 and 4096.
7779 Make VRS recognition independent of block size.
7780
7781 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7782
7783 Properly handle deleted files on UDF.
7784
7785 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
7786 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
7787 set.
7788
7789 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7790
7791 Support reading files larger than 2 GiB.
7792
7793 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
7794 "offset" to grub_off_t.
7795 (grub_udf_read_file): Likewise for parameter "pos".
7796
7797 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7798
7799 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
7800 unavailable.
7801 (Simple configuration): Refer to Changes from GRUB Legacy about
7802 save_env availability.
7803
7804 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7805
7806 * util/grub-install.in: Ignore empty partition table detection
7807 instead of trying to include part_ module.
7808
7809 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7810
7811 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
7812 LVM on RAID support.
7813
7814 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7815
7816 Properly define WORDS_BIGENDIAN in wrapped environments.
7817
7818 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
7819 definition.
7820 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
7821
7822 Reported by: Manoel Rebelo Abranches.
7823 Tested by: Manoel Rebelo Abranches.
7824
7825 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 * util/grub-mkconfig.in: Fix quoting.
7828
7829 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 Support big ext2 files.
7832
7833 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
7834 (grub_ext2_read_block): Support triple indirect blocks.
7835 (grub_ext2_read_file): Use 64-bit types and read size_high.
7836 (grub_ext2_open): Read size_high.
7837 Reported by: Ximin Luo.
7838 Tested by: Manoel Rebelo Abranches.
7839
7840 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7841
7842 * util/grub-install.in: Handle filenames containing spaces.
7843 Reported by: Jordan Uggla.
7844 Tested by: Jordan Uggla.
7845
7846 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7847
7848 * util/grub-mkconfig.in (grub_script_check): New variable.
7849 Use grub_script_check instead of grub-script-check.
7850 Reported by: Barry Jackson.
7851
7852 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7853
7854 * docs/grub.texi (menu): Correct the order.
7855 Reported by: D. Hugh Redelmeier.
7856
7857 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7858
7859 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
7860 jump.
7861
7862 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
7863
7864 * include/grub/elfload.h (grub_elf32_size): New parameter.
7865 All users updated.
7866 Return maximum segments alignment.
7867 (grub_elf64_size): Likewise.
7868 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
7869 Return maximum segments alignment.
7870 (grub_elf64_size): Likewise.
7871 * grub-core/loader/powerpc/ieee1275/linux.c:
7872 (grub_linux_claimmap_iterate): New function. Uses the
7873 "available" property in the "memory" node for memory allocation
7874 for kernel in the PowerPC loader.
7875 (grub_linux_load32): Correctly find linux entry point offset.
7876 (grub_linux_load64): Likewise.
7877
7878 2010-11-07 Robert Millan <rmh@gnu.org>
7879
7880 On mips-yeeloong, build with -march=loongson2f when this flag is
7881 available (GCC >= 4.4).
7882 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
7883 `-march=mips3'.
7884 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
7885 or otherwise add -march=mips3.
7886
7887 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
7888
7889 Suppress shell expansion on echo '*' and echo "*" like cases.
7890 Reported by: Jordan Uggla.
7891
7892 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
7893 string arguments before shell expansion.
7894 * tests/grub_cmd_echo.in: New testcases.
7895
7896 2010-11-07 Robert Millan <rmh@gnu.org>
7897
7898 * conf/mips-qemu-mips.rmk: Remove stale file from previous
7899 transition.
7900
7901 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
7902
7903 * grub-core/kern/emu/hostdisk.c
7904 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
7905
7906 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7907
7908 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
7909 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
7910 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
7911
7912 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7913
7914 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
7915
7916 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7917
7918 * util/grub-install.in: Replace useless recomendation to pass
7919 --modules with a recomendation to report a bug.
7920
7921 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7922
7923 Properly register serial terminfo.
7924 Reported by: Jordan Uggla
7925
7926 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
7927 const.
7928 (grub_serial_terminfo_output_template): Likewise.
7929 (grub_cmd_serial): Register "serial" with terminfo.
7930 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
7931 grub_serial_terminfo_output.
7932
7933 2010-11-05 Robert Millan <rmh@gnu.org>
7934
7935 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
7936 needed).
7937
7938 2010-11-05 Robert Millan <rmh@gnu.org>
7939
7940 On Yeeloong, pass machine type information to Linux.
7941
7942 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
7943 (LOONGSON_MACHTYPE): New macro, set to
7944 "machtype=lemote-yeeloong-2f-8.9inches".
7945 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
7946 additional argument to Linux.
7947
7948 2010-11-04 Robert Millan <rmh@gnu.org>
7949
7950 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
7951 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
7952 (its SATA disks are detected as slaveless IDE master drives on
7953 kFreeBSD).
7954 Reported by Carsten Aulbert.
7955
7956 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
7957
7958 * util/bin2h.c (main): Fix spelling error in generated output.
7959
7960 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
7961
7962 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
7963
7964 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7965
7966 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
7967 vga= option is supplied.
7968
7969 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7970
7971 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
7972 * util/grub.d/10_kfreebsd.in: Likewise.
7973 * util/grub.d/10_linux.in: Likewise.
7974 * util/grub.d/20_linux_xen.in: Likewise.
7975
7976 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7977
7978 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
7979 argument as an argument to no-argument option.
7980
7981 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7982
7983 * util/grub.d/10_linux.in: Add missing load_video with explicit
7984 GRUB_GFXPAYLOAD_LINUX.
7985
7986 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7987
7988 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
7989
7990 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7991
7992 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
7993 elements with invlid index.
7994 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7995 * grub-core/disk/raid.c (insert_array): Automatically reallocate
7996 members.
7997 * include/grub/raid.h (grub_raid_member): New struct.
7998 (grub_raid_array): Transform devices and start_sector into usage of
7999 grub_raid_member. All users updated
8000 (allocated_devs): New member.
8001
8002 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8003
8004 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
8005 is modified
8006
8007 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
8008
8009 NetBSD build fix for getline function conflict from gnulib.
8010
8011 * Makefile.util.def (libgrubkern.a): New library for grub kernel
8012 components that depend on gnulib headers.
8013 (libgrubmods.a): Renamed from earlier libgrub.a.
8014 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
8015
8016 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8017
8018 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
8019 install rather than creating a broken install.
8020
8021 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8022
8023 * util/grub-setup.c (argp): Remove misleading example of installing to
8024 a partition.
8025
8026 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8027
8028 * util/grub-setup.c (setup): Clarify the error message.
8029
8030 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8031
8032 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
8033
8034 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8035
8036 * grub-core/kern/emu/misc.c
8037 (grub_make_system_path_relative_to_its_root)
8038 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
8039
8040 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8041
8042 * grub-core/kern/emu/misc.c
8043 (grub_make_system_path_relative_to_its_root): Revert r2882.
8044
8045 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
8046
8047 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
8048 useless field head. All users updated.
8049 (free_subchunk): Correct handling of IN_REGION subchunk.
8050
8051 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
8052
8053 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
8054 (Supported kernels): Likewise.
8055
8056 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
8057
8058 Make mktemp invocations portable.
8059
8060 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
8061 exit if mktemp fails.
8062 * tests/grub_script_blockarg.in: Likewise.
8063 * tests/partmap_test.in: Likewise.
8064 * tests/util/grub-shell-tester.in: Likewise.
8065 * tests/util/grub-shell.in: Likewise.
8066 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8067 * Makefile.am: Likewise, and chain shell commands with `&&'
8068 instead of ';'.
8069 * util/grub-mkrescue.in: Use the same explicit template as above, and
8070 exit if mktemp fails.
8071
8072 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
8073
8074 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
8075 Linux kernel, reported by Dennis Schridde.
8076
8077 2010-10-17 Szymon Janc <szymon@janc.net.pl>
8078
8079 * grub-core/normal/auth.c (grub_auth_check_authentication):
8080 Set-but-not-used variable removed.
8081
8082 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8083
8084 * docs/grub.texi (GNU/Linux): Document APM unavailability with
8085 32-bit linux protocol.
8086
8087 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8088
8089 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
8090 cursor shape for sanity.
8091
8092 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8093
8094 * docs/grub.texi (Installation): Document buggy BIOS install.
8095
8096 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8097
8098 * docs/grub.texi (Installation): Indent.
8099
8100 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8101
8102 * util/grub-setup.c (setup): New parameter allow_floppy.
8103 (arguments): New member allow_floppy.
8104 (argp_parser): Handle --allow-floppy.
8105 (main): Pass allow_floppy.
8106 * util/grub-install.in: New option --allow-floppy passed though to
8107 grub-setup.
8108
8109 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8110
8111 * util/grub-install.in: Handle partitionless disks.
8112
8113 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8114
8115 * util/grub-setup.c (setup): Don't clean blocklists before readability
8116 verfification.
8117
8118 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8119
8120 * docs/grub.texi (Installation): Document embedding zone. Remove
8121 obsolete grub-install example.
8122
8123 2010-10-16 Szymon Janc <szymon@janc.net.pl>
8124
8125 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
8126 Set-but-not-used variable ifdef'ed.
8127 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
8128 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
8129 variable removed.
8130 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
8131 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
8132 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
8133 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
8134 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
8135 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
8136 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
8137 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
8138 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
8139 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
8140 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
8141 Likewise.
8142
8143 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8144
8145 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
8146 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
8147 enum value.
8148
8149 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8150
8151 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
8152 synonym to _S5_. Needed for some DSDTs.
8153
8154 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8155
8156 Userspace ACPI parser debugging.
8157
8158 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
8159 headers and add relevant defines. Don't include standard headers.
8160 (main) [GRUB_DSDT_TEST]: New function.
8161 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
8162 Don't declare functions.
8163
8164 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8165
8166 Remove dead grub_efi_mm_fini.
8167
8168 * grub-core/kern/efi/mm.c (allocated_page): Removed.
8169 (ALLOCATED_PAGES_SIZE): Likewise.
8170 (MAX_ALLOCATED_PAGES): Likewise.
8171 (allocated_pages): Likewise.
8172 (grub_efi_allocate_pages): Don't record allocated pages.
8173 (grub_efi_free_pages): Likewise.
8174 (grub_efi_mm_init): Likewise.
8175 (grub_efi_mm_fini): Removed.
8176
8177 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8178
8179 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
8180 (grub_efi_mm_init): Take into account the memory map size increase.
8181
8182 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8183
8184 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
8185 (serial_hw_put): Wait based on real time rather than port reads. Don't
8186 roken ports.
8187 * include/grub/serial.h (grub_serial_port): New field broken.
8188
8189 2010-10-16 Robert Millan <rmh@gnu.org>
8190
8191 * grub-core/kern/emu/misc.c
8192 (grub_make_system_path_relative_to_its_root): Fix premature return
8193 when processing non-root ZFS filesystems.
8194 Reported by Sergio Talens-Oliag.
8195
8196 2010-10-15 Robert Millan <rmh@gnu.org>
8197
8198 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
8199 guarantee compressed ones are processed first.
8200
8201 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8202
8203 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
8204 grub_efiemu_autocore.
8205
8206 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8207
8208 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
8209 rather than 0x1b.
8210 (grub_console_getkey): Use correct jae opcode rather than ja.
8211
8212 2010-10-12 Robert Millan <rmh@gnu.org>
8213
8214 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
8215 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
8216 variable. All references updated.
8217
8218 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
8219
8220 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
8221
8222 Correctly distinguish mdraid flavours.
8223
8224 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
8225 (insert_array): New argument raid.
8226 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
8227 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
8228 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
8229
8230 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
8231
8232 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
8233 handling of special keys.
8234
8235 2010-10-02 Aleš Nesrsta <starous@volny.cz>
8236
8237 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
8238 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
8239
8240 2010-10-02 Aleš Nesrsta <starous@volny.cz>
8241
8242 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
8243 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
8244 users updated.
8245 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
8246 Use right endpoint when querying descriptor.
8247
8248 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
8249
8250 Clear out 0x80 color bit on EFI.
8251 Tested by: decoder
8252 Reported by: decoder and meta tech.
8253
8254 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
8255 (grub_console_setcolorstate): Clear out 0x80 bit.
8256 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
8257 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
8258 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
8259
8260 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
8261
8262 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
8263 Set to "auto".
8264
8265 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8266
8267 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
8268 mo_file after freeing.
8269
8270 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8271
8272 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
8273
8274 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8275
8276 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
8277 flags.
8278
8279 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8280
8281 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
8282 usage.
8283
8284 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8285
8286 Put terminfo into core on ieee1275 and yeeloong (needed for console).
8287
8288 * gentpl.py: New groups terminfoinkernel and terminfomodule.
8289 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
8290 and terminfo.h when needed.
8291 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
8292 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
8293 (terminfo): Enable only on terminfokernel.
8294 (extcmd): Likewise.
8295 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
8296 * include/grub/lib/arg.h: Likewise.
8297 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
8298 incorrect usage of ->.
8299
8300 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8301
8302 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
8303 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
8304
8305 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8306
8307 Fix coreboot compilation.
8308
8309 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8310 Take VBE info into account even if only text is supported.
8311 (fill_vbe_info): Take into account the case when only VGA text
8312 is supported.
8313 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
8314 on coreboot, multiboot and qemu.
8315
8316 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8317
8318 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
8319 debug messages.
8320 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
8321
8322 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8323
8324 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
8325 parameters.
8326
8327 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8328
8329 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
8330 if they were BSD-style.
8331
8332 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8333
8334 * grub-core/boot/i386/pc/lnxboot.S: Replace
8335 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
8336 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
8337
8338 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8339
8340 Write embedding zone using Reed-Solomon.
8341
8342 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
8343 * grub-core/Makefile.am (rs_decoder.S): New target.
8344 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
8345 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
8346 (multiboot): Move to RS part.
8347 (post_reed_solomon): New label.
8348 (grub_boot_drive): Move to non-RS part since it's modified in memory
8349 on boot.
8350 Include rs_decoder.S.
8351 * grub-core/lib/reed_solomon.c: New file.
8352 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
8353 New definition.
8354 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
8355 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
8356 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
8357 * include/grub/partition.h (grub_partition_map): Change prototype of
8358 embed to allow returning additional sectors.
8359 * include/grub/reed_solomon.h: New file.
8360 * util/grub-setup.c (setup): Handle Reed-Solomon.
8361
8362 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
8363
8364 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
8365 i386 and x86-64 definedness tests.
8366
8367 2010-09-27 Yves Blusseau <blusseau@zetam.org>
8368
8369 Fix generation of kernel_syms.lst
8370
8371 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
8372 ASM_PREFIX
8373
8374 2010-09-26 Robert Millan <rmh@gnu.org>
8375
8376 Support degraded ZFS arrays in "grub-probe -t device" resolution.
8377
8378 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
8379 the pool is an array of devices, iterate through it and return the
8380 first device that passes a stat() test (instead of blindly returning
8381 the first one).
8382
8383 2010-09-26 Robert Millan <rmh@gnu.org>
8384
8385 Build fixes for GNU/kFreeBSD.
8386
8387 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
8388 to programs that require ZFS conversion.
8389 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
8390 kernels that don't have FLOPPY_MAJOR.
8391
8392 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
8393
8394 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
8395
8396 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
8397
8398 Fix grub-emu build.
8399
8400 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
8401 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
8402 mdraid09 and mdraid1x.
8403
8404 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
8405
8406 Re-enable grub-extras.
8407
8408 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
8409 avoid confusing Automake. Run autogen only twice, once for the top
8410 level and once for grub-core. Add Makefile.util.def and
8411 Makefile.core.def from extra modules to the appropriate autogen
8412 invocations. If Makefile.common exists in an extra module, include
8413 it in both Makefile.util.am and grub-core/Makefile.core.am;
8414 similarly, include any Makefile.util.common file in Makefile.util.am
8415 and any Makefile.core.common file in grub-core/Makefile.core.am.
8416 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
8417 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
8418 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
8419 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
8420
8421 * gentpl.py (gvar_add): Turn GVARS into a set.
8422 (global_variable_initializers): Sort global variables on output.
8423 (vars_init): New function.
8424 (first_time): Likewise.
8425 (library): Ensure that non-global variable initialisations are
8426 emitted before the first time we emit code for a library block.
8427 Append to variables rather than setting them. Only emit
8428 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
8429 each conditional path.
8430 (program): installdir() emits an Autogen macro, so must be passed to
8431 var_add rather than gvar_add.
8432 (data): Likewise.
8433 (script): Likewise.
8434 (rules): New function, centralising handling for different target
8435 types. Set up Guile association lists for first_time and vars_init,
8436 and send most output to a diversion so that variable initialisations
8437 can be emitted first.
8438 (module_rules): Use new rules function.
8439 (kernel_rules): Likewise.
8440 (image_rules): Likewise.
8441 (library_rules): Likewise.
8442 (program_rules): Likewise.
8443 (script_rules): Likewise.
8444 (data_rules): Likewise.
8445
8446 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
8447
8448 * .bzrignore: Add contrib and grub-core/contrib. Remove
8449 grub-core/Makefile.gcry.am.
8450
8451 2010-09-24 Yves Blusseau <blusseau@zetam.org>
8452
8453 * grub-core/lib/LzFind.c: Add missing include.
8454 * grub-core/lib/LzmaEnc.c: Likewise.
8455 * grub-core/script/lexer.c: Likewise.
8456 * grub-core/script/yylex.l: Likewise.
8457 * util/grub-macho2img.c: Likewise.
8458 * util/grub-menulst2cfg.c: Likewise.
8459 * util/grub-mklayout.c: Likewise.
8460 * util/grub-mkpasswd-pbkdf2.c
8461 * util/grub-mkrelpath.c: Likewise.
8462 * util/resolve.c: Likewise.
8463
8464 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
8465
8466 * Makefile.util.def (example_unit_test): Add
8467 grub-core/gnulib/libgnu.a.
8468
8469 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
8470
8471 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
8472
8473 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
8474
8475 Support xz compression on yeeloong.
8476
8477 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
8478 * configure.ac: Check for LZMA.
8479 * grub-core/Makefile.core.def (xz_decompress): New target.
8480 (none_decompress): Likewise.
8481 * grub-core/boot/decompressor/minilib.c: New file.
8482 * grub-core/boot/decompressor/none.c: Likewise.
8483 * grub-core/boot/decompressor/xz.c: Likewise.
8484 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
8485 * grub-core/kern/mips/cache_flush.S: Likewise.
8486 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
8487 * grub-core/kern/mips/startup.S: Move first stage to ...
8488 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
8489 nomacro.
8490 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
8491 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
8492 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
8493 Allocate statically.
8494 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
8495 Allocate statically or use scratch. Don't check CRC32.
8496 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
8497 Allocate statically. Don't check CRC32.
8498 * include/grub/decompressor.h: New file.
8499 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
8500 Removed.
8501 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
8502 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
8503 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
8504 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
8505 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
8506 * util/grub-mkimage.c (grub_compression_t): New type.
8507 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
8508 (image_target_desc): New field default_compression.
8509 (image_targets): Adjust yeeloong targets.
8510 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
8511 (compress_kernel): New parameter comp.
8512 (generate_image): Likewise. Handle new compression case.
8513 (options): New option --compression
8514 (help): Likewise.
8515 (main): Handle new option.
8516
8517 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
8518
8519 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
8520
8521 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
8522
8523 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
8524 typo in __i386__ conditional.
8525
8526 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
8527
8528 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
8529 include.
8530
8531 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
8532
8533 Implement EFI and ACPI multiboot2 extensions.
8534
8535 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
8536 new tags as supported.
8537 (acpiv2_size): New function.
8538 (grub_multiboot_get_mbi_size): Take new tags into account.
8539 (grub_multiboot_make_mbi): Add new tags.
8540 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
8541
8542 2010-09-21 Aleš Nesrsta <starous@volny.cz>
8543
8544 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
8545 Added missing configuration of USB device.
8546
8547 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8548
8549 * grub-core/normal/menu_entry.c (run): Make sure we always return
8550 a value.
8551
8552 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8553
8554 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
8555 NumberOfPages is UINT64 according to the UEFI specification, not
8556 UINTN. Fix printf format.
8557
8558 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8559
8560 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
8561 `err' to grub_usb_err_t.
8562 Reported and tested by: KESHAV P.R.
8563
8564 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8565
8566 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
8567 tpart non-const, so that we can assign to it. (Since this is a
8568 typedef, the constness refers to the pointer rather than what it
8569 points to.)
8570
8571 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8572
8573 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
8574 $(top_srcdir)/grub-core/gnulib as well as
8575 $(top_builddir)/grub-core/gnulib.
8576 Reported by: KESHAV P.R.
8577
8578 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8579
8580 * util/grub-install.in: Fix the bootloader ID option to be
8581 consistently --bootloader-id, not --bootloader_id.
8582 Reported by: KESHAV P.R.
8583
8584 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8585
8586 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
8587 check hash checksum." consistently translatable.
8588
8589 2010-09-21 Yves Blusseau <blusseau@zetam.org>
8590
8591 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
8592 $(top_builddir).
8593
8594 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8595
8596 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
8597 (GRUB_MOD_INIT): Register sha1sum command.
8598 (GRUB_MOD_FINI): Unregister sha1sum command.
8599
8600 2010-09-21 Yves Blusseau <blusseau@zetam.org>
8601
8602 Keep boot and grub directory names in sync with utils scripts
8603
8604 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
8605 * config.h.in: Add previous macros.
8606 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
8607 * util/grub-install.in: Use $bootdir and $grubdir variables.
8608
8609 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8610
8611 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
8612 convert partition names to disk names if the new `convert' parameter
8613 is set.
8614 (grub_util_biosdisk_get_grub_dev): If opening the disk device
8615 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
8616 disk in its own right. This can happen with Xen disk images.
8617
8618 2010-09-21 Yves Blusseau <blusseau@zetam.org>
8619
8620 * util/grub-editenv.c: Update strings to avoid warnings when generating
8621 grub.pot file.
8622 * util/grub-setup.c: Likewise.
8623
8624 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
8625
8626 * configure.ac: Change version to 1.99~beta0.
8627
8628 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
8629
8630 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
8631 Add BADRAM.
8632 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
8633 Likewise.
8634 * include/multiboot.h: Resynced with specification.
8635 * include/multiboot2.h: Likewise.
8636
8637 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8638
8639 Fix po directory handling.
8640
8641 * configure.ac: Create po/Makefile.in rather than po/Makefile.
8642 * grub-core/gnulib/Makefile.am: Import gettext module.
8643 * m4/gnulib-cache.m4: Likewise.
8644 * m4/gnulib-comp.m4: Likewise.
8645 * m4/gettext.m4: New file, from gnulib.
8646 * m4/glibc2.m4: Likewise.
8647 * m4/iconv.m4: Likewise.
8648 * m4/intdiv0.m4: Likewise.
8649 * m4/intl.m4: Likewise.
8650 * m4/intldir.m4: Likewise.
8651 * m4/intlmacosx.m4: Likewise.
8652 * m4/intmax.m4: Likewise.
8653 * m4/inttypes-pri.m4: Likewise.
8654 * m4/lcmessage.m4: Likewise.
8655 * m4/lib-ld.m4: Likewise.
8656 * m4/lib-link.m4: Likewise.
8657 * m4/lib-prefix.m4: Likewise.
8658 * m4/lock.m4: Likewise.
8659 * m4/nls.m4: Likewise.
8660 * m4/po.m4: Likewise.
8661 * m4/printf-posix.m4: Likewise.
8662 * m4/progtest.m4: Likewise.
8663 * m4/threadlib.m4: Likewise.
8664 * m4/uintmax_t.m4: Likewise.
8665 * m4/visibility.m4: Likewise.
8666 * po/Makefile.am: Remove.
8667 * po/Makefile.in.in: New file, from gettext.
8668 ($(DOMAIN).pot-update): Support POTFILES-shell.
8669 * po/Makevars: New file.
8670 * po/POTFILES-shell: Rename to ...
8671 * po/POTFILES-shell.in: ... this. Update.
8672 * po/POTFILES: Rename to ...
8673 * po/POTFILES.in: ... this. Update.
8674 * po/Rules-quot: New file, from gettext.
8675 * po/boldquot.sed: Likewise.
8676 * po/en@boldquot.header: Likewise.
8677 * po/en@quot.header: Likewise.
8678 * po/insert-header.sin: Likewise.
8679 * po/quot.sed: Likewise.
8680 * po/remove-potcdate.sin: Likewise.
8681
8682 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8683
8684 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
8685
8686 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8687
8688 * util/grub.d/20_linux_xen.in: Use submenus.
8689
8690 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8691
8692 Support submenus.
8693
8694 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
8695 parameter submenu. All users updated.
8696 * grub-core/normal/main.c (free_menu): Rename to ...
8697 (grub_normal_free_menu): ... this. Made global.
8698 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
8699 if requested.
8700 * grub-core/normal/menu_entry.c (screen): New field submenu.
8701 (make_screen): Set submenu.
8702 (run): Open new context if requested.
8703 * include/grub/menu.h (grub_menu_entry): New field submenu.
8704 * include/grub/normal.h (grub_normal_free_menu): New proto.
8705
8706 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8707
8708 Menu entries extractor.
8709
8710 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
8711 variants.
8712 (GRUB_MOD_INIT): Register new variants.
8713 (GRUB_MOD_FINI): Unregister new variants.
8714 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
8715 into grub_cmd_legacy_source.
8716 (grub_cmd_legacy_source): Implement extractor variants.
8717 (GRUB_MOD_INIT): Register new variants.
8718 (GRUB_MOD_FINI): Unregister new variants.
8719 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
8720 as an extractor.
8721 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
8722 search as an extractor.
8723 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
8724 test as an extractor.
8725 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
8726 as an extractor.
8727 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
8728 (grub_env_new_context): New function.
8729 (grub_env_context_open): Likewise.
8730 (grub_env_extractor_open): Likewise.
8731 (grub_env_extractor_close): Likewise.
8732 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
8733 grub_extractor_level.
8734 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
8735 * include/grub/env.h (grub_env_extractor_open): New proto.
8736 (grub_env_extractor_close): Likewise.
8737 * include/grub/normal.h (grub_extractor_level): New external variable.
8738
8739 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8740
8741 Make cutmem accept a region specification.
8742 Suggested by: Samuel Thibault
8743
8744 * grub-core/mmap/mmap.c (parsemem): New function.
8745 (grub_cmd_cutmem): Handle new arguments.
8746
8747 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8748
8749 New command cutmem.
8750
8751 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
8752 (GRUB_MOD_INIT): Register new command.
8753 (GRUB_MOD_FINI): Unregister new command.
8754
8755 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8756
8757 Support some annoying BSD and Minix subpartitions.
8758
8759 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
8760 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
8761 Properly handle concatenation.
8762 * grub-core/kern/device.c (grub_device_iterate): Likewise.
8763 * grub-core/normal/completion.c (iterate_partition): Likewise.
8764 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
8765 contain partition. All users updated.
8766 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
8767 struct.
8768 (grub_openbsdlabel_partition_map): Likewise.
8769 (bsdlabel_partition_map_iterate): Rename to ..
8770 (iterate_real): ... this. New arguments sector, freebsd and pmap.
8771 (bsdlabel_partition_map_iterate): New function.
8772 (netopenbsdlabel_partition_map_iterate): Likewise.
8773 (netbsdlabel_partition_map_iterate): Likewise.
8774 (openbsdlabel_partition_map_iterate): Likewise.
8775 (GRUB_MOD_INIT): Register new partmaps.
8776 (GRUB_MOD_FINI): Unregister new partmaps.
8777 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
8778 (grub_partition_msdos_iterate): ... this. All users updated.
8779 Don't support embedding other than in a minix partition.
8780 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
8781 proto.
8782 * include/grub/partition.h (grub_partition): New field msdostype.
8783 * util/grub-install.in: Handle openbsd and netbsd types being in
8784 part_bsd module.
8785
8786 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8787
8788 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
8789
8790 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
8791 * grub-core/Makefile.core.def (mdraid): Renamed to ...
8792 (mdraid09): ... this.
8793 (mdraid1x): New module.
8794 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
8795 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
8796
8797 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8798
8799 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
8800 vsprintf.
8801
8802 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8803
8804 * grub-core/commands/efi/lsefimmap.c: Correct header.
8805 * NEWS: Update.
8806
8807 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8808
8809 * util/grub-editenv.c (argp_parser): Don't pass translated strings
8810 as printf format strings; the translations might contain '%' which
8811 could cause a crash.
8812 (main): Likewise.
8813 * util/grub-fstest.c (argp_parser): Likewise.
8814 * util/grub-setup.c (argp_parser): Likewise.
8815 (main): Likewise.
8816
8817 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8818
8819 Use argp in grub-fstest.
8820
8821 * util/grub-fstest.c: Don't include getopt.h.
8822 Include argp.h.
8823 (root): New variable.
8824 (args_count): Likewise.
8825 (nparm): Likewise.
8826 (num_disks): Likewise.
8827 (images): Likewise.
8828 (cmd): Likewise.
8829 (debug_str): Likewise.
8830 (args): Likewise.
8831 (options): Transformed to argp.
8832 (usage): Removed.
8833 (main): Split argument parsing into ...
8834 (argp_parser): ... this. Changed to argp format.
8835 (argp): New variable.
8836 (main): Use argp_parse.
8837
8838 2010-09-20 Tristan Gingold <gingold@free.fr>
8839 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
8840 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8841
8842 * grub-core/commands/efi/lsefimmap.c: New file.
8843 * grub-core/Makefile.core.def (lsefimmap): New module.
8844 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
8845
8846 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8847
8848 Pause the execution (10s max) if any errors are displayed so the user
8849 has a chance to see them.
8850
8851 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
8852 (grub_print_error): Increment grub_err_printed_errors.
8853 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
8854 execution if any errors were displayed.
8855 (show_menu): Remove old code for pause.
8856 * grub-core/normal/menu_entry.c (run): Likewise.
8857 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
8858 users updated.
8859 (grub_normal_get_char_counter): Likewise.
8860 * include/grub/err.h (grub_err_printed_errors): New external variable.
8861 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
8862
8863 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8864
8865 Support multiboot VBE info.
8866
8867 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8868 Take VBE info into account.
8869 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
8870 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
8871 Call fill_vbe_info when appropriate.
8872 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
8873 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
8874 as supported.
8875 (grub_multiboot_get_mbi_size): Take new tags into account.
8876 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
8877 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
8878 Call fill_vbe_tag when appropriate.
8879 (grub_multiboot_make_mbi): Properly align tags.
8880 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
8881 function.
8882 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
8883 proto.
8884 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
8885
8886 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8887
8888 Suport manual terminal geometry specification.
8889
8890 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
8891 Save state in grub_ofconsole_terminfo_output.
8892 (grub_ofconsole_term): Use grub_terminfo_getwh.
8893 (grub_ofconsole_getwh): Removed.
8894 * grub-core/term/serial.c (grub_serial_getwh): Removed.
8895 (grub_serial_term): Use grub_terminfo_getwh.
8896 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
8897 (options): New struct.
8898 (OPTION_*): New enum.
8899 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
8900 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
8901 width and height.
8902 (grub_terminfo_getwh): New proto.
8903 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
8904
8905 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8906
8907 Handle legacy "terminal" command.
8908
8909 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
8910 and FLAG_TERMINAL.
8911 (legacy_commands): Add terminal and title.
8912 (grub_legacy_parse): Handle terminal. Simplify title handling.
8913
8914 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8915
8916 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
8917 parameters overflow.
8918
8919 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8920
8921 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
8922 widthspec.h.
8923
8924 * docs/grub.texi (Shell-like scripting): Document `!'.
8925 (Network): Simplify using new i386-pc-pxe format. Mention
8926 grub-mknetdir.
8927
8928 * NEWS: Update.
8929
8930 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8931
8932 * Makefile.am (SUBDIRS): Restore "."; it's important to force
8933 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
8934 when needed.
8935
8936 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8937
8938 * grub-core/commands/efi/lsefisystab.c: Correct header.
8939 * grub-core/commands/efi/lssal.c: Likewise.
8940 * grub-core/commands/testload.c: Likewise.
8941
8942 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8943
8944 * util/grub-mkrescue.in: Add explicit root argument to --set to
8945 prevent the UUID being interpreted as an argument to --set (matches
8946 previous change to prepare_grub_to_access_device).
8947
8948 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8949
8950 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
8951 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
8952 the verbosity of later #ifs.
8953 (find_partition_start): Define this function on FreeBSD too.
8954 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
8955 function.
8956 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
8957 on FreeBSD.
8958
8959 2010-09-20 Yves Blusseau <blusseau@zetam.org>
8960
8961 * util/grub-editenv.c: Use argp instead of getopt.
8962
8963 2010-09-20 Yves Blusseau <blusseau@zetam.org>
8964
8965 * util/grub-setup.c: Use argp instead of getopt.
8966
8967 2010-09-20 Yves Blusseau <blusseau@zetam.org>
8968
8969 Use gnulib-tool to create gnulib source files.
8970
8971 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
8972 grub-core/gnulib directories
8973 * .bzignore: Add **/.deps and autogenerated gnulib files
8974 * configure.ac: Assign auxiliary directory to build-aux, add invocation
8975 of gnulib macros, add grub-core/gnulib/Makefile
8976 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
8977 include m4 directory to aclocal.
8978 * Makefile.util.def: Remove direct compilation of gnulib source files
8979 and use the new grub-core/gnulib/libgnu.a.
8980 * build-aux/config.rpath: move config.rpath from top directory to
8981 build-aux
8982 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
8983 in gnulib headers
8984 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
8985 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
8986 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
8987 header.
8988 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
8989 string.
8990
8991 2010-09-20 Yves Blusseau <blusseau@zetam.org>
8992
8993 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
8994 grub-core/genmod.sh and grub-core/gensyminfo.sh
8995
8996 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
8997
8998 Add a test for echo command options.
8999
9000 * tests/grub_cmd_echo.in: New test.
9001 * Makefile.util.def: Rules for new test.
9002
9003 2010-09-20 Szymon Janc <szymon@janc.net.pl>
9004
9005 Remove crc.mod and move crc command to hashsum.mod.
9006 Remove lib/crc.c - users updated to use gcrypt implementation.
9007
9008 * grub-core/commands/crc.c: Removed.
9009 * grub-core/Makefile.core.def (crc): Module removed.
9010 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
9011 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
9012 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
9013 * grub-core/lib/crc.c: Removed.
9014 * include/grub/lib/crc.h: Removed.
9015 * Makefile.util.def (crc): Remove lib/crc.c
9016 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
9017 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
9018 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
9019 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
9020 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
9021 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
9022
9023 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9024
9025 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
9026
9027 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9028
9029 Split config.h for util and core.
9030
9031 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
9032 (ADDR32): Likewise.
9033 (DATA32): Likewise.
9034 (BSS_START_SYMBOL): Likewise.
9035 (END_SYMBOL): Likewise.
9036 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
9037 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
9038 * config.h.in: New file.
9039 * configure.ac: Use config-util.h as config define file.
9040 Rename MACHINE into GRUB_MACHINE. All users updated.
9041 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
9042 updated.
9043 (NESTED_FUNC_ATTR): Likewise.
9044 Substitue new variables.
9045 (COND_HAVE_ASM_USCORE): New conditional.
9046 * grub-core/Makefile.am (ASM_PREFIX): New variable.
9047 (kernel_syms.lst): Use ASM_PREFIX.
9048 * grub-core/kern/emu/console.c: Include config-util.h.
9049 * grub-core/kern/emu/misc.c: Likewise.
9050 * grub-core/kern/emu/mm.c: Likewise.
9051 * include/grub/emu/misc.h: Likewise.
9052 * include/grub/libgcc.h: Likewise.
9053
9054 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9055
9056 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
9057 constants usage.
9058 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
9059 Fix GRUB_TERM_KEY_* constants usage.
9060 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
9061
9062 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9063
9064 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
9065 print pointer.
9066 * grub-core/bus/usb/uhci.c: Remove empty define.
9067 (grub_uhci_check_transfer): Add missing cast.
9068 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
9069 print pointer.
9070 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
9071 PRIuGRUB_SIZE.
9072 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
9073
9074 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9075
9076 * grub-core/Makefile.core.def (legacycfg): Add
9077 lib/i386/pc/vesa_modes_table.c on emu.
9078
9079 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
9080
9081 Reduce number of temporary files generated by build system.
9082
9083 * grub-core/gencmdlist.sh: Removed.
9084 * grub-core/genfslist.sh: Removed.
9085 * grub-core/genhandlerlist.sh: Removed.
9086 * grub-core/genmodsrc.sh: Removed.
9087 * grub-core/genpartmaplist.sh: Removed.
9088 * grub-core/genparttoollist.sh: Removed.
9089 * grub-core/gentermiinallist.sh: Removed.
9090 * grub-core/genvideolist.sh: Removed.
9091
9092 * grub-core/genmod.sh.in: New file.
9093 * grub-core/gensyminfo.sh.in: New file.
9094
9095 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
9096 * conf/Makefile.extra-dist: Update with new files.
9097 * gentpl.py: Remove rules related to unnecessary temporary files.
9098 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
9099 and und-* files.
9100 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
9101 genmod.sh scripts.
9102 * grub-core/bus/usb/uhci.c: Remove empty #define.
9103 * grub-core/genmoddep.awk: Updated with new syminfo format.
9104 * util/bash-completion.d/Makefile.am: Add config.log to
9105 CLEANFILES.
9106
9107 2010-09-19 Yves Blusseau <blusseau@zetam.org>
9108
9109 * Makefile.util.def: Add forgotten $(LIBINTL) library.
9110
9111 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
9112
9113 * util/grub-mkconfig.in: Check the config script for syntax errors
9114 before saving.
9115
9116 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
9117 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9118
9119 * Makefile.util.def (grub-install): Use util/grub-install.in on all
9120 platforms.
9121 * util/grub-install.in: Add EFI and IEEE1275 support.
9122 * util/i386/efi/grub-install.in: Removed.
9123 * util/ieee1275/grub-install.in: Likewise.
9124
9125 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9126
9127 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
9128 (grub_cmd_cmosclean): Likewise.
9129 (GRUB_MOD_INIT): Register command cmosclean.
9130 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
9131 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
9132
9133 2010-09-18 Carles Pina i Estany <carles@pina.cat>
9134 2010-09-18 Aleš Nesrsta <starous@volny.cz>
9135 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9136
9137 Add keyboard layouts support.
9138
9139 * Makefile.util.def (grub-mklayout): New file.
9140 (grub-kbdcomp): New script.
9141 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
9142 Add keyboard_layouts.h.
9143 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
9144 commands/boot.c on yeeloong.
9145 (keylayouts): New module.
9146 * grub-core/bus/usb/ohci.c
9147 * grub-core/bus/usb/uhci.c
9148 * grub-core/bus/usb/usbhub.c (rescan): New variable.
9149 (grub_usb_add_hub): Poll interrupt pipe for device handling.
9150 (attach_root_port): Likewise.
9151 (poll_nonroot_hub): Likewise.
9152 (grub_usb_poll_devices): Likewise.
9153 (detach_device): Close transfer.
9154 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
9155 function.
9156 (grub_usb_bulk_setup_readwrite): Likewise.
9157 (grub_usb_bulk_finish_readwrite): Likewise.
9158 * grub-core/commands/keylayouts.c: New file.
9159 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
9160 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
9161 aliases.
9162 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
9163 support scancode 2.
9164 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
9165 * include/grub/keyboard_layouts.h: New file.
9166 * util/grub-mklayout.c: New file.
9167 * util/grub-kbdcomp.in: Likewise.
9168
9169 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9170
9171 Unify memory types.
9172
9173 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
9174 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
9175 types.
9176 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
9177 (grub_upper_mem): Likewise.
9178 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
9179 * include/grub/memory.h (grub_memory_type_t): New enum.
9180 All users updated.
9181
9182 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9183
9184 * grub-core/Makefile.core.def (lsapm): New module.
9185 * grub-core/commands/i386/pc/lsapm.c: New file.
9186 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
9187 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
9188 Likewise.
9189 * include/grub/i386/pc/apm.h: New file.
9190 * include/multiboot.h (multiboot_apm_info): New struct.
9191
9192 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9193
9194 GRUB-legacy configuration file support.
9195
9196 * Makefile.util.def (grub-menulst2cfg): New util.
9197 * docs/man/grub-menulst2cfg.h2m: New file.
9198 * grub-core/Makefile.core.def (legacycfg): New module.
9199 * grub-core/commands/legacycfg.c: New file.
9200 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
9201 (grub_normal_add_menu_entry): ... this.
9202 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
9203 (grub_normal_set_password): ...this.
9204 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
9205 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
9206 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
9207 * grub-core/lib/legacy_parse.c: New file.
9208 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
9209 * include/grub/i386/pc/vesa_modes_table.h: New file.
9210 * include/grub/legacy_parse.h: Likewise.
9211 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
9212 * util/grub-menulst2cfg.c: New file.
9213
9214 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
9215
9216 * grub-core/kern/emu/hostdisk.c
9217 (convert_system_partition_to_system_disk): Initialise node.
9218
9219 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
9220
9221 * grub-core/kern/emu/hostdisk.c
9222 (convert_system_partition_to_system_disk): Fix devmapper memory pool
9223 leak.
9224 Reported and based on patch by: Modestas Vainius.
9225
9226 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
9227
9228 Fix DM-RAID probing with recent versions of device-mapper udev
9229 rules.
9230
9231 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
9232 canonicalise device paths under /dev/mapper/.
9233 (convert_system_partition_to_system_disk): Compare the
9234 uncanonicalised path to /dev/mapper/ rather than the canonicalised
9235 path, since device nodes under /dev/mapper/ are often symlinks.
9236
9237 2010-09-17 Yves Blusseau <blusseau@zetam.org>
9238
9239 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
9240
9241 2010-09-16 Yves Blusseau <blusseau@zetam.org>
9242
9243 * configure.ac: Avoid some annoying error messages if freetype-config
9244 program is not found.
9245
9246 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
9247
9248 Support RAID on virtio devices, and others.
9249
9250 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
9251 Rename to ...
9252 [__MINGW32__] (grub_find_device): ... this.
9253 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
9254 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
9255 reasonable default if dir is NULL.
9256 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
9257 ...
9258 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
9259 (grub_guess_root_device): Update callers.
9260 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
9261
9262 * util/raid.c (grub_util_getdiskname): Remove.
9263 (grub_util_raid_getmembers): Use grub_find_device rather than
9264 grub_util_getdiskname.
9265
9266 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
9267
9268 * docs/grub.texi (serial): Remove obsolete comment about GRUB
9269 needing to be compiled with serial support.
9270 (ls): Indicate that multiple files are accepted.
9271 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
9272 indicate that multiple files are accepted.
9273
9274 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
9275
9276 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
9277 libgrub_a_init.c, and util/bash-completion.d/grub.
9278
9279 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9280
9281 * util/grub-setup.c (setup): Fix incorrect container semantics.
9282
9283 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9284
9285 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
9286 misusage.
9287 Reported by: J. Nick Terry
9288
9289 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9290
9291 Move embedding routines to partmap sources files.
9292
9293 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
9294 [GRUB_UTIL]: New variable.
9295 (gpt_partition_map_iterate): Set part.parent.
9296 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
9297 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
9298 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
9299 New function.
9300 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
9301 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
9302 (grub_partition_map) [GRUB_UTIL]: New field embed.
9303 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
9304 (setup): Use ->embed.
9305
9306 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9307
9308 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
9309 function.
9310 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
9311 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
9312
9313 2010-09-15 Yves Blusseau <blusseau@zetam.org>
9314
9315 Add function to get completions from usage.
9316
9317 * util/bash-completion.d/grub-completion.bash.in: Add function to get
9318 completions from usage. Use LC_ALL=C to get options properly.
9319
9320 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9321
9322 * grub-core/gnulib/basename-lgpl.c: Imported.
9323 * grub-core/gnulib/basename.c: Likewise.
9324 * grub-core/gnulib/dirname-lgpl.c: Likewise.
9325 * grub-core/gnulib/dirname.c: Likewise.
9326 * grub-core/gnulib/dirname.h: Likewise.
9327 * grub-core/gnulib/stripslash.c: Likewise.
9328
9329 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9330
9331 * grub-core/gnulib/error.c: Resynced.
9332 * grub-core/gnulib/getopt.c: Likewise.
9333 * grub-core/gnulib/getopt_int.h: Likewise.
9334 * grub-core/gnulib/regex.h: Likewise.
9335 * grub-core/gnulib/regex_internal.c: Likewise.
9336 * grub-core/gnulib/regex_internal.h: Likewise.
9337
9338 2010-09-15 Szymon Janc <szymon@janc.net.pl>
9339
9340 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
9341 CRC calculations and validity checks.
9342 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
9343 calculations.
9344
9345 2010-09-15 Szymon Janc <szymon@janc.net.pl>
9346
9347 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
9348
9349 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9350
9351 Fix incorrect echo options handling.
9352 Reported by: Yves Blusseau.
9353
9354 * include/grub/command.h (grub_command_flags_t): New flags
9355 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
9356 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
9357 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
9358
9359 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9360
9361 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
9362 users updated.
9363 (GRUB_COMMAND_FLAG_MENU): Likewise.
9364 (GRUB_COMMAND_FLAG_BOTH): Likewise.
9365 (GRUB_COMMAND_FLAG_TITLE): Removed.
9366 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
9367 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
9368 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
9369 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
9370 (grub_command_flags_t): New enum. All users updated.
9371
9372 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
9373
9374 Fix solaris compilation.
9375
9376 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
9377 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
9378 (grub-emu-list): Likewise.
9379
9380 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9381
9382 Remove deprecated root command.
9383
9384 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
9385 updated.
9386
9387 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9388
9389 * util/i386/pc/grub-setup.c: Merge this ...
9390 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
9391 * util/grub-setup.c: ... into this.
9392 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
9393 New struct.
9394
9395 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9396
9397 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
9398 possible.
9399
9400 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9401
9402 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
9403 allocate p.
9404
9405 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9406
9407 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
9408 explicit root argument to set to prevent UUID to be interpreted as
9409 argument to set.
9410
9411 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9412
9413 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
9414
9415 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9416
9417 Don't export grub_gate_a20.
9418
9419 * grub-core/kern/i386/pc/init.c: Remove leftovers.
9420 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
9421 to ...
9422 (grub_gate_a20): ... this. All users updated.
9423 * include/grub/i386/pc/init.h: Removed. All users updated.
9424
9425 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9426
9427 Create euro.pf2 which supports most European languages.
9428
9429 * Makefile.am (grubdata_DATA): Add euro.pf2.
9430 (euro.pf2): New target.
9431 (CLEANFILES): Add euro.pf2.
9432
9433 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9434
9435 * configure.ac: Disable emu-usb by default to prevent inadvertent
9436 device takeover.
9437
9438 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9439
9440 Disable usbserial on grub-emu since our libusb code isn't good enough
9441 yet.
9442
9443 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
9444 (usbserial_pl2303): Likewise.
9445 (usbserial_ftdi): Likewise.
9446
9447 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9448
9449 * include/grub/disk.h (grub_disk): Remove has_partitions.
9450 All users updated.
9451 * disk/loopback.c (grub_loopback): Remove has_partitions.
9452 All users updated.
9453 (options): Remove partitions. All users updated.
9454 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
9455 * util/i386/pc/grub-setup.c (setup): copy partition table only when
9456 actual partition table is found.
9457
9458 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9459
9460 Remove readability checks (too many false negatives).
9461
9462 * util/grub-install.in: Remove readability checks.
9463 * util/grub-mkconfig.in: Likewise.
9464 * util/grub.d/10_hurd.in: Likewise.
9465 * util/grub.d/10_kfreebsd.in: Likewise.
9466 * util/grub.d/10_linux.in: Likewise.
9467 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
9468 way.
9469
9470 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9471
9472 Enable acpi shutdown on all ACPI platforms.
9473
9474 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
9475 on coreboo, multiboot and EFI.
9476 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
9477 (grub_acpi_halt): Likewise.
9478 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
9479 (grub_cmd_halt): Don't call grub_acpi_halt directly.
9480 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
9481 * grub-core/lib/i386/halt.c (grub_halt)
9482 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
9483
9484 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9485
9486 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
9487 context.
9488
9489 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9490
9491 * grub-core/video/efi_gop.c: Fix over-80-chars line.
9492 * grub-core/video/efi_uga.c: Likewise.
9493
9494 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9495
9496 Filter devaliases and never open same device twice.
9497
9498 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
9499 (last_ihandle): Likewise.
9500 (ofdisk_hash_ent): New member shortest.
9501 (ofdisk_hash_add): Add canonical path too.
9502 (scan): New function.
9503 (grub_ofdisk_iterate): Iterate over hashed entries.
9504 (compute_dev_path): Don't add :0.
9505 (grub_ofdisk_open): Don't really open the disk.
9506 (grub_ofdisk_close): Avoid closing unrelated disk.
9507 (grub_ofdisk_read): Implement reopen logic.
9508 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
9509 New function.
9510 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
9511 New proto.
9512
9513 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9514
9515 Fix sparc64.
9516
9517 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
9518 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
9519 right address. Add sparc64_ieee1275_ldflags.
9520 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
9521 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
9522 to grub_host_to_target_addr
9523 (load_image): Likewise.
9524
9525 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9526
9527 * grub-core/normal/completion.c (complete_file): Handle device
9528 containing slash.
9529 Fix based on patch by Doug Nazar.
9530
9531 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9532
9533 grub-mknetdir script.
9534
9535 * Makefile.util.def (grub-mknetdir): New module.
9536 * tests/util/grub-shell.in: Support boot=net
9537 * util/grub-mknetdir.in: New file.
9538
9539 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9540
9541 videoinfo on non-vbe.
9542
9543 * grub-core/Makefile.core.def (vbeinfo): Removed.
9544 (vbetest): Removed.
9545 (videoinfo): New module.
9546 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
9547 * grub-core/commands/i386/pc/vbetest.c: Removed.
9548 * grub-core/commands/videoinfo.c: New file.
9549 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
9550 specification.
9551 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
9552 as vbetest.
9553 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
9554 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
9555 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
9556 mode_number. New parameter mode. All users updated.
9557 (grub_video_gop_iterate): New function.
9558 (grub_video_efi_gop): New member iterate.
9559 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
9560 (grub_vbe_set_video_mode): Remove setting useless fields.
9561 (vbe2videoinfo): New function.
9562 (grub_video_vbe_iterate): Likewise.
9563 (grub_video_vbe_setup): Use vbe2videoinfo.
9564 (grub_video_vbe_print_adapter_specific_info): New function.
9565 (grub_video_vbe_adapter): New fields iterate and
9566 print_adapter_specific_info.
9567 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
9568 All users updated.
9569 (grub_video_mode_info): New field mode_number.
9570 (grub_video_adapter): New fields iterate and
9571 print_adapter_specific_info.
9572
9573 2010-09-13 Tristan Gingold <gingold@free.fr>
9574 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
9575 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9576
9577 * grub-core/commands/efi/lsefisystab.c: New file.
9578 * grub-core/commands/efi/lssal.c: Likewise.
9579 * grub-core/Makefile.core.def (lsacpi): New module.
9580 (lsefisystab): Likewise.
9581 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
9582 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
9583 (grub_efi_sal_system_table): New struct.
9584 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
9585 (grub_efi_sal_system_table_memory_descriptor): Likewise.
9586 (grub_efi_sal_system_table_platform_features): Likewise.
9587 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
9588 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
9589 (grub_efi_sal_system_table_ap_wakeup): Likewise.
9590 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
9591
9592 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9593
9594 Support explicit user claim that a device is BIOS-visible.
9595
9596 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
9597 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
9598 * grub-core/kern/emu/hostdisk.c
9599 (convert_system_partition_to_system_disk): Support mdX.
9600 (find_system_device): New parameter add. All users updated.
9601 (grub_util_biosdisk_is_present): New function.
9602 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
9603 proto.
9604
9605 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9606
9607 Search hints support.
9608
9609 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
9610 All users updated.
9611
9612 2010-09-13 Yves Blusseau <blusseau@zetam.org>
9613
9614 Bash completion script for util commands
9615
9616 * Makefile.am: Add util/bash-completion.d directory
9617 * configure.ac: Likewise.
9618 * util/bash-completion.d/Makefile.am: New file.
9619 * util/bash-completion.d/grub-completion.bash.in: Likewise.
9620
9621 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9622
9623 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
9624 (print_backlog): set backlog_ucs4 and backlog_glyphs.
9625 Reported by: Yves Blusseau.
9626
9627 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9628
9629 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
9630 partition size and offset.
9631
9632 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9633
9634 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
9635
9636 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9637
9638 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
9639
9640 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9641
9642 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
9643 (grub_xvasprintf): Likewise.
9644
9645 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9646
9647 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
9648
9649 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9650
9651 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
9652 args ending with NULL.
9653
9654 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9655
9656 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
9657 pointer.
9658
9659 2010-09-11 Szymon Janc <szymon@janc.net.pl>
9660
9661 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
9662
9663 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9664
9665 Shutdown using ACPI.
9666
9667 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
9668 * grub-core/commands/acpihalt.c: New file.
9669 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
9670 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
9671 (grub_acpi_halt): New proto.
9672 (GRUB_ACPI_SLP_EN): New const.
9673 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
9674 (GRUB_ACPI_OPCODE_*): New enum.
9675 (GRUB_ACPI_EXTOPCODE_*): Likewise.
9676
9677 2010-09-11 Tristan Gingold <gingold@free.fr>
9678 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
9679 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9680
9681 * commands/lsacpi.c: New file.
9682 * grub-core/Makefile.core.def (lsacpi): New module.
9683 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
9684 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
9685 (grub_acpi_madt_entry_header): New struct.
9686 (grub_acpi_madt): Likewise.
9687 (grub_acpi_madt_entry_interrupt_override): Likewise.
9688 (grub_acpi_madt_entry_sapic): Likewise.
9689 (grub_acpi_madt_entry_lsapic): Likewise.
9690 (grub_acpi_madt_entry_platform_int_source): Likewise.
9691 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
9692 (PRIuGRUB_UINT32_T): Likewise.
9693 (PRIxGRUB_UINT64_T): Likewise.
9694
9695 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9696
9697 Implement loading palette on ieee1275_fb.
9698
9699 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
9700 (have_setcolors): Likewise.
9701 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
9702 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
9703 (grub_video_ieee1275_set_palette): Implement.
9704
9705 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9706 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
9707
9708 * util/grub-install.in (grub_partition): New variable.
9709 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
9710 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
9711 Fixes a bug reported by Yves Blusseau.
9712
9713 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9714
9715 Fix emu on mipsel.
9716
9717 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
9718 =grub_cpu_flush_cache on all mips and not only yeeloong.
9719 * configure.ac (COND_mips): New conditional.
9720 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
9721 platforms.
9722 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
9723 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
9724 [GRUB_LINKER_HAVE_INIT]: New function.
9725 (grub_emu_post_init): Likewise.
9726 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
9727 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
9728 * include/grub/cache.h (_mips): Include mips/cache.h.
9729 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
9730 LVM and RAID prototypes.
9731 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
9732 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
9733 function.
9734
9735 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
9736
9737 * util/grub-install.in: Don't try to verify core.img until after
9738 running grub-mkimage to create it.
9739
9740 2010-09-10 Robert Millan <rmh@gnu.org>
9741
9742 * util/grub.d/10_hurd.in: Add misc readability checks.
9743 * util/grub.d/10_kfreebsd.in: Likewise.
9744 * util/grub.d/10_linux.in: Likewise.
9745
9746 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
9747
9748 * util/grub-install.in: ${imgext} won't be defined here until the
9749 install branch is merged. For the meantime, only verify core.img on
9750 i386-pc and sparc64-ieee1275 platforms.
9751
9752 2010-09-10 Robert Millan <rmh@gnu.org>
9753
9754 Solaris support in grub_find_zpool_from_dir(). Thanks
9755 Seth Goldberg for referring to getextmntent() facility.
9756
9757 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
9758 `sys/mkdev.h'.
9759 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
9760 `<sys/mnttab.h>'.
9761 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
9762 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
9763 method for finding zpool name.
9764
9765 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
9766
9767 grub-fstest needs the host and hostfs modules while other utilities
9768 actively require those modules to be absent, so grub-fstest needs
9769 its own initialisation and finalisation code.
9770
9771 * Makefile.am (grub_fstest.pp): New target.
9772 (grub_fstest_init.lst): Likewise.
9773 (grub_fstest_init.c): Likewise.
9774 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
9775
9776 2010-09-10 Robert Millan <rmh@gnu.org>
9777
9778 * configure.ac: Check for `struct statfs.f_fstypename' and
9779 `struct statfs.f_mntfromname'.
9780
9781 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
9782 kFreeBSD-specific code.
9783
9784 2010-09-10 Robert Millan <rmh@gnu.org>
9785
9786 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
9787 on ZFS. Now non-main filesystems are supported as / too.
9788
9789 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
9790
9791 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
9792 and grub-core/disk/host.c to ...
9793 (grub-fstest): ... here. Having the host disk implementation
9794 present confuses grub-probe and other utility programs.
9795
9796 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
9797 when writing to a file, not when writing to stdout.
9798
9799 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
9800
9801 * tests/partmap_test.in: New test for partitions.
9802 * Makefile.util.def: Rules for new test.
9803
9804 2010-09-09 Robert Millan <rmh@gnu.org>
9805
9806 * util/grub-probe.c (probe): Fix a pair of unhandled error
9807 conditions.
9808
9809 2010-09-09 Robert Millan <rmh@gnu.org>
9810
9811 Basic Btrfs support (detection and UUID).
9812
9813 * grub-core/fs/btrfs.c: New file.
9814 * Makefile.util.def (library): Register btrfs.c.
9815 * grub-core/Makefile.core.def: Likewise.
9816
9817 2010-09-08 Robert Millan <rmh@gnu.org>
9818
9819 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
9820 with (optional) parameters to specify device and relative path.
9821 * util/grub-install.in: Use is_path_readable_by_grub() to
9822 verify readability of a few critical files.
9823 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
9824 verify readability of grub.cfg.new.
9825
9826 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9827
9828 Split minix.mod into minix.mod and minix2.mod.
9829
9830 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
9831 * grub-core/Makefile.core.def (minix2): New module.
9832 * grub-core/fs/minix.c: Use definitions instead of runtime version
9833 checking.
9834 * grub-core/fs/minix2.c: New file.
9835
9836 2010-09-08 Yves Blusseau <blusseau@zetam.org>
9837
9838 Add new --boot-directory option to replace --root-directory
9839
9840 * util/grub-install.in: Add new --boot-directory option
9841 * util/grub-reboot.in: Likewise.
9842 * util/grub-set-default.in: Likewise.
9843
9844 2010-09-08 Yves Blusseau <blusseau@zetam.org>
9845
9846 * util/grub-mkconfig.in: Use new variable.
9847
9848 2010-09-08 Yves Blusseau <blusseau@zetam.org>
9849
9850 * configure.ac: Define some useful variables.
9851
9852 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9853
9854 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9855 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
9856 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
9857 Use terminfo and don't use cursor-on/cursor-off unless it's known
9858 to work.
9859 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
9860 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
9861
9862 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
9863
9864 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
9865 starts with "(,", fill the drive containing the loaded image in
9866 between those two characters, but expect that a full partition
9867 specification including partition map names will follow.
9868
9869 2010-09-08 Robert Millan <rmh@gnu.org>
9870
9871 * configure.ac: Remove `--enable-grub-fstest' option.
9872 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
9873
9874 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
9875 `grub-fstest' instead of `grub-probe' for readability verification.
9876 * util/grub-probe.c (probe): Remove readability verification kludge.
9877
9878 2010-09-08 Robert Millan <rmh@gnu.org>
9879
9880 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
9881 initializing `GRUB_FS'.
9882
9883 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
9884
9885 Not command (!) support to GRUB script.
9886
9887 * tests/grub_script_not.in: New test.
9888 * Makefile.util.def: Rules for new test.
9889
9890 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
9891 ! command as a special case.
9892 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
9893
9894 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9895
9896 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
9897 grub_free.
9898
9899 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9900
9901 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
9902
9903 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9904
9905 * docs/grub.texi (Shell-like scripting): Documentation for break,
9906 continue, shift and return commands.
9907
9908 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
9909
9910 Rename CD-ROM to cd on BIOS.
9911
9912 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
9913 "cd".
9914 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
9915
9916 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9917
9918 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
9919 * util/grub-probe.c (main): Likewise.
9920 * util/i386/pc/grub-setup.c (main): Likewise.
9921 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
9922 Reported and debugged by: alexxy
9923
9924 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9925
9926 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
9927 diagnostic info.
9928
9929 2010-09-05 Jo Shields <directhex@apebox.org>
9930
9931 * util/grub.d/30_os-prober.in: Add missing classes.
9932
9933 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9934
9935 * docs/grub.texi (Theme file format): Document new position format.
9936
9937 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9938
9939 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
9940 a table. Use @code instead of @verbatim.
9941
9942 2010-09-05 Colin D Bennett <colin@gibibit.com>
9943
9944 Gfxmenu documentation.
9945
9946 * docs/grub.texi (Theme file format): New chapter.
9947
9948 2010-09-05 Szymon Janc <szymon@janc.net.pl>
9949
9950 * grub-core/Makefile.core.def (xzio): New module.
9951 * grub-core/io/xzio.c: New file.
9952 * grub-core/lib/xzembed/xz.h: New file (from xembed).
9953 * grub-core/lib/xzembed/xz_config.h: Likewise.
9954 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
9955 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
9956 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
9957 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
9958 * grub-core/lib/xzembed/xz_private.h: Likewise.
9959 * grub-core/lib/xzembed/xz_stream.h: Likewise.
9960 * include/grub/file.h (grub_file_filter_id): New compression filter
9961 GRUB_FILE_FILTER_XZIO.
9962
9963 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9964
9965 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
9966 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
9967 size.
9968
9969 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9970
9971 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
9972 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
9973
9974 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9975
9976 Uncompressed checksum support.
9977
9978 * grub-core/commands/hashsum.c (options): Add option --uncompress.
9979 (check_list): New parameter uncompress.
9980 (grub_cmd_hashsum): Handle --uncompress.
9981
9982 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9983
9984 Reintroduce testload.
9985
9986 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
9987 from here ...
9988 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
9989 (GRUB_MOD_INIT): New function.
9990 (GRUB_MOD_FINI): Likewise.
9991 * grub-core/Makefile.core.def (testload): New module.
9992
9993 2010-09-05 Szymon Janc <szymon@janc.net.pl>
9994
9995 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
9996 (uint8_t): New type.
9997 (uint16_t): Likewise.
9998 (uint32_t): Likewise.
9999 (uint64_t): Likewise.
10000
10001 2010-09-05 Szymon Janc <szymon@janc.net.pl>
10002
10003 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
10004
10005 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10006
10007 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
10008 Made static.
10009 (grub_gzfile_open): Removed. All users updated.
10010 (GRUB_MOD_INIT): New function.
10011 (GRUB_MOD_FINI): Likewise.
10012 * grub-core/kern/file.c (grub_file_filters_all): New variable.
10013 (grub_file_filters_enabled): Likewise.
10014 (grub_file_open): Handle filters.
10015 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
10016 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
10017 * include/grub/file.h (grub_file_filter_id_t): New type.
10018 (grub_file_filter_t): Likewise.
10019 (grub_file_filters_all): New extern variable.
10020 (grub_file_filters_enabled): Likewise.
10021 (grub_file_filter_register): New inline function.
10022 (grub_file_filter_unregister): Likewise.
10023 (grub_file_filter_disable): Likewise.
10024 (grub_file_filter_disable_compression): Likewise.
10025 * include/grub/gzio.h: Removed.
10026
10027 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10028
10029 Filename expansion support for wildcards in GRUB script.
10030
10031 * tests/grub_script_expansion.in: New test.
10032 * Makefile.util.def: Rule for new test.
10033
10034 * grub-core/commands/wildcard.c: New file, implements filename
10035 expansion support for GRUB script.
10036 * grub-core/Makefile.core.def: Rule update for regexp.mod.
10037 * grub-core/script/argv.c: Cosmetic changes.
10038 * grub-core/script/execute.c (grub_script_arglist_to_argv):
10039 Refactored to perform wildcard expansion on arguments.
10040 * include/grub/script_sh.h (grub_script_wildcard_translator): New
10041 struct.
10042
10043 * tests/util/grub-shell.in: Fix quoting for read input.
10044
10045 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10046
10047 Support for updating environment variables with matched substrings
10048 of regexp.
10049
10050 * tests/grub_cmd_regexp.in: New test.
10051 * Makefile.util.def: Rule for new test.
10052
10053 * grub-core/commands/regexp.c: New option -s to update environment
10054 variables with regexp matches.
10055
10056 2010-09-04 Szymon Janc <szymon@janc.net.pl>
10057
10058 * include/grub/file.h (grub_file): New member not_easly_seekable.
10059 (grub_file_seekable): New inline function.
10060 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
10061 easily seekable.
10062 (grub_gzio_open): Set not_easly_seekable.
10063 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
10064 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
10065
10066 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10067
10068 Support for options to appear multiple times on cmdline.
10069
10070 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
10071 * grub-core/commands/extcmd.c: Support for repeatable option.
10072 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
10073 repeatable option support.
10074
10075 Refactor menuentry into a regular command.
10076
10077 * grub-core/commands/menuentry.c: New file, menuentry command
10078 implementation.
10079 * grub-core/Makefile.core.def: Rule update for normal.mod.
10080 * grub-core/normal/main.c: Moved menuentry creation to
10081 grub-core/commands/menuentry.c.
10082 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
10083 (grub_menu_execute_entry_real): Removed.
10084 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
10085 function.
10086 (grub_script_execute_menuentry): Removed.
10087 * grub-core/script/parser.y (menuentry): Removed.
10088 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
10089 * grub-core/script/yylex.l (menuentry): Removed.
10090 * include/grub/menu.h (grub_menu_init): New prototype.
10091 (grub_menu_fini): New prototype.
10092 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
10093 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
10094 (grub_script_execute_sourcecode): New prototype.
10095
10096 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10097
10098 "return" command for GRUB script functions.
10099
10100 * tests/grub_script_return.in: New test.
10101 * Makefile.util.def: Rules for new test.
10102
10103 * grub-core/script/execute.c (grub_script_return): New function.
10104 * grub-core/script/main.c: Register/unregister return commaond.
10105 * include/grub/script_sh.h (grub_script_return): New prototype.
10106
10107 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10108
10109 "setparams" command to update positional parameters.
10110
10111 * tests/grub_script_setparams.in: New test.
10112 * Makefile.util.def: Rules for new test.
10113
10114 * grub-core/script/argv.c (grub_script_argv_make): New function.
10115 * grub-core/script/execute.c (replace_scope): New function.
10116 (grub_script_setparams): New function.
10117 * grub-core/script/lexer.c: Remove unused variables.
10118 * grub-core/script/main.c: Register/unregister setparams command.
10119 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
10120 (grub_script_setparams): New prototype.
10121
10122 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10123
10124 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
10125 grub_free order.
10126
10127 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10128
10129 Support for passing block of commands as an argument to extcmds.
10130
10131 * Makefile.util.def: Rules for new test.
10132 * tests/grub_script_blockarg.in: New test.
10133 * grub-core/tests/test_blockarg.c: New file, block argument
10134 command used in the test.
10135
10136 * include/grub/extcmd.h (grub_extcmd_context): New struct.
10137 (grub_register_extcmd_prio): New function prototype.
10138 (grub_extcmd_dispatcher): New function prototype.
10139 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
10140 type.
10141 * include/grub/script_sh.h (struct grub_script): New members
10142 `children', `next_siblings' and `refcnt' for block arguments and
10143 reference counting.
10144 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
10145 (grub_script_arg): New member `script' for block argument.
10146 (grub_script_argv): New member `script' for block argument.
10147 (grub_parser_param): New member `scripts' for block argument.
10148 (grub_script_mem_free): New extern function prototype.
10149 (grub_script_ref): New function prototype.
10150 (grub_script_unref): New function prototype.
10151
10152 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
10153 extcmd form to support block arguments.
10154 * grub-core/script/argv.c: Block arguments support.
10155 * grub-core/script/execute.c: Likewise.
10156 * grub-core/script/lexer.c: Likewise.
10157 * grub-core/script/main.c: Likewise.
10158 * grub-core/script/script.c: Likewise.
10159 * grub-core/script/parser.y: Likewise. New `block' and `block0'
10160 non-terminals.
10161
10162 * grub-core/commands/acpi.c: Update extcmd implementations with
10163 grub_extcmd_context_t.
10164 * grub-core/commands/cat.c: Likewise.
10165 * grub-core/commands/echo.c: Likewise.
10166 * grub-core/commands/extcmd.c: Likewise.
10167 * grub-core/commands/hashsum.c: Likewise.
10168 * grub-core/commands/hdparm.c: Likewise.
10169 * grub-core/commands/help.c: Likewise.
10170 * grub-core/commands/hexdump.c: Likewise.
10171 * grub-core/commands/i386/cpuid.c: Likewise.
10172 * grub-core/commands/i386/pc/drivemap.c: Likewise.
10173 * grub-core/commands/i386/pc/halt.c: Likewise.
10174 * grub-core/commands/i386/pc/sendkey.c: Likewise.
10175 * grub-core/commands/iorw.c: Likewise.
10176 * grub-core/commands/keystatus.c: Likewise.
10177 * grub-core/commands/loadenv.c: Likewise.
10178 * grub-core/commands/ls.c: Likewise.
10179 * grub-core/commands/lspci.c: Likewise.
10180 * grub-core/commands/memrw.c: Likewise.
10181 * grub-core/commands/probe.c: Likewise.
10182 * grub-core/commands/search_wrap.c: Likewise.
10183 * grub-core/commands/setpci.c: Likewise.
10184 * grub-core/commands/sleep.c: Likewise.
10185 * grub-core/disk/loopback.c: Likewise.
10186 * grub-core/hello/hello.c: Likewise.
10187 * grub-core/loader/i386/bsd.c: Likewise.
10188 * grub-core/loader/xnu.c: Likewise.
10189 * grub-core/term/gfxterm.c: Likewise.
10190 * grub-core/term/serial.c: Likewise.
10191 * grub-core/tests/lib/functional_test.c: Likewise.
10192
10193 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10194
10195 Multi-line quoted strings support.
10196
10197 * grub-core/script/lexer.c (append_newline): Removed.
10198 (grub_script_lexer_yywrap): Refactored.
10199 (grub_script_lexer_init): Refactored.
10200 * grub-core/script/yylex.l (yywrap): New function.
10201 (grub_lexer_resplit): New function.
10202 (grub_lexer_unput): New function.
10203 * include/grub/script_sh.h (grub_lexer_param): New members, unput
10204 and resplit.
10205 * tests/grub_script_echo1.in: Added few more testcases.
10206
10207 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
10208
10209 * grub-core/kern/misc.c: Don't add abort alias in utils.
10210 Reported by: echoline.
10211
10212 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
10213
10214 Add missing files into "make dist" tarball for other platforms.
10215
10216 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
10217 * conf/Makefile.common (dist_noinst_DATA): New variable.
10218 * conf/Makefile.extra-dist: Added missing make dist files.
10219 * grub-core/Makefile.core.def: Likewise.
10220
10221 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
10222
10223 Compress grub_prefix.
10224
10225 * grub-core/boot/i386/pc/lnxboot.S: Use
10226 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
10227 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
10228 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
10229 GRUB_MACHINE_PREFIX_END. All users updated.
10230 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
10231 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
10232 + 0x40.
10233 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
10234 * util/grub-mkimage.c (image_target_desc): Change data_end to
10235 prefix_end. All users updated.
10236
10237 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
10238
10239 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
10240 value.
10241 (grub_openbsd_boot): Likewise.
10242 (grub_netbsd_boot): Likewise.
10243 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
10244 (grub_xnu_boot): Likewise.
10245
10246 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10247
10248 * configure.ac: Clean LIBS variable after tests.
10249
10250 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
10251
10252 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
10253
10254 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10255
10256 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
10257 echo if libdevmapper will be used.
10258
10259 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
10260
10261 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
10262 constant for the same file.
10263
10264 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10265
10266 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
10267
10268 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
10269
10270 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
10271 grub-core/*.pp.
10272
10273 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
10274
10275 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
10276 required by the boot protocol.
10277
10278 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
10279 ebp and edi members.
10280 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
10281 state.ebp and state.edi.
10282 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
10283 %ebp and %edi according to grub_relocator32_ebp and
10284 grub_relocator32_edi respectively.
10285 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
10286 and state.edi.
10287
10288 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10289
10290 Add i386-pc-pxe image target.
10291
10292 * util/grub-mkimage.c (image_target_desc): New enum value
10293 IMAGE_I386_PC_PXE.
10294 (image_targets): New target i386-pc-pxe.
10295 (generate_image): Handle i386-pc-pxe image.
10296
10297 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10298
10299 Fix grub_pxe_scan.
10300
10301 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
10302 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
10303 All users updated.
10304 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
10305 (grub_pxe_pxenv): Correct type.
10306
10307 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
10308
10309 * NEWS: Document most of the important changes since 1.98.
10310
10311 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
10312
10313 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
10314 generated manual page) a little.
10315
10316 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
10317
10318 * docs/grub.texi: Add myself as an author.
10319
10320 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
10321
10322 * Makefile.util.def (libgrub.a): Add missing sunpc.
10323 Reported by: Seth Goldberg.
10324
10325 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10326
10327 Interrupt wrapping and code simplifications.
10328
10329 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
10330 x86_noieee1275 which are functionaly equivalent in this case.
10331 (grub-install): Make source on each platform explicit. Enable on
10332 all noemu.
10333 * gentpl.py (x86_efi_pc): Removed group.
10334 (x86_noefi): Likewise.
10335 (i386_noefi): Likewise.
10336 (x86_noieee1275): Likewise.
10337 (i386_noieee1275): Likewise.
10338 (i386_noefi_noieee1275): Likewise.
10339 (i386_pc_qemu_coreboot): Likewise.
10340 (i386_coreboot_multiboot): Likewise.
10341 (i386_pc_coreboot_multiboot_qemu): Likewise.
10342 (x86_noefi_mips): Likewise.
10343 (noieee1275): Likewise.
10344 (ieee1275_mips): Likewise.
10345 (noemu_noieee1275): Likewise.
10346 (cmos): New group.
10347 (usb): Likewise.
10348 (videoinkernel): Likewise.
10349 (videomodules): Likewise.
10350 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
10351 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
10352 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
10353 include/grub/loader.h, include/grub/msdos_partition.h,
10354 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
10355 include/grub/machine/console.h, include/grub/machine/vga.h,
10356 include/grub/machine/vbe.h, include/grub/machine/init.h,
10357 include/grub/machine/kernel.h, include/grub/cpu/time.h,
10358 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
10359 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
10360 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
10361 * grub-core/Makefile.core.def (kernel): Explicit the source for
10362 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
10363 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
10364 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
10365 Use videoinkernel tag.
10366 (usb): Enable on all usb.
10367 (usbserial_common): Likewise.
10368 (usbserial_pl2303): Likewise.
10369 (usbserial_ftdi): Likewise.
10370 (uhci): Enable on all x86.
10371 (ohci): Enable on all pci.
10372 (cmostest): Enable on all CMOS.
10373 (acpi): Include commands/acpi.c on all platforms.
10374 (halt): Add relevant lib/*/halt.c.
10375 (hdparm): Enable on all pci.
10376 (lspci): Likewise.
10377 (usbtest): Enable on all usb.
10378 (ata): Enable on all pci.
10379 (ata_pthru): Likewise.
10380 (usbms): Enable on all usb.
10381 (usb_keyboard): Likewise.
10382 (font): Use tag videomodules.
10383 (bufio): Likewise.
10384 (datetime): Use tag cmos. Enable on all noemu.
10385 (mmap): Use tags common and x86.
10386 (gfxterm): Use tag videomodules.
10387 (bitmap): Likewise.
10388 (bitmap_scale): Likewise.
10389 (video_fb): Likewise.
10390 (video): Likewise.
10391 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
10392 adjust padding accordingly. All users updated.
10393 (grub_ohci_transaction): Fix bad format specification.
10394 (GRUB_MOD_INIT): Add asserts for struct size.
10395 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
10396 (grub_alloc_td): Likewise.
10397 (grub_free_queue): Likewise.
10398 (grub_uhci_transfer): Likewise.
10399 (grub_uhci_transaction): Fix bad format specification.
10400 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
10401 (grub_usb_bulk_readwrite): Likewise.
10402 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
10403 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
10404 Made static.
10405 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
10406 Made static.
10407 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
10408 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
10409 Transformed into C.
10410 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
10411 Moved from here ...
10412 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
10413 ... here. Transformed into C. Made static.
10414 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
10415 Moved from here ...
10416 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
10417 ... here. Transformed into C. Made static.
10418 * grub-core/kern/i386/pc/startup.S
10419 (grub_biosdisk_check_int13_extensions): Moved from here ...
10420 * grub-core/disk/i386/pc/biosdisk.c
10421 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
10422 Made static.
10423 * grub-core/kern/i386/pc/startup.S
10424 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
10425 * grub-core/disk/i386/pc/biosdisk.c
10426 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
10427 Transformed into C. Made static.
10428 * grub-core/kern/i386/pc/startup.S
10429 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
10430 * grub-core/disk/i386/pc/biosdisk.c
10431 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
10432 Transformed into C. Made static.
10433 * grub-core/kern/i386/pc/startup.S
10434 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
10435 * grub-core/disk/i386/pc/biosdisk.c
10436 (grub_biosdisk_get_diskinfo_standard): ... here.
10437 Transformed into C. Made static.
10438 * grub-core/kern/i386/pc/startup.S
10439 (grub_biosdisk_get_num_floppies): Moved from here ...
10440 * grub-core/disk/i386/pc/biosdisk.c
10441 (grub_biosdisk_get_num_floppies): ... here.
10442 Transformed into C. Made static.
10443 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
10444 New function.
10445 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
10446 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
10447 Transformed into C. Made static.
10448 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
10449 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
10450 Transformed into C. Made static.
10451 * grub-core/kern/i386/ieee1275/init.c: Removed.
10452 * grub-core/kern/i386/misc.S: Likewise.
10453 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
10454 Splitted from here ...
10455 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
10456 Transformed into C. Made static. All users updated.
10457 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
10458 Transformed into C. Made static. All users updated.
10459 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
10460 Moved from here...
10461 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
10462 Transformed into C. Made static. All users updated.
10463 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
10464 Moved from here...
10465 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
10466 Transformed into C. Made static. All users updated.
10467 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
10468 Removed (replaced by C version).
10469 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
10470 Moved from here...
10471 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
10472 Transformed into C. Made static.
10473 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
10474 Moved from here...
10475 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
10476 ... here. Transformed into C.
10477 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
10478 Moved from here...
10479 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
10480 ... here. Transformed into C.
10481 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
10482 Moved from here...
10483 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
10484 ... here. Transformed into C. Made static.
10485 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
10486 Moved from here...
10487 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
10488 ... here. Transformed into C.
10489 * grub-core/kern/i386/pc/startup.S
10490 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
10491 * grub-core/video/i386/pc/vbe.c
10492 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
10493 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
10494 Moved from here...
10495 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
10496 ... here. Transformed into C.
10497 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
10498 Moved from here...
10499 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
10500 ... here. Transformed into C.
10501 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
10502 Moved from here...
10503 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
10504 ... here. Transformed into C.
10505 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
10506 Moved from here...
10507 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
10508 ... here. Transformed into C.
10509 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
10510 Moved from here...
10511 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
10512 ... here. Transformed into C. Made static.
10513 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
10514 Moved from here...
10515 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
10516 ... here. Transformed into C. Made static.
10517 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
10518 Moved from here...
10519 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
10520 ... here. Transformed into C. Made static.
10521 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
10522 pxe_rm_entry as third argument.
10523 (grub_bios_interrupt): New function.
10524 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
10525 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
10526 of calling grub_stop.
10527 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
10528 * grub-core/lib/efi/halt.c (grub_halt): ...here.
10529 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
10530 * grub-core/lib/emu/halt.c (grub_halt): ... here.
10531 * grub-core/lib/i386/halt.c: Moved from here ...
10532 * grub-core/lib/i386/halt.c: ... here.
10533 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
10534 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
10535 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
10536 grub_stop_floppy.
10537 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
10538 * include/grub/i386/coreboot/init.h: Removed.
10539 * include/grub/i386/multiboot/init.h: Likewise.
10540 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
10541 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
10542 * include/grub/i386/pc/int.h: New file.
10543 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
10544 (grub_pxe_scan): Removed.
10545 (grub_pxe_call): Update prototype.
10546 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
10547 prototypes.
10548 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
10549 * include/grub/i386/qemu/init.h: Removed.
10550 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
10551 noreturn.
10552 (grub_halt): Likewise.
10553 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
10554 (grub_reboot): Likewise.
10555 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
10556 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
10557 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
10558
10559 2010-08-30 Robert Millan <rmh@gnu.org>
10560
10561 * NEWS: Document addition of ZFS support in `grub-install' and
10562 `grub-mkconfig'.
10563
10564 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
10565
10566 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
10567 dprintf output.
10568
10569 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10570
10571 Remove leftover embedding of font objects.
10572
10573 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
10574 * util/grub-install.in (font): Removed.
10575 * util/grub-mkimage.c (generate_image): Remove font support. All users
10576 updated.
10577
10578 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10579
10580 Remove leftover embedding of font objects.
10581
10582 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
10583 * util/grub-install.in (font): Removed.
10584 * util/grub-mkimage.c (generate_image): Remove font support. All users
10585 updated.
10586
10587 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10588
10589 * docs/grub.texi (Network): Fix reference to pxe_blksize.
10590 Reported by: Ian Turner
10591
10592 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10593
10594 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
10595 timeout to avoid indefinite boot stalling.
10596
10597 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10598
10599 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
10600 (grub_env_write_color_highlight): Likewise.
10601
10602 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10603
10604 * grub-core/normal/term.c (print_more): Return to normal and not
10605 to standard state after printing "---MORE---".
10606
10607 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10608
10609 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
10610 Mask out the bit 0x80 since it has other meaning that specifiing color.
10611
10612 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10613
10614 New relocator. Allows for more kernel support and more straightforward
10615 loader writing.
10616
10617 * Makefile.am (BOOTTARGET): New variable.
10618 (QEMU32): Likewise.
10619 (linux.init.x86_64): New target.
10620 (linux.init.i386): Likewise.
10621 (multiboot.elf): Likewise.
10622 (kfreebsd.elf): Likewise.
10623 (kfreebsd.aout): Likewise.
10624 (pc-chainloader.elf): Likewise.
10625 (pc-chainloader.bin): Likewise.
10626 (ntldr.elf): Likewise.
10627 (ntldr.bin): Likewise.
10628 (multiboot2.elf): Likewise.
10629 (kfreebsd.init.x86_64): Likewise.
10630 (kfreebsd.init.i386): Likewise.
10631 (knetbsd.init.i386): Likewise.
10632 (kopenbsd.init.i386): Likewise.
10633 (knetbsd.init.x86_64): Likewise.
10634 (kopenbsd.init.x86_64): Likewise.
10635 (linux-initramfs.i386): Likewise.
10636 (linux-initramfs.x86_64): Likewise.
10637 (kfreebsd-mfsroot.i386.img): Likewise.
10638 (knetbsd.image.i386): Likewise.
10639 (kopenbsd.image.i386): Likewise.
10640 (kopenbsd.image.x86_64): Likewise.
10641 (knetbsd.miniroot-image.i386.img): Likewise.
10642 (kfreebsd-mfsroot.x86_64.img): Likewise.
10643 (knetbsd.image.x86_64): Likewise.
10644 (knetbsd.miniroot-image.x86_64.img): Likewise.
10645 (kfreebsd-mfsroot.i386.gz): Likewise.
10646 (bootcheck-kfreebsd-i386): Likewise.
10647 (kfreebsd-mfsroot.x86_64.gz): Likewise.
10648 (bootcheck-kfreebsd-x86_64): Likewise.
10649 (knetbsd.miniroot-image.i386.gz): Likewise.
10650 (bootcheck-knetbsd-i386): Likewise.
10651 (bootcheck-kopenbsd-i386): Likewise.
10652 (bootcheck-kopenbsd-x86_64): Likewise.
10653 (knetbsd.miniroot-image.x86_64.gz): Likewise.
10654 (bootcheck-knetbsd-x86_64): Likewise.
10655 (bootcheck-linux-i386): Likewise.
10656 (bootcheck-linux-x86_64): Likewise.
10657 (bootcheck-linux16-i386): Likewise.
10658 (bootcheck-linux16-x86_64): Likewise.
10659 (bootcheck-multiboot): Likewise.
10660 (bootcheck-multiboot2): Likewise.
10661 (bootcheck-kfreebsd-aout): Likewise.
10662 (bootcheck-pc-chainloader): Likewise.
10663 (bootcheck-ntldr): Likewise.
10664 (CLEANFILES): Add new targets.
10665 (BOOTCHECKS): New variable.
10666 (.PHONY): Add bootchecks.
10667 (SUCCESSFUL_BOOT_STRING): New variable.
10668 (BOOTCHECK_TIMEOUT): Likewise.
10669 (bootcheck): New target
10670 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
10671 * configure.ac: Correct efiemu excuse.
10672 * docs/grub.texi (Supported kernels): New chapter.
10673 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
10674 include/grub/mm_private.h. Simplify inclusion of
10675 include/grub/boot.h, include/grub/loader.h
10676 and include/grub/msdos_partition.h
10677 (KERNEL_HEADER_FILES) [i386_coreboot]:
10678 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
10679 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
10680 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
10681 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
10682 include/grub/machine/loader.h.
10683 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
10684 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
10685 extra_dist.
10686 (pci.mod): Enable on i386-multiboot.
10687 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
10688 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
10689 i386-qemu.
10690 (relocator.mod): Rewritten.
10691 (aout.mod): Enable on all x86.
10692 (bsd.mod): Likewise.
10693 (ntldr.mod): New module.
10694 (linux.mod): Use loader/i386/linux.c on all x86.
10695 (xnu.mod): Enable on all x86.
10696 (vga_text.mod): disable on EFI and QEMU.
10697 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
10698 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
10699 * grub-core/efiemu/loadcore.c: Likewise.
10700 * grub-core/efiemu/main.c: Likewise.
10701 (grub_efiemu_exit_boot_services): Removed.
10702 (grub_efiemu_finish_boot_services): Likewise.
10703 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
10704 function.
10705 * grub-core/efiemu/i386/nocfgtables.c: New file.
10706 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
10707 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
10708 (grub_efi_finish_boot_services): Moved from here ...
10709 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
10710 Fille finish memory map and related data.
10711 (finish_mmap_buf): New variable.
10712 (grub_efi_uintn_t finish_mmap_size): Likewise.
10713 (grub_efi_uintn_t finish_key): Likewise.
10714 (grub_efi_uintn_t finish_desc_size): Likewise.
10715 (grub_efi_uint32_t finish_desc_version): Likewise.
10716 (grub_efi_is_finished): Likewise.
10717 (grub_efi_get_memory_map): Use saved memory map if EFI is already
10718 finished.
10719 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
10720 (grub_elf64_phdr_iterate): Likewise.
10721 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
10722 (grub_os_area_size): Likewise.
10723 (grub_machine_init): Don't reserve os area.
10724 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
10725 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
10726 * grub-core/kern/i386/loader.S: Removed.
10727 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
10728 (grub_os_area_size): Likewise.
10729 (grub_machine_init): Don't reserve os area.
10730 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
10731 Don't call grub_dl_unload_all.
10732 Don't include loader.S.
10733 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
10734 Declare the memory after _end as available.
10735 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
10736 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
10737 (GRUB_MM_ALLOC_MAGIC): Moved from here...
10738 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
10739 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
10740 * include/grub/mm_private.h (grub_mm_header): ... here.
10741 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
10742 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
10743 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
10744 (grub_mm_region): ..here. Removed addr. Added pre_size.
10745 All users updated.
10746 * grub-core/kern/mm.c (base): Renamed to ...
10747 (grub_mm_base): ... this. Made global.
10748 (grub_real_malloc): Alloc from end of region.
10749 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
10750 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
10751 * grub-core/kern/powerpc/cache_flush.S: ... here.
10752 * grub-core/lib/efi/relocator.c: New file.
10753 * grub-core/lib/i386/relocator.c: Rewritten.
10754 * grub-core/lib/i386/relocator16.S: New file.
10755 * grub-core/lib/i386/relocator32.S: Likewise.
10756 * grub-core/lib/i386/relocator64.S: Likewise.
10757 * grub-core/lib/i386/relocator_asm.S: Rewritten.
10758 * grub-core/lib/i386/relocator_common.S: New file.
10759 * grub-core/lib/ieee1275/relocator.c: Likewise.
10760 * grub-core/lib/mips/relocator.c: Rewritten.
10761 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
10762 stylistic adjustments.
10763 * grub-core/lib/powerpc/relocator.c: New file.
10764 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
10765 * grub-core/lib/relocator.c: Rewritten.
10766 * grub-core/lib/x86_64/relocator_asm.S: New file.
10767 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
10768 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
10769 (bsd_tag): New struct.
10770 (tags): New variable.
10771 (tags_last): Likewise.
10772 (netbsd_module): New struct.
10773 (netbsd_mods): New variable.
10774 (netbsd_mods_last): Likewise.
10775 (openbsd_opts): New parameter "serial".
10776 (OPENBSD_SERIAL_ARG): New definition.
10777 (netbsd_opts): New parameter "serial".
10778 (NETBSD_SERIAL_ARG): New definition.
10779 (grub_freebsd_add_meta): Reorganised into ...
10780 (grub_bsd_add_meta): ...this. All users updated.
10781 (grub_freebsd_add_mmap): Reorganised into ...
10782 (generate_e820_mmap): ...this...
10783 (grub_bsd_add_mmap): ...and this. All users updated.
10784 (grub_freebsd_list_modules): Use tags.
10785 (grub_netbsd_add_meta_module): New function.
10786 (grub_netbsd_list_modules): Likewise.
10787 (grub_freebsd_boot): Use relocator and finish EFI.
10788 (grub_openbsd_boot): Likewise.
10789 (grub_netbsd_setup_video): New function.
10790 (grub_netbsd_add_modules): Likewise.
10791 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
10792 and finish EFI.
10793 (grub_bsd_unload): Unload tags.
10794 (grub_bsd_load_aout): Use relocator.
10795 (grub_bsd_elf32_size_hook): New function.
10796 (grub_bsd_elf32_hook): Use relocator.
10797 (grub_bsd_elf64_size_hook): New function.
10798 (grub_bsd_elf64_hook): Use relocator.
10799 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
10800 (grub_bsd_load): Zero-out openbsd_ramdisk.
10801 (grub_bsd_load): Use relocator.
10802 (grub_cmd_openbsd): Support serial.
10803 (grub_cmd_netbsd): Support modules.
10804 (grub_cmd_freebsd_module): Use relocator.
10805 (grub_netbsd_module_load): New function.
10806 (grub_cmd_netbsd_module): Likewise.
10807 (grub_cmd_openbsd_ramdisk): Likewise.
10808 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
10809 kopenbsd_ramdisk.
10810 (GRUB_MOD_FINI): Unregister new commands.
10811 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
10812 (grub_freebsd_load_elfmodule_obj): Use relocator.
10813 (grub_freebsd_load_elfmodule): Likewise.
10814 (grub_freebsd_load_elf_meta): Likewise.
10815 (grub_netbsd_load_elf_meta): New function.
10816 (grub_openbsd_find_ramdisk): Likewise.
10817 * grub-core/loader/i386/bsd_helper.S: Removed.
10818 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
10819 * grub-core/loader/i386/bsd_trampoline.S: Removed.
10820 * grub-core/loader/i386/efi/linux.c: Likewise.
10821 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
10822 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
10823 (DEFAULT_VIDEO_MODE): Likewise.
10824 (real_mode_target): New variable.
10825 (prot_mode_target): Likewise.
10826 (initrd_mem_target): Likewise.
10827 (relocator): Likewise.
10828 (efi_mmap_buf): Likewise.
10829 (efi_mmap_size): Likewise.
10830 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
10831 (free_pages): Use relocator.
10832 (allocate_pages): Account for efi_mmap and use relocator. Return error.
10833 (grub_linux_setup_video): Return error.
10834 (grub_linux_trampoline_start): Removed.
10835 (grub_linux_trampoline_end): Likewise.
10836 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
10837 andd video parameters depending on firmware.
10838 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
10839 [GRUB_MACHINE_EFI]: Pass EFI parameters.
10840 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
10841 (grub_cmd_initrd): Use relocator.
10842 * grub-core/loader/i386/linux_trampoline.S: Removed.
10843 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
10844 (elf_sec_entsize): Likewise.
10845 (elf_sec_shstrndx): Likewise.
10846 (elf_sections): Likewise.
10847 (grub_multiboot_load): Use relocator.
10848 (grub_multiboot_get_mbi_size): Account for sections.
10849 (grub_multiboot_make_mbi): Use relocator and support sections.
10850 (grub_multiboot_add_elfsyms): New function.
10851 (grub_multiboot_free_mbi): Free sections.
10852 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
10853 (grub_linux_real_target): Likewise.
10854 (grub_linux_real_chunk): Likewise.
10855 (grub_linux16_prot_size): Likewise.
10856 (grub_linux16_boot): Use relocator.
10857 (grub_linux_unload): Unload relocator.
10858 (grub_cmd_linux): Use relocator.
10859 (grub_cmd_initrd): Likewise.
10860 * grub-core/loader/i386/pc/ntldr.c: New file.
10861 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
10862 Don't try to guess CPU frequency.
10863 (grub_xnu_set_video): Stretch bitmap.
10864 (grub_xnu_boot): Use relocator.
10865 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
10866 (grub_linux_unload): Free relocator.
10867 (grub_linux_load32): Use relocator.
10868 (grub_linux_load64): Likewise.
10869 (grub_cmd_initrd): Likewise.
10870 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
10871 (grub_multiboot_unload): Unload relocator.
10872 (grub_cmd_multiboot): Use relocator.
10873 (grub_cmd_module): Likewise.
10874 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
10875 Use relocator and support sections.
10876 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
10877 (elf_sec_entsize): Likewise.
10878 (elf_sec_shstrndx): Likewise.
10879 (elf_sections): Likewise.
10880 (grub_multiboot_load): Use relocator.
10881 (grub_multiboot_get_mbi_size): Account for sections.
10882 (grub_multiboot_make_mbi): Use relocator and support sections.
10883 (grub_multiboot_add_elfsyms): New function.
10884 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
10885 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
10886 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
10887 Prototype changed. All users updated.
10888 (grub_xnu_align_heap): Simplified.
10889 (grub_xnu_writetree_toheap): Likewise.
10890 (grub_xnu_unload): Unload relocator.
10891 (grub_cmd_xnu_kernel): Use relocator.
10892 (grub_cmd_xnu_kernel64): Likewise.
10893 (grub_xnu_register_memory): Simplified.
10894 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
10895 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
10896 EFI is finished.
10897 (grub_console_checkkey): Likewise.
10898 (grub_console_getkey): Likewise.
10899 (grub_console_getwh): Likewise.
10900 (grub_console_getxy): Likewise.
10901 (grub_console_gotoxy): Likewise.
10902 (grub_console_cls): Likewise.
10903 (grub_console_setcolorstate): Likewise.
10904 (grub_console_setcursor): Likewise.
10905 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
10906 * grub-core/tests/boot/kbsd.init-i386.S: New file.
10907 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
10908 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
10909 * grub-core/tests/boot/kernel-8086.S: Likewise.
10910 * grub-core/tests/boot/kernel-i386.S: Likewise.
10911 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
10912 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
10913 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
10914 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
10915 * grub-core/tests/boot/knetbsd.cfg: Likewise.
10916 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
10917 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
10918 * grub-core/tests/boot/linux.cfg: Likewise.
10919 * grub-core/tests/boot/linux.init-i386.S: Likewise.
10920 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
10921 * grub-core/tests/boot/linux16.cfg: Likewise.
10922 * grub-core/tests/boot/multiboot.cfg: Likewise.
10923 * grub-core/tests/boot/multiboot2.cfg: Likewise.
10924 * grub-core/tests/boot/ntldr.cfg: Likewise.
10925 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
10926 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
10927 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
10928 New definition.
10929 * include/grub/dl.h (grub_dl_unload_all): Removed.
10930 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
10931 (grub_efi_finish_boot_services): Change prototype.
10932 (grub_efi_is_finished): New variable.
10933 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
10934 Changed prototype.
10935 (grub_efiemu_finish_boot_services): Removed.
10936 (grub_machine_efiemu_init_tables): New prototype.
10937 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
10938 (grub_elf64_phdr_iterate): Likewise.
10939 * include/grub/i386/bsd.h: Include relocator.h.
10940 (freebsd_tag_header): New struct.
10941 (grub_openbsd_bios_mmap): Removed.
10942 (grub_unix_real_boot): Removed.
10943 (grub_freebsd_load_elfmodule32): Changed prototype.
10944 (grub_freebsd_load_elfmodule_obj64): Likewise.
10945 (grub_freebsd_load_elf_meta32): Likewise.
10946 (grub_freebsd_load_elf_meta64): Likewise.
10947 (grub_freebsd_add_meta): Removed.
10948 (grub_netbsd_load_elf_meta32): New prototype.
10949 (grub_netbsd_load_elf_meta64): Likewise.
10950 (grub_bsd_add_meta): Likewise.
10951 (grub_openbsd_ramdisk_descriptor): New struct.
10952 (grub_openbsd_find_ramdisk32): New prototype.
10953 (grub_openbsd_find_ramdisk64): Likewise.
10954 * include/grub/i386/coreboot/loader.h: Removed.
10955 * include/grub/i386/efi/loader.h: Likewise.
10956 * include/grub/i386/ieee1275/loader.h: Likewise.
10957 * include/grub/i386/linux.h (linux_kernel_header): Change void *
10958 to grub_uint32_t.
10959 * include/grub/i386/loader.h: Removed.
10960 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
10961 value.
10962 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
10963 (grub_phys_addr_t): New type.
10964 (grub_vtop): New inline function.
10965 (grub_map_memory): Likewise.
10966 (grub_unmap_memory): Likewise.
10967 * include/grub/i386/multiboot/loader.h: Removed.
10968 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
10969 (NETBSD_BTINFO_CONSOLE): New definition.
10970 (NETBSD_BTINFO_SYMTAB): Likewise.
10971 (NETBSD_BTINFO_MODULES): Likewise.
10972 (NETBSD_BTINFO_FRAMEBUF): Likewise.
10973 (grub_netbsd_bootinfo): New struct.
10974 (grub_netbsd_btinfo_common): Use explicit bitsize.
10975 (grub_netbsd_btinfo_mmap_entry): Removed.
10976 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
10977 (grub_netbsd_btinfo_bootdisk): New struct.
10978 (grub_netbsd_btinfo_symtab): Likewise.
10979 (grub_netbsd_btinfo_serial): Likewise.
10980 (grub_netbsd_btinfo_modules): Likewise.
10981 (grub_netbsd_btinfo_framebuf): Likewise.
10982 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
10983 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
10984 Likewise.
10985 (grub_openbsd_bootargs): Use explicit bitsize.
10986 (grub_openbsd_bootarg_console): New struct.
10987 (GRUB_OPENBSD_COM_MAJOR): New definition.
10988 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
10989 * include/grub/i386/pc/efiemu.h: Removed.
10990 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
10991 * include/grub/i386/qemu/loader.h: Removed.
10992 * include/grub/i386/relocator.h: Rewritten.
10993 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
10994 * include/grub/mips/memory.h: New file.
10995 * include/grub/mips/multiboot.h: Rewritten.
10996 * include/grub/mips/relocator.h: Rewritten.
10997 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
10998 (grub_vtop): New function.
10999 (grub_map_memory): Likewise.
11000 (grub_unmap_memory): Likewise.
11001 * include/grub/misc.h (ALIGN_DOWN): New definition.
11002 * include/grub/mm.h (grub_mm_check_real): New proto.
11003 (GRUB_MM_CHECK): New definition.
11004 * include/grub/mm_private.h: New file.
11005 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
11006 (grub_multiboot_get_mbi_size): Removed.
11007 (grub_multiboot_make_mbi): Change prottype.
11008 (grub_multiboot_set_accepts_video): New proto.
11009 (grub_multiboot_add_elfsyms): Likewise.
11010 (grub_multiboot_payload_eip): New variable.
11011 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
11012 New prototype.
11013 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
11014 New definition.
11015 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
11016 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
11017 * include/grub/powerpc/ieee1275/loader.h: Removed.
11018 * include/grub/powerpc/memory.h: New file.
11019 * include/grub/powerpc/relocator.h: Likewise.
11020 * include/grub/relocator.h: Likewise.
11021 * include/grub/relocator_private.h: Likewise.
11022 * include/grub/sparc64/ieee1275/loader.h: Removed.
11023 * include/grub/x86_64/memory.h: New file.
11024 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
11025 (grub_xnu_heap_malloc): Likewise.
11026 (grub_xnu_heap_real_start): Removed.
11027 (grub_xnu_heap_start): Likewise.
11028 (grub_xnu_relocator): New variable.
11029 (grub_xnu_heap_target_start): Likewise.
11030 * tests/util/grub-shell.in: Support non-pc.
11031 * util/grub-mkimage.c (image_targets): Fix multiboot target.
11032
11033 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11034
11035 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
11036 on malloc error.
11037 (grub_bidi_logical_to_visual): Check that malloc succeded.
11038 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
11039 puts.
11040 (grub_xputs_normal): Likewise.
11041
11042 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11043
11044 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
11045 extra_dist.
11046
11047 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11048
11049 * grub-core/efiemu/runtime/efiemu.sh: Removed.
11050
11051 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11052
11053 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
11054
11055 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11056
11057 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
11058 dprintf.
11059
11060 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
11061
11062 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
11063
11064 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11065
11066 * grub-core/normal/term.c (print_more): Fix a memory leak.
11067 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
11068 (grub_xputs_normal): Likewise.
11069
11070 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11071
11072 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
11073 the begining of the string
11074
11075 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11076
11077 * grub-core/script/script.c (grub_script_parse): Free parsed on
11078 failure.
11079
11080 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11081
11082 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
11083 on failure.
11084
11085 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11086
11087 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
11088 return.
11089
11090 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11091
11092 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
11093 (scroll_up): Fix a memory leak.
11094
11095 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11096
11097 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
11098 errors.
11099
11100 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
11101
11102 Handle USB pendrives exposed as floppies.
11103
11104 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
11105 floppy.
11106 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
11107 Check for partitions on all devices.
11108
11109 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11110
11111 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
11112 (readkey): Likewise.
11113
11114 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
11115
11116 Multiple variable names support to "export" command.
11117
11118 * normal/context.c (grub_cmd_export): "export" command supports
11119 multiple variable names.
11120
11121 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
11122
11123 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
11124 --target=drive output to Mach device name.
11125
11126 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
11127
11128 New Automake based build system for GRUB.
11129
11130 * ABOUT-NLS: New file.
11131 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
11132 in Makefile.util.def file.
11133 * Makefile.util.def: New file. Autogen build definitions file for
11134 GRUB host utils.
11135 * conf/Makefile.common: New file. Common variables for GRUB host
11136 utils and target modules.
11137 * conf/Makefile.extra-dist: New file. Extra files for make dist.
11138 * docs/Makefile.am: New file. Automake file for docs.
11139 * gentpl.py: New file. Python script to generate Autogen
11140 template.
11141 * grub-core/Makefile.am: New file. GRUB target modules' rules
11142 that doesn't fit in Makefile.core.def file.
11143 * grub-core/Makefile.core.def: New file. Autogen build
11144 definitions file for GRUB target modules.
11145 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
11146 specific setjmp.S file.
11147 * po/Makefile.am: New file.
11148
11149 * .bzrignore: New ignores.
11150 * INSTALL: New requirements, without Ruby.
11151 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
11152 * autogen.sh: Updated to invoke autogen as necessary.
11153 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
11154 and defines for Automake conditionals.
11155 * geninit.sh: Refactoring.
11156
11157 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
11158 necessary.
11159 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
11160 New prototype.
11161
11162 * include/grub/test.h: Fix functional test modules' naming.
11163 * grub-core/tests/example_functional_test.c: Fix test module name.
11164
11165 * util/misc.c: Hosted versions' of grub functions for libgrub.a
11166 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
11167 * util/grub-editenv.c: Likewise.
11168 * util/grub-fstest.c: Likewise.
11169 * util/grub-mkdevicemap.c: Likewise.
11170 * util/grub-mkfont.c: Likewise.
11171 * util/grub-mkimage.c: Likewise.
11172 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11173 * util/grub-probe.c: Likewise.
11174 * util/grub-script-check.c: Likewise.
11175 * util/i386/pc/grub-setup.c: Likewise.
11176 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11177
11178 * tests/util/grub-shell.in: Fix override directory path.
11179 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
11180 * util/import_gcry.py: Create Makefile.gcry.def file instead.
11181
11182 * util/lvm.c: Update #includes.
11183 * util/raid.c: Likewise.
11184 * util/resolve.c: Likewise.
11185 * grub-core/bus/emu/pci.c: Likewise.
11186 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
11187 * grub-core/lib/posix_wrap/string.h: Likewise.
11188 * grub-core/kern/emu/main.c: Likewise.
11189
11190 * grub-core/gensymlist.sh: New file. Script for generating kernel
11191 symbols file.
11192 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
11193
11194 * grub-core/gentrigtables.c: Fix unused variable warnings.
11195
11196 * Makefile.in: Removed.
11197 * conf/any-emu.rmk: Removed.
11198 * conf/common.rmk: Removed.
11199 * conf/i386-coreboot.rmk: Removed.
11200 * conf/i386-efi.rmk: Removed.
11201 * conf/i386-ieee1275.rmk: Removed.
11202 * conf/i386-multiboot.rmk: Removed.
11203 * conf/i386-pc.rmk: Removed.
11204 * conf/i386-qemu.rmk: Removed.
11205 * conf/i386.rmk: Removed.
11206 * conf/mips-yeeloong.rmk: Removed.
11207 * conf/mips.rmk: Removed.
11208 * conf/powerpc-ieee1275.rmk: Removed.
11209 * conf/sparc64-ieee1275.rmk: Removed.
11210 * conf/tests.rmk: Removed.
11211 * conf/x86-efi.rmk: Removed.
11212 * conf/x86_64-efi.rmk: Removed.
11213 * gendistlist.sh: Removed.
11214 * geninitheader.sh: Removed.
11215 * genkernsyms.sh.in: Removed.
11216 * genmk.rb: Removed.
11217 * gensymlist.sh.in: Removed.
11218 * mkinstalldirs: Removed.
11219 * boot: Moved ...
11220 * grub-core/boot: ... to here.
11221 * bus: Moved ...
11222 * grub-core/bus: ... to here.
11223 * commands: Moved ...
11224 * grub-core/commands: ... to here.
11225 * disk: Moved ...
11226 * grub-core/disk: ... to here.
11227 * efiemu: Moved ...
11228 * grub-core/efiemu: ... to here.
11229 * font: Moved ...
11230 * grub-core/font: ... to here.
11231 * fs: Moved ...
11232 * grub-core/fs: ... to here.
11233 * gencmdlist.sh: Moved ...
11234 * grub-core/gencmdlist.sh: ... to here.
11235 * genemuinit.sh: Moved ...
11236 * grub-core/genemuinit.sh: ... to here.
11237 * genemuinitheader.sh: Moved ...
11238 * grub-core/genemuinitheader.sh: ... to here.
11239 * genfslist.sh: Moved ...
11240 * grub-core/genfslist.sh: ... to here.
11241 * genhandlerlist.sh: Moved ...
11242 * grub-core/genhandlerlist.sh: ... to here.
11243 * genmoddep.awk: Moved ...
11244 * grub-core/genmoddep.awk: ... to here.
11245 * genmodsrc.sh: Moved ...
11246 * grub-core/genmodsrc.sh: ... to here.
11247 * genpartmaplist.sh: Moved ...
11248 * grub-core/genpartmaplist.sh: ... to here.
11249 * genparttoollist.sh: Moved ...
11250 * grub-core/genparttoollist.sh: ... to here.
11251 * genterminallist.sh: Moved ...
11252 * grub-core/genterminallist.sh: ... to here.
11253 * gentrigtables.c: Moved ...
11254 * grub-core/gentrigtables.c: ... to here.
11255 * genvideolist.sh: Moved ...
11256 * grub-core/genvideolist.sh: ... to here.
11257 * gettext: Moved ...
11258 * grub-core/gettext: ... to here.
11259 * gfxmenu: Moved ...
11260 * grub-core/gfxmenu: ... to here.
11261 * gnulib: Moved ...
11262 * grub-core/gnulib: ... to here.
11263 * hello: Moved ...
11264 * grub-core/hello: ... to here.
11265 * hook: Moved ...
11266 * grub-core/hook: ... to here.
11267 * io: Moved ...
11268 * grub-core/io: ... to here.
11269 * kern: Moved ...
11270 * grub-core/kern: ... to here.
11271 * lib: Moved ...
11272 * grub-core/lib: ... to here.
11273 * loader: Moved ...
11274 * grub-core/loader: ... to here.
11275 * mmap: Moved ...
11276 * grub-core/mmap: ... to here.
11277 * normal: Moved ...
11278 * grub-core/normal: ... to here.
11279 * partmap: Moved ...
11280 * grub-core/partmap: ... to here.
11281 * parttool: Moved ...
11282 * grub-core/parttool: ... to here.
11283 * script: Moved ...
11284 * grub-core/script: ... to here.
11285 * term: Moved ...
11286 * grub-core/term: ... to here
11287 * tests/example_functional_test.c: Moved ...
11288 * grub-core/tests/example_functional_test.c: ... to here.
11289 * tests/lib/functional_test.c: Moved ...
11290 * grub-core/tests/lib/functional_test.c: ... to here.
11291 * tests/lib/test.c: Moved ...
11292 * grub-core/tests/lib/test.c: ... to here.
11293 * video: Moved ...
11294 * grub-core/video: ... to here.
11295
11296 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
11297
11298 Replace --enable-grub-emu-modules with grub-emu-lite.
11299
11300 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
11301 cache.S.
11302
11303 * include/grub/emu/misc.h (grub_emu_init): New prototype.
11304 * kern/emu/full.c: New file. For grub-emu specific initialization.
11305 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
11306 * kern/emu/main.c: Call initialization function grub_emu_init.
11307
11308 * Makefile.in: Include grub-emu-lite in install.
11309 * commands/parttool.c: Use grub_no_autoload to differentiate
11310 between grub-emu and grub-emu-lite.
11311 * include/grub/misc.h: New variable grub_no_autoload.
11312
11313 * conf/any-emu.rmk: New rules for grub-emu-lite.
11314 * configure.ac: Remove --enable-grub-emu-modules.
11315 * genmk.rb: Cleanup unnecessary rules.
11316 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
11317
11318 * normal/main.c: Don't load list files on grub-emu-lite.
11319 * util/misc.c (grub_arch_sync_caches): Removed.
11320
11321 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
11322
11323 * kern/mips/startup.S (grub_prefix): Update comment to refer to
11324 grub-mkimage rather than grub-mkelfimage.
11325 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
11326
11327 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
11328
11329 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
11330 a key after CapsLock or NumLock. It's just a qemu bug.
11331
11332 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
11333
11334 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
11335 needed by libusb wrapper.
11336
11337 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
11338
11339 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
11340
11341 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
11342
11343 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
11344 --nounzip is passed.
11345
11346 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
11347
11348 USB hotunplugging and USB serial support.
11349
11350 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
11351 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
11352 (grub_uhci_transfer): Respect timeout and set *actual.
11353 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
11354 non-standard length.
11355 (grub_usb_device_attach): Autoload modules.
11356 (GRUB_MOD_INIT): Set grub_term_poll_usb.
11357 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
11358 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
11359 users updated.
11360 (grub_usb_add_hub): Fill nports and children.
11361 (attach_root_port): Receive hub instead of controller.
11362 All users updated. Fill hub->devices.
11363 (grub_usb_root_hub): Allocate hub->devices.
11364 (detach_device): New function.
11365 (poll_nonroot_hub): Fill children and detach devices.
11366 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
11367 actual arguments. All users updated.
11368 (grub_usb_bulk_read_extended): New function.
11369 * bus/usb/serial/common.c: New file.
11370 * bus/usb/serial/ftdi.c: Likewise.
11371 * bus/usb/serial/pl2303.c: Likewise.
11372 * commands/terminal.c (handle_command): Support wildcard.
11373 * commands/usbtest.c: Output "Unknown" instead of empty string.
11374 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
11375 (usbserial_common_mod_SOURCES): New variable.
11376 (usbserial_common_mod_CFLAGS): Likewise.
11377 (usbserial_common_mod_LDFLAGS): Likewise.
11378 (pkglib_MODULES): Add usbserial_pl2303.mod.
11379 (usbserial_pl2303_mod_SOURCES): New variable.
11380 (usbserial_pl2303_mod_CFLAGS): Likewise.
11381 (usbserial_pl2303_mod_LDFLAGS): Likewise.
11382 (pkglib_MODULES): Add usbserial_ftdi.mod.
11383 (usbserial_ftdi_mod_SOURCES): New variable.
11384 (usbserial_ftdi_mod_CFLAGS): Likewise.
11385 (usbserial_ftdi_mod_LDFLAGS): Likewise.
11386 (pkglib_MODULES): Add serial.mod.
11387 (serial_mod_SOURCES): New variable.
11388 (serial_mod_CFLAGS): Likewise.
11389 (serial_mod_LDFLAGS): Likewise.
11390 * conf/i386-pc.rmk: Likewise.
11391 * conf/mips-yeeloong.rmk: Likewise.
11392 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
11393 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
11394 * disk/usbms.c (first_available_slot): New variable.
11395 (grub_usbms_attach): Don't reuse free slots due to potential cache
11396 problems.
11397 * include/grub/serial.h: Moved to ..
11398 * include/grub/ns8250.h: ...this.
11399 * include/grub/serial.h: New file.
11400 * include/grub/term.h (grub_term_poll_usb): New variable.
11401 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
11402 readkey. All users updated.
11403 (grub_terminfo_output_state): Pass term to put.
11404 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
11405 (grub_usb_controller_dev): Add timeout and actual arguments to
11406 transfer. All users updated.
11407 (grub_usb_interface): New field detach_data.
11408 (grub_usb_device): New fields children and nports.
11409 (grub_usb_ep_type_t): New type.
11410 (grub_usb_get_ep_type): New function.
11411 (grub_usb_bulk_read_extended): Likewise.
11412 * include/grub/usbdesc.h (grub_usb_desc): New type.
11413 * include/grub/usbserial.h: New file.
11414 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
11415 * kern/term.c (grub_term_poll_usb): New variable.
11416 (grub_getkey): Call grub_term_poll_usb if set.
11417 (grub_checkkey): Likewise.
11418 (grub_getkeystatus): Likewise.
11419 * term/serial.c: Moved controller-specific parts to ...
11420 * term/ns8250.c: ... here.
11421 * term/serial.c: Mostly rewritten.
11422 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
11423 according to spec.
11424
11425 2010-08-20 Robert Millan <rmh@gnu.org>
11426
11427 Make kFreeBSD code more generic to support ext2fs as root, ufs as
11428 a separate module and maybe other interesting combinations.
11429
11430 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
11431 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
11432 (kfreebsd_entry): Add generic filesystem module load routine.
11433 Map GRUB `ext2' to kFreeBSD `ext2fs'.
11434
11435 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
11436
11437 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
11438 "numcenter" (I misunderstood the purpose of this entry).
11439 * docs/grub.texi (sendkey): Likewise.
11440
11441 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
11442
11443 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
11444 status flag options; simply omitting the option is equivalent and
11445 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
11446 (keysym_table): Rename "num5numlock" to "numlock".
11447 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
11448 can uniformly say that only the last of multiple `sendkey'
11449 invocations has any effect.
11450 * docs/grub.texi (sendkey): New section.
11451
11452 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
11453
11454 * commands/i386/pc/sendkey.c (options): Fix three typos.
11455
11456 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11457
11458 Implement sendkey support.
11459
11460 * commands/i386/pc/sendkey.c: New file.
11461 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
11462 (sendkey_mod_SOURCES): New variable.
11463 (sendkey_mod_CFLAGS): Likewise.
11464 (sendkey_mod_LDFLAGS): Likewise.
11465
11466 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
11467
11468 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
11469 fix warnings from Autoconf.
11470
11471 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
11472
11473 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
11474 to avoid false positives with some assemblers that output things
11475 like "someprefix_func" as part of their output.
11476
11477 2010-08-15 Robert Millan <rmh@gnu.org>
11478
11479 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
11480 errors.
11481 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
11482 grub_get_libzfs_handle() errors.
11483
11484 2010-08-14 Robert Millan <rmh@gnu.org>
11485
11486 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
11487 filesystem is not ZFS.
11488
11489 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11490
11491 Fix for misspelled color names defaulting to black/black (bug
11492 reported by Doug Nazar)
11493
11494 * include/grub/normal.h (grub_parse_color_name_pair): Add return
11495 status to prototype.
11496 * normal/color.c (grub_parse_color_name_pair): Return failure
11497 status.
11498 (grub_env_write_color_normal): Ignore bad color names.
11499 (grub_env_write_color_highlight): Likewise.
11500 * normal/main.c (GRUB_MOD_INIT): Set default color names.
11501
11502 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11503
11504 "shift" command support to GRUB script.
11505
11506 * include/grub/script_sh.h (grub_script_shift): New prototype.
11507 * script/execute.c (grub_script_shift): New function.
11508 * script/main.c (grub_script_init): Register shift command.
11509 (grub_script_fini): Unregister shift command.
11510 * util/grub-script-check.c (grub_script_cmd_shift): New function.
11511
11512 * tests/grub_script_shift.in: New testcase.
11513 * conf/tests.rmk: Rules for new testcase.
11514
11515 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11516
11517 "continue" command support to GRUB script.
11518
11519 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
11520 (grub_script_break): Continue support.
11521 * script/main.c (grub_script_init): Register continue command.
11522 (grub_script_fini): Unregister continue command.
11523
11524 * tests/grub_script_continue.in: New testcase.
11525 * conf/tests.rmk: Rules for new testcase.
11526
11527 2010-08-12 BVK Chaitanya <bvk@dbook>
11528
11529 "break" command support to GRUB script.
11530
11531 * conf/common.rmk: Rule updates to grub-script-check.
11532 * include/grub/misc.h (grub_min): New function.
11533 * include/grub/script_sh.h (grub_script_init): New prototype.
11534 (grub_script_fini): New prototype.
11535 (grub_script_break): New prototype.
11536 * script/main.c (grub_script_init): New function.
11537 (grub_script_fini): New function.
11538 * script/execute.c (grub_script_break): New function.
11539 * normal/main.c: Calls to grub_script_{init,fini}.
11540 * util/grub-script-check.c (grub_script_break): New function.
11541
11542 * tests/grub_script_break.in: New testcase.
11543 * conf/tests.rmk: Rules for new test case.
11544
11545 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11546
11547 Function parameters support to GRUB script.
11548
11549 * script/yylex.l (VARIABLE): Regular expression update.
11550 * script/function.c (grub_script_function_call): Moved ...
11551 * script/execute.c (grub_script_function_call): ... to here.
11552 (grub_script_execute_arglist_to_argv): Removed.
11553 (grub_script_arglist_to_argv): New function.
11554 * script/argv.c: New file.
11555 (grub_script_argv_free): New function.
11556 (grub_script_argv_next): Likewise.
11557 (grub_script_argv_append): Likewise.
11558 (grub_script_argv_split_append): Likewise.
11559 * include/grub/script_sh.h (grub_script_argv): New struct.
11560 (grub_script_argv_free): New function.
11561 (grub_script_argv_next): Likewise.
11562 (grub_script_argv_append): Likewise.
11563 (grub_script_argv_split_append): Likewise.
11564
11565 * conf/common.rmk (normal.mod): New source script/argv.c.
11566
11567 * tests/grub_script_echo1.in: More tests.
11568 * tests/grub_script_vars1.in: Likewise.
11569 * tests/grub_script_functions.in: New test case.
11570 * conf/tests.rmk: Rules for new testcase.
11571
11572 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11573
11574 Remove grub_script_cmdblock struct.
11575
11576 * include/grub/script_sh.h: Remove grub_script_cmdblock.
11577 * script/parser.y: Likewise.
11578 * script/execute.c: Rename cmdblock suffix to cmdlist.
11579 * script/script.c: Likewise.
11580 * util/grub-script-check.c: Likewise.
11581
11582 2010-08-11 Yves Blusseau <blusseau@zetam.org>
11583
11584 * .bzrignore: add grub-macho2img
11585
11586 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11587
11588 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
11589
11590 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11591
11592 Remove the dump of sm712 initialisation sequence.
11593
11594 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
11595 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
11596 (GRUB_VGA_IO_MISC_WRITE): Likewise.
11597 (GRUB_VGA_CR_*): Added many registers.
11598 (GRUB_VGA_SR_*): Likewise.
11599 (GRUB_VGA_GR_*): Likewise.
11600 (grub_vga_write_arx): New function.
11601 (grub_video_hw_config): New struct.
11602 (grub_vga_set_geometry): New function.
11603 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
11604 GRUB_PCI_CLASS_SUBCLASS_VGA.
11605 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
11606 * video/sm712.c (grub_sm712_write_reg): New function
11607 (grub_sm712_read_reg): Likewise.
11608 (grub_sm712_sr_write): Likewise.
11609 (grub_sm712_gr_write): Likewise.
11610 (grub_sm712_cr_write): Likewise.
11611 (grub_sm712_write_arx): Likewise.
11612 (grub_sm712_cr_shadow_write): Likewise.
11613 (grub_sm712_write_dda_lookup): Likewise.
11614 (grub_video_sm712_setup): Initialise the video rather then
11615 blindly replay the dump.
11616 (main) [TEST]: Add a routine to be able to compile as standalone for
11617 tests.
11618 * video/sm712_init.c (sm712_init): Removed.
11619 (sm712_sr_seq1): New array.
11620 (sm712_sr_seq2): Likewise.
11621
11622 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
11623
11624 * include/grub/vga.h: Add missing grub/pci.h include.
11625
11626 2010-08-10 Yves Blusseau <blusseau@zetam.org>
11627
11628 * util/grub-macho2img.c (main): fix typo
11629
11630 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
11631
11632 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
11633 (grub_vga_gr_read): Likewise.
11634 (grub_vga_cr_write): Likewise.
11635 (grub_vga_cr_read): Likewise.
11636 (grub_vga_sr_write): Likewise.
11637 (grub_vga_sr_read): Likewise.
11638 (grub_vga_palette_read): Likewise.
11639 (grub_vga_palette_write): Likewise.
11640 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
11641 (grub_sm712_sr_read): New function.
11642 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
11643 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
11644
11645 2010-08-09 Robert Millan <rmh@gnu.org>
11646
11647 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
11648 out unused variables on non-ZFS build.
11649
11650 2010-08-08 Robert Millan <rmh@gnu.org>
11651
11652 Fix path generation for sub-filesystems in ZFS.
11653
11654 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
11655 missing slash.
11656
11657 2010-08-08 Robert Millan <rmh@gnu.org>
11658
11659 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
11660
11661 2010-08-08 Robert Millan <rmh@gnu.org>
11662
11663 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
11664 exist, issue a proper error message (rely on `ls' for translated
11665 strings).
11666
11667 2010-08-08 Robert Millan <rmh@gnu.org>
11668
11669 Fix grub-probe invocation.
11670
11671 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
11672
11673 2010-08-04 Robert Millan <rmh@gnu.org>
11674
11675 * configure.ac: Remove checks for getfsstat() and getmntany().
11676 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
11677 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
11678 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
11679 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
11680 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
11681 function.
11682 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
11683 via find_mount_point_from_dir() and getfsstat() / getmntany().
11684
11685 2010-08-04 Robert Millan <rmh@gnu.org>
11686
11687 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11688 (grub_find_zpool_from_mount_point): Merge into ...
11689 (grub_find_zpool_from_dir): ... this.
11690 * kern/emu/misc.c: Likewise.
11691
11692 * kern/emu/misc.c
11693 (grub_make_system_path_relative_to_its_root): Replace
11694 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
11695 with grub_find_zpool_from_dir().
11696 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
11697
11698 2010-08-04 Robert Millan <rmh@gnu.org>
11699
11700 Support OpenSolaris in ZFS device resolution.
11701
11702 * configure.ac: Check for getmntany().
11703 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
11704 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
11705 support.
11706
11707 2010-08-03 Robert Millan <rmh@gnu.org>
11708
11709 Fix grub-emu build.
11710
11711 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
11712 * include/grub/emu/misc.h: ... here.
11713
11714 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
11715 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
11716
11717 * util/misc.c: Remove `<grub/util/libzfs.h>'.
11718 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
11719 (grub_get_libzfs_handle): Move to ...
11720 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
11721 (grub_get_libzfs_handle): ... here.
11722
11723 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
11724
11725 * script/execute.c (grub_script_execute_cmdline): Check for NULL
11726 as command name case.
11727
11728 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
11729
11730 * disk/raid.c (insert_array): Select unique numbers for named arrays
11731 as well, for use as keys in the disk cache.
11732
11733 2010-08-01 Robert Millan <rmh@gnu.org>
11734
11735 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
11736 kFreeBSD device name, except on ZFS where the filesystem label is
11737 used.
11738 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
11739 `/boot/zfs/zpool.cache'.
11740 Set mountfrom kernel variable using ${kfreebsd_device}.
11741
11742 2010-08-01 Robert Millan <rmh@gnu.org>
11743
11744 Make it even harder to use uninitialized `libzfs_handle' (and
11745 make the interface a bit simpler).
11746
11747 * include/grub/util/misc.h (grub_util_init_libzfs)
11748 (libzfs_handle): Remove.
11749 (grub_get_libzfs_handle): New prototype.
11750
11751 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
11752 attribute.
11753 (grub_util_init_libzfs): Remove.
11754 (grub_get_libzfs_handle): New function.
11755
11756 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
11757 grub_get_libzfs_handle() to obtain a libzfs handle instead of
11758 accessing `libzfs_handle' directly.
11759
11760 2010-08-01 Robert Millan <rmh@gnu.org>
11761
11762 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11763 (grub_find_zpool_from_mount_point): New function prototypes.
11764
11765 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11766 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11767
11768 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11769 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11770 `static' attribute.
11771
11772 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11773 finding zpool from mount point into ...
11774 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11775
11776 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11777 requested path is part of a ZFS pool, use
11778 grub_find_zpool_from_mount_point() to detect its filesystem name,
11779 and generate a path with `/fsname@path' syntax.
11780
11781 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11782
11783 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
11784 (void) rather than () so that this is a proper prototype.
11785
11786 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11787
11788 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
11789
11790 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11791
11792 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
11793 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
11794
11795 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11796
11797 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
11798
11799 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11800
11801 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
11802
11803 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11804
11805 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
11806 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
11807 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
11808 disable gfxpayload.
11809 (Shell-like scripting): Add real content.
11810 (Serial terminal): Suggest `terminal_input serial; terminal_output
11811 serial' rather than putting the two commands on separate lines,
11812 since console input will be inoperative after the first command.
11813 (menuentry): Document --class, --users, and --hotkey options.
11814 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
11815 Vladimir Serbinenko).
11816
11817 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11818 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11819
11820 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
11821
11822 2010-08-01 Robert Millan <rmh@gnu.org>
11823
11824 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11825 (grub_find_zpool_from_mount_point): New function prototypes.
11826
11827 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11828 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11829
11830 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11831 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11832 `static' attribute.
11833
11834 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11835 finding zpool from mount point into ...
11836 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11837
11838 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11839 requested path is part of a ZFS pool, use
11840 grub_find_zpool_from_mount_point() to detect its filesystem name,
11841 and generate a path with `/fsname@path' syntax.
11842
11843 2010-08-01 Robert Millan <rmh@gnu.org>
11844
11845 Prevent accidental use of uninitialized libzfs_handle.
11846
11847 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
11848 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
11849 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
11850
11851 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11852
11853 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
11854 util/grub.d/10_linux.in). Fixes Debian bug #591093.
11855
11856 2010-08-01 Robert Millan <rmh@gnu.org>
11857
11858 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
11859
11860 2010-07-31 Robert Millan <rmh@gnu.org>
11861
11862 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
11863
11864 2010-07-31 Robert Millan <rmh@gnu.org>
11865
11866 * kern/emu/misc.c: Add missing license header.
11867
11868 2010-07-31 Robert Millan <rmh@gnu.org>
11869
11870 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
11871
11872 * include/grub/util/libnvpair.h: Include `<config.h>'.
11873 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
11874 declaring libnvpair prototypes ourselves.
11875 * include/grub/util/libzfs.h: Include `<config.h>'.
11876 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
11877 declaring libzfs prototypes ourselves.
11878
11879 (libzfs_handle): Moved to ...
11880 * include/grub/util/misc.h (libzfs_handle): ... here.
11881 Include `<grub/util/libzfs.h>'.
11882
11883 2010-07-30 Robert Millan <rmh@gnu.org>
11884
11885 * include/grub/emu/misc.h: Add missing license header.
11886
11887 2010-07-30 Robert Millan <rmh@gnu.org>
11888
11889 Enable `grub-probe -t device' resolution on ZFS.
11890
11891 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
11892 * include/grub/util/libnvpair.h: New file.
11893 * include/grub/util/libzfs.h: New file.
11894
11895 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
11896 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
11897 `<grub/util/libnvpair.h>'.
11898 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
11899
11900 (find_mount_point_from_dir): New static function.
11901 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
11902 function.
11903 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
11904 find_root_device_from_libzfs() before ressorting to find_root_device().
11905
11906 * include/grub/util/misc.h (grub_util_init_libzfs): New function
11907 prototype.
11908 * util/misc.c: Include `<grub/util/libzfs.h>'.
11909 (grub_util_init_libzfs): New function.
11910 [HAVE_LIBZFS] (libzfs_handle): New global variable.
11911 [HAVE_LIBZFS] (fini_libzfs): New static function.
11912 (grub_util_init_libzfs): New function.
11913 * util/grub-probe.c (main): Call grub_util_init_libzfs().
11914
11915 2010-07-30 Robert Millan <rmh@gnu.org>
11916
11917 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
11918 (xmalloc, xrealloc, xstrdup, xasprintf): Add
11919 `warn_unused_result' attribute.
11920 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
11921 (grub_xasprintf, grub_xvasprintf): Likewise.
11922 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
11923
11924 2010-07-29 Robert Millan <rmh@gnu.org>
11925
11926 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
11927 (probe): Handle `PRINT_FS_LABEL'.
11928 (main): Handle `-t fs_label'.
11929
11930 2010-07-29 Robert Millan <rmh@gnu.org>
11931
11932 * configure.ac: Remove grub-mkisofs checks.
11933
11934 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
11935
11936 * util/ieee1275/grub-install.in: Don't use empty grub_device.
11937 Reported by: Lennart Sorensen.
11938
11939 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11940
11941 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
11942 prior to terminal_input/terminal_output separation. It's been over 1.5
11943 years and those versions weren't widely deployed.
11944
11945 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
11946
11947 * disk/raid.c (insert_array): Don't count named arrays when looking
11948 for unused array numbers.
11949 Reported and tested by: Michael Guntsche.
11950
11951 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11952
11953 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
11954 implementation of this so that grub-emu links again, with a note
11955 that this should support hotplugging in the future.
11956
11957 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11958
11959 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
11960
11961 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11962
11963 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
11964 handle on failure.
11965 (grub_loopback_close): Remove empty function.
11966 (grub_loopback_dev): Remove close method.
11967
11968 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11969
11970 Disable EFI cursor when the EFI console becomes inactive.
11971
11972 * term/efi/console.c (grub_efi_console_init): New function.
11973 (grub_efi_console_fini): New function.
11974 (grub_console_term_output): Register init and fini methods.
11975
11976 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11977
11978 * tests/util/grub-shell-tester.in: Remove bashism and declare as
11979 sh script.
11980
11981 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11982
11983 * disk/loopback.c (grub_loopback): Replace filename with file.
11984 (delete_loopback): Handle new semantics.
11985 (grub_cmd_loopback): Likewise.
11986 (grub_loopback_iterate): Likewise.
11987 (grub_loopback_close): Likewise.
11988
11989 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11990
11991 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
11992 with -p "".
11993 Reported by: Tito Keitel.
11994
11995 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11996
11997 * docs/grub.texi (Naming convention): Document new naming convention.
11998
11999 2010-07-20 Vadim Solomin <vadic052@gmail.com>
12000 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
12001
12002 Generate device.map in something closer to the old ordering.
12003
12004 * util/deviceiter.c (struct device): New declaration.
12005 (compare_file_names): Rename to ...
12006 (compare_devices): ... this. Sort by kernel name in preference to
12007 the stable by-id name, but keep the latter as a fallback comparison.
12008 Update header comment.
12009 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
12010 of `struct device' rather than of plain file names.
12011
12012 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
12013
12014 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
12015 on i386.
12016
12017 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12018
12019 * commands/acpi.c (setup_common_tables): Use sizeof instead of
12020 hardcoding size.
12021 (setv1table): Likewise.
12022
12023 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
12024
12025 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
12026 removing the homehost if present.
12027 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
12028 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
12029 removing the homehost if present.
12030 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
12031 if possible.
12032 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
12033
12034 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
12035 parameter. Set its pointer target to 0.
12036 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
12037 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
12038 `data_offset' value from the superblock for 1.x metadata.
12039 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
12040 data on the device.
12041 (insert_array): Record the start sector of data on the device.
12042 (grub_raid_register): Pass start_sector parameters to
12043 grub_raid_list->detect and insert_array.
12044 * include/grub/raid.h (struct grub_raid_array): Add start_sector
12045 member.
12046 (struct grub_raid): Add start_sector parameter to `detect'.
12047
12048 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
12049 __attribute__ ((packed)), leaving a comment.
12050 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
12051 (grub_mdraid_detect_09): ... here and ...
12052 (grub_mdraid_detect_1x): ... here.
12053
12054 2010-07-20 Peter Henn <peter.henn@web.de>
12055
12056 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
12057 chunk size and disk size, which are already given as sector counts
12058 as distinct from the 0.90 units. Fetch the correct device number
12059 from the role table instead of using the table index.
12060
12061 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
12062
12063 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
12064 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
12065 (WriteMostly1): New macro.
12066 Set array->name to NULL for metadata format 0.90. Add support for
12067 metadata 1.x. Fix some comments.
12068 * disk/raid.c (): Add support for name based RAID arrays. Fix a
12069 few comments.
12070 * util/getroot.c (grub_util_get_grub_dev): Add support for
12071 /dev/md/name style devices.
12072
12073 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
12074
12075 * .bzrignore: Ignore 20_linux_xen.
12076
12077 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
12078
12079 * util/import_unicode.py: Remove unnecessary imports.
12080
12081 2010-07-17 Aleš Nesrsta <starous@volny.cz>
12082
12083 Hotplugging and USB hub support.
12084
12085 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
12086 (grub_ohci): Likewise.
12087 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
12088 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
12089 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
12090 (GRUB_OHCI_CTRL_EDS): Likewise.
12091 (GRUB_OHCI_BULK_EDS): Likewise.
12092 (GRUB_OHCI_TDS): Likewise.
12093 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
12094 (grub_ohci_ed_phys2virt): New function.
12095 (grub_ohci_virt_to_phys): Likewise.
12096 (grub_ohci_td_phys2virt): Likewise.
12097 (grub_ohci_td_virt2phys): Likewise.
12098 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
12099 attachment.
12100 (grub_ohci_find_ed): New function.
12101 (grub_ohci_alloc_td): Likewise.
12102 (grub_ohci_free_td): Likewise.
12103 (grub_ohci_free_tds): Likewise.
12104 (grub_ohci_transfer): Use previously allocated memory.
12105 (grub_ohci_portstatus): Reset status changed bit.
12106 (grub_ohci_detect_dev): Supply status changed.
12107 (grub_ohci_fini_hw): Free memory.
12108 (grub_ohci_restore_hw): Reallocate memory.
12109 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
12110 Reset status change.
12111 (grub_uhci_detect_dev): Supply status_change.
12112 * bus/usb/usb.c (attach_hooks): New var.
12113 (grub_usb_device_attach): New function.
12114 (grub_usb_register_attach_hook_class): Likewise.
12115 (grub_usb_unregister_attach_hook_class): Likewise.
12116 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
12117 (grub_usb_add_hub): Reset connection changed bit.
12118 (attach_root_port): New function.
12119 (grub_usb_root_hub): Likewise.
12120 (poll_nonroot_hub): Likewise.
12121 (grub_usb_poll_devices): Likewise.
12122 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
12123 * disk/usbms.c (grub_usbms_open): Use device hooks.
12124 (grub_usbms_iterate) :Poll devices.
12125 (grub_usbms_finddevs): Split into ...
12126 (grub_usbms_attach): ... this ...
12127 (grub_usbms_attach): ... and this.
12128 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
12129 in detect_dev.
12130 (grub_usb_interface): New fields attached and detach_hook.
12131 (grub_usb_attach_hook_class): New type.
12132 (grub_usb_attach_desc): New struct.
12133 (grub_usb_register_attach_hook_class): New function.
12134 (grub_usb_unregister_attach_hook_class): Likewise.
12135 (grub_usb_poll_devices): Likewise.
12136 (grub_usb_device_attach): Likewise.
12137 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
12138 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
12139
12140 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
12141
12142 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
12143 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
12144 delta determination style. Works with most NetBSD partitions too.
12145
12146 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
12147
12148 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
12149 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
12150
12151 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
12152
12153 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
12154
12155 2010-07-14 Anton Blanchard <anton@samba.org>
12156
12157 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
12158 ET_DYN files.
12159
12160 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12161
12162 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
12163
12164 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12165
12166 * kern/partition.c (grub_partition_check_containment): New function to
12167 check that a partition is physically contained in a parent. Since
12168 offsets are relative (and non-negative), this reduces to checking that
12169 the partition ends before its parent.
12170 (grub_partition_map_probe): Discard out-of-range sub-partitions.
12171 (grub_partition_iterate): Likewise.
12172 * include/grub/partition.h (grub_partition_map): Slightly more detailed
12173 comments.
12174 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
12175 partitions that start before their parent, and add debug printfs.
12176
12177 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
12178
12179 * Makefile.in (.SUFFIX): Spell correctly, as ...
12180 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
12181 bare module name without `.mod', e.g. `test') tried to invoke a
12182 Modula-2 compiler.
12183
12184 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
12185
12186 * README: Point to the Info manual.
12187
12188 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
12189
12190 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
12191 2nd superblock position from partition size.
12192
12193 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
12194
12195 * Makefile.in (MAINTAINER_CLEANFILES): Remove
12196 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
12197 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
12198 outputs.
12199
12200 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12201
12202 Restructure SCSI .id handling.
12203 Reported and tested by: Aleš Nesrsta.
12204
12205 * disk/ata.c (grub_atapi_close): Removed. All users updated.
12206 (grub_atapi_dev): Changed .name to "ata". New field .id.
12207 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
12208 (grub_usbms_dev): New field .id.
12209 * disk/scsi.c (grub_scsi_iterate): Generate name.
12210 (grub_scsi_open): Parse name.
12211 * include/grub/scsi.h (grub_make_scsi_id): New function.
12212 (grub_scsi_dev): Change iterate and open to number instead of naming
12213 busses. All users updated.
12214 (grub_scsi): Remove name. Add .bus.
12215
12216 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12217
12218 * commands/help.c (grub_cmd_help): Fix a typo.
12219
12220 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12221
12222 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
12223 Reported and tested by: Colin Watson.
12224
12225 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12226
12227 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
12228 in this context.
12229
12230 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
12231
12232 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
12233
12234 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
12235
12236 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
12237 indentation.
12238
12239 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
12240
12241 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
12242 and disk/raid6_recover.c.
12243 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
12244 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
12245
12246 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
12247
12248 * term/gfxterm.c (repaint_schedulded): Rename to ...
12249 (repaint_scheduled): ... this. Update all callers.
12250 (repaint_was_schedulded): Rename to ...
12251 (repaint_was_scheduled): ... this. Update all callers.
12252
12253 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
12254
12255 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
12256 which we expect to be handled by upper layers.
12257
12258 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
12259
12260 * bus/usb/usbhub.c: #include time.h header.
12261
12262 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
12263
12264 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
12265 entry_name also for entries without stat blocks (e.g. ".."); fixes
12266 corruption of the first entry in a directory.
12267
12268 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
12269
12270 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
12271 after setting gfxterm as the active terminal. GRUB_BACKGROUND
12272 doesn't work otherwise.
12273
12274 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
12275
12276 * docs/grub.texi (Features): Update list of supported file systems.
12277 (GNU/Linux): Update for GRUB 2.
12278 (Serial terminal): Remove mention of --disable-serial, which was a
12279 GRUB Legacy configure option. Update instructions to use
12280 `terminal_input' and `terminal_output' rather than `terminal'.
12281 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
12282 configuration' and `Installing GRUB using grub-install'.
12283 (Menu entry editor): Update for GRUB 2.
12284 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
12285 Document new -a, -u, and -v options.
12286 (initrd): New section.
12287 (initrd16): New section.
12288 (linux): New section.
12289 (linux16): New section.
12290 (search): The `var' argument to `--set' is optional.
12291 (GRUB only offers a rescue shell): Go into a little more detail on
12292 drive ordering.
12293
12294 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
12295
12296 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
12297
12298 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
12299
12300 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
12301 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
12302
12303 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
12304
12305 * util/i386/pc/grub-setup.c (setup): Rename prefix to
12306 install_prefix, in line with install_dos_part and install_bsd_part.
12307 Add new prefix variable, which is copied to install_prefix after
12308 comparing core.img in memory with the one read from disk in the
12309 no-embedding case, and use that rather than overwriting
12310 install_prefix immediately when installing to a partition.
12311 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
12312 Bicakci.
12313
12314 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
12315
12316 * configure.ac: Avoid == in test command, it's not portable.
12317 * util/grub.d/30_os-prober.in: Likewise.
12318
12319 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
12320
12321 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
12322
12323 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
12324
12325 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
12326 multiple (top-level) partmaps.
12327
12328 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12329
12330 * util/i386/efi/grub-install.in: Don't use empty grub_device.
12331 Reported by: Tino Keitel.
12332
12333 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12334
12335 Bidi and diacritics support.
12336
12337 * Makefile.in (widthspec.bin): New target.
12338 (widthspec.h): Likewise.
12339 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
12340 * autogen.sh: Generate unidata.c.
12341 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
12342 * commands/ls.c (grub_ls_list_devices): Likewise.
12343 (grub_ls_list_files): Likewise.
12344 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
12345 (grub_mini_cmd_lsmod): Likewise.
12346 * commands/read.c: Likewise.
12347 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
12348 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
12349 * lib/arg.c (grub_arg_show_help): Likewise.
12350 * lib/crypto.c (grub_password_get): Likewise.
12351 * normal/auth.c (grub_username_get): Likewise.
12352 * normal/misc.c (grub_normal_print_device_info): Likewise.
12353 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
12354 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
12355 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
12356 (normal/charset.c_DEPENDENCIES): New variable.
12357 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
12358 (pkglib_MODULES): Remove charset.mod.
12359 (charset_mod_SOURCES): Removed.
12360 (charset_mod_CFLAGS): Likewise.
12361 (charset_mod_LDFLAGS): Likewise.
12362 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
12363 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
12364 and term/tparm.c.
12365 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12366 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12367 (kernel_img_HEADERS): Add terminfo.h.
12368 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
12369 Fill ->font. Reverse ascii bitmaps.
12370 (grub_font_get_xheight): New function.
12371 * font/font.c (grub_font_get_string_width): Moved from here ...
12372 * gfxmenu/font.c (grub_font_get_string_width): ... here.
12373 * font/font.c (grub_font_draw_string): Moved from here ...
12374 * gfxmenu/font.c (grub_font_draw_string): ... here.
12375 * font/font.c (grub_font_dup_glyph): New function.
12376 (grub_font_blit_glyph): Likewise.
12377 (grub_font_blit_glyph_mirror): Likewise.
12378 (blit_comb): Likewise.
12379 (grub_font_construct_dry_run): Likewise.
12380 (grub_font_get_constructed_device_width): Likewise.
12381 (grub_font_construct_glyph): Likewise.
12382 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
12383 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
12384 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
12385 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
12386 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
12387 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
12388 (grub_font_get_xheight): New proto.
12389 (grub_font_get_constructed_device_width): Likewise.
12390 (grub_font_construct_glyph): Likewise.
12391 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
12392 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
12393 * include/grub/font.h (grub_font_draw_string): Moved from here ...
12394 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
12395 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
12396 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
12397 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
12398 (grub_console_getcharwidth): Likewise.
12399 * include/grub/misc.h (grub_xputs): New proto.
12400 (grub_puts): Inlined.
12401 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
12402 (grub_normal_get_line_counter): Removed.
12403 (grub_install_newline_hook): Likewise.
12404 (grub_normal_get_char_counter): New proto.
12405 (grub_normal_reset_more): Likewise.
12406 (grub_xputs_normal): Likewise.
12407 * include/grub/powerpc/ieee1275/console.h: Removed.
12408 * include/grub/sparc64/ieee1275/console.h: Likewise.
12409 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
12410 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
12411 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
12412 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
12413 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
12414 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
12415 (grub_term_input): Pass reference to self. All users updated.
12416 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
12417 Pass reference to self. New fields normal_color, highlight_color and
12418 data. All users updated.
12419 (grub_putchar): Removed.
12420 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
12421 (grub_unicode_estimate_width): New function.
12422 (grub_term_getcharwidth): Add defaults.
12423 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
12424 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
12425 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
12426 (grub_cls): Remove EXPORT_FUNC.
12427 (grub_setcolorstate): Inline.
12428 (grub_newline_hook): Removed.
12429 * include/grub/terminfo.h: Rewritten. All users updated.
12430 * include/grub/unicode.h: New file.
12431 * include/grub/video.h (grub_video_signed_rect): New type.
12432 * kern/emu/console.c (grub_console_highlight_color): Removed.
12433 (grub_console_normal_color): Likewise.
12434 (grub_console_standard_color): Made static.
12435 (grub_ncurses_putchar): Remove mapping.
12436 (grub_ncurses_getcharwidth): Removed.
12437 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
12438 (grub_ncurses_setcolor): Removed.
12439 (grub_ncurses_getcolor): Likewise.
12440 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
12441 (grub_console_putchar): ... this.
12442 (grub_console_putchar): Handle argument difference.
12443 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
12444 console_init_early and console_init_lately.
12445 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
12446 * kern/misc.c (grub_puts): Removed.
12447 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
12448 (grub_vsnprintf_real): Remove str = NULL support.
12449 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
12450 * normal/charset.c (grub_utf8_to_ucs4): ... here.
12451 * kern/term.c (grub_putcode): Renamed to ...
12452 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
12453 (grub_putchar): Removed.
12454 (grub_xputs_dumb): New function.
12455 (grub_xputs): New variable.
12456 * lib/charset.c: Move from here ...
12457 * normal/charset.c: ... to here.
12458 (grub_ucs4_to_utf8): New function.
12459 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
12460 (join_types): New variable.
12461 (unpack_join): New function.
12462 (bidi_types): New variable.
12463 (unpack_bidi): New function.
12464 (get_bidi_type): Likewise.
12465 (get_join_type): Likewise.
12466 (is_mirrored): Likewise.
12467 (grub_unicode_get_comb_type): Likewise.
12468 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
12469 (is_type_after): Likewise.
12470 (grub_unicode_aglomerate_comb): Likewise.
12471 (bidi_line_wrap): Likewise.
12472 (grub_bidi_line_logical_to_visual): Likewise.
12473 (grub_bidi_logical_to_visual): Likewise.
12474 (grub_unicode_mirror_code): Likewise.
12475 (grub_unicode_shape_code): Likewise.
12476 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
12477 Don't use grub_putchar.
12478 * normal/main.c (grub_normal_init_page): Use grub_putcode.
12479 (grub_normal_reader_init): Likewise.
12480 (grub_xputs_saved): New variable.
12481 (GRUB_MOD_INIT): Set grub_xputs.
12482 (GRUB_MOD_FINI): Restore grub_xputs.
12483 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
12484 (menu_init): Avoid printing gfxmenu error.
12485 (show_menu): Use grub_normal_get_char_counter.
12486 * normal/menu_entry.c (update_screen): Fix out-of-array.
12487 (complete): Avoid NULL dereferencing.
12488 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
12489 * normal/menu_text.c (print_spaces): Removed.
12490 (grub_print_ucs4): Likewise.
12491 (grub_print_message_indented): Use grub_print_ucs4.
12492 (print_message): Use grub_putcode.
12493 (print_entry): Hanlde diacritics.
12494 * normal/term.c (term_state): New type.
12495 (grub_more_lines): Removed.
12496 (term_states): New variable.
12497 (grub_normal_line_counter): Renamed to ..
12498 (grub_normal_char_counter): ...this. All users updated.
12499 (grub_normal_get_line_counter): Renamed to ...
12500 (grub_normal_get_char_counter): ... this.
12501 (grub_normal_reset_more): New function.
12502 (process_newline): Removed.
12503 (print_more): New function.
12504 (grub_install_newline_hook): Removed.
12505 (map_code): New function.
12506 (grub_puts_terminal): Use grub_print_ucs4.
12507 (putglyph): New function.
12508 (putcode_real): Likewise.
12509 (grub_putcode): Use putcode_real.
12510 (get_maxwidth): New function.
12511 (get_startwidth): Likewise.
12512 (print_ucs4_terminal): Likewise.
12513 (find_term_state): Likewise.
12514 (put_glyphs_terminal): Likewise.
12515 (print_backlog): Likewise.
12516 (print_ucs4_real): Likewise.
12517 (grub_print_ucs4): Likewise.
12518 (grub_xputs_normal): Likewise.
12519 * term/efi/console.c (grub_console_putchar): Output diacritics.
12520 (grub_console_getcharwidth): Removed.
12521 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
12522 * term/gfxterm.c (clear_char): Free chars.
12523 (scroll_up): Avoid leaking memory.
12524 (grub_gfxterm_putchar): Support diacritics.
12525 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
12526 * term/i386/pc/console.c (grub_console_term_output): Declare as
12527 GRUB_TERM_CODE_TYPE_VGA.
12528 * term/i386/pc/vga.c (grub_vga_term): Declare as
12529 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
12530 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
12531 GRUB_TERM_CODE_TYPE_VGA.
12532 * term/i386/vga_common.c (map_char): Removed.
12533 (grub_console_putchar): Likewise.
12534 (grub_console_getcharwidth): Likewise.
12535 * term/ieee1275/ofconsole.c: Simplify using terminfo.
12536 (colors): Reordered to match terminfo.
12537 (grub_ofconsole_normal_color): Removed.
12538 (grub_ofconsole_writeesc): Likewise.
12539 (grub_ofconsole_highlight_color): Likewise.
12540 (grub_ofconsole_getcharwidth): Likewise.
12541 (grub_ofconsole_setcolorstate): Likewise.
12542 (grub_ofconsole_setcolor): Likewise.
12543 (grub_ofconsole_getcolor): Likewise.
12544 (grub_ofconsole_readkey): Renamed to ...
12545 (readkey): ... this. Remove escape sequence handling. Return -1 on no
12546 key.
12547 (grub_ofconsole_checkkey): Removed.
12548 (grub_ofconsole_getkey): Likewise.
12549 (grub_ofconsole_getxy): Likewise.
12550 (grub_ofconsole_gotoxy): Likewise.
12551 (grub_ofconsole_cls): Likewise.
12552 (grub_ofconsole_refresh): Likewise.
12553 (grub_ofconsole_terminfo_input): New struct.
12554 (grub_ofconsole_terminfo_output): Likewise.
12555 (grub_ofconsole_term_input): Use terminfo.
12556 (grub_ofconsole_term_output): Likewise.
12557 (grub_console_init): Split into ...
12558 (grub_console_init_early): ...this and ...
12559 (grub_console_init_lately): ...this. Use terminfo.
12560 (grub_ofconsole_putchar): Renamed to ...
12561 (put): ... this. Remove mapping.
12562 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
12563 * term/serial.c: Simplify using terminfo.
12564 (xpos): Removed.
12565 (ypos): Likewise.
12566 (keep_track): Likewise.
12567 (registered): Likewise.
12568 (input_buf): Likewise.
12569 (npending): Likewise.
12570 (serial_translate_key_sequence): Likewise.
12571 (fill_input_buf): Likewise.
12572 (grub_serial_checkkey): Likewise.
12573 (grub_serial_getkey): Likewise.
12574 (grub_serial_getxy): Likewise.
12575 (grub_serial_gotoxy): Likewise.
12576 (grub_serial_putchar): Likewise.
12577 (grub_serial_cls): Likewise.
12578 (grub_serial_setcolorstate): Likewise.
12579 (grub_serial_setcursor): Likewise.
12580 (serial_hw_init): Use serial_hw_fetch.
12581 (grub_serial_terminfo_input): New variable.
12582 (grub_serial_terminfo_output): Likewise.
12583 (grub_serial_term_input): Use terminfo.
12584 (grub_serial_term_output): Likewise.
12585 * term/terminfo.c (putstr): Use put.
12586 (grub_terminfo_all_free): New function
12587 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
12588 (grub_terminfo_output_register): New function.
12589 (grub_terminfo_output_unregister): Likewise.
12590 (grub_terminfo_getxy): Likewise.
12591 (grub_terminfo_readkey): Likewise.
12592 (grub_terminfo_checkkey): Likewise.
12593 (grub_terminfo_getkey): Likewise.
12594 (grub_terminfo_input_init): Likewise.
12595 (print_terminfo): Likewise.
12596 (grub_cmd_terminfo): Handle encoding.
12597 (grub_terminfo_gotoxy): Track position.
12598 (grub_terminfo_cls): Likewise.
12599 (grub_terminfo_putchar): Likewise.
12600 (grub_terminfo_setcolorstate): Handle colors
12601 (grub_terminfo_cursor_on): This ...
12602 (grub_terminfo_cursor_off): ... and this merged into ...
12603 (grub_terminfo_setcursor): ... this.
12604 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
12605 * unicode/ArabicShaping.txt: New file (imported from Unicode).
12606 * unicode/BidiMirroring.txt: Likewise.
12607 * unicode/UnicodeData.txt: Likewise.
12608 * unicode/COPYING: Likewise.
12609 * util/grub-editenv.c (grub_putchar): Removed.
12610 (grub_xputs_real): New function.
12611 (grub_xputs): New variable.
12612 * util/grub-fstest.c (grub_putchar): Removed.
12613 (grub_xputs_real): New function.
12614 (grub_xputs): New variable.
12615 * util/grub-mkdevicemap.c (grub_putchar): Removed.
12616 (grub_xputs_real): New function.
12617 (grub_xputs): New variable.
12618 * util/grub-probe.c (grub_putchar): Removed.
12619 (grub_xputs_real): New function.
12620 (grub_xputs): New variable.
12621 * util/grub-script-check.c (grub_putchar): Removed.
12622 (grub_xputs_real): New function.
12623 (grub_xputs): New variable.
12624 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
12625 (grub_xputs_real): New function.
12626 (grub_xputs): New variable.
12627 * util/import_unicode.py: New file.
12628 * util/grub-mkfont.c (ft_errmsgs): New array.
12629 (grub_glyph_info): Make bitmap a pointer.
12630 (file_formats): New type WIDTH_SPEC.
12631 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
12632 (options): Add width-spec.
12633 (help): Likewise.
12634 (add_char): Renamed to ...
12635 (add_glyph): ... this.
12636 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
12637 (glyph_replace): New type.
12638 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
12639 (add_char): New function.
12640 (add_subst): Likewise.
12641 (process_cursive): Likewise.
12642 (add_font): Handle GSUB.
12643 (write_font_width_spec): New function.
12644 (main): Sort glyphs.
12645 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
12646 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
12647 * kern/term.c (grub_cls): Moved from here...
12648 * normal/term.c (grub_cls): ... here.
12649
12650 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12651
12652 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
12653 suitable for using within the format argument of printf when
12654 converting grub_size_t.
12655 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
12656 "x" to convert grub_size_t arguments.
12657
12658 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12659
12660 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
12661 too long captions.
12662 (list_get_minimal_size): Take selection box into account.
12663
12664 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12665
12666 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
12667 NULL font.
12668
12669 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12670
12671 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
12672 devices when iterating over /dev/disk/by-id; they will be handled
12673 later if appropriate, which they aren't always (e.g. LVM).
12674
12675 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12676
12677 * include/grub/misc.h (grub_reboot): Declare as noreturn.
12678 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
12679 fails.
12680 (grub_halt): Likewise.
12681 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
12682 reset-all fails.
12683 (grub_halt): Don't return, even if all of shut-down, power-off, and
12684 poweroff fail.
12685
12686 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12687
12688 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
12689 arguments, not three.
12690
12691 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12692
12693 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
12694 * util/grub.d/10_linux.in: Use it to check for LVM, so that
12695 LVM-on-RAID is handled correctly.
12696
12697 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12698
12699 * docs/grub.texi (Changes from GRUB Legacy): New section.
12700 (Future): Fix typo.
12701
12702 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12703
12704 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
12705 grub.d/README accidentally ends up executable for one reason or
12706 another. Ignore it.
12707
12708 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12709
12710 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
12711 (gpt_partition_map_iterate): Support non-512B sectors.
12712
12713 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12714
12715 * kern/efi/init.c (grub_efi_init): Disable watchdog.
12716 Tested by: Seth Goldberg.
12717
12718 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12719
12720 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
12721 Properly align mbi.
12722 Reported by: Seth Goldberg.
12723
12724 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12725
12726 * util/grub-mkrescue.in: Avoid module duplication.
12727
12728 2010-07-01 Sean Finney <seanius@seanius.net>
12729
12730 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
12731
12732 2010-07-01 Sean Finney <seanius@seanius.net>
12733
12734 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
12735
12736 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12737
12738 * disk/lvm.c (grub_lvm_checkvalue): New function.
12739 (grub_lvm_check_flag): Likewise.
12740
12741 2010-07-01 Robert Millan <rmh@gnu.org>
12742
12743 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
12744 Support 'p' as partition separator on kernel of FreeBSD (used
12745 with GPT labels).
12746 (grub_util_biosdisk_get_grub_dev): Likewise.
12747
12748 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12749
12750 Yeeloong firmware port.
12751
12752 * boot/mips/yeeloong/fwstart.S: New file.
12753 * bus/cs5536.c (gpiodump): New const.
12754 (set_io_space): New function.
12755 (set_iod): Likewise.
12756 (set_p2d): Likewise.
12757 (grub_cs5536_init_geode): Likewise.
12758 * commands/mips/yeeloong/lsspd.c: New file.
12759 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
12760 (serial_mod_SOURCES): New variable.
12761 (serial_mod_CFLAGS): Likewise.
12762 (serial_mod_LDFLAGS): Likewise.
12763 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
12764 term/terminfo.c and term/tparm.c.
12765 (pkglib_IMAGES): Add fwstart.img.
12766 (fwstart_img_SOURCES): New variable.
12767 (fwstart_img_CFLAGS): Likewise.
12768 (fwstart_img_ASFLAGS): Likewise.
12769 (fwstart_img_LDFLAGS): Likewise.
12770 (fwstart_img_FORMAT): Likewise.
12771 (pkglib_MODULES): Add lsspd.mod.
12772 (lsspd_mod_SOURCES): New variable.
12773 (lsspd_mod_CFLAGS): Likewise.
12774 (lsspd_mod_LDFLAGS): Likewise.
12775 (pkglib_MODULES): Add halt.mod.
12776 (halt_mod_SOURCES): New variable.
12777 (halt_mod_CFLAGS): Likewise.
12778 (halt_mod_LDFLAGS): Likewise.
12779 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
12780 (serial_mod_SOURCES): Removed.
12781 (serial_mod_CFLAGS): Likewise.
12782 (serial_mod_LDFLAGS): Likewise.
12783 * disk/ata.c (check_device): New function.
12784 (grub_ata_device_initialize): Use check_device.
12785 (grub_ata_iterate): Recheck devices.
12786 (grub_ata_open): Likewise.
12787 (grub_atapi_iterate): Likewise.
12788 (grub_atapi_open): Likewise.
12789 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
12790 (GRUB_ATA_CH1_PORT1): Likewise.
12791 (GRUB_ATA_CH0_PORT2): Likewise.
12792 (GRUB_ATA_CH1_PORT2): Likewise.
12793 * include/grub/mips/loongson.h: New file.
12794 * include/grub/mips/yeeloong/ec.h: Likewise.
12795 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
12796 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
12797 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
12798 * include/grub/misc.h (grub_halt): Declare as noreturn.
12799 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
12800 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
12801 (UART_ENABLE_FIFO_TRIGGER1): New definition.
12802 (UART_ENABLE_DTRRTS): Likewise.
12803 (UART_ENABLE_MODEM): Removed.
12804 (UART_ENABLE_OUT2): New const.
12805 * include/grub/term.h (grub_term_register_input_active): New function.
12806 (grub_term_register_output_active): Likewise.
12807 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
12808 argument.
12809 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
12810 (init_pci): New function.
12811 (grub_machine_init): Execute platform init when firmware. Init serial.
12812 (grub_halt): Implement.
12813 (grub_exit): Likewise.
12814 (grub_reboot): Likewise.
12815 * term/serial.c (serial_hw_init): Update macros.
12816 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
12817 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
12818 (image_targets): New target mipsel-yeeloong-flash.
12819 (generate_image): Support IMAGE_YEELOONG_FLASH.
12820 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
12821 (grub_video_sm712_setup): Init card.
12822 (grub_video_sm712_set_palette): Removed.
12823 * video/sm712_init.c: New file.
12824
12825 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
12826
12827 * Makefile.in (install-local): Temporarily prepend $(builddir) to
12828 PATH when running help2man and then run it on the unadorned
12829 executable names, rather than passing $(builddir)/* paths to
12830 help2man. This avoids the build directory ending up in generated
12831 manual pages.
12832
12833 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
12834
12835 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
12836 to avoid accidents when debugging with 'sh -x'.
12837 * util/grub-mkrescue.in: Likewise.
12838 * util/grub.d/00_header.in: Likewise.
12839 * util/grub.d/10_hurd.in: Likewise.
12840 * util/grub.d/10_kfreebsd.in: Likewise.
12841 * util/grub.d/10_linux.in: Likewise.
12842 * util/grub.d/10_netbsd.in: Likewise.
12843 * util/grub.d/10_windows.in: Likewise.
12844 * util/grub.d/20_linux_xen.in: Likewise.
12845 * util/grub.d/30_os-prober.in: Likewise.
12846 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12847
12848 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
12849
12850 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
12851 last character in the buffer.
12852 Reported by: Vladimir Serbinenko.
12853
12854 2010-06-29 Robert Millan <rmh@gnu.org>
12855
12856 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
12857 (Command-line and menu entry commands): Document `badram' command.
12858
12859 2010-06-28 Robert Millan <rmh@gnu.org>
12860
12861 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
12862 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
12863 command using ${GRUB_BADRAM} as parameter.
12864
12865 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12866
12867 * docs/grub.texi (Device map): New section.
12868 (Themes): New section (stub).
12869 * Makefile.in (docs/grub.info): The info documentation now builds
12870 without errors. Make sure it stays that way.
12871
12872 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12873
12874 Use normal parser for menu entries.
12875 Reported by: Thomas Frauendorfer
12876
12877 * include/grub/parser.h (grub_parser_execute): Don't export.
12878 * normal/menu.c (grub_menu_execute_entry_real): New function.
12879 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
12880
12881 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12882
12883 * docs/grub.texi (Embedded configuration): New section (replacing
12884 old "Preset Menu" stub).
12885 (Images): New section.
12886 (configfile): Note that any menu entries defined in `file' are shown
12887 immediately.
12888
12889 2010-06-28 Josh Triplett <josh@joshtriplett.org>
12890
12891 * mmap/i386/pc/mmap_helper.S: Set CF on return.
12892
12893 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12894
12895 * util/grub-install.in: Add --debug-image= option.
12896
12897 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12898
12899 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
12900 possible on Linux.
12901
12902 * util/deviceiter.c (check_device): Rename to ...
12903 (check_device_readable_unique): ... this. Update all callers.
12904 Maintain and check a list of which devices (by canonicalized name)
12905 have already been seen.
12906 (clear_seen_devices): New function.
12907 (compare_file_names) [__linux__]: New function.
12908 (grub_util_iterate_devices): Clear the list of seen devices on exit
12909 and (just in case) on entry.
12910 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
12911 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
12912 seen-devices list, superseded by general code in check_device.
12913
12914 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12915
12916 * commands/cat.c (options): New variable.
12917 (grub_cmd_cat): Parse options. If the --dos option is given, print
12918 DOS-style "\r\n" line endings as simple newlines (Debian bug
12919 #586358).
12920 (GRUB_MOD_INIT): Use extcmd.
12921 (GRUB_MOD_FINI): Likewise.
12922 * docs/grub.texi (cat): Document --dos.
12923
12924 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12925
12926 XEN with Linux grub-mkconfig support.
12927
12928 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
12929 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
12930 GRUB_CMDLINE_XEN_DEFAULT.
12931 * util/grub.d/20_linux_xen.in: New file.
12932
12933 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12934
12935 Initialise VGA video on qemu ourselves.
12936
12937 * boot/i386/qemu/boot.S: Don't call 0xc000.
12938 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
12939 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
12940 (kernel_img_HEADERS): Add pci.h.
12941 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
12942 * configure.ac: Force unifont on qemu and yeeloong.
12943 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
12944 (grub_vga_palette_write): Use correct register.
12945 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
12946 Call grub_qemu_init_cirrus.
12947 * kern/i386/qemu/init.c: New file.
12948 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
12949
12950 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
12951
12952 2010-06-26 Pavel Roskin <proski@gnu.org>
12953
12954 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
12955 13.
12956
12957 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
12958
12959 * docs/grub.texi (Simple configuration): Explain that
12960 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
12961 set to `true' to disable their respective recovery entries, not
12962 merely set.
12963
12964 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
12965
12966 Make the `source' command slightly faster.
12967
12968 * normal/main.c (grub_normal_execute): Don't re-read list files when
12969 nested.
12970
12971 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
12972
12973 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
12974 field position and mask size to red fields from mode_info, not
12975 green.
12976 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
12977 Remove redundant tag->common.framebuffer_type assignment.
12978 Reported by: Seth Goldberg.
12979
12980 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
12981
12982 Sync up other versions of the Linux loader with Robert Millan's
12983 change of 2010-01-09, "Make loader output a bit more user-friendly".
12984
12985 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
12986 grub_dprintf().
12987 (grub_cmd_linux): Likewise.
12988 (grub_cmd_initrd): Likewise.
12989 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
12990 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12991
12992 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
12993
12994 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
12995 larger than MEMORY_MAP_SIZE.
12996
12997 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
12998
12999 Fix parallel build.
13000
13001 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
13002 dependency.
13003 * script/parser.y: #include grub_script.tab.h header.
13004
13005 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
13006
13007 Support >3GiB and <16MiB RAM in i386-qemu.
13008
13009 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
13010 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
13011 (grub_lower_mem): Removed.
13012 (grub_upper_mem): Likewise.
13013 (mem_size): Made static.
13014 (above_4g): New variable.
13015 (grub_machine_mmap_init): Detect small mem_size and above_4g.
13016 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
13017 support.
13018
13019 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
13020
13021 Cirrus 5446 and Bochs video cards support.
13022
13023 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
13024 video_bochs.mod
13025 (video_cirrus_mod_SOURCES): New variable.
13026 (video_cirrus_mod_CFLAGS): Likewise.
13027 (video_cirrus_mod_LDFLAGS): Likewise.
13028 (video_bochs_mod_SOURCES): Likewise.
13029 (video_bochs_mod_CFLAGS): Likewise.
13030 (video_bochs_mod_LDFLAGS): Likewise.
13031 * include/grub/vga.h: New file.
13032 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
13033 (grub_video_fb_set_page_t): New type.
13034 (grub_video_fb_setup): New prototype.
13035 (grub_video_fb_swap_buffers): Likewise.
13036 (grub_video_fb_get_info_and_fini): Likewise.
13037 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
13038 (CRTC_DATA_PORT): Likewise.
13039 (CRTC_CURSOR): Likewise.
13040 (CRTC_CURSOR_ADDR_HIGH): Likewise.
13041 (CRTC_CURSOR_ADDR_LOW): Likewise.
13042 (CRTC_CURSOR_DISABLE): Likewise.
13043 (update_cursor): Use grub_vga_cr_write.
13044 (grub_vga_text_setcursor): Likewise.
13045 * video/bochs.c: New file.
13046 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
13047 (palette): Likewise.
13048 (palette_size): Likewise.
13049 (framebuffer): New variable.
13050 (grub_video_fb_init): Use 'framebuffer'.
13051 (grub_video_fb_fini): Likewise.
13052 (grub_video_fb_get_info): Likewise.
13053 (grub_video_fb_get_palette): Likewise.
13054 (grub_video_fb_set_palette): Likewise.
13055 (grub_video_fb_set_viewport): Likewise.
13056 (grub_video_fb_get_viewport): Likewise.
13057 (grub_video_fb_map_color): Likewise.
13058 (grub_video_fb_map_rgb): Likewise.
13059 (grub_video_fb_map_rgba): Likewise.
13060 (grub_video_fb_unmap_color): Likewise.
13061 (grub_video_fb_unmap_color_int): Likewise.
13062 (grub_video_fb_fill_rect): Likewise.
13063 (grub_video_fb_blit_bitmap): Likewise.
13064 (grub_video_fb_blit_render_target): Likewise.
13065 (grub_video_fb_scroll): Likewise.
13066 (grub_video_fb_create_render_target): Likewise.
13067 (grub_video_fb_doublebuf_blit_init): Likewise.
13068 (grub_video_fb_set_active_render_target): Handle doublebuffering.
13069 (doublebuf_pageflipping_update_screen): New function.
13070 (doublebuf_pageflipping_init): Likewise.
13071 (grub_video_fb_setup): Likewise.
13072 (grub_video_fb_swap_buffers): Likewise.
13073 (grub_video_fb_get_info_and_fini): Likewise.
13074 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
13075 All users updated.
13076 (doublebuf_pageflipping_commit): Restructured into ...
13077 (doublebuf_pageflipping_set_page): ... this.
13078 (doublebuf_pageflipping_update_screen): Removed.
13079 (doublebuf_pageflipping_init): Likewise.
13080 (double_buffering_init): Likewise.
13081 (grub_video_vbe_setup): Use grub_video_fb_setup.
13082 (grub_video_vbe_swap_buffers): Removed.
13083 (grub_video_vbe_set_active_render_target): Likewise.
13084 (grub_video_vbe_get_active_render_target): Likewise.
13085 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
13086 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
13087 grub_video_fb_set_active_render_target and
13088 grub_video_fb_get_active_render_target.
13089 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
13090 (SEQUENCER_DATA_PORT): Likewise.
13091 (MAP_MASK_REGISTER): Likewise.
13092 (CRTC_ADDR_PORT): Likewise.
13093 (CRTC_DATA_PORT): Likewise.
13094 (START_ADDR_HIGH_REGISTER): Likewise.
13095 (START_ADDR_LOW_REGISTER): Likewise.
13096 (GRAPHICS_ADDR_PORT): Likewise.
13097 (GRAPHICS_DATA_PORT): Likewise.
13098 (READ_MAP_REGISTER): Likewise.
13099 (INPUT_STATUS1_REGISTER): Likewise.
13100 (INPUT_STATUS1_VERTR_BIT): Likewise.
13101 (get_map_mask): Use grub_vga_sr_read.
13102 (set_map_mask): Use grub_vga_sr_write.
13103 (set_read_map): Use grub_vga_gr_write.
13104 (set_start_address): Use grub_vga_cr_write.
13105 * video/sm712.c (framebuffer): Remove leftover fields.
13106
13107 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
13108
13109 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
13110 setting GRUB_VIDEO_BACKEND. Make it available as a user override
13111 instead. Replace the gfxterm backend check with a check that
13112 ${GRUB_PREFIX}/video.lst is non-empty.
13113 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
13114 again.
13115 (load_video): New generated function. Call it before loading
13116 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
13117 * util/grub.d/10_linux.in (linux_entry): Call load_video.
13118 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
13119 * docs/grub.texi (Simple configuration): Document
13120 GRUB_VIDEO_BACKEND.
13121
13122 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
13123
13124 Use video functions in linux and xnu loaders.
13125
13126 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
13127 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
13128 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
13129 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
13130 loader/i386/pc/linux.c.
13131 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
13132 (find_line_len): Removed.
13133 (find_framebuf): Likewise.
13134 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
13135 * loader/i386/efi/xnu.c: Removed.
13136 * loader/i386/pc/xnu.c: Moved from here...
13137 * loader/i386/xnu.c: ...here.
13138
13139 Enable priorities in video drivers.
13140
13141 * include/grub/video.h (grub_video_adapter_prio_t): New type.
13142 (grub_video_adapter): New field prio.
13143 (grub_video_register): Respect prio when inserting.
13144 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
13145 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
13146 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
13147 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
13148 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
13149 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
13150 * video/sm712.c (grub_video_sm712_adapter): Likewise.
13151
13152 Fix SDL driver ID.
13153
13154 * include/grub/video.h (grub_video_driver_id_t): New value
13155 GRUB_VIDEO_DRIVER_SDL.
13156 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
13157
13158 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
13159
13160 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
13161 argument to printf.
13162 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13163
13164 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
13165
13166 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
13167 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13168
13169 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
13170
13171 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
13172 directly, and recommend grub-install instead.
13173 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13174
13175 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
13176
13177 Fix i386-pc prefix handling with nested partitions (Debian bug
13178 #585068). Note that the case where the core image is booted using
13179 multiboot and relocated from its original location still requires
13180 more work.
13181
13182 * kern/i386/pc/init.c (make_install_device): If the prefix starts
13183 with "(,", fill the boot drive in between those two characters, but
13184 expect that a full partition specification including partition map
13185 names will follow.
13186 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
13187 specified, write a prefix without the drive name but including a
13188 full partition specification.
13189
13190 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
13191
13192 * util/grub-mkconfig.in: Ignore non-option arguments, for
13193 compatibility with older versions (before 2010-06-12) which did the
13194 same. In particular, this makes it easier to ship an update-grub
13195 wrapper which is compatible with that used with GRUB Legacy (Debian
13196 bug #586056).
13197
13198 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13199
13200 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
13201 for manual page generation.
13202
13203 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13204
13205 * po/POTFILES: Remove leftover commands/handler.c.
13206
13207 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
13208
13209 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
13210 left this script non-functional.
13211
13212 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
13213
13214 * docs/man/grub-emu.h2m: New file.
13215
13216 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
13217
13218 * docs/grub.texi (Commands): Document reduced command set in rescue
13219 mode.
13220 (cpuid): New section.
13221
13222 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
13223
13224 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
13225 new partition naming style.
13226 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
13227
13228 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
13229
13230 Add "-o grub.iso" like cmdline options support.
13231
13232 * util/grub-install.in: Improve cmdline option parsing.
13233 * util/grub-mkconfig.in: Likewise.
13234 * util/grub-mkrescue.in: Likewise.
13235 * util/grub-reboot.in: Likewise.
13236 * util/grub-set-default.in: Likewise.
13237 * util/i386/efi/grub-install.in: Likewise.
13238 * util/ieee1275/grub-install.in: Likewise.
13239 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13240
13241 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
13242
13243 * .bzrignore: Ignore 41_custom.
13244
13245 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
13246
13247 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
13248
13249 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
13250
13251 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
13252 prototype declarations.
13253
13254 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
13255 generating fs, partmap, and video lists.
13256 * include/grub/fs.h (grub_fs_register): Omit prototype if
13257 GRUB_LST_GENERATOR is defined.
13258 * include/grub/partition.h (grub_partition_map_register): Likewise.
13259 * include/grub/video.h (grub_video_register): Likewise.
13260
13261 2010-06-12 Javier Martín <lordhabbit@gmail.com>
13262
13263 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
13264
13265 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
13266
13267 * util/grub-mkrescue.in: Support --xorriso argument.
13268
13269 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13270
13271 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
13272 Suggested by: Thomas Schmitt.
13273
13274 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13275
13276 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
13277 Suggested by: Thomas Schmitt.
13278
13279 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13280
13281 custom.cfg support.
13282
13283 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
13284 * util/grub.d/41_custom.in: New file.
13285
13286 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
13287
13288 * util/grub-mkrescue.in (make_image): Remove sh module, which has
13289 been merged back into normal.
13290
13291 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
13292
13293 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
13294 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
13295
13296 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
13297
13298 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
13299 when generating manual pages.
13300 * docs/man/grub-bin2h.h2m: New file.
13301 * docs/man/grub-editenv.h2m: New file.
13302 * docs/man/grub-fstest.h2m: New file.
13303 * docs/man/grub-install.h2m: New file.
13304 * docs/man/grub-macho2img.h2m: New file.
13305 * docs/man/grub-mkconfig.h2m: New file.
13306 * docs/man/grub-mkdevicemap.h2m: New file.
13307 * docs/man/grub-mkfont.h2m: New file.
13308 * docs/man/grub-mkimage.h2m: New file.
13309 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
13310 * docs/man/grub-mkrelpath.h2m: New file.
13311 * docs/man/grub-mkrescue.h2m: New file.
13312 * docs/man/grub-ofpathname.h2m: New file.
13313 * docs/man/grub-pe2elf.h2m: New file.
13314 * docs/man/grub-probe.h2m: New file.
13315 * docs/man/grub-reboot.h2m: New file.
13316 * docs/man/grub-script-check.h2m: New file.
13317 * docs/man/grub-set-default.h2m: New file.
13318 * docs/man/grub-setup.h2m: New file.
13319
13320 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
13321
13322 Use FOR_* macros instead of *_iterate whenever possible.
13323
13324 * commands/handler.c: Removed.
13325 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
13326 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
13327 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13328 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
13329 (grub_probe_SOURCES): Remove kern/parser.c.
13330 (util/grub-script-check.c_DEPENDENCIES): Removed.
13331 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
13332 and grub_script_check_init.c.
13333 (grub_script_check_init.lst): Removed.
13334 (grub_script_check_init.h): Likewise.
13335 (grub_script_check_init.c): Likewise.
13336 (pkglib_MODULES): Remove handler.mod and sh.mod.
13337 (handler_mod_SOURCES): Removed.
13338 (handler_mod_CFLAGS): Likewise.
13339 (handler_mod_LDFLAGS): Likewise.
13340 (normal_mod_SOURCES): Remove normal/handler.c.
13341 Add script/main.c, script/script.c, script/execute.c,
13342 script/function.c, script/lexer.c, grub_script.tab.c
13343 and grub_script.yy.c.
13344 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13345 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13346 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
13347 (grub_setup_SOURCES): Remove kern/parser.c.
13348 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13349 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
13350 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
13351 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13352 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13353 (grub_setup_SOURCES): Remove kern/parser.c.
13354 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13355 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
13356 * include/grub/command.h (grub_command_iterate): Removed.
13357 (FOR_COMMANDS): New macro.
13358 * include/grub/dl.h (grub_dl): New member next.
13359 (grub_dl_iterate): Removed.
13360 (grub_dl_head): New variable declaration.
13361 (FOR_DL_MODULES): New macro.
13362 * include/grub/fs.h: Include list.h.
13363 (grub_fs): Make next first element.
13364 (grub_fs_list): New variable declaration.
13365 (grub_fs_register): Make inline.
13366 (grub_fs_unregister): Likewise.
13367 (grub_fs_iterate): Removed.
13368 (FOR_FILESYSTEMS): New macro.
13369 * include/grub/handler.h: Removed.
13370 * include/grub/list.h (grub_list_hook_t): Removed.
13371 (grub_list_test_t): Likewise.
13372 (grub_list_pop): Likewise.
13373 (grub_list_iterate): Likewise.
13374 (grub_list_insert): Likewise.
13375 (FOR_LIST_ELEMENTS): New macro.
13376 * include/grub/parser.h (grub_parser_class): Removed.
13377 (grub_parser_register): Likewise.
13378 (grub_parser_unregister): Likewise.
13379 (grub_parser_get_current): Likewise.
13380 (grub_parser_set_current): Likewise.
13381 (grub_register_rescue_parser): Likewise.
13382 (grub_rescue_parse_line): New function.
13383 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
13384 * include/grub/script_sh.h (grub_script_function_list): New variable
13385 declaration.
13386 (FOR_SCRIPT_FUNCTIONS): New macro.
13387 (grub_script_function_iterate): Removed.
13388 (grub_normal_parse_line): New prototype.
13389 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
13390 (FOR_DISABLED_TERM_INPUTS): Likewise.
13391 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
13392 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
13393 * include/grub/video.h (grub_video_adapter): Move 'next' to first
13394 element.
13395 (grub_video_register): Inline.
13396 (grub_video_unregister): Likewise.
13397 (grub_video_adapter_list): New variable declaration.
13398 (grub_video_iterate): Removed.
13399 (FOR_VIDEO_ADAPTERS): New macro.
13400 * kern/dl.c (grub_dl_list): Removed. All users updated.
13401 (grub_dl_iterate): Removed.
13402 * kern/fs.c (grub_fs_list): Make global.
13403 (grub_fs_register): Removed.
13404 (grub_fs_unregister): Likewise.
13405 (grub_fs_iterate): Likewise.
13406 * kern/handler.c: Removed.
13407 * kern/list.c (grub_list_pop): Removed.
13408 (grub_list_iterate): Likewise.
13409 (grub_list_insert): Likewise.
13410 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
13411 (grub_prio_list_insert): Don't use grub_list_insert.
13412 * kern/main.c (grub_register_rescue_parser): Don't call
13413 grub_register_rescue_parser.
13414 * kern/parser.c (grub_parser_class): Removed.
13415 (grub_parser_execute): Use grub_rescue_parse_line.
13416 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
13417 (grub_rescue_parser): Removed.
13418 (grub_register_rescue_parser): Likewise.
13419 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
13420 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
13421 (grub_auth_check_authentication): Likewise.
13422 * normal/completion.c (iterate_command): Removed.
13423 (grub_normal_do_completion): Use FOR_COMMANDS.
13424 * normal/handler.c: Removed.
13425 * normal/main.c (read_config_file): Remove parser changing.
13426 (grub_normal_execute): Don't call read_handler_list.
13427 (grub_normal_read_line_real): Statically allocate prompt.
13428 (grub_cmdline_run): Use grub_normal_parse_line.
13429 (GRUB_MOD_FINI): Don't call free_handler_list.
13430 * normal/menu_entry.c (run): Likewise.
13431 * script/function.c (grub_script_function_list): Make global.
13432 (grub_script_function_iterate): Removed.
13433 * script/main.c (grub_normal_parse_line): Make global.
13434 (grub_sh_parser): Removed.
13435 (GRUB_MOD_INIT): Likewise.
13436 (GRUB_MOD_FINI): Likewise.
13437 * tests/lib/functional_test.c (grub_functional_test): Use
13438 FOR_LIST_ELEMENTS.
13439 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
13440 (grub_test_run): Use FOR_LIST_ELEMENTS.
13441 * tests/lib/unit_test.c (main): Likewise.
13442 * util/deviceiter.c (grub_util_iterate_devices): Don't use
13443 grub_list_pop.
13444 * util/grub-fstest.c (grub_term_input_class): Removed.
13445 (grub_term_output_class): Likewise.
13446 * util/grub-probe.c: Likewise.
13447 * util/i386/pc/grub-setup.c: Likewise.
13448 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13449 * util/grub-script-check.c (main): Don't call grub_init_all and
13450 grub_fini_all.
13451 * video/video.c (grub_video_adapter_list): Make global.
13452 (grub_video_register): Removed.
13453 (grub_video_unregister): Likewise.
13454 (grub_video_iterate): Likewise.
13455
13456 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
13457
13458 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
13459 reported by Henrique Ferreiro.
13460
13461 2010-06-09 Robert Millan <rmh@gnu.org>
13462
13463 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
13464 ones, when both are available.
13465
13466 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13467
13468 Make --version uniform and avoid hard-coded program name.
13469
13470 * util/grub-mkimage.c (main): Use `program_name' instead of
13471 hard-coded string.
13472 * util/i386/pc/grub-setup.c (main): Likewise.
13473 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
13474 * util/grub-install.in: Save the basename of $0 in $self, and use the
13475 latter in informational messages. Use the same format for --version
13476 as the binary programs.
13477 * util/grub-mkconfig.in: Likewise.
13478 * util/grub-mkrescue.in: Likewise.
13479 * util/grub-reboot.in: Likewise.
13480 * util/grub-set-default.in: Likewise.
13481 * util/i386/efi/grub-install.in: Likewise.
13482 * util/ieee1275/grub-install.in: Likewise.
13483 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13484
13485 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13486
13487 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
13488 embedding area. Use <= instead of == when checking for non-emptiness.
13489
13490 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13491
13492 * configure.ac: Add `.' to the directories searched for unifont.
13493
13494 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
13495
13496 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
13497 grub_script.yy.h.
13498
13499 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
13500
13501 * docs/grub.texi (History): Expand to cover GRUB 2.
13502 (Serial terminal): Refer to `terminal_input' and `terminal_output'
13503 commands, not `terminal'.
13504 (serial): Likewise.
13505 (terminal_input): New section.
13506 (terminal_output): New section.
13507 (uppermem): New section (stub).
13508 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
13509
13510 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
13511
13512 * docs/grub.texi (Security): Menu entries are unrestricted by
13513 default, not restricted to superusers as I had previously thought.
13514 Reword to account for this.
13515
13516 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13517
13518 * kern/emu/misc.c (device_mapper_null_log): New function.
13519 (grub_device_mapper_supported): New function.
13520 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
13521 prototype.
13522 * kern/emu/hostdisk.c (find_partition_start): Check whether
13523 device-mapper is supported before trying to use it.
13524 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
13525
13526 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13527
13528 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
13529 (File name syntax): Likewise.
13530 (help): --all is no longer supported in GRUB 2. Be more precise
13531 about pattern matching.
13532
13533 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13534
13535 * normal/completion.c (grub_normal_do_completion): When completing
13536 arguments to "set" and the current word contains an equals sign,
13537 skip to after the equals sign before starting completion.
13538
13539 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13540
13541 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
13542
13543 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13544
13545 * docs/grub.texi (Network): New section.
13546 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
13547 `(nd)' as in GRUB Legacy.
13548 (pxe_unload): New section.
13549
13550 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13551
13552 * docs/grub.texi (Troubleshooting): `echo' is not usually available
13553 in the rescue shell, so recommend using `set' instead. Thanks,
13554 Jordan Uggla.
13555
13556 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13557
13558 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
13559 (password): New section.
13560 (password_pbkdf2): New section.
13561 (search): New section.
13562 (Security): New section.
13563 (Troubleshooting): New section, currently very incomplete.
13564 (Invoking grub-mkpasswd-pbkdf2): New section.
13565 (Internals): New section, currently very incomplete.
13566
13567 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13568
13569 * util/grub.d/00_header.in: Add some more quoting (of
13570 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
13571 work again.
13572 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
13573
13574 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13575
13576 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
13577 to `count', fixing variable shadowing that broke the -c option.
13578
13579 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
13580
13581 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
13582 in case they contain spaces.
13583
13584 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
13585
13586 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
13587 "part_" to partmap module names, in line with grub-install.
13588 Reported by: Jindřich Makovička (Debian bug #584426).
13589
13590 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
13591
13592 * util/grub-mkimage.c: Make target-related error messages slightly
13593 more helpful; -O talks about "format". Explicitly point to the use
13594 of -O if no target is specified.
13595 Reported by: Didier Raboud (Debian bug #584415).
13596
13597 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
13598
13599 * INSTALL: Document several build requirements for optional features
13600 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
13601
13602 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
13603
13604 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
13605 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
13606 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
13607
13608 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13609
13610 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
13611 Thanks to Jordan Uggla for spotting this.
13612
13613 2010-06-02 Aleš Nesrsta <starous@volny.cz>
13614
13615 Finally make USB usable.
13616
13617 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
13618 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
13619 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
13620 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
13621 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
13622 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
13623 (GRUB_OHCI_FSMPS): Likewise.
13624 (GRUB_OHCI_PERIODIC_START): Likewise.
13625 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
13626 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
13627 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
13628 (GRUB_OHCI_SET_PORT_RESET): Likewise.
13629 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
13630 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
13631 (grub_ohci_transaction): Likewise.
13632 (grub_ohci_transfer): Improve condition detection algorithms.
13633 Handle toggle property. Program the transactions correctly.
13634 Improve error handling. Various important fixups.
13635 (grub_ohci_portstatus): Put register writes in right order.
13636 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
13637 (grub_uhci_transfer): Don't show "failed" message on success.
13638 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
13639 array.
13640 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
13641 determine its size.
13642 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
13643 before initialization is completed. Use IN direction for empty
13644 transfers. Use last_trans and compute toggle.
13645 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
13646 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
13647 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
13648 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
13649 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
13650 (grub_usb_device): Increase toggle to 256.
13651 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
13652 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
13653 GRUB_USBMS_SUBCLASS_SFF8070.
13654 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
13655 (grub_scsi_inquiry): New member page and alloc_length.
13656 (grub_scsi_request_sense): New structure.
13657 (grub_scsi_request_sense_data): Likewise.
13658 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
13659 control.
13660 * disk/scsi.c (grub_scsi_request_sense): New function.
13661 (grub_scsi_test_unit_ready): Likewise.
13662 (grub_scsi_inquiry): Fill new fields.
13663 (grub_scsi_read_capacity): Likewise.
13664 (grub_scsi_read10): Add request sense at the end.
13665 (grub_scsi_read12): Likewise.
13666 (grub_scsi_write10): Likewise.
13667 (grub_scsi_write12): Likewise.
13668 (grub_scsi_open): Add Test Unit Ready.
13669 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
13670 Support additional subclasses. Con't clear halt yet. Activate the
13671 proper config. Calculate LUNs correctly.
13672 (grub_usbms_transfer): Various important fixups.
13673
13674 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13675
13676 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
13677 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
13678 (grub_ohci_fini_hw): New function.
13679 (grub_ohci_restore_hw): Likewise.
13680 (GRUB_MOD_INIT(ohci)): Register preboot hook.
13681 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
13682 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
13683
13684 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13685
13686 Dedicated DMA allocations.
13687
13688 * bus/pci.c (grub_memalign_dma32): New function
13689 (grub_dma_free): Likewise.
13690 (grub_dma_get_virt): Likewise.
13691 (grub_dma_get_phys): Likewise.
13692 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
13693 (grub_ohci_pci_iter): Use dma32_alloc.
13694 (grub_ohci_transfer): Likewise.
13695 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
13696 (grub_usb_bulk_readwrite): Likewise.
13697 * include/grub/pci.h: Add declarations.
13698
13699 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13700
13701 CS5536 support.
13702
13703 * bus/cs5536.c: New file.
13704 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
13705 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
13706 (cs5536_mod_SOURCES): New variable.
13707 (cs5536_mod_CFLAGS): Likewise.
13708 (cs5536_mod_LDFLAGS): Likewise.
13709 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
13710 machine/pci.h.
13711 (kernel_img_SOURCES): Add bus/cs5536.c.
13712 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
13713 usb_keyboard.mod.
13714 (usb_mod_SOURCES): New variable.
13715 (usb_mod_CFLAGS): New variable.
13716 (usb_mod_LDFLAGS): New variable.
13717 (usbtest_mod_SOURCES): New variable.
13718 (usbtest_mod_CFLAGS): New variable.
13719 (usbtest_mod_LDFLAGS): New variable.
13720 (ohci_mod_SOURCES): New variable.
13721 (ohci_mod_CFLAGS): New variable.
13722 (ohci_mod_LDFLAGS): New variable.
13723 (usbms_mod_SOURCES): New variable.
13724 (usbms_mod_CFLAGS): New variable.
13725 (usbms_mod_LDFLAGS): New variable.
13726 (usb_keyboard_mod_SOURCES): New variable.
13727 (usb_keyboard_mod_CFLAGS): New variable.
13728 (usb_keyboard_mod_LDFLAGS): New variable.
13729 * include/grub/smbus.h: New file.
13730 * include/grub/cs5536.h: New file.
13731
13732 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13733
13734 * util/grub.d/00_header.in: Add safety check to make sure that
13735 ${locale_dir} exists before trying to probe it.
13736
13737 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13738
13739 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
13740 per the GNU Coding Standards; this is now too obscure to be worth
13741 documenting.
13742 (QNX): Likewise.
13743 (chainloader): Remove cross-reference to `SCO UnixWare'.
13744
13745 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13746
13747 * docs/grub.texi (Chain-loading): New section.
13748 (DOS/Windows): New section, borrowed from GRUB Legacy with details
13749 adjusted for GRUB 2.
13750 (SCO UnixWare): Likewise.
13751 (QNX): Likewise.
13752 (chainloader): Add reference to `Block list syntax'.
13753 (drivemap): New section.
13754 (parttool): New section.
13755
13756 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13757
13758 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
13759 the grub shell'.
13760 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
13761 (Installing GRUB using grub-install): Remove reference to the grub
13762 shell; mention `grub-mkimage' and `grub-setup' instead.
13763 (Invoking grub-install): Likewise.
13764 (Interface): Add reference to `Menu entry editor'.
13765 (serial): Remove `--device' option.
13766
13767 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13768
13769 * docs/grub.texi (Configuration): New section, documenting
13770 configuration file generation using grub-mkconfig. I've left a slot
13771 for documenting the full shell scripting format but have not yet
13772 started on writing that up.
13773 (Invoking grub-mkconfig): New section.
13774
13775 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13776
13777 * docs/grub.texi (direntry): Remove grub-terminfo reference.
13778 (GNU GRUB manual): Likewise.
13779 (General commands): Update description of `terminfo' for GRUB 2.
13780
13781 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13782
13783 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
13784 (GRUB_MOD_INIT): Fix capitalisation.
13785 * docs/grub.texi (Command-line and menu entry commands): Document
13786 gettext and gptsync commands.
13787
13788 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13789
13790 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
13791 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
13792
13793 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
13794
13795 Add btrfs probing support, currently only in the single-device case.
13796
13797 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
13798 function.
13799 (grub_guess_root_device): Call find_root_device_from_mountinfo
13800 before looking in /dev.
13801
13802 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13803
13804 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
13805 GRUB_DISK_SIZE_UNKNOWN.
13806 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
13807
13808 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
13809
13810 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
13811 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
13812 corrupted or not synced properly.
13813
13814 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13815
13816 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
13817 Reported by: Seth Goldberg.
13818
13819 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13820
13821 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
13822 addition of dest.
13823 Reported by: Seth Goldberg.
13824
13825 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13826
13827 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
13828 Reported by: Seth Goldberg.
13829
13830 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13831
13832 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
13833 64-bit address as signed on MIPS.
13834
13835 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
13836
13837 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
13838 to the empty string.
13839
13840 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
13841
13842 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
13843
13844 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
13845 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
13846 * kern/misc.c (__enable_execute_stack): Disable on
13847 GRUB_MACHINE_EMU.
13848
13849 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
13850
13851 Make grub-probe work with symbolic links under /dev/mapper as well
13852 as with real block devices. The Linux world seems to be (at best)
13853 in transition here, and GRUB shouldn't get caught in the middle.
13854
13855 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
13856 /dev/mapper.
13857
13858 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
13859
13860 * util/grub-script-check.c (main): Ensure defined behaviour on empty
13861 input files (in which case exit zero).
13862
13863 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
13864
13865 * kern/emu/misc.c (canonicalize_file_name): realpath can still
13866 return NULL for various reasons even if it has a maximum-length
13867 buffer: for example, there might be a symlink loop, or the path
13868 might exceed PATH_MAX. If this happens, return NULL.
13869
13870 2010-05-27 Robert Millan <rmh@gnu.org>
13871
13872 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
13873 partmap module to handle cross-partmap setups.
13874 Reported by Orestes Mas. Gràcies!
13875
13876 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
13877
13878 * util/grub-mkrescue.in: Initialise override_dir rather than
13879 assuming that it's unset or empty in the environment.
13880
13881 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
13882
13883 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
13884 variable index into p_index to suppress a warning with -Wshadow.
13885
13886 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
13887
13888 * INSTALL: Added flex >= 2.5.35 requirement.
13889
13890 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13891
13892 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
13893
13894 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13895
13896 cmostest support.
13897
13898 * commands/i386/cmostest.c: New file.
13899 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
13900 (cmostest_mod_SOURCES): New variable.
13901 (cmostest_mod_CFLAGS): Likewise.
13902 (cmostest_mod_LDFLAGS): Likewise.
13903 * conf/i386-pc.rmk: Likewise.
13904 * docs/grub.texi (Vendor power-on keys): New section.
13905 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
13906 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
13907 and GRUB_BUTTON_CMOS_ADDRESS.
13908 * util/grub.d/00_header.in: Handle powering-on by separate button.
13909
13910 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13911
13912 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
13913 Removed drawing_scrollbar argument. All users updated
13914 Fixes #29792.
13915 Reported by Jo Shields
13916
13917 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13918
13919 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
13920 buffer since gfxterm handles double repaint.
13921
13922 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13923
13924 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
13925 * term/gfxterm.c (real_scroll): Likewise.
13926
13927 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13928
13929 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
13930 before calling BIOS.
13931
13932 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13933
13934 * include/grub/i18n.h: Always enable grub_gettext.
13935
13936 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13937
13938 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
13939 partition naming style.
13940
13941 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
13942
13943 * util/grub-mkconfig.in: Fix handling of -o so that it works when
13944 not the first option.
13945
13946 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
13947
13948 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
13949
13950 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
13951
13952 * util/misc.c: Move inclusion of <limits.h> to ...
13953 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
13954
13955 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
13956
13957 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
13958 Fix merge error in NetBSD code.
13959 (find_partition_start) [__NetBSD__]: Likewise.
13960
13961 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
13962
13963 Fix grub-mkrescue usage unit testing.
13964
13965 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
13966
13967 2010-05-18 Christian Franke <franke@computer.org>
13968
13969 * util/grub.d/10_windows.in: Use path names instead of
13970 drive letters to prevent warning from Cygwin 1.7.
13971 Add drivemap command to menuentry if needed.
13972
13973 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
13974
13975 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
13976 gnumach and gnumach.gz.
13977
13978 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13979
13980 * include/grub/i18n.h (gettext): Inline instead of using #define.
13981 (grub_gettext): Likewise.
13982 (_): Likewise.
13983
13984 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13985
13986 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
13987 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
13988 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
13989 (main): Add a slash after pkglibdirroot.
13990
13991 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13992
13993 * util/grub-install.in: Add missing "in" keyword.
13994
13995 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13996
13997 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
13998 Reported by: Seth Goldberg.
13999
14000 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14001
14002 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
14003
14004 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
14005
14006 * configure.ac: Check for Linux device-mapper support.
14007
14008 * util/hostdisk.c (device_is_mapped): New function.
14009 (find_partition_start): New function, partly broken out from
14010 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
14011 device-mapper support added.
14012 (linux_find_partition): Use find_partition_start.
14013 (convert_system_partition_to_system_disk): Add `st' argument.
14014 Support Linux /dev/mapper/* devices if device-mapper support is
14015 available; only DM-RAID devices are understood at present.
14016 (find_system_device): Add `st' argument. Pass it to
14017 convert_system_partition_to_system_disk.
14018 (grub_util_biosdisk_get_grub_dev): Pass stat result to
14019 find_system_device and convert_system_partition_to_system_disk. Use
14020 find_partition_start.
14021
14022 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
14023 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
14024 * util/deviceiter.c [__linux__]: Define MINOR.
14025 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
14026 * util/mkdevicemap.c (grub_putchar): New function.
14027 (grub_getkey): New function.
14028 (grub_refresh): New function.
14029 (main): Set debug=all if -v -v is used.
14030
14031 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
14032
14033 Fix build with non-GNU libcs.
14034
14035 * util/misc.c (canonicalize_file_name): Move to ...
14036 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
14037 grub_make_system_path_relative_to_its_root.
14038
14039 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
14040
14041 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
14042 we handle finding grub-mkimage. Default to finding grub-mkimage in
14043 ${bindir} with program_transform_name applied, and provide a
14044 --grub-mkimage option to override this.
14045
14046 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14047
14048 Remove grub-mkisofs.
14049
14050 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
14051 (grub_mkisofs_SOURCES): Removed.
14052 (grub_mkisofs_CFLAGS): Removed.
14053 * util/mkisofs/defaults.h: Removed.
14054 * util/mkisofs/eltorito.c: Likewise.
14055 * util/mkisofs/exclude.h: Likewise.
14056 * util/mkisofs/hash.c: Likewise.
14057 * util/mkisofs/include/: Likewise.
14058 * util/mkisofs/include/fctldefs.h: Likewise.
14059 * util/mkisofs/include/mconfig.h: Likewise.
14060 * util/mkisofs/include/prototyp.h: Likewise.
14061 * util/mkisofs/include/statdefs.h: Likewise.
14062 * util/mkisofs/iso9660.h: Likewise.
14063 * util/mkisofs/joliet.c: Likewise.
14064 * util/mkisofs/match.c: Likewise.
14065 * util/mkisofs/match.h: Likewise.
14066 * util/mkisofs/mkisofs.c: Likewise.
14067 * util/mkisofs/mkisofs.h: Likewise.
14068 * util/mkisofs/msdos_partition.h: Likewise.
14069 * util/mkisofs/multi.c: Likewise.
14070 * util/mkisofs/name.c: Likewise.
14071 * util/mkisofs/rock.c: Likewise.
14072 * util/mkisofs/tree.c: Likewise.
14073 * util/mkisofs/write.c: Likewise.
14074
14075 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14076
14077 Unify grub-mkimage accross platforms.
14078
14079 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
14080 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
14081 (grub_mkelfimage_SOURCES): Removed.
14082 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
14083 (util/grub-mkimage.c_DEPENDENCIES): .. this.
14084 (bin_UTILITIES): Add grub-mkimage.
14085 (grub_mkimage_SOURCES): New variable.
14086 (kernel_img_HEADERS): Remove machine/kernel.h.
14087 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
14088 (pkglib_PROGRAMS): Add kernel.img.
14089 (kernel_img_HEADERS): Add machine/kernel.h.
14090 (kernel_img_FORMAT): Removed.
14091 (bin_UTILITIES): Remove grub-mkimage.
14092 (grub_mkimage_SOURCES): Removed.
14093 (grub_mkimage_CFLAGS): Likewise.
14094 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14095 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
14096 (pkglib_PROGRAMS): Add kernel.img.
14097 (bin_UTILITIES): Remove grub-mkimage.
14098 (grub_mkimage_SOURCES): Removed.
14099 (grub_mkimage_CFLAGS): Likewise.
14100 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14101 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
14102 (pkglib_PROGRAMS): Add kernel.img.
14103 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
14104 (pkglib_PROGRAMS): Add kernel.img.
14105 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
14106 (grub_mkimage_SOURCES): Removed.
14107 (grub_mkimage_CFLAGS): Likewise.
14108 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14109 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
14110 (pkglib_PROGRAMS): Add kernel.img.
14111 (bin_UTILITIES): Remove grub-mkimage.
14112 (grub_mkimage_SOURCES): Removed.
14113 (grub_mkimage_CFLAGS): Likewise.
14114 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14115 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
14116 (grub_mkimage_SOURCES): Removed.
14117 (grub_mkimage_CFLAGS): Likewise.
14118 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14119 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
14120 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
14121 (grub_pe32_optional_header): ... this.
14122 (grub_pe64_optional_header): ... and this. All users updated.
14123 (GRUB_PE32_PE32_MAGIC): Split into ..
14124 (GRUB_PE32_PE32_MAGIC): .. this.
14125 (GRUB_PE32_PE64_MAGIC): .. and this.
14126 (GRUB_PE32_SIGNATURE_SIZE): New definition.
14127 * include/grub/elf.h (PT_GNU_STACK): New definition.
14128 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
14129 * include/grub/i386/efi/kernel.h: Likewise.
14130 * include/grub/i386/kernel.h: Likewise.
14131 * include/grub/i386/pc/kernel.h: Likewise.
14132 * include/grub/i386/qemu/boot.h: Likewise.
14133 * include/grub/mips/kernel.h: Likewise.
14134 * include/grub/mips/qemu-mips/kernel.h: Likewise.
14135 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
14136 * include/grub/powerpc/kernel.h: Likewise.
14137 * include/grub/sparc64/ieee1275/boot.h: Likewise.
14138 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
14139 * include/grub/sparc64/kernel.h: Likewise.
14140 * include/grub/x86_64/efi/kernel.h: Likewise.
14141 * include/grub/x86_64/kernel.h: Likewise.
14142 * include/grub/offsets.h: New file.
14143 * include/grub/kernel.h (grub_module_info): Split into ...
14144 (grub_module_info32): ... this.
14145 (grub_module_info64): ... and this.
14146 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
14147 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
14148 (grub_boot_blocklist): Moved from here ...
14149 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
14150 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
14151 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
14152 * include/grub/types.h (grub_target_to_host16): Removed.
14153 (grub_target_to_host32): Likewise.
14154 (grub_target_to_host64): Likewise.
14155 (grub_host_to_target16): Likewise.
14156 (grub_host_to_target32): Likewise.
14157 (grub_host_to_target64): Likewise.
14158 (grub_host_to_target_addr): Likewise.
14159
14160 Support grub-mkrescue for efi, coreboot and qemu.
14161
14162 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
14163 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
14164 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
14165 * util/grub-mkrawimage.c: Moved from here ...
14166 * util/grub-mkimage.c: ... here. All users updated.
14167 (ALIGN_ADDR): Use image_target.
14168 (TARGET_NO_FIELD): New const.
14169 (image_target_desc): New type.
14170 (image_targets): New array.
14171 (grub_target_to_host64): Use image_target.
14172 (grub_target_to_host32): Likewise.
14173 (grub_target_to_host16): Likewise.
14174 (grub_host_to_target64): Likewise.
14175 (grub_host_to_target32): Likewise.
14176 (grub_host_to_target16): Likewise.
14177 (grub_host_to_target_addr): Likewise.
14178 (generate_image): Handle multiimage.
14179 (main): Require -O parameter. All users updated.
14180 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
14181 util/efi/grub-mkimage.c
14182 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
14183 New option --rom-directory.
14184 Use xorriso.
14185 * util/i386/efi/grub-mkimage.c: Removed.
14186 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
14187 (grub_target_to_host32): Likewise.
14188 (grub_target_to_host64): Likewise.
14189 (grub_host_to_target16): Likewise.
14190 (grub_host_to_target32): Likewise.
14191 (grub_host_to_target64): Likewise.
14192 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
14193 (grub_target_to_host32): Likewise.
14194 (grub_target_to_host64): Likewise.
14195 (grub_host_to_target16): Likewise.
14196 (grub_host_to_target32): Likewise.
14197 (grub_host_to_target64): Likewise.
14198
14199 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
14200
14201 Source tree is reorganized for emu build.
14202
14203 * include/grub/util/console.h: Move from here...
14204 * include/grub/emu/console.h: ...to here.
14205 * include/grub/util/getroot.h: Move from here...
14206 * include/grub/emu/getroot.h: ...to here.
14207 * include/grub/util/hostdisk.h: Move from here...
14208 * include/grub/emu/hostdisk.h: ...to here.
14209 * util/console.c: Move from here...
14210 * kern/emu/console.c: ...to here.
14211 * util/getroot.c: Move from here...
14212 * kern/emu/getroot.c: ...to here.
14213 * util/grub-emu.c: Move from here...
14214 * kern/emu/main.c: ...to here.
14215 * util/hostdisk.c: Move from here...
14216 * kern/emu/hostdisk.c: ...to here.
14217 * util/hostfs.c: Move from here...
14218 * kern/emu/hostfs.c: ...to here.
14219 * util/mm.c: Move from here...
14220 * kern/emu/mm.c: ...to here.
14221 * util/pci.c: Move from here...
14222 * bus/emu/pci.c: ...to here.
14223 * util/sdl.c: Move from here...
14224 * video/emu/sdl.c: ...to here.
14225 * util/time.c: Move from here...
14226 * kern/emu/time.c: ...to here.
14227 * util/usb.c: Move from here...
14228 * bus/usb/emu/usb.c: ...to here.
14229
14230 * include/grub/emu/misc.h: New header for grub-emu functions.
14231 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
14232
14233 * conf/any-emu.rmk: Rule updates for above renames.
14234 * conf/common.rmk: Likewise.
14235 * conf/i386-pc.rmk: Likewise.
14236 * conf/i386-qemu.rmk: Likewise.
14237 * conf/mips.rmk: Likewise.
14238 * conf/sparc64-ieee1275.rmk: Likewise.
14239 * conf/x86-efi.rmk: Likewise.
14240
14241 * disk/lvm.h: #include updates for above renames.
14242 * util/grub-mkrelpath.c: Likewise.
14243 * util/grub-probe.c: Likewise.
14244 * util/i386/pc/grub-setup.c: Likewise.
14245 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14246 * kern/emu/console.c: Likewise.
14247 * kern/emu/getroot.c: Likewise.
14248 * kern/emu/hostdisk.c: Likewise.
14249 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
14250
14251 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
14252 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
14253 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
14254 * util/misc.c: Remove grub-emu functions.
14255
14256 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14257
14258 Fix gfxmenu crash.
14259 Reported by: Thorsten Grützmacher.
14260
14261 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
14262 timeout hook.
14263 (circprog_set_property): Register and unregister timeout hook.
14264 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
14265 (label_destroy): Free template. and unregister hook.
14266 (label_set_state): New function.
14267 (label_set_property): Handle templates and hooks.
14268 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
14269 timeout hook.
14270 (progress_bar_set_property): Register and unregister timeout hook.
14271 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
14272 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
14273 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
14274 (update_timeout_visit): Removed.
14275 (update_timeouts): New function.
14276 (redraw_timeouts): Likewise.
14277 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
14278 (grub_gfxmenu_clear_timeout): Likewise.
14279 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
14280 (grub_gfxmenu_timeout_notify): Likewise.
14281 (grub_gfxmenu_timeout_notifications): New external variable.
14282 (grub_gfxmenu_timeout_register): New function.
14283 (grub_gfxmenu_timeout_unregister): Likewise.
14284
14285 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14286
14287 Transform (broken) vga terminal into (working) vga video driver.
14288
14289 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
14290 video/i386/pc/vga.c.
14291 * include/grub/video.h (grub_video_driver_id):
14292 Add GRUB_VIDEO_DRIVER_VGA.
14293 * term/i386/pc/vga.c: Renamed to ...
14294 * video/i386/pc/vga.c: ...this
14295 (DEBUG_VGA): Removed.
14296 (CHAR_WIDTH): Likewise.
14297 (CHAR_HEIGHT): Likewise.
14298 (TEXT_WIDTH): Likewise.
14299 (TEXT_HEIGHT): Likewise.
14300 (DEFAULT_FG_COLOR): Likewise.
14301 (DEFAULT_BG_COLOR): Likewise.
14302 (colored_char): Likewise.
14303 (xpos): Likewise.
14304 (ypos): Likewise.
14305 (cursor_state): Likewise.
14306 (fg_color): Likewise.
14307 (bg_color): Likewise.
14308 (text_buf): Likewise.
14309 (page): Likewise.
14310 (font): Likewise.
14311 (framebuffer): New variable.
14312 (set_read_map): Disabled.
14313 (setup): New variable.
14314 (is_target): Likewise.
14315 (grub_vga_mod_init): Likewise.
14316 (grub_vga_mod_fini): Likewise.
14317 (check_vga_mem): Likewise.
14318 (write_char): Likewise.
14319 (write_cursor): Likewise.
14320 (scroll_up): Likewise.
14321 (grub_vga_putchar): Likewise.
14322 (grub_vga_getcharwidth): Likewise.
14323 (grub_vga_getwh): Likewise.
14324 (grub_vga_getxy): Likewise.
14325 (grub_vga_gotoxy): Likewise.
14326 (grub_vga_cls): Likewise.
14327 (grub_vga_setcolorstate): Likewise.
14328 (grub_vga_setcursor): Likewise.
14329 (grub_video_vga_init): New function.
14330 (grub_video_vga_setup): Likewise.
14331 (grub_video_vga_fini): Likewise.
14332 (update_target): Likewise.
14333 (grub_video_vga_blit_bitmap): Likewise.
14334 (grub_video_vga_blit_render_target): Likewise.
14335 (grub_video_vga_set_active_render_target): Likewise.
14336 (grub_video_vga_get_active_render_target): Likewise.
14337 (grub_video_vga_swap_buffers): Likewise.
14338 (grub_video_vga_set_palette): Likewise.
14339 (grub_video_vga_get_info_and_fini): Likewise.
14340 (grub_vga_term): Removed.
14341 (grub_video_vga_adapter): New variable.
14342 (GRUB_MOD_INIT): Register a video driver instead of terminal.
14343 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
14344
14345 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14346
14347 * video/readers/jpeg.c: Indented.
14348
14349 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14350
14351 Various jpeg cleanups.
14352
14353 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
14354 (grub_jpeg_decode_quan_table): Use sizeof.
14355 (grub_jpeg_decode_du): Use ARRAY_SIZE.
14356
14357 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
14358
14359 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
14360 tables. Ignore non-last ac bit.
14361 (grub_jpeg_decode_quan_table): Likewise.
14362
14363 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14364
14365 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
14366 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
14367 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
14368 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
14369 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
14370 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
14371
14372 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14373
14374 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
14375 error.
14376
14377 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14378
14379 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
14380
14381 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14382
14383 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
14384 condition.
14385
14386 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14387
14388 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
14389 part.
14390
14391 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14392
14393 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
14394 pointers.
14395
14396 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14397
14398 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
14399
14400 2010-05-01 Christian Franke <franke@computer.org>
14401
14402 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
14403 Remove broken Cygwin path conversion.
14404 * util/misc.c: [__CYGWIN__] Add include and define.
14405 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
14406 for Cygwin 1.7.
14407 (make_system_path_relative_to_its_root): Simplify loop, replace early
14408 return by break.
14409 [__CYGWIN__] Add conversion to win32 path.
14410 Include "/" case in trailing slash removal.
14411
14412 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14413
14414 * kern/main.c (grub_load_config): Fix copy-pasted comment.
14415 Reported by: Seth Goldberg
14416
14417 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14418
14419 * commands/help.c (grub_cmd_help): Fix a typo.
14420 Reported by: Seth Goldberg
14421
14422 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14423
14424 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
14425 name and add N_.
14426 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
14427 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
14428 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
14429 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
14430 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
14431 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
14432 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
14433 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
14434 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
14435 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
14436 * normal/context.c (GRUB_MOD_INIT): Likewise.
14437 * normal/main.c (GRUB_MOD_INIT): Likewise.
14438 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
14439 * term/serial.c (GRUB_MOD_INIT): Likewise.
14440 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
14441
14442 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14443
14444 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
14445 extra == 0.
14446
14447 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14448
14449 * commands/iorw.c: New file.
14450 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
14451 (iorw_mod_SOURCES): New variable.
14452 (iorw_mod_CFLAGS): Likewise.
14453 (iorw_mod_LDFLAGS): Likewise.
14454
14455 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14456
14457 Hotkey support
14458
14459 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
14460 * normal/main.c (hotkey_aliases): New variable.
14461 (grub_normal_add_menu_entry): Parse "--hotkey".
14462 * normal/menu_text.c (run_menu): Handle hotkeys.
14463
14464 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14465
14466 * kern/i386/coreboot/init.c (grub_machine_init): Call
14467 grub_machine_mmap_init on qemu.
14468
14469 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14470
14471 * boot/i386/qemu/boot.S: Add a missing .code16.
14472
14473 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14474
14475 Use LBIO on coreboot.
14476
14477 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
14478 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
14479 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
14480 New declaration.
14481 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
14482 grub_machine_mmap_init on coreboot.
14483 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
14484 GRUB_LINUXBIOS_MEMBER_LINK.
14485 (grub_machine_mmap_iterate): Fix declaration.
14486 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
14487
14488 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14489
14490 Split coreboot and multiboot ports.
14491
14492 * conf/i386-multiboot.rmk: New file.
14493 * configure.ac: Add multiboot port.
14494 * include/grub/i386/multiboot/boot.h: New file.
14495 * include/grub/i386/multiboot/console.h: Likewise.
14496 * include/grub/i386/multiboot/init.h: Likewise.
14497 * include/grub/i386/multiboot/kernel.h: Likewise.
14498 * include/grub/i386/multiboot/loader.h: Likewise.
14499 * include/grub/i386/multiboot/memory.h: Likewise.
14500 * include/grub/i386/multiboot/serial.h: Likewise.
14501 * include/grub/i386/multiboot/time.h: Likewise.
14502 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
14503 * loader/multiboot.c: Likewise.
14504 * loader/multiboot_mbi2.c: Likewise.
14505 * util/grub-mkrescue.in: Generate multiboot rescue.
14506
14507 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14508
14509 * kern/parser.c (grub_parser_execute): Cope with read-only config.
14510
14511 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14512
14513 Merge handling of input and output terminals. Fix a hang.
14514
14515 * commands/terminal.c (abstract_terminal): New struct.
14516 (handle_command): New function. Based on grub_cmd_terminal_input.
14517 (grub_cmd_terminal_input): Use handle_command.
14518 (grub_cmd_terminal_output): Use handle_command.
14519
14520 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
14521
14522 Fix comment handling.
14523
14524 * tests/grub_script_comments.in: New testcase.
14525 * conf/tests.rmk: Rules for new testcase.
14526 * script/yylex.l: Updated flex rules.
14527
14528 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
14529
14530 * docs/grub.texi (play): Document that zero pitches produce rests.
14531 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
14532 if argc is 1.
14533
14534 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
14535
14536 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
14537 autogen issues.
14538
14539 2010-04-26 Christian Franke <franke@computer.org>
14540
14541 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
14542 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
14543 (grub_get_prefix): Remove function.
14544 * util/grub-emu.c (main): Replace grub_get_prefix () call by
14545 make_system_path_relative_to_its_root ().
14546 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
14547
14548 2010-04-24 Christian Franke <franke@computer.org>
14549
14550 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
14551 (kernel_img_LDFLAGS): Remove -static-libgcc.
14552
14553 2010-04-24 Christian Franke <franke@computer.org>
14554
14555 * configure.ac: Do not CHECK_BSS_START_SYMBOL
14556 and CHECK_END_SYMBOL if grub-emu is built.
14557 Unset TARGET_OBJ2ELF if grub-emu is built
14558 without module support.
14559
14560 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
14561
14562 Nilfs2 support.
14563
14564 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
14565 (grub_fstest_SOURCES): Likewise.
14566 (pkglib_MODULES): Add nilfs2.mod.
14567 (nilfs2_mod_SOURCES): New variable.
14568 (nilfs2_mod_CFLAGS): Likewise.
14569 (nilfs2_mod_LDFLAGS): Likewise.
14570 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
14571 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
14572 * fs/nilfs2.c: New file.
14573
14574 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
14575
14576 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
14577 is not supported.
14578
14579 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
14580
14581 Add grub-mkconfig support for NetBSD.
14582
14583 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
14584 * util/grub-mkconfig.in: export new NetBSD specific variables.
14585 * po/POTFILES-shell: added 10_netbsd.in.
14586 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
14587
14588 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
14589
14590 Fix emu build with grub-emu-pci and grub-emu-modules.
14591
14592 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
14593 functions.
14594 * include/grub/libpciaccess.h: New file.
14595 * conf/any-emu.rmk: Update kernel headers for emu build.
14596
14597 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14598
14599 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
14600
14601 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14602
14603 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
14604
14605 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14606
14607 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
14608 Retrieve chosen/bootpath if bootpath isn't hardcoded.
14609 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
14610 util/ieee1275/ofpath.c.
14611 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
14612 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
14613 * include/grub/sparc64/ieee1275/boot.h
14614 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
14615 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
14616 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
14617 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
14618 const char *.
14619 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
14620 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
14621 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
14622 install.
14623
14624 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
14625
14626 * util/grub-mkconfig.in: Corrected two == equality tests.
14627 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
14628 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
14629 expect a number appended to it.
14630 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
14631 expects a number appended to it.
14632
14633 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14634
14635 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
14636
14637 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14638
14639 * util/hostdisk.c (make_device_name): Change to new partition naming.
14640
14641 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
14642
14643 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
14644
14645 2010-04-17 Christian Franke <franke@computer.org>
14646
14647 * Makefile.in: Add missing localedir setting.
14648
14649 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
14650
14651 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
14652 mistake in r2156. Noticed by Anthony Fok.
14653
14654 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
14655 @localedir@.
14656 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
14657
14658 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
14659
14660 Fix a spurious, uninitialized variable warning.
14661
14662 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
14663 Initialize variable, shdr.
14664 (grub_freebsd_load_elfmodule): Likewise.
14665 (grub_freebsd_load_elf_meta): Likewise.
14666
14667 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
14668
14669 Fix for escaped dollar in double quoted strings.
14670
14671 * script/yylex.l: Updated flex rules.
14672 * conf/tests.rmk: Rule for new testcase.
14673 * tests/grub_script_dollar.in: New testcase.
14674
14675 2010-04-13 Carles Pina i Estany <carles@pina.cat>
14676 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
14677
14678 Enclose all translated strings in grub.cfg in single quotes, and
14679 escape them appropriately (Ubuntu bug #552921).
14680
14681 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
14682 * util/grub.d/10_hurd.in: Use it.
14683 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14684 * util/grub.d/10_linux.in (linux_entry): Likewise.
14685
14686 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14687
14688 Fix cygwin compilation.
14689
14690 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
14691 * include/grub/misc.h (__register_frame_info)
14692 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
14693 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14694 * kern/misc.c (__register_frame_info)
14695 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
14696 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14697
14698 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14699
14700 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
14701
14702 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14703
14704 Unify libgcc processing.
14705
14706 * Makefile.in (kernel_img_LDFLAGS): New variable.
14707 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
14708 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
14709 overwriting.
14710 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
14711 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
14712 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
14713 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
14714 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
14715 overwriting. Remove -lgcc and -static-libgcc
14716 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
14717 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14718 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14719 (kernel_img_LDFLAGS): Append instead of overwriting.
14720 Remove -lgcc and -static-libgcc
14721 * conf/sparc64-ieee1275.rmk: Likewise.
14722 * include/grub/powerpc/libgcc.h: Move to ...
14723 * include/grub/libgcc.h: .. this.
14724 * include/grub/libgcc.h: Don't export most of the function on x86.
14725 (__bswapsi2): New export.
14726 (__bswapdi2): Likewise.
14727 * include/grub/mips/libgcc.h: Removed.
14728 * include/grub/sparc64/libgcc.h: Likewise.
14729
14730 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14731
14732 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
14733 disk_info_msg (conflicts with gettexting into languages with cases).
14734
14735 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
14736
14737 Add grub-probe support for NetBSD.
14738
14739 * util/getroot.c (find_root_device): Convert block device to
14740 character device on NetBSD.
14741 * util/probe.c (probe): Require character device on NetBSD.
14742 * util/hostdisk.c: NetBSD specific headers.
14743 (configure_device_driver): new function to tune device driver
14744 parameters (currently only for NetBSD floppy driver).
14745 (grub_util_biosdisk_open): NetBSD specific code (get disk size
14746 via disklabel ioctl).
14747 (open_device): call configure_device_driver on NetBSD.
14748 (convert_system_partition_to_system_disk): NetBSD specific code.
14749 (device_is_wholedisk): Likewise.
14750 (grub_util_biosdisk_get_grub_dev): Likewise.
14751 (make_device_name): Fixed a typo in bsd_part_str.
14752 * configure.ac: check for opendisk() and getrawpartition() on
14753 NetBSD and set LIBUTIL.
14754 * Makefile.in: add LIBUTIL to LIBS.
14755
14756 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14757
14758 Documentation fix.
14759
14760 * util/grub-script-check.c: Better help message.
14761
14762 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14763
14764 Fix FreeBSD build.
14765
14766 * configure.ac: Flex version check.
14767 * conf/common.rmk: Add -Wno-error to sh.mod.
14768 * script/yylex.l: Remove all #pragma.
14769
14770 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14771
14772 * include/grub/util/misc.h (canonicalise_file_name): Add missing
14773 prototype.
14774 Reported by: Seth Goldberg.
14775
14776 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14777
14778 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
14779 Rename "module" to "module2".
14780 Reported by: Seth Goldberg.
14781
14782 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14783
14784 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
14785 EXPORT_FUNC.
14786 Reported by: Seth Goldberg.
14787
14788 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14789
14790 * lib/posix_wrap/locale.h: Add missing file.
14791 Reported by: Seth Goldberg.
14792
14793 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14794
14795 grub-emu module load support.
14796
14797 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
14798 NO_DYNAMIC_MODULES switched to this.
14799 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
14800 (CFLAGS): Likewise.
14801 * conf/any-emu.rmk: Generate symlist.
14802 (kernel_img_HEADERS): Add util/datetime.h.
14803 (kernel_img_HEADERS) [sdl]: Add sdl.h.
14804 (kernel_img_HEADERS) [libusb]: Add libusb.h.
14805 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
14806 kern/$(target_cpu)/cache.S.
14807 * configure.ac (grub-emu-modules): New option.
14808 * genmk.rb: Handle multiple source lists.
14809 * include/grub/sdl.h: New file.
14810 * include/grub/libusb.h: Likewise.
14811 * util/grub-emu.c (main): Hanle (host) root.
14812 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
14813 GRUB_ERR_UNKNOWN_DEVICE.
14814 * util/misc.c: Move mm functions to ...
14815 * util/mm.c: ... here. All users updated.
14816
14817 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14818
14819 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
14820 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
14821 missing files.
14822 (maintainer-clean): Remove libgcrypt-grub.
14823
14824 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14825
14826 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
14827
14828 2010-04-09 EFI Coder <eficoder@hotmail.com>
14829
14830 * normal/menu_text.c (print_message): Clean up the message and show
14831 the Fn information when on EFI
14832 * term/efi/console.c (grub_console_checkkey): Add F4 support.
14833
14834 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14835
14836 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
14837 All users updated.
14838 * normal/crypto.c (read_crypto_list): Likewise.
14839 * normal/dyncmd.c (read_command_list): Likewise.
14840 * normal/term.c (read_terminal_list): Likewise.
14841 * normal/main.c (read_lists): Use explicit prefix.
14842 (read_lists_hook): Use read_lists.
14843 (grub_normal_execute): Likewise.
14844
14845 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14846
14847 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
14848 Reported by: Thomas Schmitt.
14849 Add -no-emul-boot to grub-mkisofs parameters.
14850
14851 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14852
14853 * font/font.c: Indented.
14854
14855 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14856
14857 Elif support to GRUB script (by Deepak Vankadaru).
14858
14859 * tests/grub_script_if.in: New testcase.
14860 * conf/tests.rmk: Rule for new testcase.
14861 * script/parser.y: Grammar rules for elif.
14862
14863 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14864
14865 While and until loops support to GRUB script.
14866
14867 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
14868 (grub_script_create_cmdwhile): New function prototype.
14869 (grub_script_execute_cmdwhile): New function prototype.
14870 * script/execute.c (grub_script_execute_cmdwhile): New function.
14871 * script/parser.y (command): New commands.
14872 (whilecmd): New grammar rule.
14873 (untilcmd): New grammar rule.
14874 * script/script.c (grub_script_create_cmdwhile): New function.
14875 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
14876 function.
14877
14878 * tests/grub_script_while1.in: New testcase.
14879 * conf/tests.rmk: Rule for new testcase.
14880
14881 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14882
14883 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
14884 as *.jpg.
14885
14886 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
14887
14888 GRUB_BACKGROUND support.
14889
14890 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
14891 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
14892
14893 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14894
14895 Load fonts and modules for gfxmenu in grub-mkconfig.
14896 Idea by: Mario Vazquez
14897
14898 * util/grub.d/00_header.in: Load pf2 and image modules.
14899
14900 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14901
14902 grub-mkconfig multiple terminal support.
14903
14904 * util/grub-mkconfig.in: Handle multiple terminals correctly.
14905 * util/grub.d/00_header.in: Likewise.
14906
14907 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14908
14909 * Makefile.in: Specify files explicitly instead of using $< and $@ since
14910 we use cd $(srcdir).
14911
14912 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
14913
14914 * util/grub.d/10_linux.in: Only use the first word of
14915 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
14916 spaces in GRUB_DISTRIBUTOR.
14917 * util/grub.d/10_kfreebsd.in: Likewise.
14918 * util/grub.d/10_hurd.in: Likewise.
14919
14920 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
14921
14922 Fix unit testing framework for Qemu 0.12.
14923
14924 * tests/util/grub-shell.in: Remove -serial stdio option.
14925
14926 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14927
14928 POSIX header file wrappers.
14929
14930 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
14931 equivalents.
14932 * lib/posix_wrap/ctype.h: Likewise.
14933 * lib/posix_wrap/errno.h: Likewise.
14934 * lib/posix_wrap/langinfo.h: Likewise.
14935 * lib/posix_wrap/limits.h: Likewise.
14936 * lib/posix_wrap/localcharset.h: Likewise.
14937 * lib/posix_wrap/stdint.h: Likewise.
14938 * lib/posix_wrap/stdio.h: Likewise.
14939 * lib/posix_wrap/stdlib.h: Likewise.
14940 * lib/posix_wrap/string.h: Likewise.
14941 * lib/posix_wrap/sys/types.h: Likewise.
14942 * lib/posix_wrap/unistd.h: Likewise.
14943 * lib/posix_wrap/wchar.h: Likewise.
14944 * lib/posix_wrap/wctype.h: Likewise.
14945 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
14946 (grub_script.yy.h): Likewise.
14947 * script/yylex.l: Remove POSIX emulation #defines.
14948 * Makefile.in (POSIX_CFLAGS): New variable.
14949 (GNULIB_UTIL_CFLAGS): Likewise.
14950
14951 Regexp support.
14952
14953 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
14954 (regexp_mod_SOURCES): New variable.
14955 (regexp_mod_CFLAGS): Likewise.
14956 (regexp_mod_LDFLAGS): Likewise.
14957 * commands/regexp.c: New file.
14958 * gnulib/regcomp.c: New file. Imported from gnulib.
14959 * gnulib/regex.c: Likewise.
14960 * gnulib/regex_internal.c: Likewise.
14961 * gnulib/regex_internal.h: Likewise.
14962 * gnulib/regexec.c: Likewise.
14963 * gnulib/regex.h: Likewise.
14964
14965 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14966
14967 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
14968 unsupported video mode types.
14969
14970 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14971
14972 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
14973
14974 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14975
14976 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
14977 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
14978
14979 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
14980
14981 Remove unused grub_vga_get_font.
14982
14983 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
14984 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
14985
14986 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14987
14988 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
14989 * include/grub/misc.h: Likewise.
14990
14991 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14992
14993 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
14994 for which failure is fatal.
14995
14996 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14997
14998 * util/grub-install.in: Use mkdir -p to create grub directory.
14999 * util/i386/efi/grub-install.in: Likewise.
15000 * util/ieee1275/grub-install.in: Likewise.
15001
15002 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15003
15004 * Makefile.in (LEX): new variable.
15005
15006 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15007
15008 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
15009 `=' and added double quotes on operands of this equality test.
15010
15011 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
15012
15013 * Makefile.in (uninstall): Remove a leftover debug echo.
15014 Reported by: Grégoire Sutre
15015
15016 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
15017
15018 MIPS multiboot2 support.
15019
15020 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
15021 (multiboot2_mod_SOURCES): New variable.
15022 (multiboot2_mod_CFLAGS): Likewise.
15023 (multiboot2_mod_LDFLAGS): Likewise.
15024 (multiboot2_mod_ASFLAGS): Likewise.
15025 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
15026 definition.
15027 (MULTIBOOT_ENTRY_REGISTER): Likewise.
15028 (MULTIBOOT_MBI_REGISTER): Likewise.
15029 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
15030 (MULTIBOOT_ELF32_MACHINE): Likewise.
15031 (MULTIBOOT_ELF64_MACHINE): Likewise.
15032 * include/grub/mips/multiboot.h: New file.
15033 * include/grub/video.h (grub_video_driver_id): New type
15034 GRUB_VIDEO_DRIVER_SM712.
15035 (grub_video_get_info_and_fini): Export.
15036 (grub_video_get_palette): Likewise.
15037 (grub_video_get_driver_id): Likewise.
15038 * include/multiboot2.h: Resynced with spec.
15039 * loader/i386/multiboot.c: Moved from here ...
15040 * loader/multiboot.c: ... here. All users updated.
15041 (grub_multiboot_boot): Use platform-specific macros.
15042 * loader/i386/multiboot_elfxx.c: Moved from here ...
15043 * loader/multiboot_elfxx.c: ... here. All users updated.
15044 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
15045 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
15046 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
15047
15048 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15049
15050 Import gnulib argp module.
15051
15052 * gnulib/argp-ba.c: New file.
15053 * gnulib/argp-eexst.c: Likewise.
15054 * gnulib/argp-fmtstream.c: Likewise.
15055 * gnulib/argp-fmtstream.h: Likewise.
15056 * gnulib/argp-fs-xinl.c: Likewise.
15057 * gnulib/argp-help.c: Likewise.
15058 * gnulib/argp-namefrob.h: Likewise.
15059 * gnulib/argp-parse.c: Likewise.
15060 * gnulib/argp-pin.c: Likewise.
15061 * gnulib/argp-pv.c: Likewise.
15062 * gnulib/argp-pvh.c: Likewise.
15063 * gnulib/argp-version-etc.c: Likewise.
15064 * gnulib/argp-version-etc.h: Likewise.
15065 * gnulib/argp-xinl.c: Likewise.
15066 * gnulib/argp.h: Likewise.
15067
15068 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
15069
15070 * kern/device.c (grub_device_iterate): Clear errors after failed
15071 opening device.
15072
15073 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
15074
15075 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
15076 returned by firmware.
15077
15078 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15079
15080 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
15081 compilation on coreboot and qemu
15082
15083 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
15084
15085 * include/multiboot2.h: Resync with spec.
15086
15087 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
15088
15089 Multiboot2 tag support
15090
15091 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
15092 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
15093 Remove loader/multiboot_loader.c.
15094 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
15095 (grub_multiboot2_real_boot): Likewise.
15096 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
15097 (grub_get_multiboot_mmap_count): New proto.
15098 (grub_fill_multiboot_mmap): Likewise.
15099 (grub_multiboot_set_video_mode): Likewise.
15100 (grub_multiboot_set_console): Likewise.
15101 (grub_multiboot_load): Likewise.
15102 (grub_multiboot_load_elf): Likewise.
15103 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
15104 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
15105 * include/multiboot.h: Resynced with specification.
15106 * include/multiboot2.h: Resynced with specification.
15107 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
15108 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
15109 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
15110 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
15111 users updated.
15112 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
15113 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
15114 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
15115 Removed.
15116 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
15117 Moved from here...
15118 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
15119 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
15120 Moved from here...
15121 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
15122 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
15123 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
15124 All users updated.
15125 * loader/i386/multiboot_mbi2.c: New file.
15126
15127 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
15128
15129 Resync with gnulib.
15130
15131 * Makefile.in (GNULIB_CFLAGS): New variable.
15132 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
15133 (grub_script_check_CFLAGS): New variable.
15134 * gnulib/alloca.h: Resync with gnulib.
15135 * gnulib/error.c: Likewise.
15136 * gnulib/error.h: Likewise.
15137 * gnulib/fnmatch.c: Likewise.
15138 * gnulib/fnmatch_loop.c: Likewise.
15139 * gnulib/getdelim.c: Likewise.
15140 * gnulib/getline.c: Likewise.
15141 * gnulib/getopt.c: Likewise.
15142 * gnulib/getopt1.c: Likewise.
15143 * gnulib/getopt_int.h: Likewise.
15144 * gnulib/gettext.h: Likewise.
15145 * gnulib/progname.c: Likewise.
15146 * gnulib/progname.h: Likewise.
15147
15148 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
15149
15150 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
15151 which is the case with --disabled-nls.
15152
15153 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
15154 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
15155 * util/misc.c: Likewise.
15156 * util/mkisofs/mkisofs.c: Likewise.
15157 * util/mkisofs/mkisofs.h: Likewise.
15158
15159 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
15160
15161 Simplify Apple CC support.
15162
15163 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
15164 Add 0 byte at the end not to have a symbol with empty target.
15165 * mmap/i386/pc/mmap_helper.S: Likewise.
15166 * genmk.rb: Ignore errors 2030 and 2050.
15167 * kern/i386/pc/startup.S: Use LOCAL when possible.
15168
15169 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
15170
15171 Testcase and the fix for final semicolon on cmdline.
15172
15173 * tests/grub_script_final_semicolon.in: New testcase.
15174 * conf/tests.rmk: Rules for the new testcase.
15175 * script/parser.y: Grammar fix.
15176
15177 2010-03-26 BVK Chaitanya <bvk@localhost>
15178
15179 Blank lines testcase for GRUB script.
15180
15181 * tests/grub_script_blanklines.in: New testcase.
15182 * conf/tests.rmk: Rules for the new testcase.
15183
15184 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15185
15186 Don't use __FILE__.
15187
15188 * genmk.rb: Add -DGRUB_FILE to all C targets.
15189 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
15190 * include/grub/list.h: Likewise.
15191 * include/grub/misc.h: Likewise.
15192 * include/grub/mm.h: Likewise.
15193 * include/grub/test.h: Likewise.
15194 * kern/mm.c: Likewise.
15195 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
15196
15197 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15198
15199 Sunpc partitions support.
15200
15201 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
15202 (grub_fstest_SOURCES): Likewise.
15203 (pkglib_MODULES): Add part_sunpc.mod.
15204 (part_sunpc_mod_SOURCES): New variable.
15205 (part_sunpc_mod_CFLAGS): Likewise.
15206 (part_sunpc_mod_LDFLAGS): Likewise.
15207 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
15208 * partmap/sunpc.c: New file.
15209
15210 2010-03-26 BVK Chaitanya <bvk@localhost>
15211
15212 For loop support to GRUB script.
15213
15214 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
15215 (grub_script_create_cmdfor): New function prototype.
15216 (grub_script_execute_cmdfor): New function prototype.
15217 * script/execute.c (grub_script_execute_cmdfor): New function.
15218 * script/parser.y (command): New for command.
15219 (forcmd): New grammar rule.
15220 * script/script.c (grub_script_create_cmdfor): New function.
15221 * util/grub-script-check.c (grub_script_execute_cmdfor): New
15222 function.
15223 * tests/grub_script_for1.in: New testcase.
15224 * conf/tests.rmk: Rules for new testcase.
15225
15226 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15227
15228 Nested partitions
15229
15230 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
15231 'partition' is NULL, grub_partition_get_start already does that.
15232 * commands/loadenv.c (check_blocklists): Likewise.
15233 (write_blocklists): Likewise.
15234 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
15235 (grub_fstest_SOURCES): Likewise.
15236 (pkglib_MODULES): Add part_bsd.mod.
15237 (part_bsd_mod_SOURCES): New variable.
15238 (part_bsd_mod_CFLAGS): Likewise.
15239 (part_bsd_mod_LDFLAGS): Likewise.
15240 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
15241 (grub_emu_SOURCES): Likewise.
15242 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15243 * include/grub/bsdlabel.h: New file.
15244 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
15245 'get_name'.
15246 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
15247 (grub_partition_map_list): New variable.
15248 (grub_partition_map_register): Inline.
15249 (grub_partition_map_unregister): Likewise.
15250 (FOR_PARTITION_MAPS): New macro.
15251 (grub_partition_map_iterate): Removed.
15252 (grub_partition_get_start): Handle nested partitions.
15253 * include/grub/msdos_partition.h: Remove bsd-related entries.
15254 (grub_pc_partition): Remove.
15255 * kern/disk.c (grub_disk_close): Free partition data.
15256 (grub_disk_adjust_range): Handle nested partitions.
15257 * kern/partition.c (grub_partition_map_probe): New function.
15258 (grub_partition_probe): Parse name to number, handle subpartitions.
15259 (get_partmap): New function.
15260 (grub_partition_iterate): Handle subpartitions.
15261 (grub_partition_get_name): Likewise.
15262 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
15263 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
15264 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
15265 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
15266 Set 'number'.
15267 (acorn_partition_map_probe): Remove.
15268 (acorn_partition_map_get_name): Likewise.
15269 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
15270 Set 'number'.
15271 Set 'index' to 0 since there can be only one partition entry per sector.
15272 (amiga_partition_map_probe): Remove.
15273 (amiga_partition_map_get_name): Likewise.
15274 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
15275 Set 'number'.
15276 Set 'offset' and 'index' to real positions of partitions.
15277 (apple_partition_map_probe): Remove.
15278 (apple_partition_map_get_name): Likewise.
15279 * partmap/bsdlabel.c: New file.
15280 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
15281 Set 'number'.
15282 Allocate 'data' so it can be correctly freed.
15283 Set 'index' to offset inside sector.
15284 (gpt_partition_map_probe): Remove.
15285 (gpt_partition_map_get_name): Likewise.
15286 * partmap/msdos.c (grub_partition_parse): Remove.
15287 (pc_partition_map_iterate): Don't force raw access.
15288 Set 'number'.
15289 Make 'ext_offset' a local variable.
15290 (pc_partition_map_probe): Remove.
15291 (pc_partition_map_get_name): Remove.
15292 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
15293 Set 'number'.
15294 (sun_partition_map_probe): Remove.
15295 (sun_partition_map_get_name): Likewise.
15296 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
15297 (grub_pcpart_type): Likewise.
15298 * util/hostdisk.c (open_device): Handle new numbering scheme.
15299 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
15300 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
15301 * util/grub-probe.c (probe_partmap): Handle nested paritions.
15302 * util/grub-install.in: Insert all subpartition modules.
15303 * util/ieee1275/grub-install.in: Likewise.
15304
15305 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
15306
15307 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
15308 grammar.
15309
15310 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
15311
15312 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
15313
15314 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
15315
15316 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
15317 match where 'make install' puts them.
15318 * util/i386/efi/grub-install.in: Likewise.
15319
15320 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
15321
15322 * .bzrignore: Add gentrigtables, grub-script-check,
15323 grub_script_check_init.c, grub_script_check_init.h, and
15324 trigtables.c.
15325
15326 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
15327
15328 * kern/parser.c: Indented.
15329
15330 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
15331
15332 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
15333
15334 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
15335
15336 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
15337 alpha_mask_size == 0 case.
15338
15339 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
15340
15341 GRUB shell lexer and parser improvements.
15342
15343 * conf/any-emu.rmk: Build rule updates.
15344 * conf/common.rmk: Likewise.
15345 * conf/i386-coreboot.rmk: Likewise.
15346 * conf/i386-efi.rmk: Likewise.
15347 * conf/i386-ieee1275.rmk: Likewise.
15348 * conf/i386-pc.rmk: Likewise.
15349 * conf/powerpc-ieee1275.rmk: Likewise.
15350 * conf/x86_64-efi.rmk: Likewise.
15351
15352 * configure.ac: Configure check for flex.
15353
15354 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
15355 types.
15356 (grub_lexer_param): Struct member updates.
15357 (grub_parser_param): Likewise.
15358 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
15359 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
15360 (grub_script_lexer_init): Prototype update.
15361 (grub_script_lexer_record_start): Likewise.
15362 (grub_script_lexer_record_stop): Likewise.
15363 (grub_script_lexer_yywrap): New function prototype.
15364 (grub_script_lexer_fini): Likewise.
15365 (grub_script_execute_argument_to_string): Removed by...
15366 (grub_script_execute_argument_to_argv): ...better version.
15367
15368 * script/execute.c (ROUND_UPTO): New macro.
15369 (grub_script_execute_cmdline): Out of memory fixes.
15370 (grub_script_execute_menuentry): Likewise.
15371 (grub_script_execute_argument_to_string): Removed. Update all
15372 users by...
15373 (grub_script_execute_argument_to_argv): ...better version.
15374 * script/function.c (grub_script_function_create): Use
15375 grub_script_execute_argument_to_argv instead of
15376 grub_script_execute_argument_to_string.
15377
15378 * script/lexer.c (check_varstate): Removed.
15379 (check_textstate): Removed.
15380 (grub_script_lexer_record_start): Likewise.
15381 (grub_script_lexer_record_stop): Likewise.
15382 (recordchar): Replaced with...
15383 (grub_script_lexer_record): ...new function.
15384 (nextchar): Removed.
15385 (grub_script_lexer_init): Rewritten.
15386 (grub_script_yylex): Rewritten.
15387 (append_newline): New function.
15388 (grub_script_lexer_yywrap): New function.
15389 (grub_script_lexer_fini): New function.
15390 (grub_script_yyerror): Sets error flag.
15391
15392 * script/yylex.l: New file.
15393 (grub_lexer_yyfree): Wrapper for flex yyffre.
15394 (grub_lexer_yyalloc): Likewise.
15395 (grub_lexer_yyrealloc): Likewise.
15396 * script/parser.y: Refactored.
15397
15398 * script/script.c (grub_script_arg_add): Out of memory fixes.
15399 (grub_script_add_arglist): Likewise.
15400 (grub_script_create_cmdline): Likewise.
15401 (grub_script_create_cmdmenu): Likewise.
15402 (grub_script_add_cmd): Likewise.
15403 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
15404 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
15405 unnecessary code.
15406
15407 * tests/grub_script_echo1.in: New testcase.
15408 * tests/grub_script_vars1.in: New testcase.
15409 * tests/grub_script_echo_keywords.in: New testcase.
15410
15411 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15412
15413 Remove some redundancy in build system.
15414
15415 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
15416 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
15417 (TARGET_LDFLAGS): Add -nostdlib.
15418 (TARGET_IMG_LDFLAGS): Likewise.
15419 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
15420 anything since mmap isn't available.
15421 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
15422 Add util/time.c.
15423 (pkglib_MODULES): Remove reboot.mod.
15424 (reboot_mod_SOURCES): Removed.
15425 (reboot_mod_CFLAGS): Likewise.
15426 (reboot_mod_LDFLAGS): Likewise.
15427 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
15428 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
15429 (DEFSYMFILES): Add kernel_syms.lst.
15430 (kernel_img_HEADERS): Add common headers.
15431 (symlist.c): New target.
15432 (kernel_syms.lst): Likewise.
15433 (pkglib_MODULES): Add memdisk.mod.
15434 (memdisk_mod_SOURCES): New variable.
15435 (memdisk_mod_CFLAGS): Likewise.
15436 (memdisk_mod_LDFLAGS): Likewise.
15437 (pkglib_MODULES): Add reboot.mod.
15438 (reboot_mod_SOURCES): New variable.
15439 (reboot_mod_CFLAGS): Likewise.
15440 (reboot_mod_LDFLAGS): Likewise.
15441 (pkglib_MODULES): Add date.mod.
15442 (date_mod_SOURCES): New variable.
15443 (date_mod_CFLAGS): Likewise.
15444 (date_mod_LDFLAGS): Likewise.
15445 (pkglib_MODULES): Add datehook.mod.
15446 (datehook_mod_SOURCES): New variable.
15447 (datehook_mod_CFLAGS): Likewise.
15448 (datehook_mod_LDFLAGS): Likewise.
15449 (pkglib_MODULES): Add lsmmap.mod.
15450 (lsmmap_mod_SOURCES): New variable.
15451 (lsmmap_mod_CFLAGS): Likewise.
15452 (lsmmap_mod_LDFLAGS): Likewise.
15453 (pkglib_MODULES): Add boot.mod.
15454 (boot_mod_SOURCES): New variable.
15455 (boot_mod_CFLAGS): Likewise.
15456 (boot_mod_LDFLAGS): Likewise.
15457 * conf/i386-coreboot.rmk: Removed redundant parts.
15458 * conf/i386-ieee1275.rmk: Likewise.
15459 * conf/i386-pc.rmk: Likewise.
15460 * conf/mips-yeeloong.rmk: Likewise.
15461 * conf/mips.rmk: Likewise.
15462 * conf/powerpc-ieee1275.rmk: Likewise.
15463 * conf/sparc64-ieee1275.rmk: Likewise.
15464 * conf/x86_64-efi.rmk: Likewise.
15465 * conf/i386-coreboot.rmk: Moved qemu parts ..
15466 * conf/i386-qemu.rmk: ... here
15467 * conf/i386-efi.rmk: Moved common parts to...
15468 * conf/x86-efi.rmk: ... here.
15469 * conf/i386.rmk: Added modules common to all x86 variants.
15470 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
15471 * disk/memdisk.c: Remove grub/machine/kernel.h.
15472 * gensymlist.sh.in: Include symbol.h.
15473 * hook/datehook.c: Correct module name.
15474 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
15475 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
15476 * include/grub/i386/efi/serial.h: New file.
15477 * include/grub/x86_64/efi/serial.h: Likewise.
15478 * util/time.c: Likewise.
15479 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
15480
15481 2010-03-14 Colin King <colin.king@ubuntu.com>
15482 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
15483
15484 Shrink the pre-partition-table part of boot.img by eight bytes.
15485
15486 * boot/i386/pc/boot.S (ERR): New macro.
15487 (chs_mode): Use ERR.
15488 (geometry_error): Likewise.
15489 (hd_probe_error): Remove. This is only used once, so we wrwite
15490 it inline instead.
15491 (read_error): Instead of printing read_error_string, just set up
15492 %si and fall through to ...
15493 (error_message): ... this new function, also used by ERR.
15494
15495 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
15496
15497 Speed up consecutive hostdisk operations on the same device.
15498
15499 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
15500 (grub_util_biosdisk_open): Initialise disk->data.
15501 (struct linux_partition_cache): New structure.
15502 (linux_find_partition): Cache partition start positions; these are
15503 expensive to compute on every read and write.
15504 (open_device): Cache open file descriptor in disk->data, so that we
15505 don't have to reopen it and flush the buffer cache for consecutive
15506 operations on the same device.
15507 (grub_util_biosdisk_close): New function.
15508 (grub_util_biosdisk_dev): Set `close' member.
15509
15510 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
15511 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
15512 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15513 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
15514 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
15515
15516 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15517
15518 Compile parts of grub-emu as modules.
15519
15520 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
15521 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
15522 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
15523 (all-local): Add $(GRUB_EMU).
15524 (install-local): Install $(GRUB_EMU).
15525 (uninstall): Uninstall $(GRUB_EMU).
15526 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
15527 * kern/dl.c: Likewise.
15528 * commands/sleep.c: Not include machine/time.h.
15529 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
15530 (COMMON_CFLAGS): Likewise.
15531 (sbin_UTILITIES): Remove grub-emu.
15532 (grub_emu_SOURCES): Removed.
15533 (kernel_img_RELOCATABLE): New variable.
15534 (pkglib_PROGRAMS): Add kernel.img.
15535 (kernel_img_SOURCES): New variable
15536 (kernel_img_CFLAGS): Likewise.
15537 (kernel_img_LDFLAGS): Likewise.
15538 (TARGET_NO_STRIP): Likewise.
15539 (TARGET_NO_DYNAMIC_MODULES): Likewise.
15540 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
15541 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
15542 (grub-emu): New target.
15543 (GRUB_EMU): New variable.
15544 * configure.ac: Whitelist -emu as possible x86_64 architecture.
15545 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
15546 * loader/xnu.c: Likewise.
15547 * include/grub/pci.h: Likewise.
15548 * genemuinit.sh: New file.
15549 * genemuinitheader.sh: Likewise.
15550 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
15551 Support TARGET_NO_DYNAMIC_MODULES.
15552 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
15553 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
15554 * disk/loopback.c: Likewise.
15555 * font/font_cmd.c: Likewise.
15556 * partmap/acorn.c: Likewise.
15557 * partmap/amiga.c: Likewise.
15558 * partmap/apple.c: Likewise.
15559 * partmap/gpt.c: Likewise.
15560 * partmap/msdos.c: Likewise.
15561 * partmap/sun.c: Likewise.
15562 * parttool/msdospart.c: Likewise.
15563 * term/gfxterm.c: Likewise.
15564 * video/bitmap.c: Likewise.
15565 * video/readers/jpeg.c: Likewise.
15566 * video/readers/png.c: Likewise.
15567 * video/readers/tga.c: Likewise.
15568 * video/video.c: Likewise.
15569 * util/grub-emu.c (read_command_list): Removed.
15570 (main): Don't call util_init_nls.
15571 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
15572 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
15573
15574 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15575
15576 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
15577 date.mod, datehook.mod.
15578 (datetime_mod_SOURCES): New variable.
15579 (datetime_mod_CFLAGS): Likewise.
15580 (datetime_mod_LDFLAGS): Likewise.
15581 (date_mod_SOURCES): Likewise.
15582 (date_mod_CFLAGS): Likewise.
15583 (date_mod_LDFLAGS): Likewise.
15584 (datehook_mod_SOURCES): Likewise.
15585 (datehook_mod_CFLAGS): Likewise.
15586 (datehook_mod_LDFLAGS): Likewise.
15587 * conf/sparc64-ieee1275.rmk: Likewise.
15588 * lib/ieee1275/datetime.c: New file.
15589
15590 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15591
15592 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
15593 (ieee1275_fb_mod_SOURCES): New variable.
15594 (ieee1275_fb_mod_CFLAGS): Likewise.
15595 (ieee1275_fb_mod_LDFLAGS): Likewise.
15596 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
15597 New proto.
15598 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
15599 (HEAP_MAX_ADDR): Likewise.
15600 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
15601 type.
15602 Correct stop condition.
15603 (grub_ieee1275_devices_iterate): New function.
15604 * video/ieee1275.c: New file.
15605
15606 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15607
15608 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
15609
15610 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
15611 as scratch.
15612 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
15613 SCRATCH_PAD_DISKBOOT as scratch.
15614 (bootit): Pass Openfirmware pointer in %o4.
15615 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
15616 of 0x200000.
15617 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
15618 with util/grub-mkrawimage.c.
15619 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
15620 * include/grub/aout.h (AOUT_MID_SUN): New definition.
15621 (grub_aout_get_type) [GRUB_UTIL]: Removed.
15622 (grub_aout_load) [GRUB_UTIL]: Likewise.
15623 * include/grub/kernel.h (grub_modules_get_end): New proto.
15624 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
15625 (SCRATCH_PAD_BOOT): New definition.
15626 (SCRATCH_PAD_DISKBOOT): Likewise.
15627 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
15628 * include/grub/sparc64/ieee1275/ieee1275.h
15629 (grub_ieee1275_original_stack): New variable
15630 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
15631 New definition
15632 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
15633 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
15634 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
15635 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
15636 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
15637 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
15638 (grub_platform_image_format_t): New type.
15639 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
15640 * kern/main.c (grub_modules_get_end)
15641 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
15642 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
15643 (codestart): Switch stacks.
15644 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
15645 variable.
15646 (grub_heap_init): Use grub_modules_get_end.
15647 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
15648 stack.
15649 * util/grub-mkrawimage.c (generate_image): Support sparc64.
15650 (main): Likewise.
15651 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
15652
15653 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
15654
15655 * util/grub-mkrescue.in: Base ISO UUID on UTC.
15656
15657 2010-03-08 Matt Kraai <kraai@ftbfs.org>
15658
15659 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
15660 bug #559005).
15661
15662 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
15663
15664 * genmoddep.awk: Output all missing symbols and not only first.
15665
15666 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15667
15668 * NEWS: Put the date of 1.98 release.
15669
15670 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15671
15672 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
15673 ft2build.h.
15674
15675 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15676
15677 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
15678 completition in the middle of string.
15679
15680 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15681
15682 * util/grub-mkrescue.in: Use mktemp with explicit template.
15683
15684 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15685
15686 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
15687
15688 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15689
15690 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
15691 right pointer.
15692
15693 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15694
15695 Fix FreeBSD compilation.
15696
15697 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
15698 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
15699
15700 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15701
15702 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
15703
15704 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15705
15706 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
15707
15708 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15709
15710 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
15711
15712 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
15713
15714 Support relative image path in theme file.
15715
15716 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
15717 (image_set_property): Handle theme_dir and relative path.
15718
15719 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15720
15721 * configure.ac: Alias amd64 to x86_64.
15722
15723 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15724
15725 * NEWS: mention multiboot on EFI.
15726
15727 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15728
15729 * kern/main.c (grub_load_modules): Handle errors from init functions of
15730 embeded modules.
15731
15732 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15733
15734 * normal/autofs.c (autoload_fs_module): Handle errors.
15735
15736 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15737
15738 Disable linux.mod on qemu-mips since it's not functional and leads
15739 to compilation failure.
15740
15741 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
15742 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
15743 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
15744 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
15745 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
15746 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
15747 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
15748 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
15749 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
15750 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
15751 Reported by: BVK Chaitanya
15752
15753 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
15754
15755 * INSTALL: Add gettext as a dependency and add qemu to a new section
15756 "Prerequisites for make-check".
15757
15758 2010-03-04 Christian Franke <franke@computer.org>
15759
15760 * util/grub-pe2elf.c: Add missing include "progname.h".
15761
15762 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15763
15764 * normal/crypto.c (read_crypto_list): Fix a typo.
15765 Reported by: Seth Goldberg.
15766
15767 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15768
15769 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
15770 Reported by: Seth Goldberg.
15771
15772 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15773
15774 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
15775 ascii.bitmaps.
15776
15777 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15778
15779 * genmk.rb: Remove terminal*.lst in make clean.
15780 Reported by: Seth Goldberg.
15781
15782 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15783
15784 * util/i386/efi/grub-install.in: Copy gettext files.
15785
15786 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15787
15788 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
15789
15790 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15791
15792 Wait for user entry basing on presence of output rather than on errors.
15793
15794 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
15795 (grub_install_newline_hook): Likewise.
15796 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
15797 * normal/menu.c (show_menu): Check line_counter to determine presence
15798 of output.
15799 * normal/term.c (grub_normal_line_counter): New variable.
15800 (grub_normal_get_line_counter): New function.
15801 (grub_install_newline_hook): Likewise.
15802
15803 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15804
15805 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
15806
15807 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15808
15809 * configure.ac: Update version to 1.98.
15810
15811 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15812
15813 * util/grub.d/10_linux.in (linux_entry): Don't default to
15814 gfxpayload=keep if Linux doesn't support video handover.
15815
15816 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
15817
15818 Don't compile video modules on yeeloong since video subsystem is part
15819 of kernel.
15820
15821 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
15822 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
15823 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
15824 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
15825 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
15826 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
15827 * include/grub/bitmap_scale.h: Likewise.
15828 * include/grub/bufio.h: Likewise.
15829 * include/grub/font.h: Likewise.
15830 * include/grub/gfxterm.h: Likewise.
15831 * include/grub/video.h: Likewise.
15832 * include/grub/vbe.h: Don't include video_fb.h.
15833 * video/i386/pc/vbe.c: Include video_fb.h.
15834 * commands/i386/pc/vbetest.c: Include video.h.
15835
15836 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
15837
15838 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
15839 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
15840 default entry if GRUB_SAVEDEFAULT=true. This allows using
15841 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
15842 saving a new default on every boot.
15843
15844 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15845
15846 * normal/crypto.c (read_crypto_list): Fix a memory leak.
15847 * normal/term.c (read_terminal_list): Likewise.
15848 * normal/main.c (grub_normal_init_page): Likewise.
15849 (grub_normal_read_line_real): Likewise.
15850
15851 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15852
15853 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
15854 memory leak.
15855 Reported by: Seth Goldberg.
15856
15857 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
15858
15859 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
15860 duplicate declaration of `start'.
15861
15862 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
15863
15864 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
15865 filename.
15866 Reported by: Georgy Buranov
15867
15868 2010-02-20 Carles Pina i Estany <carles@pina.cat>
15869
15870 * util/grub-mkrawimage.c (usage): Change string formatting to
15871 improve gettext.
15872
15873 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
15874
15875 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
15876 backspace keys.
15877
15878 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
15879
15880 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
15881 Reported by: Michael Suchanek.
15882
15883 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
15884
15885 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
15886 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
15887
15888 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
15889
15890 Remove any reference to non-free fonts.
15891
15892 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
15893 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
15894 uses non-free components.
15895 * font/font.c (grub_font_get_name): Remove example name.
15896 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
15897 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
15898 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
15899 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
15900
15901 2010-02-16 Georgy Buranov <gburanov@gmail.com>
15902
15903 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
15904
15905 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
15906
15907 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
15908 Double divisor.
15909 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
15910 features.
15911 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
15912
15913 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
15914
15915 * gensymlist.sh.in: Use TARGET_CC instead of CC.
15916
15917 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15918
15919 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
15920 * docs/grub.texi (Command-line and menu entry commands): Document play
15921 command.
15922
15923 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15924
15925 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
15926 parse arguments as inline tempo and notes. Move code for playing notes
15927 to...
15928 (play): ... new function.
15929
15930 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15931
15932 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
15933 grub_uint16_t instead of short.
15934 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
15935 disk from little endian to cpu endianness.
15936
15937 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
15938
15939 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
15940 GRUB_TICKS_PER_SECOND instead of 120.
15941
15942 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15943
15944 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
15945 escape sequence after \e.
15946
15947 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15948
15949 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
15950 non-ASCII characters.
15951
15952 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15953
15954 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
15955 set root in single quotes to prevent \, from being unescaped.
15956
15957 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15958
15959 Prevent unknown commands from stopping menuentry execution.
15960
15961 * script/execute.c (grub_script_execute_cmdline): Print error after
15962 unknown command.
15963
15964 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15965
15966 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
15967 Reported by: Pavel Pisa.
15968
15969 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15970
15971 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
15972
15973 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15974
15975 Merge grub_ieee1275_map_physical into grub_map and rename to
15976 grub_ieee1275_map
15977
15978 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
15979 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
15980 Remove.
15981 * kern/ieee1275/openfw.c (grub_map): Rename to ...
15982 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
15983 necessary.
15984 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
15985
15986 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15987
15988 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
15989 opening and not after.
15990
15991 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15992
15993 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
15994 constants.
15995
15996 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15997
15998 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
15999 (alloc_phys): Use ALIGN_UP instead of align_addr.
16000
16001 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16002
16003 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
16004
16005 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16006
16007 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
16008
16009 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16010
16011 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
16012 verbose dprintf.
16013
16014 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16015
16016 Fix over-4GiB seek on sparc64.
16017
16018 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
16019 Replace pos_i and pos_lo with pos. All users updated.
16020 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
16021 New constant.
16022 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
16023 Likewise.
16024 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
16025 and pos_lo.
16026
16027 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16028
16029 * util/grub-mkrawimage.c (main): Call set_program_name.
16030
16031 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16032
16033 Properly align 64-bit targets.
16034
16035 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
16036 (generate_image): Use ALIGN_ADDR.
16037
16038 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16039
16040 Properly create cross-endian images.
16041
16042 * include/grub/types.h (grub_host_to_target_addr): New macro
16043 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
16044
16045 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16046
16047 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
16048
16049 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
16050
16051 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
16052
16053 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
16054 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
16055 (grub_linux_boot): Divide by 64K when on VESA.
16056
16057 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
16058
16059 Support GRUB_GFXPAYLOAD_LINUX.
16060
16061 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
16062 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
16063
16064 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
16065
16066 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
16067 to show messages instead of discarding them.
16068 Process errors after executing command and not before. Keep old method
16069 too as precaution.
16070
16071 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
16072
16073 * configure.ac: Check for ft2build.h.
16074
16075 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16076
16077 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
16078
16079 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16080
16081 * genkernsyms.sh.in: Use TARGET_CC.
16082
16083 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
16084
16085 * NEWS: Update.
16086
16087 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16088
16089 * include/grub/multiboot2.h: Remove leftover file.
16090 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
16091 * include/grub/partition.h [GRUB_UTIL]: Likewise.
16092
16093 2010-02-07 Yves Blusseau <blusseau@zetam.org>
16094
16095 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
16096
16097 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16098
16099 Fix warnings in grub-emu when compiling with maximum warning options.
16100
16101 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
16102 (grub_arch_modules_addr): Return 0 and not NULL.
16103 * util/misc.c (ENABLE_RELOCATABLE): New definition.
16104 (xstrdup): Use newstr instead of dup.
16105 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
16106 of disk to dsk to avoid shadowing.
16107 (find_free_slot): Fix prototype.
16108 * util/getroot.c (grub_util_is_dmraid): Make static.
16109 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
16110 Add missing prototype.
16111 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
16112
16113 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16114
16115 * loader/i386/linux.c (grub_linux_setup_video): Handle error
16116 appropriately.
16117
16118 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16119
16120 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
16121 code out.
16122
16123 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16124
16125 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
16126 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
16127 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
16128 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
16129 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
16130 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
16131
16132 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16133
16134 * include/grub/err.h (grub_err_printf): Don't export.
16135
16136 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16137
16138 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
16139
16140 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16141
16142 * include/grub/i18n.h (grub_gettext_dummy): Removed.
16143 * kern/misc.c (grub_gettext_dummy): Make static.
16144
16145 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16146
16147 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
16148 by non-valid ones.
16149 * kern/term.c (grub_putchar): Likewise.
16150
16151 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16152
16153 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
16154 buggy hook call and memory leak.
16155
16156 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16157
16158 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
16159
16160 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16161
16162 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
16163
16164 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16165
16166 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
16167 modevar.
16168 Return grub_errno on allocation error.
16169
16170 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16171
16172 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
16173
16174 2010-02-06 Yves Blusseau <blusseau@zetam.org>
16175
16176 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
16177 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
16178
16179 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16180
16181 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
16182 non-pxe disk.
16183 (grub_pxefs_open): Likewise.
16184
16185 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16186
16187 * util/grub.d/10_hurd.in: Add --class information to menuentries.
16188 * util/grub.d/10_kfreebsd.in: Likewise.
16189 * util/grub.d/10_linux.in: Likewise.
16190
16191 2010-02-06 Colin D Bennett <colin@gibibit.com>
16192
16193 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
16194 (gfxmenu_mod_SOURCES): New variable.
16195 (gfxmenu_mod_CFLAGS): Likewise.
16196 (gfxmenu_mod_LDFLAGS): Likewise.
16197 * include/grub/term.h (grub_term_set_current_output): Declare
16198 argument as const.
16199 * docs/gfxmenu-theme-example.txt: New file.
16200 * gfxmenu/gfxmenu.c: Likewise.
16201 * gfxmenu/gui_box.c: Likewise.
16202 * gfxmenu/gui_canvas.c: Likewise.
16203 * gfxmenu/gui_circular_progress.c: Likewise.
16204 * gfxmenu/gui_image.c: Likewise.
16205 * gfxmenu/gui_label.c: Likewise.
16206 * gfxmenu/gui_list.c: Likewise.
16207 * gfxmenu/gui_progress_bar.c: Likewise.
16208 * gfxmenu/gui_string_util.c: Likewise.
16209 * gfxmenu/gui_util.c: Likewise.
16210 * gfxmenu/icon_manager.c: Likewise.
16211 * gfxmenu/model.c: Likewise.
16212 * gfxmenu/named_colors.c: Likewise.
16213 * gfxmenu/theme_loader.c: Likewise.
16214 * gfxmenu/view.c: Likewise.
16215 * gfxmenu/widget-box.c: Likewise.
16216 * include/grub/gfxmenu_model.h: Likewise.
16217 * include/grub/gfxmenu_view.h: Likewise.
16218 * include/grub/gfxwidgets.h: Likewise.
16219 * include/grub/gui.h: Likewise.
16220 * include/grub/gui_string_util.h: Likewise.
16221 * include/grub/icon_manager.h: Likewise.
16222
16223 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16224
16225 Agglomerate scrolling in gfxterm.
16226
16227 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
16228 (grub_virtual_screen_setup): Initialise 'total_screen'.
16229 (write_char): Split to ...
16230 (paint_char): ... this ...
16231 (write_char): ... and this.
16232 (paint_char): Handle delayed scrolling.
16233 (draw_cursor): Likewise.
16234 (scroll_up): Split to ...
16235 (real_scroll): ... this ...
16236 (scroll_up): ... and this.
16237 (real_scroll): Handle multi-line scroll and draw below-the-bottom
16238 characters.
16239 (grub_gfxterm_refresh): Call real_scroll.
16240
16241 2010-02-06 Colin D Bennett <colin@gibibit.com>
16242
16243 * include/grub/misc.h (grub_iscntrl): New inline function.
16244 (grub_isalnum): Likewise.
16245 (grub_strtol): Likewise.
16246
16247 2010-02-06 Colin D Bennett <colin@gibibit.com>
16248
16249 * normal/menu_text.c (get_entry_number): Move from here ...
16250 * normal/menu.c (get_entry_number): ... moved here.
16251 * include/grub/menu.h (grub_menu_get_default_entry_index):
16252 New prototype.
16253 * normal/menu.c (grub_menu_get_default_entry_index): New function.
16254 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
16255 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
16256 (grub_menu_viewer_should_return): Likewise.
16257 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
16258 * normal/menu_text.c (run_menu): Enable menu switching.
16259 * normal/menu_viewer.c (should_return): New variable.
16260 (menu_viewer_changed): Likewise.
16261 (grub_menu_viewer_show_menu): Handle menu viewer changes.
16262 (grub_menu_viewer_should_return): New function.
16263 (menuviewer_write_hook): Likewise.
16264 (grub_menu_viewer_init): Likewise.
16265
16266 2010-02-06 Colin D Bennet <colin@gibibit.com>
16267 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16268
16269 Support for gfxterm in a window.
16270
16271 * include/grub/gfxterm.h: New file.
16272 * include/grub/video.h (struct grub_video_rect): New declaration.
16273 (grub_video_rect_t): Likewise.
16274 * term/gfxterm.c (struct grub_gfxterm_window): New type.
16275 (refcount): New variable.
16276 (render_target): Likewise.
16277 (window): Likewise.
16278 (repaint_callback): Likewise.
16279 (grub_virtual_screen_setup): Use 'render_target'.
16280 (init_window): New function.
16281 (grub_gfxterm_init_window): Likewise.
16282 (grub_gfxterm_init): Check reference counter.
16283 Use init_window.
16284 (destroy_window): New function.
16285 (grub_gfxterm_destroy_window): Likewise.
16286 (grub_gfxterm_fini): Check reference counter.
16287 Use destroy_window.
16288 (redraw_screen_rect): Restore viewport.
16289 Use 'render_target' and 'window'.
16290 Call 'repaint_callback'.
16291 (write_char): Use 'render_target'.
16292 (draw_cursor): Likewise.
16293 (scroll_up): Restore viewport.
16294 Use 'render_target' and 'window'.
16295 Call 'repaint_callback'.
16296 (grub_gfxterm_cls): Likewise.
16297 (grub_gfxterm_refresh): Use 'window'.
16298 (grub_gfxterm_set_repaint_callback): New function.
16299 (grub_gfxterm_background_image_cmd): Use 'window'.
16300 (grub_gfxterm_get_term): New function.
16301 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
16302
16303 2010-02-06 Colin D Bennett <colin@gibibit.com>
16304
16305 Bitmap scaling support.
16306
16307 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
16308 (bitmap_scale_mod_SOURCES): New variable.
16309 (bitmap_scale_mod_CFLAGS): Likewise.
16310 (bitmap_scale_mod_LDFLAGS): Likewise.
16311 * include/grub/bitmap_scale.h: New file.
16312 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
16313 (background_image_cmd_options): New variable.
16314 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
16315 (cmd): Rename and change type to ...
16316 (background_image_cmd_handle): ... this. All users updated.
16317 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
16318 * video/bitmap_scale.c: New file.
16319
16320 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16321
16322 SDL support.
16323
16324 * Makefile.in (LIBSDL): New variable.
16325 (enable_grub_emu_sdl): Likewise.
16326 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
16327 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
16328 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
16329 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
16330 * util/sdl.c: New file.
16331
16332 2010-02-06 Colin D Bennett <colin@gibibit.com>
16333 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16334
16335 Double buffering support.
16336
16337 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
16338 * include/grub/video.h: Update comment.
16339 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
16340 New type.
16341 (grub_video_fb_doublebuf_blit_init): New prototype.
16342 * term/gfxterm.c (scroll_up): Support double buffering.
16343 (grub_gfxterm_refresh): Likewise.
16344 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
16345 (grub_video_fb_doublebuf_blit_init): Likewise.
16346 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
16347 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
16348 'displayed_page', 'render_page' and 'update_screen'.
16349 (grub_video_vbe_fini): Free offscreen buffer.
16350 (doublebuf_pageflipping_commit): New function.
16351 (doublebuf_pageflipping_update_screen): Likewise.
16352 (doublebuf_pageflipping_init): Likewise.
16353 (double_buffering_init): Likewise.
16354 (grub_video_vbe_setup): Enable doublebuffering.
16355 (grub_video_vbe_swap_buffers): Implement.
16356 (grub_video_vbe_set_active_render_target): Handle double buffering.
16357 (grub_video_vbe_get_active_render_target): Likewise.
16358 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
16359 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
16360 (grub_video_vbe_enable_double_buffering): Likewise.
16361 (grub_video_vbe_swap_buffers): Use update_screen.
16362 (grub_video_set_mode): Use double buffering.
16363
16364 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16365
16366 * maintainance/gentrigtables.py: Remove.
16367 * lib/trig.c: Likewise.
16368
16369 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
16370
16371 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
16372 `trigtables.c'.
16373 (trigtables.c): New rule.
16374 (gentrigtables): Likewise.
16375 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
16376
16377 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16378
16379 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
16380 integer constants.
16381
16382 2010-02-06 Colin D Bennet <colin@gibibit.com>
16383
16384 Trigonometry support.
16385
16386 * include/grub/trig.h: New file.
16387 * lib/trig.c: Likewise.
16388 * maintainance/gentrigtables.py: Likewise.
16389 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
16390 (trig_mod_SOURCES): New variable.
16391 (trig_mod_CFLAGS): Likewise.
16392 (trig_mod_LDFLAGS): Likewise.
16393
16394 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16395
16396 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
16397 disk devices.
16398
16399 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16400
16401 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
16402 error.
16403
16404 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
16405
16406 * util/hostdisk.c (open_device): Don't use partition device when reading
16407 before the partition.
16408 (grub_util_biosdisk_read): Don't read from partition and before the
16409 partition in single operation.
16410 (grub_util_biosdisk_write): Don't write to partition and before the
16411 partition in single operation.
16412
16413 2010-02-03 Torsten Landschoff <torsten@debian.org>
16414
16415 * kern/disk.c (grub_disk_read): Fix offset computation when reading
16416 last sectors.
16417
16418 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
16419
16420 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
16421 CDROM reads.
16422 (grub_biosdisk_write): Refuse to write to CDROM.
16423
16424 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
16425
16426 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
16427
16428 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
16429
16430 * font/font.c (find_glyph): Check that bmp_idx is available before
16431 using it.
16432 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
16433 with (font == NULL).
16434
16435 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
16436
16437 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
16438
16439 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
16440
16441 * include/grub/script_sh.h (sourcecode): Add const qualifier.
16442 * util/grub-script-check.c (getline): Fix empty lines case.
16443
16444 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
16445
16446 * Makefile.in (check): Exit with fail status when one of the tests
16447 fails.
16448 * tests/example_functional_test.c (example_test): Fix reversed assert.
16449 * tests/example_unit_test.c (example_test): Likewise.
16450
16451 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
16452
16453 * util/grub.d/10_linux.in: This script does not use any of the
16454 contents of gettext.sh, only the external command `gettext', so stop
16455 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
16456 the same prefix as GRUB.)
16457 * util/grub.d/10_kfreebsd.in: Likewise.
16458
16459 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16460
16461 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
16462 of the line.
16463
16464 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16465
16466 * kern/disk.c (grub_disk_read): Fix offset computation when reading
16467 last sectors.
16468
16469 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16470
16471 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
16472 having a 4KiB and not 32KiB buffer size.
16473
16474 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16475
16476 * util/hostfs.c: Include `<errno.h>'.
16477 (grub_hostfs_read): Handle errors from fseeko() and fread().
16478
16479 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16480
16481 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
16482 loop when using read hooks on files whose size isn't sector-aligned.
16483
16484 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16485
16486 Remove unused parameter.
16487
16488 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
16489 (grub_iso9660_open): Remove initialization of `data->length'.
16490
16491 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16492
16493 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
16494 memleak conditions.
16495
16496 2010-01-27 Carles Pina i Estany <carles@pina.cat>
16497
16498 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
16499 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
16500
16501 2010-01-26 Carles Pina i Estany <carles@pina.cat>
16502
16503 * util/bin2h.c (usage): Fix warning (space after backslash).
16504
16505 2010-01-26 Carles Pina i Estany <carles@pina.cat>
16506
16507 * font/font.c: Include `grub/fontformat.h.
16508 Remove font file format constants.
16509 (grub_font_load): Use the new macros.
16510 * include/grub/fontformat.h: New file.
16511 * util/grub-mkfont.c: Include `grub/fontformat.c'.
16512 (write_font_pf2): Use the new macros.
16513
16514 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
16515
16516 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
16517 does.
16518
16519 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
16520
16521 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
16522
16523 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
16524 (_start): Macroify `0x7F'.
16525
16526 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
16527 (make_install_device): Use "(pxe)" as fallback prefix when booting
16528 via PXE.
16529
16530 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
16531
16532 * configure.ac: Reset LIBS after check for libgcc symbols.
16533
16534 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
16535
16536 * util/hostdisk.c (open_device): Add trailing newline to debug
16537 message.
16538
16539 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
16540
16541 * configure.ac: Check for `limits.h'.
16542 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
16543
16544 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
16545
16546 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
16547 capitalize error strings.
16548
16549 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
16550
16551 * util/grub.d/10_hurd.in: Add a recovery mode.
16552
16553 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
16554
16555 * configure.ac: Check for libgcc symbols with -nostdlib.
16556
16557 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
16558
16559 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
16560
16561 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16562
16563 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
16564 stack since heap may be unavailable at that point.
16565 (grub_ofconsole_gotoxy): Likewise.
16566
16567 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16568
16569 * configure.ac: Check for _restgpr_14_x.
16570 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
16571 and _savegpr_* prototypes.
16572
16573 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
16574
16575 Use generic grub_reboot() for i386-efi.
16576
16577 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
16578 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
16579 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
16580
16581 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16582
16583 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
16584 presence of "prefix" variable as it breaks when normal.mod is
16585 embedded.
16586
16587 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16588
16589 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
16590 stack since heap is unavailable at that point.
16591
16592 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16593
16594 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
16595 (grub_freebsd_bootinfo): Rewritten.
16596 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
16597
16598 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16599
16600 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
16601
16602 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
16603
16604 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
16605 domain now.
16606
16607 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
16608
16609 * util/misc.c (make_system_path_relative_to_its_root): Change the work
16610 around for handling "/" to the correct fix. Fix a memory leak. Use
16611 xstrdup instead of strdup.
16612
16613 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16614
16615 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
16616
16617 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16618
16619 Optimise glyph lookup by Basic Multilingual Plane lookup array.
16620
16621 * font/font.c (struct grub_font): New member 'bmp_idx'.
16622 (font_init): Initialise 'bmp_idx'.
16623 (load_font_index): Fill 'bmp_idx'.
16624 (find_glyph): Make inline. Use bmp_idx for BMP characters.
16625
16626 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16627
16628 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
16629 unnecessary calls.
16630
16631 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16632
16633 Move context handling out of the kernel.
16634
16635 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
16636 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
16637 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
16638 * conf/i386-efi.rmk: Likewise.
16639 * conf/i386-ieee1275.rmk: Likewise.
16640 * conf/i386-pc.rmk: Likewise.
16641 * conf/powerpc-ieee1275.rmk: Likewise.
16642 * conf/sparc64-ieee1275.rmk: Likewise.
16643 * conf/x86_64-efi.rmk: Likewise.
16644 * include/grub/env.h: Include grub/menu.h.
16645 (grub_env_var_type): Removed.
16646 (grub_env_var): Replaced field 'type' with 'global'.
16647 (grub_env_find): New prototype.
16648 (grub_env_context_open): Remove EXPORT_FUNC.
16649 (grub_env_context_close): Likewise.
16650 (grub_env_export): Likewise.
16651 (grub_env_set_data_slot): Removed.
16652 (grub_env_get_data_slot): Likewise.
16653 (grub_env_unset_data_slot): Likewise.
16654 (grub_env_unset_menu): New prototype.
16655 (grub_env_set_menu): Likewise.
16656 (grub_env_get_menu): Likewise.
16657 * include/grub/env_private.h: New file.
16658 * include/grub/normal.h (grub_context_init): New prototype.
16659 (grub_context_fini): Likewise.
16660 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
16661 * normal/context.c (grub_cmd_export): ... to here.
16662 * kern/env.c: Include env_private.h.
16663 (HASHSZ): Moved to include/grub/env_private.h.
16664 (grub_env_context): Likewise.
16665 (grub_env_sorted_var): Likewise.
16666 (current_context): Renamed from this ...
16667 (grub_current_context): ...to this. 'static' removed. All users updated.
16668 (grub_env_find): Removed 'static'.
16669 (grub_env_context_open): Moved to normal/context.c.
16670 (grub_env_context_close): Likewise.
16671 (grub_env_export): Likewise.
16672 (mangle_data_slot_name): Removed.
16673 (grub_env_set_data_slot): Likewise.
16674 (grub_env_get_data_slot): Likewise.
16675 (grub_env_unset_data_slot): Likewise.
16676 * kern/main.c (grub_set_root_dev): Don't export root.
16677 It will be done later.
16678 (grub_main): Don't export prefix.
16679 It will be done later.
16680 * normal/context.c: New file.
16681 * normal/main.c (free_menu): Use grub_env_unset_menu.
16682 (grub_normal_add_menu_entry): Use grub_env_get_menu.
16683 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
16684 (GRUB_MOD_INIT(normal)): Call grub_context_init.
16685 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
16686
16687 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16688
16689 setpci support.
16690
16691 * commands/setpci.c: New file.
16692 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
16693 (setpci_mod_SOURCES): New variable.
16694 (setpci_mod_CFLAGS): Likewise.
16695 (setpci_mod_LDFLAGS): Likewise.
16696
16697 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16698
16699 Byte-addressable PCI configuration space.
16700
16701 * bus/pci.c (grub_pci_make_address): Use byte address instead of
16702 dword address.
16703 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
16704 GRUB_PCI_REG_CACHELINE.
16705 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
16706 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
16707 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
16708 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
16709 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
16710 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
16711 grub_pci_make_address.
16712 (lock_rom_area): Likewise.
16713 * commands/lspci.c (grub_lspci_iter): Use macroses
16714 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
16715 of grub_pci_make_address.
16716 * disk/ata.c (grub_ata_pciinit): Likewise.
16717 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
16718 (GRUB_PCI_REG_VENDOR): Likewise.
16719 (GRUB_PCI_REG_DEVICE): Likewise.
16720 (GRUB_PCI_REG_COMMAND): Likewise.
16721 (GRUB_PCI_REG_STATUS): Likewise.
16722 (GRUB_PCI_REG_REVISION): Likewise.
16723 (GRUB_PCI_REG_CLASS): Likewise.
16724 (GRUB_PCI_REG_CACHELINE): Likewise.
16725 (GRUB_PCI_REG_LAT_TIMER): Likewise.
16726 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
16727 (GRUB_PCI_REG_BIST): Likewise.
16728 (GRUB_PCI_REG_ADDRESSES): Likewise.
16729 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16730 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16731 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16732 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16733 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16734 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16735 (GRUB_PCI_REG_CIS_POINTER): Likewise.
16736 (GRUB_PCI_REG_SUBVENDOR): Likewise.
16737 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
16738 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
16739 (GRUB_PCI_REG_CAP_POINTER): Likewise.
16740 (GRUB_PCI_REG_IRQ_LINE): Likewise.
16741 (GRUB_PCI_REG_IRQ_PIN): Likewise.
16742 (GRUB_PCI_REG_MIN_GNT): Likewise.
16743 (GRUB_PCI_REG_MAX_LAT): Likewise.
16744 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
16745 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
16746 * video/efi_uga.c (find_framebuf): Likewise.
16747 * video/sm712.c (grub_video_sm712_setup): Likewise.
16748 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
16749 space.
16750
16751 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16752
16753 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
16754 can be reliably determined to be supported.
16755
16756 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16757
16758 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
16759 that VESA is supported.
16760 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
16761 supported.
16762
16763 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16764
16765 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
16766
16767 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16768
16769 * util/misc.c (make_system_path_relative_to_its_root): Work around
16770 special-casing of "/", as previous incarnation of this routine did.
16771
16772 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16773
16774 Fix any-emu compilation.
16775
16776 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
16777 * grub_bin2h_SOURCES: New variable.
16778
16779 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16780
16781 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
16782
16783 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16784
16785 * util/grub.d/00_header.in: Fix handling of locale_dir.
16786
16787 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16788
16789 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
16790 as possible unifont location (Gentoo).
16791 Reported by: Alexander Brüning
16792
16793 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16794
16795 Don't try to generate lists for kernel.img.
16796
16797 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
16798 (pkglib_MODULES): Remove kernel.img.
16799 (kernel_img_EXPORTS): Removed.
16800 (kernel_img_RELOCATABLE): New variable.
16801 * conf/x86_64-efi.rmk: Likewise.
16802 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
16803
16804 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16805
16806 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
16807 grub_xasprintf or grub_snprintf.
16808 (grub_vsprintf): Likewise.
16809 (grub_snprintf): New proto.
16810 (grub_vsnprintf): Likewise.
16811 (grub_xasprintf): Likewise.
16812 (grub_xvasprintf): Likewise.
16813 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
16814 (grub_sprintf): Removed.
16815 (grub_vsnprintf): New function.
16816 (grub_snprintf): Likewise.
16817 (grub_xvasprintf): Likewise.
16818 (grub_xasprintf): Likewise.
16819 (grub_vsprintf): Renamed to ...
16820 (grub_vsnprintf_real): ...this. New argument max_len.
16821
16822 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
16823
16824 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
16825 fix grub-script-check warning.
16826
16827 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16828
16829 * include/grub/font.h (grub_font_load): Fix prototype.
16830
16831 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16832
16833 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
16834
16835 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16836
16837 * include/grub/x86_64/at_keyboard.h: New file.
16838
16839 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16840
16841 * loader/mips/linux.c: Include missing grub/i18n.h.
16842
16843 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16844
16845 * normal/menu.c (notify_execution_failure): Clarify error message.
16846
16847 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16848
16849 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
16850 return value (and revert all return statements). Update users.
16851
16852 2010-01-20 Dan Merillat <debian@dan.merillat.org>
16853
16854 * kern/device.c (grub_device_iterate): Allocate new part_ent
16855 structure based on sizeof (*p) rather than sizeof (p->next), to
16856 account for structure padding.
16857
16858 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
16859 disk is NULL, which might happen for LVM physical volumes with no
16860 LVM signature.
16861
16862 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16863
16864 * loader/mips/linux.c (grub_cmd_initrd)
16865 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
16866
16867 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16868
16869 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
16870 (grub_video_video_init, grub_video_bitmap_init)
16871 (grub_font_manager_init, grub_term_gfxterm_init)
16872 (grub_at_keyboard_init): New extern declarations.
16873 (grub_machine_init): Initialize gfxterm and at_keyboard.
16874
16875 * kern/main.c (grub_main): Revert grub_printf delay kludge.
16876
16877 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
16878 `gfxterm.mod' into core image.
16879
16880 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16881 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16882 (kernel_img_FORMAT): Copy to ...
16883
16884 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16885 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16886 (kernel_img_FORMAT): ... here, and ...
16887
16888 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16889 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16890 (kernel_img_FORMAT): ... here.
16891
16892 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
16893 and input (at_keyboard) terminals in kernel.
16894 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
16895
16896 (pkglib_MODULES): Remove `pci.mod'.
16897 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
16898 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
16899 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
16900 (at_keyboard_mod_LDFLAGS): Remove variables.
16901
16902 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
16903
16904 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
16905
16906 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
16907
16908 * include/grub/mips/libgcc.h: Only export symbols for functions
16909 that libgcc provides.
16910
16911 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
16912
16913 MIPS support.
16914
16915 * bus/bonito.c: New file.
16916 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
16917 GRUB_PCI_NUM_DEVICES.
16918 * term/i386/pc/serial.c: Move to ...
16919 * term/serial.c: ... here. All users updated.
16920 * util/i386/pc/grub-mkimage.c: Move to ...
16921 * util/grub-mkrawimage.c: ... here. All users updated.
16922 * term/i386/pc/at_keyboard.c: Move to ...
16923 * term/at_keyboard.c: ... here. All users updated.
16924 * conf/mips-qemu-mips.rmk: New file.
16925 * conf/mips-yeeloong.rmk: Likewise.
16926 * conf/mips.rmk: Likewise.
16927 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
16928 mipsel-qemu-mips.
16929 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
16930 to port addresses.
16931 (grub_ata_pciinit): Support CS5536.
16932 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
16933 * font/font_cmd.c (loadfont_command): Open file before passing it to
16934 grub_font_load.
16935 (pseudo_file_read): New function.
16936 (pseudo_file_close): Likewise.
16937 (pseudo_fs): New structure.
16938 (load_font_module): New function.
16939 (GRUB_MOD_INIT(font_manager)): Load embedded font.
16940 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
16941 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
16942 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
16943 * include/grub/i386/at_keyboard.h: Split into ...
16944 * include/grub/at_keyboard.h: ... this ...
16945 * include/grub/i386/at_keyboard.h: ... and this.
16946 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
16947 New prototype.
16948 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
16949 updated.
16950 (grub_elf64_size): Likewise.
16951 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
16952 filename.
16953 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
16954 * include/grub/i386/coreboot/serial.h: Rewritten.
16955 * include/grub/i386/ieee1275/serial.h: Include
16956 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
16957 * include/grub/i386/pc/serial.h: Moved from here ...
16958 * include/grub/serial.h: ... to here. All users updated.
16959 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
16960 (GRUB_PCI_NUM_BUS): Likewise.
16961 (GRUB_PCI_NUM_DEVICES): Likewise.
16962 (grub_pci_device_map_range): Add missing volatile keyword.
16963 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
16964 * include/grub/mips/at_keyboard.h: New file.
16965 * include/grub/mips/cache.h: Likewise.
16966 * include/grub/mips/io.h: Likewise.
16967 * include/grub/mips/kernel.h: Likewise.
16968 * include/grub/mips/libgcc.h: Likewise.
16969 * include/grub/mips/pci.h: Likewise.
16970 * include/grub/mips/qemu-mips/boot.h: Likewise.
16971 * include/grub/mips/qemu-mips/kernel.h: Likewise.
16972 * include/grub/mips/qemu-mips/loader.h: Likewise.
16973 * include/grub/mips/qemu-mips/memory.h: Likewise.
16974 * include/grub/mips/qemu-mips/serial.h: Likewise.
16975 * include/grub/mips/qemu-mips/time.h: Likewise.
16976 * include/grub/mips/relocator.h: Likewise.
16977 * include/grub/mips/time.h: Likewise.
16978 * include/grub/mips/types.h: Likewise.
16979 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
16980 * include/grub/mips/yeeloong/boot.h: Likewise.
16981 * include/grub/mips/yeeloong/kernel.h: Likewise.
16982 * include/grub/mips/yeeloong/loader.h: Likewise.
16983 * include/grub/mips/yeeloong/memory.h: Likewise.
16984 * include/grub/mips/yeeloong/pci.h: Likewise.
16985 * include/grub/mips/yeeloong/serial.h: Likewise.
16986 * include/grub/mips/yeeloong/time.h: Likewise.
16987 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
16988 * kern/elf.c (grub_elf32_size): New parameter. All users
16989 updated.
16990 (grub_elf64_size): Likewise.
16991 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
16992 Load modules before saying "Welcome to GRUB!".
16993 Call grub_refresh after saying "Welcome to GRUB!".
16994 * kern/mips/cache.S: New file.
16995 * kern/mips/cache_flush.S: Likewise.
16996 * kern/mips/dl.c: Likewise.
16997 * kern/mips/init.c: Likewise.
16998 * kern/mips/qemu-mips/init.c: Likewise.
16999 * kern/mips/startup.S: Likewise.
17000 * kern/mips/yeeloong/init.c: Likewise.
17001 * kern/term.c (grub_putcode): Handle NULL terminal.
17002 (grub_getcharwidth): Likewise.
17003 (grub_getkey): Likewise.
17004 (grub_checkkey): Likewise.
17005 (grub_getkeystatus): Likewise.
17006 (grub_getxy): Likewise.
17007 (grub_getwh): Likewise.
17008 (grub_gotoxy): Likewise.
17009 (grub_cls): Likewise.
17010 (grub_setcolorstate): Likewise.
17011 (grub_setcolor): Likewise.
17012 (grub_getcolor): Likewise.
17013 (grub_refresh): Likewise.
17014 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
17015 (write_jump): Add hatch nop.
17016 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
17017 * lib/mips/setjmp.S: New file.
17018 * loader/mips/linux.c: Likewise.
17019 * term/i386/pc/at_keyboard.c: Move from here ...
17020 * term/at_keyboard.c: ... to here.
17021 * term/i386/pc/serial.c: Moved from here ...
17022 * term/serial.c: ... to here. All users updated.
17023 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
17024 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
17025 (serial_translate_key_sequence): Avoid deadlock.
17026 (grub_serial_getkey): Handle backspace.
17027 (grub_serial_putchar): Fix newline handling.
17028 * util/i386/pc/grub-mkimage.c: Move from here ...
17029 * util/grub-mkrawimage.c: ... to here. All users updated.
17030 (generate_image): New parameters 'font_path' and 'format'.
17031 Support embedding font.
17032 Use grub_host_to_target* instead of grub_cpu_to_le*.
17033 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
17034 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
17035 (options): New option "--font".
17036 (usage): Likewise.
17037 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
17038 (main): Handle "--font".
17039 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
17040 (grub_virtual_screen_setup): Set bg_color_display.
17041 (redraw_screen_rect): Use bg_color_display instead of incorrect
17042 bg_color.
17043 (grub_gfxterm_cls): Likewise.
17044 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
17045 Support embedding config file.
17046 (add_segments): Likewise.
17047 (options): New option "--config".
17048 (main): Handle "--config".
17049 * video/sm712.c: New file.
17050
17051 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17052
17053 Fix parallel builds.
17054
17055 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
17056 font.c depend on ascii.h).
17057
17058 2010-01-12 Carles Pina i Estany <carles@pina.cat>
17059
17060 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
17061
17062 2010-01-11 Carles Pina i Estany <carles@pina.cat>
17063
17064 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
17065 By default: disabled.
17066 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
17067 parameter.
17068
17069 2010-01-10 Carles Pina i Estany <carles@pina.cat>
17070
17071 * font/font.c: Update copyright years.
17072 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
17073
17074 2010-01-10 Carles Pina i Estany <carles@pina.cat>
17075
17076 * font/font.c: Include `ascii.h'.
17077 (ASCII_BITMAP_SIZE): New macro.
17078 (ascii_font_glyph): Define.
17079 (ascii_glyph_lookup): New function.
17080 (grub_font_get_string_width): Change comment. If glyph not found, use
17081 ascii_glyph_lookup.
17082 (grub_font_get_glyph_with_fallback): If glyph not available returns
17083 ascii_glyph_lookup.
17084 * util/grub-mkfont.c (file_formats): New enum.
17085 (options): Add `ascii-bitmaps' new option.
17086 (usage): Add `asii-bitmaps' new option.
17087 (write_font_ascii_bitmap): New function.
17088 (write_font): Rename to ...
17089 (write_font_p2): ... this. Remove print_glyphs call.
17090 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
17091 used. Call print_glyphs.
17092 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
17093
17094 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
17095
17096 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
17097 (grub_bin2h_SOURCES): New variable.
17098 * util/bin2h.c: New file.
17099
17100 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17101
17102 * include/multiboot.h: Resynced with spec.
17103 * include/multiboot2.h: Likewise.
17104 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
17105 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
17106
17107 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17108
17109 * include/grub/term.h (grub_term_register_input,
17110 grub_term_register_output): Check return of terminal init()
17111 routines, and abort if errors are raised.
17112
17113 * commands/terminal.c: Update copyright year.
17114
17115 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17116
17117 * commands/terminal.c (grub_cmd_terminal_input)
17118 (grub_cmd_terminal_output): Check return of terminal init()
17119 routines, and abort if errors are raised.
17120
17121 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
17122
17123 * include/grub/i386/bsd.h: Fix include pathes.
17124
17125 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
17126
17127 Add missing *BSD copyright headers.
17128
17129 * include/grub/aout.h: Add BSD licence.
17130 * include/grub/i386/bsd.h: Parts under different licences moved to ...
17131 * include/grub/i386/freebsd_linker.h: ... here,
17132 * include/grub/i386/freebsd_reboot.h: ... here,
17133 * include/grub/i386/netbsd_bootinfo.h: ... here,
17134 * include/grub/i386/netbsd_reboot.h: ... here,
17135 * include/grub/i386/openbsd_bootarg.h: ... here,
17136 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
17137 licence to each file.
17138
17139 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17140
17141 * acinclude.m4: Remove `nop' assembly instruction; it's not
17142 implemented by all architectures.
17143
17144 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17145
17146 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
17147 ELILO. This is no longer necessary.
17148
17149 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
17150
17151 Added new tool, grub-scrit-check to verify grub.cfg syntax.
17152
17153 * util/grub-script-check.c: grub-script-check tool.
17154 * conf/common.rmk: Make rules for grub-script-check.
17155
17156 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17157
17158 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
17159 spotting it back in 2008. Shame on me for forgetting he did.
17160
17161 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
17162
17163 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17164
17165 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
17166 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
17167 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
17168 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
17169 (GRUB_VIDEO_TYPE_EFI): Rename to ...
17170 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
17171
17172 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
17173
17174 * include/grub/test.h: Add license header.
17175 * tests/example_functional_test.c: Likewise.
17176 * tests/example_unit_test.c: Likewise.
17177 * tests/lib/functional_test.c: Likewise.
17178 * tests/lib/test.c: Likewise.
17179 * tests/lib/unit_test.c: Likewise.
17180
17181 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
17182
17183 Use flag-based instead of hook-based video mode selection and "auto"
17184 keyword.
17185
17186 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
17187 (grub_video_set_mode): Changed prototype. All users updated.
17188 (grub_video_check_mode_flag): New inline function.
17189 * video/video.c (parse_modespec): New function.
17190 (grub_video_set_mode): Parse flags and keywords.
17191
17192 2010-01-17 Carles Pina i Estany <carles@pina.cat>
17193
17194 * util/misc.c (grub_util_info): Fix the order of the parameters in a
17195 fprintf call.
17196
17197 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
17198
17199 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
17200
17201 2010-01-16 Carles Pina i Estany <carles@pina.cat>
17202
17203 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
17204 string.
17205 * util/grub-emu.c (usage): Likewise.
17206 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
17207 * util/i386/efi/grub-mkimage.c (usage): Likewise.
17208 * util/i386/pc/grub-mkimage.c (usage): Likewise.
17209 * util/i386/pc/grub-setup.c (usage): Likewise.
17210
17211 2010-01-16 Carles Pina i Estany <carles@pina.cat>
17212
17213 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
17214 the message.
17215 (grub_util_info): Likewise.
17216 (grub_util_error): Likewise.
17217 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
17218 and/or new lines in `grub_util_warna', `grub_util_info',
17219 `grub_util_error' calls.
17220 * util/getroot.c: Likewise.
17221 * util/grub-editenv.c: Likewise.
17222 * util/grub-emu.c: Likewise.
17223 * util/grub-fstest.c: Likewise.
17224 * util/grub-mkdevicemap.c: Likewise.
17225 * util/grub-mkfont.c: Likewise.
17226 * util/grub-mkpasswd-pbkdf2.c: Likewise.
17227 * util/grub-mkrelpath.c: Likewise.
17228 * util/grub-pe2elf.c: Likewise.
17229 * util/grub-probe.c: Likewise.
17230 * util/hostdisk.c: Likewise.
17231 * util/i386/efi/grub-mkimage.c: Likewise.
17232 * util/i386/pc/grub-mkimage.c: Likewise.
17233 * util/i386/pc/grub-setup.c: Likewise.
17234 * util/ieee1275/ofpath.c: Likewise.
17235 * util/mkisofs/eltorito.c: Likewise.
17236 * util/mkisofs/rock.c: Likewise.
17237 * util/mkisofs/write.c: Likewise.
17238 * util/raid.c: Likewise.
17239 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
17240 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17241
17242 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17243
17244 Enable multiboot on non-pc.
17245
17246 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
17247 multiboot.mod and multiboot2.mod to ...
17248 * conf/i386.rmk (pkglib_MODULES): ... here.
17249 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
17250 Moved to ...
17251 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
17252 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
17253 Moved to ...
17254 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
17255 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
17256 Moved to ...
17257 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
17258 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
17259 Moved to ...
17260 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
17261 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
17262 relocator.mod.
17263 (ata_mod_SOURCES): Removed.
17264 (ata_mod_CFLAGS): Likewise.
17265 (ata_mod_LDFLAGS): Likewise.
17266 (relocator_mod_SOURCES): Removed.
17267 (relocator_mod_CFLAGS): Likewise.
17268 (relocator_mod_ASFLAGS): Likewise.
17269 (relocator_mod_LDFLAGS): Likewise.
17270 Include i386.mk.
17271 * include/grub/x86_64/multiboot.h: New file.
17272 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
17273 Terminate EFI.
17274
17275 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17276
17277 Video multiboot support.
17278
17279 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
17280 New prototype.
17281 * include/multiboot.h: Resynced with multiboot specification.
17282 * include/multiboot2.h: Likewise.
17283 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
17284 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
17285 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
17286 (HAS_VGA_TEXT): Likewise.
17287 (accepts_video): New variable.
17288 (grub_multiboot_set_accepts_video): New function.
17289 (grub_multiboot_get_mbi_size): Account for video structures.
17290 (set_video_mode): New function.
17291 (retrieve_video_parameters): Likewise.
17292 (grub_multiboot_make_mbi): Fill video fields.
17293
17294 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17295
17296 Video driver ids.
17297
17298 * include/grub/video.h (grub_video_driver_id): New type.
17299 (grub_video_adapter): New member 'id'. All users updated.
17300 (grub_video_get_driver_id): New proto.
17301 * video/video.c (grub_video_get_driver_id): New function.
17302
17303 2010-01-14 Carles Pina i Estany <carles@pina.cat>
17304
17305 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
17306 `var=val'.
17307
17308 2010-01-14 Carles Pina i Estany <carles@pina.cat>
17309
17310 * normal/cmdline.c (print_completion): Gettextizze.
17311
17312 2001-01-14 Carles Pina i Estany <carles@pina.cat>
17313
17314 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
17315
17316 2010-01-14 Carles Pina i Estany <carles@pina.cat>
17317
17318 * gettext/gettext.c (grub_gettext_translate): Push and pop
17319 grub_errno.
17320 (grub_gettext_delete_list): Change comment style.
17321 * kern/err.c (grub_error): Gettextizze.
17322 (grub_fatal): Gettextizze.
17323
17324 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
17325
17326 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
17327 (grub_linux16_real_boot): ... this.
17328 * kern/i386/loader.S: Likewise.
17329 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
17330 (grub_linux16_boot): New function. Switches to text mode and calls
17331 grub_linux16_real_boot().
17332
17333 * loader/i386/bsd.c: Include `<grub/video.h>'.
17334 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
17335 text mode before calling grub_unix_real_boot().
17336
17337 * loader/i386/multiboot.c: Include `<grub/video.h>'.
17338 (grub_multiboot_boot): Switch to text mode before calling
17339 grub_relocator32_boot().
17340
17341 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
17342 (grub_chainloader_boot): Switch to text mode before calling
17343 grub_chainloader_real_boot().
17344
17345 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
17346 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17347
17348 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
17349 non-empty value.
17350
17351 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
17352 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17353
17354 * util/grub.d/00_header.in: Define a "savedefault" function for use
17355 in menu entries.
17356 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
17357
17358 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
17359 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17360
17361 * util/grub-mkconfig_lib.in (save_default_entry): Only set
17362 saved_entry if boot_once is unset.
17363 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
17364 previous saved entry (i.e. grub-reboot).
17365
17366 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17367
17368 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
17369
17370 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17371
17372 * util/grub.d/00_header.in: Use `set var=val' rather than plain
17373 `var=val'.
17374 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
17375
17376 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17377
17378 * util/grub-reboot.in: Fix --version output.
17379 * util/grub-set-default.in: Likewise.
17380
17381 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17382
17383 * util/grub.d/00_header.in: Silently ignore zero-sized environment
17384 blocks.
17385
17386 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17387
17388 * util/grub.d/00_header.in: Quote the value assigned to `default',
17389 in case it contains spaces.
17390
17391 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17392
17393 * util/grub.d/30_os-prober.in: Fix merge error that moved a
17394 `save_default_entry' call from the macosx case to the linux case.
17395
17396 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17397 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
17398
17399 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
17400 in `chosen' environment variable.
17401 * normal/menu_text.c (get_entry_number): Check if the variable
17402 matches the title of a menu entry.
17403 (run_menu): Pass menu to get_entry_number.
17404
17405 * util/grub-reboot.in: New file.
17406 * util/grub-set-default.in: New file.
17407 * conf/common.rmk (grub-reboot): New utility.
17408 (grub-set-default): New utility.
17409
17410 * util/grub-mkconfig_lib.in (save_default_entry): New function.
17411 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
17412 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
17413 move it to `saved_entry' for the next boot. Load environment on
17414 initialisation.
17415 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
17416 * util/grub.d/10_hurd.in: Likewise.
17417 * util/grub.d/10_linux.in (linux_entry): Likewise.
17418 * util/grub.d/10_windows.in: Likewise.
17419 * util/grub.d/30_os-prober.in: Likewise.
17420
17421 * util/grub-install.in: Create environment block.
17422 * util/i386/efi/grub-install.in: Likewise.
17423 * util/ieee1275/grub-install.in: Likewise.
17424 * util/sparc64/ieee1275/grub-install.in: Likewise.
17425
17426 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
17427
17428 Unit testing framework for GRUB.
17429
17430 * Makefile.in: Test framework build rules for 'make check'.
17431 * conf/tests.rmk: Build rules for individual tests and framework.
17432
17433 * include/grub/test.h: Header file for whitebox tests.
17434 * tests/lib/functional_test.c: Framework support for whitebox
17435 functional tests.
17436 * tests/lib/test.c: Common whitebox testing code for unit and
17437 functional tests.
17438 * tests/lib/unit_test.c: Framework support for whitebox unit
17439 tests.
17440
17441 * tests/util/grub-shell-tester.in: Support utility for grub-script
17442 tests.
17443 * tests/util/grub-shell.in: Utility to execute grub-script
17444 commands in a Qemu instance.
17445
17446 * tests/example_functional_test.c: Example whitebox functional
17447 test.
17448 * tests/example_grub_script_test.in: Example grub-script test.
17449 * tests/example_scripted_test.in: Example scripted test.
17450 * tests/example_unit_test.c: Example whitebox unit test.
17451
17452 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
17453
17454 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
17455 Add loader/i386/multiboot_mbi.c.
17456 (multiboot2_mod_SOURCES): Likewise.
17457 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
17458 (multiboot2_mod_SOURCES): Likewise.
17459 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
17460 (grub_multiboot_make_mbi): Likewise.
17461 (grub_multiboot_free_mbi): Likewise.
17462 (grub_multiboot_init_mbi): Likewise.
17463 (grub_multiboot_add_module): Likewise.
17464 (grub_multiboot_set_bootdev): Likewise.
17465 * loader/i386/multiboot.c (mbi): Removed.
17466 (mbi_dest): Likewise.
17467 (alloc_mbi): New variable.
17468 (grub_multiboot_payload_size): Removed. All users updated.
17469 (grub_multiboot_pure_size): New variable.
17470 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
17471 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
17472 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
17473 (grub_fill_multiboot_mmap): Likewise.
17474 (grub_multiboot_get_bootdev): Likewise.
17475 (grub_multiboot): Use multiboot_mbi functions.
17476 * loader/i386/multiboot_mbi.c: New file.
17477
17478 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17479
17480 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
17481 it would result in module crash.
17482
17483 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17484
17485 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
17486 (grub_ofconsole_getwh): Split to ...
17487 (grub_ofconsole_getwh): ... this.
17488 (grub_ofconsole_dimensions): ...and this.
17489 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
17490
17491 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
17492
17493 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
17494
17495 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17496
17497 * loader/i386/pc/multiboot2.c: Removed stalled file.
17498
17499 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17500
17501 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
17502 Reported by: Grégoire Sutre
17503
17504 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
17505
17506 * util/misc.c (canonicalize_file_name): New function.
17507 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
17508 instead of realpath().
17509
17510 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
17511
17512 * util/grub-install.in (usage): Clarify meaning of --root-directory,
17513 and make it clearer that it's optional. Based on confusion
17514 witnessed on IRC.
17515
17516 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17517
17518 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
17519 in premature implicit newline.
17520
17521 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17522
17523 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
17524 which resulted in garbled command line at the end of screen.
17525
17526 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17527
17528 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
17529 initialization with similar approach as with other Linux loaders.
17530
17531 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17532
17533 Fix i386-ieee1275 build.
17534
17535 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
17536 and grub_term_height() for video_{width,height} initialization.
17537
17538 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17539
17540 Fix grub-emu build.
17541
17542 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
17543
17544 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17545 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
17546
17547 Support for multiple terminals.
17548
17549 * Makefile.in (pkglib_DATA): terminal.lst.
17550 (terminal.lst): New target.
17551 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
17552 (GRUB_MOD_INIT(handler)): Likewise.
17553 (GRUB_MOD_FINI(handler)): Likewise.
17554 * commands/help.c (grub_cmd_help): Handle multiple terminals.
17555 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
17556 * commands/sleep.c (do_print): Use grub_term_restore_pos.
17557 (grub_cmd_sleep): Use grub_term_save_pos.
17558 * commands/terminal.c: New file.
17559 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
17560 commands/terminal.c and lib/charset.c.
17561 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
17562 (pkglib_MODULES): Add terminal.mod.
17563 (terminal_mod_SOURCES): New variable.
17564 (terminal_mod_CFLAGS): Likewise.
17565 (terminal_mod_LDFLAGS): Likewise.
17566 * genhandlerlist.sh: Don't handle terminals.
17567 * genmk.rb: Generate terminal-*.lst.
17568 * genterminallist.sh: New file.
17569 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
17570 (grub_is_valid_utf8): Likewise.
17571 (grub_utf8_to_ucs4_alloc): Likewise.
17572 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
17573 (grub_menu_register_viewer): Changed argument.
17574 (grub_menu_try_text): New proto.
17575 (grub_gfxmenu_try_hook): New declaration.
17576 * include/grub/normal.h (grub_normal_exit_level): New declaration.
17577 (grub_menu_init_page): Additional argument term.
17578 (grub_normal_init_page): Likewise.
17579 (grub_cmdline_get): Arguments simplified.
17580 (grub_utf8_to_ucs4_alloc): Removed.
17581 (grub_print_ucs4): Additional argument term.
17582 (grub_getstringwidth): Likewise.
17583 (grub_print_message_indented): Likewise.
17584 (grub_menu_text_register_instances): New proto.
17585 (grub_show_menu): Likewise.
17586 (read_terminal_list): Likewise.
17587 (grub_set_more): Likewise.
17588 * include/grub/parser.h: Include handler.h.
17589 * include/grub/reader.h: Rewritten.
17590 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
17591 (GRUB_TERM_WIDTH): Changed to function.
17592 (GRUB_TERM_HEIGHT): Likewise.
17593 (GRUB_TERM_BORDER_WIDTH): Likewise.
17594 (GRUB_TERM_BORDER_HEIGHT): Likewise.
17595 (GRUB_TERM_NUM_ENTRIES): Likewise.
17596 (GRUB_TERM_ENTRY_WIDTH): Likewise.
17597 (GRUB_TERM_CURSOR_X): Likewise.
17598 (grub_term_input_class): Likewise.
17599 (grub_term_output_class): Likewise.
17600 (grub_term_outputs_disabled): New declaration.
17601 (grub_term_inputs_disabled): Likewise.
17602 (grub_term_outputs): Likewise.
17603 (grub_term_inputs): Likewise.
17604 (grub_term_register_input): Rewritten.
17605 (grub_term_register_output): Likewise.
17606 (grub_term_unregister_input): Likewise.
17607 (grub_term_unregister_output): Likewise.
17608 (FOR_ACTIVE_TERM_INPUTS): New macro.
17609 (FOR_DISABLED_TERM_INPUTS): Likewise.
17610 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
17611 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
17612 * include/grub/terminfo.h: Add oterm argument to all protypes.
17613 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
17614 Use grub_rescue_run.
17615 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
17616 All users updated.
17617 * kern/reader.c: Removed. All users updated.
17618 * kern/rescue_reader.c (grub_rescue_init): Removed.
17619 (grub_rescue_reader): Likewise.
17620 (grub_register_rescue_reader): Likewise.
17621 (grub_rescue_run): New function based on kern/reader.c.
17622 * kern/term.c: Adapted for multiterm.
17623 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
17624 (grub_is_valid_utf8): Likewise.
17625 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
17626 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
17627 right terminal.
17628 * loader/i386/linux.c (grub_linux_boot): Likewise.
17629 * normal/auth.c (grub_username_get): New function.
17630 (grub_auth_check_authentication): Use grub_username_get.
17631 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
17632 * normal/color.c: Adapt for multiterm.
17633 * normal/main.c (read_config_file): Don't use grub_reader_loop.
17634 (grub_normal_init_page): Additional argument term.
17635 (read_lists): Call read_terminal_lists.
17636 (grub_enter_normal_mode): Call grub_cmdline_run.
17637 Handle grub_normal_exit_level.
17638 (grub_cmd_normal): Make reentrant.
17639 (grub_cmd_normal_exit): New function.
17640 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
17641 * normal/menu.c: Adapt for multiterm.
17642 * normal/menu_entry.c: Likewise.
17643 * normal/menu_text.c: Likewise.
17644 * normal/menu_viewer.c: Removed. All users updated.
17645 * normal/term.c: New file.
17646 * util/console.c: Change order of includes to workaround a bug in
17647 ncurses headers.
17648 * term/terminfo.c: New argument oterm on all exported functions.
17649 All users updated.
17650 * util/grub-editenv.c (grub_term_input_class): Removed.
17651 (grub_term_output_class): Likewise.
17652
17653 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
17654
17655 Make loader output a bit more user-friendly.
17656
17657 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
17658 is being loaded. Likewise for the Hurd.
17659
17660 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
17661 that kernel of FreeBSD ${version} is being loaded.
17662
17663 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
17664 grub_dprintf().
17665 (grub_cmd_initrd): Likewise.
17666 * util/grub.d/10_linux.in (linux_entry): Print message indicating
17667 that Linux ${version} is being loaded. Likewise for initrd.
17668
17669 2010-01-09 Carles Pina i Estany <carles@pina.cat>
17670
17671 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
17672
17673 2010-01-08 Carles Pina i Estany <carles@pina.cat>
17674
17675 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
17676 (GRUB_MOD_INIT): Gettextizze.
17677 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
17678 (GRUB_MOD_INIT): Gettextizze.
17679 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
17680 (grub_cmd_linux): Capitalise Linux.
17681 (GRUB_MOD_INIT): Gettextizze.
17682 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
17683 (grub_cmd_linux): Capitalise Linux.
17684 (GRUB_MOD_INIT): Gettextizze.
17685 * loader/i386/linux.c: Include `<grub/i18n.h>'.
17686 (grub_cmd_linux): Capitalise Linux.
17687 (GRUB_MOD_INIT): Gettextizze.
17688 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
17689 (GRUB_MOD_INIT): Gettextizze.
17690 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
17691 (grub_cmd_linux): Capitalise Linux.
17692 (GRUB_MOD_INIT): Gettextizze.
17693 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
17694 (grub_cpu_xnu_init): Gettextizze.
17695 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
17696 (GRUB_MOD_INIT): Gettextizze.
17697 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
17698 (GRUB_MOD_INIT): Gettextizze.
17699 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
17700 (grub_linux_load64): Capitalise Linux.
17701 (GRUB_MOD_INIT): Gettextizze.
17702 * loader/xnu.c: Include `<grub/i18n.h>'.
17703 (GRUB_MOD_INIT): Gettextizze.
17704 * po/POTFILES: Add `loader/efi/appleloader.c',
17705 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
17706 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
17707 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
17708 `loader/i386/xnu.c', `loader/multiboot_loader.c',
17709 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
17710 and `loader/xnu.c'.
17711
17712 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
17713
17714 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
17715
17716 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
17717
17718 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
17719 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
17720 * util/mkisofs/mkisofs.c (main): Readjust --version output.
17721
17722 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17723
17724 Reset Multiboot 2 support. New loader implements the draft in
17725 /branches/multiboot2 and shares as much code as possible with the
17726 production Multiboot 1 implementation.
17727
17728 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
17729 * loader/multiboot2.c: Likewise.
17730 * loader/i386/multiboot_helper.S: Likewise.
17731 * include/multiboot2.h: Replace with latest version from the draft
17732 in /branches/multiboot2.
17733
17734 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
17735 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
17736 and `loader/multiboot2.c'.
17737 (pkglib_MODULES): Add `multiboot2.mod'.
17738 (multiboot2_mod_SOURCES): New variable.
17739 (multiboot2_mod_LDFLAGS): Likewise.
17740 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
17741
17742 * conf/i386-pc.rmk: Likewise.
17743
17744 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
17745 (multiboot_mod_SOURCES): Remove variable.
17746 (multiboot_mod_LDFLAGS): Likewise.
17747 (multiboot_mod_CFLAGS): Likewise.
17748
17749 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
17750 `<multiboot2.h>' instead of `<multiboot.h>'.
17751 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
17752 (MULTIBOOT_HEADER_MAGIC): New macros.
17753
17754 * loader/multiboot_loader.c (module_version_status): Remove variable.
17755 (find_multi_boot2_header): Remove function.
17756 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
17757 logic. Always check for the Multiboot version we're compiling for.
17758 (grub_cmd_module_loader): Likewise.
17759 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
17760 command instead of `multiboot'.
17761
17762 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17763
17764 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
17765 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
17766 all users.
17767
17768 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17769 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17770
17771 Fix breakage introduced with previous commit.
17772
17773 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
17774 commands.
17775 * normal/handler.c (read_handler_list): Revert part of previous commit
17776 affecting this file.
17777 * normal/main.c (read_lists): Move read_handler_list() call back to ...
17778 (grub_normal_execute): ... here.
17779
17780 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17781
17782 Merge prefix-redefinition-fix branch.
17783
17784 * normal/autofs.c (read_fs_list): Make function capable of being
17785 run multiple times, gracefuly replacing the previous data
17786 structures.
17787 * normal/dyncmd.c (read_command_list): Likewise.
17788 * normal/handler.c (read_handler_list): Likewise.
17789 * normal/main.c (read_lists): New function. Calls all the
17790 list reading functions.
17791 (grub_normal_execute): Use read_lists() instead of calling all
17792 list reading functions explicitly. Register read_lists() as a
17793 variable hook attached to ${prefix}.
17794
17795 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17796
17797 Merge crypto branch.
17798
17799 * Makefile.in (pkglib_DATA): Add crypto.lst.
17800 (crypto.lst): New target.
17801 * commands/hashsum.c: New file.
17802 * commands/password.c (check_password): Use grub_crypto_memcmp.
17803 * commands/password_pbkdf2.c: New file.
17804 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
17805 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
17806 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
17807 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
17808 -I$(srcdir)/lib/libgcrypt_wrap.
17809 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
17810 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
17811 password_pbkdf2.mod.
17812 (crypto_mod_SOURCES): New variable.
17813 (crypto_mod_CFLAGS): Likewise.
17814 (crypto_mod_LDFLAGS): Likewise.
17815 (hashsum_mod_SOURCES): New variable.
17816 (hashsum_mod_CFLAGS): Likewise.
17817 (hashsum_mod_LDFLAGS): Likewise.
17818 (pbkdf2_mod_SOURCES): New variable.
17819 (pbkdf2_mod_CFLAGS): Likewise.
17820 (pbkdf2_mod_LDFLAGS): Likewise.
17821 (password_pbkdf2_mod_SOURCES): New variable.
17822 (password_pbkdf2_mod_CFLAGS): Likewise.
17823 (password_pbkdf2_mod_LDFLAGS): Likewise.
17824 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
17825 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
17826 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
17827 Include conf/gcry.rmk.
17828 * include/grub/auth.h: Rewritten.
17829 * include/grub/crypto.h: New file.
17830 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
17831 * include/grub/normal.h (read_crypto_list): New prototype.
17832 * lib/crypto.c: New file.
17833 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
17834 * lib/pbkdf2.c: Likewise.
17835 * normal/auth.c (grub_auth_strcmp): Removed.
17836 (grub_iswordseparator): Likewise.
17837 (grub_auth_strword): Likewise.
17838 (is_authenticated): Use grub_strword.
17839 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
17840 and grub_strword. Pass entered password to authentication callback.
17841 * normal/crypto.c: New file.
17842 * normal/main.c: Call read_crypto_list.
17843 * util/grub-mkpasswd-pbkdf2.c: New file.
17844 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
17845
17846 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
17847
17848 Fix descent and ascent calculation.
17849
17850 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
17851 (options): New option "asce".
17852 (usage): Likewise.
17853 (add_char): Ignore invalid glyphs for descent calculation.
17854 Calculate ascent from actual content.
17855 (print_glyphs): Use 'asce'.
17856 (write_font): Likewise. Allow ascent override.
17857 (main): Handle "asce" option.
17858
17859 2010-01-06 Carles Pina i Estany <carles@pina.cat>
17860
17861 * kern/err.c: Include `<grub/i18n.h>'.
17862 (grub_print_error): Add full stop. Gettextizze.
17863 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
17864 (grub_bsd_load_elf): Capitalise ELF.
17865 (grub_cmd_freebsd_loadenv): Add `s' in error string.
17866 (grub_cmd_freebsd_module): Likewise.
17867 (grub_cmd_freebsd_module_elf): Likewise.
17868 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
17869
17870 2010-01-06 Carles Pina i Estany <carles@pina.cat>
17871
17872 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
17873 * commands/search_file.c (HELP_MESSAGE): New macro.
17874 * commands/search_label.c (HELP_MESSAGE): Likewise.
17875 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
17876 * po/POTFILES: Add `commands/search_file.c',
17877 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
17878 `commands/search.c'.
17879
17880 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
17881
17882 * config.rpath: Update from Gnulib.
17883
17884 2010-01-05 Yves Blusseau <blusseau@zetam.org>
17885
17886 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
17887
17888 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
17889
17890 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
17891
17892 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17893
17894 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
17895 arguments to fread so that we get a return value in bytes, rather
17896 than something that will normally be rounded down to 0.
17897 Adjust error handling to avoid producing garbage when size_t is not
17898 the same size as long long.
17899
17900 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17901
17902 * util/mkisofs/write.c (padblock_write): Check return value of
17903 fread.
17904
17905 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
17906
17907 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
17908 floppy images now.
17909
17910 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
17911
17912 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
17913
17914 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
17915 instead of manual alignment.
17916 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
17917 verbose). Avoid attempts to read past end of the device
17918 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
17919 but GRUB_DISK_CACHE_SIZE may exceed that).
17920
17921 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
17922
17923 * commands/crc.c (grub_cmd_crc): Abort on read errors.
17924 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
17925 it to upper layer.
17926
17927 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17928
17929 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
17930 New constant.
17931 (grub_efi_piwg_device_path): New structure
17932 (grub_efi_piwg_device_path_t): New type.
17933 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
17934 (devpath_1): Transform to a structure. All users updated.
17935 (devpath_2): Likewise.
17936 (devpath_3): Likewise.
17937 (devpath_4): Likewise.
17938 (devpath_5): Likewise.
17939
17940 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17941
17942 * loader/efi/appleloader.c: Restored. Update all users.
17943
17944 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17945
17946 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
17947
17948 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
17949 (struct boot_blocklist): Move from here ...
17950 * include/grub/i386/pc/boot.h [ASM_FILE]
17951 (struct grub_boot_blocklist): ... to here. Update all users.
17952 (setup): Only initialize `start' member of `first_block'
17953 structure. Add assert() calls to verify the other members.
17954
17955 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
17956 (generate_image): Fix broken blocklist length initialization.
17957 Add assert() call to verify blocklist `segment' field.
17958
17959 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17960
17961 * loader/efi/appleloader.c: Remove. Update all users.
17962
17963 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17964
17965 * boot/i386/pc/boot.S: Update copyright year.
17966 * boot/i386/pc/cdboot.S: Likewise.
17967 * boot/i386/pc/diskboot.S: Likewise.
17968 * boot/i386/pc/lnxboot.S: Likewise.
17969 * boot/i386/pc/pxeboot.S: Likewise.
17970 * bus/pci.c: Likewise.
17971 * commands/cmp.c: Likewise.
17972 * commands/help.c: Likewise.
17973 * commands/hexdump.c: Likewise.
17974 * commands/i386/pc/halt.c: Likewise.
17975 * commands/i386/pc/play.c: Likewise.
17976 * commands/i386/pc/vbeinfo.c: Likewise.
17977 * commands/ls.c: Likewise.
17978 * commands/test.c: Likewise.
17979 * disk/dmraid_nvidia.c: Likewise.
17980 * disk/i386/pc/biosdisk.c: Likewise.
17981 * disk/ieee1275/nand.c: Likewise.
17982 * disk/ieee1275/ofdisk.c: Likewise.
17983 * disk/lvm.c: Likewise.
17984 * disk/raid.c: Likewise.
17985 * disk/raid6_recover.c: Likewise.
17986 * disk/scsi.c: Likewise.
17987 * fs/affs.c: Likewise.
17988 * fs/cpio.c: Likewise.
17989 * fs/ext2.c: Likewise.
17990 * fs/hfs.c: Likewise.
17991 * fs/iso9660.c: Likewise.
17992 * fs/ntfs.c: Likewise.
17993 * fs/sfs.c: Likewise.
17994 * fs/udf.c: Likewise.
17995 * fs/ufs.c: Likewise.
17996 * fs/xfs.c: Likewise.
17997 * gencmdlist.sh: Likewise.
17998 * genmk.rb: Likewise.
17999 * include/grub/disk.h: Likewise.
18000 * include/grub/efi/api.h: Likewise.
18001 * include/grub/efi/efi.h: Likewise.
18002 * include/grub/efi/pe32.h: Likewise.
18003 * include/grub/elf.h: Likewise.
18004 * include/grub/fs.h: Likewise.
18005 * include/grub/i386/at_keyboard.h: Likewise.
18006 * include/grub/i386/pc/memory.h: Likewise.
18007 * include/grub/i386/pc/vbe.h: Likewise.
18008 * include/grub/i386/pci.h: Likewise.
18009 * include/grub/i386/tsc.h: Likewise.
18010 * include/grub/ieee1275/ieee1275.h: Likewise.
18011 * include/grub/ntfs.h: Likewise.
18012 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
18013 * include/grub/sparc64/libgcc.h: Likewise.
18014 * include/grub/symbol.h: Likewise.
18015 * include/grub/types.h: Likewise.
18016 * include/multiboot2.h: Likewise.
18017 * io/gzio.c: Likewise.
18018 * kern/device.c: Likewise.
18019 * kern/disk.c: Likewise.
18020 * kern/efi/efi.c: Likewise.
18021 * kern/efi/mm.c: Likewise.
18022 * kern/elf.c: Likewise.
18023 * kern/file.c: Likewise.
18024 * kern/i386/dl.c: Likewise.
18025 * kern/i386/pc/init.c: Likewise.
18026 * kern/i386/pc/startup.S: Likewise.
18027 * kern/ieee1275/ieee1275.c: Likewise.
18028 * kern/ieee1275/init.c: Likewise.
18029 * kern/main.c: Likewise.
18030 * kern/mm.c: Likewise.
18031 * kern/powerpc/dl.c: Likewise.
18032 * kern/sparc64/dl.c: Likewise.
18033 * kern/x86_64/dl.c: Likewise.
18034 * lib/hexdump.c: Likewise.
18035 * loader/efi/appleloader.c: Likewise.
18036 * loader/i386/ieee1275/linux.c: Likewise.
18037 * loader/i386/pc/chainloader.c: Likewise.
18038 * loader/i386/pc/linux.c: Likewise.
18039 * loader/i386/pc/multiboot2.c: Likewise.
18040 * loader/ieee1275/multiboot2.c: Likewise.
18041 * loader/multiboot2.c: Likewise.
18042 * loader/multiboot_loader.c: Likewise.
18043 * loader/powerpc/ieee1275/linux.c: Likewise.
18044 * normal/completion.c: Likewise.
18045 * normal/menu_entry.c: Likewise.
18046 * partmap/apple.c: Likewise.
18047 * util/grub.d/10_hurd.in: Likewise.
18048 * util/hostfs.c: Likewise.
18049 * video/readers/png.c: Likewise.
18050
18051 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
18052
18053 * include/grub/misc.h (GNUC_PREREQ): New macro.
18054 (ATTRIBUTE_ERROR): New macro.
18055 * include/grub/list.h (grub_bad_type_cast_real): Use
18056 ATTRIBUTE_ERROR.
18057
18058 2010-01-03 Carles Pina i Estany <carles@pina.cat>
18059
18060 * normal/menu_text.c (print_message): Change messages.
18061
18062 2010-01-03 Carles Pina i Estany <carles@pina.cat>
18063
18064 * normal/menu_entry.c (store_completion): Gettextizze.
18065
18066 2010-01-03 Carles Pina i Estany <carles@pina.cat>
18067
18068 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
18069
18070 2010-01-03 Carles Pina i Estany <carles@pina.cat>
18071
18072 * po/POTFILES: Sort correctly.
18073
18074 2010-01-03 Carles Pina i Estany <carles@pina.cat>
18075
18076 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
18077 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
18078 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
18079 full stop.
18080 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
18081 summary. Gettextizze the strings.
18082 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
18083 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
18084 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
18085 full stop.
18086 (GRUB_MOD_INIT): Remove command name from summary.
18087 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
18088 summary.
18089 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
18090 * term/i386/pc/serial.c (options): Add full stops.
18091 (GRUB_MOD_INIT): Remove command name from the summary.
18092
18093 2010-01-03 Carles Pina i Estany <carles@pina.cat>
18094
18095 * commands/acpi.c: Gettextizze help strings and/or options. Include
18096 `grub/i18n.h' if needed.
18097 * commands/blocklist.c: Likewise.
18098 * commands/boot.c: Likewise.
18099 * commands/cat.c: Likewise.
18100 * commands/cmp.c: Likewise.
18101 * commands/configfile.c: Likewise.
18102 * commands/crc.c: Likewise.
18103 * commands/date.c: Likewise.
18104 * commands/echo.c: Likewise.
18105 * commands/efi/fixvideo.c: Likewise.
18106 * commands/efi/loadbios.c: Likewise.
18107 * commands/gptsync.c: Likewise.
18108 * commands/halt.c: Likewise.
18109 * commands/handler.c: Likewise.
18110 * commands/hdparm.c: Likewise.
18111 * commands/hexdump.c: Likewise.
18112 * commands/i386/cpuid.c: Likewise.
18113 * commands/i386/pc/drivemap.c: Likewise.
18114 * commands/i386/pc/halt.c: Likewise.
18115 * commands/i386/pc/pxecmd.c: Likewise.
18116 * commands/i386/pc/vbeinfo.c: Likewise.
18117 * commands/i386/pc/vbetest.c: Likewise.
18118 * commands/ieee1275/suspend.c: Likewise.
18119 * commands/keystatus.c: Likewise.
18120 * commands/loadenv.c: Likewise.
18121 * commands/ls.c: Likewise.
18122 * commands/lsmmap.c: Likewise.
18123 * commands/lspci.c: Likewise.
18124 * commands/memrw.c: Likewise.
18125 * commands/minicmd.c: Likewise.
18126 * commands/parttool.c: Likewise.
18127 * commands/password.c: Likewise.
18128 * commands/probe.c: Likewise.
18129 * commands/read.c: Likewise.
18130 * commands/reboot.c: Likewise.
18131 * commands/search.c: Likewise.
18132 * commands/sleep.c: Likewise.
18133 * commands/test.c: Likewise.
18134 * commands/true.c: Likewise.
18135 * commands/usbtest.c: Likewise.
18136 * commands/videotest.c: Likewise.
18137 * commands/xnu_uuid.c: Likewise.
18138 * disk/loopback.c: Likewise.
18139 * hello/hello.c: Likewise.
18140 * loader/i386/bsd.c: Likewise.
18141 * term/i386/pc/serial.c: Likewise.
18142 * po/POTFILES: Add new files.
18143
18144 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
18145
18146 * term/i386/pc/at_keyboard.c
18147 (keyboard_controller_wait_untill_ready): Rename to ...
18148 (keyboard_controller_wait_until_ready): ... this. Update all users.
18149
18150 2010-01-01 Carles Pina i Estany <carles@pina.cat>
18151
18152 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
18153 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
18154 string using string width.
18155 * normal/menu_text.c (grub_print_message_indented): Use
18156 grub_print_spaces and not print_spaces.
18157 (print_timeout): Likewise.
18158 (print_spaces): Move to...
18159 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
18160
18161 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
18162
18163 Import from Gnulib.
18164
18165 * gnulib/getdelim.c: New file.
18166 * gnulib/getline.c: Likewise.
18167
18168 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
18169
18170 * include/grub/list.h (grub_assert_fail): Removed.
18171 (grub_bad_type_cast_real): New function.
18172 (grub_bad_type_cast): New macro.
18173 (GRUB_AS_LIST): Use grub_bad_type_cast.
18174 (GRUB_AS_LIST_P): Likewise.
18175 (GRUB_AS_NAMED_LIST): Likewise.
18176 (GRUB_AS_NAMED_LIST_P): Likewise.
18177 (GRUB_AS_PRIO_LIST): Likewise.
18178 (GRUB_AS_PRIO_LIST_P): Likewise.
18179 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
18180
18181 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
18182
18183 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
18184 Fix syntax error.
18185
18186 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
18187
18188 * configure.ac: Check for TARGET_CFLAGS initialization before we
18189 initialize it ourselves (sigh).
18190 Move a few modifications to TARGET_CFLAGS to be unconditional
18191 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
18192 eh_frame)
18193
18194 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
18195 * term/i386/pc/at_keyboard.c
18196 (keyboard_controller_wait_untill_ready): Likewise.
18197 (keyboard_controller_led): Rename `led_status' paramter to avoid
18198 name conflict.
18199
18200 2009-12-28 Carles Pina i Estany <carles@pina.cat>
18201
18202 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
18203 quotes.
18204
18205 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18206
18207 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
18208
18209 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18210
18211 * normal/menu_text.c (grub_print_message_indented): Prevent
18212 past-the-end-of-array dereference.
18213
18214 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18215
18216 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
18217 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
18218
18219 2009-12-27 Carles Pina i Estany <carles@pina.cat>
18220
18221 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
18222 * normal/main.c (grub_normal_read_line): Remove a space from the
18223 default prompt.
18224
18225 2009-12-27 Carles Pina i Estany <carles@pina.cat>
18226
18227 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
18228 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18229 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
18230 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
18231 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18232 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18233 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18234
18235 2009-12-26 Carles Pina i Estany <carles@pina.cat>
18236
18237 * video/readers/jpeg.c (cmd): Declare.
18238 (grub_cmd_jpegtest): Use `grub_command_t' type.
18239 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18240 Assign to `cmd'.
18241 (GRUB_MOD_FINI): Use `cmd' to unregister.
18242 * video/readers/png.c (cmd): Declare.
18243 (grub_cmd_pngtest): Use `grub_command_t' type.
18244 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18245 Assign to `cmd'.
18246 (GRUB_MOD_FINI): Use `cmd' to unregister.
18247 * video/readers/tga.c (cmd): Declare.
18248 (grub_cmd_tgatest): Use `grub_command_t' type.
18249 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18250 Assign to `cmd'.
18251 (GRUB_MOD_FINI): Use `cmd' to unregister.
18252
18253 2009-12-26 Carles Pina i Estany <carles@pina.cat>
18254
18255 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
18256 stops.
18257 * kern/corecmd.c (grub_register_core_commands): Likewise.
18258 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
18259 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
18260 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
18261 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18262 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
18263 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
18264 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
18265 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
18266 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18267 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18268 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18269 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18270 * normal/handler.c (insert_handler): Likewise.
18271 * normal/main.c (GRUB_MOD_INIT): Likewise.
18272 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
18273
18274 2009-12-26 Carles Pina i Estany <carles@pina.cat>
18275
18276 * commands/help.c (grub_cmd_help): Print the command name before the
18277 summary.
18278 (GRUB_MOD_INIT): Remove command name from the summary.
18279 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
18280 string as summary.
18281 * lib/arg.c (find_long): Print the command name before the summary.
18282 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
18283 summary.
18284 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
18285 * commands/cat.c (GRUB_MOD_INIT): Likewise.
18286 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
18287 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
18288 * commands/crc.c (GRUB_MOD_INIT): Likewise.
18289 * commands/date.c (GRUB_MOD_INIT): Likewise.
18290 * commands/echo.c (GRUB_MOD_INIT): Likewise.
18291 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
18292 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
18293 * commands/handler.c (GRUB_MOD_INIT): Likewise.
18294 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
18295 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
18296 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
18297 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
18298 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
18299 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
18300 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
18301 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
18302 * commands/ls.c (GRUB_MOD_INIT): Likewise.
18303 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
18304 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
18305 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
18306 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
18307 * commands/password.c (GRUB_MOD_INIT): Likewise.
18308 * commands/probe.c (GRUB_MOD_INIT): Likewise.
18309 * commands/read.c (GRUB_MOD_INIT): Likewise.
18310 * commands/search.c (GRUB_MOD_INIT): Likewise.
18311 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
18312 * commands/test.c (GRUB_MOD_INIT): Likewise.
18313 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
18314 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
18315 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
18316 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
18317 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
18318 * lib/arg.c (GRUB_MOD_INIT): Likewise.
18319 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
18320 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
18321 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18322 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18323 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
18324 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
18325 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
18326 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
18327
18328 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18329
18330 Use search command for preliminar UUID search.
18331
18332 * commands/search.c: Split into ...
18333 * commands/search_wrap.c: ...this
18334 * commands/search.c: ...and this.
18335 * commands/search_file.c: New file.
18336 * commands/search_label.c: New file.
18337 * commands/search_uuid.c: New file.
18338 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
18339 Add commands/search_wrap.c, commands/search_file.c,
18340 commands/search_label.c and commands/search_uuid.c.
18341 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
18342 (search_mod_SOURCES): Set to commands/search_wrap.c.
18343 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
18344 search_label.mod.
18345 (search_fs_file_mod_SOURCES): New variable.
18346 (search_fs_file_mod_CFLAGS): Likewise.
18347 (search_fs_file_mod_LDFLAGS): Likewise.
18348 (search_label_mod_SOURCES): Likewise.
18349 (search_label_mod_CFLAGS): Likewise.
18350 (search_label_mod_LDFLAGS): Likewise.
18351 (search_fs_uuid_mod_SOURCES): New variable.
18352 (search_fs_uuid_mod_CFLAGS): Likewise.
18353 (search_fs_uuid_mod_LDFLAGS): Likewise.
18354 (fs_file_mod_SOURCES): Removed.
18355 (fs_file_mod_CFLAGS): Likewise.
18356 (fs_file_mod_LDFLAGS): Likewise.
18357 (fs_uuid_mod_SOURCES): Removed.
18358 (fs_uuid_mod_CFLAGS): Likewise.
18359 (fs_uuid_mod_LDFLAGS): Likewise.
18360 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
18361 Set to util/grub-install.in.
18362 * disk/fs_file.c: Removed.
18363 * disk/fs_uuid.c: Likewise.
18364 * include/grub/search.h: New file.
18365 * util/grub-install.in: Handle sparc64.
18366 Create and use load.cfg.
18367 * util/sparc64/ieee1275/grub-install.in: Removed.
18368
18369 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18370
18371 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
18372 Ignore return status if CF is cleared.
18373 (grub_biosdisk_get_diskinfo_standard): Likewise.
18374
18375 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
18376
18377 * term/i386/pc/at_keyboard.c
18378 (keyboard_controller_wait_untill_ready): New function.
18379 (grub_keyboard_controller_write, grub_keyboard_controller_read)
18380 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
18381 for keyboard polling, rather than duplicate the same loop. This
18382 saves a few bytes in code size.
18383
18384 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18385
18386 Support for (pxe[:server[:gateway]]) syntax and
18387 use environment variable for PXE.
18388
18389 * commands/i386/pc/pxecmd.c (options): Removed.
18390 (print_ip): Removed.
18391 (grub_cmd_pxe): Removed
18392 (grub_cmd_pxe_unload): New function.
18393 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
18394 (grub_pxe_your_ip): Made static.
18395 (grub_pxe_default_server_ip): Likewise.
18396 (grub_pxe_default_gateway_ip): Likewise.
18397 (grub_pxe_blksize): Likewise.
18398 (parse_ip): New function.
18399 (grub_pxe_open): Support server and gateway specification.
18400 (grub_pxe_close): Free disk->data.
18401 (grub_pxefs_open): Use disk->data.
18402 (grub_pxefs_read): Likewise.
18403 (grub_env_write_readonly): New function.
18404 (set_mac_env): Likewise.
18405 (set_env_limn_ro): Likewise.
18406 (parse_dhcp_vendor): Likewise.
18407 (grub_pxe_detect): Set the environment variables.
18408 (set_ip_env): New function.
18409 (write_ip_env): Likewise.
18410 (grub_env_write_pxe_default_server): Likewise.
18411 (grub_env_write_pxe_default_gateway): Likewise.
18412 (grub_env_write_pxe_blocksize): Likewise.
18413 (GRUB_MOD_INIT(pxe)): Set environment variables.
18414 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
18415 (grub_pxe_mac_addr_t): ... this. All users updated.
18416 (grub_pxe_your_ip): Removed.
18417 (grub_pxe_server_ip): Likewise.
18418 (grub_pxe_gateway_ip): Likewise.
18419 (grub_pxe_blksize): Likewise.
18420
18421 2009-12-25 Carles Pina i Estany <carles@pina.cat>
18422
18423 * commands/help.c: Include `<grub/i18n.h>'.
18424 (grub_cmd_help): Gettextizze.
18425 (GRUB_MOD_INIT): Likewise.
18426 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
18427 (GRUB_MOD_INIT): Gettextizze.
18428 * commands/search.c: Include `<grub/i18n.h>'.
18429 (options): Gettextizze.
18430 (GRUB_MOD_INIT): Gettextizze.
18431 * lib/arg.c: Include `<grub/i18n.h>'.
18432 (help_options): Gettextizze.
18433 (find_long): Likewise.
18434 (grub_arg_show_help): Likewise.
18435 * normal/dyncmd.c: Include `<grub/i18n.h>'.
18436 (read_command_list): Gettextizze.
18437 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
18438 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
18439
18440 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
18441
18442 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
18443 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
18444 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
18445 (led_status): New variable.
18446 (keyboard_controller_led): New function.
18447 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
18448 update led status for caps lock, num lock and scroll lock.
18449
18450 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
18451
18452 * util/hostdisk.c (open_device): Fix a comment.
18453
18454 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18455
18456 * util/grub-install.in (host_os): New variable.
18457 * util/i386/efi/grub-install.in (host_os): Likewise.
18458
18459 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18460
18461 * util/mkisofs/write.c (padblock_write): Abort when given an
18462 excedingly large embed image, instead of silently truncating it.
18463
18464 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18465
18466 * include/multiboot.h: Indentation fixes.
18467
18468 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18469
18470 * include/multiboot.h (struct multiboot_aout_symbol_table)
18471 (struct multiboot_elf_section_header_table): New structure
18472 declarations (stolen from GRUB Legacy).
18473 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
18474 table information.
18475
18476 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
18477 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
18478 type aliases.
18479
18480 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18481
18482 * include/multiboot.h: Make comments src2texi-friendly.
18483
18484 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18485
18486 For consistency with [multiboot]/docs/boot.S.
18487
18488 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
18489 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
18490 (MULTIBOOT_MAGIC2): Rename from this ...
18491 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
18492
18493 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18494
18495 * include/multiboot.h: Remove `<grub/types.h>'.
18496 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
18497 types. Update all users.
18498
18499 2009-12-25 Carles Pina i Estany <carles@pina.cat>
18500
18501 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
18502 `couldn't' and `can not' by `cannot'.
18503 * commands/i386/pc/drivemap.c: Likewise.
18504 * disk/ata.c: Likewise.
18505 * disk/ieee1275/nand.c: Likewise.
18506 * fs/affs.c: Likewise.
18507 * fs/fat.c: Likewise.
18508 * fs/hfs.c: Likewise.
18509 * fs/hfsplus.c: Likewise.
18510 * fs/iso9660.c: Likewise.
18511 * fs/jfs.c: Likewise.
18512 * fs/minix.c: Likewise.
18513 * fs/reiserfs.c: Likewise.
18514 * fs/sfs.c: Likewise.
18515 * fs/udf.c: Likewise.
18516 * fs/ufs.c: Likewise.
18517 * fs/xfs.c: Likewise.
18518 * loader/powerpc/ieee1275/linux.c: Likewise.
18519 * loader/sparc64/ieee1275/linux.c: Likewise.
18520 * util/grub-probe.c: Likewise.
18521 * util/misc.c: Likewise.
18522
18523 2009-12-24 Carles Pina i Estany <carles@pina.cat>
18524
18525 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
18526 grub_errno calls.
18527 * commands/acpi.c: Likewise.
18528 * commands/blocklist.c: Likewise.
18529 * commands/efi/loadbios.c: Likewise.
18530 * commands/i386/pc/drivemap.c: Likewise.
18531 * commands/loadenv.c: Likewise.
18532 * commands/memrw.c: Likewise.
18533 * commands/password.c: Likewise.
18534 * commands/videotest.c: Likewise.
18535 * disk/ata.c: Likewise.
18536 * disk/ata_pthru.c: Likewise.
18537 * disk/dmraid_nvidia.c: Likewise.
18538 * disk/ieee1275/nand.c: Likewise.
18539 * disk/ieee1275/ofdisk.c: Likewise.
18540 * disk/loopback.c: Likewise.
18541 * disk/lvm.c: Likewise.
18542 * disk/mdraid_linux.c: Likewise.
18543 * disk/raid.c: Likewise.
18544 * disk/raid6_recover.c: Likewise.
18545 * disk/scsi.c: Likewise.
18546 * efiemu/main.c: Likewise.
18547 * efiemu/mm.c: Likewise.
18548 * efiemu/pnvram.c: Likewise.
18549 * efiemu/symbols.c: Likewise.
18550 * font/font.c: Likewise.
18551 * fs/cpio.c: Likewise.
18552 * fs/hfsplus.c: Likewise.
18553 * fs/iso9660.c: Likewise.
18554 * fs/jfs.c: Likewise.
18555 * fs/minix.c: Likewise.
18556 * fs/ntfs.c: Likewise.
18557 * fs/ntfscomp.c: Likewise.
18558 * fs/reiserfs.c: Likewise.
18559 * fs/ufs.c: Likewise.
18560 * fs/xfs.c: Likewise.
18561 * gettext/gettext.c: Likewise.
18562 * include/grub/auth.h: Likewise.
18563 * kern/elf.c: Likewise.
18564 * kern/file.c: Likewise.
18565 * kern/ieee1275/init.c: Likewise.
18566 * kern/ieee1275/mmap.c: Likewise.
18567 * kern/ieee1275/openfw.c: Likewise.
18568 * kern/powerpc/dl.c: Likewise.
18569 * kern/sparc64/dl.c: Likewise.
18570 * lib/arg.c: Likewise.
18571 * loader/i386/bsd.c: Likewise.
18572 * loader/i386/bsdXX.c: Likewise.
18573 * loader/i386/efi/linux.c: Likewise.
18574 * loader/i386/efi/xnu.c: Likewise.
18575 * loader/i386/ieee1275/linux.c: Likewise.
18576 * loader/i386/linux.c: Likewise.
18577 * loader/i386/multiboot.c: Likewise.
18578 * loader/i386/pc/linux.c: Likewise.
18579 * loader/i386/pc/multiboot2.c: Likewise.
18580 * loader/i386/xnu.c: Likewise.
18581 * loader/ieee1275/multiboot2.c: Likewise.
18582 * loader/macho.c: Likewise.
18583 * loader/machoXX.c: Likewise.
18584 * loader/multiboot2.c: Likewise.
18585 * loader/multiboot_loader.c: Likewise.
18586 * loader/powerpc/ieee1275/linux.c: Likewise.
18587 * loader/sparc64/ieee1275/linux.c: Likewise.
18588 * loader/xnu.c: Likewise.
18589 * loader/xnu_resume.c: Likewise.
18590 * mmap/i386/pc/mmap.c: Likewise.
18591 * normal/menu_viewer.c: Likewise.
18592 * partmap/acorn.c: Likewise.
18593 * partmap/amiga.c: Likewise.
18594 * partmap/apple.c: Likewise.
18595 * script/lexer.c: Likewise.
18596 * term/gfxterm.c: Likewise.
18597 * term/i386/pc/serial.c: Likewise.
18598 * term/i386/pc/vga.c: Likewise.
18599 * term/ieee1275/ofconsole.c: Likewise.
18600 * term/terminfo.c: Likewise.
18601 * video/bitmap.c: Likewise.
18602 * video/efi_gop.c: Likewise.
18603 * video/efi_uga.c: Likewise.
18604 * video/fb/video_fb.c: Likewise.
18605 * video/i386/pc/vbe.c: Likewise.
18606 * video/readers/tga.c: Likewise.
18607 * video/video.c: Likewise.
18608
18609 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
18610
18611 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
18612 * commands/lspci.c: Likewise.
18613 * commands/probe.c: Likewise.
18614 * commands/xnu_uuid.c: Likewise.
18615 * conf/i386-coreboot.rmk: Likewise.
18616 * conf/i386-efi.rmk: Likewise.
18617 * conf/i386-ieee1275.rmk: Likewise.
18618 * conf/i386-pc.rmk: Likewise.
18619 * conf/powerpc-ieee1275.rmk: Likewise.
18620 * conf/sparc64-ieee1275.rmk: Likewise.
18621 * conf/x86_64-efi.rmk: Likewise.
18622 * fs/i386/pc/pxe.c: Likewise.
18623 * gettext/gettext.c: Likewise.
18624 * include/grub/efi/graphics_output.h: Likewise.
18625 * include/grub/i386/pc/memory.h: Likewise.
18626 * kern/env.c: Likewise.
18627 * kern/i386/qemu/startup.S: Likewise.
18628 * lib/i386/pc/biosnum.c: Likewise.
18629 * lib/i386/relocator.c: Likewise.
18630 * lib/i386/relocator_asm.S: Likewise.
18631 * lib/relocator.c: Likewise.
18632 * loader/i386/bsd.c: Likewise.
18633 * loader/i386/multiboot.c: Likewise.
18634 * loader/i386/pc/chainloader.c: Likewise.
18635 * loader/i386/xnu.c: Likewise.
18636 * loader/xnu.c: Likewise.
18637 * normal/main.c: Likewise.
18638 * normal/menu_text.c: Likewise.
18639 * util/getroot.c: Likewise.
18640 * util/grub-mkconfig_lib.in: Likewise.
18641 * util/grub.d/00_header.in: Likewise.
18642 * util/i386/pc/grub-mkimage.c: Likewise.
18643 * util/mkisofs/eltorito.c: Likewise.
18644 * util/mkisofs/exclude.h: Likewise.
18645 * util/mkisofs/hash.c: Likewise.
18646 * util/mkisofs/iso9660.h: Likewise.
18647 * util/mkisofs/joliet.c: Likewise.
18648 * util/mkisofs/mkisofs.c: Likewise.
18649 * util/mkisofs/mkisofs.h: Likewise.
18650 * util/mkisofs/multi.c: Likewise.
18651 * util/mkisofs/name.c: Likewise.
18652 * util/mkisofs/rock.c: Likewise.
18653 * util/mkisofs/tree.c: Likewise.
18654 * util/mkisofs/write.c: Likewise.
18655 * video/efi_gop.c: Likewise.
18656
18657 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
18658
18659 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
18660 size counting.
18661
18662 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18663
18664 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
18665 * genmk.rb (class SCRIPT): Modify the target file instead of source.
18666
18667 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18668
18669 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
18670 (GRUB_MOD_INIT(memrw)): Update help line.
18671
18672 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18673
18674 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
18675 Use grub_extcmd_t. All users updated.
18676 (options): New variable.
18677 (grub_cmd_read): Restructure for readability. Support "-v" option.
18678 (grub_cmd_write): Restructure for readability.
18679
18680 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18681
18682 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
18683
18684 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18685
18686 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
18687 with the actual contents of the correspondending make variable.
18688 * util/grub-mkrescue.in (pkglib_DATA): New variable.
18689 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
18690 specifying `*.lst' and `efiemu??.o'
18691
18692 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18693
18694 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
18695 after function name.
18696 Noticed by Rene Engelhard <rene@debian.org>.
18697
18698 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18699
18700 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
18701 (options): New variable.
18702 (iospace): Likewise.
18703 (grub_lspci_iter): List IO spaces if "-i" was given.
18704 (grub_cmd_lspci): Parse options.
18705 (GRUB_MOD_INIT(lspci)): Use extcmd.
18706 (GRUB_MOD_FINI(lspci)): Likewise.
18707
18708 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18709
18710 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
18711 `function' keyword.
18712 Patch by Tony Mancill <tmancill@debian.org>.
18713
18714 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18715
18716 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
18717 (grub_uhci_portstatus): Likewise.
18718 (grub_uhci_portstatus): Add necessary delay.
18719 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
18720
18721 2009-12-21 Carles Pina i Estany <carles@pina.cat>
18722
18723 * commands/acpi.c (options): Fix capitalizations and/or full stops.
18724 (GRUB_MOD_INIT): Likewise.
18725 * commands/boot.c (GRUB_MOD_INIT): Likewise.
18726 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
18727 * commands/echo.c (options): Fix capitalizations and/or full stops.
18728 * commands/efi/loadbios.c (enable_rom_area): Likewise.
18729 (enable_rom_area): Likewise.
18730 (GRUB_MOD_INIT): Likewise.
18731 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
18732 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
18733 * commands/handler.c (GRUB_MOD_INIT): Likewise.
18734 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
18735 * commands/hexdump.c (options): Likewise.
18736 * commands/i386/cpuid.c (options): Likewise.
18737 (GRUB_MOD_INIT): Likewise.
18738 * commands/i386/pc/drivemap.c (options): Likewise.
18739 (GRUB_MOD_INIT): Likewise.
18740 * commands/i386/pc/halt (options): Likewise.
18741 (GRUB_MOD_INIT): Likewise.
18742 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
18743 * commands/i386/pc/pxecmd.c (options): Likewise.
18744 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
18745 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
18746 * commands/keystatus.c (options): Likewise.
18747 (GRUB_MOD_INIT): Likewise.
18748 * commands/loadenv.c (options): Likewise.
18749 * commands/ls.c (options): Likewise.
18750 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
18751 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
18752 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
18753 * commands/parttool.c (helpmsg): Likewise.
18754 * commands/probe.c (options): Likewise.
18755 * commands/read.c (GRUB_MOD_INIT): Likewise.
18756 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
18757 * commands/search.c (options): Likewise.
18758 * commands/sleep.c (options): Likewise.
18759 * commands/test.c (GRUB_MOD_INIT): Likewise.
18760 * commands/true.c (GRUB_MOD_INIT): Likewise.
18761 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
18762 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
18763 * lib/arg.c (help_options): Likewise.
18764 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
18765 `$(XGETTEXT)'.
18766 * po/POTFILES: Add `commands/loadenv.c'.
18767
18768 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
18769
18770 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
18771 instead of specifying them explicit.
18772
18773 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18774
18775 * NEWS: Add grub-probe support for GNU/Hurd.
18776
18777 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18778
18779 * NEWS: gettext was added after 1.97.
18780
18781 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18782
18783 * util/mkisofs/msdos_partition.h: New file (based on
18784 include/grub/msdos_partition.h).
18785 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
18786 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
18787 (ld_options, main): Recognize --protective-msdos-label.
18788 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
18789 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
18790 (padblock_write): If `use_protective_msdos_label' is set, patch a
18791 protective DOS-style label in the output image.
18792
18793 * util/grub-mkrescue.in: Use --protective-msdos-label.
18794
18795 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18796
18797 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
18798 boot.
18799
18800 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18801
18802 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
18803 variables.
18804 (ld_options, main): Recognize `--embedded-boot'.
18805 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
18806 declarations.
18807 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
18808 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
18809 (padblock_write): Likewise. Rewrite to support embedded boot image.
18810
18811 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
18812 for BIOS-based disk boot instead of only ElTorito.
18813
18814 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18815
18816 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
18817 build (not needed for bootstrap).
18818
18819 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18820
18821 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
18822 from i386-pc build (not needed for bootstrap).
18823 Rewrite a pair of strings.
18824
18825 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18826
18827 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
18828
18829 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
18830
18831 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
18832
18833 2009-12-21 Andreas Born <futur.andy@googlemail.com>
18834
18835 * kern/env.c (grub_env_context_open): Mark exported variable for
18836 reexport.
18837
18838 2009-12-21 Andreas Born <futur.andy@googlemail.com>
18839
18840 * kern/env.c (grub_env_export): Create nonexistent variables before
18841 exporting.
18842
18843 2009-12-20 Carles Pina i Estany <carles@pina.cat>
18844
18845 * include/grub/auth.h: Include `<grub/i18n.h>'.
18846 (GRUB_GET_PASSWORD): Gettextizze string.
18847 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
18848 menu_text.c.
18849 (grub_utf8_to_ucs4_alloc): Fix indentation.
18850 (grub_print_ucs4): Likewise.
18851 (grub_getstringwidth): Likewise.
18852 (print_message_indented): New declaration.
18853 * normal/auth.c: Include `<grub/i18n.h>'.
18854 (grub_auth_check_authentication): Gettexttize string.
18855 * normal/cmdline.c: Include `<grub/i18n.h>'.
18856 (grub_cmdline_get): Gettextizze.
18857 * normal/color.c: Include `<grub/i18n.h>'.
18858 (grub_parse_color_name_pair): Gettexttize strings.
18859 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
18860 string (use `print_message_indented').
18861 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
18862 `include/grub/normal.h'.
18863 (print_message_indented): Renamed to ...
18864 (grub_print_message_indented): ... this. Remove `static' qualifer (now
18865 used in normal/main.c).
18866 (print_message): Use `grub_print_message_indented' instead of
18867 `print_message_indented'.
18868 (print_timeout): Likewise.
18869 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
18870 (grub_normal_print_device_info): Gettexttize strings.
18871 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
18872
18873 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18874
18875 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
18876 of arguments. Return number of tokens and not arguments. All users
18877 updated.
18878
18879 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18880
18881 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
18882 non-MSDOS paritions.
18883
18884 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18885
18886 * include/grub/types.h (UNUSED): Removed since it conflicts with
18887 NetBSD headers. All users changed to direct __attribute__ ((unused)).
18888 Reported by Grégoire Sutre.
18889
18890 2009-12-19 Carles Pina i Estany <carles@pina.cat>
18891
18892 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
18893 (grub_print_ucs4_alloc): Likewise.
18894 (grub_getstringwidth): Likewise.
18895 * normal/main.c (grub_normal_init_page): Gettextize version string.
18896 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
18897 (getstringwidth): Renamed to ...
18898 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
18899 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
18900 (grub_print_ucs4): Remove `static' qualifer (now used in
18901 normal/main.c).
18902 * po/POTFILES: Add normal/main.c.
18903
18904 2009-12-19 Carles Pina i Estany <carles@pina.cat>
18905
18906 * normal/menu_text.c (STANDARD_MARGIN): New macro.
18907 (print_message_indented): Add `margin_left' and `margin_right'
18908 parameters.
18909 (print_message): Update `print_message_indented' calls. Adds '\n' to the
18910 strings.
18911 (print_timeout): Use `print_message_indented' to print the message.
18912 Deletes `second_stage' parameter.
18913 (run_menu): Update `print_timeout' calls.
18914
18915 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18916
18917 Fix console palette on OpenFirmware.
18918
18919 * term/ieee1275/ofconsole.c (MAX): Removed.
18920 (colors): Redone based on VGA palette.
18921 (grub_ofconsole_setcolor): Discard brightness bit since only 8
18922 colors are supported.
18923 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
18924
18925 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18926
18927 Fix potential EfiEmu double prepare.
18928
18929 * efiemu/main.c (prepared): New variable
18930 (grub_efiemu_unload): Set prepare to '0'.
18931 (grub_efiemu_prepare): Return if already prepared. Set prepared.
18932
18933 set_virtual_address_map support.
18934
18935 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
18936 prototype.
18937 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
18938 prototype.
18939 (grub_efiemu_crc32): Likewise.
18940 (grub_efiemu_crc64): Likewise.
18941 (grub_efiemu_set_virtual_address_map): Likewise.
18942 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
18943 New definition.
18944 (grub_autoefi_set_virtual_address_map): Likewise.
18945 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
18946 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
18947 Restructure flow to accomodate it.
18948 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
18949 (grub_efiemu_crc): Recompute CRC32.
18950 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
18951 (efiemu_ptv_relocated): ... this. Made global. All users updated.
18952 * efiemu/symbols.c (relocated_handle): New variable.
18953 (grub_efiemu_free_syms): Free relocated_handle.
18954 (grub_efiemu_alloc_syms): Allocate relocated_handle.
18955 (grub_efiemu_write_sym_markers): New function.
18956 (grub_efiemu_set_virtual_address_map): Likewise.
18957
18958 Newer XNU parameters.
18959
18960 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
18961 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
18962 (grub_xnu_fill_devicetree): New prototype.
18963 (grub_xnu_heap_real_start): New variable.
18964 * loader/xnu.c (get_name_ptr): New function.
18965 (grub_xnu_load_driver): Fill namelen and name.
18966
18967 64-bit xnu support.
18968
18969 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
18970 and 'loader/macho64.c'.
18971 * conf/i386-pc.rmk: Likewise.
18972 * conf/x86_64-efi.rmk: Likewise.
18973 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
18974 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
18975 * include/grub/macho.h (grub_macho_segment64): New structure.
18976 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
18977 (grub_macho_size32): ... to this.
18978 (grub_macho32_get_entry_point): Renamed from ...
18979 (grub_macho_get_entry_point32): ... to this.
18980 (grub_macho_contains_macho64): New prototype.
18981 (grub_macho_size64): Likewise.
18982 (grub_macho_get_entry_point64): Likewise.
18983 (grub_macho32_load): Renamed from ...
18984 (grub_macho_load32): ... to this.
18985 (grub_macho32_filesize): Renamed from ...
18986 (grub_macho_filesize32): ... to this.
18987 (grub_macho32_readfile): Renamed from ...
18988 (grub_macho_readfile32): ... to this.
18989 (grub_macho_filesize64): New prototype.
18990 (grub_macho_readfile64): Likewise.
18991 (grub_macho_parse32): Likewise.
18992 (grub_macho_parse64): Likewise.
18993 * loader/macho.c: Split into ...
18994 * loader/machoXX.c: ... and this. Replace 32 with XX.
18995 * loader/macho32.c: New file.
18996 * loader/macho64.c: Likewise.
18997 * loader/xnu.c (grub_xnu_is_64bit): New variable.
18998 (grub_cmd_xnu_kernel): Make 32-bit only.
18999 (grub_cmd_xnu_kernel64): New function.
19000 (grub_xnu_load_driver): Support Mach-O 64.
19001 (grub_cmd_xnu_mkext): Likewise.
19002 * util/grub.d/30_os-prober.in (osx_entry): New function.
19003 Generate entries for 64-bit boot too.
19004
19005 Eliminate ad-hoc tree format in XNU and EfiEmu.
19006
19007 * efiemu/main.c (grub_efiemu_prepare): Update comment.
19008 * efiemu/pnvram.c: Rewritten to use environment variables.
19009 All users updated.
19010
19011 Inline utf16_to_utf8.
19012
19013 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
19014 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
19015 All users updated.
19016 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
19017
19018 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
19019 * commands/usbtest.c (grub_usb_get_string): ... move here.
19020 (usb_print_str): Fix error handling.
19021 * include/grub/usb.h (grub_usb_get_string): Remove.
19022
19023 UTF-8 to UTF-16 transformation.
19024
19025 * conf/common.rmk (pkglib_MODULES): Add charset.mod
19026 (charset_mod_SOURCES): New variable.
19027 (charset_mod_CFLAGS): Likewise.
19028 (charset_mod_LDFLAGS): Likewise.
19029 * include/grub/utf.h: New file.
19030 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
19031
19032 Support for device properties.
19033
19034 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
19035 (grub_xnu_devprop_device_header): Likewise.
19036 (grub_xnu_devprop_device_descriptor): Likewise.
19037 (grub_xnu_devprop_add_device): New prototype.
19038 (grub_xnu_devprop_remove_device): Likewise.
19039 (grub_xnu_devprop_remove_property): Likewise.
19040 (grub_xnu_devprop_add_property_utf8): Likewise.
19041 (grub_xnu_devprop_add_property_utf16): Likewise.
19042 (grub_cpu_xnu_init): Likewise.
19043 (grub_cpu_xnu_fini): Likewise.
19044 (grub_cpu_xnu_unload): Likewise.
19045 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
19046 (property_descriptor): Likewise.
19047 (devices): New variable.
19048 (grub_xnu_devprop_remove_property): New function.
19049 (grub_xnu_devprop_add_device): Likewise.
19050 (grub_xnu_devprop_remove_device): Likewise.
19051 (grub_xnu_devprop_add_property): Likewise.
19052 (grub_xnu_devprop_add_property_utf8): Likewise.
19053 (grub_xnu_devprop_add_property_utf16): Likewise.
19054 (hextoval): Likewise.
19055 (grub_cpu_xnu_fill_devprop): Likewise.
19056 (grub_cmd_devprop_load): Likewise.
19057 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
19058 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
19059 (cmd_devprop_load): New variable.
19060 (grub_cpu_xnu_init): New function.
19061 (grub_cpu_xnu_fini): Likewise.
19062 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
19063 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
19064 (grub_cmd_xnu_devtree): Likewise.
19065 (hextoval): New function.
19066 (unescape): Likewise.
19067 (grub_xnu_fill_devicetree): Likewise.
19068
19069 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
19070 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
19071
19072 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19073
19074 Workaround for broken ATI VBE.
19075
19076 * video/i386/pc/vbe.c (last_set_mode): New variable.
19077 (grub_vbe_set_video_mode): Set 'last_set_mode'.
19078 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
19079 (grub_video_vbe_setup): Don't check for reserved flag.
19080
19081 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
19082
19083 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
19084 the `find' command.
19085
19086 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
19087
19088 UUID support for HFS.
19089
19090 * fs/hfs.c (grub_hfs_uuid): New function.
19091 (grub_hfs_fs): New value .uuid.
19092 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
19093
19094 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
19095
19096 Fix a segfault with parsing unknown long options.
19097
19098 * util/grub-mkrelpath.c (options): Zero terminate it.
19099
19100 2009-12-13 Carles Pina i Estany <carles@pina.cat>
19101
19102 * include/grub/misc.h (grub_puts): New declaration.
19103 (grub_puts_): Likewise.
19104 * kern/misc.c (grub_puts): New definition.
19105 (grub_puts_): Likewise.
19106
19107 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
19108
19109 * util/grub-probe.c (probe): Improve error message.
19110
19111 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
19112
19113 * loader/i386/multiboot_elfxx.c
19114 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
19115 initialization.
19116
19117 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
19118
19119 Relocator framework
19120
19121 * loader/i386/xnu_helper.S: Removed. All users updated.
19122 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
19123 (relocator_mod_SOURCES): New variable.
19124 (relocator_mod_CFLAGS): Likewise.
19125 (relocator_mod_LDFLAGS): Likewise.
19126 (relocator_mod_ASFLAGS): Likewise.
19127 * conf/x86_64.rmk: Likewise.
19128 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
19129 (grub_multiboot_payload_entry_offset): Likewise.
19130 (grub_multiboot_forward_relocator): Likewise.
19131 (grub_multiboot_forward_relocator_end): Likewise.
19132 (grub_multiboot_backward_relocator): Likewise.
19133 (grub_multiboot_backward_relocator_end): Likewise.
19134 (grub_multiboot_payload_eip): New variable.
19135 (grub_multiboot_payload_orig): Likewise.
19136 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
19137 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
19138 * include/grub/i386/memory.h
19139 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
19140 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
19141 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
19142 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
19143 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
19144 * include/grub/i386/relocator.h: New file.
19145 * include/grub/x86_64/relocator.h: Likewise.
19146 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
19147 (XNU_RELOCATOR): New macro.
19148 (grub_xnu_launcher_start): Remove.
19149 (grub_xnu_launcher_end): Likewise.
19150 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
19151 (grub_xnu_heap_real_start): Remove.
19152 (grub_xnu_heap_start): Change to void *. All users updated.
19153 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
19154 * lib/i386/relocator.c: New file.
19155 * lib/i386/relocator_asm.S: Likewise.
19156 * lib/i386/relocator_backward.S: Likewise.
19157 * lib/mips/relocator.c: Likewise.
19158 * lib/mips/relocator_asm.S: Likewise.
19159 * lib/relocator.c: Likewise.
19160 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
19161 (entry): Removed.
19162 (playground): Likewise.
19163 (grub_multiboot_payload_orig): New variable.
19164 (grub_multiboot_payload_dest): Likewise.
19165 (grub_multiboot_payload_size): Likewise.
19166 (grub_multiboot_payload_eip): Likewise.
19167 (grub_multiboot_payload_esp): Likewise.
19168 (grub_multiboot_boot): Use grub_relocator32_boot.
19169 (grub_multiboot_unload): Free relocators.
19170 (grub_multiboot): Setup stack. Use relocators.
19171 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
19172 (grub_multiboot_load_elfXX): Use relocators.
19173 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
19174 (grub_multiboot_payload_size): Likewise.
19175 (grub_multiboot_payload_dest): Likewise.
19176 (grub_multiboot_payload_entry_offset): Likewise.
19177 (grub_multiboot_forward_relocator): Likewise.
19178 (grub_multiboot_backward_relocator): Likewise.
19179 (grub_multiboot_real_boot): Likewise.
19180 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
19181 (grub_xnu_entry_point): Likewise.
19182 (grub_xnu_arg1): Likewise.
19183 (grub_xnu_stack): Likewise.
19184 (grub_xnu_launch): Removed.
19185 (grub_xnu_boot_resume): New function.
19186 (grub_xnu_boot): Use relocators.
19187 * loader/i386/xnu_helper.S: Removed.
19188 * loader/xnu.c (grub_xnu_heap_start): New variable.
19189 (grub_xnu_heap_size): Likewise.
19190 (grub_xnu_heap_malloc): Use relocators.
19191 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
19192
19193 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
19194
19195 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
19196 anything.
19197
19198 2009-12-13 Carles Pina i Estany <carles@pina.cat>
19199
19200 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
19201 GRUB_ERR_NONE before calling grub_env_set.
19202
19203 2009-12-12 Robert Millan <rmh@aybabtu.com>
19204
19205 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
19206 * genmk.rb (video): New variable.
19207 (CLEANFILES, VIDEOFILES): Add #{video}.
19208 (#{video}): New target rule.
19209 * genvideolist.sh: New file.
19210 * Makefile.in (pkglib_DATA): Add video.lst.
19211 (video.lst): New target rule.
19212 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
19213 `video.lst'.
19214 * util/grub.d/30_os-prober.in: Replace `vbe' with
19215 ${GRUB_VIDEO_BACKEND}.
19216
19217 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
19218
19219 * THANKS: Add David Miller.
19220
19221 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
19222
19223 libpciaccess support.
19224
19225 * Makefile.in (LIBPCIACCESS): New variable.
19226 (enable_grub_emu_pci): Likewise.
19227 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
19228 util/pci.c and commands/lspci.c.
19229 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
19230 * configure.ac (grub-emu-pci): New option.
19231 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
19232 (grub_pci_device_unmap_range): Likewise.
19233 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
19234 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
19235 (grub_pci_address_t) [!GRUB_UTIL]: New type.
19236 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
19237 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
19238 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
19239 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
19240 * include/grub/pciutils.h: New file.
19241 * util/pci.c: Likewise.
19242
19243 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
19244
19245 * util/misc.c: Don't include <errno.h> twice.
19246
19247 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
19248
19249 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
19250 name in an error message.
19251 (grub_biosdisk_rw): Likewise.
19252
19253 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19254
19255 Eliminate NTFS 4Gib barrier.
19256
19257 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
19258 (read_run_data): Likewise.
19259 (grub_ntfs_read_run_list): Likewise.
19260 (grub_ntfs_read_block): Likewise.
19261 (grub_ntfs_iterate_dir): Likewise.
19262 (read_mft): Likewise.
19263 (read_data): Likewise.
19264 Use COM_LOG_LEN.
19265 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
19266 to avoid 64-bit division
19267 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
19268 (grub_ntfs_rlst): Use grub_disk_addr_t.
19269
19270 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19271
19272 Eliminate grub-fstest 4Gib barrier.
19273
19274 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
19275 (read_file): Fix error reporting.
19276
19277 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19278
19279 Eliminate hexdump 4Gib barrier.
19280
19281 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
19282 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
19283
19284 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19285
19286 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
19287 Fixes amarsh bug.
19288
19289 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
19290
19291 Remove miscellaneous files in distclean target.
19292
19293 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
19294
19295 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
19296
19297 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
19298 if they're already set. This resolves the conflict between my
19299 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
19300 fixing the --grub-probe option again.
19301 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
19302 change on 2009-10-06, so that we now once again source
19303 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
19304
19305 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
19306
19307 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
19308 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
19309 `util/devicemap.c'.
19310
19311 2009-12-08 Carles Pina i Estany <carles@pina.cat>
19312
19313 * include/grub/misc.h (grub_printf_): New declaration.
19314 * kern/misc.c (grub_printf_): New definition.
19315 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
19316 instead of `grub_printf' and `_'.
19317 * normal/menu_entry.c (store_completion): Likewise.
19318 (run): Likewise.
19319 (grub_menu_entry_run): Likewise.
19320 * normal/menu_text.c (grub_wait_after_message): Likewise.
19321 (notify_booting): Likewise.
19322 (notify_fallback): Likewise.
19323 (notify_execution_failure): Likewise.
19324
19325 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
19326
19327 * configure.ac: Check for vasprintf.
19328 * util/misc.c (asprintf): Move allocation from here ...
19329 (vasprintf): ... to here. New function.
19330 (xasprintf): New function.
19331 * include/grub/util/misc.h (vasprintf, xasprintf): Add
19332 prototypes.
19333 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
19334 * util/grub-mkfont.c (write_font): Likewise.
19335 * util/grub-probe.c (probe): Likewise.
19336 * util/hostdisk.c (make_device_name): Likewise.
19337
19338 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
19339
19340 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
19341 anything even prefixed with 'cdrom' as a cdrom.
19342
19343 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
19344
19345 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
19346 mount points.
19347
19348 2009-12-05 Carles Pina i Estany <carles@pina.cat>
19349
19350 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
19351 grub_gettext_msg_list.
19352 (grub_gettext_gettranslation_from_position): Return const char *
19353 and not char *.
19354 (grub_gettext_translate): Add the translated strings into a list,
19355 returns from the list if existing there.
19356 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
19357 (grub_gettext_delete_list): Delete the list.
19358 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
19359 lang environment variable is changed.
19360 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
19361
19362 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
19363
19364 Rename kernel.mod to kernel.img.
19365
19366 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
19367 (kernel_mod_EXPORTS): Rename to ...
19368 (kernel_img_EXPORTS): ... this.
19369 (kernel_mod_SOURCES): Rename to ...
19370 (kernel_img_SOURCES): ... this.
19371 (kernel_mod_HEADERS): Rename to ...
19372 (kernel_img_HEADERS): ... this. All users updated.
19373 (kernel_mod_CFLAGS): Rename to ...
19374 (kernel_img_CFLAGS): ... this.
19375 (kernel_mod_ASFLAGS): Rename to ...
19376 (kernel_img_ASFLAGS): ... this.
19377 (kernel_mod_LDFLAGS): Rename to ...
19378 (kernel_img_LDFLAGS): ... this.
19379 * conf/x86_64-efi.rmk: Likewise.
19380 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
19381 (read_kernel_image): ... this. All users updated.
19382 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
19383
19384 2009-12-05 Carles Pina i Estany <carles@pina.cat>
19385
19386 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
19387 (print_spaces): New function.
19388 (grub_print_ucs4): New function.
19389 (getstringwidth): New function.
19390 (print_message_indented): New function.
19391 (print_message): Gettexttize strings using print_message_indented.
19392 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
19393 width.
19394 (get_entry_number): Gettextize and uses dynamic terminal width.
19395 (notify_booting, notify_fallback, notify_execution_failure):
19396 Gettextize.
19397 * normal/menu_entry.c (store_completion): Cleanup the gettextized
19398 string.
19399 (run): Likewise.
19400 (grub_menu_entry_run): Likewise.
19401 * PO/POTFILES: Add normal/menu_entry.c.
19402
19403 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
19404
19405 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
19406
19407 2009-12-05 Carles Pina i Estany <carles@pina.cat>
19408
19409 * util/grub-install.in: Install gettext .mo files.
19410 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
19411
19412 2009-12-05 Carles Pina i Estany <carles@pina.cat>
19413
19414 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
19415 grub_dprintf.
19416
19417 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
19418
19419 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
19420 non-firmware-dependant one in realmode.S takes precedence.
19421
19422 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
19423
19424 * commands/halt.c: Replace misc arch-specific headers with
19425 `<grub/misc.h>'.
19426 * commands/reboot.c: Likewise.
19427 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
19428 `<grub/misc.h>'.
19429 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
19430 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
19431 (kernel_img_SOURCES): ... to here.
19432
19433 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
19434 * include/grub/i386/pc/init.h: Likewise.
19435 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
19436 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19437
19438 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
19439
19440 * include/grub/i386/halt.h: Remove.
19441 * include/grub/i386/reboot.h: Likewise.
19442
19443 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
19444
19445 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
19446
19447 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
19448 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
19449 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
19450 "progname.h"
19451 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
19452 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19453 (usage): Add missing comma in printf.
19454
19455 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
19456
19457 Use the same reboot approach on i386 coreboot and qemu as we do on
19458 BIOS.
19459
19460 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
19461 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
19462 * kern/i386/reboot.c: Remove.
19463 * include/grub/i386/reboot.h (grub_reboot): Export function.
19464 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
19465 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
19466 0xf000:0xfff0 instead of 0xffff:0x0000.
19467 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
19468 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
19469
19470 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
19471
19472 Fix $srcdir != $objdir build.
19473
19474 * Makefile.in (po/%.po): Rewrite as ...
19475 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
19476
19477 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
19478
19479 Fix GNU/Hurd grub-install crash.
19480 * util/grub-probe.c (probe): Try to access `path' only when it is not
19481 NULL.
19482
19483 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19484
19485 Correct module naming.
19486
19487 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
19488 (GRUB_MOD_INIT(efi_uga)): ... to this
19489 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
19490 (GRUB_MOD_FINI(efi_uga)): ... to this
19491 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
19492 (GRUB_MOD_INIT(efi_gop)): ... to this
19493 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
19494 (GRUB_MOD_FINI(efi_gop)): ... to this
19495
19496 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
19497
19498 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
19499 translatable.
19500 (usage): Translate `arg' strings using gettext().
19501 Thanks to Jordi Mallach for the suggestion.
19502
19503 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19504
19505 GOP support. Based on patch from Bean
19506 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
19507
19508 * video/efi_gop.c: New file.
19509 * include/grub/efi/graphics_output.h: Likewise.
19510 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
19511 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
19512 variables.
19513 * conf/x86_64-efi.rmk: Likewise.
19514
19515 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19516
19517 Rename efi_fb to efi_uga.
19518
19519 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
19520 'efi_uga.mod'.
19521 (efi_fb_mod_SOURCES): Rename this ...
19522 (efi_uga_mod_SOURCES): ... to this.
19523 (efi_fb_mod_CFLAGS): Rename this ...
19524 (efi_uga_mod_CFLAGS): ... to this.
19525 (efi_fb_mod_LDFLAGS): Rename this ...
19526 (efi_uga_mod_LDFLAGS): ... to this.
19527 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
19528 'efi_uga.mod'.
19529 (efi_fb_mod_SOURCES): Rename this ...
19530 (efi_uga_mod_SOURCES): ... to this.
19531 (efi_fb_mod_CFLAGS): Rename this ...
19532 (efi_uga_mod_CFLAGS): ... to this.
19533 (efi_fb_mod_LDFLAGS): Rename this ...
19534 (efi_uga_mod_LDFLAGS): ... to this.
19535 * video/efi_fb.c: Move this ...
19536 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
19537
19538 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19539
19540 * po/README: New file. Explain our PO file workflow.
19541
19542 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19543
19544 * po/ChangeLog: Remove. Move relevant entries back to ...
19545 * ChangeLog: ... here.
19546 * po/ca.po: Remove (now handled by TLP).
19547 * po/id.po: Likewise.
19548 * po/zh_CN.po: Likewise.
19549 * Makefile.in (LINGUAS): Initialize in a way that supports
19550 empty set.
19551
19552 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19553
19554 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
19555 reliing on po/LINGUAS.
19556 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
19557 (po/%.po): ... this.
19558
19559 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
19560
19561 * util/i386/efi/grub-mkimage.c: Include "progname.h".
19562 (main): Use `program_name' instead of nonexistent `progname'.
19563
19564 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
19565
19566 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19567 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
19568
19569 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
19570
19571 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
19572 commit.
19573 * conf/i386-efi.rmk: Likewise.
19574 * conf/i386-ieee1275.rmk: Likewise.
19575 * conf/powerpc-ieee1275.rmk: Likewise.
19576 * conf/sparc64-ieee1275.rmk: Likewise.
19577 * conf/x86_64-efi.rmk: Likewise.
19578
19579 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
19580
19581 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
19582
19583 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
19584
19585 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
19586
19587 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
19588
19589 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
19590 (grub_mkdevicemap_SOURCES): New variable.
19591 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
19592 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
19593 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
19594 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
19595 (grub_mkdevicemap_SOURCES): Remove.
19596 * conf/i386-efi.rmk: Likewise.
19597 * conf/i386-ieee1275.rmk: Likewise.
19598 * conf/i386-pc.rmk: Likewise.
19599 * conf/powerpc-ieee1275.rmk: Likewise.
19600 * conf/sparc64-ieee1275.rmk: Likewise.
19601 * conf/x86_64-efi.rmk: Likewise.
19602 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
19603 (usage): Fix strings to use `program_name'.
19604 (main): Initialize gettext.
19605 * util/grub-editenv.c: Likewise.
19606 * util/grub-emu.c: Likewise.
19607 * util/grub-fstest.c: Likewise.
19608 * util/grub-mkdevicemap.c: Likewise.
19609 * util/grub-mkfont.c: Likewise.
19610 * util/grub-mkrelpath.c: Likewise.
19611 * util/grub-pe2elf.c: Likewise.
19612 * util/grub-probe.c: Likewise.
19613 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
19614 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
19615 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19616
19617 * util/misc.c: Include `"progname.h"'.
19618 (progname): Remove variable.
19619 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
19620
19621 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
19622
19623 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
19624 printf and print a newline after the menuentry header line.
19625 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
19626
19627 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
19628
19629 autoconf >= 2.60 support $(localedir).
19630
19631 * INSTALL: Note that autoconf 2.60 is required.
19632 * configure.ac (AC_PREREQ): Bump to 2.60.
19633 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
19634 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
19635
19636 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
19637
19638 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
19639 aclocal is run.
19640
19641 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
19642
19643 * normal/main.c (grub_normal_read_line): Fix off-by-one
19644 buffer overflow.
19645
19646 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
19647
19648 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
19649 "parser.grub" in grub_command_execute() call.
19650
19651 2009-11-24 Carles Pina i Estany <carles@pina.cat>
19652
19653 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
19654 * conf/i386-efi.rmk: Likewise.
19655 * conf/i386-ieee1275.rmk: Likewise.
19656 * conf/i386-pc.rmk: Likewise.
19657 * conf/powerpc-ieee1275.rmk: Likewise.
19658 * conf/sparc64-ieee1275.rmk: Likewise.
19659 * conf/x86_64-efi.rmk: Likewise.
19660 * gettext/gettex.c: Include <grub/i18n.h>.
19661 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
19662 here ...
19663 * include/grub/i18n.h: ... to here
19664 * include/grub/i18n.h: ... to here.
19665 * kern/misc.c: Include <grub/i18n.h>
19666 (grub_gettext_dummy): Move above user.
19667
19668 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19669
19670 * util/Makefile.in (install-local): Convert a `for' into a normal
19671 shell expansion.
19672
19673 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
19674
19675 * autogen.sh: Add automake call.
19676 * config.guess: Remove.
19677 * config.sub: Likewise.
19678 * install-sh: Likewise.
19679
19680 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19681
19682 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
19683
19684 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19685
19686 * util/Makefile.in (install-local): Convert a make `$(foreach)'
19687 function to a normal shell `for'.
19688
19689 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19690
19691 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19692
19693 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19694
19695 * util/grub-mkrelpath.c: New file.
19696 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
19697 (grub_mkrelpath_SOURCES): New variable.
19698 * include/grub/util/misc.h: New function prototype.
19699 * util/misc.c (make_system_path_relative_to_its_root): New function.
19700
19701 * util/grub-mkconfig_lib.in (bindir): New variable.
19702 (grub_mkrelpath): Likewise.
19703 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
19704
19705 * util/probe.c (probe): Make the file path relative to its root.
19706 Change a info message to use the GRUB path. Enable again the
19707 check if we can read the file with GRUB facilities.
19708
19709 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
19710 to its root.
19711
19712 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19713
19714 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
19715 platform.
19716
19717 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19718
19719 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
19720 strncmp().
19721
19722 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19723
19724 * util/getroot.c (grub_util_is_dmraid): New function.
19725 (grub_util_get_dev_abstraction): Treat dmraid and multipath
19726 devices as normal ones, not as LVM.
19727
19728 2009-11-23 Carles Pina i Estany <carles@pina.cat>
19729
19730 * conf/common.rmk: Add grub-gettext_lib target and updates
19731 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
19732 LDFLAGS.
19733 * gettext/gettext.c: New file. (Reads mo files).
19734 * include/grub/file.h (grub_file_pread): New prototype.
19735 * include/grub/i18n.h (_): New prototype.
19736 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
19737 prototypes.
19738 * kern/misc.c (grub_gettext_dummy): New function.
19739 * normal/menu_text.c: Include <grub/i18n.h>.
19740 * normal/menu_text.c (print_timeout): Gettexttize string.
19741 * normal/menu_text.c (print_message): Gettexttize string.
19742 * po/POTFILES: Add `normal/menu_text.c'.
19743 * po/ca.po: Add new translations.
19744 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
19745 gettext module and defines locale_dir and lang in grub.cfg.
19746 * NEWS: Add gettext support.
19747
19748 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19749
19750 * util/hostdisk.c: Include `<grub/i18n.h>'.
19751 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
19752 (make_device_name): Rewrite using asprintf.
19753 (convert_system_partition_to_system_disk): Replace 0 with NULL.
19754 (find_system_device): If a device is not found, generate one just
19755 by reusing the OS path name.
19756 (read_device_map): Make it permissible for device.map not to exist.
19757
19758 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19759
19760 * script/sh/execute.c: Move from here ...
19761 * script/execute.c: ... to here. Update all users.
19762 * script/sh/function.c: Move from here ...
19763 * script/function.c: ... to here. Update all users.
19764 * script/sh/lexer.c: Move from here ...
19765 * script/lexer.c: ... to here. Update all users.
19766 * script/sh/main.c: Move from here ...
19767 * script/main.c: ... to here. Update all users.
19768 * script/sh/parser.y: Move from here ...
19769 * script/parser.y: ... to here. Update all users.
19770 * script/sh/script.c: Move from here ...
19771 * script/script.c: ... to here. Update all users.
19772
19773 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19774
19775 * configure.ac: Detect all `emu' platforms. Define
19776 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
19777 --enable-grub-emu logic. Disable include/grub/machine
19778 symlink on `emu' platforms.
19779
19780 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
19781 * gensymlist.sh.in: Likewise.
19782
19783 * include/grub/i386/coreboot/machine.h: Remove file.
19784 * include/grub/i386/efi/machine.h: Likewise.
19785 * include/grub/i386/ieee1275/machine.h: Likewise.
19786 * include/grub/i386/pc/machine.h: Likewise.
19787 * include/grub/i386/qemu/machine.h: Likewise.
19788 * include/grub/powerpc/ieee1275/machine.h: Likewise.
19789 * include/grub/sparc64/ieee1275/machine.h: Likewise.
19790 * include/grub/x86_64/efi/machine.h: Likewise.
19791
19792 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
19793 * commands/halt.c: Likewise.
19794 * commands/reboot.c: Likewise.
19795 * include/grub/autoefi.h: Likewise.
19796 * include/grub/i386/at_keyboard.h: Likewise.
19797 * include/grub/i386/kernel.h: Likewise.
19798 * include/grub/i386/loader.h: Likewise.
19799 * include/grub/i386/pc/memory.h: Likewise.
19800 * kern/dl.c: Likewise.
19801 * kern/i386/coreboot/init.c: Likewise.
19802 * loader/i386/bsd.c: Likewise.
19803 * loader/i386/linux.c: Likewise.
19804 * loader/multiboot_loader.c: Likewise.
19805 * term/i386/pc/serial.c: Likewise.
19806 * term/usb_keyboard.c: Likewise.
19807
19808 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
19809 `<grub/machine/machine.h>'
19810 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
19811 * util/misc.c: Remove `<grub/machine/machine.h>' and
19812 `<grub/machine/time.h>'.
19813
19814 * Makefile.in (enable_grub_emu): Remove variable.
19815 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
19816
19817 * conf/any-emu.rmk: New file.
19818 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
19819 (grub_emu_init.c): Move from here ...
19820 * conf/any-emu.rmk: ... to here.
19821
19822 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
19823 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
19824 * conf/any-emu.rmk: ... to here.
19825
19826 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19827
19828 * include/grub/parser.h (grub_parser_register): Document need
19829 of `name' parameter.
19830 * normal/main.c (grub_normal_read_line): Simplify prompt string.
19831 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
19832 "sh" to "grub".
19833
19834 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19835
19836 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
19837 `$(XGETTEXT)'.
19838 * include/grub/i18n.h (N_): New macro.
19839 * util/mkisofs/mkisofs.h: Likewise.
19840 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
19841 around N_().
19842 (usage): Use gettext() to translate help strings when printing them.
19843
19844 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19845
19846 Based on patch from Bean
19847 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
19848
19849 * video/efi_fb.c: New file.
19850 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
19851 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
19852 variables.
19853 * conf/x86_64-efi.rmk: Likewise.
19854
19855 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
19856
19857 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
19858 * util/i386/pc/grub-setup.c: Likewise.
19859
19860 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
19861
19862 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
19863 <hurd/fs.h>
19864 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
19865 file_get_storage_info to implement grub_guess_root_device.
19866
19867 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
19868
19869 * Makefile.in (target): Use make's builtin $(shell) function
19870 instead of calling directly $(SHELL) to create the locale directories,
19871 inside the $(foreach) function.
19872
19873 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
19874
19875 * util/grub-mkrescue.in: Print an error and usage if output option
19876 has not been given.
19877
19878 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
19879
19880 Patch from Loïc Minier <loic.minier@ubuntu.com>.
19881 * util/grub.d/30_os-prober.in: Cope with Linux entries where
19882 root and /boot are on different devices.
19883
19884 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19885
19886 Fix build for srcdir != objdir.
19887
19888 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
19889 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
19890 $(srcdir).
19891 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
19892 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
19893 reference for input.
19894
19895 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19896
19897 * util/grub-mkrescue.in: Use source directory direcly (without copiing
19898 or hardlinking it). Remove -J option, Joliet is not compatible with
19899 multiple source directories.
19900
19901 2009-11-21 Carles Pina i Estany <carles@pina.cat>
19902 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19903
19904 * util/grub-mkrescue.in: Recognize `--override-directory' option.
19905 (process_input_dir): New function. Process an arbitrary input
19906 directory.
19907 Misc adjustments to support both "override mode" and system-wide mode.
19908
19909 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
19910
19911 * configure.ac (UNIFONT_BDF): Rename to ...
19912 (FONT_SOURCE): ... this. Update all users.
19913
19914 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
19915
19916 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
19917 to the list of unifont files to look for.
19918
19919 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19920
19921 Patch from Joe Auricchio <jauricchio@gmail.com>
19922 * commands/minicmd.c (grub_mini_cmd_clear): New function.
19923 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
19924 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
19925
19926 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
19927
19928 * Makefile.in (install-local): Add a missing backslash.
19929
19930 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
19931
19932 * include/grub/x86_64/io.h: New file.
19933
19934 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19935
19936 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
19937 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
19938 Include `"progname.h"'.
19939 (main): Initialize gettext.
19940 * util/i386/pc/grub-setup.c: Gettexttize.
19941 * util/i386/pc/grub-mkimage.c: Likewise.
19942
19943 * Makefile.in (po/*.po): Redefine as ...
19944 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
19945
19946 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
19947
19948 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19949
19950 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
19951 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
19952 (program_name): Remove.
19953 (main): Initialize gettext support.
19954 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
19955 Include `<libintl.h>'.
19956 (_): New macro.
19957
19958 * util/mkisofs/eltorito.c: Gettexttize.
19959 * util/mkisofs/joliet.c: Likewise.
19960 * util/mkisofs/mkisofs.c: Likewise.
19961 * util/mkisofs/multi.c: Likewise.
19962 * util/mkisofs/rock.c: Likewise.
19963 * util/mkisofs/tree.c: Likewise.
19964 * util/mkisofs/write.c: Likewise.
19965
19966 * po/POTFILES: Update with new files.
19967
19968 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19969
19970 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
19971 * util/mkisofs/iso9660.h: Likewise.
19972 * util/mkisofs/joliet.c: Likewise.
19973 * util/mkisofs/mkisofs.c: Likewise.
19974 * util/mkisofs/mkisofs.h: Likewise.
19975 * util/mkisofs/rock.c: Likewise.
19976 * util/mkisofs/tree.c: Likewise.
19977 * util/mkisofs/write.c: Likewise.
19978
19979 * util/mkisofs/eltorito.c (rcsid): Remove.
19980 * util/mkisofs/hash.c: Likewise.
19981 * util/mkisofs/joliet.c: Likewise.
19982 * util/mkisofs/name.c: Likewise.
19983 * util/mkisofs/rock.c: Likewise.
19984 * util/mkisofs/tree.c: Likewise.
19985 * util/mkisofs/write.c: Likewise.
19986
19987 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19988
19989 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
19990 instead of static allocation.
19991 * util/mkisofs/match.h: Likewise.
19992
19993 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19994
19995 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
19996 and `util/grub.d/10_linux.in'.
19997 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
19998 translatable Shell files.
19999
20000 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
20001
20002 * Makefile.in ($(srcdir)/aclocal.m4): New target.
20003
20004 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20005
20006 * INSTALL: Document Automake is needed for bootstrap.
20007 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
20008 * util/grub.d/10_kfreebsd.in (bindir): New variable.
20009 Add gettext initialization.
20010 (kfreebsd_entry): Make menuentry output translatable.
20011
20012 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20013
20014 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
20015 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
20016 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
20017 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
20018 (LINGUAS): Auto-generate using `po/LINGUAS'.
20019 * po/LINGUAS: New file.
20020
20021 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20022
20023 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
20024 other things).
20025 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
20026 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
20027 bindtextdomain() calls for gettext initialization.
20028
20029 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20030
20031 * gnulib/progname.c: New file (imported from Gnulib).
20032 * gnulib/progname.h: Likewise.
20033 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
20034 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
20035 (usage): Replace `progname' with `program_name'.
20036 (main): Use set_program_name() for program name initialization.
20037
20038 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20039
20040 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
20041 from here ...
20042 * Makefile.in (CPPFLAGS): ... to here.
20043
20044 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20045
20046 * aclocal.m4: Move from here ...
20047 * acinclude.m4: ... to here.
20048 * autogen.sh: Add call to `aclocal'.
20049 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
20050
20051 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20052
20053 * Makefile.in (CLEANFILES): Add `po/*.mo'.
20054 (LINGUAS): New variable.
20055 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
20056 (install-local): Install MO files.
20057 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
20058 * include/grub/i18n.h: New file.
20059 * po/POTFILES: New file.
20060 * po/ca.po: New file.
20061 * util/grub.d/10_linux.in (bindir): New variable.
20062 Add gettext initialization.
20063 (linux_entry): Make menuentry output translatable.
20064 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
20065 (usage): Make --help output translatable.
20066 (main): Initialize gettext.
20067
20068 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20069
20070 * import_gcry.py: New file (written by Vladimir with minor
20071 adjustments).
20072 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
20073 ciphers.
20074 * INSTALL: Document that Python is required for bootstrap.
20075
20076 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20077
20078 Import ciphers from libgcrypt 1.4.4.
20079
20080 * lib/libgcrypt/cipher/ChangeLog
20081 * lib/libgcrypt/cipher/ac.c
20082 * lib/libgcrypt/cipher/arcfour.c
20083 * lib/libgcrypt/cipher/bithelp.h
20084 * lib/libgcrypt/cipher/blowfish.c
20085 * lib/libgcrypt/cipher/camellia-glue.c
20086 * lib/libgcrypt/cipher/camellia.c
20087 * lib/libgcrypt/cipher/camellia.h
20088 * lib/libgcrypt/cipher/cast5.c
20089 * lib/libgcrypt/cipher/cipher.c
20090 * lib/libgcrypt/cipher/crc.c
20091 * lib/libgcrypt/cipher/des.c
20092 * lib/libgcrypt/cipher/dsa.c
20093 * lib/libgcrypt/cipher/ecc.c
20094 * lib/libgcrypt/cipher/elgamal.c
20095 * lib/libgcrypt/cipher/hash-common.c
20096 * lib/libgcrypt/cipher/hash-common.h
20097 * lib/libgcrypt/cipher/hmac-tests.c
20098 * lib/libgcrypt/cipher/md.c
20099 * lib/libgcrypt/cipher/md4.c
20100 * lib/libgcrypt/cipher/md5.c
20101 * lib/libgcrypt/cipher/primegen.c
20102 * lib/libgcrypt/cipher/pubkey.c
20103 * lib/libgcrypt/cipher/rfc2268.c
20104 * lib/libgcrypt/cipher/rijndael-tables.h
20105 * lib/libgcrypt/cipher/rijndael.c
20106 * lib/libgcrypt/cipher/rmd.h
20107 * lib/libgcrypt/cipher/rmd160.c
20108 * lib/libgcrypt/cipher/rsa.c
20109 * lib/libgcrypt/cipher/seed.c
20110 * lib/libgcrypt/cipher/serpent.c
20111 * lib/libgcrypt/cipher/sha1.c
20112 * lib/libgcrypt/cipher/sha256.c
20113 * lib/libgcrypt/cipher/sha512.c
20114 * lib/libgcrypt/cipher/tiger.c
20115 * lib/libgcrypt/cipher/twofish.c
20116 * lib/libgcrypt/cipher/whirlpool.c
20117
20118 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20119
20120 Fix build for systems without error().
20121
20122 * gnulib/error.c: New file (imported from Gnulib).
20123 * gnulib/error.h: Likewise.
20124 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
20125 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
20126 (this variable is now used by error()).
20127
20128 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
20129
20130 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
20131 instead of relying that char is signed.
20132
20133 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20134
20135 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
20136 blocksize different from specified.
20137 (grub_pxefs_read): Likewise.
20138
20139 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
20140
20141 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
20142
20143 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
20144 (grub_ata_readwrite): Likewise. Update 2 format strings.
20145 (grub_atapi_read): Likewise.
20146
20147 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
20148 * conf/i386.rmk (pkglib_MODULES): ... to here ...
20149 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
20150 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
20151 (ata_mod_LDFLAGS): Move from here ...
20152 * conf/i386.rmk: ... to here ...
20153 * conf/x86_64-efi.rmk: ... and here.
20154 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
20155 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
20156
20157 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20158
20159 Relicense multiboot.h, with RMS' blessing.
20160
20161 * include/multiboot.h: Change to X11 license.
20162
20163 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
20164
20165 Support --version in grub-mkisofs.
20166
20167 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
20168 (OPTION_VERSION): New macro.
20169 (ld_options): Recognize --version.
20170 (usage): Move `program_name' from here ...
20171 (program_name): ... to here. Add `static' qualifier.
20172 (main): Recognize `OPTION_VERSION'.
20173
20174 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
20175
20176 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
20177 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
20178
20179 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
20180
20181 Fix help2man generation for mkisofs.
20182
20183 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
20184 (usage): Send output to stdout (rather than stderr).
20185
20186 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
20187
20188 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
20189 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
20190 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
20191 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
20192 (bin_SCRIPTS): Add `grub-mkfloppy'.
20193 (grub_mkfloppy_SOURCES): New variable.
20194
20195 * util/grub-mkrescue.in: New file.
20196 * util/i386/pc/grub-mkfloppy.in: New file.
20197
20198 * util/i386/coreboot/grub-mkrescue.in: Remove.
20199 * util/i386/pc/grub-mkrescue.in: Remove.
20200
20201 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20202
20203 * include/grub/multiboot.h (struct grub_multiboot_header): Move
20204 from here ...
20205 * include/multiboot.h (struct multiboot_header): ... to here. Update
20206 all users.
20207 * include/grub/multiboot.h (struct grub_multiboot_info): Move
20208 from here ...
20209 * include/multiboot.h (struct multiboot_info): ... to here. Update
20210 all users.
20211 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
20212 from here ...
20213 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
20214 Update all users.
20215 * include/grub/multiboot.h (struct grub_mod_list): Move
20216 from here ...
20217 * include/multiboot.h (struct multiboot_mod_list): ... to here.
20218 Update all users.
20219
20220 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20221
20222 * include/multiboot2.h (multiboot_word): Rename from this ...
20223 (multiboot2_word): ... to this. Update all users.
20224 (multiboot_header): Rename from this ...
20225 (multiboot2_header): ... to this. Update all users.
20226 (multiboot_tag_header): Rename from this ...
20227 (multiboot2_tag_header): ... to this. Update all users.
20228 (multiboot_tag_start): Rename from this ...
20229 (multiboot2_tag_start): ... to this. Update all users.
20230 (multiboot_tag_name): Rename from this ...
20231 (multiboot2_tag_name): ... to this. Update all users.
20232 (multiboot_tag_module): Rename from this ...
20233 (multiboot2_tag_module): ... to this. Update all users.
20234 (multiboot_tag_memory): Rename from this ...
20235 (multiboot2_tag_memory): ... to this. Update all users.
20236 (multiboot_tag_unused): Rename from this ...
20237 (multiboot2_tag_unused): ... to this. Update all users.
20238 (multiboot_tag_end): Rename from this ...
20239 (multiboot2_tag_end): ... to this. Update all users.
20240
20241 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20242
20243 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
20244 this platform we should support Multiboot1 first.
20245
20246 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
20247 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
20248 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
20249
20250 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
20251
20252 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
20253 of write calls (converting them to fwrite() if they aren't already).
20254 (get_torito_desc): Likewise.
20255 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
20256
20257 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
20258
20259 * util/i386/pc/grub-install.in: Move from here ...
20260 * util/grub-install.in: ... to here. Update all users.
20261
20262 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
20263
20264 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
20265
20266 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
20267
20268 Support for El Torito without floppy emulation.
20269
20270 * util/mkisofs/eltorito.c: Include `<errno.h>'.
20271 (init_boot_catalog): Improve error handling.
20272 (get_torito_desc): Don't use floppy emulation unless requested by
20273 user. Patch boot information table when requested via
20274 `-boot-info-table'.
20275 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
20276 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
20277 (use_boot_info_table): New variables.
20278 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
20279 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
20280 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
20281 `--eltorito-emul-floppy'.
20282 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
20283 and `OPTION_ELTORITO_EMUL_FLOPPY'.
20284 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
20285 (use_boot_info_table, get_731): New prototypes.
20286 * util/mkisofs/write.c (get_731): New function.
20287
20288 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
20289
20290 Fix the generation of the man page.
20291
20292 * util/pc/i386/grub-install.in: Source
20293 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
20294
20295 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
20296
20297 Large file support for grub-mkisofs.
20298
20299 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
20300 * util/mkisofs/mkisofs.c (next_extent, last_extent)
20301 (session_start): Upgrade type to `uint64_t'. Update all users.
20302 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
20303 (struct directory_entry): Upgrade type of `starting_block' and
20304 `size' to `uint64_t'. Update all users.
20305 (struct deferred): Remove unused structure.
20306 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
20307 Update all users.
20308 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
20309 file is larger than `UINT32_MAX'.
20310 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
20311 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
20312 return value.
20313 (struct deferred_write): Upgrade type of `extent' and `size' to
20314 `uint64_t'. Update all users.
20315 (last_extent_written): Upgrade type to `uint64_t'. Update all
20316 users.
20317 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
20318 Update all users. Upgrade type of `remain' to `int64_t' and
20319 `use' to `size_t'. Use error() to handle fread() errors.
20320 (write_files): Rely on write_one_file() rather than calling
20321 xfwrite() directly.
20322
20323 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
20324
20325 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
20326
20327 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20328
20329 * util/mkisofs/fnmatch.c: Remove.
20330 * util/mkisofs/getopt1.c: Likewise.
20331 * util/mkisofs/getopt.c: Likewise.
20332 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
20333 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
20334 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
20335 `gnulib/getopt1.c' and `gnulib/getopt.c'.
20336 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
20337
20338 * configure.ac: Detect `mingw32msvc' host_os.
20339 Check for lstat(), getuid() and getgid().
20340
20341 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
20342 instances of `u_char' with `uint8_t'.
20343
20344 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
20345 [!HAVE_GETUID] (getuid): New function (stub).
20346 [!HAVE_GETGID] (getgid): Likewise.
20347 [!HAVE_LSTAT] (lstat): Likewise.
20348 [!S_IROTH] (S_IROTH): New macro (dummy).
20349 [!S_IRGRP] (S_IRGRP): Likewise.
20350
20351 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20352
20353 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
20354 conditional expression).
20355
20356 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20357
20358 Import from Gnulib.
20359
20360 * gnulib/fnmatch.c: New file.
20361 * gnulib/fnmatch.h: Likewise.
20362 * gnulib/fnmatch_loop.c: Likewise.
20363 * gnulib/getopt.c: Likewise.
20364 * gnulib/getopt.h: Likewise.
20365 * gnulib/getopt1.c: Likewise.
20366 * gnulib/getopt_int.h: Likewise.
20367 * gnulib/gettext.h: Likewise.
20368
20369 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20370
20371 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
20372 * normal/handler.c (read_handler_list): Likewise.
20373
20374 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20375
20376 Misc cleanup.
20377
20378 * kern/command.c (grub_register_command_prio): Use
20379 grub_zalloc() instead of explicitly zeroing data.
20380 * kern/list.c: Include `<grub/mm.h>'.
20381 (grub_named_list_find): Replace `0' with `NULL'.
20382 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
20383 (fs_module_list): Change type to `grub_named_list_t'. Update all
20384 users.
20385 * normal/dyncmd.c (read_command_list): Add space between function
20386 call and parenthesis.
20387 * normal/handler.c (read_handler_list): Likewise.
20388
20389 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20390
20391 * normal/auth.c (punishment_delay): Moved from here ...
20392 (grub_auth_strcmp): ... to here (inside function).
20393
20394 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20395
20396 * include/grub/list.h (struct grub_named_list): Remove `const'
20397 qualifier from `name'.
20398 (struct grub_prio_list): Likewise.
20399
20400 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20401
20402 * normal/auth.c: Include `<grub/time.h>'.
20403 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
20404
20405 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20406
20407 * normal/auth.c (punishment_delay): New variable.
20408 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
20409 (grub_auth_check_authentication): Punish failed login attempts with
20410 an incremental (2^N) delay.
20411
20412 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20413
20414 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
20415 path with $(srcdir).
20416
20417 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
20418
20419 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
20420
20421 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20422
20423 * util/i386/coreboot/grub-mkrescue.in: New file.
20424 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
20425 variables.
20426
20427 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
20428 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
20429 * configure.ac: Add header and function checks to satisfy grub-mkisofs
20430 requirements.
20431 * util/mkisofs/defaults.h: New file.
20432 * util/mkisofs/eltorito.c: Likewise.
20433 * util/mkisofs/exclude.h: Likewise.
20434 * util/mkisofs/fnmatch.c: Likewise.
20435 * util/mkisofs/getopt.c: Likewise.
20436 * util/mkisofs/getopt1.c: Likewise.
20437 * util/mkisofs/hash.c: Likewise.
20438 * util/mkisofs/include/fctldefs.h: Likewise.
20439 * util/mkisofs/include/mconfig.h: Likewise.
20440 * util/mkisofs/include/prototyp.h: Likewise.
20441 * util/mkisofs/include/statdefs.h: Likewise.
20442 * util/mkisofs/iso9660.h: Likewise.
20443 * util/mkisofs/joliet.c: Likewise.
20444 * util/mkisofs/match.c: Likewise.
20445 * util/mkisofs/match.h: Likewise.
20446 * util/mkisofs/mkisofs.c: Likewise.
20447 * util/mkisofs/mkisofs.h: Likewise.
20448 * util/mkisofs/multi.c: Likewise.
20449 * util/mkisofs/name.c: Likewise.
20450 * util/mkisofs/rock.c: Likewise.
20451 * util/mkisofs/tree.c: Likewise.
20452 * util/mkisofs/write.c: Likewise.
20453
20454 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
20455
20456 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
20457 being insecure.
20458
20459 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20460
20461 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
20462 `grub-mkimage' (and use $0 when possible).
20463
20464 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20465
20466 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
20467 error message for excessively large memory map.
20468
20469 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20470
20471 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
20472 executable bit.
20473
20474 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20475
20476 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
20477 message for coreboot users.
20478
20479 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
20480
20481 Fix build with GNU gold.
20482
20483 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
20484 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
20485 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
20486 link addresses.
20487 * aclocal.m4: Likewise.
20488
20489 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
20490
20491 * configure.ac (AC_PREREQ): Bump to 2.59d.
20492 * INSTALL: Make it more clear when Autoconf and Ruby are
20493 needed and when to run `./autogen.sh'.
20494
20495 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
20496
20497 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
20498 OSes.
20499
20500 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20501
20502 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
20503
20504 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20505
20506 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
20507 giving it to GNU Mach.
20508
20509 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20510
20511 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
20512 GNU partition number to get internal GRUB partition number.
20513
20514 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20515
20516 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
20517 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
20518
20519 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
20520
20521 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
20522 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
20523 case.
20524
20525 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
20526
20527 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
20528
20529 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
20530
20531 Fix build problem.
20532
20533 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
20534 `-isystem=$(srcdir)/include'.
20535
20536 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
20537
20538 * util/i386/pc/grub-install.in: Remove hint that device.map should be
20539 checked (grub-install doesn't currently rely on it).
20540
20541 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
20542
20543 Revert SVN r2660.
20544
20545 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
20546 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
20547 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
20548 * conf/i386-ieee1275.rmk: Likewise.
20549 * conf/i386-pc.rmk: Likewise.
20550 * conf/powerpc-ieee1275.rmk: Likewise.
20551 * conf/sparc64-ieee1275.rmk: Likewise.
20552 * conf/x86_64-efi.rmk: Likewise.
20553
20554 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20555
20556 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
20557
20558 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20559
20560 * include/grub/misc.h: Stop checking for APPLE_CC.
20561
20562 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20563
20564 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
20565 doesn't cause an infinite call loop.
20566
20567 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
20568
20569 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
20570 strings.
20571
20572 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20573
20574 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
20575 variable.
20576 * Makefile.in: Likewise.
20577
20578 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20579
20580 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
20581
20582 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20583
20584 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
20585
20586 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20587
20588 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
20589
20590 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20591
20592 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
20593 from here ...
20594 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
20595
20596 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20597
20598 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
20599 in $(MAKEINFO) invocation. This makes it clear in output that
20600 errors are being ignored.
20601
20602 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20603
20604 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
20605 from here ...
20606 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
20607 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
20608 * conf/i386-ieee1275.rmk: Likewise.
20609 * conf/i386-pc.rmk: Likewise.
20610 * conf/powerpc-ieee1275.rmk: Likewise.
20611 * conf/sparc64-ieee1275.rmk: Likewise.
20612 * conf/x86_64-efi.rmk: Likewise.
20613
20614 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
20615
20616 * util/grub-editenv.c (main): If only a command is given, use
20617 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
20618 (usage): FILENAME is now optional and has a default.
20619
20620 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
20621
20622 Improve grub-mkconfig performance when there are several menu
20623 entries on a single filesystem.
20624
20625 * util/grub.d/10_linux.in (linux_entry): Cache the output of
20626 prepare_grub_to_access_device.
20627 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20628 * util/grub.d/30_os-prober.in: Likewise.
20629
20630 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20631
20632 * util/grub.d/10_freebsd.in: Remove.
20633 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
20634 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
20635
20636 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20637
20638 * docs/grub.cfg: Fix example usage of *BSD loaders.
20639
20640 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20641
20642 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
20643 grub_util_error() call.
20644
20645 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20646
20647 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
20648 `reserved_first_sector' member.
20649 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
20650 `reserved_first_sector' to 1.
20651 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
20652 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
20653 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
20654 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
20655 filesystems which begin at first sector.
20656 (options): New option --skip-fs-probe.
20657 (main): Handle --skip-fs-probe and pass it to setup().
20658
20659 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20660
20661 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
20662 (memset): Fix function prototype.
20663
20664 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20665 2009-10-25 Vasily Averin <vvs@parallels.com>
20666
20667 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
20668 `dirent.direntlen == 0'.
20669
20670 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20671
20672 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
20673 `cpio'.
20674 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
20675
20676 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20677
20678 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
20679 `__trampoline_setup' and `__ucmpdi2'.
20680 * include/grub/powerpc/libgcc.h: Only export symbols for functions
20681 that libgcc provides.
20682
20683 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20684
20685 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
20686 * include/grub/sparc64/libgcc.h (memset): Likewise.
20687 * include/grub/misc.h (memset, memcmp): New function prototypes.
20688
20689 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20690
20691 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
20692 `cpio'.
20693 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
20694
20695 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20696
20697 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
20698 * docs/grub.cfg: Compensate for recent change in multiboot
20699 loader (since 2009-08-14 it won't pass filename to payload).
20700 * util/grub.d/10_hurd.in: Likewise.
20701
20702 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
20703
20704 * config.guess: Update to latest version from config git
20705 repository.
20706 * config.sub: Likewise.
20707
20708 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
20709
20710 Fix build on sparc64.
20711
20712 * configure.ac: Perform checks for libgcc symbols before
20713 adding `-nostdlib' to LDFLAGS.
20714
20715 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20716
20717 Let user specify OpenBSD root device.
20718
20719 * loader/i386/bsd.c (openbsd_root): New variable.
20720 (openbsd_opts): New option 'root'.
20721 (OPENBSD_ROOT_ARG): New macro.
20722 (grub_openbsd_boot): Use 'openbsd_root'.
20723 (grub_cmd_openbsd): Fill 'openbsd_root'.
20724
20725 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20726
20727 * NEWS: Misc adjustments.
20728
20729 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20730
20731 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
20732
20733 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20734
20735 * configure.ac: Bump version to 1.97.
20736
20737 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
20738
20739 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
20740 -mno-3dnow on x86 architectures. Some toolchains enable these
20741 features by default, but they rely on registers that aren't enabled
20742 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
20743
20744 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
20745
20746 Make entry text a bit more readable.
20747
20748 * util/grub.d/10_linux.in: Add `with' before `Linux'.
20749
20750 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20751
20752 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
20753
20754 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20755
20756 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
20757 operations.
20758
20759 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20760
20761 * configure.ac: Add missing dollar.
20762
20763 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20764
20765 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
20766
20767 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
20768 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
20769 exports.
20770 * include/grub/sparc64/libgcc.h: Likewise. Use
20771 preprocessor conditionals.
20772
20773 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20774
20775 * conf/common.rmk (grub-dumpbios): Remove rule.
20776 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
20777 * util/grub-dumpbios.in: Remove file.
20778
20779 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20780
20781 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
20782 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
20783
20784 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
20785 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
20786 users.
20787
20788 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
20789 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
20790 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
20791 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
20792 users.
20793
20794 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
20795
20796 * term/tparm.c: Switch to GPLv3.
20797
20798 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20799
20800 * include/grub/i386/cpuid.h: Add header protection.
20801
20802 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20803
20804 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
20805
20806 * include/grub/i386/cpuid.h: New file.
20807 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
20808 (has_longmode): Rename to ...
20809 (grub_cpuid_has_longmode): ... this. Update all users. Remove
20810 `static' attribute.
20811 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
20812 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
20813 on a CPU that doesn't implement AMD64 instruction set.
20814
20815 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
20816
20817 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
20818 that version.texi is rebuilt on version number changes.
20819
20820 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
20821
20822 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
20823 Fixes bug #27602.
20824
20825 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
20826
20827 * util/i386/pc/grub-install.in: Source
20828 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
20829 that the --grub-probe option will work.
20830 * util/sparc64/ieee1275/grub-install.in: Likewise.
20831
20832 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
20833
20834 * configure.ac: Bump version to 1.97~beta4.
20835
20836 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
20837
20838 Resync grub-mkdevicemap in x86_64-efi.
20839
20840 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
20841 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
20842 `util/devicemap.c'.
20843
20844 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
20845
20846 * util/grub-editenv.c (create_envblk_file): Write new block with a
20847 .new suffix and then rename it into place, to ensure atomic
20848 creation.
20849
20850 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
20851
20852 Do not automatically install headers.
20853
20854 * Makefile.in (include_DATA): Remove. Update all users.
20855
20856 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
20857
20858 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
20859 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
20860
20861 * util/osdetect.lua: Remove.
20862 * script/lua/lauxlib.c: Likewise.
20863 * script/lua/ldebug.c: Likewise.
20864 * script/lua/grub_main.c: Likewise.
20865 * script/lua/lauxlib.h: Likewise.
20866 * script/lua/ldebug.h: Likewise.
20867 * script/lua/ltablib.c: Likewise.
20868 * script/lua/liolib.c: Likewise.
20869 * script/lua/lstrlib.c: Likewise.
20870 * script/lua/lualib.h: Likewise.
20871 * script/lua/ldo.c: Likewise.
20872 * script/lua/ldump.c: Likewise.
20873 * script/lua/ldo.h: Likewise.
20874 * script/lua/loslib.c: Likewise.
20875 * script/lua/lundump.c: Likewise.
20876 * script/lua/grub_lib.c: Likewise.
20877 * script/lua/ldblib.c: Likewise.
20878 * script/lua/lundump.h: Likewise.
20879 * script/lua/lmem.c: Likewise.
20880 * script/lua/grub_lib.h: Likewise.
20881 * script/lua/lmathlib.c: Likewise.
20882 * script/lua/lstate.c: Likewise.
20883 * script/lua/ltm.c: Likewise.
20884 * script/lua/lvm.c: Likewise.
20885 * script/lua/lmem.h: Likewise.
20886 * script/lua/lstate.h: Likewise.
20887 * script/lua/ltm.h: Likewise.
20888 * script/lua/ltable.c: Likewise.
20889 * script/lua/lvm.h: Likewise.
20890 * script/lua/llex.c: Likewise.
20891 * script/lua/lgc.c: Likewise.
20892 * script/lua/grub_lua.h: Likewise.
20893 * script/lua/loadlib.c: Likewise.
20894 * script/lua/lfunc.c: Likewise.
20895 * script/lua/lopcodes.c: Likewise.
20896 * script/lua/lparser.c: Likewise.
20897 * script/lua/ltable.h: Likewise.
20898 * script/lua/llex.h: Likewise.
20899 * script/lua/lgc.h: Likewise.
20900 * script/lua/lfunc.h: Likewise.
20901 * script/lua/lbaselib.c: Likewise.
20902 * script/lua/lopcodes.h: Likewise.
20903 * script/lua/lparser.h: Likewise.
20904 * script/lua/lzio.c: Likewise.
20905 * script/lua/linit.c: Likewise.
20906 * script/lua/lobject.c: Likewise.
20907 * script/lua/llimits.h: Likewise.
20908 * script/lua/lstring.c: Likewise.
20909 * script/lua/lzio.h: Likewise.
20910 * script/lua/lapi.c: Likewise.
20911 * script/lua/lcode.c: Likewise.
20912 * script/lua/lua.h: Likewise.
20913 * script/lua/lobject.h: Likewise.
20914 * script/lua/lstring.h: Likewise.
20915 * script/lua/lapi.h: Likewise.
20916 * script/lua/lcode.h: Likewise.
20917 * script/lua/luaconf.h: Likewise.
20918
20919 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
20920
20921 * docs/grub.texi (Command-line and menu entry commands): Document
20922 date and echo commands.
20923
20924 2009-09-24 Pavel Roskin <proski@gnu.org>
20925
20926 * include/grub/kernel.h (struct grub_module_header): Remove
20927 `grub_module_header_types'. Make `type' unsigned. Make `size'
20928 32-bit on all platforms.
20929 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
20930 8-bit field. Use grub_host_to_target32() for `size'.
20931 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
20932 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
20933 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
20934
20935 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20936
20937 Fix "lost keypress" bug in at_keyboard.
20938
20939 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
20940 Checks for readyness of input buffer (without flushing it).
20941 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
20942 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
20943
20944 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20945
20946 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
20947 size check within GRUB_MACHINE_PCBIOS section.
20948
20949 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20950
20951 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
20952 return value.
20953 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
20954 KEYBOARD_ISREADY check.
20955 (grub_at_keyboard_checkkey): Rename to ...
20956 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
20957 Remove gratuitous cast.
20958
20959 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
20960
20961 * configure.ac: Call AC_PROG_MKDIR_P.
20962 * Makefile.in (docs/stamp-vti): Create docs directory. Create
20963 version.texi in $(builddir) rather than $(srcdir).
20964 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
20965 to makeinfo's @include search path.
20966
20967 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
20968
20969 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
20970
20971 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
20972
20973 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
20974 for `*.dpkg-new'.
20975
20976 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
20977
20978 Build info documentation. Some code borrowed from Automake.
20979
20980 * configure.ac: Check for makeinfo.
20981 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
20982 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
20983 docs/version.texi.
20984 (MOSTLYCLEANFILES): Add vti.tmp.
20985 (docs/version.texi, docs/stamp-vti): Update automatically.
20986 (docs/grub.info): Build info documentation. Use --force and ignore
20987 errors for now.
20988 (all-local): Add $(INFOS).
20989 (install-local): Install info files.
20990 (uninstall): Uninstall info files.
20991 * docs/version.texi: Remove from revision control. This file is
20992 automatically generated on build now.
20993 * gendistlist.sh: Add `*.info'.
20994
20995 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
20996
20997 * kern/term.c: Fix indentation.
20998
20999 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
21000
21001 * util/hostdisk.c: Fix a comment.
21002
21003 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
21004
21005 Fix regression introduced in r2539.
21006
21007 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
21008 to 0xA1.
21009
21010 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
21011
21012 * util/grub.d/30_os-prober.in: Don't throw away stderr from
21013 os-prober. Under normal operation, it does not print anything to
21014 stderr; if it does, we need to debug it, and throwing away stderr
21015 makes that excessively difficult.
21016
21017 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
21018
21019 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
21020
21021 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
21022
21023 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
21024 AC_LANG_PROGRAM from autoconf.
21025 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
21026 prototypes (fixes warning).
21027
21028 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
21029 `--disable-werror' was used.
21030
21031 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
21032
21033 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
21034 uninitialized `lastaddr'.
21035
21036 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21037
21038 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
21039
21040 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
21041
21042 * commands/test.c (get_fileinfo): Return immediately if
21043 grub_fs_probe fails.
21044
21045 2009-09-14 José Martínez <xosemp@gmail.com>
21046
21047 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
21048
21049 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
21050
21051 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
21052 output.
21053
21054 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
21055
21056 * configure.ac: Remove --enable-grub-pe2elf. Only build
21057 grub-pe2elf when needed by the build system itself.
21058 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
21059
21060 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
21061
21062 * configure.ac: Bump version to 1.97~beta3.
21063 * docs/version.texi: Likewise.
21064
21065 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
21066
21067 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
21068 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
21069 from here ...
21070 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
21071 (grub_linux_setup_video): ... to here (with some adjustments).
21072
21073 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
21074
21075 Fix memory corruption issue (spotted by Colin Watson).
21076
21077 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
21078 causing returned size to be stored in an incorrect memory location.
21079 Fix use of uninitialized value when storing the returned size.
21080
21081 2009-09-12 Yves Blusseau <blusseau@zetam.org>
21082
21083 Change clean rules to properly remove files
21084
21085 * genmk.rb: add new clean rules
21086 * Makefile.in (clean): add the new targets
21087 (mostlyclean): likewise
21088
21089 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
21090
21091 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
21092 to grub_uint64_t.
21093 * fs/ntfs.c (init_file): Understand 64-bit sizes for
21094 non-resident files.
21095
21096 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
21097
21098 * configure.ac: Don't look for help2man when cross-compiling. Fixes
21099 part of bug #27349.
21100
21101 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
21102
21103 * util/grub-mkconfig.in: Make the created config mode 400 and
21104 print a warning if it fails.
21105
21106 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
21107
21108 * util/grub.d/40_custom.in: Ask user to type custom entries below
21109 comment, rather than below 'exec tail' line.
21110
21111 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
21112
21113 * util/grub.d/40_custom.in: Make sure that the explanatory text is
21114 visible in grub.cfg.
21115
21116 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
21117
21118 * util/grub.d/40_custom.in: Make it a little clearer how to use this
21119 file.
21120
21121 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
21122
21123 * docs/grub.cfg: Add an example menu entry for memtest86+.
21124
21125 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
21126
21127 * config.guess: Update to latest version from config git.
21128 * config.sub: Likewise.
21129
21130 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
21131
21132 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
21133 unknown-command case. Fixes bug #27320.
21134
21135 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
21136
21137 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
21138 `help' if the command exists.
21139
21140 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
21141
21142 * INSTALL: Require GCC 4.1.3 or later.
21143
21144 2009-09-06 Yves Blusseau <blusseau@zetam.org>
21145
21146 * Makefile.in (RMKFILES): add i386-qemu.rmk
21147 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
21148 $(srcdir)/stamp-h.in
21149
21150 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
21151
21152 * util/grub-probe.c (probe): Comment out buggy codepath, which
21153 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
21154 should be re-enabled after 1.97.
21155
21156 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
21157
21158 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
21159 find searches for.
21160
21161 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
21162
21163 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
21164 unnecessary calls to grub_error.
21165
21166 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
21167
21168 * NEWS: Mention `keystatus' and Unicode fonts.
21169
21170 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
21171
21172 * configure.ac: Bump version to 1.97~beta2.
21173 * docs/version.texi: Likewise.
21174
21175 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
21176
21177 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
21178 containing unwind information in some cases where it previously did
21179 not. Use -fno-dwarf2-cfi-asm if available to restore the old
21180 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
21181 discussion.
21182
21183 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
21184
21185 Embedding loadenv module into grub-emu
21186
21187 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
21188 commands/loadenv.c
21189 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
21190 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
21191 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
21192 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
21193 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
21194 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
21195
21196 2009-09-03 Magnus Granberg <zorry@ume.nu>
21197
21198 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
21199 include -fPIE in the default specs.
21200 * configure.ac: Check if pie_possible is yes and add -fno-PIE
21201 to TARGET_CFLAGS.
21202
21203 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
21204
21205 * INSTALL: Note that GNU Bison 2.3 or later is required.
21206
21207 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
21208
21209 * kern/i386/pc/startup.S: Fix typo.
21210
21211 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21212
21213 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
21214 according to GCS.
21215
21216 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
21217
21218 * docs/grub.texi (Naming convention): Describe one-based partition
21219 numbering.
21220 (Device syntax): Likewise.
21221 (File name syntax): Likewise.
21222 (Block list syntax): Likewise.
21223 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
21224 menu.lst.
21225 (File name syntax): Likewise.
21226 (Command-line and menu entry commands): Document acpi, blocklist,
21227 crc, export, insmod, keystatus, ls, set, and unset commands.
21228
21229 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
21230
21231 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
21232 to avoid implying that only one of --shift, --ctrl, or --alt may be
21233 used.
21234
21235 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
21236
21237 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
21238 rather than comparing against S_IFREG, which will almost never work.
21239
21240 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
21241
21242 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
21243 (write_blocklists): Likewise.
21244
21245 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
21246
21247 * script/lua/grub_lua.h (fputs): Supply a format string as the first
21248 argument to grub_printf.
21249
21250 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
21251
21252 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
21253 non GNU test.
21254
21255 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21256
21257 * kern/file.c (grub_file_read): Spelling fix
21258
21259 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21260
21261 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
21262 loading of headers in some cases.
21263
21264 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
21265
21266 * configure.ac: Bump version to 1.97~beta1.
21267 * docs/version.texi: Likewise.
21268
21269 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21270
21271 * include/grub/i386/xnu.h: Add license header.
21272 include grub/err.h explicitly.
21273
21274 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
21275
21276 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
21277 to `ufs' in the vfs.root.mountfrom kernel parameter.
21278
21279 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
21280
21281 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
21282
21283 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
21284 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
21285
21286 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
21287 `ARRAY_SIZE' macro.
21288
21289 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21290
21291 * kern/file.c (grub_file_read): Check offset.
21292 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
21293 * fs/jfs.c (grub_jfs_read_file): Likewise.
21294 * fs/ntfs.c (grub_ntfs_read): Likewise.
21295 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
21296 * fs/minix.c (grub_minix_read_file): Correct offset check.
21297 * fs/ufs.c (grub_ufs_read_file): Likewise.
21298
21299 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
21300
21301 * term/i386/pc/console.c (bios_data_area): Cast
21302 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
21303
21304 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21305
21306 1-bit optimised blitters.
21307
21308 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
21309 prototype.
21310 (grub_video_fbblit_replace_24bit_1bit): Likewise.
21311 (grub_video_fbblit_replace_16bit_1bit): Likewise.
21312 (grub_video_fbblit_replace_8bit_1bit): Likewise.
21313 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
21314 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
21315 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
21316 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
21317 function.
21318 (grub_video_fbblit_replace_24bit_1bit): Likewise.
21319 (grub_video_fbblit_replace_16bit_1bit): Likewise.
21320 (grub_video_fbblit_replace_8bit_1bit): Likewise.
21321 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
21322 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
21323 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
21324 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
21325 when possible.
21326 * video/video.c (grub_video_get_blit_format): Return
21327 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
21328
21329 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
21330
21331 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
21332 the first argument to grub_printf.
21333
21334 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
21335 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
21336
21337 Add `getkeystatus' terminal method. Add a new `keystatus' command
21338 to query it.
21339
21340 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
21341 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
21342 modifier key bitmasks.
21343 (struct grub_term_input): Add `getkeystatus' member.
21344 (grub_getkeystatus): Add prototype.
21345 * kern/term.c (grub_getkeystatus): New function.
21346
21347 * include/grub/i386/pc/memory.h
21348 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
21349 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
21350 Data Area layout.
21351 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
21352 (grub_console_term_input): Set `getkeystatus' member.
21353 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
21354 constants.
21355 (grub_usb_keyboard_getreport): Likewise.
21356 (grub_usb_keyboard_checkkey): Likewise.
21357 (grub_usb_keyboard_getkeystatus): New function.
21358 (grub_usb_keyboard_term): Set `getkeystatus' member.
21359
21360 * commands/keystatus.c: New file.
21361 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
21362 (keystatus_mod_SOURCES): New variable.
21363 (keystatus_mod_CFLAGS): Likewise.
21364 (keystatus_mod_LDFLAGS): Likewise.
21365 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
21366 commands/keystatus.c.
21367 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21368 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21369 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21370 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21371 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21372 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21373
21374 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21375
21376 Split befs.mod and afs.mod into *_be.mod and *.mod
21377
21378 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
21379 (grub_fstest_SOURCES): Likewise.
21380 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
21381 (afs_be_mod_SOURCES): New variable.
21382 (afs_be_mod_CFLAGS): Likewise.
21383 (afs_be_mod_LDFLAGS): Likewise.
21384 (befs_be_mod_SOURCES): Likewise.
21385 (befs_be_mod_CFLAGS): Likewise.
21386 (befs_be_mod_LDFLAGS): Likewise.
21387 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
21388 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21389 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21390 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21391 (grub_emu_SOURCES): Likewise.
21392 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21393 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21394 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21395 * fs/afs_be.c: New file.
21396 * fs/befs_be.c: New file.
21397 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
21398 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
21399 (U16): Replaced with ...
21400 (grub_afs_to_cpu16): ...this. All users updated.
21401 (U32): Replaced with ...
21402 (grub_afs_to_cpu32): ...this. All users updated.
21403 (U64): Replaced with ...
21404 (grub_afs_to_cpu64): ...this. All users updated.
21405 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
21406 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
21407 (grub_afs_validate_sblock): Check only one endianness.
21408 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
21409 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
21410 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
21411 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
21412 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
21413 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
21414 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
21415 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
21416
21417 2009-08-26 Bean <bean123ch@gmail.com>
21418
21419 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
21420 64-bit number.
21421 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
21422 (grub_xfs_inode_block): Change return type to grub_uint64_t.
21423 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
21424
21425 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21426
21427 NetBSD memory map support.
21428
21429 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
21430 (grub_netbsd_btinfo_mmap_header): New structure.
21431 (grub_netbsd_btinfo_mmap_entry): Likewise.
21432 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
21433
21434 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21435
21436 Enable bsd.mod on coreboot.
21437
21438 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
21439 (bsd_mod_SOURCES): New variable.
21440 (bsd_mod_CFLAGS): Likewise.
21441 (bsd_mod_LDFLAGS): Likewise.
21442 (bsd_mod_ASFLAGS): Likewise.
21443 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
21444 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
21445
21446 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21447
21448 Cleanup NetBSD root support.
21449
21450 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
21451 grub_bsd_get_device.
21452 Fix typo.
21453
21454 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
21455
21456 * util/grub.d/00_header.in: Move check for the video backend of
21457 gfxterm from here ...
21458 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
21459 a suitable video backend.
21460
21461 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21462
21463 Fix breakage in grub-setup.
21464
21465 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
21466 "msdos_partition_map".
21467
21468 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21469
21470 Fix breakage in normal/auth.c.
21471
21472 * normal/auth.c (grub_iswordseparator): New function.
21473
21474 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21475
21476 Authentication support.
21477
21478 * commands/password.c: New file.
21479 * conf/common.rmk (pkglib_MODULES): Add password.mod.
21480 (password_mod_SOURCES): New variable.
21481 (password_mod_CFLAGS): Likewise.
21482 (password_mod_LDFLAGS): Likewise.
21483 (normal_mod_SOURCES): Add normal/auth.c.
21484 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
21485 normal/auth.c.
21486 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21487 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21488 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21489 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21490 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21491 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21492 * include/grub/auth.h: New file.
21493 * include/grub/err.h (grub_err_t): New enum value
21494 GRUB_ERR_ACCESS_DENIED.
21495 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
21496 'users'.
21497 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
21498 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
21499 users updated.
21500 * normal/auth.c: New file.
21501 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
21502 (grub_cmdline_run): Don't allow to go to command line without
21503 authentication.
21504 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
21505 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
21506 menuentry without superuser rights.
21507 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
21508 user isn't a superuser.
21509
21510 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21511
21512 Save space by inlining misc.c functions.
21513
21514 * kern/misc.c (grub_iswordseparator): Made static.
21515 * kern/misc.c (grub_strcat): Moved from here ...
21516 * include/grub/misc.h (grub_strcat): ... here. Inlined.
21517 * kern/misc.c (grub_strncat): Moved from here ...
21518 * include/grub/misc.h (grub_strncat): ... here. Inlined.
21519 * kern/misc.c (grub_strcasecmp): Moved from here ...
21520 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
21521 * kern/misc.c (grub_strncasecmp): Moved from here ...
21522 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
21523 * kern/misc.c (grub_isalpha): Moved from here ...
21524 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
21525 * kern/misc.c (grub_isdigit): Moved from here ...
21526 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
21527 * kern/misc.c (grub_isgraph): Moved from here ...
21528 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
21529 * kern/misc.c (grub_tolower): Moved from here ...
21530 * include/grub/misc.h (grub_tolower): ... here. Inlined.
21531
21532 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21533
21534 * script/sh/function.c (grub_script_function_find): Cut error message
21535 not to flood terminal.
21536 * script/sh/lexer.c (grub_script_yylex): Remove command line length
21537 limit.
21538 * script/sh/script.c (grub_script_arg_add): Duplicate string.
21539
21540 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
21541
21542 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
21543 `report' grub_uint8_t *.
21544 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
21545 Use a 50-millisecond timeout rather than just repeating
21546 grub_usb_keyboard_getreport 50 times.
21547 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
21548
21549 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21550
21551 Rename *_partition_map to part_*
21552
21553 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
21554 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
21555 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
21556 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
21557 All users updated.
21558 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
21559 All users updated.
21560 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
21561 * util/grub-probe.c (probe_partmap): Don't transform partition name
21562 to get module name.
21563
21564 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21565
21566 Fix OpenBSD and NetBSD support.
21567
21568 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
21569 memory address conflict.
21570 (OPENBSD_MMAP_ACPI): New definition.
21571 (OPENBSD_MMAP_NVS): Likewise.
21572 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
21573 and OPENBSD_MMAP_NVS.
21574 Add memory map terminator
21575 Explicit cast when calling grub_unix_real_boot.
21576 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
21577
21578 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21579
21580 Let user specify NetBSD root device.
21581
21582 * loader/i386/bsd.c (netbsd_root): New variable.
21583 (netbsd_opts): New option 'root'.
21584 (NETBSD_ROOT_ARG): New macro.
21585 (grub_netbsd_boot): Use 'netbsd_root'.
21586 (grub_bsd_unload): Free 'netbsd_root'.
21587 (grub_cmd_netbsd): Fill 'netbsd_root'.
21588
21589 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21590
21591 Support for 64-bit NetBSD.
21592
21593 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
21594 point when booting non-FreeBSD.
21595
21596 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21597
21598 Support --no-smp and --no-acpi for NetBSD.
21599
21600 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
21601 (NETBSD_AB_NOACPI): Likewise.
21602 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
21603 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
21604
21605 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21606
21607 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
21608 errors.
21609 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
21610 errors. Call grub_error when needed.
21611
21612 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21613
21614 * commands/search.c (search_fs): Try searching without autoload first.
21615 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
21616 filesystem module explicitly for faster booting.
21617
21618 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
21619
21620 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
21621
21622 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
21623
21624 * util/grub.d/30_os-prober.in: Disable os-prober if
21625 `GRUB_DISABLE_OS_PROBER' was set to true.
21626
21627 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
21628
21629 * partmap/pc.c: Rename to ...
21630 * partmap/msdos.c: ... this. Update all users.
21631 (grub_pc_partition_map): Rename to ...
21632 (grub_msdos_partition_map): ... this. Update all users.
21633
21634 * parttool/pcpart.c: Rename to ...
21635 * parttool/msdospart.c: ... this. Update all users.
21636
21637 * include/grub/pc_partition.h: Rename to ...
21638 * include/grub/msdos_partition.h: ... this. Update all users.
21639 (grub_pc_partition_bsd_entry): Rename to ...
21640 (grub_msdos_partition_bsd_entry): ... this. Update all users.
21641 (grub_pc_partition_disk_label): Rename to ...
21642 (grub_msdos_partition_disk_label): ... this. Update all users.
21643 (grub_pc_partition_entry): Rename to ...
21644 (grub_msdos_partition_entry): ... this. Update all users.
21645 (grub_pc_partition_mbr): Rename to ...
21646 (grub_msdos_partition_mbr): ... this. Update all users.
21647 (grub_pc_partition): Rename to ...
21648 (grub_msdos_partition): ... this. Update all users.
21649 (grub_pc_partition_is_empty): Rename to ...
21650 (grub_msdos_partition_is_empty): ... this. Update all users.
21651 (grub_pc_partition_is_extended): Rename to ...
21652 (grub_msdos_partition_is_extended): ... this. Update all users.
21653 (grub_pc_partition_is_bsd): Rename to ...
21654 (grub_msdos_partition_is_bsd): ... this. Update all users.
21655
21656 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
21657 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
21658 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
21659 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
21660 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
21661 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
21662 (gpt_mod_LDFLAGS): Rename to ...
21663 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
21664 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
21665 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
21666 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
21667 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
21668 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
21669 (part_gpt_mod_LDFLAGS): ... this.
21670 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
21671 `pcpart.mod' to `msdospart.mod'.
21672 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
21673 to ...
21674 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
21675 (msdospart_mod_LDFLAGS): ... this.
21676
21677 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21678
21679 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
21680 (openbsd_opts): Likewise.
21681 (netbsd_opts): Likewise.
21682 (freebsd_flags): Added 0 terminator.
21683 (openbsd_flags): Likewise.
21684 (netbsd_flags): Likewise.
21685 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
21686 (grub_cmd_freebsd): Transformed into extended command.
21687 (grub_cmd_openbsd): Likewise.
21688 (grub_cmd_netbsd): Likewise.
21689 (cmd_freebsd): Changed type to grub_extcmd_t.
21690 (cmd_openbsd): Likewise.
21691 (cmd_netbsd): Likewise.
21692 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
21693 grub_cmd_openbsd as extended commands.
21694 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
21695 cmd_netbsd and cmd_openbsd
21696
21697 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
21698
21699 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
21700
21701 2009-08-21 Pavel Roskin <proski@gnu.org>
21702
21703 * Makefile.in (install-local): When checking if a file is in the
21704 build directory, use "test -e" to detect symlinks.
21705
21706 * Makefile.in (install-local): Remove all files in
21707 $(DESTDIR)$(pkglibdir) before installing new files there.
21708
21709 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
21710
21711 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
21712 grub-mkelfimage.
21713
21714 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
21715
21716 * util/grub-mkconfig.in: Don't use gfxterm by default if not
21717 explicitly specified by the user.
21718
21719 2009-08-18 Pavel Roskin <proski@gnu.org>
21720
21721 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
21722 grub_uint8_t pointer for data.
21723 * include/grub/fbutil.h (struct grub_video_fbblit_info):
21724 Likewise.
21725 * video/fb/fbutil.c: Remove unnecessary casts.
21726
21727 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
21728
21729 VBE cleanup.
21730
21731 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
21732 (grub_vbe_set_video_mode): Save active mode info
21733 only after setting the mode.
21734 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
21735 second argument.
21736
21737 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
21738
21739 Rename variables for clarity.
21740
21741 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
21742 (active_vbe_mode_info): ... this. All users updated.
21743 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
21744 All users updated.
21745 (initial_mode): Rename to ...
21746 (initial_vbe_mode): ... this. All users updated.
21747 (mode_in_use): Rename to ..
21748 (vbe_mode_in_use): ... this. All users updated.
21749 (mode_list): Rename to ..
21750 (vbe_mode_list): ... this. All users updated.
21751 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
21752 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
21753 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
21754 'mode_list_size' to 'vbe_mode_list_size'.
21755 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
21756 'best_mode_info' to 'best_vbe_mode_info' and
21757 'best_mode' to 'best_vbe_mode'
21758
21759 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
21760
21761 Remove duplicate grub_video_fb_get_video_ptr.
21762
21763 * include/grub/fbutil.h (get_data_ptr): Rename to ...
21764 (grub_video_fb_get_video_ptr): ... this.
21765 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
21766 * video/fb/fbutil.c: Add comment about addressing.
21767 (get_data_ptr): Rename to ...
21768 (grub_video_fb_get_video_ptr): ... this. All users updated.
21769 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
21770
21771 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21772
21773 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
21774 grub_dprintf() that was just added.
21775
21776 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21777
21778 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
21779 (DEFAULT_VIDEO_MODE): Remove macros.
21780 (grub_linux_boot): Remove assumption that Linux has FB support,
21781 and use "text" as default video mode.
21782
21783 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
21784
21785 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
21786 grub_dprintf.
21787 * fs/fat.c (grub_fat_read_data): Likewise.
21788
21789 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21790
21791 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
21792 payload.
21793 (grub_module): Likewise.
21794
21795 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21796
21797 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
21798 mbi->cmdline but free playground.
21799
21800 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21801
21802 Handle group offset on UFS1.
21803
21804 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
21805 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
21806
21807 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21808
21809 Split ufs.mod into ufs1.mod and ufs2.mod.
21810
21811 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
21812 (grub_fstest_SOURCES): Likewise.
21813 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
21814 (ufs_mod_SOURCES): Remove.
21815 (ufs_mod_CFLAGS): Likewise.
21816 (ufs_mod_LDFLAGS): Likewise.
21817 (ufs1_mod_SOURCES): New variable.
21818 (ufs1_mod_CFLAGS): Likewise.
21819 (ufs1_mod_LDFLAGS): Likewise.
21820 (ufs2_mod_SOURCES): New variable.
21821 (ufs2_mod_CFLAGS): Likewise.
21822 (ufs2_mod_LDFLAGS): Likewise.
21823 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
21824 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21825 Likewise.
21826 (grub_emu_SOURCES): Likewise.
21827 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21828 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21829 (grub_setup_SOURCES): Likewise.
21830 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21831 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
21832 (grub_setup_SOURCES): Likewise.
21833 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21834 Likewise.
21835 * fs/ufs2.c: New file.
21836 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
21837
21838 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21839
21840 Framebuffer split.
21841
21842 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
21843 subsystem at the end.
21844 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
21845 (video_fb_mod_SOURCES): New variable.
21846 (video_fb_mod_CFLAGS): Likewise.
21847 (video_fb_mod_LDFLAGS): Likewise.
21848 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
21849 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
21850 * video/i386/pc/vbeblit.c: Moved from here ...
21851 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
21852 * video/i386/pc/vbefill.c: Moved from here ...
21853 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
21854 * video/i386/pc/vbeutil.c: Moved from here ...
21855 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
21856 * include/grub/i386/pc/vbeblit.h: Moved from here ...
21857 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
21858 * include/grub/i386/pc/vbefill.h: Moved from here ...
21859 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
21860 * include/grub/i386/pc/vbeutil.h: Moved from here ...
21861 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
21862 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
21863 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
21864 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
21865 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
21866 (grub_video_adapter): Added 'get_info_and_fini'.
21867 (grub_video_get_info_and_fini): New prototype.
21868 (grub_video_set_mode): make modestring const char *.
21869 * loader/i386/linux.c (grub_linux_setup_video): Use
21870 grub_video_get_info_and_fini.
21871 (grub_linux_boot): Move modesetting just before booting.
21872 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
21873 grub_video_get_info_and_fini.
21874 * video/i386/pc/vbe.c: Moved framebuffer part ...
21875 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
21876 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
21877 grub_video_fbstd_colors and grub_video_fb_set_palette.
21878 (grub_video_vbe_init): Clear 'framebuffer' variable and use
21879 grub_video_fb_init.
21880 (grub_video_vbe_fini): Use grub_video_fb_fini.
21881 (grub_video_vbe_setup): Use framebuffer.render_target instead of
21882 render_target and use grub_video_fb_set_active_render_target and
21883 grub_video_fb_set_palette.
21884 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
21885 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
21886 (grub_video_vbe_adapter): Use framebuffer.
21887 * video/video.c (grub_video_get_info_and_fini): New function.
21888 (grub_video_set_mode): Make modestring const char *.
21889 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
21890 values are already initialised.
21891
21892 2009-08-14 Pavel Roskin <proski@gnu.org>
21893
21894 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
21895 ABS and APPLE_CC.
21896 * boot/i386/pc/diskboot.S: Likewise.
21897 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
21898 sectors allow compilation on MacOSX.
21899 * conf/i386-pc.rmk: Enable unconditional compilation of
21900 lnxboot.img.
21901
21902 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
21903
21904 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
21905 * util/grub.d/00_header.in: Enter interruptible sleep if
21906 GRUB_HIDDEN_TIMEOUT is set.
21907
21908 2009-08-13 Yves Blusseau <blusseau@zetam.org>
21909
21910 * include/grub/symbol.h: Add the LOCAL macro.
21911 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
21912 starting with "L_".
21913
21914 2009-08-13 Pavel Roskin <proski@gnu.org>
21915
21916 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
21917 any modern compilers we support.
21918
21919 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
21920 Use local labels starting with "L_" so that Apple assembler
21921 knows they are local.
21922
21923 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
21924
21925 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
21926 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
21927 (bsd_kernel_types): ... this enum.
21928
21929 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
21930 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
21931 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
21932
21933 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
21934 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
21935 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
21936 messages.
21937
21938 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
21939
21940 * util/grub-dumpdevtree: Moved from here ...
21941 * util/i386/efi/grub-dumpdevtree: ... to here.
21942 (hexify): New function. Converts a string to its hex version.
21943 Generate hex versions of "efi" and "device-properties" by calling
21944 hexify() on the ASCII strings rather than by hardcoding numbers.
21945
21946 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
21947
21948 * fs/jfs.c: Update copyright year.
21949
21950 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
21951
21952 * util/grub.d/00_header.in: Fix a comment.
21953 * util/grub.d/10_linux.in: Likewise.
21954 * util/grub.d/10_windows.in: Likewise.
21955 * util/grub.d/10_hurd.in: Likewise.
21956
21957 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
21958
21959 * util/grub-mkconfig.in: Allow the user to specify the used font
21960 with GRUB_FONT.
21961
21962 2009-08-08 Pavel Roskin <proski@gnu.org>
21963
21964 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
21965 available, xfs.mod needs it now.
21966
21967 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
21968 the "g" modifier in sed when the intention is to strip something
21969 once. This fixes comparison of kernels with multiple dashes.
21970
21971 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
21972 on it. Add missing space before closing bracket. Fix
21973 misleading formatting.
21974
21975 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21976
21977 * docs/grub.texi: Major overhaul. Remove all sections that are
21978 specific to GRUB Legacy, or mostly composed of Legacy-specific
21979 information.
21980
21981 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21982
21983 * docs/version.texi: New file. Provides version information for
21984 grub.texi.
21985
21986 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21987
21988 * docs/grub.texi: Update CVS information to SVN.
21989 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
21990
21991 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
21992
21993 * util/grub-mkconfig.in: Remove a wrong `fi'.
21994
21995 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
21996
21997 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
21998 (grub_jfs_uuid): New function.
21999 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
22000
22001 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
22002
22003 * util/grub-mkconfig_lib.in (font_path): Move the functionality
22004 of it to ...
22005 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
22006 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
22007
22008 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22009
22010 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
22011 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
22012 Update all users.
22013
22014 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
22015 not just "vmlinu[zx]".
22016 Moved from here ...
22017 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
22018 all users.
22019
22020 * util/grub.d/10_linux.in (find_latest): Moved from here ...
22021 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
22022 all users.
22023
22024 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22025
22026 * util/grub.d/10_freebsd.in: Use an absolute device path for
22027 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
22028
22029 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
22030
22031 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
22032 handling of multiple abstraction modules.
22033
22034 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
22035
22036 Fix a bug resulting in black screen when loading Linux using a
22037 packed video mode.
22038
22039 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
22040 function.
22041
22042 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
22043 (grub_vbe_bios_getset_dac_palette_width): New function.
22044 (grub_vbe_bios_get_dac_palette_width)
22045 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
22046 grub_vbe_bios_getset_dac_palette_width()).
22047
22048 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
22049 check for return status.
22050 (grub_vbe_get_video_mode_info): When getting information for a packed
22051 mode (<= 8 bpp), obtain DAC palette width using
22052 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
22053 {red,green,blue}_mark_size.
22054
22055 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
22056
22057 * commands/search.c (options): Fix help output to match actual code.
22058
22059 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
22060
22061 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
22062 of homegrown code.
22063
22064 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22065
22066 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
22067 on XFS or ReiserFS.
22068
22069 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22070
22071 Support Apple partition map with sector size different from 512 bytes.
22072
22073 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
22074 (apple_partition_map_iterate): Respect 'aheader.blocksize'
22075 and 'apart.partmap_size'.
22076
22077 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22078 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
22079
22080 Fix cpuid command.
22081
22082 * commands/i386/cpuid.c (options): New variable.
22083 (grub_cmd_cpuid): Return real error.
22084 (GRUB_MOD_INIT(cpuid)): Declare options.
22085
22086 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
22087
22088 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
22089 valid.
22090
22091 2009-07-31 Bean <bean123ch@gmail.com>
22092
22093 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
22094 log2_inode.
22095 (grub_fshelp_node): Move inode field to the end.
22096 (grub_xfs_data): Remove inode field.
22097 (grub_xfs_inode_block): Calculate inode size using sblock.
22098 (grub_xfs_inode_offset): Likewise.
22099 (grub_xfs_read_inode): Calculate inode size using sblock.
22100 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
22101 (grub_xfs_iterate_dir): Calculate inode size using sblock.
22102 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
22103 to match inode size.
22104 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
22105 not accessible when data is null.
22106 (grub_xfs_open): Likewise.
22107
22108 2009-07-31 Bean <bean123ch@gmail.com>
22109
22110 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
22111 Don't change pv->disk if it's already set.
22112
22113 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
22114 (grub_raid_register): ... here.
22115 (grub_raid_rescan): Removed.
22116
22117 * include/grub/raid.h (grub_raid_rescan): Removed.
22118
22119 * util/grub-fstest.c: Remove include file <grub/raid.h>.
22120 (fstest): Replace grub_raid_rescan with module fini function followed
22121 by init function.
22122
22123 * util/grub-probe.c: Add include file <grub/raid.h>.
22124 (probe_raid_level): New function.
22125 (probe): Detect abstraction by walking the disk device, support two
22126 level of abstraction (LVM on RAID) when detecting partition map.
22127
22128 2009-07-31 Pavel Roskin <proski@gnu.org>
22129
22130 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
22131 to grub_zalloc(), it was erroneous.
22132 Reported by Bean <bean123ch@gmail.com>
22133
22134 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
22135
22136 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
22137 embedding zone, not only the first one.
22138
22139 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
22140
22141 * term/gfxterm.c (clear_char): New function.
22142 (grub_virtual_screen_setup): Use clear_char.
22143 (scroll_up): Likewise.
22144 (grub_virtual_screen_cls): Likewise.
22145
22146 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
22147
22148 * util/deviceiter.c (get_acceleraid_disk_name): New static
22149 function.
22150 (grub_util_iterate_devices): Handle Accelraid devices.
22151 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
22152
22153 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
22154
22155 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
22156 separator for the suggested gfxpayload string (';' collides with the
22157 parser and needs escaping).
22158
22159 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
22160
22161 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
22162 Clear direction flag before jumping to OS.
22163 (grub_multiboot2_real_boot): Likewise.
22164
22165 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
22166
22167 * util/i386/pc/grub-install: Fix parsing of --disk-module
22168 option.
22169
22170 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
22171
22172 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
22173 when embedding.
22174
22175 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
22176
22177 * util/grub-mkconfig.in (package_version): New variable.
22178 Use it do display the version.
22179
22180 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
22181
22182 * kern/file.c (grub_file_open): Revert to previous check with
22183 grub_errno.
22184
22185 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
22186
22187 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
22188 from help line. It's out of sync with code.
22189
22190 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
22191
22192 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
22193 entries on failed boot.
22194
22195 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
22196
22197 * kern/file.c (grub_file_open): Fix an error check.
22198
22199 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
22200
22201 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
22202 partition map couldn't be identified.
22203
22204 2009-07-23 Pavel Roskin <proski@gnu.org>
22205
22206 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
22207 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
22208 case of little endian words becomes just an optimization.
22209 Respect const modifier.
22210 (md5_final): Use code that doesn't depend on endianness.
22211
22212 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
22213 to avoid loss of upper bits if align is unsigned and shorter
22214 than addr.
22215
22216 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
22217
22218 UUID support for UFS
22219
22220 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
22221 (grub_ufs_uuid): New function.
22222 (grub_ufs_fs): add .uuid
22223
22224 2009-07-21 Pavel Roskin <proski@gnu.org>
22225
22226 * kern/dl.c (grub_dl_check_header): Make static.
22227
22228 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
22229
22230 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
22231 add drivemap for Vista. It breaks Windows 7.
22232
22233 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
22234
22235 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
22236 128 bytes
22237
22238 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22239
22240 Add BFS support
22241
22242 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
22243 (grub_fstest_SOURCES): Likewise.
22244 (pkglib_MODULES): Add befs.mod.
22245 (befs_mod_SOURCES): New variable.
22246 (befs_mod_CFLAGS): Likewise.
22247 (befs_mod_LDFLAGS): Likewise.
22248 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22249 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22250 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22251 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22252 (grub_setup_SOURCES): Likewise.
22253 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22254 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22255 (grub_setup_SOURCES): Likewise.
22256 * fs/befs.c: New file.
22257 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
22258 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
22259 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
22260 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
22261 (B_KEY_INDEX_ALIGN): New declaration.
22262 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
22263 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
22264 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
22265 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
22266 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
22267 (grub_afs_mount) [MODE_BFS]: Likewise.
22268 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
22269 (grub_afs_fs): Use GRUB_AFS_FSNAME
22270 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
22271 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
22272 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
22273 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
22274
22275 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
22276
22277 * util/getroot.c (find_root_device): Add support for MacOSX.
22278 * util/hostdisk.c: Likewise.
22279
22280 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22281
22282 * font/font.c (find_glyph): Check whether a font is present to avoid
22283 segmentation fault.
22284
22285 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
22286
22287 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
22288
22289 2009-07-20 Pavel Roskin <proski@gnu.org>
22290
22291 * configure.ac: Trim excessively wordy excuses.
22292
22293 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22294
22295 Add symlink, mtime and label support to AtheFS.
22296
22297 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
22298 (grub_afs_iterate_dir): Handle symlinks.
22299 (grub_afs_open): Use grub_afs_read_symlink.
22300 (grub_afs_dir): Likewise.
22301 Pass mtime.
22302 (grub_afs_label): New function.
22303 (grub_afs_fs): Add grub_afs_label.
22304 (grub_afs_read_symlink): New function.
22305
22306 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22307
22308 Fix AtheFS support.
22309
22310 * fs/afs.c: Fix comments style.
22311 (grub_afs_blockrun): Declare as packed.
22312 (grub_afs_datastream): Likewise.
22313 (grub_afs_bnode): Likewise.
22314 (grub_afs_btree): Likewise.
22315 (grub_afs_sblock): Likewise.
22316 Declare `name' as char.
22317 (grub_afs_inode): Declare as packed.
22318 Change void *vnode to grub_uint32_t unused.
22319 (grub_afs_iterate_dir): Check that key_size is positive.
22320 (grub_afs_mount): Don't read superblock twice.
22321 (grub_afs_dir): Don't free node in case of error,
22322 grub_fshelp_find_file already handles this.
22323 (grub_afs_open): Likewise.
22324
22325 2009-07-19 Pavel Roskin <proski@gnu.org>
22326
22327 * Makefile.in: Remove LIBLZO and enable_lzo.
22328 * conf/i386-pc.rmk: Remove lzo support.
22329 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
22330 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
22331 support.
22332 * kern/i386/pc/lzo1x.S: Remove.
22333 * kern/i386/pc/startup.S: Remove lzo support.
22334 * util/i386/pc/grub-mkimage.c: Likewise.
22335
22336 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
22337
22338 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
22339 * fs/xfs.c (grub_xfs_dir): Likewise.
22340 * fs/afs.c (grub_afs_dir): Likewise.
22341 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
22342 (grub_iso9660_open): Likewise.
22343 * fs/jfs.c (grub_jfs_open): Likewise.
22344 * fs/ext2.c (grub_ext2_dir): Likewise.
22345 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
22346 * script/sh/lexer.c (grub_script_yylex): Likewise.
22347
22348 2009-07-16 Pavel Roskin <proski@gnu.org>
22349
22350 * configure.ac: Never add "-c" to CFLAGS.
22351
22352 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
22353
22354 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
22355 grub_cv_cc_efiemu should be used.
22356
22357 * configure.ac: Typo fixes.
22358
22359 * kern/mm.c (grub_zalloc): New function.
22360 (grub_debug_zalloc): Likewise.
22361 * include/grub/mm.h: Declare grub_zalloc() and
22362 grub_debug_zalloc().
22363 * util/misc.c (grub_zalloc): New function.
22364 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
22365 instead of grub_malloc(), remove unneeded initializations.
22366 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
22367 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
22368 * commands/parttool.c (grub_cmd_parttool): Likewise.
22369 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
22370 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
22371 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
22372 * disk/usbms.c (grub_usbms_finddevs): Likewise.
22373 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
22374 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
22375 (grub_cmd_efiemu_pnvram): Likewise.
22376 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
22377 * fs/iso9660.c (grub_iso9660_mount): Likewise.
22378 (grub_iso9660_iterate_dir): Likewise.
22379 * fs/jfs.c (grub_jfs_opendir): Likewise.
22380 * fs/ntfs.c (list_file): Likewise.
22381 (grub_ntfs_mount): Likewise.
22382 * kern/disk.c (grub_disk_open): Likewise.
22383 * kern/dl.c (grub_dl_load_core): Likewise.
22384 * kern/elf.c (grub_elf_file): Likewise.
22385 * kern/env.c (grub_env_context_open): Likewise.
22386 (grub_env_set): Likewise.
22387 (grub_env_set_data_slot): Likewise.
22388 * kern/file.c (grub_file_open): Likewise.
22389 * kern/fs.c (grub_fs_blocklist_open): Likewise.
22390 * loader/i386/multiboot.c (grub_module): Likewise.
22391 * loader/xnu.c (grub_xnu_create_key): Likewise.
22392 (grub_xnu_create_value): Likewise.
22393 * normal/main.c (grub_normal_add_menu_entry): Likewise.
22394 (read_config_file): Likewise.
22395 * normal/menu_entry.c (make_screen): Likewise.
22396 * partmap/sun.c (sun_partition_map_iterate): Likewise.
22397 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
22398 * script/sh/script.c (grub_script_parse): Likewise.
22399 * video/bitmap.c (grub_video_bitmap_create): Likewise.
22400 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
22401 * video/readers/png.c (grub_png_output_byte): Likewise.
22402 (grub_video_reader_png): Likewise.
22403
22404 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22405
22406 Enable all targets that can be built by default
22407
22408 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
22409 grub-mkfont and grub-fstest if they can be built
22410
22411 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22412
22413 Fix hang and segmentation fault in grub-emu-usb
22414
22415 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
22416 * util/usb.c (grub_libusb_devices): likewise
22417 (grub_libusb_init): rename to ...
22418 (GRUB_MOD_INIT (libusb)):...this
22419 (grub_libusb_fini): rename to ..
22420 (GRUB_MOD_FINI (libusb)):...this
22421 * disk/usbms.c (grub_usbms_transfer): fix retry logic
22422 * include/grub/disk.h (grub_raid_init): removed, it's useless
22423 (grub_raid_fini): likewise
22424 (grub_lvm_init): likewise
22425 (grub_lvm_fini): likewise
22426 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
22427 by grub_init_all
22428
22429 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22430
22431 Fix libusb
22432
22433 * Makefile.in (LIBUSB): new macro
22434 * genmk.rb (Utility/print_tail): new method
22435 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
22436 (top level): call util.print_tail at the end.
22437
22438 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22439
22440 Make FreeBSD accept zpool.cache
22441
22442 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
22443 type is /boot/zfs/zpool.cache
22444
22445 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22446
22447 Fix 64-bit efiemu
22448
22449 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
22450 correct wrong typedef
22451 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
22452
22453 2009-07-15 Pavel Roskin <proski@gnu.org>
22454
22455 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
22456 * kern/disk.c (struct grub_disk_cache): Likewise.
22457
22458 * commands/probe.c (options): Typo fix.
22459
22460 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
22461 Increase to 0x5a to accommodate FAT32. Adjust other offsets
22462 accordingly.
22463 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
22464
22465 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
22466 the end of "Error" to make the message more readable.
22467
22468 * boot/i386/pc/boot.S (kernel_segment): Remove.
22469 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
22470 for destination.
22471
22472 * boot/i386/pc/boot.S (boot_version): Remove.
22473 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
22474 Remove.
22475
22476 * include/grub/i386/pc/boot.h: Sort all offsets.
22477 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
22478 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
22479 * boot/i386/pc/boot.S: Assert location of every offset listed in
22480 include/grub/i386/pc/boot.h.
22481
22482 2009-07-13 Pavel Roskin <proski@gnu.org>
22483
22484 * include/grub/i386/coreboot/machine.h: Rename
22485 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
22486 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
22487 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
22488
22489 * kern/dl.c: Force native word size to suppress warnings when
22490 compiling grub-emu.
22491
22492 * kern/device.c (grub_device_iterate): Change struct part_ent to
22493 hold the name, not a pointer to it. Use one grub_malloc() per
22494 partition, not two. Free partition_name if grub_malloc() fails.
22495 Set ents to NULL only before grub_partition_iterate() is called.
22496
22497 2009-07-11 Bean <bean123ch@gmail.com>
22498
22499 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
22500 childname.
22501
22502 2009-07-10 Bean <bean123ch@gmail.com>
22503 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
22504
22505 * kern/ieee1275/openfw.c (grub_children_iterate)
22506 (grub_devalias_iterate): Fix size evaluation for property or path
22507 strings, which was broken since r2132.
22508
22509 2009-07-07 Pavel Roskin <proski@gnu.org>
22510
22511 * commands/search.c (search_file): Merge into ...
22512 (search_fs): ... this. Accept search type as argument.
22513 (grub_cmd_search): Pass search type to search_fs().
22514
22515 * include/grub/util/console.h: New file.
22516 * util/console.c: Use it instead of grub/machine/console.h.
22517 * util/grub-emu.c: Likewise.
22518
22519 * lib/arg.c (find_long_option): Remove.
22520 (find_long): Add `len' argument, make `s' const char *.
22521 (grub_arg_parse): Parse long options in place, not in a
22522 temporary buffer.
22523
22524 2009-07-06 Pavel Roskin <proski@gnu.org>
22525
22526 * commands/search.c (search_fs): Fix potential NULL pointer
22527 dereference.
22528
22529 * commands/search.c (search_fs): Replace QUID macro with quid_fn
22530 function pointer.
22531
22532 2009-07-06 Daniel Mierswa <impulze@impulze.org>
22533
22534 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
22535 comparison.
22536
22537 2009-07-05 Pavel Roskin <proski@gnu.org>
22538
22539 * include/grub/i386/linux.h (struct linux_kernel_params):
22540 Restore padding3, it's still needed.
22541
22542 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
22543 FreeBSD.
22544 * util/osdetect.lua: Likewise.
22545
22546 2009-07-05 Bean <bean123ch@gmail.com>
22547
22548 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
22549
22550 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
22551 (grub_lua_getenv): Likewise.
22552 (grub_lua_setenv): Likewise.
22553 (save_errno): New function.
22554 (push_result): Likewise.
22555 (grub_lua_enum_device): Likewise.
22556 (grub_lua_enum_file): Likewise.
22557 (grub_lua_file_open): Likewise.
22558 (grub_lua_file_close): Likewise.
22559 (grub_lua_file_seek): Likewise.
22560 (grub_lua_file_read): Likewise.
22561 (grub_lua_file_getline): Likewise.
22562 (grub_lua_file_getsize): Likewise.
22563 (grub_lua_file_getpos): Likewise.
22564 (grub_lua_file_eof): Likewise.
22565 (grub_lua_file_exist): Likewise.
22566 (grub_lua_add_menu): Likewise.
22567
22568 * script/lua/grub_lua.h (isupper): New inline function.
22569 (islower): Likewise.
22570 (ispunct): Likewise.
22571 (isxdigit): Likewise.
22572 (strcspn): Change to normal function.
22573 (strpbkr): New function declaration.
22574 (memchr): Likewise.
22575
22576 * script/lua/grub_main.c (scan_str): New function.
22577 (strcspn): Likewise.
22578 (strpbrk): Likewise.
22579 (memchr): Likewise.
22580
22581 * script/lua/linit.c (lualibs): Enable the string library.
22582
22583 * util/osdetect.lua: New file.
22584
22585 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
22586
22587 * include/grub/i386/linux.h (struct linux_kernel_params): Add
22588 `capabilities' member.
22589
22590 2009-07-02 Pavel Roskin <proski@gnu.org>
22591
22592 * genparttoollist.sh: Add missing newline at the end.
22593
22594 2009-07-01 Pavel Roskin <proski@gnu.org>
22595
22596 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
22597
22598 * util/hostdisk.c (open_device): Remove `const' from
22599 `sysctl_size', as sysctlbyname() can change it (in this case it
22600 doesn't actually happen).
22601
22602 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
22603 using signed long int constants.
22604
22605 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
22606 constant to avoid a warning on FreeBSD.
22607
22608 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
22609 where it's needed.
22610
22611 * Makefile.in: Install include/grub/machine symlink.
22612
22613 * Makefile.in: When installing symlinks, use "cp -fR", which
22614 works on FreeBSD and MacOSX.
22615 From Yves Blusseau <cl7m42e02@sneakemail.com>
22616
22617 * kern/dl.c (grub_dl_resolve_symbol): Make static.
22618 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
22619
22620 * util/misc.c: Move grub_reboot() and grub_halt() ...
22621 * util/grub-emu.c: ... here. Make main_env static.
22622 * include/grub/util/misc.h: Remove main_env.
22623
22624 * kern/mm.c: Use correct format to print size_t.
22625
22626 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
22627 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
22628 * kern/powerpc/dl.c: Likewise.
22629 * kern/sparc64/dl.c: Likewise.
22630 * kern/x86_64/dl.c: Likewise.
22631
22632 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22633
22634 Fix grub-emu build on sparc64-ieee1275.
22635
22636 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
22637 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
22638
22639 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22640
22641 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
22642 (grub_reboot, grub_halt): New functions.
22643
22644 * util/i386/pc/misc.c: Delete. Update all users.
22645 * util/sparc64/ieee1275/misc.c: Likewise.
22646 * util/powerpc/ieee1275/misc.c: Likewise.
22647
22648 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22649
22650 * conf/i386.rmk (setjmp_mod_SOURCES)
22651 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
22652 * conf/common.rmk (setjmp_mod_SOURCES)
22653 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
22654 to use $(target_cpu).
22655 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
22656 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
22657 * conf/powerpc-ieee1275.rmk: Likewise.
22658 * conf/sparc64-ieee1275.rmk: Likewise.
22659
22660 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
22661 $(target_cpu) for kern/$(target_cpu)/dl.c.
22662 * conf/i386-efi.rmk: Likewise.
22663 * conf/i386-ieee1275.rmk: Likewise.
22664 * conf/x86_64-efi.rmk: Likewise.
22665 * conf/i386-coreboot.rmk: Likewise.
22666 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
22667 $(target_cpu) for kern/$(target_cpu)/dl.c and for
22668 kern/$(target_cpu)/cache.S.
22669 * conf/sparc64-ieee1275.rmk: Likewise.
22670
22671 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22672
22673 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
22674 type to `grub_uint8_t', and adjust `padding9' accordingly.
22675
22676 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22677
22678 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
22679
22680 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
22681 assembly in final jump, using register constraints.
22682
22683 (grub_linux_boot): For text mode, initialize `have_vga' using
22684 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
22685
22686 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
22687 right before the final jump.
22688
22689 Set `video_mode' to 0x3.
22690
22691 Document initialization of `video_page', `video_mode' and
22692 `video_ega_bx'.
22693
22694 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22695
22696 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
22697 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
22698 and set GRUB_LINUX_FLAG_QUIET appropriately.
22699
22700 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22701
22702 Fix build on Debian / sparc.
22703
22704 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
22705
22706 2009-06-28 Pavel Roskin <proski@gnu.org>
22707
22708 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
22709 fix a warning.
22710
22711 * util/grub.d/10_linux.in: Match SUSE style initrd names.
22712
22713 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22714
22715 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
22716 `err'.
22717
22718 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22719
22720 Revert r2338.
22721
22722 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
22723 file can't be opened. grub_file_open() is already supposed to set
22724 grub_errno / grub_errmsg appropriately.
22725 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22726
22727 2009-06-27 Pavel Roskin <proski@gnu.org>
22728 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22729
22730 * include/grub/dl.h: Include grub/elf.h.
22731 (struct grub_dl): Add symtab field.
22732 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
22733 GRUB_MODULES_MACHINE_READONLY.
22734 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
22735 of the header for read-only modules.
22736 (grub_dl_unload): Free mod->symtab for read-only modules.
22737 * kern/i386/dl.c: Use mod->symtab.
22738 * kern/powerpc/dl.c: Likewise.
22739 * kern/sparc64/dl.c: Likewise.
22740 * kern/x86_64/dl.c: Likewise.
22741
22742 * conf/i386-qemu.rmk: New file.
22743 * kern/i386/qemu/startup.S: Likewise.
22744 * kern/i386/qemu/mmap.c: Likewise.
22745 * boot/i386/qemu/boot.S: Likewise.
22746 * include/grub/i386/qemu/time.h: Likewise.
22747 * include/grub/i386/qemu/serial.h: Likewise.
22748 * include/grub/i386/qemu/kernel.h: Likewise.
22749 * include/grub/i386/qemu/console.h: Likewise.
22750 * include/grub/i386/qemu/boot.h: Likewise.
22751 * include/grub/i386/qemu/init.h: Likewise.
22752 * include/grub/i386/qemu/machine.h: Likewise.
22753 * include/grub/i386/qemu/loader.h: Likewise.
22754 * include/grub/i386/qemu/memory.h: Likewise.
22755
22756 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
22757 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
22758 [qemu] (pkglib_IMAGES): Add `boot.img'.
22759 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
22760 [qemu] (boot_img_FORMAT): New variables.
22761 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
22762 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
22763 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
22764 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22765 [qemu] (kernel_img_FORMAT): New variables.
22766
22767 * configure.ac: Recognise `i386-qemu'.
22768
22769 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
22770 (for no compression).
22771 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
22772 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
22773 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
22774 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
22775 ifdefs).
22776
22777 2009-06-27 Pavel Roskin <proski@gnu.org>
22778
22779 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
22780 read.
22781 * efiemu/prepare32.c: Likewise.
22782 * efiemu/prepare64.c: Likewise.
22783
22784 2009-06-26 Pavel Roskin <proski@gnu.org>
22785
22786 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
22787 * include/grub/elf.h: Define symbols without "32" or "64" based
22788 on GRUB_TARGET_WORDSIZE.
22789 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
22790 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
22791 ELF definitions.
22792 * efiemu/loadcore64.c: Likewise.
22793 * loader/i386/bsd32.c: Likewise.
22794 * loader/i386/bsd64.c: Likewise.
22795 * kern/dl.c: Remove own ELF definitions.
22796 * util/i386/efi/grub-mkimage.c: Likewise.
22797
22798 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
22799
22800 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
22801 segment 0x0 unconditionally, because the reference generated by
22802 GAS is an absolute address.
22803
22804 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22805
22806 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
22807 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
22808
22809 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22810
22811 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
22812 indexes. Check for -f explicitly.
22813 (search_file): Improve error message.
22814 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
22815
22816 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22817
22818 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
22819 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
22820
22821 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22822
22823 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
22824 * conf/i386-ieee1275.rmk: Likewise.
22825 * conf/i386-coreboot.rmk: Likewise.
22826
22827 * kern/i386/pc/startup.S (grub_stop): Remove function.
22828 * kern/i386/ieee1275/startup.S: Likewise.
22829 * kern/i386/coreboot/startup.S: Likewise.
22830 * kern/i386/misc.S (grub_stop): New function.
22831
22832 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22833
22834 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
22835 * kern/i386/realmode.S (real_to_prot): ... to here.
22836
22837 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22838
22839 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
22840 with `kernel.img'.
22841 (kernel_elf_SOURCES): Rename to ...
22842 (kernel_img_SOURCES): ... this.
22843 (kernel_elf_HEADERS): Rename to ...
22844 (kernel_img_HEADERS): ... this. Update all users.
22845 (kernel_elf_ASFLAGS): Rename to ...
22846 (kernel_img_ASFLAGS): ... this.
22847 (kernel_elf_CFLAGS): Rename to ...
22848 (kernel_img_CFLAGS): ... this.
22849 (kernel_elf_LDFLAGS): Rename to ...
22850 (kernel_img_LDFLAGS): ... this.
22851 * conf/i386-coreboot.rmk: Likewise.
22852 * conf/powerpc-ieee1275.rmk: Likewise.
22853
22854 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
22855 with "kernel.img".
22856
22857 2009-06-21 Pavel Roskin <proski@gnu.org>
22858
22859 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
22860 to match nested functions.
22861 * loader/sparc64/ieee1275/linux.c: Likewise.
22862
22863 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
22864
22865 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
22866
22867 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
22868 all i386 platforms.
22869
22870 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
22871
22872 Fix asm file handling on ELF, and remove workarounds.
22873
22874 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
22875 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
22876 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
22877 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
22878
22879 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
22880
22881 Load BSD ELF modules
22882
22883 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
22884 and loader/i386/bsd64.c
22885 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
22886 (FREEBSD_MODTYPE_ELF_MODULE): New definition
22887 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
22888 (grub_freebsd_load_elfmodule32): New declaration
22889 (grub_freebsd_load_elfmoduleobj64): Likewise
22890 (grub_freebsd_load_elf_meta32): Likewise
22891 (grub_freebsd_load_elf_meta64): Likewise
22892 (grub_freebsd_add_meta): Likewise
22893 (grub_freebsd_add_meta_module): Likewise
22894 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
22895 (grub_freebsd_add_meta_module): Likewise and move module-specific
22896 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
22897 (grub_cmd_freebsd): Add elf-kernel specific parts
22898 based on grub_freebsd_add_meta_module
22899 (grub_cmd_freebsd_module): Add type parsing moved from
22900 grub_freebsd_add_meta_module
22901 (grub_cmd_freebsd_module_elf): New function
22902 (cmd_freebsd_module_elf): New variable
22903 (GRUB_MOD_INIT): Register freebsd_module_elf
22904 * loader/i386/bsd32.c: New file
22905 * loader/i386/bsd64.c: Likewise
22906 * loader/i386/bsdXX.c: Likewise
22907 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
22908 (grub_elf64_load): Likewise
22909 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
22910 All users updated
22911 (grub_elf64_load_hook_t): Likewise
22912
22913 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
22914
22915 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
22916 variable.
22917 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
22918 don't write a menu entry for recovery mode.
22919
22920 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
22921
22922 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
22923 after it's no longer needed.
22924
22925 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
22926
22927 * include/grub/i386/loader.h (grub_linux_prot_size)
22928 (grub_linux_tmp_addr, grub_linux_real_addr)
22929 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
22930 GRUB_MACHINE_PCBIOS.
22931 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
22932 common grub_util_info() call to ...
22933 (generate_image): ... here.
22934 Fix use of uninitialized memory, comparison of signed with
22935 unsigned integers and memory leak.
22936 Remove bogus module address message.
22937
22938 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22939
22940 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
22941 grub_raid_register
22942 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
22943
22944 2009-06-19 Pavel Roskin <proski@gnu.org>
22945
22946 * configure.ac: Remove stray AC_MSG_CHECKING.
22947
22948 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
22949
22950 * disk/scsi.c (grub_scsi_open): use continue instead of big if
22951
22952 2009-06-18 Pavel Roskin <proski@gnu.org>
22953
22954 * conf/common.rmk: Add fs_file.mod.
22955 * disk/fs_file.c: New file.
22956 * include/grub/disk.h (enum grub_disk_dev_id): Add
22957 GRUB_DISK_DEVICE_FILE_ID.
22958
22959 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22960
22961 Fix build with Apple's toolchain. Part 2
22962
22963 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
22964 a fake start
22965
22966 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22967
22968 Fix build with Apple's toolchain. Part 1
22969
22970 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
22971 for long calls
22972 * configure.ac: remove a leftover AC_MSG_RESULT
22973 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
22974 Apple's toolchain
22975
22976 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22977
22978 Fix warnings
22979
22980 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
22981 (decomp_block): initialize ch
22982 use grub_memcpy instead of memcpy
22983
22984 2009-06-17 Pavel Roskin <proski@gnu.org>
22985
22986 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
22987 version, use declarations needed to use vga_text as the startup
22988 console.
22989
22990 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
22991 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
22992 the kernel.
22993 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
22994 and grub_at_keyboard_fini(), it's done on module load and
22995 unload.
22996
22997 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
22998
22999 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
23000 file can't be found.
23001 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
23002
23003 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
23004
23005 Fix newline handling
23006
23007 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
23008 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
23009 (grub_script_yylex): don't segfault on unterminated script
23010 newline terminates command and variable
23011
23012 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
23013
23014 avoid double grub_adjust_range call. Bug reported by David Simner
23015
23016 * kern/disk.c (grub_disk_write): change to raw disk access before
23017 calling disk_read
23018
23019 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
23020
23021 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
23022 spaces, for the benefit of help2man.
23023 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23024
23025 2009-06-16 Pavel Roskin <proski@gnu.org>
23026
23027 * kern/i386/halt.c: Include grub/machine/init.h.
23028 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
23029
23030 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
23031
23032 * util/grub.d/30_os-prober.in: Use ${root} in the generated
23033 drivemap menuentry.
23034
23035 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
23036
23037 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
23038 `echo' command.
23039
23040 2009-06-16 Pavel Roskin <proski@gnu.org>
23041
23042 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
23043 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
23044 save %dx, we only need %dl and we never change it.
23045 * boot/i386/pc/cdboot.S: Don't set the root drive.
23046 * boot/i386/pc/pxeboot.S: Likewise.
23047 * include/grub/i386/pc/boot.h: Remove
23048 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
23049 GRUB_BOOT_MACHINE_DRIVE_CHECK.
23050 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
23051 * kern/i386/pc/init.c (make_install_device): Remove references
23052 to grub_root_drive.
23053 * kern/i386/pc/startup.S: Likewise.
23054 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
23055
23056 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
23057
23058 xnu_uuid command
23059
23060 * commands/xnu_uuid.c: new file
23061 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
23062 (xnu_uuid_mod_SOURCES): new variable
23063 (xnu_uuid_mod_CFLAGS): likewise
23064 (xnu_uuid_mod_LDFLAGS): likewise
23065 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
23066 * conf/i386-ieee1275.rmk: likewise
23067 * conf/i386-pc.rmk: likewise
23068 * conf/powerpc-ieee1275.rmk: likewise
23069 * conf/sparc64-ieee1275.rmk: likewise
23070 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
23071
23072 2009-06-16 Pavel Roskin <proski@gnu.org>
23073
23074 * configure.ac: Avoid '==' in test command, it's not portable.
23075
23076 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
23077
23078 Probe command
23079
23080 * commands/probe.c: new file
23081 * conf/common.rmk (pkglib_MODULES): add probe.mod
23082 (probe_mod_SOURCES): new variable
23083 (probe_mod_CFLAGS): likewise
23084 (probe_mod_LDFLAGS): likewise
23085 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
23086 * conf/i386-ieee1275.rmk: likewise
23087 * conf/i386-pc.rmk: likewise
23088 * conf/powerpc-ieee1275.rmk: likewise
23089 * conf/sparc64-ieee1275.rmk: likewise
23090
23091 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
23092
23093 Fix handling of string like \"hello\" and "a
23094 b"
23095
23096 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
23097 (grub_script_yylex): fix parsing of quoting, escaping and newline
23098
23099 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
23100
23101 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
23102 handling
23103
23104 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
23105
23106 * util/grub-mkconfig.in: Fix parsing of --output option.
23107
23108 2009-06-12 Pavel Roskin <proski@gnu.org>
23109
23110 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
23111 genmk.rb don't need to be generated or installed.
23112
23113 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23114
23115 * commands/i386/pc/drivemap_int13h.S: add more comments
23116
23117 2009-06-11 Pavel Roskin <proski@gnu.org>
23118
23119 * Makefile.in (uninstall): Uninstall manuals.
23120
23121 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
23122 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
23123 and update-grub_lib in two places.
23124 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
23125
23126 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
23127 a compiler warning.
23128
23129 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
23130 `entry_lo' to fix variable shadowing.
23131
23132 2009-06-11 Christian Franke <franke@computer.org>
23133
23134 * kern/misc.c (__enable_execute_stack): Add missing return type
23135 to prevent gcc warning.
23136
23137 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
23138
23139 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
23140
23141 2009-06-11 Pavel Roskin <proski@gnu.org>
23142
23143 * Makefile.in: Don't rely on any scripts being executable.
23144 Always use $(SHELL) to run shell scripts.
23145
23146 * configure.ac: Always define ___main if using -nostdlib. This
23147 fixes tests on Cygwin.
23148
23149 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
23150
23151 UDF fix
23152
23153 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
23154 is in bytes and not in blocks
23155
23156 2009-06-11 Pavel Roskin <proski@gnu.org>
23157
23158 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
23159 warning.
23160
23161 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
23162
23163 * util/grub.d/30_os-prober.in: Fix a comment. Source
23164 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
23165 to set the root device. Place drivemap command in the generated
23166 chain entry.
23167
23168 2009-06-11 Pavel Roskin <proski@gnu.org>
23169
23170 * configure.ac: Remove host_m32. Issues with 64-bit utilities
23171 have long been resolved.
23172
23173 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
23174
23175 * util/grub.d/10_linux.in: Capitalise "Linux".
23176
23177 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
23178
23179 2009-06-11 Pavel Roskin <proski@gnu.org>
23180
23181 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
23182 fix a gcc warning and ensure that the function won't ever exit.
23183
23184 * kern/i386/ieee1275/init.c: Add missing prototype for
23185 grub_stop_floppy().
23186
23187 * loader/ieee1275/multiboot2.c [__i386__]: Include
23188 grub/cpu/multiboot.h.
23189
23190 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
23191 casts to short - they are not portable and cause warnings. Fix
23192 use of uninitialized values in input_buf. Use ARRAY_SIZE.
23193
23194 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
23195
23196 Drivemap fixes
23197
23198 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
23199 new function
23200 (grub_get_root_biosnumber_saved): new variable
23201 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
23202 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
23203 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
23204 %dx after the call if necessary
23205 * conf/common.rmk (pkglib_MODULES): remove boot.mod
23206 (boot_mod_SOURCES): remove
23207 (boot_mod_CFLAGS): remove
23208 (boot_mod_LDFLAGS): remove
23209 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
23210 (boot_mod_SOURCES): new variable
23211 (boot_mod_CFLAGS): likewise
23212 (boot_mod_LDFLAGS): likewise
23213 * conf/i386-efi.rmk: likewise
23214 * conf/i386-ieee1275.rmk: likewise
23215 * conf/i386-pc.rmk: likewise
23216 * conf/powerpc-ieee1275.rmk: likewise
23217 * conf/sparc64-ieee1275.rmk: likewise
23218 * conf/x86_64-efi.rmk: likewise
23219 * include/grub/i386/pc/biosnum.h: new file
23220 * lib/i386/pc/biosnum.c: likewise
23221 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
23222 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
23223 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
23224
23225 2009-06-10 Pavel Roskin <proski@gnu.org>
23226
23227 * io/gzio.c (test_header): Don't reuse one buffer for all data.
23228 Use separate variables. Read only the file size at the end, but
23229 not the checksum that we don't use.
23230
23231 * kern/file.c (grub_file_read): Use void pointer for the buffer.
23232 Adjust all callers.
23233
23234 * kern/ieee1275/openfw.c: Remove libc includes.
23235 * kern/ieee1275/cmain.c: Likewise.
23236 * include/grub/ieee1275/ieee1275.h: Likewise.
23237
23238 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
23239 compiler warnings.
23240
23241 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
23242
23243 * Makefile.in: Remove all trailing whitespace.
23244 * conf/i386-pc.rmk: Likewise.
23245 * conf/powerpc-ieee1275.rmk: Likewise.
23246 * conf/sparc64-ieee1275.rmk: Likewise.
23247 * docs/grub.texi: Likewise.
23248 * docs/texinfo.tex: Likewise.
23249 * disk/fs_uuid.c: Likewise.
23250 * disk/lvm.c: Likewise.
23251 * disk/scsi.c: Likewise.
23252 * disk/ata.c: Likewise.
23253 * disk/ieee1275/ofdisk.c: Likewise.
23254 * disk/i386/pc/biosdisk.c: Likewise.
23255 * disk/host.c: Likewise.
23256 * disk/raid.c: Likewise.
23257 * disk/efi/efidisk.c: Likewise.
23258 * disk/usbms.c: Likewise.
23259 * disk/memdisk.c: Likewise.
23260 * disk/loopback.c: Likewise.
23261 * kern/powerpc/dl.c: Likewise.
23262 * kern/device.c: Likewise.
23263 * kern/dl.c: Likewise.
23264 * kern/sparc64/dl.c: Likewise.
23265 * kern/ieee1275/ieee1275.c: Likewise.
23266 * kern/term.c: Likewise.
23267 * kern/fs.c: Likewise.
23268 * kern/i386/dl.c: Likewise.
23269 * kern/i386/pc/startup.S: Likewise.
23270 * kern/i386/pc/init.c: Likewise.
23271 * kern/i386/pc/mmap.c: Likewise.
23272 * kern/i386/pc/lzo1x.S: Likewise.
23273 * kern/i386/ieee1275/init.c: Likewise.
23274 * kern/i386/realmode.S: Likewise.
23275 * kern/i386/tsc.c: Likewise.
23276 * kern/partition.c: Likewise.
23277 * kern/corecmd.c: Likewise.
23278 * kern/file.c: Likewise.
23279 * kern/efi/efi.c: Likewise.
23280 * kern/efi/init.c: Likewise.
23281 * kern/efi/mm.c: Likewise.
23282 * kern/main.c: Likewise.
23283 * kern/err.c: Likewise.
23284 * kern/env.c: Likewise.
23285 * kern/disk.c: Likewise.
23286 * kern/generic/millisleep.c: Likewise.
23287 * kern/generic/rtc_get_time_ms.c: Likewise.
23288 * kern/misc.c: Likewise.
23289 * kern/parser.c: Likewise.
23290 * genmk.rb: Likewise.
23291 * configure.ac: Likewise.
23292 * boot/i386/pc/diskboot.S: Likewise.
23293 * boot/i386/pc/pxeboot.S: Likewise.
23294 * boot/i386/pc/boot.S: Likewise.
23295 * boot/i386/pc/lnxboot.S: Likewise.
23296 * boot/i386/pc/cdboot.S: Likewise.
23297 * parttool/pcpart.c: Likewise.
23298 * video/readers/tga.c: Likewise.
23299 * video/video.c: Likewise.
23300 * video/bitmap.c: Likewise.
23301 * lib/envblk.c: Likewise.
23302 * lib/i386/setjmp.S: Likewise.
23303 * fs/xfs.c: Likewise.
23304 * fs/afs.c: Likewise.
23305 * fs/fat.c: Likewise.
23306 * fs/ntfs.c: Likewise.
23307 * fs/udf.c: Likewise.
23308 * fs/affs.c: Likewise.
23309 * fs/iso9660.c: Likewise.
23310 * fs/hfs.c: Likewise.
23311 * fs/fshelp.c: Likewise.
23312 * fs/ext2.c: Likewise.
23313 * fs/jfs.c: Likewise.
23314 * fs/reiserfs.c: Likewise.
23315 * fs/hfsplus.c: Likewise.
23316 * fs/minix.c: Likewise.
23317 * fs/cpio.c: Likewise.
23318 * fs/sfs.c: Likewise.
23319 * fs/ufs.c: Likewise.
23320 * efiemu/prepare.c: Likewise.
23321 * efiemu/loadcore_common.c: Likewise.
23322 * efiemu/runtime/efiemu.sh: Likewise.
23323 * efiemu/runtime/efiemu.S: Likewise.
23324 * efiemu/runtime/efiemu.c: Likewise.
23325 * efiemu/pnvram.c: Likewise.
23326 * efiemu/main.c: Likewise.
23327 * efiemu/i386/pc/cfgtables.c: Likewise.
23328 * efiemu/i386/loadcore64.c: Likewise.
23329 * efiemu/i386/loadcore32.c: Likewise.
23330 * efiemu/loadcore.c: Likewise.
23331 * efiemu/symbols.c: Likewise.
23332 * efiemu/mm.c: Likewise.
23333 * include/grub/autoefi.h: Likewise.
23334 * include/grub/datetime.h: Likewise.
23335 * include/grub/term.h: Likewise.
23336 * include/grub/hfs.h: Likewise.
23337 * include/grub/lvm.h: Likewise.
23338 * include/grub/i386/tsc.h: Likewise.
23339 * include/grub/i386/linux.h: Likewise.
23340 * include/grub/i386/xnu.h: Likewise.
23341 * include/grub/i386/efiemu.h: Likewise.
23342 * include/grub/i386/pc/biosdisk.h: Likewise.
23343 * include/grub/i386/pc/memory.h: Likewise.
23344 * include/grub/i386/pc/vbe.h: Likewise.
23345 * include/grub/parttool.h: Likewise.
23346 * include/grub/video.h: Likewise.
23347 * include/grub/memory.h: Likewise.
23348 * include/grub/fs.h: Likewise.
23349 * include/grub/partition.h: Likewise.
23350 * include/grub/xnu.h: Likewise.
23351 * include/grub/efi/api.h: Likewise.
23352 * include/grub/efi/pe32.h: Likewise.
23353 * include/grub/efi/memory.h: Likewise.
23354 * include/grub/multiboot.h: Likewise.
23355 * include/grub/usbdesc.h: Likewise.
23356 * include/grub/multiboot2.h: Likewise.
23357 * include/grub/acpi.h: Likewise.
23358 * include/grub/efiemu/efiemu.h: Likewise.
23359 * include/grub/disk.h: Likewise.
23360 * include/grub/ieee1275/ieee1275.h: Likewise.
23361 * include/grub/net.h: Likewise.
23362 * include/grub/machoload.h: Likewise.
23363 * include/grub/macho.h: Likewise.
23364 * include/multiboot.h: Likewise.
23365 * genmoddep.awk: Likewise.
23366 * normal/main.c: Likewise.
23367 * normal/menu_entry.c: Likewise.
23368 * normal/menu_viewer.c: Likewise.
23369 * normal/completion.c: Likewise.
23370 * normal/cmdline.c: Likewise.
23371 * normal/misc.c: Likewise.
23372 * normal/datetime.c: Likewise.
23373 * bus/usb/usbtrans.c: Likewise.
23374 * bus/usb/ohci.c: Likewise.
23375 * bus/usb/uhci.c: Likewise.
23376 * bus/usb/usb.c: Likewise.
23377 * mmap/efi/mmap.c: Likewise.
23378 * mmap/i386/pc/mmap_helper.S: Likewise.
23379 * mmap/i386/pc/mmap.c: Likewise.
23380 * mmap/i386/mmap.c: Likewise.
23381 * mmap/i386/uppermem.c: Likewise.
23382 * mmap/mmap.c: Likewise.
23383 * commands/acpi.c: Likewise.
23384 * commands/echo.c: Likewise.
23385 * commands/blocklist.c: Likewise.
23386 * commands/loadenv.c: Likewise.
23387 * commands/usbtest.c: Likewise.
23388 * commands/boot.c: Likewise.
23389 * commands/parttool.c: Likewise.
23390 * commands/search.c: Likewise.
23391 * commands/cat.c: Likewise.
23392 * commands/i386/pc/play.c: Likewise.
23393 * commands/i386/pc/drivemap.c: Likewise.
23394 * commands/i386/pc/vbeinfo.c: Likewise.
23395 * commands/i386/pc/acpi.c: Likewise.
23396 * commands/i386/pc/vbetest.c: Likewise.
23397 * commands/ls.c: Likewise.
23398 * commands/cmp.c: Likewise.
23399 * commands/test.c: Likewise.
23400 * commands/efi/acpi.c: Likewise.
23401 * commands/gptsync.c: Likewise.
23402 * commands/help.c: Likewise.
23403 * partmap/amiga.c: Likewise.
23404 * partmap/apple.c: Likewise.
23405 * partmap/acorn.c: Likewise.
23406 * partmap/pc.c: Likewise.
23407 * partmap/sun.c: Likewise.
23408 * partmap/gpt.c: Likewise.
23409 * script/sh/lexer.c: Likewise.
23410 * script/sh/function.c: Likewise.
23411 * font/font.c: Likewise.
23412 * font/font_cmd.c: Likewise.
23413 * loader/powerpc/ieee1275/linux.c: Likewise.
23414 * loader/efi/chainloader.c: Likewise.
23415 * loader/multiboot_loader.c: Likewise.
23416 * loader/macho.c: Likewise.
23417 * loader/i386/multiboot.c: Likewise.
23418 * loader/i386/linux.c: Likewise.
23419 * loader/i386/pc/linux.c: Likewise.
23420 * loader/i386/pc/multiboot2.c: Likewise.
23421 * loader/i386/pc/chainloader.c: Likewise.
23422 * loader/i386/pc/xnu.c: Likewise.
23423 * loader/i386/bsd_trampoline.S: Likewise.
23424 * loader/i386/efi/linux.c: Likewise.
23425 * loader/i386/multiboot_elfxx.c: Likewise.
23426 * loader/i386/bsd_helper.S: Likewise.
23427 * loader/i386/bsd.c: Likewise.
23428 * loader/i386/linux_trampoline.S: Likewise.
23429 * loader/i386/xnu_helper.S: Likewise.
23430 * loader/i386/xnu.c: Likewise.
23431 * loader/i386/bsd_pagetable.c: Likewise.
23432 * loader/i386/multiboot_helper.S: Likewise.
23433 * loader/xnu.c: Likewise.
23434 * loader/xnu_resume.c: Likewise.
23435 * io/gzio.c: Likewise.
23436 * term/efi/console.c: Likewise.
23437 * term/terminfo.c: Likewise.
23438 * term/ieee1275/ofconsole.c: Likewise.
23439 * term/i386/pc/serial.c: Likewise.
23440 * term/i386/pc/vesafb.c: Likewise.
23441 * term/i386/pc/vga.c: Likewise.
23442 * term/usb_keyboard.c: Likewise.
23443 * term/gfxterm.c: Likewise.
23444 * aclocal.m4: Likewise.
23445 * util/lvm.c: Likewise.
23446 * util/grub.d/30_os-prober.in: Likewise.
23447 * util/grub.d/10_hurd.in: Likewise.
23448 * util/console.c: Likewise.
23449 * util/grub-macho2img.c: Likewise.
23450 * util/grub-probe.c: Likewise.
23451 * util/hostfs.c: Likewise.
23452 * util/i386/pc/grub-mkimage.c: Likewise.
23453 * util/i386/pc/grub-setup.c: Likewise.
23454 * util/i386/efi/grub-mkimage.c: Likewise.
23455 * util/grub-mkconfig.in: Likewise.
23456 * util/raid.c: Likewise.
23457 * util/resolve.c: Likewise.
23458 * util/grub-mkdevicemap.c: Likewise.
23459 * util/grub-emu.c: Likewise.
23460 * util/getroot.c: Likewise.
23461 * util/hostdisk.c: Likewise.
23462 * util/usb.c: Likewise.
23463 * util/grub-editenv.c: Likewise.
23464 * util/misc.c: Likewise.
23465
23466 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
23467
23468 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
23469 `genparttoollist.sh'.
23470 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
23471 Add `*.sh' to the list find searches for and change `mdate.sh'
23472 to `mdate-sh'.
23473
23474 2009-06-10 Pavel Roskin <proski@gnu.org>
23475
23476 * include/grub/multiboot2.h: Provide compatibility defines for
23477 multiboot2.h.
23478 * include/multiboot2.h: Include stdint.h only if needed, using
23479 angle brackets.
23480 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
23481 grub/multiboot2.h.
23482 * loader/ieee1275/multiboot2.c: Likewise.
23483 * loader/multiboot2.c: Likewise.
23484 * loader/multiboot_loader.c: Likewise.
23485
23486 * configure.ac: Use -nostdlib when probing for the target. It
23487 should not be required to have libc for the target.
23488
23489 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
23490 they fail without libc headers for the target.
23491 * include/grub/powerpc/libgcc.h: Use weak attribute for all
23492 exports.
23493 * include/grub/sparc64/libgcc.h: Likewise. Don't use
23494 preprocessor conditionals.
23495
23496 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
23497 build system doesn't need to be aware of the tar.c internals.
23498
23499 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
23500
23501 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
23502
23503 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
23504
23505 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
23506 disk limit to 26 for IDE, Virtio, Xen and SCSI.
23507
23508 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
23509
23510 * util/i386/pc/grub-install.in: Change the error message if UUIDs
23511 aren't available if ata.mod gets used.
23512
23513 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
23514
23515 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
23516 initialising controller.
23517 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
23518
23519 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
23520
23521 * util/i386/pc/grub-install.in: Add a parameter --disk-module
23522 to choose between ata and biosdisk module on i386-pc.
23523
23524 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
23525
23526 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
23527 Subclass and Programming Interface fields in terms of the 3 byte
23528 Class Code register.
23529 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
23530
23531 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
23532 interface is OHCI. Add grub_dprintf for symmetry with
23533 bus/usb/uhci.c.
23534 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
23535 interface is UHCI. Add interf variable for programming
23536 interface. Print interface with class/subclass.
23537
23538 * bus/usb/ohci.c: Set interf with correct field.
23539
23540 * bus/usb/uhci.c: Remove unneeded doubled lines.
23541 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
23542 Remove whitespace inside comment.
23543
23544 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
23545
23546 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
23547 as fallback an equivalent option without depth.
23548
23549 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
23550
23551 Not fail if unable to retrieve C/H/S on LBA disks
23552
23553 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
23554 if unable to retrieve C/H/S on LBA disks
23555
23556 2009-06-08 Pavel Roskin <proski@gnu.org>
23557
23558 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
23559 about aliasing.
23560
23561 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
23562
23563 * Makefile.in (uninstall): Remove all $lib_DATA files.
23564
23565 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
23566
23567 Bugfix: install on partitionless device
23568
23569 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
23570 is a whole disk
23571
23572 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
23573
23574 * Makefile.in (uninstall): Remove all $include_DATA files.
23575
23576 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
23577
23578 * commands/true.c: New file. Implement the true and false commands.
23579 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
23580 (true_mod_SOURCES): New variable.
23581 (true_mod_CFLAGS): Likewise.
23582 (true_mod_LDFLAGS): Likewise.
23583
23584 2009-06-05 Colin D Bennett <colin@gibibit.com>
23585
23586 Optimized font character lookup using binary search instead of linear
23587 search. Fonts now are required to have the character index ordered by
23588 code point.
23589
23590 * font/font.c (load_font_index): Verify that fonts have ordered
23591 character indices.
23592 (find_glyph): Use binary search instead of linear search to find a
23593 character in a font.
23594
23595 2009-06-05 Michael Scherer <misc@mandriva.org>
23596
23597 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
23598 uses case sensitive btree.
23599 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
23600 only for case insensitive filesystems.
23601
23602 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
23603
23604 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
23605 * conf/common.rmk (search_mod_CFLAGS): likewise
23606
23607 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23608
23609 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
23610 compensate a compiler bug
23611
23612 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23613
23614 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
23615 instead of '\b'
23616
23617 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23618
23619 Definitions for creating asm symbols with Apple's CC
23620
23621 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
23622 [APPLE_CC] (VARIABLE): likewise
23623
23624 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23625
23626 Disable lnxboot.img when compiled
23627 with Apple's CC
23628
23629 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
23630 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
23631 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
23632 [! APPLE_CC] (CODE_LENG): skip
23633 [! APPLE_CC] (setup_sects): likewise
23634 [! APPLE_CC]: skip filling
23635
23636 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23637
23638 Address in trampolines based on 32-bit registers when compiled
23639 with Apple's CC
23640
23641 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
23642 for addresses
23643 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
23644
23645 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23646
23647 Avoid aliases when compiling with Apple's CC for PCBIOS machine
23648
23649 * kern/misc.c [APPLE_CC] (memcpy): new function
23650 [APPLE_CC] (memmove): likewise
23651 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
23652 (memcpy): define alias conditionally on !APPLE_CC
23653 (memset): likewise
23654 (abort): likewise
23655 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
23656 APPLE_CC are defined
23657 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
23658 (grub_assert_fail): make prototype conditional
23659
23660 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23661
23662 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
23663
23664 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
23665 grub-macho2img
23666 (CLEANFILES): add grub-macho2img
23667 (grub_macho2img_SOURCES): new variable
23668 * kern/i386/pc/startup.S (bss_start): new variable
23669 (bss_end): likewise
23670 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
23671 * util/grub-macho2img.c: new file
23672
23673 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23674
23675 Use objconv when compiling with Apple's CC
23676
23677 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
23678 (efiemu64.o): likewise
23679 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
23680 when compiling with Apple's CC
23681 (efiemu64_s.o): likewise
23682 * configure.ac: check for objconv when compiling with Apple's CC
23683 * genmk.rb: use objconv for modules when compiled with Apple's CC
23684
23685 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23686
23687 Define segment as well as section when compiling with
23688 Apple's CC
23689
23690 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
23691 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
23692 (efiemu_convert_pointer): likewise
23693 (efiemu_set_virtual_address_map): likewise
23694 (efiemu_convert_pointer): likewise
23695 (efiemu_getcrc32): likewise
23696 (init_crc32_table): likewise
23697 (reflect): likewise
23698 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
23699 (GRUB_MOD_DEP): likewise
23700
23701 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23702
23703 Allow a compilation without -mcmodel=large
23704
23705 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
23706 when compiled without -mcmodel=large
23707 (filter_memory_map): remove memory post 4 GiB when compiled
23708 without -mcmodel=large
23709 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
23710 TARGET_CFLAGS when -mcmodel=large isn't supported
23711
23712 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23713
23714 Remove nested functions in efiemu core
23715
23716 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
23717
23718 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23719
23720 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
23721
23722 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
23723 temporary storage
23724 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
23725 using Apple's CC
23726 (grub_cpu_is_tsc_supported): likewise
23727 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
23728
23729 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23730
23731 Absolute addressing through constant with Apple's cc
23732
23733 * kern/i386/pc/startup.S: Define necessary constants
23734 and address through it when using ABS with Apple's CC
23735 * boot/i386/pc/diskboot.S: likewise
23736 * boot/i386/pc/boot.S: likewise
23737 * boot/i386/pc/lnxboot.S: likewise
23738 * boot/i386/pc/cdboot.S: likewise
23739 * mmap/i386/pc/mmap_helper.S: likewise
23740 * commands/i386/pc/drivemap_int13h.S: likewise
23741
23742 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23743
23744 Check if compiler is apple cc
23745
23746 * Makefile.in (ASFLAGS): new variable
23747 (TARGET_ASFLAGS): likewise
23748 (TARGET_MODULE_FORMAT): likewise
23749 (TARGET_APPLE_CC): likewise
23750 (OBJCONV): likewise
23751 (TARGET_IMG_CFLAGS): likewise
23752 (TARGET_CPPFLAGS): add includedir
23753 * configure.ac: call grub_apple_cc and grub_apple_target_cc
23754 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
23755 Check for linker script only if compiler isn't Apple's CC
23756 (TARGET_MODULE_FORMAT): set
23757 (TARGET_APPLE_CC): likewise
23758 (TARGET_ASFLAGS): likewise
23759 (ASFLAGS): likewise
23760 Check for objcopy only if compiler isn't Apple's CC
23761 Check for BSS symbol only if compiler isn't Apple's CC
23762 * genmk.rb: adapt nm options if we use Apple's utils
23763 * aclocal.m4 (grub_apple_cc): new test
23764 (grub_apple_target_cc): likewise
23765
23766 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23767
23768 Simplify sed expressions and improve awk
23769
23770 * Makefile.in (install-local): simplify sed expression
23771 * gencmdlist.sh: likewise
23772 * genmoddep.awk: avoid adding module as a dependency of itself
23773
23774 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23775
23776 Add missing start symbols
23777
23778 * boot/i386/pc/boot.S: add start
23779 * boot/i386/pc/pxeboot.S: likewise
23780
23781 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23782
23783 Fix wrong assumptions with grub-mkimage on EFI
23784
23785 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
23786 (relocate_addresses): consider both r_addend and value at offset
23787 (make_mods_section): zerofill modinfo and header
23788 (convert_elf): write prefix here
23789
23790 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23791
23792 Use .asciz instead of .string
23793
23794 * i386/pc/diskboot.S: use .asciz instead of .string
23795 * i386/pc/boot.S: likewise
23796 * include/grub/dl.h (GRUB_MOD_DEP): likewise
23797 (GRUB_MOD_NAME): likewise
23798
23799 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23800
23801 gfxpayload support
23802
23803 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
23804 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
23805 (grub_video_setup): remove
23806 (grub_video_set_mode): new prototype
23807 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
23808 (vid_mode): remove
23809 (linux_vesafb_res): compile only on PCBIOS
23810 (grub_linux_boot): support gfxpayload
23811 * loader/i386/pc/xnu.c (video_hook): new function
23812 (grub_xnu_set_video): support gfxpayload
23813 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
23814 (DEFAULT_VIDEO_HEIGHT): likewise
23815 (DEFAULT_VIDEO_FLAGS): likewise
23816 (DEFAULT_VIDEO_MODE): new definition
23817 (video_hook): new function
23818 (grub_gfxterm_init): use grub_video_set_mode
23819 * util/grub.d/30_os-prober.in: remove explicit modesetting before
23820 loading xnu
23821 * video/video.c (grub_video_setup): removed
23822 (grub_video_set_mode): new function based on grub_gfxterm_init and
23823 grub_video_setup
23824
23825 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23826
23827 Avoid calling biosdisk in drivemap
23828
23829 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
23830 (revparse_biosdisk): likewise
23831 (list_mappings): derive name from id directly
23832 (grub_cmd_drivemap): use tryparse_diskstring
23833
23834 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23835
23836 Script fixes
23837
23838 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
23839 (grub_lexer_param): add tokenonhold
23840 (grub_script_create_cmdline): remove cmdline. All callers updated
23841 (grub_script_function_create): make functionname
23842 grub_script_arg. All callers updated
23843 (grub_script_execute_argument_to_string): new prototype
23844 * kern/parser.c (state_transitions): reorder
23845 (grub_parser_cmdline_state): fix a bug and make more compact
23846 * script/sh/execute.c (grub_script_execute_argument_to_string):
23847 make global
23848 (grub_script_execute_cmdline): use new format
23849 * script/sh/function.c (grub_script_function_create): make functionname
23850 grub_script_arg. All callers updated
23851 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
23852 (grub_script_yylex): remove
23853 (grub_script_yylex2): renamed to ...
23854 (grub_script_yylex): ...renamed
23855 parse the expressions like a${b}c
23856 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
23857 (GRUB_PARSER_TOKEN_VAR): remove
23858 (GRUB_PARSER_TOKEN_NAME): likewise
23859 ("if"): declare as typeless
23860 ("while"): likewise
23861 ("function"): likewise
23862 ("else"): likewise
23863 ("then"): likewise
23864 ("fi"): likewise
23865 (text): remove
23866 (argument): likewise
23867 (script): accept empty scripts and make exit on error
23868 (arguments): use GRUB_PARSER_TOKEN_ARG
23869 (function): likewise
23870 (command): move error handling to script
23871 (menuentry): move grub_script_lexer_ref before
23872 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
23873 argument. All callers updated
23874
23875 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
23876
23877 Prevent GRUB from probing floppies during boot.
23878
23879 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
23880 * commands/search.c (options): Add --no-floppy.
23881 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
23882 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
23883 --no-floppy when searching for UUIDs.
23884
23885 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
23886
23887 Simplify the code duplication in commands/search.c.
23888
23889 * commands/search.c (search_label, search_fs_uuid): Merge into ...
23890 (search_fs): ... this. Update all users.
23891
23892 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
23893
23894 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
23895
23896 2009-05-28 Pavel Roskin <proski@gnu.org>
23897
23898 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
23899 Remove the original symlink explicitly.
23900
23901 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
23902 just one slash. That's how grub_fshelp_find_file() does it.
23903
23904 2009-05-26 Pavel Roskin <proski@gnu.org>
23905
23906 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
23907 to `str'.
23908
23909 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
23910 possibly unused.
23911
23912 2009-05-25 Christian Franke <franke@computer.org>
23913
23914 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
23915 register.
23916 (grub_atapi_identify): Add wait after drive select.
23917 (grub_ata_identify): Do more strict status register check before
23918 calling grub_atapi_identify (). Suppress error message if status
23919 register is 0x00 after command failure. Add status register
23920 check after PIO read to avoid bogus identify due to stuck DRQ.
23921 Thanks to Pavel Roskin for testing.
23922 (grub_device_initialize): Remove unsafe status register check.
23923 Thanks to 'phcoder' for problem report and patch.
23924 Prevent sign extension in debug message.
23925
23926 2009-05-23 Colin D Bennett <colin@gibibit.com>
23927
23928 Cleaned up `include/grub/normal.h'. Grouped prototypes by
23929 definition file, and functions defined in `normal/menu.c' have had
23930 their prototypes moved to `include/grub/menu.h' for consistency.
23931
23932 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
23933 from normal.h.
23934 (grub_menu_get_entry): Likewise.
23935 (grub_menu_get_timeout): Likewise.
23936 (grub_menu_set_timeout): Likewise.
23937 (grub_menu_execute_entry): Likewise.
23938 (grub_menu_execute_with_fallback): Likewise.
23939 (grub_menu_entry_run): Likewise.
23940
23941 * include/grub/normal.h: Re-ordered and grouped function
23942 prototypes by file that the function is defined in.
23943 (grub_menu_execute_callback): Removed; moved to menu.h.
23944 (grub_menu_get_entry): Likewise.
23945 (grub_menu_get_timeout): Likewise.
23946 (grub_menu_set_timeout): Likewise.
23947 (grub_menu_execute_entry): Likewise.
23948 (grub_menu_execute_with_fallback): Likewise.
23949 (grub_menu_entry_run): Likewise.
23950 (grub_menu_addentry): Renamed from this ...
23951 (grub_normal_add_menu_entry): ... to this.
23952
23953 * normal/main.c (grub_menu_addentry): Renamed from this ...
23954 (grub_normal_add_menu_entry): ... to this.
23955
23956 * script/sh/execute.c (grub_script_execute_menuentry): Update
23957 reference to renamed grub_menu_addentry function.
23958
23959 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
23960
23961 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
23962
23963 2009-05-22 Pavel Roskin <proski@gnu.org>
23964
23965 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
23966 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
23967 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
23968 compiling for the i386 targets, but not for the utilities.
23969
23970 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
23971 to grub_uint8_t.
23972 (grub_root_drive): Likewise.
23973 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
23974 remove alignment.
23975 (grub_root_drive): Change size to byte.
23976 (grub_start_addr): Remove.
23977 (grub_end_addr): Likewise.
23978 (grub_apm_bios_info): Likewise.
23979
23980 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
23981
23982 * normal/i386: Remove.
23983 * normal/powerpc: Likewise.
23984 * normal/sparc64: Likewise.
23985 * normal/x86_64: Likewise.
23986
23987 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
23988
23989 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
23990 * loader/i386/linux_trampoline.S: Fix indentation
23991 * loader/i386/xnu_helper.S: Likewise
23992
23993 2009-05-18 Colin D Bennett <colin@gibibit.com>
23994
23995 Display error messages when parsing a Lua statement fails.
23996 Previously, executing a syntactically invalid statement like
23997 ")foo" or "bar;" would silently fail.
23998
23999 * script/lua/grub_main.c (handle_lua_error): New function.
24000 (grub_lua_parse_line): Improved reporting of Lua parser and
24001 execution errors.
24002
24003 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24004
24005 Remove -Werror which causes build to fail on some systems
24006
24007 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
24008 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
24009 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
24010
24011 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24012
24013 trampoline for linux on 64-bit platform
24014
24015 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
24016 loader/i386/efi/linux_trampoline.S
24017 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
24018 declaration
24019 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
24020 here
24021 * loader/i386/linux_trampoline.S: moved here
24022 * loader/i386/efi/linux.c (allocate_pages): reserve space for
24023 trampoline
24024 (jumpvector): removed
24025 (grub_linux_trampoline_start): new declaration
24026 (grub_linux_trampoline_end): likewise
24027 (grub_linux_boot): use trampoline when on 64-bit platform
24028 * loader/i386/linux.c: likewise
24029
24030 2009-05-16 Pavel Roskin <proski@gnu.org>
24031
24032 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
24033 const to avoid a warning.
24034 (grub_lua_setenv): Likewise.
24035 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
24036 lmsg to fix a warning.
24037
24038 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
24039
24040 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
24041 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
24042 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
24043 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
24044 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
24045 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
24046 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
24047 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
24048
24049 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
24050
24051 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
24052
24053 2009-05-16 Bean <bean123ch@gmail.com>
24054
24055 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
24056 (lua_mod_SOURCES): New variable.
24057 (lua_mod_CFLAGS): Likewise.
24058 (lua_mod_LDFLAGS): Likewise.
24059
24060 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
24061 (setjmp_mod_SOURCES): New variable.
24062 (setjmp_mod_CFLAGS): Likewise.
24063 (setjmp_LDFLAGS): Likewise.
24064
24065 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
24066 (setjmp_mod_SOURCES): New variable.
24067 (setjmp_mod_CFLAGS): Likewise.
24068 (setjmp_LDFLAGS): Likewise.
24069
24070 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
24071 (setjmp_mod_SOURCES): New variable.
24072 (setjmp_mod_CFLAGS): Likewise.
24073 (setjmp_LDFLAGS): Likewise.
24074
24075 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
24076 (setjmp_mod_SOURCES): New variable.
24077 (setjmp_mod_CFLAGS): Likewise.
24078 (setjmp_LDFLAGS): Likewise.
24079
24080 * normal/i386/setjmp.S: Moved from here ...
24081 * lib/i386/setjmp.S: ... Moved here
24082 * normal/x86_64/setjmp.S: Moved from here ...
24083 * lib/x86_64/setjmp.S: ... Moved here
24084 * normal/powerpc/setjmp.S: Moved from here ...
24085 * lib/powerpc/setjmp.S: ... Moved here
24086 * normal/sparc64/setjmp.S: Moved from here ...
24087 * lib/sparc64/setjmp.S: ... Moved here
24088
24089 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
24090 returns_twice in mingw.
24091
24092 * script/lua/grub_lib.c: New file.
24093 * script/lua/grub_lib.h: Likewise.
24094 * script/lua/grub_lua.h: Likewise.
24095 * script/lua/grub_main.c: Likewise.
24096 * script/lua/lapi.c: Likewise.
24097 * script/lua/lapi.h: Likewise.
24098 * script/lua/lauxlib.c: Likewise.
24099 * script/lua/lauxlib.h: Likewise.
24100 * script/lua/lbaselib.c: Likewise.
24101 * script/lua/lcode.c: Likewise.
24102 * script/lua/lcode.h: Likewise.
24103 * script/lua/ldblib.c: Likewise.
24104 * script/lua/ldebug.c: Likewise.
24105 * script/lua/ldebug.h: Likewise.
24106 * script/lua/ldo.c: Likewise.
24107 * script/lua/ldo.h: Likewise.
24108 * script/lua/ldump.c: Likewise.
24109 * script/lua/lfunc.c: Likewise.
24110 * script/lua/lfunc.h: Likewise.
24111 * script/lua/lgc.c: Likewise.
24112 * script/lua/lgc.h: Likewise.
24113 * script/lua/linit.c: Likewise.
24114 * script/lua/liolib.c: Likewise.
24115 * script/lua/llex.c: Likewise.
24116 * script/lua/llex.h: Likewise.
24117 * script/lua/llimits.h: Likewise.
24118 * script/lua/lmathlib.c: Likewise.
24119 * script/lua/lmem.c: Likewise.
24120 * script/lua/lmem.h: Likewise.
24121 * script/lua/loadlib.c: Likewise.
24122 * script/lua/lobject.c: Likewise.
24123 * script/lua/lobject.h: Likewise.
24124 * script/lua/lopcodes.c: Likewise.
24125 * script/lua/lopcodes.h: Likewise.
24126 * script/lua/loslib.c: Likewise.
24127 * script/lua/lparser.c: Likewise.
24128 * script/lua/lparser.h: Likewise.
24129 * script/lua/lstate.c: Likewise.
24130 * script/lua/lstate.h: Likewise.
24131 * script/lua/lstring.c: Likewise.
24132 * script/lua/lstring.h: Likewise.
24133 * script/lua/lstrlib.c: Likewise.
24134 * script/lua/ltable.c: Likewise.
24135 * script/lua/ltable.h: Likewise.
24136 * script/lua/ltablib.c: Likewise.
24137 * script/lua/ltm.c: Likewise.
24138 * script/lua/ltm.h: Likewise.
24139 * script/lua/lua.h: Likewise.
24140 * script/lua/luaconf.h: Likewise.
24141 * script/lua/lualib.h: Likewise.
24142 * script/lua/lundump.c: Likewise.
24143 * script/lua/lundump.h: Likewise.
24144 * script/lua/lvm.c: Likewise.
24145 * script/lua/lvm.h: Likewise.
24146 * script/lua/lzio.c: Likewise.
24147 * script/lua/lzio.h: Likewise.
24148
24149 2009-05-16 Bean <bean123ch@gmail.com>
24150
24151 * include/grub/kernel.h (grub_module_header_types): Add type
24152 OBJ_TYPE_CONFIG.
24153
24154 * kern/main.c (grub_load_config): New function.
24155 (grub_main): Call grub_load_config to read boot config.
24156
24157 * grub-mkimage (generate_image): New parameter config_path.
24158 (options): New option --config.
24159 (main): Parse --config option, and pass it to generate_image.
24160
24161 2009-05-14 Christian Franke <franke@computer.org>
24162
24163 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
24164 This fixes build on Cygwin.
24165
24166 2009-05-14 Pavel Roskin <proski@gnu.org>
24167
24168 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
24169 jump. This saves two bytes, so the typical case of 2 swapped
24170 drives would fit 32 bytes.
24171
24172 2009-05-13 Pavel Roskin <proski@gnu.org>
24173
24174 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
24175 grub_uint32_t to avoid a warning.
24176
24177 * loader/i386/linux.c (allocate_pages): When assigning
24178 real_mode_mem, cast through grub_size_t to fix a warning. The
24179 code already makes sure that the value would fit a pointer.
24180 (grub_linux_setup_video): Cast render_target->data to
24181 grub_size_t to fix a warning.
24182
24183 2009-05-13 Javier Martín <lordhabbit@gmail.com>
24184
24185 * commands/i386/pc/drivemap.c: New file - implement drivemap
24186 command.
24187 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
24188 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
24189
24190 2009-05-13 Pavel Roskin <proski@gnu.org>
24191
24192 * util/i386/pc/grub-setup.c (setup): Remove unused variable
24193 embedding_area_exists.
24194
24195 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
24196
24197 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
24198 it easier to understand / work with.
24199 Improve warning messages for cases where there's no embedding area,
24200 or when it is too small (or core.img too large).
24201
24202 2009-05-13 Pavel Roskin <proski@gnu.org>
24203
24204 * loader/i386/pc/multiboot2.c: Add necessary includes for
24205 grub_multiboot2_real_boot().
24206
24207 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
24208 PX record is always little-endian. We only need the lower 2
24209 bytes of the mode.
24210
24211 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
24212 facilitate code reuse.
24213 (grub_cpio_mount): Use "struct head", not a char buffer. This
24214 fixes a warning reported by gcc 4.4.
24215
24216 * kernel/disk.c (grub_disk_read): Use void pointer for the
24217 buffer.
24218 (grub_disk_write): Use const void pointer for the buffer.
24219 Adjust all callers. Remove unnecessary casts.
24220
24221 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
24222
24223 * util/i386/pc/grub-install.in: Update copyright year.
24224
24225 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
24226
24227 gptsync
24228
24229 * commands/gptsync.c: new file
24230 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
24231 (gptsync_mod_SOURCES): new variable
24232 (gptsync_mod_CFLAGS): likewise
24233 (gptsync_mod_LDFLAGS): likewise
24234 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
24235 new definition
24236 (GRUB_PC_PARTITION_TYPE_HFS): likewise
24237 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
24238 * conf/i386-ieee1275.rmk: likewise
24239 * conf/i386-pc.rmk: likewise
24240 * conf/powerpc-ieee1275.rmk: likewise
24241
24242 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
24243
24244 Fixed grub-emu
24245
24246 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
24247 (grub_dl_ref): likewise
24248
24249 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
24250
24251 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
24252 split in two functions (one for msdos and one for gpt).
24253
24254 2009-05-08 Pavel Roskin <proski@gnu.org>
24255
24256 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
24257 not modified.
24258
24259 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
24260 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
24261 Initialize them with -1. Add sanity check for bad1. Eliminate
24262 nerr variable.
24263
24264 2009-05-08 David S. Miller <davem@davemloft.net>
24265
24266 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
24267
24268 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
24269
24270 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
24271 existence.
24272
24273 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
24274
24275 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24276 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
24277
24278 2009-05-05 David S. Miller <davem@davemloft.net>
24279
24280 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
24281
24282 2009-05-05 Pavel Roskin <proski@gnu.org>
24283
24284 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
24285 of grub_dl_ref() and grub_dl_unref().
24286 * commands/parttool.c: Remove preprocessor conditionals around
24287 grub_dl_ref() and grub_dl_unref().
24288 * fs/affs.c: Likewise.
24289 * fs/afs.c: Likewise.
24290 * fs/cpio.c: Likewise.
24291 * fs/ext2.c: Likewise.
24292 * fs/fat.c: Likewise.
24293 * fs/hfs.c: Likewise.
24294 * fs/hfsplus.c: Likewise.
24295 * fs/iso9660.c: Likewise.
24296 * fs/jfs.c: Likewise.
24297 * fs/minix.c: Likewise.
24298 * fs/ntfs.c: Likewise.
24299 * fs/reiserfs.c: Likewise.
24300 * fs/sfs.c: Likewise.
24301 * fs/udf.c: Likewise.
24302 * fs/ufs.c: Likewise.
24303 * fs/xfs.c: Likewise.
24304 * include/grub/dl.h: Likewise.
24305 * loader/xnu.c: Likewise.
24306
24307 2009-05-04 Pavel Roskin <proski@gnu.org>
24308
24309 * commands/acpi.c: Remove unused variable my_mod.
24310 * partmap/amiga.c: Likewise.
24311 * partmap/apple.c: Likewise.
24312 * partmap/gpt.c: Likewise.
24313 * partmap/pc.c: Likewise.
24314 * partmap/sun.c: Likewise.
24315 * term/gfxterm.c: Likewise.
24316 * term/i386/pc/vesafb.c: Likewise.
24317 * term/i386/pc/vga.c: Likewise.
24318
24319 2009-05-04 David S. Miller <davem@davemloft.net>
24320
24321 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
24322 pointer args to grub_ieee1275_get_property().
24323
24324 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
24325
24326 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
24327 devices, and do not traverse down under controller nodes.
24328
24329 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
24330 (grub_ofdisk_open): Use it to un-escape "," characters.
24331 * kern/disk.c (find_part_sep): New.
24332 (grub_disk_open): Use it to find the first non-escaped ','
24333 character in the disk name.
24334 * util/ieee1275/devicemap.c (escape_of_path): New.
24335 (grub_util_emit_devicemap_entry): Use it.
24336 * util/sparc64/ieee1275/grub-install.in: Update script to
24337 strip partition specifiers properly by not triggering on
24338 '\' escaped ',' characters.
24339
24340 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24341
24342 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
24343 to 0x300.
24344 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
24345 resolutions.
24346 (linux_vesafb_modes): Add a lot of additional modes to the list (based
24347 on documentation from Wikipedia).
24348
24349 2009-05-04 Pavel Roskin <proski@gnu.org>
24350
24351 * disk/ata.c: Spelling fixes.
24352 * disk/raid.c: Likewise.
24353 * disk/usbms.c: Likewise.
24354 * disk/dmraid_nvidia.c: Likewise.
24355 * kern/ieee1275/openfw.c: Likewise.
24356 * kern/ieee1275/init.c: Likewise.
24357 * kern/ieee1275/cmain.c: Likewise.
24358 * boot/i386/pc/cdboot.S: Likewise.
24359 * video/readers/png.c: Likewise.
24360 * video/i386/pc/vbe.c: Likewise.
24361 * fs/udf.c: Likewise.
24362 * fs/hfs.c: Likewise.
24363 * fs/reiserfs.c: Likewise.
24364 * efiemu/runtime/efiemu.c: Likewise.
24365 * efiemu/main.c: Likewise.
24366 * efiemu/mm.c: Likewise.
24367 * include/grub/elf.h: Likewise.
24368 * include/grub/xnu.h: Likewise.
24369 * include/grub/usbdesc.h: Likewise.
24370 * include/grub/usb.h: Likewise.
24371 * include/grub/script_sh.h: Likewise.
24372 * include/grub/lib/LzmaEnc.h: Likewise.
24373 * include/grub/efiemu/efiemu.h: Likewise.
24374 * include/grub/command.h: Likewise.
24375 * normal/menu.c: Likewise.
24376 * normal/main.c: Likewise.
24377 * normal/datetime.c: Likewise.
24378 * bus/usb/uhci.c: Likewise.
24379 * mmap/i386/uppermem.c: Likewise.
24380 * mmap/mmap.c: Likewise.
24381 * commands/acpi.c: Likewise.
24382 * commands/test.c: Likewise.
24383 * partmap/apple.c: Likewise.
24384 * font/font.c: Likewise.
24385 * loader/sparc64/ieee1275/linux.c: Likewise.
24386 * loader/macho.c: Likewise.
24387 * loader/i386/bsd_trampoline.S: Likewise.
24388 * loader/i386/bsd.c: Likewise.
24389 * loader/xnu.c: Likewise.
24390 * term/i386/pc/vesafb.c: Likewise.
24391 * term/usb_keyboard.c: Likewise.
24392 * util/resolve.c: Likewise.
24393 * util/getroot.c: Likewise.
24394
24395 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
24396
24397 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
24398
24399 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24400
24401 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
24402 build error.
24403
24404 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24405
24406 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
24407 parameter only available on BIOS.
24408
24409 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24410
24411 Removed wrong semicolon in declaration
24412
24413 * grub/misc.h (grub_dprintf): remove semicolon
24414
24415 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24416
24417 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
24418 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
24419 is done by grub_cmd_linux() now).
24420 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
24421 restore video to text mode.
24422 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
24423 indicates lack of "vga=" parameter. "vga=0" is mapped to
24424 `GRUB_LINUX_VID_MODE_NORMAL'.
24425
24426 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
24427
24428 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
24429 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
24430 and `normal/script.c'. Add `kern/rescue_reader.c',
24431 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
24432 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
24433 `grub_script.tab.c'.
24434
24435 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24436 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24437 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24438 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24439 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24440
24441 * Makefile.in: Remove duplicated 2008 in Copyright line.
24442
24443 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24444
24445 * util/misc.c (grub_util_warn): New function. Emits a warning
24446 unconditionally.
24447 * include/grub/util/misc.h (grub_util_warn): New declaration.
24448
24449 * util/i386/pc/grub-install.in: Understand --force and pass it down
24450 to grub-setup.
24451
24452 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
24453 down to setup().
24454 (setup): Improve error messages and add warnings when requested to
24455 install in odd layouts. Refuse to install using blocklists unless
24456 --force was set.
24457
24458 2009-05-04 martin f. krafft <madduck@madduck.net>
24459
24460 * disk/raid.c (grub_raid_scan_device): Improve debug message.
24461
24462 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24463
24464 Updated copyright year
24465
24466 * fs/hfsplus.c: updated copyright year
24467
24468 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24469
24470 HFS+ UUID
24471
24472 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
24473 in the space previously used by unused3
24474 (grub_hfsplus_uuid): new function
24475 (grub_hfsplus_fs): added uuid field
24476
24477 2009-05-03 Pavel Roskin <proski@gnu.org>
24478
24479 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
24480 suppress warnings. It's no longer needed.
24481 * disk/host.c: Likewise.
24482 * disk/ata_pthru.c: Likewise.
24483 * disk/loopback.c: Likewise.
24484 * hook/datehook.c: Likewise.
24485 * parttool/pcpart.c: Likewise.
24486 * fs/i386/pc/pxe.c: Likewise.
24487 * fs/ntfscomp.c: Likewise.
24488 * efiemu/main.c: Likewise.
24489 * mmap/mmap.c: Likewise.
24490 * commands/crc.c: Likewise.
24491 * commands/hexdump.c: Likewise.
24492 * commands/hdparm.c: Likewise.
24493 * commands/acpi.c: Likewise.
24494 * commands/echo.c: Likewise.
24495 * commands/minicmd.c: Likewise.
24496 * commands/blocklist.c: Likewise.
24497 * commands/memrw.c: Likewise.
24498 * commands/loadenv.c: Likewise.
24499 * commands/usbtest.c: Likewise.
24500 * commands/lsmmap.c: Likewise.
24501 * commands/boot.c: Likewise.
24502 * commands/parttool.c: Likewise.
24503 * commands/configfile.c: Likewise.
24504 * commands/search.c: Likewise.
24505 * commands/ieee1275/suspend.c: Likewise.
24506 * commands/cat.c: Likewise.
24507 * commands/i386/pc/pxecmd.c: Likewise.
24508 * commands/i386/pc/play.c: Likewise.
24509 * commands/i386/pc/halt.c: Likewise.
24510 * commands/i386/pc/vbeinfo.c: Likewise.
24511 * commands/i386/pc/vbetest.c: Likewise.
24512 * commands/lspci.c: Likewise.
24513 * commands/date.c: Likewise.
24514 * commands/handler.c: Likewise.
24515 * commands/ls.c: Likewise.
24516 * commands/test.c: Likewise.
24517 * commands/cmp.c: Likewise.
24518 * commands/efi/loadbios.c: Likewise.
24519 * commands/efi/fixvideo.c: Likewise.
24520 * commands/halt.c: Likewise.
24521 * commands/help.c: Likewise.
24522 * commands/reboot.c: Likewise.
24523 * hello/hello.c: Likewise.
24524 * script/sh/main.c: Likewise.
24525 * loader/xnu.c: Likewise.
24526 * term/terminfo.c: Likewise.
24527 * term/i386/pc/serial.c: Likewise.
24528 * term/usb_keyboard.c: Likewise.
24529
24530 2009-05-03 David S. Miller <davem@davemloft.net>
24531
24532 * normal/menu.c: Include grub/parser.h
24533
24534 2009-05-03 Pavel Roskin <proski@gnu.org>
24535
24536 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
24537 not char*.
24538 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
24539 Suggested by Javier Martín <lordhabbit@gmail.com>
24540
24541 * util/i386/pc/grub-mkrescue.in: Allow for the case when
24542 efiemu??.o doesn't exist.
24543 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
24544 copying.
24545
24546 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
24547
24548 FreeBSD 64-bit support
24549
24550 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
24551 and loader/i386/bsd_trampoline.S
24552 (bsd_mod_ASFLAGS): new variable
24553 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
24554 (FREEBSD_MODTYPE_KERNEL64): likewise
24555 (grub_bsd64_trampoline_start): likewise
24556 (grub_bsd64_trampoline_end): likewise
24557 (grub_bsd64_trampoline_selfjump): likewise
24558 (grub_bsd64_trampoline_gdt): likewise
24559 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
24560 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
24561 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
24562 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
24563 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
24564 of "attrib" member
24565 * loader/i386/bsd_pagetable.c: new file
24566 * loader/i386/bsd_trampoline.S: likewise
24567 * loader/i386/bsd.c (ALIGN_QWORD): new macro
24568 (ALIGN_VAR): likewise
24569 (entry_hi): new variable
24570 (kern_end_mdofs): likewise
24571 (is_64bit): likewise
24572 (grub_freebsd_add_meta): use ALIGN_VAR
24573 (grub_e820_mmap): new declaration
24574 (grub_freebsd_add_mmap): new function
24575 (grub_freebsd_add_meta_module): support 64 bit kernels
24576 (grub_freebsd_list_modules): use ALIGN_VAR
24577 (gdt_descriptor): new declaration
24578 (grub_freebsd_boot): support 64 bit kernels
24579 (grub_bsd_elf64_hook): new function
24580 (grub_bsd_load_elf): support elf64
24581
24582 2009-05-03 Bean <bean123ch@gmail.com>
24583
24584 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
24585 after we get the result of if statement.
24586
24587 2009-05-03 Bean <bean123ch@gmail.com>
24588
24589 * Makefile.in (enable_efiemu): New variable.
24590
24591 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
24592 set.
24593 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
24594 path.
24595 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
24596 path, add -mno-red-zone option.
24597 (efiemu64_s.o): Likewise.
24598 (efiemu64.o): Use macro $^ for source file.
24599
24600 * configure.ac (--enable-efiemu): New option.
24601
24602 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24603
24604 xnu support
24605
24606 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
24607 (pkglib_MODULES): add xnu.mod
24608 (xnu_mod_SOURCES): new variable
24609 (xnu_mod_CFLAGS): likewise
24610 (xnu_mod_LDFLAGS): likewise
24611 (xnu_mod_ASFLAGS): likewise
24612 * conf/i386-pc.rmk: likewise
24613 * conf/x86_64-efi.rmk: likewise
24614 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
24615 new declaration
24616 * include/grub/i386/macho.h: new file
24617 * include/grub/i386/xnu.h: likewise
24618 * include/grub/macho.h: likewise
24619 * include/grub/machoload.h: likewise
24620 * include/grub/x86_64/macho.h: likewise
24621 * include/grub/x86_64/xnu.h: likewise
24622 * include/grub/xnu.h: likewise
24623 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
24624 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
24625 * loader/i386/efi/xnu.c: new file
24626 * loader/i386/pc/xnu.c: likewise
24627 * loader/i386/xnu.c: likewise
24628 * loader/i386/xnu_helper.S: likewise
24629 * loader/macho.c: likewise
24630 * loader/xnu.c: likewise
24631 * loader/xnu_resume.c: likewise
24632 * util/grub-dumpdevtree: likewise
24633 * include/grub/i386/pit.h: include grub/err.h
24634 (grub_pit_wait): export
24635 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
24636
24637 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24638
24639 Efiemu
24640
24641 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
24642 _linux_efi, linux_efi.
24643 new files in grub-emu
24644 new targets efiemu32.o and efiemu64.o
24645 * loader/linux_normal_efiemu.c: likewise
24646 * loader/i386/efi/linux.c: added preliminary efiemu support
24647 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
24648 files to copy
24649 * include/grub/autoefi.h: new file
24650 * include/grub/i386/efiemu.h: likewise
24651 * include/grub/i386/pc/efiemu.h: likewise
24652 * include/grub/efi/api.h: add LL suffix when necessary
24653 new definitions relating to tables
24654 * include/grub/efiemu/efiemu.h: new file
24655 * include/grub/efiemu/runtime.h: likewise
24656 * efiemu/prepare.c: likewise
24657 * efiemu/loadcore_common.c: likewise
24658 * efiemu/loadcore64.c: likewise
24659 * efiemu/runtime/efiemu.sh: likewise
24660 * efiemu/runtime/efiemu.S: likewise
24661 * efiemu/runtime/efiemu.c: likewise
24662 * efiemu/runtime/config.h: likewise
24663 * efiemu/prepare32.c: likewise
24664 * efiemu/main.c: likewise
24665 * efiemu/modules/pnvram.c: likewise
24666 * efiemu/modules/i386: likewise
24667 * efiemu/modules/i386/pc: likewise
24668 * efiemu/modules/acpi.c: likewise
24669 * efiemu/i386/pc/cfgtables.c: likewise
24670 * efiemu/i386/loadcore64.c: likewise
24671 * efiemu/i386/loadcore32.c: likewise
24672 * efiemu/prepare64.c: likewise
24673 * efiemu/loadcore.c: likewise
24674 * efiemu/symbols.c: likewise
24675 * efiemu/mm.c: likewise
24676 * efiemu/loadcore32.c: likewise
24677
24678 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24679
24680 ACPI spoofing
24681
24682 * commands/acpi.c: new file
24683 * commands/i386/pc/acpi.c: likewise
24684 * commands/efi/acpi.c: likewise
24685 * include/grub/acpi.h: likewise
24686 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
24687 (acpi_mod_SOURCES): new variable
24688 (acpi_mod_CFLAGS): likewise
24689 (acpi_mod_LDFLAGS): likewise
24690 * conf/i386-efi.rmk: likewise
24691 * conf/x86_64-efi.rmk: likewise
24692
24693 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24694
24695 Missing part from mmap patch
24696
24697 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
24698 (grub_mmap_unregister)
24699 (grub_mmap_free_and_unregister): use grub_mmap_register
24700
24701 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24702
24703 Mmap services
24704
24705 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
24706 * loader/i386/linux.c (find_mmap_size): likewise
24707 (allocate_pages): likewise
24708 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
24709 (grub_fill_multiboot_mmap): likewise
24710 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
24711 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
24712 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
24713 (OPENBSD_MMAP_RESERVED): likewise
24714 * include/grub/i386/pc/memory.h: include grub/memory.h
24715 (grub_lower_mem): removed
24716 (grub_upper_mem): likewise
24717 (GRUB_MACHINE_MEMORY_ACPI): new definition
24718 (GRUB_MACHINE_MEMORY_NVS): likewise
24719 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
24720 (GRUB_MACHINE_MEMORY_HOLE): likewise
24721 (grub_machine_mmap_register): likewise
24722 (grub_machine_mmap_unregister): likewise
24723 (grub_machine_get_upper): likewise
24724 (grub_machine_get_lower): likewise
24725 (grub_machine_get_post64): likewise
24726 * include/grub/i386/efi/memory.h: new file
24727 * include/grub/x86_64/efi/memory.h: likewise
24728 * include/grub/efi/memory.h: likewise
24729 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
24730 (mmap_mod_SOURCES): new variable
24731 (mmap_mod_LDFLAGS): likewise
24732 (mmap_mod_ASFLAGS): likewise
24733 * conf/i386-coreboot.rmk: likewise
24734 * conf/i386-ieee1275.rmk: likewise
24735 * conf/i386-efi.rmk: likewise
24736 * conf/x86_64-efi.rmk: likewise
24737 * include/grub/types.h (UINT_TO_PTR): new macro
24738 (PTR_TO_UINT32): likewise
24739 (PTR_TO_UINT64): likewise
24740 * include/grub/memory.h: new file
24741 * mmap/i386/pc/mmap.c: likewise
24742 * mmap/i386/pc/mmap_helper.S: likewise
24743 * mmap/i386/uppermem.c: likewise
24744 * mmap/mmap.c: likewise
24745 * mmap/efi/mmap.c: likewise
24746 * kern/i386/coreboot/init.c (grub_machine_init): don't use
24747 grub_upper_mem
24748 * kern/i386/pc/init.c (grub_lower_mem): removed variable
24749 (grub_upper_mem): likewise
24750 (grub_machine_init): don't use grub_upper_mem,
24751 make grub_lower_mem local
24752 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
24753 grub_mmap_iterate and grub_mmap_get_upper
24754 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
24755
24756 2009-05-02 Bean <bean123ch@gmail.com>
24757
24758 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
24759 script/sh/parser.y.
24760 (pkglib_MODULES): Add normal.mod and sh.mod.
24761 (normal_SOURCES): New variable.
24762 (normal_mod_CFLAGS): Likewise.
24763 (normal_mod_LDFLAGS): Likewise.
24764 (sh_mod_SOURCES): Likewise.
24765 (sh_mod_CFLAGS): Likewise.
24766 (sh_mod_LDFLAGS): Likewise.
24767
24768 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
24769 script/sh/lexer.c_DEPENDENCIES.
24770 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
24771 kern/rescue_reader.c and kern/rescue_parser.c.
24772 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
24773 (grub_emu_SOURCES): Change source files.
24774 (pkglib_MODULES): Remove normal.mod.
24775 (normal_SOURCES): Removed.
24776 (normal_mod_CFLAGS): Likewise.
24777 (normal_mod_LDFLAGS): Likewise.
24778 * conf/i386-coreboot.rmk: Likewise.
24779 * conf/i386-efi.rmk: Likewise.
24780 * conf/i386-ieee1276.rmk: Likewise.
24781 * conf/powerpc-ieee1275.rmk: Likewise.
24782 * conf/sparc64-ieee1275.rmk: Likewise.
24783 * conf/x86_64-efi.rmk: Likewise.
24784
24785 * include/grub/command.h (grub_command_execute): New inline function.
24786
24787 * include/grub/menu.h (grub_menu_entry): Removed commands field.
24788
24789 * include/grub/normal.h: Remove <grub/setjmp.h>.
24790 (grub_fs_module_list): Moved to normal/autofs.c.
24791 (grub_exit_env): Removed.
24792 (grub_command_execute): Likewise.
24793 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
24794 parameter script.
24795 (read_command_list): New function declaration.
24796 (read_fs_list): Likewise.
24797
24798 * include/parser.h: Include <grub/reader.h>.
24799 (grub_parser_split_cmdline): Change type of getline parameter.
24800 (grub_parser): New structure.
24801 (grub_parser_class): New variable.
24802 (grub_parser_execute): New function declaration.
24803 (grub_register_rescue_parser): Likewise.
24804 (grub_parser_register): New inline function.
24805 (grub_parser_unregister): Likewise.
24806 (grub_parser_get_current): Likewise.
24807 (grub_parser_set_current): Likewise.
24808
24809 * include/grub/reader.h: New file.
24810 * kern/reader.c: Likewise.
24811 * kern/rescue_parser.c: Likewise.
24812 * kern/rescue_reader.c: Likewise.
24813 * normal/autofs.c: Likewise.
24814 * normal/dyncmd.c: Likewise.
24815
24816 * include/grub/rescue.h: Removed.
24817 * normal/command.h: Likewise.
24818
24819 * include/grub/script.h: Moved to ...
24820 * include/grub/script_sh.h: ... Moved here.
24821 * normal/execute.c: Moved to ...
24822 * script/sh/execute.c: ... Moved here.
24823 * normal/function.c: Moved to ...
24824 * script/sh/function.c: ... Moved here.
24825 * normal/lexer.c: Moved to ...
24826 * script/sh/lexer.c: ... Moved here.
24827 * normal/parser.y: Moved to ...
24828 * script/sh/parser.y: ... Moved here.
24829 * normal/script.c: Moved to ...
24830 * script/sh/script.c: ... Moved here.
24831
24832 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
24833 <grub/reader.h>.
24834 (grub_exit_env): Removed.
24835 (fs_module_list): Moved to normal/autofs.c.
24836 (grub_file_getline): Don't handle comment here.
24837 (free_menu): Skip removed field entry->commands.
24838 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
24839 script parameter.
24840 (read_config_file): Removed nested parameter, change getline function.
24841 (grub_enter_normal_mode): Removed.
24842 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
24843 (read_command_list): Likewise.
24844 (autoload_fs_module): Moved to normal/autofs.c.
24845 (read_fs_list): Likewise.
24846 (reader_nested): New variable.
24847 (grub_normal_execute): Run parser.sh to switch to sh parser.
24848 (grub_cmd_rescue): Removed.
24849 (cmd_normal): Removed.
24850 (grub_cmd_normal): Unregister itself at the beginning. Don't register
24851 rescue command.
24852 (grub_cmdline_run): New function.
24853 (grub_normal_reader_init): Likewise.
24854 (grub_normal_read_line): Likewise.
24855 (grub_env_write_pager): Likewise.
24856 (cmdline): New variable.
24857 (grub_normal_reader): Likewise.
24858 (GRUB_MOD_INIT): Register normal reader and set as current, register
24859 pager hook, register normal command with grub_register_command_prio,
24860 so that it won't show up in command.lst.
24861 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
24862 grub_fs_autoload_hook.
24863
24864 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
24865 (grub_menu_execute_entry): Replace grub_script_execute with
24866 grub_parser_execute, change parameter to grub_command_execute.
24867
24868 * normal/menu_text.c: Remove <grub/script.h>.
24869
24870 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
24871 and <grub/parser.h>.
24872 (run): Change editor_getline to use new parser interface. Change
24873 parameter to grub_command_execute.
24874
24875 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
24876 <grub/reader.h> and <grub/parser.h>.
24877 (grub_load_normal_mode): Execute normal command.
24878 (grub_main): Call grub_register_core_commands,
24879 grub_register_rescue_parser and grub_register_rescue_reader, use
24880 grub_reader_loop to enter input loop.
24881
24882 * kern/parser.c (grub_parser_split_cmdline): Change type of
24883 getline parameter.
24884 (grub_parser_class): New variable.
24885 (grub_parser_execute): New function.
24886
24887 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
24888 * loader/multiboot2.c: Likewise.
24889 * loader/sparc64/ieee1275/linux.c: Likewise.
24890
24891 * util/grub-emu.c (read_command_list): New dummy function.
24892
24893 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
24894
24895 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
24896 count to 16 for CCISS and IDA.
24897
24898 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
24899
24900 * normal/menu_text.c (grub_wait_after_message): Print a newline
24901 after waiting for user input.
24902
24903 * loader/i386/linux.c: Include `<grub/normal.h>'.
24904 (grub_cmd_linux): Improve the error message about `ask' mode, by
24905 waiting for user input so it's not missed (we can do this, since
24906 user requested interaction).
24907
24908 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24909
24910 Added missing lst to grub-mkrescue
24911
24912 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
24913 and ${input_dir}/parttool.lst
24914
24915 2009-04-30 David S. Miller <davem@davemloft.net>
24916
24917 * util/hostdisk.c (device_is_wholedisk): New function.
24918 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
24919 zero only if device_is_wholedisk() returns true.
24920
24921 * util/hostdisk.c (convert_system_partition_to_system_disk):
24922 Handle virtual disk devices named /dev/vdiskX as found on sparc
24923 and powerpc.
24924
24925 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
24926 lettered partition specifier is found, convert to numbered.
24927
24928 2009-04-29 David S. Miller <davem@davemloft.net>
24929
24930 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
24931 * include/grub/sparc64/ieee1275/memory.h: Likewise.
24932
24933 * normal/command.c: Add missing newline at end of file.
24934
24935 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
24936 warnings.
24937 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
24938 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
24939 grub_ofdisk_read): Likewise, and deal similarly with the fact that
24940 ihandles have a 32-bit type but need to be stored in a "void *".
24941
24942 2009-04-28 Pavel Roskin <proski@gnu.org>
24943
24944 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
24945 not disk. Adjust all dependencies.
24946 (grub_fs_uuid_close): Use grub_device_close(), not
24947 grub_disk_close().
24948
24949 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
24950 parent's partition, don't copy it by reference, as it gets freed
24951 on close.
24952
24953 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24954
24955 Preboot hooks support
24956
24957 * commands/boot.c (struct grub_preboot_t): new declaration
24958 (preboots_head): new variable
24959 (preboots_tail): likewise
24960 (grub_loader_register_preboot_hook): new function
24961 (grub_loader_unregister_preboot_hook): likewise
24962 (grub_loader_set): launch preboot hooks
24963 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
24964 (grub_loader_register_preboot_hook): new declaration
24965 (grub_loader_unregister_preboot_hook): likewise
24966
24967 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24968
24969 Warning fix
24970
24971 * disk/scsi.c (grub_scsi_open): added missing cast when
24972 calling grub_dprintf
24973
24974 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
24975
24976 Bug and warning fixes
24977
24978 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
24979 declaration
24980 * commands/test.c (test_parse): fixed bug with file tests and corrected
24981 declaration of find_file
24982
24983 2009-04-26 Pavel Roskin <proski@gnu.org>
24984
24985 * Makefile.in: Don't install empty manual pages if help2man is
24986 missing. Use help2man option for output, not shell redirection.
24987
24988 2009-04-26 David S. Miller <davem@davemloft.net>
24989
24990 * util/grub-mkdevicemap.c (make_device_map): Add missing
24991 NESTED_FUNC_ATTR to process_device().
24992
24993 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
24994
24995 Test command
24996
24997 * commands/test.c: rewritten to use bash-like test
24998
24999 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
25000
25001 Parttool autoloading and improvements
25002
25003 * Makefile.in (pkglib_DATA): add parttool.lst
25004 (parttool.lst): new target
25005 * genmk.rb: generate parttool-*
25006 (CLEANFILES): add #{parttool}
25007 (PARTTOOLFILES): new variable
25008 * genparttoollist.sh: new file
25009 * parttool/pcpart.c (grub_pcpart_boot): more feedback
25010 (grub_pcpart_type): likewise
25011 * commands/parttool.c (helpmsg): new variable
25012 (grub_cmd_parttool): output help if not enough arguments are supplied
25013 autoload modules
25014 (GRUB_MOD_INIT(parttool)): use helpmsg
25015
25016 2009-04-24 David S. Miller <davem@davemloft.net>
25017
25018 Avoiding opening same device multiple times in device iterator.
25019
25020 * kern/device.c: (grub_device_iterate): Define struct part_ent,
25021 and use it to build a list of partitions in iterate_disk() and
25022 iterate_partition().
25023
25024 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
25025 on disk->data.
25026
25027 * disk/ieee1275/nand.c (grub_nand_iterate): Return
25028 grub_devalias_iterate() result instead of unconditional 0.
25029 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
25030 Also, capture hook return value, either directly or via
25031 grub_children_iterate(), and propagate to caller.
25032 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
25033 grub_children_iterate): Return value is now 'int' instead of
25034 'grub_err_t'.
25035 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
25036 like a proper iterator, stopping when hooks return non-zero.
25037 (grub_devalias_iterate): Likewise.
25038
25039 2009-04-23 David S. Miller <davem@davemloft.net>
25040
25041 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
25042
25043 2009-04-22 David S. Miller <davem@davemloft.net>
25044
25045 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
25046 is larger than address_cells, use that value for address_cells too.
25047
25048 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
25049 IEEE1275_MAX_PATH_LEN): Define.
25050 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
25051 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
25052 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
25053 'devtype'. Explicitly NULL terminate devalias expansion.
25054
25055 * util/sparc64/ieee1275/misc.c: New file.
25056 * util/sparc64/ieee1275/grub-setup.c: New file.
25057 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
25058 * util/sparc64/ieee1275/grub-mkimage.c: New file.
25059 * util/sparc64/ieee1275/grub-install.in: New file.
25060 * util/ieee1275/ofpath.c: New file.
25061 * util/ieee1275/devicemap.c: New file.
25062 * util/devicemap.c: New file.
25063 * util/deviceiter.c: New file.
25064 * kern/sparc64/ieee1275/init.c: New file.
25065 * include/grub/util/ofpath.h: New file.
25066 * include/grub/util/deviceiter.h: New file.
25067 * util/grub-mkdevicemap.c: Include deviceiter.h.
25068 Implement using grub_util_emit_devicemap_entry and
25069 grub_util_iterate_devices.
25070 * conf/i386-corebook.rmk: Build util/deviceiter.c and
25071 util/devicemap.c into grub-mkdevicemap
25072 * conf/i386-efi.rmk: Likewise.
25073 * conf/i386-ieee1275.rmk: Likewise.
25074 * conf/i386-pc.rmk: Likewise.
25075 * conf/powerpc-ieee1275.rmk: Likewise.
25076 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
25077 images and installation utilities. Build kernel as image
25078 instead of as elf binary. Use common rules as much as possible.
25079
25080 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
25081
25082 Correct GPT definition
25083
25084 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
25085 of "attrib" member
25086
25087 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
25088
25089 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
25090
25091 2009-04-19 David S. Miller <davem@davemloft.net>
25092
25093 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
25094 (grub_rescue_cmd_linux): Rename to...
25095 (grub_cmd_linux): and fix prototype.
25096 (grub_rescue_cmd_initrd): Rename to...
25097 (grub_cmd_initrd): and fix prototype.
25098 (cmd_linux, cmd_initrd): New.
25099 (GRUB_MOD_INIT(linux)): Use grub_register_command().
25100 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
25101
25102 2009-04-17 Pavel Roskin <proski@gnu.org>
25103
25104 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
25105 format.
25106 (grub_ohci_transfer): Likewise.
25107
25108 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
25109
25110 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
25111 return without a value. Fix inconsistent indentation.
25112
25113 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
25114 match struct grub_fs.
25115
25116 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
25117 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
25118 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
25119 * commands/lspci.c (grub_lspci_iter): Likewise.
25120
25121 2009-04-16 Bean <bean123ch@gmail.com>
25122
25123 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
25124 value.
25125
25126 2009-04-15 Pavel Roskin <proski@gnu.org>
25127
25128 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
25129 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
25130 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
25131 definitions.
25132
25133 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
25134
25135 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
25136 that no multiple data or metadata areas are supported and `Unknown
25137 metadata header'.
25138
25139 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
25140
25141 Move loader out of the kernel
25142
25143 * kern/loader.c: moved to ...
25144 * commands/boot.c: ... moved here
25145 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
25146 * commands/boot.c (grub_cmd_boot): moved here. All users updated
25147 * include/grub/kernel.h (grub_machine_fini): export
25148 * include/grub/loader.h (grub_loader_is_loaded): update declaration
25149 (grub_loader_set): likewise
25150 (grub_loader_unset): likewise
25151 (grub_loader_boot): likewise
25152 * conf/common.rmk: new module boot.mod
25153 (pkglib_MODULES): add boot.mod
25154 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
25155 (grub_emu_SOURCES): likewise
25156 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
25157 (grub_emu_SOURCES): likewise
25158 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
25159 (grub_emu_SOURCES): likewise
25160 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
25161 (grub_emu_SOURCES): likewise
25162 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
25163 (grub_emu_SOURCES): likewise
25164 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
25165 (grub_emu_SOURCES): likewise
25166 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
25167 (grub_emu_SOURCES): likewise
25168
25169 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
25170
25171 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
25172
25173 * kern/misc.c (grub_itoa): Removed function
25174 (grub_ltoa): likewise
25175 (grub_vsprintf): use grub_lltoa
25176
25177 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
25178
25179 Restore grub-emu
25180
25181 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
25182 * conf/i386-coreboot.rmk: likewise
25183 * conf/i386-ieee1275.rmk: likewise
25184 * conf/powerpc-ieee1275.rmk: likewise
25185
25186 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
25187
25188 * INSTALL: Add that `./autogen.sh' needs to be run before
25189 `./configure.'.
25190
25191 2009-04-14 Bean <bean123ch@gmail.com>
25192
25193 * Makefile.in (pkglib_DATA): Add handler.lst.
25194 (handler.lst): New rule.
25195
25196 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
25197 * conf/i386-coreboot.rmk: Likewise.
25198 * conf/i386-ieee1275.rmk: Likewise.
25199 * conf/i386-efi.rmk: Likewise.
25200 * conf/x86_64-efi.rmk: Likewise.
25201 * conf/powerpc-ieee1275.rmk: Likewise.
25202 * conf/sparc64-ieee1275.rmk: Likewise.
25203
25204 * genhandlerlist.sh: New file.
25205
25206 * genmk.rb: Add rules to generate handler.lst.
25207
25208 * include/grub/normal.h (grub_file_getline): New function definition.
25209 (read_handler_list): Likewise.
25210 (free_handler_list): Likewise.
25211
25212 * include/grub/term.h (grub_term_register_input): Add name parameter
25213 for auto generation of handler.lst.
25214 (grub_term_register_output): Likewise.
25215
25216 * normal/handler.c: New file.
25217
25218 * normal/main.c (get_line): Renamed to grub_file_getline.
25219 (read_config_file): Use the newly renamed grub_file_getline.
25220 (read_command_list): Likewise.
25221 (read_fs_list): Likewise.
25222 (grub_normal_execute): Call read_handler_list to parse handler.lst.
25223 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
25224
25225 * term/efi/console.c (grub_console_init): Add name parameter for auto
25226 generation of handler.lst.
25227 * term/gfxterm.c: Likewise.
25228 * term/i386/pc/at_keyboard.c: Likewise.
25229 * term/i386/pc/console.c: Likewise.
25230 * term/i386/pc/serial.c: Likewise.
25231 * term/i386/pc/vesafb.c: Likewise.
25232 * term/i386/pc/vga.c: Likewise.
25233 * term/i386/pc/vga_text.c: Likewise.
25234 * term/ieee1275/ofconsole.c: Likewise.
25235 * term/usb_keyboard.c: Likewise.
25236
25237 2009-04-14 Bean <bean123ch@gmail.com>
25238
25239 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
25240 properly with null character.
25241
25242 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
25243
25244 * configure: Remove.
25245 * config.h.in: Likewise.
25246 * stamp-h.in: Likewise.
25247 * DISTLIST: Likewise.
25248 * conf/common.mk: Likewise.
25249 * conf/i386-coreboot.mk: Likewise.
25250 * conf/i386-efi.mk: Likewise.
25251 * conf/i386-ieee1275.mk: Likewise.
25252 * conf/i386.mk: Likewise.
25253 * conf/i386-pc.mk: Likewise.
25254 * conf/powerpc-ieee1275.mk: Likewise.
25255 * conf/sparc64-ieee1275.mk: Likewise.
25256 * conf/x86_64-efi.mk: Likewise.
25257
25258 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
25259 develop on GRUB.
25260
25261 2009-04-14 John Stanley <jpsinthemix@verizon.net>
25262 David S. Miller <davem@davemloft.net>
25263
25264 * util/hostdisk.c (make_device_name): Fix buffer length
25265 calculations.
25266
25267 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
25268
25269 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
25270 <sys/param.h> and <sys/sysctl.h>.
25271 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
25272 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
25273 opening the device and reset them afterwards.
25274
25275 2009-04-13 Pavel Roskin <proski@gnu.org>
25276
25277 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
25278 Reported by John Stanley <jpsinthemix@verizon.net>
25279
25280 2009-04-13 Robert Millan <rmh@aybabtu.com>
25281
25282 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
25283 that name for menuentries when appropriate.
25284
25285 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
25286
25287 * util/grub.d/10_freebsd.in: Add a missing `fi'.
25288
25289 2009-04-13 Robert Millan <rmh@aybabtu.com>
25290
25291 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
25292 to Linux, simply abort telling the user it's no longer supported.
25293
25294 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
25295
25296 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
25297 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
25298 `freebsd_loadenv' only when devices.hints exist.
25299
25300 2009-04-13 Pavel Roskin <proski@gnu.org>
25301
25302 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
25303
25304 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
25305
25306 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
25307 partition number.
25308 (grub_drive): Likewise.
25309
25310 2009-04-13 David S. Miller <davem@davemloft.net>
25311
25312 * kern/sparc64/ieee1275/ieee1275.c: New file.
25313 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
25314 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
25315 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
25316 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
25317 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
25318 grub_ieee1275_alloc_physmem): Declare new exported functions.
25319
25320 * include/grub/sparc64/ieee1275/loader.h: New file.
25321 * include/grub/sparc64/ieee1275/memory.h: Likewise.
25322 * include/grub/sparc64/kernel.h: Likewise.
25323 * loader/sparc64/ieee1275/linux.c: Likewise.
25324
25325 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
25326 (grub_fstest_SOURCES): Likewise.
25327
25328 * util/hostdisk.c (make_device_name): Do not make any assumptions
25329 about the length of drive names.
25330
25331 * kern/dl.c (grub_dl_load_file): Close file immediately when
25332 we are done using it.
25333
25334 2009-04-12 David S. Miller <davem@davemloft.net>
25335
25336 * kern/misc.c (grub_ltoa): Fix cast when handling negative
25337 values. Noticed by Pavel Roskin.
25338
25339 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
25340 target compiler.
25341
25342 * genmk.rb: Add more flexible image type specification, also
25343 pass --strip-unneeded to objcopy.
25344 * conf/i386-pc.rmk: Use *_FORMAT.
25345 * conf/i386-pc.mk: Rebuilt.
25346
25347 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
25348 (OFDISK_HASH_SZ): Define.
25349 (ofdisk_hash): New hash table.
25350 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
25351 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
25352 instead of device phandle which is not unique.
25353
25354 * kern/sparc64/ieee1275/init.c: Delete, replace with...
25355 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
25356 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
25357 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
25358 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
25359 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
25360 GRUB_KERNEL_MACHINE_DATA_END): Define.
25361 (grub_kernel_image_size, grub_total_module_size): Declare.
25362
25363 2009-04-12 Pavel Roskin <proski@gnu.org>
25364
25365 * configure.ac: Change the logic when we check for target tools.
25366 Do it when the target is specified and it's different from the
25367 specified value of the host.
25368
25369 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
25370
25371 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
25372 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
25373 GNU/kFreeBSD. Check if a device is a character device. Use
25374 DIOCGMEDIASIZE to get the size.
25375 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
25376 support for GNU/kFreeBSD.
25377 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
25378 is a character device instead of a block device. Add support for
25379 FreeBSD device names.
25380
25381 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
25382 is a character device instead of a block device.
25383
25384 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
25385 is a character device instead of a block device.
25386
25387 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
25388
25389 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
25390 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
25391 FreeBSD. Check if a device is a character device. Use
25392 DIOCGMEDIASIZE to get the size.
25393 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
25394 support for FreeBSD.
25395 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
25396 is a character device instead of a block device. Add support for
25397 FreeBSD device names.
25398
25399 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
25400 a character device instead of a block device.
25401 (grub_util_check_char_device): New function.
25402
25403 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
25404 a character device instead of a block device.
25405
25406 * include/grub/util/getroot.h (grub_util_check_char_device): New
25407 prototype.
25408
25409 2009-04-11 David S. Miller <davem@davemloft.net>
25410
25411 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
25412 static libgcc.
25413 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
25414 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
25415 function, if present.
25416 (__bswapdi2): Likewise.
25417
25418 * include/grub/sparc64/ieee1275/boot.h: New file.
25419 * boot/sparc64/ieee1275/boot.S: Likewise.
25420 * boot/sparc64/ieee1275/diskboot.S: Likewise.
25421
25422 * kern/misc.c (grub_ltoa): New function.
25423 (grub_vsprintf): Use it to format 'long' integers.
25424
25425 2009-04-10 David S. Miller <davem@davemloft.net>
25426
25427 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
25428 slots are of type grub_ieee1275_cell_t.
25429 (grub_nand_read): Likewise.
25430 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
25431 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
25432 macros are used to compare values in arg/ret block of the call.
25433 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
25434 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
25435 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
25436 grub_ieee1275_instance_to_path, grub_ieee1275_write,
25437 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
25438 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
25439 grub_ieee1275_close, grub_ieee1275_set_property,
25440 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
25441 grub_ieee1275_cell_t.
25442 * kern/ieee1275/openfw.c (grub_map): Likewise.
25443 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
25444 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
25445
25446 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
25447 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
25448 (grub_devalias_iterate): Likewise.
25449
25450 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25451
25452 UFS improvements
25453
25454 * fs/ufs.c (INODE_NBLOCKS): new definition
25455 (struct grub_ufs_dirent): added fields for non-BSD dirents
25456 (grub_ufs_get_file_block): fixed double indirect handling
25457 (grub_ufs_lookup_symlink): use more robust way to determine whether
25458 symlink is inline
25459 (grub_ufs_find_file): support for non-BSD dirents
25460 (grub_ufs_dir): support for non-BSD dirents
25461
25462 2009-04-10 Bean <bean123ch@gnail.com>
25463
25464 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
25465 attribute, otherwise the size would be wrong for i386 platform.
25466
25467 * include/grub/pci.h (grub_pci_read_word): New inline function.
25468 (grub_pci_read_byte): Likewise.
25469 (grub_pci_write): Likewise.
25470 (grub_pci_write_word): Likewise.
25471 (grub_pci_write_byte): Likewise.
25472
25473 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
25474
25475 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
25476 (find_framebuf): Scan pci to locate the frame buffer address.
25477
25478 * commands/efi/fixvideo.c: New file.
25479
25480 * commands/efi/loadbios.c: Likewise.
25481
25482 * commands/memrw.c: Likewise.
25483
25484 * util/grub-dumpbios.in: Likewise.
25485
25486 * conf/common.rmk (grub-dumpbios): New utility.
25487 (pkglib_MODULES): New module memrw.mod.
25488 (memrw_mod_SOURCE): New macro.
25489 (memrw_mod_CFLAGS): Likewise.
25490 (memrw_mod_LDFLAGS): Likewise.
25491
25492 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
25493 fixvideo.mod.
25494 (loadbios_mod_SOURCE): New macro.
25495 (loadbios_mod_CFLAGS): Likewise.
25496 (loadbios_mod_LDFLAGS): Likewise.
25497 (fixvideo_mod_SOURCE): Likewise.
25498 (fixvideo_mod_CFLAGS): Likewise.
25499 (fixvideo_mod_LDFLAGS): Likewise.
25500
25501 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
25502 fixvideo.mod.
25503 (loadbios_mod_SOURCE): New macro.
25504 (loadbios_mod_CFLAGS): Likewise.
25505 (loadbios_mod_LDFLAGS): Likewise.
25506 (fixvideo_mod_SOURCE): Likewise.
25507 (fixvideo_mod_CFLAGS): Likewise.
25508 (fixvideo_mod_LDFLAGS): Likewise.
25509
25510 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
25511
25512 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
25513
25514 2009-04-07 David S. Miller <davem@davemloft.net>
25515
25516 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
25517 support for R_SPARC_OLO10 relocations. Fix compile warning for
25518 R_SPARC_WDISP30 case.
25519 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
25520
25521 2009-04-06 Pavel Roskin <proski@gnu.org>
25522
25523 * include/grub/misc.h (ARRAY_SIZE): New macro.
25524 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
25525 New macro.
25526 * loader/i386/linux.c (allocate_pages): Use free_pages().
25527 (grub_linux_unload): Don't use free_pages().
25528 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
25529 wrong index. Treat all other modes as text modes.
25530 (grub_cmd_linux): Initialize vid_mode unconditionally to
25531 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
25532
25533 * commands/help.c (print_command_help): Use cmd->prio, not
25534 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
25535
25536 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
25537
25538 Parttool
25539
25540 * parttool/pcpart.c: new file
25541 * commands/parttool.c: likewise
25542 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
25543 (parttool_mod_SOURCES): new variable
25544 (parttool_mod_CFLAGS): likewise
25545 (parttool_mod_LDFLAGS): likewise
25546 (pcpart_mod_SOURCES): likewise
25547 (pcpart_mod_CFLAGS): likewise
25548 (pcpart_mod_LDFLAGS): likewise
25549 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
25550 and parttool/pcpart.c
25551 * conf/i386-efi.rmk: likewise
25552 * conf/i386-ieee1275.rmk: likewise
25553 * conf/i386-pc.rmk: likewise
25554 * conf/powerpc-ieee1275.rmk: likewise
25555 * conf/sparc64-ieee1275.rmk: likewise
25556 * conf/x86_64-ieee1275.rmk: likewise
25557
25558 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25559
25560 Support for mtime and further expandability of dir command
25561
25562 * include/grub/lib/datetime.h: moved to ...
25563 * include/grub/datetime.h: ... moved here and added
25564 declaration of grub_unixtime2datetime. All users updated
25565 * include/grub/fs.h: new syntax for dir and mtime functions in
25566 struct grub_fs
25567 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
25568 and GRUB_FSHELP_FLAGS_MASK
25569 * commands/ls.c (grub_ls_list_files): Write mtime in long format
25570 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
25571 (grub_ext2_mtime): new function
25572 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
25573 (grub_hfsplus_mtime): new function
25574 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
25575 (GRUB_UFS_ATTR_FILE): likewise
25576 (GRUB_UFS_ATTR_LNK): likewise
25577 (struct grub_ufs_sblock): new fields mtime
25578 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
25579 all users updated
25580 (grub_ufs_dir): mtime support
25581 (grub_ufs_mtime): new function
25582 * fs/affs.c (grub_affs_dir): use new dir syntax
25583 * fs/afs.c (grub_afs_dir): likewise
25584 * fs/cpio.c (grub_cpio_dir): likewise
25585 * fs/fat.c (grub_fat_find_dir): likewise
25586 * fs/hfs.c (grub_hfs_dir): likewise
25587 * fs/iso9660.c (grub_iso9660_dir): likewise
25588 * fs/jfs.c (grub_jfs_dir): likewise
25589 * fs/minix.c (grub_minix_dir): likewise
25590 * fs/ntfs.c (grub_ntfs_dir): likewise
25591 * fs/reiserfs.c (grub_reiserfs_dir): likewise
25592 * fs/sfs.c (grub_sfs_dir): likewise
25593 * fs/xfs.c (grub_xfs_dir): likewise
25594 * util/hostfs.c (grub_hostfs_dir): likewise
25595 * lib/datetime.c: moved to ...
25596 * normal/datetime.c: ... moved here
25597 (grub_unixtime2datetime): new function
25598 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
25599 * normal/completion.c (iterate_dir): use new dir syntax
25600 * normal/misc.c (grub_normal_print_device_info): tell the
25601 last modification time of a volume
25602 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
25603 * conf/common.rmk: added lib/datetime.c to ls.mod
25604 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
25605 (normal_mod_SOURCES): likewise
25606 (datetime_mod_SOURCES): Removed lib/datetime.c
25607 * conf/i386-efi.rmk: likewise
25608 * conf/i386-ieee1275.rmk: likewise
25609 * conf/i386-pc.rmk: likewise
25610 * conf/powerpc-ieee1275.rmk: likewise
25611 * conf/sparc64-ieee1275.rmk: likewise
25612 * conf/x86_64-efi.rmk: likewise
25613
25614 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25615
25616 Trim trailing spaces in FAT label and support mtools-like labels
25617
25618 * fs/fat.c (grub_fat_iterate_dir): New function based
25619 on grub_fat_find_dir
25620 (grub_fat_find_dir): use grub_fat_iterate_dir
25621 (grub_fat_label): likewise
25622
25623 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
25624
25625 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
25626 and command.h
25627 remove extraneous kernel_elf_HEADERS
25628
25629 2009-04-04 Bean <bean123ch@gnail.com>
25630
25631 * include/grub/util/misc.h: Add dummy function fsync for mingw.
25632
25633 * util/misc.c: Likewise.
25634
25635 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
25636
25637 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
25638 instead of grub_printf.
25639
25640 2009-04-03 Robert Millan <rmh@aybabtu.com>
25641
25642 * loader/i386/linux.c (grub_linux_setup_video): Fill
25643 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
25644 values from `mode info' structure instead of hardcoded
25645 values.
25646
25647 2009-04-01 Pavel Roskin <proski@gnu.org>
25648
25649 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
25650 unused now.
25651 * genmk.rb: Likewise.
25652 * configure.ac: Likewise.
25653
25654 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
25655
25656 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
25657 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
25658
25659 2009-04-01 David S. Miller <davem@davemloft.net>
25660
25661 * normal/sparc64/setjmp.S: Fix setjmp implementation.
25662 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
25663 (grub_setjmp): Mark with 'returns_twice' attribute.
25664 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
25665 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
25666 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
25667
25668 2009-04-01 Robert Millan <rmh@aybabtu.com>
25669
25670 Reapply fix from 2008-07-28 which was accidentally reverted; also
25671 perform the same fix to a similar check in same function.
25672
25673 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
25674 with the same number are found, just use issue a warning with
25675 grub_dprintf(), as this error has been reported to be non-fatal.
25676
25677 2009-03-31 Pavel Roskin <proski@gnu.org>
25678
25679 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
25680 for cross-compilation.
25681
25682 2009-03-30 Robert Millan <rmh@aybabtu.com>
25683
25684 Fix i386-ieee1275 build.
25685
25686 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
25687 Remove declaration.
25688
25689 2009-03-30 Pavel Roskin <proski@gnu.org>
25690
25691 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
25692 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
25693 zero-terminated, rely only on the strlen value. Fix comparison
25694 of strings differing in length.
25695
25696 2009-03-30 Robert Millan <rmh@aybabtu.com>
25697
25698 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
25699 checking for abi version. Improve error messages on BIOS to notify
25700 user about `linux16' command.
25701
25702 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
25703
25704 Leak fixes
25705
25706 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
25707 in case of collision
25708 * disk/scsi.c (grub_scsi_open): free scsi in case of error
25709
25710 2009-03-29 Robert Millan <rmh@aybabtu.com>
25711
25712 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
25713 set `vid_mode' accordingly.
25714 (grub_linux_boot): Process `vid_mode' and set video mode.
25715
25716 2009-03-29 Robert Millan <rmh@aybabtu.com>
25717
25718 * util/grub.d/10_linux.in (linux_entry): New function.
25719 Factorize generation of Linux boot entries.
25720
25721 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
25722
25723 Make the format of Environment Block plain text. The boot loader
25724 part is not tested well yet.
25725
25726 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
25727 (buffer): Removed.
25728 (envblk): Likewise.
25729 (usage): Remove "info" and "clear". Add "unset". Update the
25730 description of "set", as this does not delete variables any
25731 longer.
25732 (create_envblk_file): Complete rewrite.
25733 (open_envblk_file): Likewise.
25734 (cmd_info): Removed.
25735 (cmd_list): Likewise.
25736 (cmd_set): Likewise.
25737 (cmd_clear): Likewise.
25738 (list_variables): New function.
25739 (write_envblk): Likewise.
25740 (set_variables): Likewise.
25741 (unset_variables): Likewise.
25742 (main): Complete rewrite.
25743
25744 * commands/loadenv.c (buffer): Removed.
25745 (envblk): Likewise.
25746 (open_envblk_file): New function.
25747 (read_envblk_file): Complete rewrite.
25748 (grub_cmd_load_env): Likewise.
25749 (grub_cmd_list_env): Likewise.
25750 (struct blocklist): New struct.
25751 (free_blocklists): New function.
25752 (check_blocklists): Likewise.
25753 (write_blocklists): Likewise.
25754 (grub_cmd_save_env): Complete rewrite.
25755
25756 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
25757 a plain text signature.
25758 (GRUB_ENVBLK_MAXLEN): Removed.
25759 (struct grub_envblk): Complete rewrite.
25760 (grub_envblk_find): Removed.
25761 (grub_envblk_insert): Likewise.
25762 (grub_envblk_open): New prototype.
25763 (grub_envblk_set): Likewise.
25764 (grub_envblk_delete): Put const to VALUE.
25765 (grub_envblk_iterate): Put const to NAME and VALUE.
25766 (grub_envblk_close): New prototype.
25767 (grub_envblk_buffer): New inline function.
25768 (grub_envblk_size): Likewise.
25769
25770 * lib/envblk.c: Include grub/mm.h.
25771 (grub_env_find): Removed.
25772 (grub_envblk_open): New function.
25773 (grub_envblk_close): Likewise.
25774 (escaped_value_len): Likewise.
25775 (find_next_line): Likewise.
25776 (grub_envblk_insert): Removed.
25777 (grub_envblk_set): New function.
25778 (grub_envblk_delete): Complete rewrite.
25779 (grub_envblk_iterate): Likewise.
25780
25781 2009-03-28 Robert Millan <rmh@aybabtu.com>
25782
25783 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
25784 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
25785 variables. Use 16-bit loader.
25786 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
25787 loader.
25788 * kern/i386/loader.S (grub_linux_boot): Rename to ...
25789 (grub_linux16_boot): ... this. Update all users.
25790 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
25791 (grub_linux_boot): ... this. Update all users.
25792
25793 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
25794 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
25795 commands to `linux16' and `initrd16'.
25796 (GRUB_MOD_FINI(linux)): Rename to ...
25797 (GRUB_MOD_FINI(linux16)): ... this.
25798
25799 2009-03-24 Pavel Roskin <proski@gnu.org>
25800
25801 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
25802 not just for compilation.
25803
25804 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
25805
25806 Move multiboot helper out of kernel
25807
25808 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
25809 `loader/i386/multiboot_helper.S'.
25810 * conf/i386-coreboot.rmk: Likewise
25811 * conf/i386-ieee1275.rmk: Likewise
25812
25813 * kern/i386/loader.S: Move multiboot helpers from here...
25814 * loader/i386/multiboot_helper.S: ...moved here
25815 * include/grub/i386/loader.h: Move declarations of multiboot
25816 helpers from here...
25817 * include/grub/i386/multiboot.h: ...moved here
25818 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
25819
25820 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25821
25822 * kern/env.c (grub_env_context_open): Added an argument to specify
25823 whether a new context inherits exported variables from current
25824 one. This is useful when making a sandbox to interpret a config
25825 file.
25826 All callers updated.
25827
25828 * include/grub/env.h (grub_env_context_open): Updated the prototype.
25829
25830 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25831
25832 * kern/env.c (grub_env_context_close): Fix memory leaks.
25833
25834 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25835
25836 * normal/main.c (grub_normal_execute): Added an argument
25837 BATCH to specify if an interactive interface should be provided
25838 after reading a config file.
25839 All callers updated.
25840 (read_command_list): Prevent being executed twice.
25841 (read_fs_list): Likewise.
25842
25843 * include/grub/normal.h (grub_normal_execute): Updated the
25844 prototype.
25845
25846 2009-03-22 Pavel Roskin <proski@gno.org>
25847
25848 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
25849 _start.
25850 * kern/i386/pc/startup.S: Likewise.
25851 * kern/i386/efi/startup.S: Likewise.
25852 * kern/i386/ieee1275/startup.S: Likewise.
25853 * kern/i386/coreboot/startup.S: Likewise.
25854 * kern/x86_64/efi/startup.S: Likewise.
25855
25856 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
25857 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
25858 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
25859
25860 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
25861
25862 Bugfixes in multiboot for bugs uncovered by solaris kernel.
25863
25864 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
25865 limit detection.
25866 Use vaddr of correct segment for entry_point.
25867
25868 2009-03-21 Bean <bean123ch@gmail.com>
25869
25870 * commands/blocklist.c: Add include file <grub/command.h>, remove
25871 <grub/normal.h> and <grub/arg.h>.
25872 (grub_cmd_blocklist): Use the new command interface.
25873 (GRUB_MOD_INIT): Likewise.
25874 (GRUB_MOD_FINI): Likewise.
25875 * commands/boot.c: Likewise.
25876 * commands/cat.c: Likewise.
25877 * commands/cmp.c: Likewise.
25878 * commands/configfile.c: Likewise.
25879 * commands/crc.c: Likewise.
25880 * commands/echo.c: Likewise.
25881 * commands/halt.c: Likewise.
25882 * commands/handler.c: Likewise.
25883 * commands/hdparm.c: Likewise.
25884 * commands/help.c: Likewise.
25885 * commands/hexdump.c: Likewise.
25886 * commands/loadenv.c: Likewise.
25887 * commands/ls.c: Likewise.
25888 * commands/lsmmap.c: Likewise.
25889 * commands/lspci.c: Likewise.
25890 * commands/loadenv.c: Likewise.
25891 * commands/read.c: Likewise.
25892 * commands/reboot.c: Likewise.
25893 * commands/search.c: Likewise.
25894 * commands/sleep.c: Likewise.
25895 * commands/test.c: Likewise.
25896 * commands/usbtest.c: Likewise.
25897 * commands/videotest.c: Likewise.
25898 * commands/i386/cpuid.c: Likewise.
25899 * commands/i386/pc/halt.c: Likewise.
25900 * commands/i386/pc/play.c: Likewise.
25901 * commands/i386/pc/pxecmd.c: Likewise.
25902 * commands/i386/pc/vbeinfo.c: Likewise.
25903 * commands/i386/pc/vbetest.c: Likewise.
25904 * commands/ieee1275/suspend.c: Likewise.
25905 * disk/loopback.c: Likewise.
25906 * font/font_cmd.c: Likewise.
25907 * hello/hello.c: Likewise.
25908 * loader/efi/appleloader.c: Likewise.
25909 * loader/efi/chainloader.c: Likewise.
25910 * loader/i386/bsd.c: Likewise.
25911 * loader/i386/efi/linux.c: Likewise.
25912 * loader/i386/ieee1275/linux.c: Likewise.
25913 * loader/i386/linux.c: Likewise.
25914 * loader/i386/pc/chainloader.c: Likewise.
25915 * loader/i386/pc/linux.c: Likewise.
25916 * loader/powerpc/ieee1275/linux.c: Likewise.
25917 * loader/multiboot_loader.c: Likewise.
25918 * term/gfxterm.c: Likewise.
25919 * term/i386/pc/serial.c: Likewise.
25920 * term/terminfo.c: Likewise.
25921
25922 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
25923 * term/i386/pc/vga.c: Likewise.
25924 * video/readers/jpeg.c: Likewise.
25925 * video/readers/png.c: Likewise.
25926 * video/readers/tga.c: Likewise.
25927
25928 * util/grub-fstest (cmd_loopback): Removed.
25929 (cmd_blocklist): Likewise.
25930 (cmd_ls): Likewise.
25931 (grub_register_command): Likewise.
25932 (grub_unregister_command): Likewise.
25933 (execute_command): Use grub_command_find to locate command and execute
25934 it.
25935
25936 * include/grub/efi/chainloader.h: Removed.
25937 * loader/efi/chainloader_normal.c: Likewise.
25938 * loader/i386/bsd_normal.c: Likewise.
25939 * loader/i386/pc/chainloader_normal.c: Likewise.
25940 * loader/i386/pc/multiboot_normal.c: Likewise.
25941 * loader/linux_normal.c: Likewise.
25942 * loader/multiboot_loader_normal.c: Likewise.
25943 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
25944
25945 * gencmdlist.sh: Scan new registration command grub_register_extcmd
25946 and grub_register_command_p1.
25947
25948 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
25949 kern/command.c, lib/arg.c and commands/extcmd.c.
25950 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
25951 (minicmd_mod_SOURCES): New variable.
25952 (minicmd_mod_CFLAGS): Likewise.
25953 (minicmd_mod_LDFLAGS): Likewise.
25954 (extcmd_mod_SOURCES): Likewise.
25955 (extcmd_mod_CFLAGS): Likewise.
25956 (extcmd_mod_LDFLAGS): Likewise.
25957 (boot_mod_SOURCES): Removed.
25958 (boot_mod_CFLAGS): Likewise.
25959 (boot_mod_LDFLAGS): Likewise.
25960
25961 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
25962 kern/corecmd.c.
25963 (kernel_img_HEADERS): Add command.h.
25964 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
25965 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
25966 and lib/arg.c.
25967 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
25968 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
25969 remove the corresponding normal mode command.
25970 (normal_mod_SOURCES): Remove normal/arg.c.
25971 * conf/i386-coreboot.rmk: Likewise.
25972 * conf/i386-efi.rmk: Likewise.
25973 * conf/i386-ieee1275.rmk: Likewise.
25974 * conf/powerpc-ieee1275.rmk: Likewise.
25975 * conf/x86_64-efi.rmk: Likewise.
25976
25977 * include/grub/arg.h: Move from here ...
25978 * include/grub/lib/arg.h: ... to here.
25979
25980 * normal/arg.c: Move from here ...
25981 * lib/arg.c: ... to here.
25982
25983 * commands/extcmd.c: New file.
25984 * commands/minicmd.c: Likewise.
25985 * include/grub/command.h: Likewise.
25986 * include/grub/extcmd.h: Likewise.
25987 * kern/command.c: Likewise.
25988 * kern/corecmd.c: Likewise.
25989
25990 * kern/list.c (grub_list_iterate): Return int instead of void.
25991 (grub_list_insert): New function.
25992 (grub_prio_list_insert): Likewise.
25993
25994 * kern/rescue.c (grub_rescue_command): Removed.
25995 (grub_rescue_command_list): Likewise.
25996 (grub_rescue_register_command): Likewise.
25997 (grub_rescue_unregister_command): Likewise.
25998 (grub_rescue_cmd_boot): Move to minicmd.c
25999 (grub_rescue_cmd_help): Likewise.
26000 (grub_rescue_cmd_info): Likewise.
26001 (grub_rescue_cmd_boot): Likewise.
26002 (grub_rescue_cmd_testload): Likewise.
26003 (grub_rescue_cmd_dump): Likewise.
26004 (grub_rescue_cmd_rmmod): Likewise.
26005 (grub_rescue_cmd_lsmod): Likewise.
26006 (grub_rescue_cmd_exit): Likewise.
26007 (grub_rescue_print_devices): Moved to corecmd.c.
26008 (grub_rescue_print_files): Likewise.
26009 (grub_rescue_cmd_ls): Likewise.
26010 (grub_rescue_cmd_insmod): Likewise.
26011 (grub_rescue_cmd_set): Likewise.
26012 (grub_rescue_cmd_unset): Likewise.
26013 (attempt_normal_mode): Use grub_command_find to get normal module.
26014 (grub_enter_rescue_mode): Use grub_register_core_commands to register
26015 commands, remove grub_rescue_register_command calls.
26016
26017 * normal/command.c (grub_register_command): Removed.
26018 (grub_unregister_command): Likewise.
26019 (grub_command_find): Likewise.
26020 (grub_iterate_commands): Likewise.
26021 (rescue_command): Likewise.
26022 (export_command): Moved to corecmd.c.
26023 (set_command): Removed.
26024 (unset_command): Likewise.
26025 (insmod_command): Likewise.
26026 (rmmod_command): Likewise.
26027 (lsmod_command): Likewise.
26028 (grub_command_init): Likewise.
26029
26030 * normal/completion.c (iterate_command): Use cmd->prio to check for
26031 active command.
26032 (complete_arguments): Use grub_extcmd_t structure to find options.
26033 (grub_normal_do_completion): Change function grub_iterate_commands to
26034 grub_command_iterate.
26035
26036 * normal/execute.c (grub_script_execute_cmd): No need to parse
26037 argument here.
26038
26039 * normal/main.c (grub_dyncmd_dispatcher): New function.
26040 (read_command_list): Register unload commands as dyncmd.
26041 (grub_cmd_normal): Use new command interface, register rescue,
26042 unregister normal at entry, register normal, unregister rescue at exit.
26043
26044 * include/grub/list.h (grub_list_test_t): New type.
26045 (grub_list_iterate): Return int instead of void.
26046 (grub_list_insert): New function.
26047 (GRUB_AS_NAMED_LIST_P): New macro.
26048 (GRUB_AS_PRIO_LIST): Likewise.
26049 (GRUB_AS_PRIO_LIST_P): Likewise.
26050 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
26051 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
26052 (grub_prio_list): New structure.
26053 (grub_prio_list_insert): New function.
26054 (grub_prio_list_remove): New inline function.
26055
26056 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
26057 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
26058 (GRUB_COMMAND_FLAG_MENU): Likewise.
26059 (GRUB_COMMAND_FLAG_BOTH): Likewise.
26060 (GRUB_COMMAND_FLAG_TITLE): Likewise.
26061 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
26062 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
26063 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
26064 (grub_command): Likewise.
26065 (grub_register_command): Likewise.
26066 (grub_command_find): Likewise.
26067 (grub_iterate_commands): Likewise.
26068 (grub_command_init): Likewise.
26069 (grub_arg_parse): Likewise.
26070 (grub_arg_show_help): Likewise.
26071
26072 * include/grub/rescue.h (grub_rescue_register_command): Removed.
26073 (grub_rescue_unregister_command): Likewise.
26074
26075 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
26076 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
26077 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
26078
26079 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
26080 grub_rescue_cmd_initrd.
26081 * include/grub/i386/loader.h: Likewise.
26082 * include/grub/x86_64/loader.h: Likewise.
26083
26084 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
26085
26086 2009-03-21 Bean <bean123ch@gmail.com>
26087
26088 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
26089 instead of stat in mingw environment.
26090
26091 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
26092
26093 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
26094
26095 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
26096 AC_CONFIG_LINKS.
26097
26098 2009-03-21 Bean <bean123ch@gmail.com>
26099
26100 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
26101 out of range error.
26102
26103 2009-03-18 Michel Dänzer <michel@daenzer.net>
26104
26105 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
26106 checking inode flags for EXT4_EXTENTS_FLAG.
26107
26108 2009-03-18 Robert Millan <rmh@aybabtu.com>
26109
26110 * loader/i386/linux.c: Include `<grub/video.h>' and
26111 `<grub/i386/pc/vbe.h>'..
26112 (grub_linux_setup_video): New function. Loosely based on the EFI one.
26113 (grub_linux32_boot): Attempt to configure video settings with
26114 grub_linux_setup_video().
26115 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
26116 to avoid grub_console_fini() which would step out of graphical mode
26117 unconditionally.
26118
26119 2009-03-14 Robert Millan <rmh@aybabtu.com>
26120
26121 Fix build on powerpc.
26122 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
26123
26124 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
26125
26126 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
26127 background image command.
26128
26129 2009-03-12 Colin D Bennett <colin@gibibit.com>
26130
26131 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
26132 (grub_gfxterm_putchar): Extract pairs of identical calls to
26133 draw_cursor out of conditional blocks.
26134
26135 2009-03-11 Pavel Roskin <proski@gnu.org>
26136
26137 * fs/hfs.c (grub_hfs_strncasecmp): New function.
26138 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
26139
26140 2009-03-11 Robert Millan <rmh@aybabtu.com>
26141
26142 * loader/i386/multiboot_elfxx.c
26143 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
26144
26145 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
26146
26147 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
26148 `kern/handler.c'.
26149
26150 2009-03-11 Robert Millan <rmh@aybabtu.com>
26151
26152 * loader/i386/multiboot.c (code_size): New variable.
26153 (grub_multiboot): Define offsets by adding to `code_size' rather
26154 than subtracting from `grub_multiboot_payload_size'. Provide
26155 4-byte alignment to MBI and others by increasing
26156 `boot_loader_name_length' appropriately.
26157
26158 * loader/i386/multiboot_elfxx.c
26159 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
26160
26161 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
26162
26163 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
26164 `fs/ext2.c'.
26165
26166 2009-03-08 Robert Millan <rmh@aybabtu.com>
26167
26168 Make loader/i386/linux.c usable on i386-pc again.
26169
26170 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
26171 memory to heap.
26172 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
26173 `#error' stanza.
26174
26175 2009-03-07 Bean <bean123ch@gmail.com>
26176
26177 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
26178 allocation.
26179
26180 2009-03-06 Robert Millan <rmh@aybabtu.com>
26181
26182 Fix display issue on terminals with screen size other than 80x25
26183 (e.g. gfxterm with resolution higher than 640x480).
26184
26185 * normal/main.c (grub_normal_init_page): Display title text in a
26186 position relative to the center of the terminal instead of relying
26187 on a hardcoded offset.
26188
26189 2009-03-04 Robert Millan <rmh@aybabtu.com>
26190
26191 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
26192 installed.
26193
26194 * Makefile.in (host_kernel): New variable.
26195 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
26196 scripts instead of just the windows one.
26197 * configure.ac: Initialize and AC_SUBST `host_kernel'.
26198
26199 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
26200
26201 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
26202 `kern/handler.c'.
26203 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26204 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26205 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26206 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26207 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26208 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26209
26210 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
26211
26212 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
26213 or if there's no space for the disk label and print the partition number on a
26214 invalid magic.
26215
26216 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
26217
26218 * util/misc.c: Include <time.h>.
26219 (grub_millisleep): New function.
26220
26221 2009-03-04 Bean <bean123ch@gmail.com>
26222
26223 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
26224 another option -mno-red-zone.
26225
26226 * commands/handler.c: Change module description.
26227
26228 * kern/handler.c: Add missing space at the end of description line.
26229
26230 * kern/list.c: Likewise.
26231
26232 2009-03-03 Robert Millan <rmh@aybabtu.com>
26233
26234 Move more components to the relocation area, and fix mbi pointer
26235 handling to use the destination rather than the origin (thanks to
26236 Vladimir Serbinenko for spotting).
26237
26238 * loader/i386/multiboot.c (mbi_dest): New variable.
26239 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
26240 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
26241 relocation area.
26242
26243 2009-03-01 Bean <bean123ch@gmail.com>
26244
26245 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
26246 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
26247 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
26248 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
26249
26250 * loader/i386/efi/linux.c (acpi_guid): New variable.
26251 (acpi_guid): Likewise.
26252 (EBDA_SEG_ADDR): New constant.
26253 (LOW_MEM_ADDR): Likewise.
26254 (FAKE_EBDA_SEG): Likewise.
26255 (fake_bios_data): New function.
26256 (grub_linux_boot): Call fake_bios_data.
26257
26258 2009-03-01 Bean <bean123ch@gmail.com>
26259
26260 * commands/terminal.c: Removed.
26261
26262 * commands/handler.c: New file.
26263
26264 * include/grub/list.h: Likewise.
26265
26266 * include/grub/handler.h: Likewise.
26267
26268 * kern/list.c: Likewise.
26269
26270 * kern/handler.c: Likewise.
26271
26272 * kern/term.h: Include header file <grub/handler.h>.
26273 (grub_term_input): Move next field to the beginning.
26274 (grub_term_output): Likewise.
26275 (grub_term_input_class): New variable.
26276 (grub_term_output_class): Likewise.
26277 (grub_term_register_input): Changed to inline function.
26278 (grub_term_register_output): Likewise.
26279 (grub_term_unregister_input): Likewise.
26280 (grub_term_unregister_output): Likewise.
26281 (grub_term_set_current_input): Likewise.
26282 (grub_term_set_current_output): Likewise.
26283 (grub_term_get_current_input): Likewise.
26284 (grub_term_get_current_output): Likewise.
26285 (grub_term_iterate_input): Removed.
26286 (grub_term_iterate_output): Likewise.
26287
26288 * kern/term.c (grub_term_list_input): Removed.
26289 (grub_term_list_output): Likewise.
26290 (grub_term_input_class): New variable.
26291 (grub_term_output_class): Likewise.
26292 (grub_cur_term_input): Change variable as macro.
26293 (grub_cur_term_output): Likewise.
26294 (grub_term_register_input): Removed.
26295 (grub_term_register_output): Likewise.
26296 (grub_term_unregister_input): Likewise.
26297 (grub_term_unregister_output): Likewise.
26298 (grub_term_set_current_input): Likewise.
26299 (grub_term_set_current_output): Likewise.
26300 (grub_term_iterate_input): Likewise.
26301 (grub_term_iterate_output): Likewise.
26302 (grub_term_get_current_input): Likewise.
26303 (grub_term_get_current_output): Likewise.
26304
26305 * util/grub-editenv.c: Include header file <grub/handler.h>.
26306 (grub_term_get_current_input): Removed.
26307 (grub_term_get_current_output): Likewise.
26308 (grub_term_input_class): New variable.
26309 (grub_term_output_class): Likewise.
26310
26311 * util/grub-fstest.c (grub_term_get_current_input): Removed.
26312 (grub_term_get_current_output): Likewise.
26313 (grub_term_input_class): New variable.
26314 (grub_term_output_class): Likewise.
26315
26316 * util/grub-probe.c (grub_term_get_current_input): Removed.
26317 (grub_term_get_current_output): Likewise.
26318 (grub_term_input_class): New variable.
26319 (grub_term_output_class): Likewise.
26320
26321 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
26322 (grub_term_get_current_output): Likewise.
26323 (grub_term_input_class): New variable.
26324 (grub_term_output_class): Likewise.
26325
26326 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
26327 (terminal_mod_SOURCES): Likewise.
26328 (terminal_mod_CFLAGS): Likewise.
26329 (terminal_mod_LDFLAGS): Likewise.
26330
26331 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
26332 handler.c.
26333 (kernel_img_SOURCES): Add list.c and handler.c.
26334 (kernel_img_HEADERS): Add list.h and handler.h.
26335
26336 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
26337 handler.c.
26338 (kernel_mod_SOURCES): Add list.c and handler.c.
26339 (kernel_mod_HEADERS): Add list.h and handler.h.
26340
26341 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
26342 handler.c.
26343 (kernel_elf_SOURCES): Add list.c and handler.c.
26344 (kernel_elf_HEADERS): Add list.h and handler.h.
26345
26346 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
26347 handler.c.
26348 (kernel_elf_SOURCES): Add list.c and handler.c.
26349 (kernel_elf_HEADERS): Add list.h and handler.h.
26350
26351 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
26352 handler.c.
26353 (kernel_mod_SOURCES): Add list.c and handler.c.
26354 (kernel_mod_HEADERS): Add list.h and handler.h.
26355
26356 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
26357 handler.c.
26358 (kernel_elf_SOURCES): Add list.c and handler.c.
26359 (kernel_elf_HEADERS): Add list.h and handler.h.
26360
26361 2009-02-27 Robert Millan <rmh@aybabtu.com>
26362
26363 Factorize elf32 / elf64 code in Multiboot loader. This will
26364 prevent it from getting out of sync again.
26365
26366 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
26367 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
26368 grub_multiboot_load_elf64): Move from here ...
26369 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
26370 grub_multiboot_load_elf): ... to here (new file).
26371
26372 2009-02-27 Robert Millan <rmh@aybabtu.com>
26373
26374 * util/grub.d/10_linux.in: Rename "single-user mode" to
26375 "recovery mode".
26376
26377 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
26378
26379 Don't leak in SCSI code.
26380 * disk/scsi.c (grub_scsi_close): free `scsi'.
26381
26382 2009-02-27 Robert Millan <rmh@aybabtu.com>
26383
26384 * loader/i386/pc/multiboot.c: Move from here ...
26385 * loader/i386/multiboot.c: ... to here. Update all users.
26386
26387 2009-02-27 Robert Millan <rmh@aybabtu.com>
26388
26389 Patch from Alexandre Bique <bique.alexandre@gmail.com>
26390 * util/i386/pc/grub-setup.c (setup): Fix directory path.
26391
26392 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
26393
26394 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
26395 b-tree.
26396
26397 2009-02-27 Robert Millan <rmh@aybabtu.com>
26398
26399 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
26400 `0x' qualifier as 0 when base is specified as parameter).
26401
26402 2009-02-24 Bean <bean123ch@gmail.com>
26403
26404 * configure.ac: Check for -mcmodel=large in x86_64 target.
26405
26406 * include/grub/efi/api.h (efi_call_10): New macro.
26407 (efi_wrap_10): New function.
26408
26409 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
26410 (GRUB_PE32_REL_BASED_HIGH): Likewise.
26411 (GRUB_PE32_REL_BASED_LOW): Likewise.
26412 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
26413 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
26414 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
26415 (GRUB_PE32_REL_BASED_SECTION): Likewise.
26416 (GRUB_PE32_REL_BASED_REL): Likewise.
26417 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
26418 (GRUB_PE32_REL_BASED_DIR64): Likewise.
26419 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
26420
26421 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
26422 issue.
26423
26424 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
26425 (efi_wrap_10): New function.
26426
26427 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
26428
26429 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
26430 MB/MBP model (NV chipset).
26431 (devdata_devs): Add devpath_5 to the list.
26432
26433 * load/i386/efi/linux.c (video_base): Remove variable.
26434 (RGB_MASK): New macro.
26435 (RGB_MAGIC): Likewise.
26436 (LINE_MIN): Likewise.
26437 (LINE_MAX): Likewise.
26438 (FBTEST_STEP): Likewise.
26439 (FBTEST_COUNT): Likewise.
26440 (fb_list): New variable.
26441 (grub_find_video_card): Remove function.
26442 (find_framebuf): New function.
26443 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
26444 line length.
26445
26446 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
26447 problem for x86_64.
26448
26449 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
26450
26451 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
26452
26453 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
26454 coding tool name.
26455
26456 2009-02-22 Robert Millan <rmh@aybabtu.com>
26457
26458 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
26459 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
26460 in our relocation, instead of using it directly from heap. Also
26461 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
26462
26463 2009-02-21 Robert Millan <rmh@aybabtu.com>
26464
26465 Implement USB keyboard support (based on patch by Marco Gerards)
26466
26467 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
26468 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
26469 (usb_keyboard_mod_LDFLAGS): New variables.
26470
26471 * term/usb_keyboard.c: New file.
26472
26473 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26474
26475 Corrected wrong declaration
26476
26477 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
26478
26479 2009-02-14 Christian Franke <franke@computer.org>
26480
26481 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
26482 (grub_lspci_iter): Print class code and programming interface byte.
26483
26484 2009-02-14 Christian Franke <franke@computer.org>
26485
26486 * gendistlist.sh: Ignore `.svn' directories.
26487
26488 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
26489
26490 * fs/fat.c: Add 2009 to Copyright line.
26491
26492 2009-02-14 Christian Franke <franke@computer.org>
26493
26494 * commands/hdparm.c: New file. Provides `hdparm' command
26495 which sends ATA commands via grub_disk_ata_pass_through ().
26496
26497 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
26498
26499 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
26500 and <grub/cpu/io.h> to include/grub/ata.h.
26501 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
26502 (GRUB_CDROM_SECTOR_SIZE): Remove.
26503 (GRUB_ATA_*): Move to include/grub/ata.h.
26504 (GRUB_ATAPI_*): Likewise.
26505 (enum grub_ata_commands): Likewise.
26506 (enum grub_ata_timeout_milliseconds): Likewise.
26507 (struct grub_ata_device): Likewise.
26508 (grub_ata_regset): Likewise.
26509 (grub_ata_regget): Likewise.
26510 (grub_ata_regset2): Likewise.
26511 (grub_ata_regget2): Likewise.
26512 (grub_ata_check_ready): Likewise.
26513 (grub_ata_wait_not_busy): Remove static, exported in
26514 include/grub/ata.h.
26515 (grub_ata_wait_drq): Likewise.
26516 (grub_ata_pio_read): Likewise.
26517
26518 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
26519 function for hdparm.mod.
26520
26521 * include/grub/ata.h: New file, contains declarations from
26522 disk/ata.c.
26523 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
26524
26525 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
26526 (grub_disk_ata_pass_through): New exported variable.
26527
26528 * kern/disk.c (grub_disk_ata_pass_through): New variable.
26529
26530 2009-02-13 Colin D Bennett <colin@gibibit.com>
26531
26532 Support multiple fallback entries, and provide an API to support
26533 executing default+fallback menu entries. Renamed the `terminal' menu
26534 viewer to `text'.
26535
26536 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
26537 variable declaration.
26538 (grub_menu_execute_callback): New structure declaration.
26539 (grub_menu_execute_callback_t): New typedef.
26540 (grub_menu_execute_with_fallback): New function declaration.
26541 (grub_menu_get_entry): Likewise.
26542 (grub_menu_get_timeout): Likewise.
26543 (grub_menu_set_timeout): Likewise.
26544
26545 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
26546
26547 * normal/menu.c (grub_wait_after_message): Moved to
26548 `normal/menu_text.c'.
26549 (draw_border): Likewise.
26550 (print_message): Likewise.
26551 (print_entry): Likewise.
26552 (print_entries): Likewise.
26553 (grub_menu_init_page): Likewise.
26554 (get_entry_number): Likewise.
26555 (print_timeout): Likewise.
26556 (run_menu): Likewise.
26557 (grub_menu_execute_entry): Likewise.
26558 (show_text_menu): Likewise.
26559 (get_and_remove_first_entry_number): New function.
26560 (grub_menu_execute_with_fallback): Likewise.
26561 (get_entry): Renamed to ...
26562 (grub_menu_get_entry): .. this and made it global.
26563 (get_timeout): Renamed to ...
26564 (grub_menu_get_timeout): ... this and made it global.
26565 (set_timeout): Renamed to ...
26566 (grub_menu_set_timeout): ... this and made it global.
26567 (grub_normal_terminal_menu_viewer): Renamed to ...
26568 (grub_normal_text_menu_viewer): ... this.
26569
26570 * normal/menu_text.c: New file. Extracted text-menu-specific code
26571 from normal/menu.c.
26572
26573 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
26574 (normal_mod_SOURCES): Likewise.
26575
26576 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26577 (normal_mod_SOURCES): Likewise.
26578
26579 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26580 (normal_mod_SOURCES): Likewise.
26581
26582 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
26583 (normal_mod_SOURCES): Likewise.
26584
26585 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26586 (normal_mod_SOURCES): Likewise.
26587
26588 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26589 (normal_mod_SOURCES): Likewise.
26590
26591 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26592 (normal_mod_SOURCES): Likewise.
26593
26594 2009-02-11 Robert Millan <rmh@aybabtu.com>
26595
26596 * util/grub.d/00_header.in: Update old reference to `font' command.
26597
26598 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
26599
26600 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
26601
26602 Based on patch from Javier Martín.
26603
26604 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
26605
26606 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
26607 to avoid false positives with FAT.
26608 (grub_fstest_SOURCES): Likewise.
26609 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26610 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26611 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26612 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26613 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26614 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26615
26616 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
26617
26618 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
26619 bpb.version_specific.fat12_or_fat16.fstype and
26620 bpb.version_specific.fat32.fstype.
26621
26622 2009-02-08 Robert Millan <rmh@aybabtu.com>
26623
26624 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
26625
26626 2009-02-08 Robert Millan <rmh@aybabtu.com>
26627
26628 * Makefile.in (host_os, host_cpu): New variables.
26629 (target_os): Remove. Update all users.
26630
26631 2009-02-08 Marco Gerards <marco@gnu.org>
26632
26633 * Makefile.in (enable_grub_emu_usb): New variable.
26634 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
26635 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
26636 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
26637 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
26638 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
26639 `usbtest.mod' and `usbms.mod'.
26640 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
26641 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
26642 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
26643 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
26644 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
26645 variables.
26646
26647 * disk/usbms.c: New file.
26648
26649 * include/grub/usb.h: Likewise.
26650
26651 * include/grub/usbtrans.h: Likewise.
26652
26653 * include/grub/usbdesc.h: Likewise.
26654
26655 * bus/usb/usbtrans.c: Likewise.
26656
26657 * bus/usb/ohci.c: Likewise.
26658
26659 * bus/usb/uhci.c: Likewise.
26660
26661 * bus/usb/usbhub.c: Likewise.
26662
26663 * bus/usb/usb.c: Likewise.
26664
26665 * commands/usbtest.c: Likewise.
26666
26667 * util/usb.c: Likewise.
26668
26669 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
26670
26671 * configure.ac: Test for libusb presence.
26672
26673 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
26674
26675 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
26676
26677 * kern/mm.c: Add more comments.
26678
26679 2009-02-08 Robert Millan <rmh@aybabtu.com>
26680
26681 Patch from Javier Martín.
26682 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
26683 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
26684
26685 2009-02-08 Robert Millan <rmh@aybabtu.com>
26686
26687 * fs/cpio.c: Split tar functionality to ...
26688 * fs/tar.c: ... here (new file). Update all users.
26689
26690 2009-02-07 Robert Millan <rmh@aybabtu.com>
26691
26692 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
26693 backward-incompatible features.
26694
26695 Based on patch from Javier Martín, with some adjustments.
26696
26697 2009-02-07 Michael Scherer <misc@mandriva.org>
26698
26699 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
26700
26701 2009-02-07 Robert Millan <rmh@aybabtu.com>
26702
26703 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
26704 position of `disk/lvm.c' to ensure grub_init_all() always picks it
26705 after the RAID stuff.
26706
26707 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
26708
26709 Fixes problem when running vbetest command as reported by
26710 Vladimir Serbinenko <phcoder@gmail.com>.
26711
26712 * (grub_vbe_set_video_mode): Fixed problem with text modes.
26713
26714 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
26715
26716 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
26717 /dev/md/NpN style mdraid devices.
26718
26719 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
26720
26721 * util/unifont2pff.rb: Remove.
26722
26723 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
26724
26725 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
26726 `#'.
26727
26728 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
26729
26730 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
26731 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26732 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26733 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26734 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26735 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26736 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26737
26738 2009-02-02 Christian Franke <franke@computer.org>
26739
26740 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
26741
26742 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
26743
26744 * INSTALL: Note that we now require at least autoconf 2.59 and
26745 that LZO is optional.
26746
26747 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26748
26749 Base on patch on bug #24154 created by Tomas Tintera
26750 <trosos@seznam.cz>.
26751
26752 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
26753
26754 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26755
26756 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
26757 <bero@arklinux.org>.
26758
26759 * normal/parser.y (script_init): Add missing semicolon.
26760
26761 2009-01-31 Colin D Bennett <colin@gibibit.com>
26762
26763 * normal/main.c: Add include to grub/menu_viewer.h.
26764 (free_menu_entry_classes): Added.
26765 (grub_normal_menu_addentry): Added class property handling.
26766 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
26767 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
26768
26769 * normal/menu_viewer.c: New file.
26770
26771 * normal/menu.c (run_menu_entry): Renamed to ...
26772 (grub_menu_execute_entry): ... this and made it as global.
26773 (grub_menu_run): Renamed to ...
26774 (show_text_menu): ... this and made it local.
26775 (show_text_menu): Adapt to new function names.
26776 (grub_normal_terminal_menu_viewer): New global variable.
26777
26778 * include/grub/menu.h: New file.
26779
26780 * include/grub/menu_viewer.h: New file.
26781
26782 * include/grub/normal.h: Added include to grub/menu.h.
26783 (grub_menu_entry): Moved to include/grub/menu.h.
26784 (grub_menu_entry_t): Likewise.
26785 (grub_menu): Likewise.
26786 (grub_menu_t): Likewise.
26787 (grub_normal_terminal_menu_viewer): Added.
26788 (grub_menu_execute_entry): Likewise.
26789 (grub_menu_run): Removed.
26790
26791 * DISTLIST: Added include/grub/menu.h.
26792 Added include/grub/menu_viewer.h.
26793 Added normal/menu_viewer.c.
26794
26795 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
26796
26797 * normal/execute.c (grub_script_execute_menuentry): Changed to use
26798 arglist for menutitle arguments.
26799
26800 * normal/main.c (grub_normal_menu_addentry): Likewise.
26801
26802 * normal/parser.y (menuentry): Likewise.
26803
26804 * normal/script.c (grub_script_create_cmdmenu): Likewise.
26805
26806 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
26807 (grub_script_create_cmdmenu): Likewise.
26808
26809 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
26810
26811 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
26812 changes.
26813
26814 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
26815
26816 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
26817
26818 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
26819
26820 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26821
26822 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26823
26824 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26825
26826 2009-01-30 Christian Franke <franke@computer.org>
26827
26828 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
26829 in option help text.
26830
26831 2009-01-27 Pavel Roskin <proski@gnu.org>
26832
26833 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
26834
26835 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26836
26837 * commands/lsmmap.c: Add include to grub/machine/memory.h.
26838
26839 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
26840
26841 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
26842 unregister function.
26843
26844 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26845
26846 * disk/scsi.c (grub_scsi_read): Fix sign problem.
26847
26848 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
26849
26850 * util/grub-mkfont.c (usage): Fix typo.
26851
26852 * util/elf/grub-mkimage.c (load_modules): Fix warning.
26853
26854 2009-01-26 Daniel Mierswa <impulze@impulze.org>
26855
26856 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
26857
26858 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
26859
26860 * kern/misc.c (grub_strcasecmp): New function.
26861 (grub_strcasecmp): Use grub_size_t instead of int for length.
26862 Fix return value.
26863 * include/grub/misc.h: Update function prototypes.
26864
26865 2009-01-26 Robert Millan <rmh@aybabtu.com>
26866
26867 * configure.ac: Fix cross-compilation check.
26868
26869 2009-01-22 Christian Franke <franke@computer.org>
26870
26871 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
26872 (precision) digit string. Allow `.format2' without `format1' (width).
26873 Limit input chars for `%s' output to `format2' if specified. This is
26874 compatible with standard printf ().
26875
26876 2009-01-22 Christian Franke <franke@computer.org>
26877
26878 * disk/ata.c (grub_ata_wait_status): Replace by ...
26879 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
26880 other status bits may be invalid while BSY is asserted.
26881 (grub_ata_check_ready): New function.
26882 (grub_ata_cmd): Removed.
26883 (grub_ata_wait_drq): New function.
26884 (grub_ata_strncpy): Remove inline.
26885 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
26886 and error check now done by grub_ata_wait_drq ().
26887 (grub_ata_pio_write): Likewise.
26888 (grub_atapi_identify): Set DEV before check for !BSY. Use
26889 grub_ata_wait_drq () to wait for data.
26890 (grub_ata_device_initialize): Add status register check to
26891 detect missing SATA slave devices. Add debug messages.
26892 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
26893 (grub_atapi_packet): Set DEV before check for !BSY. Replace
26894 transfer loop by grub_ata_pio_write ().
26895 (grub_ata_identify): Set DEV before check for !BSY. Use
26896 grub_ata_wait_drq () to wait for data.
26897 (grub_ata_setaddress): Set DEV before check for !BSY.
26898 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
26899 read/write in one loop. Fix invalid command on write. Fix incomplete
26900 command on (size % batch) == 0. Add missing error check after write of
26901 last block. Add debug messages.
26902 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
26903
26904 2009-01-19 Christian Franke <franke@computer.org>
26905
26906 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
26907 (GRUB_ATAPI_IREASON_*): Likewise.
26908 (grub_ata_pio_write): Fix timeout error return.
26909 (grub_atapi_identify): Add grub_ata_wait () after cmd.
26910 (grub_atapi_wait_drq): New function.
26911 (grub_atapi_packet): New parameter `size'.
26912 Use grub_atapi_wait_drq () and direct write instead of
26913 grub_ata_pio_write ().
26914 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
26915 reads the number of bytes requested by the device for each DRQ
26916 assertion.
26917 (grub_atapi_write): Remove old implementation, return not
26918 implemented instead.
26919
26920 2009-01-19 Christian Franke <franke@computer.org>
26921
26922 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
26923 of 512 to calculate data size.
26924 (grub_scsi_read12): Likewise.
26925 (grub_scsi_write10): Likewise.
26926 (grub_scsi_write12): Likewise.
26927 (grub_scsi_read): Adjust size according to blocksize.
26928 Add checks for invalid blocksize and unaligned transfer.
26929
26930 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
26931
26932 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
26933
26934 * term/gfxterm.c (write_char): Fix background rendering for wide
26935 width glyphs.
26936
26937 2009-01-19 Robert Millan <rmh@aybabtu.com>
26938
26939 * config.guess: Update to latest version from config git.
26940 * config.sub: Likewise.
26941
26942 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
26943
26944 * Makefile.in: Change font compilation to use new grub-mkfont instead
26945 of java version.
26946
26947 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
26948 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
26949 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26950 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26951 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
26952 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
26953 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
26954 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
26955 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
26956
26957 2009-01-16 Christian Franke <franke@computer.org>
26958
26959 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
26960 (enum grub_ata_timeout_milliseconds): New enum.
26961 (grub_ata_wait_status): Add parameter milliseconds.
26962 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
26963 recovery from timed-out commands.
26964 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
26965 return grub_errno instead of REG_ERROR.
26966 (grub_ata_pio_write): Add parameter milliseconds.
26967 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
26968 Pass milliseconds to grub_ata_wait_status () and
26969 grub_ata_pio_read ().
26970 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
26971 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
26972 grub_ata_wait_status (). Fix IDENTIFY timeout check.
26973 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
26974 It is not suitable for device detection, because DEV bit is ignored,
26975 the command may run too long, and not all devices set the signature
26976 properly.
26977 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
26978 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
26979 Fix device selection, DEV bit must be set first to address the registers
26980 of the correct device.
26981 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
26982 grub_ata_pio_read/write ().
26983 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
26984 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
26985
26986 2009-01-13 Carles Pina i Estany <carles@pina.cat>
26987
26988 * util/grub-editenv.c (main): Use fseeko(), not fseek().
26989
26990 2009-01-13 Bean <bean123ch@gmail.com>
26991
26992 * util/grub-mkfont.c (write_font): forget to remove some debug code.
26993
26994 2009-01-13 Bean <bean123ch@gmail.com>
26995
26996 * Makefile.in: (enable_grub_mkfont): New variable.
26997 (freetype_cflags): Likewise.
26998 (freetype_libs): Likewise.
26999
27000 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
27001 (grub_mkfont_SOURCES): New variable.
27002 (grub_mkfont_CFLAGS): Likewise.
27003 (grub_mkfont_LDFLAGS): Likewise.
27004
27005 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
27006 library if `--enable-grub-mkfont' is requested.
27007 (enable_grub_mkfont): New variable.
27008 (freetype_cflags): Likewise.
27009 (freetype_libs): Likewise.
27010
27011 * util/grub-mkfont.c: New file.
27012
27013 2009-01-12 Christian Franke <franke@computer.org>
27014
27015 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
27016 mode check. Fix setting of compat_use[].
27017
27018 2009-01-10 Robert Millan <rmh@aybabtu.com>
27019
27020 Update a few copyright years which we forgot to do in 2008 (only for
27021 files whose changes made in 2008 were copyright-significant)
27022
27023 * Makefile.in: Add 2008 to Copyright line.
27024 * disk/ieee1275/ofdisk.c: Likewise.
27025 * disk/efi/efidisk.c: Likewise.
27026 * kern/dl.c: Likewise.
27027 * kern/sparc64/ieee1275/init.c: Likewise.
27028 * kern/mm.c: Likewise.
27029 * kern/efi/mm.c: Likewise.
27030 * boot/i386/pc/boot.S: Likewise.
27031 * genfslist.sh: Likewise.
27032 * fs/iso9660.c: Likewise.
27033 * fs/hfs.c: Likewise.
27034 * fs/jfs.c: Likewise.
27035 * fs/minix.c: Likewise.
27036 * fs/ufs.c: Likewise.
27037 * gensymlist.sh.in: Likewise.
27038 * genkernsyms.sh.in: Likewise.
27039 * include/grub/misc.h: Likewise.
27040 * include/grub/types.h: Likewise.
27041 * include/grub/symbol.h: Likewise.
27042 * include/grub/elf.h: Likewise.
27043 * include/grub/kernel.h: Likewise.
27044 * include/grub/disk.h: Likewise.
27045 * include/grub/dl.h: Likewise.
27046 * include/grub/i386/linux.h: Likewise.
27047 * include/grub/i386/pc/biosdisk.h: Likewise.
27048 * include/grub/efi/api.h: Likewise.
27049 * include/grub/efi/pe32.h: Likewise.
27050 * include/grub/util/misc.h: Likewise.
27051 * normal/execute.c: Likewise.
27052 * normal/arg.c: Likewise.
27053 * normal/completion.c: Likewise.
27054 * normal/lexer.c: Likewise.
27055 * normal/parser.y: Likewise.
27056 * normal/misc.c: Likewise.
27057 * commands/i386/pc/vbeinfo.c: Likewise.
27058 * commands/hexdump.c: Likewise.
27059 * commands/terminal.c: Likewise.
27060 * commands/ls.c: Likewise.
27061 * commands/help.c: Likewise.
27062 * partmap/pc.c: Likewise.
27063 * loader/efi/chainloader.c: Likewise.
27064 * loader/multiboot_loader.c: Likewise.
27065 * loader/i386/pc/multiboot2.c: Likewise.
27066 * term/efi/console.c: Likewise.
27067 * term/i386/pc/serial.c: Likewise.
27068 * util/lvm.c: Likewise.
27069 * util/console.c: Likewise.
27070 * util/i386/efi/grub-mkimage.c: Likewise.
27071 * util/raid.c: Likewise.
27072
27073 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
27074
27075 * commands/videotest.c: Removed include to grub/machine/memory.h.
27076
27077 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
27078 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
27079 (video_mod_SOURCES): Removed.
27080 (video_mod_CFLAGS): Likewise.
27081 (video_mod_LDFLAGS): Likewise.
27082 (gfxterm_mod_SOURCES): Likewise.
27083 (gfxterm_mod_CFLAGS): Likewise.
27084 (gfxterm_mod_LDFLAGS): Likewise.
27085 (videotest_mod_SOURCES): Likewise.
27086 (videotest_mod_CFLAGS): Likewise.
27087 (videotest_mod_LDFLAGS): Likewise.
27088 (bitmap_mod_SOURCES): Likewise.
27089 (bitmap_mod_CFLAGS): Likewise.
27090 (bitmap_mod_LDFLAGS): Likewise.
27091 (tga_mod_SOURCES): Likewise.
27092 (tga_mod_CFLAGS): Likewise.
27093 (tga_mod_LDFLAGS): Likewise.
27094 (jpeg_mod_SOURCES): Likewise.
27095 (jpeg_mod_CFLAGS): Likewise.
27096 (jpeg_mod_LDFLAGS): Likewise.
27097 (png_mod_SOURCES): Likewise.
27098 (png_mod_CFLAGS): Likewise.
27099 (png_mod_LDFLAGS): Likewise.
27100
27101 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
27102 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
27103 (video_mod_SOURCES): Added.
27104 (video_mod_CFLAGS): Likewise.
27105 (video_mod_LDFLAGS): Likewise.
27106 (videotest_mod_SOURCES): Likewise.
27107 (videotest_mod_CFLAGS): Likewise.
27108 (videotest_mod_LDFLAGS): Likewise.
27109 (bitmap_mod_SOURCES): Likewise.
27110 (bitmap_mod_CFLAGS): Likewise.
27111 (bitmap_mod_LDFLAGS): Likewise.
27112 (tga_mod_SOURCES): Likewise.
27113 (tga_mod_CFLAGS): Likewise.
27114 (tga_mod_LDFLAGS): Likewise.
27115 (jpeg_mod_SOURCES): Likewise.
27116 (jpeg_mod_CFLAGS): Likewise.
27117 (jpeg_mod_LDFLAGS): Likewise.
27118 (png_mod_SOURCES): Likewise.
27119 (png_mod_CFLAGS): Likewise.
27120 (png_mod_LDFLAGS): Likewise.
27121 (gfxterm_mod_SOURCES): Likewise.
27122 (gfxterm_mod_CFLAGS): Likewise.
27123 (gfxterm_mod_LDFLAGS): Likewise.
27124
27125 * term/gfxterm.c: Removed include to grub/machine/memory.h,
27126 grub/machine/console.h.
27127
27128 2009-01-04 Jerone Young <jerone@gmail.com>
27129
27130 Make on screen instructions clearer
27131
27132 Based on patch created by Jidanni <jidanni@jidanni.org>
27133
27134 * normal/menu.c: print clearer instructions on the screen
27135
27136 2009-01-02 Colin D Bennett <colin@gibibit.com>
27137
27138 New font engine.
27139
27140 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
27141 build system and fixed gfxterm.c to work with different sized fonts.
27142
27143 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
27144
27145 * configure: Re-generated.
27146
27147 * DISTLIST: Removed font/manager.c.
27148 Added font/font.c.
27149 Added font/font_cmd.c.
27150
27151 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
27152 compilation.
27153
27154 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
27155
27156 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
27157
27158 * kern/term.c: Changed users of grub_utf8_to_ucs4.
27159
27160 * normal/menu.c: Likewise.
27161
27162 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
27163 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
27164
27165 * include/grub/font.h: Replaced with new file.
27166
27167 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
27168 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
27169 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
27170 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
27171 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
27172 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
27173 fg_red, fg_green, fg_blue, fg_alpha.
27174 (grub_video_adapter): Removed blit_glyph.
27175 (grub_video_blit_glyph): Removed.
27176
27177 * font/manager.c: Removed file.
27178
27179 * font/font.c: New file.
27180
27181 * font/font_cmd.c: Likewise.
27182
27183 * video/video.c (grub_video_blit_glyph): Removed.
27184
27185 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
27186 (grub_video_vbe_map_rgba): Likewise.
27187 (grub_video_vbe_unmap_color_int): Likewise.
27188 (grub_video_vbe_blit_glyph): Removed.
27189 (grub_video_vbe_adapter): Removed blit_glyph.
27190
27191 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
27192 (get_pixel): Likewise.
27193 (set_pixel): Likewise.
27194
27195 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
27196
27197 * term/gfxterm.c: Adapted to new font engine.
27198
27199 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
27200
27201 * term/i386/pc/vga.c: Likewise.
27202
27203 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
27204
27205 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
27206
27207 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
27208
27209 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
27210
27211 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
27212
27213 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
27214
27215 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
27216
27217 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
27218
27219 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
27220
27221 * util/grub.d/00_header.in: Changed to use new loadfont command.
27222
27223 * util/grub-mkconfig_lib.in: Changed font extension.
27224
27225 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
27226
27227 * util/getroot.c (grub_util_get_grub_dev): Add support for
27228 /dev/md/dNNpNN style partitionable mdraid devices.
27229
27230 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
27231
27232 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
27233 at a time limit of the PXE TFTP API correctly.
27234 (grub_pxefs_close): Likewise.
27235
27236 2008-11-29 Robert Millan <rmh@aybabtu.com>
27237
27238 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
27239 grub_ata_device_initialize() calls.
27240
27241 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
27242
27243 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
27244 iteration failed.
27245 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
27246
27247 2008-11-28 Robert Millan <rmh@aybabtu.com>
27248
27249 Fix build on powerpc-ieee1275. Based on patch created by
27250 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
27251 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
27252 `kern/ieee1275/mmap.c'.
27253 * include/grub/powerpc/ieee1275/memory.h: New file.
27254
27255 Provide grub-install on coreboot.
27256 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
27257 (grub_install_SOURCES): New variable.
27258 * util/i386/pc/grub-install.in: Add a few condition checks to make it
27259 usable on coreboot.
27260
27261 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
27262
27263 * util/grub-fstest.c (grub_term_get_current_input): Change return type
27264 to `grub_term_input_t'.
27265 (grub_term_get_current_output): Change return type to
27266 `grub_term_output_t'.
27267
27268 2008-11-22 Robert Millan <rmh@aybabtu.com>
27269
27270 Fix breakage on coreboot due to declaration mismatch.
27271 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
27272 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
27273 grub_vga_text_cls().
27274
27275 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
27276 comments. Avoid copying one more byte than necessary (just in case).
27277
27278 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
27279 to 0x200000 (avoids trouble with some OFW implementations, and matches
27280 with the one in Yaboot).
27281 Reported by Manoel Abranches
27282
27283 2008-11-20 Robert Millan <rmh@aybabtu.com>
27284
27285 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
27286 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
27287
27288 * util/grub-mkconfig_lib.in (grub_warn): New function.
27289 (convert_system_path_to_grub_path): Use grub_warn() when issuing
27290 warnings, to obtain consistent formatting.
27291 * util/grub.d/00_header.in: Likewise.
27292 * util/update-grub_lib.in: Likewise.
27293
27294 * loader/i386/linux.c (allocate_pages): Fix a warning.
27295 Move comment text to `#error' stanza.
27296
27297 Harmonize ieee1275's grub_available_iterate() with the generic
27298 grub_machine_mmap_iterate() interface (fixes a recently-introduced
27299 build problem on i386-ieee1275):
27300 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
27301 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
27302 parameter `type'. Update all users of this function.
27303 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
27304 `kern/ieee1275/mmap.c'.
27305 * kern/ieee1275/init.c
27306 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
27307 with ...
27308 (grub_machine_mmap_iterate): ... this.
27309 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
27310 return type to `grub_err_t'. Update all implementations of this
27311 function prototype.
27312 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
27313 Likewise.
27314
27315 Add `lsmmap' command (lists firmware-provided memory map):
27316 * commands/lsmmap.c: New file.
27317 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
27318 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
27319 variables.
27320 * conf/powerpc-ieee1275.rmk: Likewise.
27321 * conf/i386-coreboot.rmk: Likewise.
27322 * conf/i386-ieee1275.rmk: Likewise.
27323
27324 2008-11-19 Robert Millan <rmh@aybabtu.com>
27325
27326 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
27327 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
27328 constraints to initrd allocation (based on code from
27329 loader/i386/pc/linux.c). Without them, initrd was allocated too high
27330 for Linux to find it.
27331
27332 2008-11-14 Robert Millan <rmh@aybabtu.com>
27333
27334 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
27335 order to cope with duplicate slashes.
27336
27337 2008-11-14 Robert Millan <rmh@aybabtu.com>
27338
27339 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
27340 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
27341 don't want to mess with lower memory, because it is used in the Linux
27342 loader.
27343
27344 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
27345 an appropriate place in lower memory, between 0x10000 and 0x90000,
27346 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
27347 is in our heap (probably as a result of it being corrupted during
27348 decompression). Add #error instance with comment to explain why this
27349 loader isn't currently usable on PC/BIOS.
27350
27351 2008-11-14 Robert Millan <rmh@aybabtu.com>
27352
27353 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
27354 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
27355
27356 2008-11-12 Robert Millan <rmh@aybabtu.com>
27357
27358 Make loader/i386/linux.c buildable on i386-pc (although disabled).
27359
27360 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
27361 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
27362 from here ...
27363 * include/grub/i386/pc/memory.h: ... to here.
27364
27365 2008-11-12 Robert Millan <rmh@aybabtu.com>
27366
27367 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
27368 split).
27369
27370 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
27371 (grub_console_cur_color, grub_console_real_putchar)
27372 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
27373 (grub_console_setcolorstate, grub_console_setcolor)
27374 (grub_console_getcolor): Move from here ...
27375 * include/grub/i386/vga_common.h: ... to here (new file).
27376
27377 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
27378 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
27379 `<grub/i386/io.h>'.
27380 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
27381 `<grub/i386/vga_common.h>'.
27382
27383 2008-11-12 Robert Millan <rmh@aybabtu.com>
27384
27385 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
27386 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
27387 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
27388 variables.
27389 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
27390 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
27391
27392 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
27393 grub_console_init() with call to grub_vga_text_init().
27394 (grub_machine_fini): Replace call to
27395 grub_console_fini() with call to grub_vga_text_fini() and
27396 grub_at_keyboard_fini().
27397
27398 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
27399 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
27400 (grub_console_setcolorstate, grub_console_setcolor)
27401 (grub_console_getcolor): New function prototypes.
27402
27403 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
27404 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
27405 (grub_vga_text_setcursor): Static-ize.
27406 (grub_vga_text_term): New structure.
27407 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
27408
27409 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
27410 (grub_console_cur_color, grub_console_standard_color)
27411 (grub_console_normal_color, grub_console_highlight_color)
27412 (map_char, grub_console_putchar, grub_console_getcharwidth)
27413 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
27414 (grub_console_getcolor): Move from here ...
27415 * term/i386/vga_common.c: ... to here (same function names).
27416
27417 2008-11-12 Robert Millan <rmh@aybabtu.com>
27418
27419 Use newly-added Multiboot support in coreboot.
27420
27421 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
27422 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
27423
27424 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
27425 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
27426 (codestart): Store the MBI in `startup_multiboot_info' when we're
27427 being loaded using Multiboot.
27428
27429 * kern/i386/coreboot/init.c (grub_machine_init): Move
27430 grub_at_keyboard_init() call to beginning of function (useful for
27431 debugging). Call grub_machine_mmap_init() before attempting to use
27432 grub_machine_mmap_iterate().
27433 (grub_lower_mem, grub_upper_mem): Move from here ...
27434 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
27435 here (new file).
27436
27437 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
27438 function prototype.
27439
27440 2008-11-12 Robert Millan <rmh@aybabtu.com>
27441
27442 Fix a regression introduced by the at_keyboard.mod split. Because
27443 some terminals are default on some platforms and non-default on
27444 others, the first terminal being registered determines which is
27445 going to be default.
27446
27447 * kern/term.c (grub_term_register_input): If this is the first
27448 terminal being registered, set it as the current one.
27449 (grub_term_register_output): Likewise.
27450
27451 * term/efi/console.c (grub_console_init): Do not call
27452 grub_term_set_current_output() or grub_term_set_current_input().
27453 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
27454 * term/i386/pc/console.c (grub_console_init): Likewise.
27455 (grub_console_fini): Do not call grub_term_set_current_input()
27456 (but leave grub_term_set_current_output() to restore text mode).
27457
27458 2008-11-10 Robert Millan <rmh@aybabtu.com>
27459
27460 * util/grub.d/00_header.in: Add backward compatibility check for
27461 versions of terminal.mod that don't understand `terminal_input' or
27462 `terminal_output'.
27463
27464 2008-11-09 Robert Millan <rmh@aybabtu.com>
27465
27466 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
27467 `terminal_input' / `terminal_output', not `terminal'.
27468
27469 2008-11-08 Robert Millan <rmh@aybabtu.com>
27470
27471 * Makefile.in (include_DATA): Fix srcdir=. assumption.
27472 (DISTCLEANFILES): Add `build_env.mk'.
27473
27474 2008-11-08 Robert Millan <rmh@aybabtu.com>
27475
27476 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
27477 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27478 members. Update all users.
27479 * util/console.c (grub_ncurses_term): Split in ...
27480 (grub_ncurses_term_input): ... this, and ...
27481 (grub_ncurses_term_output): ... this. Update all users.
27482 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
27483
27484 2008-11-08 Robert Millan <rmh@aybabtu.com>
27485
27486 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
27487 (PKGDATA): Add $(pkgdata_SRCDIR).
27488 (pkglib_BUILDDIR): New variable.
27489 (pkgdata_SRCDIR): New variable.
27490 (build_env.mk): New target.
27491 (include_DATA): New variable.
27492 (install-local): Install $(include_DATA) files in $(includedir).
27493
27494 2008-11-07 Pavel Roskin <proski@gnu.org>
27495
27496 * gendistlist.sh: Use C locale for sorting to ensure consistent
27497 output on all systems.
27498
27499 * util/grub.d/00_header.in: Remove incorrect space before
27500 "serial".
27501
27502 2008-11-07 Robert Millan <rmh@aybabtu.com>
27503
27504 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
27505 per specification.
27506 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
27507 * loader/multiboot_loader.c (find_multi_boot2_header): New function
27508 (based on find_multi_boot1_header).
27509 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
27510 using find_multi_boot2_header(), and abort if neither Multiboot or
27511 Multiboot headers were found.
27512
27513 2008-11-07 Robert Millan <rmh@aybabtu.com>
27514
27515 Modularize at_keyboard.mod:
27516
27517 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
27518 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
27519 (at_keyboard_mod_LDFLAGS): New variables.
27520
27521 Actual terminal split:
27522
27523 * include/grub/term.h (struct grub_term): Split in ...
27524 (struct grub_term_input): ... this, and ...
27525 (struct grub_term_output): ... this. Update all users.
27526 (grub_term_set_current): Split in ...
27527 (grub_term_set_current_input): ... this, and ...
27528 (grub_term_set_current_output): ... this.
27529 (grub_term_get_current): Split in ...
27530 (grub_term_get_current_input): ... this, and ...
27531 (grub_term_get_current_output): ... this.
27532 (grub_term_register): Split in ...
27533 (grub_term_register_input): ... this, and ...
27534 (grub_term_register_output): ... this.
27535 (grub_term_unregister): Split in ...
27536 (grub_term_unregister_input): ... this, and ...
27537 (grub_term_unregister_output): ... this.
27538 (grub_term_iterate): Split in ...
27539 (grub_term_iterate_input): ... this, and ...
27540 (grub_term_iterate_output): ... this.
27541
27542 * kern/term.c (grub_term_list): Split in ...
27543 (grub_term_list_input): ... this, and ...
27544 (grub_term_list_output): ... this. Update all users.
27545 (grub_cur_term): Split in ...
27546 (grub_cur_term_input): ... this, and ...
27547 (grub_cur_term_output): ... this. Update all users.
27548 (grub_term_set_current): Split in ...
27549 (grub_term_set_current_input): ... this, and ...
27550 (grub_term_set_current_output): ... this.
27551 (grub_term_get_current): Split in ...
27552 (grub_term_get_current_input): ... this, and ...
27553 (grub_term_get_current_output): ... this.
27554 (grub_term_register): Split in ...
27555 (grub_term_register_input): ... this, and ...
27556 (grub_term_register_output): ... this.
27557 (grub_term_unregister): Split in ...
27558 (grub_term_unregister_input): ... this, and ...
27559 (grub_term_unregister_output): ... this.
27560 (grub_term_iterate): Split in ...
27561 (grub_term_iterate_input): ... this, and ...
27562 (grub_term_iterate_output): ... this.
27563
27564 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
27565 a check for input and one for output (and only attempt to get keys
27566 from user when input works).
27567
27568 * util/grub-probe.c (grub_term_get_current): Split in ...
27569 (grub_term_get_current_input): ... this, and ...
27570 (grub_term_get_current_output): ... this.
27571 * util/grub-fstest.c: Likewise.
27572 * util/i386/pc/grub-setup.c: Likewise.
27573 * util/grub-editenv.c: Likewise.
27574
27575 Portability adjustments:
27576
27577 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
27578 `term/i386/pc/at_keyboard.c'.
27579 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
27580 grub_keyboard_controller_init() (now handled by terminal .init).
27581 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
27582 grub_at_keyboard_init().
27583 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
27584 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
27585 at_keyboard.mod via input terminal interface).
27586 * include/grub/i386/coreboot/console.h: Convert into a stub for
27587 `<grub/i386/pc/console.h>'.
27588
27589 Migrate full terminals to new API:
27590
27591 * term/efi/console.c (grub_console_term): Split into ...
27592 (grub_console_term_input): ... this, and ...
27593 (grub_console_term_output): ... this. Update all users.
27594 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
27595 (grub_ofconsole_init): Split into ...
27596 (grub_ofconsole_init_input): ... this, and ...
27597 (grub_ofconsole_init_output): ... this.
27598 (grub_ofconsole_term): Split into ...
27599 (grub_ofconsole_term_input): ... this, and ...
27600 (grub_ofconsole_term_output): ... this. Update all users.
27601 * term/i386/pc/serial.c (grub_serial_term): Split into ...
27602 (grub_serial_term_input): ... this, and ...
27603 (grub_serial_term_output): ... this. Update all users.
27604 * term/i386/pc/console.c (grub_console_term): Split into ...
27605 (grub_console_term_input): ... this, and ...
27606 (grub_console_term_output): ... this. Update all users.
27607 (grub_console_term_input): Only enable it on PC/BIOS platform.
27608 (grub_console_init): Remove grub_keyboard_controller_init() call.
27609
27610 Migrate input terminals to new API:
27611
27612 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
27613 `i386' and `i386/pc' to enable build on x86_64 (this driver is
27614 i386-specific anyway).
27615 (grub_console_checkkey): Rename to ...
27616 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
27617 users.
27618 (grub_keyboard_controller_orig): New variable.
27619 (grub_console_getkey): Rename to ...
27620 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
27621 users.
27622 (grub_keyboard_controller_init): Static-ize. Save original
27623 controller value so that it can be restored ...
27624 (grub_keyboard_controller_fini): ... here (new function).
27625 (grub_at_keyboard_term): New structure.
27626 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
27627 functions.
27628
27629 Migrate output terminals to new API:
27630
27631 * term/i386/pc/vga.c (grub_vga_term): Change type to
27632 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27633 members. Update all users.
27634 * term/gfxterm.c (grub_video_term): Change type to
27635 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27636 members. Update all users.
27637 * include/grub/i386/pc/console.h (grub_console_checkkey)
27638 (grub_console_getkey): Do not export (no longer needed by gfxterm,
27639 etc).
27640
27641 Migrate `terminal' command and userland tools to new API:
27642
27643 * commands/terminal.c (grub_cmd_terminal): Split into ...
27644 (grub_cmd_terminal_input): ... this, and ...
27645 (grub_cmd_terminal_output): ... this.
27646 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
27647 `terminal_input' and `terminal_output'.
27648 * util/grub.d/00_header.in: Adjust `terminal' calls to new
27649 `terminal_input' / `terminal_output' API.
27650 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
27651 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
27652 provided ${GRUB_TERMINAL}, convert it).
27653
27654 2008-11-04 Robert Millan <rmh@aybabtu.com>
27655
27656 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
27657 for FreeBSD.
27658 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
27659
27660 2008-11-03 Bean <bean123ch@gmail.com>
27661
27662 * kern/elf.c (grub_elf32_load): Revert to previous code.
27663 (grub_elf64_load): Likewise.
27664
27665 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
27666
27667 2008-11-01 Robert Millan <rmh@aybabtu.com>
27668
27669 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
27670 (TARGET_CPPFLAGS): Likewise.
27671 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
27672
27673 2008-11-01 Carles Pina i Estany <carles@pina.cat>
27674
27675 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
27676
27677 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
27678
27679 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
27680 addition of objects until the code is not going to be able to fail.
27681
27682 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
27683
27684 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
27685 (add a missing NULL check, and correct them by moving the pointer
27686 operations after the actual check).
27687
27688 2008-10-29 Robert Millan <rmh@aybabtu.com>
27689
27690 * util/i386/pc/grub-install.in: Handle empty string as output from
27691 make_system_path_relative_to_its_root().
27692
27693 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
27694
27695 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
27696 circular metadata worst case scenario. If the metadata is circular
27697 then copy the wrap in place.
27698 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
27699 project lib/format_text/layout.h
27700 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
27701
27702 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
27703
27704 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
27705
27706 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
27707
27708 * util/update-grub_lib.in: Mention filename in warning message.
27709
27710 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
27711
27712 * NEWS: Update for rename of update-grub to grub-mkconfig.
27713
27714 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
27715
27716 * util/update-grub_lib.in: Copy to ...
27717 * util/grub-mkconfig_lib.in: ... this. Update all users.
27718 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
27719 * util/update-grub.in: Rename to ...
27720 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
27721 option. Add `--output' option to allow users to specify the generated
27722 configuration file. Default to stdout.
27723 (update_grub_dir): Rename to ...
27724 (grub_mkconfig_dir): ... this.
27725 (grub_cfg): Default to an empty string.
27726 * conf/common.rmk (update-grub): Rename to ...
27727 (grub-mkconfig): ... this.
27728 (update-grub_lib): Copy to ...
27729 (grub-mkconfig_lib): ... this.
27730 (update-grub_SCRIPTS): Copy to ...
27731 (grub-mkconfig_SCRIPTS): ... this. Update all users.
27732 (update-grub_DATA): Rename to ...
27733 (grub-mkconfig_DATA): ... this.
27734
27735 2008-09-28 Robert Millan <rmh@aybabtu.com>
27736
27737 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
27738 to `modified'. Add the real `created' field.
27739 (grub_iso9660_uuid): Use `modified' rather than `created' for
27740 constructing the UUID.
27741
27742 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
27743
27744 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
27745 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
27746
27747 2008-09-28 Bean <bean123ch@gmail.com>
27748
27749 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
27750 Thanks to Christian Franke for finding this bug.
27751
27752 2008-09-25 Robert Millan <rmh@aybabtu.com>
27753
27754 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
27755 instances of grub_util_get_disk_name() (see previous commit).
27756
27757 2008-09-25 Robert Millan <rmh@aybabtu.com>
27758
27759 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
27760 `util/i386/get_disk_name.c'.
27761 * conf/i386-efi.rmk: Likewise.
27762 * conf/x86_64-efi.rmk: Likewise.
27763 * conf/i386-coreboot.rmk: Likewise.
27764 * conf/i386-ieee1275.rmk: Likewise.
27765 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
27766 `util/ieee1275/get_disk_name.c'.
27767 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
27768 * util/ieee1275/get_disk_name.c: Remove file.
27769 * util/i386/get_disk_name.c: Remove file.
27770 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
27771 "hd%d" for device.map entries, rather than using
27772 grub_util_get_disk_name().
27773
27774 2008-09-24 Carles Pina i Estany <carles@pina.cat>
27775
27776 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
27777 warning.
27778 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
27779
27780 2008-09-24 Carles Pina i Estany <carles@pina.cat>
27781
27782 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
27783 Changed to 0x5100.
27784 (GRUB_TERM_PPAGE): Changed to 0x4900.
27785
27786 2008-09-24 Robert Millan <rmh@aybabtu.com>
27787
27788 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
27789 macros (they were i386-pc specific).
27790 * include/grub/sparc64/ieee1275/console.h: Likewise.
27791 * include/grub/efi/console.h: Likewise.
27792
27793 2008-09-22 Bean <bean123ch@gmail.com>
27794
27795 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
27796 resident and in attribute list.
27797
27798 * include/grub/ntfs.h (BMP_LEN): Removed.
27799
27800 2008-09-22 Bean <bean123ch@gmail.com>
27801
27802 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
27803 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
27804
27805 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
27806 error occurs, as grub_disk_open will call grub_disk_close, which will
27807 call p->close (scsi).
27808
27809 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
27810
27811 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
27812 (AC_PREREQ): Bumped to 2.59.
27813 (AC_TRY_COMPILE): Replace obsolete macro with ...
27814 (AC_COMPILE_IFELSE): ... this.
27815 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
27816 (AC_LINK_IFELSE): ... this.
27817
27818 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
27819
27820 * autogen.sh: Add a call to `gendistlist.sh'.
27821
27822 2008-09-19 Christian Franke <franke@computer.org>
27823
27824 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
27825 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
27826 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
27827 Export __enable_execute_stack() to modules.
27828 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
27829 New function.
27830
27831 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
27832
27833 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
27834 Sort the list.
27835
27836 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
27837
27838 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
27839 #include <grub/util/hostdisk.h>.
27840
27841 2008-09-08 Robert Millan <rmh@aybabtu.com>
27842
27843 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
27844 segments when their filesz is zero (grub_file_read() interprets
27845 zero-size as "read until EOF", which results in memory corruption).
27846 Use `lowest_segment' rather than 0 for calculating the current
27847 segment load address.
27848
27849 2008-09-08 Robert Millan <rmh@aybabtu.com>
27850
27851 * util/hostdisk.c (open_device): Replace a grub_util_info() call
27852 with grub_dprintf("hostdisk", ...), as it was so verbose that it
27853 clobbered useful information.
27854
27855 2008-09-08 Robert Millan <rmh@aybabtu.com>
27856
27857 * include/grub/util/biosdisk.h: Move to ...
27858 * include/grub/util/hostdisk.h: ... here. Update all users.
27859 * util/biosdisk.c: Move to ...
27860 * util/hostdisk.c: ... here. Update all users.
27861
27862 2008-09-07 Robert Millan <rmh@aybabtu.com>
27863
27864 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
27865 variables.
27866 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
27867 and length can be stored directly in the `mbi->mmap_addr' and
27868 `mbi->mmap_length' struct fields.
27869
27870 2008-09-07 Robert Millan <rmh@aybabtu.com>
27871
27872 * conf/i386.rmk: New file. Provides declaration for building
27873 `cpuid.mod'.
27874 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
27875 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
27876 variables.
27877 Include `conf/i386.mk'.
27878 * conf/i386-efi.rmk: Likewise.
27879 * conf/x86_64-efi.rmk: Likewise.
27880 * conf/i386-coreboot.rmk: Likewise.
27881 * conf/i386-ieee1275.rmk: Likewise.
27882
27883 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
27884
27885 Based on patch created by Colin D Bennett <colin@gibibit.com>.
27886 Adds optimization support for BGR based modes.
27887
27888 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
27889 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
27890 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27891 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27892 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27893 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27894 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27895 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27896 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27897 (grub_video_i386_vbeblit_index_index): Likewise.
27898 (grub_video_i386_vbeblit_replace_directN): Added.
27899 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
27900 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
27901 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
27902 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
27903 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
27904 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
27905 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
27906 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
27907 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
27908 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
27909 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
27910 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
27911 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
27912
27913 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
27914 (grub_video_i386_vbefill_R8G8B8): Likewise.
27915 (grub_video_i386_vbefill_index): Likewise.
27916 (grub_video_i386_vbefill_direct32): Added.
27917 (grub_video_i386_vbefill_direct24): Likewise.
27918 (grub_video_i386_vbefill_direct16): Likewise.
27919 (grub_video_i386_vbefill_direct8): Likewise.
27920
27921 * include/grub/video.h (grub_video_blit_format): Removed
27922 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
27923 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
27924 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
27925 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
27926 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
27927
27928 * video/video.c (grub_video_get_blit_format): Updated to use new
27929 blit formats. Added handling for 16 bit color modes.
27930
27931 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
27932 fillers.
27933 (common_blitter): Updated to use new blitters.
27934
27935 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
27936 Removed.
27937 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
27938 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27939 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27940 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27941 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27942 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27943 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27944 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27945 (grub_video_i386_vbeblit_index_index): Likewise.
27946 (grub_video_i386_vbeblit_replace_directN): Added.
27947 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
27948 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
27949 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
27950 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
27951 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
27952 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
27953 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
27954 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
27955 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
27956 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
27957 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
27958 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
27959 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
27960
27961 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
27962 (grub_video_i386_vbefill_R8G8B8): Likewise.
27963 (grub_video_i386_vbefill_index): Likewise.
27964 (grub_video_i386_vbefill_direct32): Added.
27965 (grub_video_i386_vbefill_direct24): Likewise.
27966 (grub_video_i386_vbefill_direct16): Likewise.
27967 (grub_video_i386_vbefill_direct8): Likewise.
27968
27969 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
27970 types.
27971
27972 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
27973 types.
27974
27975 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
27976 blitter types.
27977
27978 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
27979 types.
27980
27981 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
27982
27983 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
27984 RAID level 1.
27985
27986 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
27987
27988 * fs/iso9660.c (grub_iso9660_date): New structure.
27989 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
27990 (grub_iso9660_uuid): New function.
27991
27992 2008-09-05 Bean <bean123ch@gmail.com>
27993
27994 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
27995
27996 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
27997 insensitive bit for names in Win32 and Win32 & DOS namespace.
27998
27999 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
28000
28001 * include/grub/types.h (LONG_MAX): Likewise.
28002
28003 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
28004
28005 * util/getroot.c: Include <config.h>.
28006 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
28007 add support for /dev/md/N devices and handle LVM double dash escaping.
28008
28009 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
28010
28011 * config.guess: Update to latest version from config git.
28012 * config.sub: Likewise.
28013
28014 2008-09-03 Robert Millan <rmh@aybabtu.com>
28015
28016 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
28017 `disk->total_sectors'.
28018
28019 2008-09-01 Colin D Bennett <colin@gibibit.com>
28020
28021 * include/grub/normal.h: Fixed incorrect comment for
28022 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
28023
28024 2008-09-01 Colin D Bennett <colin@gibibit.com>
28025
28026 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
28027 values with defines.
28028
28029 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
28030 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
28031 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
28032 (GRUB_VBE_MODEATTR_COLOR): Likewise.
28033 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
28034 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
28035 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
28036 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
28037 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
28038 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
28039 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
28040 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
28041 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
28042 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
28043 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
28044 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
28045 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
28046 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
28047 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
28048
28049 2008-08-31 Robert Millan <rmh@aybabtu.com>
28050
28051 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
28052 declaration.
28053 (grub_multiboot): Fix a few warnings.
28054
28055 2008-08-31 Robert Millan <rmh@aybabtu.com>
28056
28057 * loader/i386/pc/multiboot.c: Update comment not to say that
28058 boot_device support is unimplemented.
28059
28060 2008-08-31 Robert Millan <rmh@aybabtu.com>
28061
28062 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
28063 or memory map support are unimplemented.
28064
28065 2008-08-31 Colin D Bennett <colin@gibibit.com>
28066
28067 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
28068
28069 2008-08-31 Colin D Bennett <colin@gibibit.com>
28070
28071 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
28072 total video memory in 'vbeinfo' output; show color format details for
28073 each video mode.
28074
28075 2008-08-30 Pavel Roskin <proski@gnu.org>
28076
28077 * util/genmoddep.c: Remove for real this time.
28078 * DISTLIST: Remove util/genmoddep.c.
28079
28080 2008-08-30 Robert Millan <rmh@aybabtu.com>
28081
28082 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
28083 as required by Multiboot spec (it was already 4-byte aligned, but
28084 only by chance).
28085
28086 2008-08-29 Pavel Roskin <proski@gnu.org>
28087
28088 * kern/powerpc/ieee1275/crt0.S: Rename to ...
28089 * kern/powerpc/ieee1275/startup.S: ... this.
28090 * conf/powerpc-ieee1275.rmk: Adjust for the above.
28091 * DISTLIST: Likewise.
28092
28093 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
28094 grub/cpu/kernel.h. Add start label for consistency with other
28095 platforms. Add grub_prefix immediately after start. Add jump
28096 to the code after grub_prefix.
28097 * include/grub/powerpc/kernel.h: Provide valid values for
28098 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
28099
28100 2008-08-29 Bean <bean123ch@gmail.com>
28101
28102 * configure.ac: Change host_os to cygwin for mingw.
28103 (asprintf): New check for function.
28104
28105 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
28106 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
28107
28108 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
28109 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
28110 sync, sleep and grub_util_get_disk_size for mingw.
28111
28112 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
28113 to get size in mingw.
28114 (open_device): Use flag O_BINARY if it's defined.
28115 (find_root_device): Add dummy code for mingw.
28116
28117 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
28118 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
28119 (get_scsi_disk_name): Return 0 for mingw.
28120
28121 * util/hostfs.c: #include <grub/util/misc.h>.
28122 (grub_hostfs_open): Use "rb" flag to open file, use
28123 grub_util_get_disk_size to get disk size for mingw.
28124
28125 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
28126 (asprintf): New function if HAVE_ASPRINTF is not set.
28127 (sync): New function for mingw.
28128 (sleep): Likewise.
28129 (grub_util_get_disk_size): Likewise.
28130
28131 2008-08-28 Pavel Roskin <proski@gnu.org>
28132
28133 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28134 kern/time.c.
28135
28136 2008-08-28 Robert Millan <rmh@aybabtu.com>
28137
28138 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
28139
28140 2008-08-28 Robert Millan <rmh@aybabtu.com>
28141
28142 Change find_grub_drive() syntax so it doesn't prevent it from
28143 detecting NULL names as errors.
28144
28145 * util/biosdisk.c (find_grub_drive): Move free slot search code
28146 from here ...
28147 (find_free_slot): ... to here.
28148 (read_device_map): Use find_free_slot() to search for free slots.
28149
28150 2008-08-27 Marco Gerards <marco@gnu.org>
28151
28152 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
28153 (scsi_mod_SOURCES): New variable.
28154 (scsi_mod_CFLAGS): Likewise
28155 (scsi_mod_LDFLAGS): Likewise.
28156
28157 * disk/scsi.c: New file.
28158
28159 * include/grub/scsi.h: Likewise.
28160
28161 * include/grub/scsicmd.h: Likewise.
28162
28163 * disk/ata.c: Include <grub/scsi.h>.
28164 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
28165 instead.
28166 (grub_ata_iterate): Skip ATAPI devices.
28167 (grub_ata_open): Only handle ATAPI devices.
28168 (struct grub_atapi_read): Removed.
28169 (grub_atapi_readsector): Likewise.
28170 (grub_ata_read): No longer handle ATAPI devices.
28171 (grub_ata_write): Likewise.
28172 (grub_atapi_iterate): New function.
28173 (grub_atapi_read): Likewise.
28174 (grub_atapi_write): Likewise.
28175 (grub_atapi_open): Likewise.
28176 (grub_atapi_close): Likewise.
28177 (grub_atapi_dev): New variable.
28178 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
28179 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
28180
28181 * include/grub/disk.h (enum grub_disk_dev_id): Add
28182 `GRUB_DISK_DEVICE_SCSI_ID'.
28183
28184 2008-08-26 Robert Millan <rmh@aybabtu.com>
28185
28186 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
28187 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
28188 descriptive.
28189
28190 2008-08-23 Bean <bean123ch@gmail.com>
28191
28192 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
28193 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
28194 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
28195 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
28196 dm_nv.mod.
28197 (raid5rec_mod_SOURCES): New macro.
28198 (raid5rec_mod_CFLAGS): Likewise.
28199 (raid5rec_mod_LDFLAGS): Likewise.
28200 (raid6rec_mod_SOURCES): Likewise.
28201 (raid6rec_mod_CFLAGS): Likewise.
28202 (raid6rec_mod_LDFLAGS): Likewise.
28203 (mdraid_mod_SOURCES): Likewise.
28204 (mdraid_mod_CFLAGS): Likewise.
28205 (mdraid_mod_LDFLAGS): Likewise.
28206 (dm_nv_mod_SOURCES): Likewise.
28207 (dm_nv_mod_CFLAGS): Likewise.
28208 (dm_nv_mod_LDFLAGS): Likewise.
28209
28210 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
28211 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
28212 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
28213
28214 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
28215 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
28216
28217 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28218
28219 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28220
28221 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28222
28223 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28224
28225 * disk/raid5_recover.c: New file.
28226
28227 * disk/raid6_recover.c: Likewise.
28228
28229 * disk/mdraid_linux.c: Likewise.
28230
28231 * disk/dmraid_nvidia.c: Likewise.
28232
28233 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
28234 ULONG_MAX.
28235
28236 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
28237 calculate the size of raid device.
28238 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
28239 different layout of raid5.
28240 (grub_raid_scan_device): Remove code specific to mdraid.
28241 (grub_raid_list): New variable.
28242 (free_array): New function.
28243 (grub_raid_register): Likewise.
28244 (grub_raid_unregister): Likewise.
28245 (grub_raid_rescan): Likewise.
28246 (GRUB_MOD_INIT): Don't iterate device here.
28247 (GRUB_MOD_FINI): Use free_array to release resource.
28248
28249 * include/grub/raid.h: Remove macro and structure specific to mdraid.
28250 (grub_raid5_recover_func_t): New function variable type.
28251 (grub_raid6_recover_func_t): Likewise.
28252 (grub_raid5_recover_func): New variable.
28253 (grub_raid6_recover_func): Likewise.
28254 (grub_raid_register): New function.
28255 (grub_raid_unregister): Likewise.
28256 (grub_raid_rescan): Likewise.
28257 (grub_raid_block_xor): Likewise.
28258
28259 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
28260 (CMD_CRC): New macro.
28261 (part): Removed.
28262 (read_file): Handle device as well as file.
28263 (cmd_crc): New function.
28264 (fstest): Handle multiple disks.
28265 (options): Remove part, raw and long, add root and diskcount.
28266 (usage): Add crc, remove -p, -r, -l, add -r and -c.
28267 (main): Find the first non option entry and ignore subsequent options,
28268 add handling for the new options, support multiple disks.
28269
28270 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
28271
28272 2008-08-23 Bean <bean123ch@gmail.com>
28273
28274 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
28275
28276 * genfslist.sh: Ignore kernel.mod.
28277
28278 * genpartmaplist.sh: Likewise.
28279
28280 2008-08-23 Robert Millan <rmh@aybabtu.com>
28281
28282 * util/getroot.c (find_root_device): Skip anything that starts with
28283 a dot, not just directories. This avoids things like /dev/.tmp.md0.
28284
28285 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
28286
28287 * util/update-grub.in (GRUB_GFXMODE): Export variable.
28288 * util/grub.d/00_header.in: Allow the administrator to change default
28289 gfxmode via ${GRUB_GFXMODE}.
28290
28291 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
28292
28293 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
28294
28295 2008-08-21 Robert Millan <rmh@aybabtu.com>
28296
28297 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
28298 loader.
28299 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
28300 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
28301
28302 2008-08-20 Carles Pina i Estany <carles@pina.cat>
28303
28304 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
28305 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
28306
28307 2008-08-19 Robert Millan <rmh@aybabtu.com>
28308
28309 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
28310 (struct grub_virtual_screen): Remove `cursor_color'.
28311 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
28312 initialization.
28313 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
28314
28315 2008-08-18 Robert Millan <rmh@aybabtu.com>
28316
28317 Unify (identical) linux_normal.c files.
28318 * loader/i386/efi/linux_normal.c: Move from here ...
28319 * loader/linux_normal.c: ... to here. Update all users.
28320 * loader/i386/pc/linux_normal.c: Delete. Update all users.
28321 * loader/i386/ieee1275/linux_normal.c: Likewise.
28322
28323 2008-08-18 Robert Millan <rmh@aybabtu.com>
28324
28325 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
28326 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
28327 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
28328 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
28329 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
28330 New macros.
28331 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
28332 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
28333 (GRUB_LINUX_CL_END_OFFSET): ... to here.
28334 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
28335 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
28336 (GRUB_EFI_CL_END_OFFSET): Rename to ...
28337 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
28338 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
28339 Initialize `params->video_cursor_x' and `params->video_cursor_y'
28340 portably using grub_getxy().
28341 Replace `-EFI' with `-bzImage' in boot message.
28342
28343 2008-08-17 Robert Millan <rmh@aybabtu.com>
28344
28345 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
28346
28347 2008-08-17 Robert Millan <rmh@aybabtu.com>
28348
28349 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
28350
28351 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
28352 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
28353 (grub_machine_mmap_iterate): New function declaration.
28354 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
28355 structure.
28356 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
28357 macros.
28358
28359 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
28360 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
28361 Move e820 parsing from here ...
28362 * kern/i386/pc/mmap.c: New file.
28363 (grub_machine_mmap_iterate): ... to here.
28364
28365 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
28366 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
28367 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
28368 (grub_available_iterate): Redeclare to return `void', and redeclare
28369 its hook to use grub_uint64_t as addr and size parameters, and rename
28370 to ...
28371 (grub_machine_mmap_iterate): ... this. Update all users.
28372
28373 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
28374 to make it more readable. Rename to ...
28375 (grub_machine_mmap_iterate): ... this.
28376
28377 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
28378 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
28379 (grub_multiboot): Allocate an extra region after the payload, and fill
28380 it with a Multiboot memory map. Adjust a.out loader to calculate size
28381 with the extra space.
28382 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
28383 with the extra space.
28384
28385 2008-08-17 Carles Pina i Estany <carles@pina.cat>
28386
28387 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
28388
28389 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
28390
28391 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
28392 mdate-sh to the list `find' searches for.
28393 * DISTLIST: Regenerated.
28394
28395 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
28396
28397 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
28398 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
28399 genmoddep.awk, gensymlist.sh.in.
28400 (DISTDIRS): Add bus, docs, hook, lib.
28401 * DISTLIST: Regenerated.
28402 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
28403
28404 2008-08-16 Robert Millan <rmh@aybabtu.com>
28405
28406 * disk/raid.c (grub_raid_init): Handle/report errors set by
28407 grub_device_iterate().
28408 * disk/lvm.c (grub_lvm_init): Likewise.
28409
28410 2008-08-15 Bean <bean123ch@gmail.com>
28411
28412 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28413 and datehook.mod.
28414 (datetime_mod_SOURCES): New macro.
28415 (datetime_mod_CFLAGS): Likewise.
28416 (datetime_mod_LDFLAGS): Likewise.
28417 (date_mod_SOURCES): Likewise.
28418 (date_mod_CFLAGS): Likewise.
28419 (date_mod_LDFLAGS): Likewise.
28420 (datehook_mod_SOURCES): Likewise.
28421 (datehook_mod_CFLAGS): Likewise.
28422 (datehook_mod_LDFLAGS): Likewise.
28423
28424 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28425 and datehook.mod.
28426 (datetime_mod_SOURCES): New macro.
28427 (datetime_mod_CFLAGS): Likewise.
28428 (datetime_mod_LDFLAGS): Likewise.
28429 (date_mod_SOURCES): Likewise.
28430 (date_mod_CFLAGS): Likewise.
28431 (date_mod_LDFLAGS): Likewise.
28432 (datehook_mod_SOURCES): Likewise.
28433 (datehook_mod_CFLAGS): Likewise.
28434 (datehook_mod_LDFLAGS): Likewise.
28435
28436 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28437 and datehook.mod.
28438 (datetime_mod_SOURCES): New macro.
28439 (datetime_mod_CFLAGS): Likewise.
28440 (datetime_mod_LDFLAGS): Likewise.
28441 (date_mod_SOURCES): Likewise.
28442 (date_mod_CFLAGS): Likewise.
28443 (date_mod_LDFLAGS): Likewise.
28444 (datehook_mod_SOURCES): Likewise.
28445 (datehook_mod_CFLAGS): Likewise.
28446 (datehook_mod_LDFLAGS): Likewise.
28447
28448 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28449 and datehook.mod.
28450 (datetime_mod_SOURCES): New macro.
28451 (datetime_mod_CFLAGS): Likewise.
28452 (datetime_mod_LDFLAGS): Likewise.
28453 (date_mod_SOURCES): Likewise.
28454 (date_mod_CFLAGS): Likewise.
28455 (date_mod_LDFLAGS): Likewise.
28456 (datehook_mod_SOURCES): Likewise.
28457 (datehook_mod_CFLAGS): Likewise.
28458 (datehook_mod_LDFLAGS): Likewise.
28459
28460 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28461 and datehook.mod.
28462 (datetime_mod_SOURCES): New macro.
28463 (datetime_mod_CFLAGS): Likewise.
28464 (datetime_mod_LDFLAGS): Likewise.
28465 (date_mod_SOURCES): Likewise.
28466 (date_mod_CFLAGS): Likewise.
28467 (date_mod_LDFLAGS): Likewise.
28468 (datehook_mod_SOURCES): Likewise.
28469 (datehook_mod_CFLAGS): Likewise.
28470 (datehook_mod_LDFLAGS): Likewise.
28471
28472 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
28473
28474 * commands/date.c: New file.
28475
28476 * hook/datehook.c: Likewise.
28477
28478 * include/grub/lib/datetime.h: Likewise.
28479
28480 * include/grub/i386/cmos.h: Likewise.
28481
28482 * lib/datetime.c: Likewise.
28483
28484 * lib/i386/datetime.c: Likewise.
28485
28486 * lib/efi/datetime.c: Likewise.
28487
28488 2008-08-14 Robert Millan <rmh@aybabtu.com>
28489
28490 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
28491 (grub_mkelfimage_SOURCES): New variable.
28492 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
28493
28494 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
28495 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
28496 * conf/powerpc-ieee1275.rmk: Likewise.
28497 * conf/i386-ieee1275.rmk: Likewise.
28498
28499 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
28500 * kern/i386/coreboot/init.c: Likewise.
28501
28502 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
28503 with `<grub/cpu/kernel.h>'.
28504 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
28505 to ...
28506 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
28507 * kern/i386/coreboot/startup.S: Likewise.
28508
28509 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
28510 (GRUB_MOD_GAP): Remove.
28511 * include/grub/powerpc/kernel.h: New file.
28512 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
28513 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
28514 * include/grub/i386/kernel.h: New file.
28515 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
28516 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
28517 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
28518
28519 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
28520 `grub-mkelfimage'.
28521 Use --directory when invoking grub_mkimage.
28522
28523 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
28524 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
28525 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
28526 and GRUB_KERNEL_CPU_PREFIX.
28527
28528 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
28529
28530 * include/grub/err.h (grub_err_printf): New function prototype.
28531 * util/misc.c (grub_err_printf): New function.
28532 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
28533 grub_printf.
28534 * kern/err.c (grub_print_error): Use grub_err_printf.
28535
28536 2008-08-13 Robert Millan <rmh@aybabtu.com>
28537
28538 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
28539
28540 2008-08-13 Robert Millan <rmh@aybabtu.com>
28541
28542 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
28543 boot entry.
28544
28545 2008-08-12 Robert Millan <rmh@aybabtu.com>
28546
28547 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
28548 of the relocation code from here ...
28549 (grub_multiboot): ... to here.
28550 (forward_relocator, backward_relocator): Move from here ...
28551 * kern/i386/loader.S (grub_multiboot_forward_relocator)
28552 (grub_multiboot_backward_relocator): ... to here.
28553 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
28554 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
28555 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
28556 (grub_multiboot_forward_relocator_end)
28557 (grub_multiboot_backward_relocator)
28558 (grub_multiboot_backward_relocator_end): New variables.
28559
28560 2008-08-12 Bean <bean123ch@gmail.com>
28561
28562 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
28563
28564 2008-08-11 Robert Millan <rmh@aybabtu.com>
28565
28566 * kern/i386/linuxbios/startup.S: Move from here ...
28567 * kern/i386/coreboot/startup.S: ... to here.
28568
28569 * kern/i386/linuxbios/init.c: Move from here ...
28570 * kern/i386/coreboot/init.c: ... to here.
28571
28572 * kern/i386/linuxbios/table.c: Move from here ...
28573 * kern/i386/coreboot/mmap.c: ... to here.
28574
28575 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
28576
28577 2008-08-11 Robert Millan <rmh@aybabtu.com>
28578
28579 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
28580 errors. Leave it to the upper layer to handle them.
28581
28582 2008-08-09 Christian Franke <franke@computer.org>
28583
28584 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
28585 * conf/common.rmk: Install `grub-pe2elf' only if requested.
28586 Install `grub.d/10_windows' only on Cygwin.
28587 * configure.ac: Add subst of `target_os'.
28588 Check `target_os' also before setting TARGET_OBJ2ELF.
28589 Add `--enable-grub-pe2elf'.
28590
28591 2008-08-08 Robert Millan <rmh@aybabtu.com>
28592
28593 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28594 (grub_last_time): Change type to grub_uint64_t.
28595 (grub_disk_open): Migrate code from to using grub_get_time_ms().
28596 (grub_disk_close): Likewise.
28597
28598 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28599 (run_menu): Migrate code from to using grub_get_time_ms().
28600
28601 * util/misc.c (grub_get_time_ms): New function.
28602
28603 2008-08-08 Marco Gerards <marco@gnu.org>
28604
28605 * disk/ata.c (grub_ata_regget): Change return type to
28606 `grub_uint8_t'.
28607 (grub_ata_regget2): Likewise.
28608 (grub_ata_wait_status): New function.
28609 (grub_ata_wait_busy): Removed function, updated all users to use
28610 `grub_ata_wait_status'.
28611 (grub_ata_wait_drq): Likewise.
28612 (grub_ata_cmd): New function.
28613 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
28614 error handling.
28615 (grub_ata_pio_write): Add error handling.
28616 (grub_atapi_identify): Likewise.
28617 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
28618 handling.
28619 (grub_ata_identify): Use `grub_ata_cmd' and improve error
28620 handling. Actually use the detected registers. Reorder the
28621 detection logic such that it is easier to read.
28622 (grub_ata_pciinit): Do not assign the same ID to each controller.
28623 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
28624 handling.
28625 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
28626
28627 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
28628
28629 2008-08-08 Marco Gerards <marco@gnu.org>
28630
28631 * NEWS: Update.
28632
28633 2008-08-07 Bean <bean123ch@gmail.com>
28634
28635 * include/grub/x86_64/pci.h: New file.
28636
28637 2008-08-07 Christian Franke <franke@computer.org>
28638
28639 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
28640 (TIMER2_GATE): Likewise.
28641 (grub_pit_wait): Add enable/disable of the timer2 gate
28642 bit of port 0x61. This fixes a possible infinite loop.
28643
28644 2008-08-07 Bean <bean123ch@gmail.com>
28645
28646 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
28647 kern/i386/tsc.c and kern/i386/pit.c.
28648
28649 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
28650 x86_64 platform.
28651
28652 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
28653 <grub/i386/tsc.h>.
28654
28655 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
28656
28657 2008-08-07 Bean <bean123ch@gmail.com>
28658
28659 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
28660
28661 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
28662
28663 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
28664 multiple inclusion. Add #include <grub/types.h>.
28665
28666 2008-08-06 Christian Franke <franke@computer.org>
28667
28668 * conf/common.rmk: Build and install `10_windows'.
28669 * util/grub.d/10_windows.in: New script.
28670
28671 2008-08-06 Pavel Roskin <proski@gnu.org>
28672
28673 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
28674
28675 2008-08-06 Robert Millan <rmh@aybabtu.com>
28676
28677 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
28678 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
28679
28680 2008-08-06 Bean <bean123ch@gmail.com>
28681
28682 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
28683 (grub_pxefs_fs_int): Remove dummy definition.
28684 (grub_pxefs_open): Use data->block_size to store the current block
28685 size setting.
28686 (grub_pxefs_read): Use block size stored in data->block_size. As the
28687 value of grub_pxe_blksize can be changed after the file is opened.
28688
28689 2008-08-06 Bean <bean123ch@gmail.com>
28690
28691 * fs/i386/pc/pxe.c (curr_file): new variable.
28692 (grub_pxefs_open): Simply the handling of pxe file system. Don't
28693 require the dummy internal file system anymore.
28694 (grub_pxefs_read): Removed.
28695 (grub_pxefs_close): Likewise.
28696 (grub_pxefs_fs_int): Likewise.
28697 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
28698 connection when we switch file.
28699 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
28700
28701 2008-08-06 Robert Millan <rmh@aybabtu.com>
28702
28703 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
28704 `halt.mod'.
28705 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
28706 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
28707
28708 * kern/i386/halt.c: New file.
28709 * kern/i386/reboot.c: Likewise.
28710 * include/grub/i386/reboot.h: Likewise.
28711 * include/grub/i386/halt.h: Likewise.
28712
28713 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
28714 Include `<grub/cpu/halt.h>'.
28715 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
28716 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
28717
28718 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
28719 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
28720 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
28721 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
28722 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
28723 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
28724 from here ...
28725 * include/grub/i386/at_keyboard.h: ... to here.
28726
28727 2008-08-05 Robert Millan <rmh@aybabtu.com>
28728
28729 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
28730 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
28731 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
28732 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28733 `kern/generic/millisleep.c'.
28734
28735 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
28736 instead of grub_get_rtc().
28737 (grub_tsc_init): Initialize `tsc_boot_time'.
28738
28739 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
28740 (grub_machine_init): Use grub_tsc_init() rather than
28741 installing an RTC-based handler via grub_install_get_time_ms().
28742
28743 * kern/i386/pit.c: New file.
28744 * include/grub/i386/pit.h: Likewise.
28745
28746 2008-08-05 Bean <bean123ch@gmail.com>
28747
28748 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
28749
28750 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
28751 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
28752 (pxe_mod_SOURCES): New macro.
28753 (pxe_mod_CFLAGS): Likewise.
28754 (pxe_mod_LDFLAGS): Likewise.
28755 (pxecmd_mod_SOURCES): Likewise.
28756 (pxecmd_mod_CFLAGS): Likewise.
28757 (pxecmd_mod_LDFLAGS): Likewise.
28758
28759 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
28760 (grub_pxe_call): Likewise.
28761
28762 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
28763
28764 * commands/i386/pc/pxecmd.c: New file.
28765
28766 * fs/i386/pc/pxe.c: Likewise.
28767
28768 * include/grub/i386/pc/pxe.h: Likewise.
28769
28770 2008-08-05 Bean <bean123ch@gmail.com>
28771
28772 * util/console.c (grub_console_cur_color): New variable.
28773 (grub_console_standard_color): Likewise.
28774 (grub_console_normal_color): Likewise.
28775 (grub_console_highlight_color): Likewise.
28776 (color_map): Likewise.
28777 (use_color): Likewise.
28778 (NUM_COLORS): New macro.
28779 (grub_ncurses_setcolorstate): Handle color properly.
28780 (grub_ncurses_setcolor): Don't change color here, just remember the
28781 settings, color will be set in grub_ncurses_setcolorstate.
28782 (grub_ncurses_getcolor): New function.
28783 (grub_ncurses_init): Initialize color pairs.
28784 (grub_ncurses_term): New member grub_ncurses_getcolor.
28785
28786 2008-08-05 Colin D Bennett <colin@gibibit.com>
28787
28788 High resolution timer support. Implemented for x86 CPUs using TSC.
28789 Extracted generic grub_millisleep() so it's linked in only as needed.
28790 This requires a Pentium compatible CPU; if the RDTSC instruction is
28791 not supported, then it falls back on the generic grub_get_time_ms()
28792 implementation that uses the machine's RTC.
28793
28794 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
28795 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28796 `kern/generic/millisleep.c'.
28797
28798 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
28799 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
28800
28801 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
28802 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
28803
28804 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28805
28806 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28807 `kern/generic/millisleep.c'.
28808
28809 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28810
28811 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
28812
28813 * kern/generic/rtc_get_time_ms.c: New file.
28814
28815 * kern/generic/millisleep.c: New file.
28816
28817 * kern/misc.c: Don't include
28818 <kern/time.h> anymore.
28819 (grub_millisleep_generic): Removed.
28820
28821 * commands/sleep.c (grub_interruptible_millisleep): Uses
28822 grub_get_time_ms() instead of grub_get_rtc().
28823
28824 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
28825 function.
28826 (grub_cpu_is_cpuid_supported): New inline function.
28827 (grub_cpu_is_tsc_supported): New inline function.
28828 (grub_tsc_init): New function prototype.
28829 (grub_tsc_get_time_ms): New function prototype.
28830
28831 * kern/i386/tsc.c (grub_get_time_ms): New file.
28832
28833 * include/grub/time.h: Include <grub/types.h.
28834 (grub_millisleep_generic): Removed.
28835 (grub_get_time_ms): New prototype.
28836 (grub_install_get_time_ms): New prototype.
28837 (grub_rtc_get_time_ms): New prototype.
28838
28839 * kern/time.c (grub_get_time_ms): New function.
28840 (grub_install_get_time_ms): New function.
28841
28842 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
28843 <grub/time.h> anymore.
28844 (grub_millisleep): Removed.
28845 (grub_machine_init): Call grub_tsc_init.
28846
28847 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
28848 get_time_ms() implementation.
28849
28850 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
28851 (ieee1275_get_time_ms): New function.
28852 (grub_machine_init): Install get_time_ms() implementation.
28853
28854 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
28855 (grub_machine_init): Call grub_tsc_init().
28856 (grub_millisleep): Removed.
28857
28858 * kern/ieee1275/init.c (grub_millisleep): Removed.
28859 (grub_machine_init): Install ieee1275_get_time_ms()
28860 implementation.
28861 (ieee1275_get_time_ms): New function.
28862 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
28863 real work.
28864
28865 2008-08-05 Marco Gerards <marco@gnu.org>
28866
28867 * disk/ata.c: Include <grub/pci.h>.
28868 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
28869 (grub_ata_initialize): Rewritten.
28870 (grub_ata_device_initialize): New function.
28871
28872 2008-08-04 Pavel Roskin <proski@gnu.org>
28873
28874 * kern/main.c: Include grub/mm.h.
28875
28876 2008-08-04 Robert Millan <rmh@aybabtu.com>
28877
28878 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
28879 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
28880 corruption problem).
28881
28882 2008-08-04 Robert Millan <rmh@aybabtu.com>
28883
28884 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
28885 warnings introduced in my last commit.
28886
28887 2008-08-03 Robert Millan <rmh@aybabtu.com>
28888
28889 Make PCI available on all i386 architectures.
28890
28891 * include/grub/i386/pc/pci.h: Move from here ...
28892 * include/grub/i386/pci.h: ... to here.
28893
28894 * include/grub/i386/pc/pci.h: Remove.
28895 * include/grub/i386/efi/pci.h: Remove.
28896 * include/grub/x86_64/efi/pci.h: Remove.
28897
28898 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
28899 `<grub/cpu/pci.h>'.
28900
28901 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
28902 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
28903 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
28904
28905 * conf/i386-ieee1275.rmk: Likewise.
28906
28907 2008-08-03 Robert Millan <rmh@aybabtu.com>
28908
28909 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
28910 (grub_console_setcursor): Make it possible to set cursor off.
28911
28912 2008-08-03 Robert Millan <rmh@aybabtu.com>
28913
28914 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
28915 of modules instead of assuming which platform provides what.
28916 * util/update-grub.in: Likewise.
28917
28918 2008-08-03 Robert Millan <rmh@aybabtu.com>
28919
28920 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
28921 instead of `grub_install_dos_part' to determine whether a drive needs
28922 to be prepended to prefix (`grub_install_dos_part' is not reliable,
28923 because it can be overridden when loading GRUB via Multiboot).
28924
28925 2008-08-02 Robert Millan <rmh@aybabtu.com>
28926
28927 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
28928
28929 2008-08-02 Robert Millan <rmh@aybabtu.com>
28930
28931 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
28932 of informational grub_dprintf() calls.
28933
28934 2008-08-02 Robert Millan <rmh@aybabtu.com>
28935
28936 * disk/memdisk.c (memdisk_size): Don't initialize.
28937 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
28938
28939 * include/grub/i386/pc/kernel.h
28940 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
28941 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
28942 (grub_memdisk_image_size, grub_arch_memdisk_addr)
28943 (grub_arch_memdisk_size): Remove.
28944
28945 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
28946 field (was only used to transfer a constant). Add `type' field to
28947 support multiple module types.
28948 (grub_module_iterate): New function.
28949
28950 * kern/device.c (grub_device_open): Do not hide error messages
28951 when grub_disk_open() fails. Use grub_print_error() instead.
28952
28953 * kern/i386/pc/init.c (grub_arch_modules_addr)
28954 (grub_arch_memdisk_size): Remove functions.
28955 (grub_arch_modules_addr): Return the module address in high memory
28956 (now that it isn't copied anymore).
28957
28958 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
28959 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
28960 decompression routine (grub_total_module_size already includes that
28961 now). Don't copy modules back to low memory.
28962
28963 * kern/main.c: Include `<grub/mm.h>'.
28964 (grub_load_modules): Split out (and use) ...
28965 (grub_module_iterate): ... this function, which iterates through
28966 module objects and runs a hook.
28967 Comment out grub_mm_init_region() call, as it would cause non-ELF
28968 modules to be overwritten.
28969
28970 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
28971 the memdisk image in its own region, make it part of the module list.
28972 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
28973 (main): Parse --memdisk|-m option, and pass user-provided path as
28974 parameter to generate_image().
28975 (add_segments): Pass `memdisk_path' down to load_modules().
28976 (load_modules): Embed memdisk image in module section when requested.
28977 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
28978 `header.type' instead of `header.offset'.
28979
28980 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
28981 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
28982 (memdisk_mod_LDFLAGS): New variables.
28983 * conf/i386-coreboot.rmk: Likewise.
28984 * conf/i386-ieee1275.rmk: Likewise.
28985
28986 2008-08-02 Robert Millan <rmh@aybabtu.com>
28987
28988 * loader/i386/pc/multiboot.c (playground, forward_relocator)
28989 (backward_relocator): New variables. Used to allocate and relocate
28990 the payload, respectively.
28991 (grub_multiboot_load_elf32): Load into heap instead of requested
28992 address, install the appropriate relocator code in each bound of
28993 the payload, and set the entry point such that
28994 grub_multiboot_real_boot() will jump to one of them.
28995
28996 * kern/i386/loader.S (grub_multiboot_payload_size)
28997 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
28998 (grub_multiboot_payload_entry_offset): New variables.
28999 (grub_multiboot_real_boot): Set cpu context to what the relocator
29000 expects, and jump to the relocator instead of the payload.
29001
29002 * include/grub/i386/loader.h (grub_multiboot_payload_size)
29003 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
29004 (grub_multiboot_payload_entry_offset): Export.
29005
29006 2008-08-01 Bean <bean123ch@gmail.com>
29007
29008 * normal/menu_entry.c (editor_getline): Don't return the original
29009 string as result, as it will be released by lexer once it has done
29010 using it.
29011
29012 2008-08-01 Robert Millan <rmh@aybabtu.com>
29013
29014 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
29015 within menuentries, not before them.
29016 util/grub.d/10_hurd.in: Likewise.
29017
29018 2008-08-01 Bean <bean123ch@gmail.com>
29019
29020 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
29021 (bufio_mod_SOURCES): New macro.
29022 (bufio_mod_CFLAGS): Likewise.
29023 (bufio_mod_LDFLAGS): Likewise.
29024
29025 * include/grub/bufio.h: New file.
29026
29027 * io/bufio.c: Likewise.
29028
29029 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
29030 (grub_video_reader_png): Use grub_buffile_open to open file.
29031
29032 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
29033 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
29034
29035 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
29036 (grub_video_reader_tga): Use grub_buffile_open to open file.
29037
29038 * font/manager.c: Include <grub/bufio.h>.
29039 (add_font): Use grub_buffile_open to open file.
29040
29041 2008-07-31 Robert Millan <rmh@aybabtu.com>
29042
29043 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
29044 ELF segments, use a macro for arbitrarily accessing any of them instead
29045 of preparing a pointer that allows access to one at a time.
29046 (grub_multiboot_load_elf64): Likewise.
29047
29048 2008-07-31 Bean <bean123ch@gmail.com>
29049
29050 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
29051 GRUB_KERNEL_MACHINE_DATA_END.
29052
29053 2008-07-30 Robert Millan <rmh@aybabtu.com>
29054
29055 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
29056 Increase from 0x50 to 0x60.
29057 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
29058 use UUIDs to identify the root drive for them. If that's not
29059 possible, abort.
29060 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
29061 check, for cross-disk installs.
29062
29063 2008-07-30 Robert Millan <rmh@aybabtu.com>
29064
29065 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
29066 is non-empty, use it to set the `prefix' environment variable instead
29067 of the usual approach.
29068 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
29069 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
29070 environment variable instead of dummy make_install_device().
29071
29072 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
29073 (start): Insert a data section, with `grub_prefix' variable.
29074 * kern/i386/linuxbios/startup.S: Likewise.
29075
29076 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
29077 New variable reference.
29078 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
29079 New macro. Defines offset of `grub_prefix' within startup.S (relative
29080 to `start').
29081 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
29082 section within startup.S (relative to `start').
29083 * include/grub/i386/coreboot/kernel.h: Likewise.
29084
29085 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
29086 Overwrite grub_prefix with its contents, at the beginning of the
29087 first segment.
29088 (main): Understand -p|--prefix.
29089
29090 2008-07-30 Robert Millan <rmh@aybabtu.com>
29091
29092 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
29093
29094 2008-07-30 Robert Millan <rmh@aybabtu.com>
29095
29096 * term/i386/pc/vga_text.c (grub_console_cls): Use
29097 grub_console_gotoxy() to go back to beginning of the screen.
29098 Found by Patrick Georgi <patrick.georgi@coresystems.de>
29099
29100 2008-07-29 Christian Franke <franke@computer.org>
29101
29102 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
29103 Add conversion of emulated mount points on Cygwin.
29104
29105 2008-07-29 Christian Franke <franke@computer.org>
29106
29107 * util/update-grub.in: Add a check for admin
29108 group on Cygwin.
29109 Remove old `grub.cfg.new' before creation.
29110 Add `-f' to `mv' to handle the different filesystem
29111 semantics of Windows.
29112
29113 2008-07-29 Bean <bean123ch@gmail.com>
29114
29115 * normal/main.c (get_line): Fix buffer overflow bug.
29116
29117 2008-07-28 Robert Millan <rmh@aybabtu.com>
29118
29119 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
29120 (struct grub_apple_header): New struct. Describes the layout of
29121 the partmap header.
29122 (apple_partition_map_iterate): Check the header magic as well as the
29123 partition magic (which was already being checked).
29124
29125 2008-07-28 Pavel Roskin <proski@gnu.org>
29126
29127 * genmk.rb: Add a warning to the beginning of the output that
29128 it's a generated file and should not be edited.
29129
29130 2008-07-28 Robert Millan <rmh@aybabtu.com>
29131
29132 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
29133 with the same number are found, just use issue a warning with
29134 grub_dprintf(), as this error has been reported to be non-fatal.
29135
29136 2008-07-27 Robert Millan <rmh@aybabtu.com>
29137
29138 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
29139 information.
29140
29141 2008-07-27 Bean <bean123ch@gmail.com>
29142
29143 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
29144 (grub_fat_find_dir): Ignore case when comparing filename.
29145
29146 2008-07-27 Bean <bean123ch@gmail.com>
29147
29148 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
29149 smallino, as it's more descriptive, and i8count can be confused with
29150 the other field count.
29151 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
29152 inode type.
29153
29154 2008-07-27 Bean <bean123ch@gmail.com>
29155
29156 * commands/crc.c: New file.
29157
29158 * lib/crc.c: Likewise.
29159
29160 * include/grub/lib/crc.h: Likewise.
29161
29162 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
29163
29164 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
29165 (hexdump): Move this function to ...
29166
29167 * lib/hexdump.c: ... here.
29168
29169 * include/grub/hexdump.h: Renamed to ...
29170
29171 * include/grub/lib/hexdump.h: ... this.
29172
29173 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
29174
29175 * util/grub-editenv.c: Likewise.
29176
29177 * include/envblk.h: Renamed to ...
29178
29179 * include/lib/envblk.h: ... this.
29180
29181 * util/envblk.c: Renamed to ...
29182
29183 * lib/envblk.c: ... this.
29184
29185 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
29186 lib/hexdump.c.
29187 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
29188 (pkglib_MODULES): Add crc.mod.
29189 (hexdump_mod_SOURCES): Add lib/hexdump.c.
29190 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
29191 (crc_mod_SOURCES): New macro.
29192 (crc_mod_CFLAGS): Likewise.
29193 (crc_mod_LDFLAGS): Likewise.
29194
29195 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
29196
29197 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29198
29199 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29200
29201 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29202
29203 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29204
29205 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
29206
29207 * commands/help.c: Include <grub/term.h>.
29208 (TERM_WIDTH): Removed. Updated all users.
29209
29210 2008-07-27 Pavel Roskin <proski@gnu.org>
29211
29212 * util/getroot.c (find_root_device): Rephrase a comment to avoid
29213 spurious warnings about a comment within a comment.
29214
29215 2008-07-25 Robert Millan <rmh@aybabtu.com>
29216
29217 * util/getroot.c (find_root_device): Skip devices that match
29218 /dev/dm-[0-9]. This lets the real device be found for any type of
29219 abstraction (LVM, EVMS, RAID..).
29220 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
29221 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
29222 device is found first, find_root_device() will now skip it.
29223
29224 2008-07-24 Pavel Roskin <proski@gnu.org>
29225
29226 * include/grub/types.h: Use __builtin_bswap32() and
29227 __builtin_bswap64() with gcc 4.3 and newer.
29228
29229 2008-07-24 Christian Franke <franke@computer.org>
29230
29231 * util/i386/pc/grub-install.in: If `--debug' is specified,
29232 pass `--verbose' to grub-setup.
29233 Abort script if make_system_path_relative_to_its_root() fails.
29234
29235 2008-07-24 Bean <bean123ch@gmail.com>
29236
29237 * configure.ac: Fixed a bug caused by the previous cygwin patch,
29238 variable `target_platform' should be `platform'.
29239
29240 2008-07-24 Bean <bean123ch@gmail.com>
29241
29242 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
29243 (grub_png_init_fixed_block): New function.
29244 (grub_png_decode_image_data): Handle fixed huffman code compression.
29245
29246 2008-07-24 Bean <bean123ch@gmail.com>
29247
29248 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
29249 (grub_pe2elf_SOURCES): New macro.
29250 (CLEANFILES): Add grub-pe2elf.
29251
29252 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
29253 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
29254 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
29255 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
29256 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
29257 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
29258 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
29259 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
29260 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
29261 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
29262 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
29263 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
29264 (GRUB_PE32_DT_FUNCTION): Likewise.
29265 (GRUB_PE32_REL_I386_DIR32): Likewise.
29266 (GRUB_PE32_REL_I386_REL32): Likewise.
29267 (grub_pe32_symbol): New structure.
29268 (grub_pe32_reloc): Likewise.
29269
29270 * util/grub-pe2elf.c: New file.
29271
29272 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
29273 start symbol in non pc platform.
29274
29275 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
29276
29277 The following patches are from Christian Franke.
29278
29279 * include/grub/dl.h: Remove .previous, gas supports this only
29280 for ELF format.
29281
29282 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
29283 Remove .type, gas supports this only for ELF format.
29284
29285 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
29286 nullbytes in symbol table. This fixes an infinite loop if table is
29287 zero filled.
29288
29289 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
29290 TARGET_IMG_LDFLAGS and EXEEXT.
29291
29292 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
29293 TARGET_IMG_LDFLAGS_AC.
29294 (grub_CHECK_STACK_ARG_PROBE): New function.
29295
29296 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
29297
29298 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
29299
29300 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
29301 to set TARGET_IMG_LD* accordingly.
29302 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
29303 Add call to grub_CHECK_STACK_ARG_PROBE.
29304 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
29305
29306 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
29307
29308 * genmk.rb: Add EXEEXT to CLEANFILES.
29309
29310 2008-07-23 Robert Millan <rmh@aybabtu.com>
29311
29312 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
29313 define the codes for arrows and lines used for the menu).
29314 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
29315 as well.
29316
29317 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
29318 fonts, because the latter are too slow.
29319
29320 2008-07-21 Bean <bean123ch@gmail.com>
29321
29322 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
29323 a20. Run keyboard test last, as it will cause macbook to halt.
29324
29325 2008-07-18 Pavel Roskin <proski@gnu.org>
29326
29327 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
29328 load foreign architecture modules correctly anyway. Keep
29329 support for loading host architecture modules, whether we
29330 compile them or not.
29331
29332 2008-07-17 Pavel Roskin <proski@gnu.org>
29333
29334 * configure.ac: Use -m32 or -m64 regardless of whether we had to
29335 change target_cpu. The compiler default can mismatch target_cpu
29336 in any case.
29337
29338 * disk/efi/efidisk.c: Fix format warnings on x86_64.
29339 * kern/efi/efi.c: Likewise.
29340
29341 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
29342 target compiler is functional.
29343 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
29344 are set up.
29345
29346 * configure.ac: Default to efi platform for x86_64-apple. Allow
29347 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
29348 adjustments from the rest, only do them if target is not
29349 explicitly given. Merge other adjustments with the final sanity
29350 check. Remove an extraneous check for supported CPU. Be
29351 specific which CPU and which platform is not supported.
29352
29353 * configure.ac: Default to pc platform for x86_64.
29354
29355 2008-07-17 Robert Millan <rmh@aybabtu.com>
29356
29357 Partial LinuxBIOS -> Coreboot rename.
29358
29359 * conf/i386-linuxbios.rmk: Renamed to ...
29360 * conf/i386-coreboot.rmk: ... this.
29361 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
29362 * configure.ac: Accept "coreboot" as input platform (but maintain
29363 compatibility with "linuxbios").
29364 * include/grub/i386/linuxbios: Renamed to ...
29365 * include/grub/i386/coreboot: ... this.
29366
29367 2008-07-17 Bean <bean123ch@gmail.com>
29368
29369 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
29370 (appleldr_mod_SOURCE): New variable.
29371 (appleldr_mod_CFLAGS): Likewise.
29372 (appleldr_mod_LDFLAGS): Likewise.
29373 (pci_mod_SOURCES): Likewise.
29374 (pci_mod_CFLAGS): Likewise.
29375 (pci_mod_LDFLAGS): Likewise.
29376 (lspci_mod_SOURCES): Likewise.
29377 (lspci_mod_CFLAGS): Likewise.
29378 (lspci_mod_LDFLAGS): Likewise.
29379
29380 * conf/x86_64-efi.rmk: New file.
29381
29382 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
29383 macro.
29384 (grub_efidisk_write): Likewise.
29385
29386 * include/efi/api.h (efi_call_0): New macro.
29387 (efi_call_1): Likewise.
29388 (efi_call_2): Likewise.
29389 (efi_call_3): Likewise.
29390 (efi_call_4): Likewise.
29391 (efi_call_5): Likewise.
29392 (efi_call_6): Likewise.
29393
29394 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
29395 grub_rescue_cmd_chainloader.
29396
29397 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
29398 (grub_pe32_optional_header): Change some fields based on i386 or
29399 x86_64 platform.
29400 (GRUB_PE32_PE32_MAGIC): Likewise.
29401
29402 * include/grub/efi/uga_draw.h: New file.
29403
29404 * include/grub/elf.h (STN_ABS): New constant.
29405 (R_X86_64_NONE): Relocation constant for x86_64.
29406 (R_X86_64_64): Likewise.
29407 (R_X86_64_PC32): Likewise.
29408 (R_X86_64_GOT32): Likewise.
29409 (R_X86_64_PLT32): Likewise.
29410 (R_X86_64_COPY): Likewise.
29411 (R_X86_64_GLOB_DAT): Likewise.
29412 (R_X86_64_JUMP_SLOT): Likewise.
29413 (R_X86_64_RELATIVE): Likewise.
29414 (R_X86_64_GOTPCREL): Likewise.
29415 (R_X86_64_32): Likewise.
29416 (R_X86_64_32S): Likewise.
29417 (R_X86_64_16): Likewise.
29418 (R_X86_64_PC16): Likewise.
29419 (R_X86_64_8): Likewise.
29420 (R_X86_64_PC8): Likewise.
29421
29422 * include/grub/i386/efi/pci.h: New file.
29423
29424 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
29425 Change it value based on platform.
29426 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
29427 (GRUB_E820_RAM): Likewise.
29428 (GRUB_E820_RESERVED): Likewise.
29429 (GRUB_E820_ACPI): Likewise.
29430 (GRUB_E820_NVS): Likewise.
29431 (GRUB_E820_EXEC_CODE): Likewise.
29432 (GRUB_E820_MAX_ENTRY): Likewise.
29433 (grub_e820_mmap): New structure.
29434 (linux_kernel_header): Change the efi field according to different
29435 kernel version, also field from linux_kernel_header.
29436
29437 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
29438
29439 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
29440 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
29441 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
29442 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
29443 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
29444 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
29445 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
29446 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
29447 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
29448 (GRUB_PCI_ADDR_IO_MASK): Likewise.
29449
29450 * include/grub/x86_64/efi/kernel.h: New file.
29451
29452 * include/grub/x86_64/efi/loader.h: Likewise.
29453
29454 * include/grub/x86_64/efi/machine.h: Likewise.
29455
29456 * include/grub/x86_64/efi/pci.h: Likewise.
29457
29458 * include/grub/x86_64/efi/time.h: Likewise.
29459
29460 * include/grub/x86_64/linux.h: Likewise.
29461
29462 * include/grub/x86_64/setjmp.h: Likewise.
29463
29464 * include/grub/x86_64/time.h: Likewise.
29465
29466 * include/grub/x86_64/types.h: Likewise.
29467
29468 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
29469 GRUB_TARGET_SIZEOF_VOID_P.
29470
29471 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
29472 (grub_efi_locate_handle): Likewise.
29473 (grub_efi_open_protocol): Likewise.
29474 (grub_efi_set_text_mode): Likewise.
29475 (grub_efi_stall): Likewise.
29476 (grub_exit): Likewise.
29477 (grub_reboot): Likewise.
29478 (grub_halt): Likewise.
29479 (grub_efi_exit_boot_services): Likewise.
29480 (grub_get_rtc): Likewise.
29481
29482 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
29483 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
29484 (grub_efi_allocate_pages): Wrap efi calls.
29485 (grub_efi_free_pages): Wrap efi calls.
29486 (grub_efi_get_memory_map): Wrap efi calls.
29487
29488 * kern/x86_64/dl.c: New file.
29489
29490 * kern/x86_64/efi/callwrap.S: Likewise.
29491
29492 * kern/x86_64/efi/startup.S: Likewise.
29493
29494 * loader/efi/appleloader.c: Likewise.
29495
29496 * loader/efi/chainloader.c (cmdline): New variable.
29497 (grub_chainloader_unload): Wrap efi calls.
29498 (grub_chainloader_boot): Likewise.
29499 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
29500 command line.
29501
29502 * loader/efi/chainloader_normal.c (chainloader_command):
29503 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
29504 command line.
29505
29506 * loader/i386/efi/linux.c (allocate_pages): Change allocation
29507 method.
29508 (grub_e820_add_region): New function.
29509 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
29510 booting.
29511 (grub_find_video_card): New function.
29512 (grub_linux_setup_video): New function.
29513 (grub_rescue_cmd_linux): Probe for video information.
29514
29515 * normal/x86_64/setjmp.S: New file.
29516
29517 * term/efi/console.c (map_char): New function.
29518 (grub_console_putchar): Map unicode char.
29519 (grub_console_checkkey): Wrap efi calls.
29520 (grub_console_getkey): Likewise.
29521 (grub_console_getwh): Likewise.
29522 (grub_console_gotoxy): Likewise.
29523 (grub_console_cls): Likewise.
29524 (grub_console_setcolorstate): Likewise.
29525 (grub_console_setcursor): Likewise.
29526
29527 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
29528
29529 2008-07-16 Pavel Roskin <proski@gnu.org>
29530
29531 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
29532 format strings.
29533
29534 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
29535 pointer, not an integer. This fixes a warning and prevents
29536 precision loss on 64-bit systems.
29537 (relocate_addresses): Remove unneeded cast.
29538
29539 2008-07-15 Pavel Roskin <proski@gnu.org>
29540
29541 * kern/i386/ieee1275/init.c: Include grub/cache.h.
29542
29543 * term/ieee1275/ofconsole.c: Disable code unused on i386.
29544
29545 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
29546 Fix comparison between signed and unsigned.
29547
29548 * include/grub/i386/ieee1275/console.h: Declare
29549 grub_console_init() and grub_console_fini().
29550
29551 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
29552 It's empty and unused.
29553
29554 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
29555 beginning to avoid warnings with some compilers.
29556
29557 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
29558 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
29559
29560 2008-07-14 Pavel Roskin <proski@gnu.org>
29561
29562 * kern/env.c (grub_register_variable_hook): Don't copy empty
29563 string, it leaks memory. Pass "" to grub_env_set(), it should
29564 handle constant strings.
29565
29566 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
29567 * commands/cmp.c (grub_cmd_cmp): Likewise.
29568 * kern/dl.c (grub_dl_flush_cache): Likewise.
29569 (grub_dl_load_core): Likewise.
29570 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
29571 (grub_elf64_load_phdrs): Likewise.
29572
29573 2008-07-13 Pavel Roskin <proski@gnu.org>
29574
29575 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
29576 between signed and unsigned.
29577 (LzmaEnc_Finish): Fix warning about an unused parameter.
29578
29579 2008-07-13 Bean <bean123ch@gmail.com>
29580
29581 * Makefile.in (enable_lzo): New rule.
29582
29583 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
29584
29585 * configure.ac (ENABLE_LZO): New option --enable-lzo.
29586
29587 * boot/i386/pc/lnxboot.S: #include <config.h>.
29588
29589 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
29590 its value according to the compression algorithm used, lzo or lzma.
29591
29592 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
29593 compression algorithm according to configure macro.
29594
29595 * kern/i386/pc/startup.S (codestart): Likewise.
29596
29597 * kern/i386/pc/lzma_decode.S: New file.
29598
29599 * include/grub/lib/LzFind.h: Likewise.
29600
29601 * include/grub/lib/LzHash.h: Likewise.
29602
29603 * include/grub/lib/LzmaDec.h: Likewise.
29604
29605 * include/grub/lib/LzmaEnc.h: Likewise.
29606
29607 * include/grub/lib/LzmaTypes.h: Likewise.
29608
29609 * lib/LzFind.c: Likewise.
29610
29611 * lib/LzmaDec.c: Likewise.
29612
29613 * lib/LzmaEnc.c: Likewise.
29614
29615 2008-07-13 Bean <bean123ch@gmail.com>
29616
29617 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
29618 (grub_ext4_extent_header): New structure.
29619 (grub_ext4_extent): Likewise.
29620 (grub_ext4_extent_idx): Likewise.
29621 (grub_ext4_find_leaf): New function.
29622 (grub_ext2_read_block): Handle extents.
29623
29624 2008-07-12 Robert Millan <rmh@aybabtu.com>
29625
29626 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
29627
29628 2008-07-11 Robert Millan <rmh@aybabtu.com>
29629
29630 * util/grub.d/40_custom.in: New file. Example on how to add custom
29631 entries to /etc/grub.d.
29632 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
29633 40_custom (implicitly, by merging all the grub.d rules).
29634
29635 2008-07-11 Pavel Roskin <proski@gnu.org>
29636
29637 * commands/read.c (grub_getline): Fix invalid memory access.
29638 Don't add newline to the variable value.
29639
29640 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
29641 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
29642 (serial_hw_get_port): Check validity of the port number.
29643 (grub_cmd_serial): Check return value of serial_hw_get_port().
29644
29645 2008-07-07 Pavel Roskin <proski@gnu.org>
29646
29647 * boot/i386/pc/diskboot.S (notification_string): Replace
29648 "Loading kernel" with just "loading". This is shorter, less
29649 confusing and saves a few bytes for possible future changes.
29650
29651 2008-07-05 Pavel Roskin <proski@gnu.org>
29652
29653 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
29654 size for ATAPI devices, they are undefined. Output sector
29655 number in decimal form.
29656
29657 * disk/ata.c: Use named constants for status bits.
29658
29659 2008-07-04 Pavel Roskin <proski@gnu.org>
29660
29661 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
29662 grub_addr_t before casting it to the void pointer to fix a
29663 warning. Non-addressable regions are discarded earlier.
29664 (grub_arch_modules_addr): Cast _end to grub_addr_t.
29665 * kern/i386/linuxbios/table.c: Include grub/misc.h.
29666 (check_signature): Don't shadow table_header.
29667 (grub_linuxbios_table_iterate): Cast numeric constants to
29668 grub_linuxbios_table_header_t.
29669 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
29670 grub_stop().
29671
29672 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
29673 prevent warnings.
29674
29675 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
29676 pointer, which can cause warnings. Support 64-bit addresses.
29677
29678 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
29679 of sizeof(long). This fixes PowerPC image generation on x86_64.
29680
29681 2008-07-04 Robert Millan <rmh@aybabtu.com>
29682
29683 This fixes a performance issue when pc & gpt partmap iterators
29684 didn't abort iteration even after our hook found what it was
29685 looking for (often causing expensive probes of non-existent drives).
29686
29687 Some callers relied on previous buggy behaviour, since they would
29688 raise an error when their own hooks caused early abortion of its
29689 iteration.
29690
29691 * kern/device.c (grub_device_open): Improve error message.
29692 * disk/lvm.c (grub_lvm_open): Likewise.
29693 * disk/raid.c (grub_raid_open): Likewise.
29694
29695 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
29696 when hook requests it, independently of grub_errno.
29697 (pc_partition_map_probe): Do not fail when find_func() caused
29698 early abortion of pc_partition_map_iterate().
29699
29700 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
29701 when hook requests it, independently of grub_errno.
29702 (gpt_partition_map_probe): Do not fail when find_func() caused
29703 early abortion of gpt_partition_map_iterate().
29704
29705 * kern/partition.c (grub_partition_iterate): Abort parent iteration
29706 when hook requests it, independently of grub_errno. Do not fail when
29707 part_map_iterate_hook() caused early abortion of p->iterate().
29708
29709 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
29710 when grub_partition_iterate() returned with non-zero.
29711
29712 2008-07-03 Pavel Roskin <proski@gnu.org>
29713
29714 * disk/ata.c (grub_ata_pio_write): Check status before writing,
29715 like we do in grub_ata_pio_read().
29716 (grub_ata_readwrite): Always write individual sectors. Fix the
29717 sector count for the remainder.
29718 (grub_ata_write): Enable writing to ATA devices. Correctly
29719 report error for ATAPI devices.
29720
29721 2008-07-02 Pavel Roskin <proski@gnu.org>
29722
29723 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
29724 warning.
29725
29726 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
29727 for every read sector, we already increment it for the whole
29728 batch. This fixes reading more than 256 sectors at once.
29729
29730 * util/grub-editenv.c (cmd_info): Cast argument to long
29731 explicitly. ptrdiff_t reduces to int on i386.
29732
29733 * util/grub-editenv.c (main): Be specific which parameter is
29734 missing.
29735
29736 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
29737 (memdisk): Make memdisk_orig_addr a pointer.
29738
29739 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
29740 for file offsets, use grub_off_t instead. Fix printf format
29741 warnings.
29742
29743 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
29744 there. Real unexpected warnings should not drown in the noise
29745 about known problems.
29746
29747 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
29748 grub_disk_addr_t for memory addresses.
29749
29750 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
29751 explicitly to fix a warning.
29752
29753 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
29754
29755 * Makefile.in (MODULE_LDFLAGS): New variable.
29756 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
29757 the linker accepts --build-id=none.
29758 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
29759 MODULE_LDFLAGS.
29760 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
29761
29762 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
29763 those in Linux XFS code. Provide a way to access 64-bit parent
29764 inode.
29765 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
29766 the end of struct grub_xfs_dir_header.
29767
29768 2008-07-02 Bean <bean123ch@gmail.com>
29769
29770 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
29771 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29772 and GRUB_IEEE1275_FLAG_NO_ANSI.
29773
29774 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
29775 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29776 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
29777
29778 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
29779 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
29780
29781 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
29782 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
29783
29784 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
29785 esc sequence on non ANSI terminal.
29786 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
29787
29788 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
29789 beginning of file.
29790
29791 2008-07-02 Bean <bean123ch@gmail.com>
29792
29793 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
29794 (grub_editenv_SOURCES): New variable.
29795 (pkglib_MODULES): Add loadenv.mod.
29796 (loadenv_mod_SOURCES): New variable.
29797 (loadenv_mod_CFLAGS): Likewise.
29798 (loadenv_mod_LDFLAGS): Likewise.
29799
29800 * include/grub/envblk.h: New file.
29801
29802 * util/envblk.c: New file.
29803
29804 * util/grub-editenv.c: New file.
29805
29806 * commands/loadenv.c: New file.
29807
29808 2008-07-01 Pavel Roskin <proski@gnu.org>
29809
29810 * include/multiboot2.h (struct multiboot_tag_module): Use char,
29811 not unsigned char. This fixes warnings and is consistent with
29812 other tags.
29813
29814 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
29815
29816 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
29817
29818 * term/tparm.c (analyze): Always set *popcount.
29819
29820 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
29821 cast to fix a warning.
29822
29823 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
29824 cast to suppress a warning.
29825
29826 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
29827 grub_fshelp_read_file() expects.
29828
29829 * fs/fat.c: Fix UUID calculation on big-endian systems. We
29830 write uuid as a 32-bit value in CPU byte order, so declare and
29831 use it as such.
29832
29833 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
29834 long if the format specifier expects it.
29835 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
29836 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29837 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
29838 long to fix a warning.
29839 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
29840 grub_dprintf() arguments to fix warnings.
29841
29842 2008-06-30 Pavel Roskin <proski@gnu.org>
29843
29844 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
29845 install_bsd_part immediately before core.img is embedded or
29846 modified on disk. This fixes core.img verification if core.img
29847 cannot be embedded.
29848
29849 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
29850 core_path to calculate the blocklist.
29851 Patch from Javier Martín <lordhabbit@gmail.com>
29852
29853 2008-06-29 Robert Millan <rmh@aybabtu.com>
29854
29855 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
29856 block to disk block.
29857 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
29858 Patch from Niels Böhm <bitbucket@arcor.de>
29859
29860 2008-06-29 Robert Millan <rmh@aybabtu.com>
29861
29862 * util/update-grub_lib.in (font_path): Search for fonts in
29863 /boot/grub first, which is more likely to be readable (we aren't
29864 deciding where fonts live, just looking for them).
29865
29866 2008-06-26 Pavel Roskin <proski@gnu.org>
29867
29868 * util/biosdisk.c (read_device_map): Don't leave dead map
29869 entries for devices failing stat() check.
29870
29871 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
29872 core_path_dev for the core.img path on the target device.
29873
29874 2008-06-26 Robert Millan <rmh@aybabtu.com>
29875
29876 * disk/fs_uuid.c: New file.
29877 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
29878 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
29879 (fs_uuid_mod_LDFLAGS): New variables.
29880 * include/grub/disk.h (grub_disk_dev_id): Add
29881 `GRUB_DISK_DEVICE_UUID_ID'.
29882 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
29883 implement iterate().
29884
29885 2008-06-26 Robert Millan <rmh@aybabtu.com>
29886
29887 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
29888 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
29889 Linux image includes no initrd.
29890
29891 2008-06-21 Javier Martín <lordhabbit@gmail.com>
29892
29893 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
29894 call to resolve the core image location that effectively appended the
29895 name twice.
29896
29897 2008-06-21 Robert Millan <rmh@aybabtu.com>
29898
29899 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
29900 call from here ...
29901
29902 * util/grub.d/10_hurd.in: ... to here ...
29903 * util/grub.d/10_linux.in: ... and here.
29904
29905 2008-06-19 Robert Millan <rmh@aybabtu.com>
29906
29907 * kern/main.c (grub_main): Export `prefix' variable immediately
29908 after it has been set by grub_machine_set_prefix().
29909
29910 2008-06-19 Robert Millan <rmh@aybabtu.com>
29911
29912 * commands/search.c (search_label, search_fs_uuid, search_file): Print
29913 search result when not saving to variable, not the other way around.
29914 When saving to variable, abort iteration as soon as a match is found.
29915
29916 2008-06-19 Robert Millan <rmh@aybabtu.com>
29917
29918 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
29919 check for partition that provides /boot/grub. Its logic is flawed,
29920 as it prevents prepare_grub_to_access_device() from being called
29921 multiple times.
29922
29923 2008-06-19 Robert Millan <rmh@aybabtu.com>
29924
29925 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
29926 "insmod" command directly when abstraction modules are needed,
29927 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
29928 since it had already been processed).
29929
29930 2008-06-19 Pavel Roskin <proski@gnu.org>
29931
29932 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
29933 changed. This is needed in case GRUB_LIBDIR changes.
29934 * conf/i386-ieee1275.rmk: Likewise.
29935 * conf/i386-linuxbios.rmk: Likewise.
29936 * conf/i386-pc.rmk: Likewise.
29937 * conf/powerpc-ieee1275.rmk: Likewise.
29938
29939 2008-06-18 Pavel Roskin <proski@gnu.org>
29940
29941 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
29942 kernel_elf_symlist.c to symlist.c for consistency with other
29943 architectures. Update all users.
29944 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
29945
29946 2008-06-18 Robert Millan <rmh@aybabtu.com>
29947
29948 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
29949 it in prefix.
29950
29951 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
29952 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
29953 a RAID device, run setup() for all members independently on whether
29954 LVM abstraction is being used.
29955 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
29956 If grub-mkimage has set `*install_dos_part == -2', don't override this
29957 value.
29958 Perform *install_dos_part adjustments independently on whether
29959 we're embedding or not.
29960 Clarify error message when image is too big for embedding.
29961 Remove duplicate *install_dos_part stanza.
29962
29963 2008-06-17 Robert Millan <rmh@aybabtu.com>
29964
29965 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
29966 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
29967 variables.
29968 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
29969 values in grub_ofconsole_normal_color and
29970 grub_ofconsole_highlight_color (they're not directly related to
29971 background and foreground).
29972 (grub_ofconsole_setcolorstate): Extract background and foreground
29973 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
29974
29975 2008-06-17 Robert Millan <rmh@aybabtu.com>
29976
29977 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
29978 /boot/grub for the check in last commit, not /boot (they could be
29979 different partitions).
29980
29981 2008-06-16 Robert Millan <rmh@aybabtu.com>
29982
29983 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
29984 asked to setup access for the same partition that provides /boot,
29985 don't bother using UUIDs since our root already has the value we
29986 want.
29987
29988 2008-06-16 Robert Millan <rmh@aybabtu.com>
29989
29990 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
29991 I2O devices.
29992 Patch from Sven Mueller <sven@debian.org>.
29993
29994 2008-06-16 Robert Millan <rmh@aybabtu.com>
29995
29996 * util/update-grub.in: Check for $EUID instead of $UID.
29997 Reported by Vincent Zweije.
29998
29999 2008-06-16 Bean <bean123ch@gmail.com>
30000
30001 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
30002 (grub_ext2_read_block): Likewise.
30003 (grub_ext2_read_inode): Likewise.
30004 (grub_ext2_mount): Likewise.
30005 (grub_ext2_close): Likewise.
30006 (grub_ext3_get_journal): Removed.
30007
30008 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
30009 (grub_reiserfs_read_symlink): Likewise.
30010 (grub_reiserfs_mount): Likewise.
30011 (grub_reiserfs_open): Likewise.
30012 (grub_reiserfs_read): Likewise.
30013 (grub_reiserfs_close): Likewise.
30014 (grub_reiserfs_get_journal): Removed.
30015
30016 * fs/fshelp.c (grub_fshelp_read): Removed.
30017 (grub_fshelp_map_block): Likewise.
30018
30019 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
30020 (grub_fshelp_journal): Likewise.
30021 (grub_fshelp_read): Likewise.
30022 (grub_fshelp_map_block): Likewise.
30023
30024 2008-06-16 Pavel Roskin <proski@gnu.org>
30025
30026 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
30027 floating point anymore.
30028 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
30029
30030 2008-06-15 Pavel Roskin <proski@gnu.org>
30031
30032 * commands/ls.c (grub_ls_list_files): Use integer calculations
30033 for human readable format, avoid floating point use.
30034 * kern/misc.c (grub_ftoa): Remove.
30035 (grub_vsprintf): Remove floating point support.
30036
30037 2008-06-15 Robert Millan <rmh@aybabtu.com>
30038
30039 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
30040 devices.
30041 Reported by Max Vozeler.
30042
30043 2008-06-15 Robert Millan <rmh@aybabtu.com>
30044
30045 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
30046 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
30047 skipped later.
30048 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
30049 the beginning of the prefix.
30050
30051 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
30052 It is assumed that if we have a memdisk, grub-mkimage has set
30053 grub_prefix to include the "(memdisk)" drive in it.
30054
30055 2008-06-15 Robert Millan <rmh@aybabtu.com>
30056
30057 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
30058 Initialize keyboard controller after registering the terminal, so that
30059 grub_printf() can be called from grub_keyboard_controller_init().
30060
30061 2008-06-15 Robert Millan <rmh@aybabtu.com>
30062
30063 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
30064 extent-btree which is written as big endian on disk.
30065 Reported by Alain Greppin <al@chilibi.org>.
30066
30067 2008-06-14 Robert Millan <rmh@aybabtu.com>
30068
30069 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
30070 * util/i386/pc/grub-install.in (modules): Likewise.
30071
30072 2008-06-13 Pavel Roskin <proski@gnu.org>
30073
30074 * commands/ls.c (grub_ls_list_files): Fix format warnings.
30075
30076 2008-06-13 Bean <bean123ch@gmail.com>
30077
30078 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
30079
30080 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
30081
30082 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
30083 to indicate sparse block.
30084
30085 2008-06-12 Pavel Roskin <proski@gnu.org>
30086
30087 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
30088 number, grub_fshelp_read() does it for us.
30089
30090 * fs/fshelp.c (grub_fshelp_read): New function. Implement
30091 linear disk read with journal translation.
30092 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
30093 * include/grub/fshelp.h: Declare grub_fshelp_read().
30094
30095 2008-06-09 Pavel Roskin <proski@gnu.org>
30096
30097 * fs/minix.c (grub_minix_mount): Handle error reading
30098 superblock.
30099
30100 2008-06-08 Robert Millan <rmh@aybabtu.com>
30101
30102 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
30103 don't append the RAID prefix afterwards.
30104 Reported by Clint Adams.
30105
30106 2008-06-08 Robert Millan <rmh@aybabtu.com>
30107
30108 Based on description from Pavel:
30109 * kern/disk.c (grub_disk_check_range): Rename to ...
30110 (grub_disk_adjust_range): ... this. Add a comment explaining the
30111 tasks performed by this function.
30112
30113 2008-06-08 Robert Millan <rmh@aybabtu.com>
30114
30115 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
30116 `num_serial' (for consistency with other variables).
30117 (struct grub_ntfs_data): Add `uuid' member.
30118 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
30119 (grub_ntfs_uuid): New function.
30120 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
30121
30122 2008-06-07 Pavel Roskin <proski@gnu.org>
30123
30124 * util/biosdisk.c (open_device): Revert last change to the
30125 function, it broke installation. The sector needs to be
30126 different dependent on which device is opened.
30127
30128 2008-06-06 Robert Millan <rmh@aybabtu.com>
30129
30130 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
30131 rest of GRUB, and breakage doesn't happen if its value were modified.
30132
30133 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
30134 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
30135 a constant (same value).
30136 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
30137 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
30138
30139 2008-06-06 Robert Millan <rmh@aybabtu.com>
30140
30141 * util/biosdisk.c (open_device): Do not modify sector offset when
30142 accessing a partition. kern/disk.c already handles this for us.
30143
30144 2008-06-06 Robert Millan <rmh@aybabtu.com>
30145
30146 * util/grub-emu.c (grub_machine_init): Move code in this function from
30147 here ...
30148 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
30149 segfault in case grub_printf() is called).
30150
30151 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
30152 grub_probe. Update all users not to explicitly add it again.
30153 (grub_device): New variable; contains corresponding device for grubdir.
30154 (fs_module, partmap_module, devabstraction_module): Pass
30155 `--device ${grub_device}' to grub_probe to avoid traversing /dev
30156 every time.
30157
30158 2008-06-05 Robert Millan <rmh@aybabtu.com>
30159
30160 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
30161 is found, print it (same layout as with labels).
30162
30163 2008-06-04 Robert Millan <rmh@aybabtu.com>
30164
30165 * util/biosdisk.c (get_drive): Rename to ...
30166 (find_grub_drive): ... this. Update all users.
30167
30168 (get_os_disk): Rename to ...
30169 (convert_system_partition_to_system_disk): ... this. Update all users.
30170
30171 (find_drive): Rename to ...
30172 (find_system_device): ... this. Update all users.
30173
30174 2008-06-04 Robert Millan <rmh@aybabtu.com>
30175
30176 * util/biosdisk.c (get_os_disk): Handle IDA devices.
30177 * util/grub-mkdevicemap.c (get_mmc_disk_name)
30178 (make_device_map): Likewise.
30179
30180 2008-06-01 Robert Millan <rmh@aybabtu.com>
30181
30182 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
30183 before dereferencing it.
30184
30185 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
30186 union with fat12/fat16-specific ones. Add some new fields, including
30187 `num_serial' for both versions.
30188 (struct grub_fat_data): Add `uuid' member.
30189 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
30190 names. Initialize `data->uuid' using `num_serial'.
30191 (grub_fat_uuid): New function.
30192 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
30193
30194 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
30195 (grub_reiserfs_uuid): New function.
30196 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
30197 member.
30198
30199 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
30200 (grub_xfs_uuid): New function.
30201 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
30202
30203 2008-06-01 Robert Millan <rmh@aybabtu.com>
30204
30205 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
30206 code that is backward compatible with pre-uuid search command.
30207
30208 2008-05-31 Robert Millan <rmh@aybabtu.com>
30209
30210 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
30211 floppies after everything else, to ensure floppy drive isn't accessed
30212 unnecessarily (patch from Bean).
30213
30214 2008-05-31 Robert Millan <rmh@aybabtu.com>
30215
30216 * commands/search.c (search_label, search_fs_uuid, search_file): Do
30217 not print device names when we were asked to set a variable.
30218
30219 2008-05-31 Robert Millan <rmh@aybabtu.com>
30220
30221 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
30222 using "cursor-on" and "cursor-off" commands (understood at least by
30223 the Open Firmware flavour on OLPC).
30224
30225 2008-05-31 Michael Gorven <michael@gorven.za.net>
30226
30227 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
30228 on and off sequences.
30229
30230 2008-05-31 Robert Millan <rmh@aybabtu.com>
30231
30232 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
30233 * util/update-grub.in: Likewise.
30234
30235 2008-05-30 Pavel Roskin <proski@gnu.org>
30236
30237 * util/biosdisk.c (linux_find_partition): Simplify logic and
30238 make the code more universal. Keep special processing for
30239 devfs, but use a simple rule for all other devices. If the
30240 device ends with a number, append 'p' and the partition number.
30241 Otherwise, append only the partition number.
30242
30243 2008-05-30 Robert Millan <rmh@aybabtu.com>
30244
30245 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
30246 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
30247 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
30248 the `root' parameter to Linux.
30249
30250 2008-05-30 Robert Millan <rmh@aybabtu.com>
30251
30252 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
30253 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
30254 --fs_uuid with --fs-uuid.
30255 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
30256 all filesystems support them).
30257
30258 2008-05-30 Robert Millan <rmh@aybabtu.com>
30259
30260 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
30261 grub_printf() flags, since we're printing in units of 2 bytes.
30262
30263 2008-05-30 Robert Millan <rmh@aybabtu.com>
30264
30265 * util/grub.d/00_header.in: Remove obsolete comment referencing
30266 convert_system_path_to_grub_path().
30267 * util/update-grub.in: Likewise.
30268 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
30269 (convert_system_path_to_grub_path): Add a warning message explaining
30270 that this function is deprecated. Rely on is_path_readable_by_grub()
30271 for the readability checks.
30272 (font_path): Use is_path_readable_by_grub() for the readability
30273 check rather than convert_system_path_to_grub_path().
30274
30275 2008-05-30 Robert Millan <rmh@aybabtu.com>
30276
30277 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
30278 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
30279 converting it first.
30280 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
30281 grub.cfg for access to font file, and afterwards call it again to set
30282 the root device.
30283
30284 2008-05-30 Robert Millan <rmh@aybabtu.com>
30285
30286 * commands/search.c (options): Add --fs_uuid option.
30287 (search_fs_uuid): New function.
30288 (grub_cmd_search): Fix --set argument passing.
30289 Use search_fs_uuid() when requested via --fs_uuid.
30290 (grub_search_init): Update help message.
30291 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
30292 and redeclare it as an array of 16-bit words.
30293 (grub_ext2_uuid): New function.
30294 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
30295 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
30296 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
30297 (GRUB_DEVICE_BOOT_UUID): New variables.
30298 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
30299 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
30300 whenever possible.
30301 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
30302 just assume `root' variable has the right value.
30303 * util/grub.d/10_linux.in: Likewise.
30304 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
30305 via PRINT_FS_UUID.
30306 (main): Recognise `-t fs_uuid' argument.
30307
30308 2008-05-30 Robert Millan <rmh@aybabtu.com>
30309
30310 * util/biosdisk.c (map): Redefine structure to hold information
30311 about GRUB drive name.
30312 (get_drive): Reimplement without assuming (and verifying) BIOS-like
30313 drive names.
30314 (call_hook): Remove.
30315 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
30316 member. Assume drive has partitions.
30317 (grub_util_biosdisk_open): Access device names via `.device' struct
30318 member.
30319 (open_device): Likewise.
30320 (find_drive): Likewise.
30321 (read_device_map): Adjust map[] usage to match the new struct
30322 definition. Don't check for duplicates (still possible, but not cheap
30323 anymore).
30324 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
30325 (make_device_name): Remove assumption of BIOS-like drive names.
30326
30327 2008-05-30 Pavel Roskin <proski@gnu.org>
30328
30329 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
30330 compiling execute.c doesn't need grub_script.tab.h anymore.
30331 (normal/command.c_DEPENDENCIES): Likewise.
30332 (normal/function.c_DEPENDENCIES): Likewise.
30333 * conf/i386-ieee1275.rmk: Likewise.
30334 * conf/i386-linuxbios.rmk: Likewise.
30335 * conf/i386-pc.rmk: Likewise.
30336 * conf/powerpc-ieee1275.rmk: Likewise.
30337 * conf/sparc64-ieee1275.rmk: Likewise.
30338
30339 2008-05-29 Pavel Roskin <proski@gnu.org>
30340
30341 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
30342 when scanning metadata for volume group name.
30343
30344 * include/grub/script.h: Don't include grub_script.tab.h. It's
30345 a generated file, which may only be included from the files with
30346 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
30347 use union YYSTYPE, as the later allows forward declaration.
30348 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
30349
30350 2008-05-29 Robert Millan <rmh@aybabtu.com>
30351
30352 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
30353 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
30354 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
30355 (grub_console_checkkey): Add grub_dprintf() call to report unknown
30356 scan codes.
30357
30358 2008-05-29 Robert Millan <rmh@aybabtu.com>
30359
30360 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
30361 control key combinations.
30362
30363 2008-05-29 Robert Millan <rmh@aybabtu.com>
30364
30365 * util/powerpc/ieee1275/grub-install.in: Move from here ...
30366 * util/ieee1275/grub-install.in: ... to here.
30367 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
30368 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
30369 (grub_install_SOURCES): Likewise.
30370
30371 2008-05-29 Robert Millan <rmh@aybabtu.com>
30372
30373 * fs/affs.c: Update copyright year.
30374 * fs/ext2.c: Likewise.
30375 * fs/fshelp.c: Likewise.
30376 * fs/hfsplus.c: Likewise.
30377 * fs/ntfs.c: Likewise.
30378 * fs/xfs.c: Likewise.
30379 * include/grub/fshelp.h: Likewise.
30380 * util/grub-mkdevicemap.c: Likewise.
30381
30382 2008-05-28 Robert Millan <rmh@aybabtu.com>
30383
30384 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
30385 might need to be fatfs to support some firmware implementations
30386 (e.g. OFW or EFI).
30387
30388 2008-05-28 Robert Millan <rmh@aybabtu.com>
30389
30390 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
30391 devices.
30392 * util/grub-mkdevicemap.c (get_mmc_disk_name)
30393 (make_device_map): Likewise.
30394
30395 2008-05-20 Bean <bean123ch@gmail.com>
30396
30397 * fs/fshelp.c (grub_fshelp_map_block): New function.
30398 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
30399 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
30400
30401 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
30402 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
30403 (grub_fshelp_journal): New structure.
30404 (grub_fshelp_map_block): New function prototype.
30405 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
30406 (grub_fshelp_map_block): Likewise.
30407
30408 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
30409 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
30410 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
30411 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
30412 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
30413 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
30414 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
30415 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
30416 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
30417 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
30418 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
30419 (grub_ext2_sblock): New members for journal support.
30420 (grub_ext3_journal_header): New structure.
30421 (grub_ext3_journal_revoke_header): Likewise.
30422 (grub_ext3_journal_block_tag): Likewise.
30423 (grub_ext3_journal_sblock): Likewise.
30424 (grub_fshelp_node): New members logfile and journal.
30425 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
30426 grub_fshelp_map_block to get real block number.
30427 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
30428 number.
30429 (grub_ext2_read_inode): Likewise.
30430 (grub_ext3_get_journal): New function.
30431 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
30432 (grub_ext2_close): Release memory used by journal.
30433
30434 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
30435 (REISERFS_MAGIC_DESC_BLOCK): New macro.
30436 (grub_reiserfs_transaction_header): Renamed to
30437 grub_reiserfs_description_block, replace field data with real_blocks.
30438 (grub_reiserfs_commit_block): New structure.
30439 (grub_reiserfs_data): New member journal.
30440 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
30441 number.
30442 (grub_reiserfs_read_symlink): Likewise.
30443 (grub_reiserfs_iterate_dir): Likewise.
30444 (grub_reiserfs_open): Likewise.
30445 (grub_reiserfs_read): Likewise.
30446 (grub_reiserfs_get_journal): New function.
30447 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
30448 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
30449 using grub_reiserfs_get_journal.
30450 (grub_reiserfs_close): Release memory used by journal.
30451
30452 * fs/affs.c (grub_affs_read_block): Change block type to
30453 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
30454
30455 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
30456
30457 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
30458
30459 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
30460
30461 * fs/udf.c (grub_udf_read_block): Change block type to
30462 grub_disk_addr_t. Use type cast to avoid warning.
30463
30464 * fs/xfs.c (grub_xfs_read_block): Likewise.
30465
30466 2008-05-16 Christian Franke <franke@computer.org>
30467
30468 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
30469 to ensure that break with ESC will always work.
30470 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
30471 Remove ESC from keyboard queue.
30472
30473 2008-05-16 Christian Franke <franke@computer.org>
30474
30475 * util/biosdisk.c: [__CYGWIN__] Add includes.
30476 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
30477 (get_os_disk): Move variable declarations to OS specific
30478 parts to avoid warning.
30479 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
30480 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
30481 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
30482 Cygwin.
30483 * util/getroot.c: [__CYGWIN__] Add includes.
30484 (strip_extra_slashes): Fix "/" case.
30485 [__CYGWIN__] (get_win32_path): New function.
30486 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
30487 [__CYGWIN__] (find_root_device): Disable.
30488 [__CYGWIN__] (get_bootsec_serial): New function.
30489 [__CYGWIN__] (find_cygwin_root_device): Likewise.
30490 [__linux__] (grub_guess_root_device): Add early returns to simplify
30491 structure.
30492 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
30493 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
30494 check for Linux only.
30495
30496 2008-05-15 Bean <bean123ch@gmail.com>
30497
30498 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
30499 keyboard hang problem in apple's intel mac.
30500
30501 2008-05-09 Robert Millan <rmh@aybabtu.com>
30502
30503 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
30504 devices.
30505 * util/grub-mkdevicemap.c (get_virtio_disk_name)
30506 (make_device_map): Likewise.
30507 Reported by Aurelien Jarno <aurel32@debian.org>
30508
30509 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
30510
30511 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
30512 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
30513 (make_device_map): Output entries for xvd type disks.
30514
30515 2008-05-07 Robert Millan <rmh@aybabtu.com>
30516
30517 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
30518 devices.
30519 * util/grub-mkdevicemap.c (get_cciss_disk_name)
30520 (make_device_map): Likewise.
30521 Reported by Roland Dreier <rdreier@cisco.com>
30522
30523 2008-05-07 Robert Millan <rmh@aybabtu.com>
30524
30525 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
30526 grub_strstr() call. Correct a few mistakes in failure path handling.
30527
30528 2008-05-06 Robert Millan <rmh@aybabtu.com>
30529
30530 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
30531 Do not print a trailing slash (therefore, the root directory is an
30532 empty string).
30533 (convert_system_path_to_grub_path): Do not remove trailing slash
30534 from make_system_path_relative_to_its_root() output.
30535
30536 * util/i386/pc/grub-install.in: Add trailing slash to output from
30537 make_system_path_relative_to_its_root().
30538
30539 2008-05-06 Robert Millan <rmh@aybabtu.com>
30540
30541 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
30542 ensures that output lines aren't intermangled with those sent to
30543 stderr (via grub_util_info()).
30544 * util/grub-probe.c (grub_refresh): Likewise.
30545 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
30546
30547 2008-05-05 Christian Franke <franke@computer.org>
30548
30549 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
30550 Add Cygwin device names.
30551 (get_ide_disk_name) [__CYGWIN__]: Likewise.
30552 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
30553 (check_device): Return error instead of success on empty name.
30554 (make_device_map): Move label inside linux specific code to
30555 prevent compiler warning.
30556
30557 2008-04-30 Robert Millan <rmh@aybabtu.com>
30558
30559 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
30560 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
30561 first boot option.
30562 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
30563
30564 2008-04-29 Robert Millan <rmh@aybabtu.com>
30565
30566 * docs/grub.cfg: New file (example GRUB configuration).
30567
30568 2008-04-26 Robert Millan <rmh@aybabtu.com>
30569
30570 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
30571 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
30572 and `disk/ieee1275/nand.c'.
30573
30574 2008-04-25 Bean <bean123ch@gmail.com>
30575
30576 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
30577 i386-linuxbios.
30578
30579 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
30580 change the buffer size to 4096 for cdrom device.
30581
30582 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
30583 and nand.mod.
30584 (_linux_mod_SOURCES): New variable.
30585 (_linux_mod_CFLAGS): Likewise.
30586 (_linux_mod_LDFLAGS): Likewise.
30587 (linux_mod_SOURCES): Likewise.
30588 (linux_mod_CFLAGS): Likewise.
30589 (linux_mod_LDFLAGS): Likewise.
30590 (nand_mod_SOURCES): Likewise.
30591 (nand_mod_CFLAGS): Likewise.
30592 (nand_mod_LDFLAGS): Likewise.
30593
30594 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
30595 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
30596 type property. (nand device in olpc don't have this property)
30597
30598 * include/grub/disk.h (grub_disk_dev_id): New macro
30599 GRUB_DISK_DEVICE_NAND_ID.
30600
30601 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
30602 function prototype.
30603 (grub_rescue_cmd_initrd): Likewise.
30604
30605 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
30606 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
30607 ofw_cif_handler and ofw_idt, adjust padding number.
30608
30609 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
30610 GRUB_MACHINE_IEEE1275 is defined.
30611
30612 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
30613 Use NESTED_FUNC_ATTR attribute on the hook parameter.
30614
30615 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
30616 on nested function heap_init.
30617 (grub_upper_mem): New variable for i386-ieee1275.
30618 (grub_get_extended_memory): New function for i386-ieee1275.
30619 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
30620
30621 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
30622 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
30623 property.
30624
30625 * loader/i386/ieee1275/linux.c: New file.
30626
30627 * loader/i386/ieee1275/linux_normal.c: New file.
30628
30629 * disk/ieee1275/nand.c: New file.
30630
30631 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
30632
30633 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
30634 value.
30635 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
30636
30637 2008-04-18 Robert Millan <rmh@aybabtu.com>
30638
30639 Restructures early code path on ieee1275 to unify grub_main() as
30640 the first C function that is executed in every platform.
30641
30642 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
30643 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
30644 cmain().
30645 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
30646 * kern/ieee1275/cmain.c (cmain): Rename to ...
30647 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
30648 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
30649 at the beginning.
30650
30651 2008-04-18 Robert Millan <rmh@aybabtu.com>
30652
30653 * util/update-grub.in: Fix syntax error when setting
30654 `GRUB_PRELOAD_MODULES'.
30655 Reported by Stephane Chazelas <stephane@artesyncp.com>
30656
30657 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
30658
30659 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
30660 section into account, newer toolchains generate unique build ids
30661 * configure.ac: remove the test for --build-id=none acceptance,
30662 we want build ids to be preserved
30663 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
30664 far from other sections don't cause the raw binary images grow
30665 size
30666
30667 2008-04-15 Robert Millan <rmh@aybabtu.com>
30668
30669 * disk/lvm.c: Update copyright year.
30670 * kern/misc.c: Likewise.
30671
30672 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30673
30674 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
30675 there is no memory left for physical volume name.
30676
30677 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30678
30679 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
30680 volume name mapping to support bigger than 9 character names properly.
30681
30682 2008-04-13 Robert Millan <rmh@aybabtu.com>
30683
30684 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
30685 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
30686
30687 2008-04-13 Christian Franke <franke@computer.org>
30688
30689 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
30690 to create a floppy emulation boot CD when non emulation mode
30691 does not work.
30692 Enable Joliet CD filesystem extension.
30693
30694 2008-04-13 Robert Millan <rmh@aybabtu.com>
30695
30696 * kern/misc.c (grub_strncat): Fix off-by-one error.
30697 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
30698
30699 * kern/env.c (grub_env_context_close): Clear current context, not
30700 previous one.
30701 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
30702
30703 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
30704
30705 2008-04-13 Robert Millan <rmh@aybabtu.com>
30706
30707 Improve robustness when handling LVM.
30708
30709 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
30710 (and leave `*p' unmodified).
30711 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
30712 through it.
30713 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
30714 iterating through it.
30715 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
30716 through it.
30717 (grub_lvm_scan_device): Check the return value (and fail gracefully
30718 when due) on each grub_lvm_getvalue() or grub_strstr() call.
30719 Don't assume `vg->pvs != NULL' when iterating through it.
30720
30721 2008-04-13 Robert Millan <rmh@aybabtu.com>
30722
30723 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
30724 * genmk.rb (partmap): New variable.
30725 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
30726 (#{partmap}): New target rule.
30727 * genpartmaplist.sh: New file.
30728 * Makefile.in (pkglib_DATA): Add partmap.lst.
30729 (partmap.lst): New target rule.
30730 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
30731 modules (including all partition maps), instead of preloading them.
30732
30733 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
30734
30735 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
30736 `linux-boot-prober' (if installed) to detect other operating
30737 systems which are installed on the computer and add them to
30738 the boot menu.
30739 * conf/common.rmk: Build and install 30_os-prober.
30740
30741 2008-04-12 Robert Millan <rmh@aybabtu.com>
30742
30743 * kern/powerpc/ieee1275/init.c: Move from here ...
30744 * kern/ieee1275/init.c: ... to here. Update all users.
30745
30746 * kern/powerpc/ieee1275/cmain.c: Move from here ...
30747 * kern/ieee1275/cmain.c: ... to here. Update all users.
30748
30749 * kern/powerpc/ieee1275/openfw.c: Move from here ...
30750 * kern/ieee1275/openfw.c: ... to here. Update all users.
30751
30752 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
30753 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
30754
30755 2008-04-10 Pavel Roskin <proski@gnu.org>
30756
30757 * configure.ac: Always use "_cv_" in cache variables for
30758 compatibility with Autoconf 2.62.
30759
30760 2008-04-07 Robert Millan <rmh@aybabtu.com>
30761
30762 Revert grub/machine/init.h addition by Pavel (since it breaks on
30763 i386-ieee1275 and others):
30764 * util/i386/pc/misc.c: Remove grub/machine/init.h.
30765 * util/powerpc/ieee1275/misc.c: Likewise.
30766
30767 2008-04-07 Robert Millan <rmh@aybabtu.com>
30768
30769 * util/grub-probe.c (probe): Improve error message.
30770
30771 2008-04-07 Robert Millan <rmh@aybabtu.com>
30772
30773 * util/biosdisk.c (read_device_map): Skip devices that don't exist
30774 (this prevents the presence of a bogus entry from ruining the whole
30775 thing).
30776
30777 2008-04-06 Pavel Roskin <proski@gnu.org>
30778
30779 * util/biosdisk.c: Include grub/util/biosdisk.h.
30780 * util/grub-fstest.c (execute_command): Make static.
30781 * util/grub-mkdevicemap.c (check_device): Likewise.
30782 * util/i386/pc/misc.c: Include grub/machine/init.h.
30783 * util/powerpc/ieee1275/misc.c: Likewise.
30784 * util/lvm.c: Include grub/util/lvm.h.
30785 * util/misc.c: Include grub/kernel.h, grub/misc.h and
30786 grub/cache.h.
30787 * util/raid.c: Include grub/util/raid.h.
30788 (grub_util_getdiskname): Make static.
30789
30790 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
30791 grub_hostfs_fini(), as they are called from grub_init_all() and
30792 grub_fini_all() respectively. This fixes an infinite loop in
30793 grub-fstest due to double registration of hostfs.
30794 Reported by Christian Franke <Christian.Franke@t-online.de>
30795
30796 2008-04-05 Pavel Roskin <proski@gnu.org>
30797
30798 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
30799 all 8 functions. Otherwise, probe function 0 only.
30800
30801 2008-04-04 Pavel Roskin <proski@gnu.org>
30802
30803 * commands/lspci.c (grub_lspci_iter): Print the bus number
30804 correctly.
30805
30806 * commands/lspci.c (grub_pci_classes): Fix typos.
30807 (grub_lspci_iter): Don't print func twice. Print vendor ID
30808 before device ID, as it's normally done.
30809
30810 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
30811 Fix signedness warnings.
30812 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
30813 Likewise.
30814 * util/ieee1275/get_disk_name.c: Include config.h so that
30815 _GNU_SOURCE is defined and getline() is declared. Mark an
30816 unused argument as such. Fix a signedness warning.
30817
30818 2008-04-02 Pavel Roskin <proski@gnu.org>
30819
30820 * genkernsyms.sh.in: Use more robust assignments for CC and
30821 srcdir. Quote srcdir.
30822 * gensymlist.sh.in: Likewise. Assert at the compile time that
30823 the symbol table is not empty.
30824
30825 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
30826 * fs/cpio.c (grub_cpio_read): Likewise.
30827
30828 2008-04-01 Pavel Roskin <proski@gnu.org>
30829
30830 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
30831 * disk/host.c (grub_host_open): Likewise.
30832 * disk/loopback.c (grub_loopback_open): Likewise.
30833 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
30834 disk->id as in disk/host.c, not a multi-character constant.
30835
30836 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
30837 later is obsolete, potentially dangerous and sets a bad example.
30838 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
30839 * util/misc.c (grub_util_get_image_size): Likewise.
30840
30841 * disk/loopback.c (options): Improve help for "--partitions".
30842
30843 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
30844 options to align them with the short options, e.g. "echo -e".
30845
30846 2008-03-31 Bean <bean123ch@gmail.com>
30847
30848 * video/reader/png.c (grub_png_data): New member is_16bit and
30849 image_data.
30850 (grub_png_decode_image_header): Detect 16 bit png image.
30851 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
30852 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
30853 (grub_video_reader_png): Release memory occupied by image_data.
30854
30855 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
30856 4096 bytes.
30857 (grub_nfs_mount): Skip the test for sector per cluster.
30858
30859 * include/grub/ntfs.h (MAX_SPC): Removed.
30860
30861 2008-03-31 Bean <bean123ch@gmail.com>
30862
30863 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
30864 (grub_probe_SOURCES): Add fs/afs.c.
30865 (grub_fstest_SOURCES): Likewise.
30866 (afs_mod_SOURCES): New variable.
30867 (afs_mod_CFLAGS): Likewise.
30868 (afs_mod_LDFLAGS): Likewise.
30869
30870 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
30871 (grub_emu_SOURCES): Likewise.
30872
30873 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30874
30875 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30876
30877 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30878
30879 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30880
30881 * fs/afs.c: New file.
30882
30883 2008-03-30 Pavel Roskin <proski@gnu.org>
30884
30885 * disk/host.c: Include grub/misc.h to fix a warning.
30886 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
30887 warnings about implicit declarations.
30888
30889 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
30890 variable.
30891 * include/grub/i386/loader.h: Change declaration of
30892 grub_linux_boot() to match what grub_loader_set() expects.
30893 * util/getroot.c (grub_guess_root_device): Return const char* to
30894 fix a warning.
30895 * util/grub-probe.c (probe): Fix a warning about uninitialized
30896 abstraction_name variable.
30897 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
30898 second argument as unused to fix a warning.
30899
30900 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
30901 missing grub_error() call.
30902
30903 * util/update-grub_lib.in: Define datarootdir, since Autoconf
30904 2.60 and newer uses it to define datadir.
30905
30906 * commands/sleep.c: Fix warning about implicit declaration.
30907 * disk/memdisk.c: Likewise.
30908 * loader/aout.c: Likewise.
30909 * loader/i386/bsd_normal.c: Likewise.
30910 * util/grub-probe.c: Likewise.
30911
30912 * commands/i386/cpuid.c (has_longmode): Make static.
30913 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
30914 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
30915
30916 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
30917 GDT. This is more robust, as %ds can change.
30918 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
30919 calling real_to_prot().
30920 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
30921
30922 2008-03-28 Pavel Roskin <proski@gnu.org>
30923
30924 * kern/i386/pc/startup.S: Assert that uncompressed functions
30925 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
30926 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
30927 code, as they push parts of the code (error handlers) beyond
30928 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
30929 code as correctness and size.
30930
30931 2008-03-28 Pavel Roskin <proski@gnu.org>
30932
30933 * kern/i386/pc/startup.S
30934 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
30935 data block address to the real mode, keep offset minimal. This
30936 works around a bug in AWARD BIOS on old Athlon systems, which
30937 makes CD detection hang.
30938
30939 2008-03-26 Pavel Roskin <proski@gnu.org>
30940
30941 * normal/color.c (grub_parse_color_name_pair): Make `name' a
30942 const.
30943 * include/grub/normal.h: Add grub_parse_color_name_pair()
30944 declaration.
30945
30946 2008-03-24 Bean <bean123ch@gmail.com>
30947
30948 * disk/i386/pc/biosdisk.c (cd_start): Removed.
30949 (cd_count): Removed.
30950 (cd_drive): New variable.
30951 (grub_biosdisk_get_drive): Don't check for (cdN) device.
30952 (grub_biosdisk_call_hook): Likewise.
30953 (grub_biosdisk_iterate): Change cdrom detection method.
30954 (grub_biosdisk_open): Replace cd_start with cd_drive.
30955 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
30956 detect cdrom device.
30957
30958 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
30959 Removed.
30960 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
30961 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
30962 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
30963 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
30964 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
30965 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
30966 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
30967 (grub_biosdisk_cdrp): New structure.
30968 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
30969
30970 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
30971
30972 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
30973 device.
30974
30975 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
30976 New function.
30977
30978 2008-03-20 Robert Millan <rmh@aybabtu.com>
30979
30980 Remove 2 TiB limit in ata.mod.
30981 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
30982 (grub_ata_dumpinfo): Print sector count with 0x%llx.
30983 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
30984 grub_uint64_t instead of grub_uint32_t.
30985
30986 2008-03-05 Bean <bean123ch@gmail.com>
30987
30988 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
30989 (grub_multiboot): Set boot device.
30990
30991 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
30992
30993 2008-03-02 Bean <bean123ch@gmail.com>
30994
30995 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
30996 symlink_buffer.
30997
30998 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
30999
31000 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
31001 texinfo.tex.
31002
31003 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
31004 modified.
31005
31006 * docs/fdl.texi: New file.
31007
31008 * docs/mdate-sh: New file. Copied from gnulib.
31009 * docs/texinfo.tex: Likewise.
31010
31011 * config.guess: Updated from gnulib.
31012 * install-sh: Likewise.
31013
31014 2008-02-28 Robert Millan <rmh@aybabtu.com>
31015
31016 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
31017 (aout_mod_SOURCES): New variable.
31018 (aout_mod_CFLAGS): Likewise.
31019 (aout_mod_LDFLAGS): Likewise.
31020
31021 * conf/i386-ieee1275.rmk: Likewise.
31022
31023 2008-02-28 Robert Millan <rmh@aybabtu.com>
31024
31025 * util/update-grub.in: Reorganise terminal validity check. Accept
31026 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
31027 Based on suggestion by Franklin PIAT.
31028
31029 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
31030
31031 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
31032 function.
31033 * util/getroot.c (grub_util_check_block_device): New function that
31034 returns the given argument if it is a block device and returns NULL else.
31035 * util/grub-probe.c (argument_is_device): New variable.
31036 (probe): Promote device_name from a variable to an argument. Receive
31037 device_name from grub_util_check_block_device() if path is NULL and from
31038 grub_guess_root_device() else. Do not free() device_name anymore.
31039 (options): Introduce new parameter '-d, --device'.
31040 (main): Add description of the new parameter to the help screen.
31041 Rename path variable to argument. Set argument_is_device if the '-d'
31042 option is given. Pass argument to probe() depending on
31043 argument_is_device.
31044
31045 2008-02-24 Bean <bean123ch@gmail.com>
31046
31047 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
31048 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
31049 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
31050 (GRUB_ISO9660_VOLDESC_PART): Likewise.
31051 (GRUB_ISO9660_VOLDESC_END): Likewise.
31052 (grub_iso9660_primary_voldesc): New member escape.
31053 (grub_iso9660_data): New member joliet.
31054 (grub_iso9660_convert_string): New function.
31055 (grub_iso9660_mount): Detect joliet extension.
31056 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
31057 (grub_iso9660_iso9660_label): Likewise.
31058
31059 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
31060 (grub_setup_SOURCES): Add fs/udf.c.
31061 (grub_fstest_SOURCES): Likewise.
31062 (udf_mod_SOURCES): New variable.
31063 (udf_mod_CFLAGS): Likewise.
31064 (udf_mod_LDFLAGS): Likewise.
31065
31066 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
31067 (grub_emu_SOURCES): Likewise.
31068
31069 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31070
31071 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31072
31073 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31074
31075 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31076
31077 * fs/udf.c: New file.
31078
31079 2008-02-24 Robert Millan <rmh@aybabtu.com>
31080
31081 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
31082 (normal/lexer.c_DEPENDENCIES): New variables.
31083 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
31084 (normal/lexer.c_DEPENDENCIES): Likewise.
31085 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
31086 (normal/lexer.c_DEPENDENCIES): Likewise.
31087 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
31088 (normal/lexer.c_DEPENDENCIES): Likewise.
31089 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
31090 (normal/lexer.c_DEPENDENCIES): Likewise.
31091 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
31092 (normal/lexer.c_DEPENDENCIES): Likewise.
31093
31094 2008-02-23 Robert Millan <rmh@aybabtu.com>
31095
31096 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
31097 since they were intended to be in hex. This didn't break previously
31098 because of a bug in gpt_partition_map_iterate() (see below).
31099
31100 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
31101 when checking the validity of GPT header.
31102 Remove `partno', since it always provides the same information as `i'.
31103
31104 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
31105
31106 * include/grub/efi/time.h: Fix a wrong comment.
31107
31108 2008-02-19 Pavel Roskin <proski@gnu.org>
31109
31110 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
31111 message.
31112
31113 2008-02-19 Bean <bean123ch@gmail.com>
31114
31115 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
31116 (aout_mod_SOURCES): New variable.
31117 (aout_mod_CFLAGS): Likewise.
31118 (aout_mod_LDFLAGS): Likewise.
31119 (_bsd_mod_SOURCES): New variable.
31120 (_bsd_mod_CFLAGS): Likewise.
31121 (_bsd_mod_LDFLAGS): Likewise.
31122 (bsd_mod_SOURCES): New variable.
31123 (bsd_mod_CFLAGS): Likewise.
31124 (bsd_mod_LDFLAGS): Likewise.
31125
31126 * include/grub/aout.h: New file.
31127
31128 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
31129
31130 * include/grub/i386/bsd.h: New file.
31131
31132 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
31133 to make it public.
31134
31135 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
31136 function is called, so that it's possible to change it inside the hook.
31137 (grub_elf64_load): Likewise.
31138 (grub_elf_file): Don't close the file if elf header is not found.
31139 (grub_elf_close): Close the file if grub_elf_file fails (The new
31140 grub_elf_file won't close it).
31141 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
31142 (grub_elf64_size): Likewise.
31143
31144 * kern/i386/loader.S (grub_unix_real_boot): New function.
31145
31146 * loader/aout.c: New file.
31147
31148 * loader/i386/bsd.c: New file.
31149
31150 * loader/i386/bsd_normal.c: New file.
31151
31152 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
31153
31154 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
31155 can test other formats.
31156
31157 2008-02-19 Robert Millan <rmh@aybabtu.com>
31158
31159 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
31160 (grub_gpt_partition_type_empty): Redefine with macro from
31161 `<grub/gpt_partition.h>'.
31162 (gpt_partition_map_iterate): Adjust partition type comparison.
31163
31164 Export `entry' as partmap-specific `part.data' struct.
31165 (grub_gpt_header, grub_gpt_partentry): Move from here ...
31166
31167 * include/grub/gpt_partition.h (grub_gpt_header)
31168 (grub_gpt_partentry): ... to here (new file).
31169
31170 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
31171
31172 (grub_gpt_partition_type_bios_boot): New const variable, defined
31173 with macro from `<grub/gpt_partition.h>'.
31174
31175 (setup): Replace `first_start' with `embed_region', which keeps
31176 track of the embed region (and is partmap-agnostic).
31177
31178 Replace find_first_partition_start() with find_usable_region(),
31179 which finds a usable region for embedding using partmap-specific
31180 knowledge (supports PC/MSDOS and GPT).
31181
31182 Fix all assumptions that the embed region start at sector 1, using
31183 `embed_region.start' from now on. Similarly, use `embed_region.end'
31184 rather than `first_start' to calculate available size.
31185
31186 In grub_util_info() message, replace "into after the MBR" with an
31187 indication of the specific sector our embed region starts at.
31188
31189 2008-02-19 Robert Millan <rmh@aybabtu.com>
31190
31191 * DISTLIST: Replace `commands/ieee1275/halt.c' and
31192 `commands/ieee1275/reboot.c' with `commands/halt.c' and
31193 `commands/reboot.c'.
31194 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
31195 (halt_mod_SOURCES): Likewise.
31196 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
31197 (halt_mod_SOURCES): Likewise.
31198
31199 2008-02-17 Christian Franke <franke@computer.org>
31200
31201 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
31202
31203 2008-02-17 Robert Millan <rmh@aybabtu.com>
31204
31205 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
31206 set `first_start' to 0 for non-PC/MSDOS partition maps.
31207
31208 2008-02-16 Robert Millan <rmh@aybabtu.com>
31209
31210 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
31211 do not assume partition map is PC/MSDOS before performing checks that
31212 are specific to that layout.
31213
31214 2008-02-13 Robert Millan <rmh@aybabtu.com>
31215
31216 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
31217 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
31218 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
31219
31220 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
31221
31222 * configure.ac: Only a cosmetic change on the handling of
31223 -fno-stack-protector.
31224
31225 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
31226
31227 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
31228 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
31229 reboot.c.
31230 (grub_install_SOURCES): Add halt.mod and reboot.mod.
31231 (halt_mod_SOURCES): New variable.
31232 (halt_mod_CFLAGS): Likewise.
31233 (halt_mod_LDFLAGS): Likewise.
31234 (reboot_mod_SOURCES): Likewise.
31235 (reboot_mod_CFLAGS): Likewise.
31236 (reboot_mod_LDFLAGS): Likewise.
31237
31238 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
31239 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
31240 reboot.c.
31241 (halt_mod_SOURCES): Likewise.
31242 (reboot_mod_SOURCES): Likewise.
31243
31244 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
31245 commands/i386/pc/reboot.c by commands/reboot.c.
31246 (reboot_mod_SOURCES): Likewise.
31247
31248 * commands/i386/pc/reboot.c: merge this file ...
31249
31250 * commands/ieee1275/reboot.c: ... and this file ...
31251
31252 * commands/reboot.c: ... to this file.
31253 Add some precompiler directive to include the correct header for
31254 each machine.
31255
31256 * commands/ieee1275/halt.c: move this file ...
31257
31258 * commands/halt.c: ... to here.
31259 Add some precompiler directive to include the correct header for
31260 each machine.
31261
31262 * include/grub/efi/efi.h (grub_reboot): New function declaration.
31263 (grub_halt): Likewise.
31264
31265 * kern/efi/efi.c (grub_reboot): New function.
31266 (grub_halt): Likewise.
31267
31268 2008-02-12 Robert Millan <rmh@aybabtu.com>
31269
31270 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
31271 /dev (like it is done for /dev/mapper). This doesn't provide support
31272 for EVMS, but at least it is now easy to identify the problem when it
31273 arises.
31274
31275 2008-02-11 Robert Millan <rmh@aybabtu.com>
31276
31277 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
31278 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
31279 comparing it with -1, not 0.
31280
31281 2008-02-10 Robert Millan <rmh@aybabtu.com>
31282
31283 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
31284 `disk/lvm.c'.
31285 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31286 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
31287
31288 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
31289 `disk/lvm.c' to the end of the list.
31290 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31291 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31292
31293 2008-02-10 Robert Millan <rmh@aybabtu.com>
31294
31295 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
31296 grub_print_error() instead. This will let user know why we're entering
31297 rescue mode.
31298 Based on suggestions from Sam Morris.
31299
31300 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
31301
31302 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
31303 on remaining N args, instead of "--" arg N times.
31304
31305 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
31306
31307 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
31308 (fill_with_default_glyph): Changed to use unknown_glyph for fill
31309 pattern for unknown glyphs.
31310
31311 2008-02-09 Robert Millan <rmh@aybabtu.com>
31312
31313 * configure.ac: Probe for `help2man'.
31314 * Makefile.in (builddir): New variable.
31315 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
31316 or otherwise add a few flags/options to it.
31317 (install-local): For every executable utility or script that is
31318 installed, invoke $(HELP2MAN) to install a manpage based on --help
31319 output.
31320
31321 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
31322 that it doesn't prevent --help from working in build tree.
31323
31324 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
31325 with `bug-grub@gnu.org'.
31326 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
31327 * util/update-grub.in (usage): New function.
31328 Implement proper argument check, with support for --help and --version
31329 (as well as existing -y).
31330
31331 2008-02-09 Christian Franke <franke@computer.org>
31332
31333 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
31334 avoid overwriting previous output.
31335 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
31336
31337 2008-02-09 Robert Millan <rmh@aybabtu.com>
31338
31339 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
31340 drawing the menu.
31341
31342 2008-02-09 Robert Millan <rmh@aybabtu.com>
31343
31344 * commands/sleep.c: New file.
31345 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
31346 (sleep_mod_SOURCES): New variable.
31347 (sleep_mod_CFLAGS): Likewise.
31348 (sleep_mod_LDFLAGS): Likewise.
31349
31350 2008-02-09 Robert Millan <rmh@aybabtu.com>
31351
31352 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
31353 situations in which we can deduce the RAID size and the superblock
31354 doesn't match it.
31355
31356 2008-02-09 Robert Millan <rmh@aybabtu.com>
31357
31358 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
31359 and return a grub_diskmemberlist_t composed of LVM physical volumes.
31360 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
31361
31362 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
31363 and return a grub_diskmemberlist_t composed of physical array members.
31364 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
31365
31366 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
31367 prototype.
31368 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
31369 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
31370 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
31371
31372 * util/grub-probe.c (probe): Move partmap probing code from here ...
31373 (probe_partmap): ... to here.
31374 (probe): Use probe_partmap() once for the disk we're probing, and
31375 additionally, when such disk contains a memberlist() struct member,
31376 once for each disk that is contained in the structure returned by
31377 memberlist().
31378
31379 2008-02-09 Robert Millan <rmh@aybabtu.com>
31380
31381 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
31382 environment variable to 'all' in order to obtain debug output from
31383 non-util/ code.
31384 * util/i386/pc/grub-setup.c (main): Likewise.
31385
31386 2008-02-08 Robert Millan <rmh@aybabtu.com>
31387
31388 * disk/raid.c (grub_raid_scan_device): Check for
31389 `array->device[sb.this_disk.number]' rather than for
31390 `array->device[sb.this_disk.number]->name', since the latter is not
31391 guaranteed to be accessible.
31392
31393 2008-02-08 Robert Millan <rmh@aybabtu.com>
31394
31395 * disk/raid.c: Update copyright.
31396 * fs/cpio.c: Likewise.
31397 * include/grub/raid.h: Likewise.
31398 * loader/i386/pc/multiboot.c: Likewise.
31399 * util/hostfs.c: Likewise.
31400
31401 2008-02-08 Robert Millan <rmh@aybabtu.com>
31402
31403 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
31404 to a grub_disk_t array.
31405 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
31406 `device[x]'.
31407 (grub_raid_scan_device): Replace `device[x].name' accesses with
31408 `device[x]->name'. Simplify initialization of `array->device[x]'.
31409
31410 2008-02-08 Robert Millan <rmh@aybabtu.com>
31411
31412 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
31413 grub_dprintf() calls.
31414 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
31415 error message.
31416
31417 2008-02-07 Christian Franke <franke@computer.org>
31418
31419 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
31420 instead of fseek and ftell to support large files.
31421 (grub_hostfs_read): Likewise.
31422
31423 2008-02-07 Robert Millan <rmh@aybabtu.com>
31424
31425 Patch from Jeroen Dekkers.
31426 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
31427 failure, since successfully reading all array members might not be
31428 required.
31429
31430 2008-02-06 Robert Millan <rmh@aybabtu.com>
31431
31432 * util/grub-probe.c (probe): Simplify partmap probing (with the
31433 assumption that the first word up to the underscore equals to
31434 the module name).
31435
31436 2008-02-06 Christian Franke <franke@computer.org>
31437
31438 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
31439 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
31440 last block of a cpio or tar stream.
31441 Check for "TRAILER!!!" instead of any empty data
31442 block to detect last block of a cpio stream.
31443 (grub_cpio_dir): Fix constness of variable np.
31444 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
31445 cpio or tar trailer is detected. This fixes a crash
31446 on open of a non existing file.
31447
31448 2008-02-05 Bean <bean123ch@gmail.com>
31449
31450 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
31451 address of entry.
31452 (grub_multiboot_load_elf64): Likewise.
31453 (grub_multiboot): Initialize mbi structure.
31454
31455 * util/grub-fstest.c: Don't include unused header file script.h.
31456
31457 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
31458 of file.
31459 (grub_fstest_SOURCES): Likewise.
31460
31461 2008-02-05 Robert Millan <rmh@aybabtu.com>
31462
31463 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
31464 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
31465 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
31466 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
31467
31468 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
31469 (translation_table): Replace hardcoded values with macros
31470 provided by `<grub/term.h>'.
31471
31472 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
31473 (keyboard_map): Correct/add a few values, with macros provided
31474 by `<grub/term.h>'.
31475 (keyboard_map_shift): Zero values that don't differ from their
31476 `keyboard_map' equivalents.
31477 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
31478 Discard the second scan code that is always sent by Caps lock.
31479 Only use `keyboard_map_shift' when it provides a non-zero value,
31480 otherwise fallback to `keyboard_map'.
31481
31482 2008-02-04 Bean <bean123ch@gmail.com>
31483
31484 * Makefile.in (enable_grub_fstest): New variable.
31485
31486 * conf/common.rmk (grub_fstest_init.lst): New rule.
31487 (grub_fstest_init.h): Likewise.
31488 (grub_fstest_init.c): Likewise.
31489 (util/grub-fstest.c_DEPENDENCIES): New variable.
31490 (grub_fstest_SOURCES): Likewise.
31491
31492 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
31493
31494 * util/grub-fstest.c: New file.
31495
31496 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31497
31498 Make grub-setup handle a separate root device.
31499
31500 * util/i386/pc/grub-setup.c (setup): Always open the root device,
31501 so that the root device can be compared with the destination
31502 device.
31503 When embedding the core image, if the root and destination devices
31504 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
31505 0xFF.
31506 When not embedding, set ROOT_DRIVE to 0xFF.
31507
31508 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31509
31510 Add support for having a grub directory in a different drive. This
31511 is still only the data handling part.
31512
31513 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
31514 (codestart): Save %dh in GRUB_ROOT_DRIVE.
31515 (grub_root_drive): New variable.
31516
31517 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
31518 instead of GRUB_BOOT_DRIVE to construct a device name. Set
31519 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
31520 as it was.
31521
31522 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
31523
31524 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
31525 macro.
31526 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
31527
31528 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
31529 is bogus, because PXE booting does not specify any drive
31530 correctly.
31531
31532 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
31533 am not sure if this is really correct.
31534
31535 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
31536 is always identical to the boot drive when booting from a CD.
31537
31538 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
31539 longer.
31540 (root_drive): New variable.
31541 (real_start): Unconditionally set %dh to ROOT_DRIVE.
31542 (setup_sectors): Push %dx right after popping it, because %dh will
31543 be modified later.
31544 (copy_buffer): Restore %dx.
31545
31546 2008-02-03 Robert Millan <rmh@aybabtu.com>
31547
31548 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
31549 use `cdboot.img' for cdrom images.
31550
31551 2008-02-03 Robert Millan <rmh@aybabtu.com>
31552
31553 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
31554 only setup gfxterm when `font' command has succeeded.
31555
31556 2008-02-03 Robert Millan <rmh@aybabtu.com>
31557
31558 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
31559 (grub_rescue_cmd_multiboot_loader)
31560 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
31561
31562 2008-02-03 Pavel Roskin <proski@gnu.org>
31563
31564 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
31565 %edx and %esi from stack only after grub_gate_a20() is called.
31566 grub_gate_a20() clobbers %edx.
31567
31568 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31569
31570 * configure.ac (AC_INIT): Bumped to 1.96.
31571
31572 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
31573 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
31574 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
31575 video/readers/png.c.
31576
31577 2008-02-03 Bean <bean123ch@gmail.com>
31578
31579 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
31580 (cdboot_img_SOURCES): New variable.
31581 (cdboot_img_ASFLAGS): New variable.
31582 (cdboot_img_LDFLAGS): New variable.
31583
31584 * boot/i386/pc/cdboot.S: New file.
31585
31586 * disk/i386/pc/biosdisk.c (cd_start): New variable.
31587 (cd_count): Likewise.
31588 (grub_biosdisk_get_drive): Add support for cd device.
31589 (grub_biosdisk_call_hook): Likewise.
31590 (grub_biosdisk_iterate): Likewise.
31591 (grub_biosdisk_open): Likewise.
31592 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
31593 (grub_biosdisk_rw): Support reading from cd device.
31594 (GRUB_MOD_INIT): Iterate cd devices.
31595
31596 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
31597 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
31598 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
31599
31600 * kern/i386/pc/init.c (make_install_device): Check for cd device.
31601
31602 2008-02-02 Robert Millan <rmh@aybabtu.com>
31603
31604 * commands/read.c: New file.
31605 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
31606 (read_mod_SOURCES): New variable.
31607 (read_mod_CFLAGS): Likewise.
31608 (read_mod_LDFLAGS): Likewise.
31609
31610 2008-02-02 Robert Millan <rmh@aybabtu.com>
31611
31612 * normal/main.c (grub_normal_execute): Check for `menu->size' when
31613 determining whether menu has to be displayed.
31614
31615 2008-02-02 Marco Gerards <marco@gnu.org>
31616
31617 * bus/pci.c: New file.
31618
31619 * include/grub/pci.h: Likewise.
31620
31621 * include/grub/i386/pc/pci.h: Likewise.
31622
31623 * commands/lspci.c: Likewise.
31624
31625 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
31626 `lspci.mod'.
31627 (pci_mod_SOURCES): New variable.
31628 (pci_mod_CFLAGS): Likewise.
31629 (pci_mod_LDFLAGS): Likewise.
31630 (lspci_mod_SOURCES): Likewise.
31631 (lspci_mod_CFLAGS): Likewise.
31632 (lspci_mod_LDFLAGS): Likewise.
31633
31634 2008-02-02 Bean <bean123ch@gmail.com>
31635
31636 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
31637 (grub_ufs_get_file_block): Fix indirect block calculation problem.
31638
31639 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
31640 (grub_xfs_btree_node): New structure.
31641 (grub_xfs_btree_root): New structure.
31642 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
31643 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
31644 (GRUB_XFS_EXTENT_BLOCK): Likewise.
31645 (GRUB_XFS_EXTENT_SIZE): Likewise.
31646 (grub_xfs_read_block): Support btree format type.
31647 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
31648 Use directory block as basic unit.
31649
31650 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
31651
31652 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
31653 __attribute__ ((__regparm__ (1))).
31654
31655 2008-02-01 Robert Millan <rmh@aybabtu.com>
31656
31657 Correct a mistake in previous commit.
31658
31659 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
31660 top.
31661 (normal/command.c_DEPENDENCIES): New variable.
31662
31663 2008-02-01 Robert Millan <rmh@aybabtu.com>
31664
31665 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
31666 top.
31667 (normal/command.c_DEPENDENCIES): New variable.
31668 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
31669 * conf/i386-ieee1275.rmk: Likewise.
31670 * conf/i386-linuxbios.rmk: Likewise.
31671 * conf/i386-pc.rmk: Likewise.
31672 * conf/sparc64-ieee1275.rmk: Likewise.
31673 * conf/powerpc-ieee1275.rmk: Likewise.
31674 (grub_emu_SOURCES): Add `fs/fshelp.c'.
31675
31676 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
31677
31678 2008-02-01 Robert Millan <rmh@aybabtu.com>
31679
31680 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
31681 call at beginning of function.
31682
31683 2008-01-31 Pavel Roskin <proski@gnu.org>
31684
31685 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
31686 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
31687 (grub_mkrescue_SOURCES): Likewise.
31688 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
31689
31690 2008-01-30 Robert Millan <rmh@aybabtu.com>
31691
31692 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
31693 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
31694 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
31695 (grub_probe_SOURCES): ... to here.
31696
31697 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
31698 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
31699 * conf/i386-ieee1275.rmk: Likewise.
31700 * conf/i386-linuxbios.rmk: Likewise.
31701 * conf/powerpc-ieee1275.rmk: Likewise.
31702
31703 2008-01-30 Tristan Gingold <gingold@free.fr>
31704
31705 * kern/rescue.c: Silently accept empty lines.
31706
31707 2008-01-29 Bean <bean123ch@gmail.com>
31708
31709 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
31710 (real_code_2): Code cleanup and change comment style.
31711 (move_memory): Avoid using 32-bit address mode.
31712
31713 2008-01-29 Bean <bean123ch@gmail.com>
31714
31715 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
31716 (png_mod_SOURCES): New variable.
31717 (png_mod_CFLAGS): Likewise.
31718 (png_mod_LDFLAGS): Likewise.
31719
31720 * video/readers/png.c: New file.
31721
31722 2008-01-28 Robert Millan <rmh@aybabtu.com>
31723
31724 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
31725 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
31726 `ifndef GRUB_MOD_GAP' hack.
31727 * util/elf/grub-mkimage.c (add_segments): Likewise.
31728
31729 2008-01-27 Robert Millan <rmh@aybabtu.com>
31730
31731 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
31732 `GRUB_MOD_GAP' for platforms in which it's not defined.
31733 * util/elf/grub-mkimage.c (add_segments): Likewise.
31734
31735 2008-01-27 Robert Millan <rmh@aybabtu.com>
31736
31737 Get grub-emu to build again (including parallel builds).
31738
31739 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
31740 Split into ...
31741 (util/grub-emu.c_DEPENDENCIES): ... this, ...
31742 (normal/execute.c_DEPENDENCIES): ... this, ...
31743 (grub-emu_DEPENDENCIES): ... and this.
31744
31745 * conf/i386-efi.rmk: Likewise.
31746 * conf/i386-linuxbios.rmk: Likewise.
31747 * conf/i386-ieee1275.rmk: Likewise.
31748 * conf/powerpc-ieee1275.rmk: Likewise.
31749 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
31750
31751 2008-01-27 Robert Millan <rmh@aybabtu.com>
31752
31753 * NEWS: Add a few items.
31754
31755 2008-01-27 Robert Millan <rmh@aybabtu.com>
31756
31757 Fix parallel builds with grub-emu. Based on earlier commit for
31758 grub-probe and grub-setup.
31759
31760 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31761 (util/grub-emu.c_DEPENDENCIES): ... this.
31762 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31763 (util/grub-emu.c_DEPENDENCIES): ... this.
31764 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31765 (util/grub-emu.c_DEPENDENCIES): ... this.
31766 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31767 (util/grub-emu.c_DEPENDENCIES): ... this.
31768 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31769 (util/grub-emu.c_DEPENDENCIES): ... this.
31770
31771 2008-01-27 Pavel Roskin <proski@gnu.org>
31772
31773 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
31774 to create a gap between _end and the modules added to the image
31775 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
31776 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
31777 * util/elf/grub-mkimage.c (add_segments): Likewise.
31778
31779 2008-01-26 Pavel Roskin <proski@gnu.org>
31780
31781 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
31782 just return an error.
31783
31784 2008-01-26 Bean <bean123ch@gmail.com>
31785
31786 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
31787 (grub_reiserfs_get_item): Save offset of the next item.
31788 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
31789
31790 2008-01-25 Robert Millan <rmh@aybabtu.com>
31791
31792 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
31793 make all filesystem sources appear together (possibly fixing omissions
31794 while at it).
31795 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31796 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31797 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31798 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31799
31800 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
31801 add `kern/file.c'.
31802 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
31803 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31804 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
31805 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31806
31807 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
31808 (probe): Add a sanity check to make sure of our ability to read
31809 requested files when probing for filesystem type.
31810
31811 * genmk.rb: Update copyright year (2007).
31812
31813 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
31814 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
31815 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
31816 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
31817 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
31818 : Remove function prototypes.
31819
31820 2008-01-25 Robert Millan <rmh@aybabtu.com>
31821
31822 Revert my previous commits (based on wrong assumption of how grub_errno
31823 works).
31824
31825 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
31826 * kern/file.c (grub_file_open): Likewise.
31827
31828 2008-01-24 Pavel Roskin <proski@gnu.org>
31829
31830 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
31831 that hang if GRUB tries to setup colors.
31832 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
31833 colors for firmwares that don't support it.
31834 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
31835 Recognize Open Hack'Ware, set flags to work around its
31836 limitations.
31837
31838 2008-01-24 Robert Millan <rmh@aybabtu.com>
31839
31840 * kern/file.c (grub_file_open): Do not account previous failures of
31841 unrelated functions when grub_errno is checked for.
31842 Reported by Oleg Strikov.
31843
31844 2008-01-24 Bean <bean123ch@gmail.com>
31845
31846 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
31847 (grub_ufs_sblock): New member volume name.
31848 (grub_ufs_find_file): Fix string copy bug.
31849 (grub_ufs_label): Implement this function properly.
31850
31851 * fs/hfs.c (grub_hfs_cnid_type): New enum.
31852 (grub_hfs_iterate_records): Use the correct file number for extents
31853 and catalog file. Fix problem in next index calculation.
31854 (grub_hfs_find_node): Replace recursive function call with loop.
31855 (grub_hfs_iterate_dir): Replace recursive function call with loop.
31856
31857 2008-01-23 Robert Millan <rmh@aybabtu.com>
31858
31859 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
31860 `<grub/symbol.h>' and `<grub/multiboot.h>'.
31861 (grub_multiboot2_real_boot): New function prototype.
31862
31863 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
31864 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
31865
31866 * kern/i386/ieee1275/init.c (grub_os_area_addr)
31867 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
31868
31869 2008-01-23 Robert Millan <rmh@aybabtu.com>
31870
31871 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
31872 #ifdef'ed out grub_printf().
31873
31874 2008-01-23 Robert Millan <rmh@aybabtu.com>
31875
31876 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
31877 grub_dprintf calls, since they make "debug=all" mode unusable.
31878 (grub_console_checkkey): Likewise.
31879
31880 2008-01-23 Robert Millan <rmh@aybabtu.com>
31881
31882 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
31883 `term/i386/pc/at_keyboard.c'.
31884 (pkglib_MODULES): Add `serial.mod'.
31885 (serial_mod_SOURCES): New variable.
31886 (serial_mod_CFLAGS): Likewise.
31887 (serial_mod_LDFLAGS): Likewise.
31888
31889 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
31890 `<grub/powerpc/ieee1275/console.h>'.
31891 (grub_keyboard_controller_init): New function prototype.
31892 (grub_console_checkkey): Likewise.
31893 (grub_console_getkey): Likewise.
31894
31895 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
31896 keyboard on i386.
31897
31898 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
31899 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
31900
31901 2008-01-23 Robert Millan <rmh@aybabtu.com>
31902
31903 * kern/i386/pc/init.c (make_install_device): When memdisk image is
31904 present, "(memdisk)/boot/grub" becomes the default prefix.
31905
31906 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
31907 a memdisk tarball with all the modules. Add --overlay=DIR option that
31908 allows users to overlay additional files into the image.
31909
31910 2008-01-23 Robert Millan <rmh@aybabtu.com>
31911
31912 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
31913 and `machine/memory.h'.
31914 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
31915 (_multiboot_mod_SOURCES): New variable.
31916 (_multiboot_mod_CFLAGS): Likewise.
31917 (_multiboot_mod_LDFLAGS): Likewise.
31918 (multiboot_mod_SOURCES): Likewise.
31919 (multiboot_mod_CFLAGS): Likewise.
31920 (multiboot_mod_LDFLAGS): Likewise.
31921
31922 * include/grub/i386/ieee1275/loader.h: New file.
31923
31924 * include/grub/i386/ieee1275/machine.h: Likewise.
31925
31926 * include/grub/i386/ieee1275/memory.h: Likewise.
31927
31928 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
31929 variable declaration.
31930 (grub_os_area_size): Likewise.
31931
31932 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
31933 (grub_lower_mem, grub_upper_mem): New variables.
31934 (grub_stop_floppy): New function (just to make
31935 grub_multiboot2_real_boot() happy).
31936
31937 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
31938 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
31939 (grub_stop): New function.
31940 Include `"../realmode.S"' and `"../loader.S"'.
31941
31942 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
31943 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
31944
31945 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
31946 rely on grub_multiboot2_real_boot() for final boot.
31947
31948 2008-01-22 Robert Millan <rmh@aybabtu.com>
31949
31950 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
31951 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
31952 device that doesn't look like an SD card.
31953 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
31954 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
31955 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
31956 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
31957 found.
31958
31959 2008-01-22 Robert Millan <rmh@aybabtu.com>
31960
31961 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
31962 avoid claiming over our own code.
31963
31964 2008-01-22 Bean <bean123ch@gmail.com>
31965
31966 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
31967 (jpeg_mod_SOURCES): New variable.
31968 (jpeg_mod_CFLAGS): Likewise.
31969 (jpeg_mod_LDFLAGS): Likewise.
31970
31971 * video/readers/jpeg.c : New file.
31972
31973 2008-01-22 Bean <bean123ch@gmail.com>
31974
31975 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
31976 there are no more items.
31977
31978 2008-01-21 Robert Millan <rmh@aybabtu.com>
31979
31980 * kern/mm.c (grub_mm_init_region): Improve debug message.
31981
31982 2008-01-21 Robert Millan <rmh@aybabtu.com>
31983
31984 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
31985 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
31986 address.
31987 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
31988 a C macro.
31989 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
31990 Indicates start of upper memory.
31991 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
31992 (generate_image): Abort when image size is big enough to corrupt
31993 upper memory.
31994
31995 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
31996 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
31997 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
31998 instead of hardcoding 0xA0000.
31999 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
32000 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
32001 instead of hardcoding 0xA0000.
32002
32003 2008-01-21 Robert Millan <rmh@aybabtu.com>
32004
32005 * disk/memdisk.c (memdisk_size): New variable.
32006 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
32007 `memdisk_size'.
32008 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
32009 image to dynamic memory.
32010 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
32011 `memdisk_size'. Free memdisk block.
32012
32013 2008-01-21 Robert Millan <rmh@aybabtu.com>
32014
32015 Fix detection of very small filesystems (like tar).
32016
32017 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
32018 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
32019 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
32020 a problem with this disk).
32021
32022 2008-01-21 Robert Millan <rmh@aybabtu.com>
32023
32024 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
32025 on grub_biosdisk_rw_standard() error.
32026
32027 2008-01-21 Robert Millan <rmh@aybabtu.com>
32028
32029 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
32030 recent changes.
32031 * kern/elf.c: Likewise.
32032 * kern/ieee1275/ieee1275.c: Likewise.
32033 * kern/powerpc/ieee1275/openfw.c: Likewise.
32034 * term/ieee1275/ofconsole.c: Likewise.
32035
32036 2008-01-21 Robert Millan <rmh@aybabtu.com>
32037
32038 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
32039
32040 * include/grub/kernel.h (grub_arch_memdisk_addr)
32041 (grub_arch_memdisk_size): Moved from here ...
32042
32043 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
32044 (grub_arch_memdisk_size): ... to here.
32045
32046 2008-01-21 Robert Millan <rmh@aybabtu.com>
32047
32048 Mostly based on bugfix from Bean.
32049
32050 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
32051 attribute with hook() parameter.
32052 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
32053 declaration.
32054 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
32055 attribute with hook() parameter.
32056 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
32057 declaration.
32058
32059 2008-01-21 Robert Millan <rmh@aybabtu.com>
32060
32061 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
32062 (pkglib_MODULES): Add `memdisk.mod'.
32063 (memdisk_mod_SOURCES): New variable.
32064 (memdisk_mod_CFLAGS): Likewise.
32065 (memdisk_mod_LDFLAGS): Likewise.
32066
32067 * disk/memdisk.c: New file.
32068
32069 * include/grub/disk.h (grub_disk_dev_id): Add
32070 `GRUB_DISK_DEVICE_MEMDISK_ID'.
32071
32072 * include/grub/i386/pc/kernel.h
32073 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
32074 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
32075 (grub_kernel_image_size): New variable declaration.
32076 (grub_total_module_size): Likewise.
32077 (grub_memdisk_image_size): Likewise.
32078
32079 * include/grub/i386/pc/memory.h
32080 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
32081
32082 * include/grub/kernel.h: Include `<grub/symbol.h>'.
32083 (grub_arch_memdisk_addr): New variable declaration.
32084 (grub_arch_memdisk_size): Likewise.
32085
32086 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
32087 (grub_arch_memdisk_size): Likewise.
32088
32089 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
32090 (codestart): Replace hardcoded `0x100000' with
32091 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
32092
32093 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
32094 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
32095 not NULL, append the contents of the file it refers to, at the end of
32096 the compressed kernel image. Initialize `grub_memdisk_image_size'
32097 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
32098 (options): Add "memdisk"|'m' option.
32099 (main): Parse --memdisk|-m option, and pass user-provided path as
32100 parameter to generate_image().
32101
32102 2008-01-20 Robert Millan <rmh@aybabtu.com>
32103
32104 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
32105 grub_dprintf() calls from here ...
32106 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
32107
32108 2008-01-20 Robert Millan <rmh@aybabtu.com>
32109
32110 Fix detection of "real mode" when /options/real-mode? doesn't exist.
32111
32112 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
32113 declaration.
32114 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
32115 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
32116 `GRUB_IEEE1275_FLAG_REAL_MODE'.
32117 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
32118 property).
32119 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
32120 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
32121
32122 2008-01-19 Robert Millan <rmh@aybabtu.com>
32123
32124 Get rid of confusing function (superseded by
32125 `grub_ieee1275_get_integer_property')
32126 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
32127 prototype.
32128 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
32129 function.
32130 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
32131 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
32132 in native endianness from grub_ieee1275_get_integer_property().
32133
32134 2008-01-19 Robert Millan <rmh@aybabtu.com>
32135
32136 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
32137 command after "shut-down", since implementations differ on which
32138 the command for halt is.
32139
32140 2008-01-19 Robert Millan <rmh@aybabtu.com>
32141
32142 * include/grub/i386/linuxbios/console.h: Add header protection.
32143 (grub_keyboard_controller_init): New function prototype.
32144 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
32145 (KEYBOARD_COMMAND_READ): Likewise.
32146 (KEYBOARD_COMMAND_WRITE): Likewise.
32147 (KEYBOARD_SCANCODE_SET1): Likewise.
32148 (grub_keyboard_controller_write): New function.
32149 (grub_keyboard_controller_read): Likewise.
32150 (grub_keyboard_controller_init): Likewise.
32151
32152 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
32153 (grub_console_init): On coreboot/LinuxBIOS, call
32154 grub_keyboard_controller_init().
32155
32156 2008-01-19 Robert Millan <rmh@aybabtu.com>
32157
32158 PowerPC changes provided by Pavel Roskin.
32159
32160 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
32161 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
32162 don't rely on cmain() doing it.
32163 * kern/i386/ieee1275/startup.S (_start): Store %eax in
32164 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
32165
32166 2008-01-16 Robert Millan <rmh@aybabtu.com>
32167
32168 * include/grub/i386/linuxbios/memory.h
32169 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
32170 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
32171 receive `table_header' as argument. Instead, probe for it in the
32172 known memory ranges where it can be present.
32173 (grub_available_iterate): Do not pass a fixed `table_header' address
32174 to grub_linuxbios_table_iterate().
32175
32176 2008-01-15 Robert Millan <rmh@aybabtu.com>
32177
32178 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
32179 * conf/i386-ieee1275.rmk: New file.
32180 * include/grub/i386/ieee1275/console.h: Likewise.
32181 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
32182 * include/grub/i386/ieee1275/kernel.h: Likewise.
32183 * include/grub/i386/ieee1275/time.h: Likewise.
32184 * kern/i386/ieee1275/init.c: Likewise.
32185 * kern/i386/ieee1275/startup.S: Likewise.
32186
32187 2008-01-15 Robert Millan <rmh@aybabtu.com>
32188
32189 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
32190 when pointers are 32-bit (but still do set it to one when they are
32191 64-bit).
32192
32193 2008-01-15 Robert Millan <rmh@aybabtu.com>
32194
32195 * include/grub/ieee1275/ieee1275.h
32196 (grub_ieee1275_get_integer_property): New function prototype.
32197
32198 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
32199 (grub_ieee1275_get_integer_property): New function. Wraps around
32200 grub_ieee1275_get_property() to handle endianness.
32201
32202 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
32203 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
32204 where appropriate.
32205 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
32206 (grub_map): Likewise.
32207 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
32208
32209 2008-01-15 Bean <bean123ch@gmail.com>
32210
32211 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
32212 (grub_script_execute_cmdline): Reset grub_errno.
32213
32214 * normal/main.c (read_config_file): Reset grub_errno.
32215
32216 * normal/parse.y (script_init): New.
32217 (script): Move function and menuentry here.
32218 (delimiter): New.
32219 (command): Add delimiter at the end of command.
32220 (commands): Adjust to match the new command.
32221 (commandblock): Remove grub_script_lexer_record_start.
32222 (menuentry): Add grub_script_lexer_record_start, use the new commands.
32223 (if): Use the new commands.
32224
32225 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
32226
32227 2008-01-15 Robert Millan <rmh@aybabtu.com>
32228
32229 * normal/menu.c (run_menu): Move timeout message from here ...
32230 (print_timeout): ... to here.
32231 (run_menu): Use print_timeout() once during initial draw to print
32232 the whole message, and again in every clock tick to update only
32233 the number of seconds.
32234
32235 2008-01-15 Robert Millan <rmh@aybabtu.com>
32236
32237 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
32238 actual size of `available' from grub_ieee1275_get_property(), and
32239 restrict parsing to that bound.
32240
32241 2008-01-15 Christian Franke <franke@computer.org>
32242
32243 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
32244 (argp_program_version): Remove variable.
32245 (argp_program_bug_address): Likewise.
32246 (options): Convert from struct argp_option to struct option.
32247 (struct arguments): Remove.
32248 (parse_opt): Remove.
32249 (usage): New function.
32250 (main): Replace struct args members by simple variables.
32251 Replace argp_parse() by getopt_long().
32252 Add switch to evaluate options.
32253 Add missing "(...)" around root_dev in prefix string.
32254
32255 2008-01-14 Robert Millan <rmh@aybabtu.com>
32256
32257 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
32258 for grub_ieee1275_exit(), in order to improve portability.
32259
32260 2008-01-14 Robert Millan <rmh@aybabtu.com>
32261
32262 * util/grub.d/10_linux.in (prefix): Define.
32263 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
32264
32265 2008-01-13 Pavel Roskin <proski@gnu.org>
32266
32267 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
32268 grub_errno if no errors have been detected.
32269
32270 2008-01-12 Robert Millan <rmh@aybabtu.com>
32271
32272 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
32273 (grub_util_get_dev_abstraction): New function prototype.
32274
32275 * util/getroot.c: Include `<grub/util/getroot.h>'
32276 (grub_util_get_grub_dev): Move detection of abstraction type to ...
32277 (grub_util_get_dev_abstraction): ... here (new function).
32278
32279 * util/grub-probe.c: Convert PRINT_* to an enum. Add
32280 `PRINT_ABSTRACTION'.
32281 (probe): Probe for abstraction type when requested.
32282 (main): Understand `--target=abstraction'.
32283
32284 * util/i386/efi/grub-install.in: Add abstraction module to core
32285 image when it is found to be necessary.
32286 * util/i386/pc/grub-install.in: Likewise.
32287 * util/powerpc/ieee1275/grub-install.in: Likewise.
32288
32289 * util/update-grub_lib.in (font_path): Return system path without
32290 converting to GRUB path.
32291 * util/update-grub.in: Convert system path returned by font_path()
32292 to a GRUB path. Use `grub-probe -t abstraction' to determine what
32293 abstraction module is needed for loading fonts (if any). Export
32294 that as `GRUB_PRELOAD_MODULES'.
32295 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
32296 insmod commands).
32297
32298 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
32299
32300 Remove some unused code from reiserfs.
32301
32302 * fs/reiserfs.c (struct grub_reiserfs_key)
32303 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
32304 (struct grub_reiserfs_node_body): Removed.
32305 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
32306 Likewise.
32307 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32308 Likewise.
32309 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32310 Likewise.
32311 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32312 Likewise.
32313 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
32314 Likewise.
32315 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
32316 Likewise.
32317 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32318 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32319 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32320
32321 2008-01-10 Robert Millan <rmh@aybabtu.com>
32322
32323 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
32324 Determines if a file is garbage left by packaging systems, etc.
32325 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
32326 for processing /etc/grub.d scripts.
32327 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
32328 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
32329 as a condition for processing Linux images.
32330
32331 2008-01-10 Pavel Roskin <proski@gnu.org>
32332
32333 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
32334 to compile reiserfs.c on PowerPC.
32335
32336 2008-01-10 Robert Millan <rmh@aybabtu.com>
32337
32338 * kern/device.c (grub_device_iterate): Do not abort device iteration
32339 when one of the devices cannot be opened.
32340 * kern/disk.c (grub_disk_open): Do not account previous failures of
32341 unrelated functions when grub_errno is checked for.
32342
32343 2008-01-08 Robert Millan <rmh@aybabtu.com>
32344
32345 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
32346 `! grub_linux_is_bzimage', change order of address comparison to make
32347 it more intuitive, and improve "too big zImage" error message.
32348
32349 2008-01-08 Robert Millan <rmh@aybabtu.com>
32350
32351 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
32352 `$(update-grub_DATA)'.
32353 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
32354 targets.
32355
32356 2008-01-07 Robert Millan <rmh@aybabtu.com>
32357
32358 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
32359 which instruction is modified by grub-setup during installation
32360 (since it wasn't obvious by only looking at this file).
32361
32362 2008-01-07 Robert Millan <rmh@aybabtu.com>
32363
32364 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
32365 listing actual TODO items.
32366
32367 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32368
32369 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
32370 correctly.
32371 (grub_reiserfs_get_key_offset): Likewise.
32372 (grub_reiserfs_set_key_offset): Likewise.
32373 (grub_reiserfs_set_key_type): Likewise.
32374 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
32375
32376 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
32377 better to remove the bitfield version completely.
32378
32379 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32380
32381 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
32382 allocated from the heap, due to the fshelp implementation.
32383 (grub_reiserfs_dir): Free NODE, due to the same reason.
32384
32385 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32386
32387 Mostly from Vincent Pelletier:
32388
32389 * fs/reiserfs.c: New file.
32390
32391 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
32392 (reiserfs_mod_SOURCES): New variable.
32393 (reiserfs_mod_CFLAGS): Likewise.
32394 (reiserfs_mod_LDFLAGS): Likewise.
32395
32396 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
32397 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
32398 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
32399 normal/color.c.
32400
32401 2008-01-06 Robert Millan <rmh@aybabtu.com>
32402
32403 * normal/color.c: Remove `<grub/env.h>'.
32404
32405 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
32406
32407 * include/grub/normal.h: Include <grub/env.h>.
32408
32409 2008-01-05 Robert Millan <rmh@aybabtu.com>
32410
32411 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
32412 usage example with `(hd0,1)'.
32413 Reported by Samuel Thibault.
32414
32415 2008-01-05 Robert Millan <rmh@aybabtu.com>
32416
32417 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
32418 (grub_linux_boot_zimage): Rename to ...
32419 (grub_linux_boot): ... this.
32420 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
32421 (grub_linux_boot_zimage): Conditionalize zImage copy.
32422
32423 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
32424 (grub_linux_boot_bzimage): Remove prototype.
32425 (grub_linux_boot_zimage): Rename to ...
32426 (grub_linux_boot): ... this.
32427
32428 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
32429 (grub_linux_boot): Remove function.
32430
32431 2008-01-05 Robert Millan <rmh@aybabtu.com>
32432
32433 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
32434 (grub_env_write_color_highlight): Likewise.
32435 (grub_wait_after_message): Likewise.
32436
32437 * normal/color.c: New file.
32438
32439 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32440 (normal_mod_DEPENDENCIES): Likewise.
32441
32442 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32443 (normal_mod_DEPENDENCIES): Likewise.
32444
32445 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32446 (normal_mod_DEPENDENCIES): Likewise.
32447
32448 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32449 (normal_mod_DEPENDENCIES): Likewise.
32450
32451 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
32452 for waiting after a message is printed.
32453 * normal/main.c (read_config_file): Likewise.
32454 (grub_normal_init): Register grub_env_write_color_normal() and
32455 grub_env_write_color_highlight() hooks. Mark `color_normal' and
32456 `color_highlight' variables as global.
32457
32458 * normal/menu.c (grub_wait_after_message): New function.
32459 (grub_color_menu_normal): New variable. Replaces ...
32460 (GRUB_COLOR_MENU_NORMAL): ... this macro.
32461 (grub_color_menu_highlight): New variable. Replaces ...
32462 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
32463 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
32464 `GRUB_TERM_COLOR_STANDARD'.
32465 (print_message): Use `grub_setcolorstate' to reload colors. Rename
32466 `normal_code' and `highlight_code' to `old_color_normal' and
32467 `old_color_highlight', respectively.
32468 (grub_menu_init_page): Update colors when drawing the menu, based on
32469 `menu_color_normal' and `menu_color_highlight' variables.
32470 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
32471 a message is printed.
32472
32473 2008-01-05 Robert Millan <rmh@aybabtu.com>
32474
32475 * kern/env.c (grub_env_context_open): Propagate hooks for global
32476 variables to new context.
32477
32478 * kern/main.c (grub_set_root_dev): Export `root' variable.
32479
32480 2008-01-05 Robert Millan <rmh@aybabtu.com>
32481
32482 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
32483 discs unconditionally, since udev and others have options to provide
32484 them.
32485
32486 2008-01-05 Robert Millan <rmh@aybabtu.com>
32487
32488 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
32489
32490 2008-01-04 Christian Franke <franke@computer.org>
32491
32492 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
32493 of eisa_mmap.
32494
32495 2008-01-03 Pavel Roskin <proski@gnu.org>
32496
32497 * kern/i386/linuxbios/init.c: Put "void" to all function
32498 declarations with no arguments.
32499 * kern/powerpc/ieee1275/init.c: Likewise.
32500 * term/i386/pc/at_keyboard.c: Likewise.
32501 * term/i386/pc/vga_text.c: Likewise.
32502 * util/grub-mkdevicemap.c: Likewise.
32503
32504 2008-01-02 Robert Millan <rmh@aybabtu.com>
32505
32506 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
32507 message when loaded image is out of bounds.
32508 (grub_multiboot_load_elf64): Likewise.
32509
32510 2008-01-02 Pavel Roskin <proski@gnu.org>
32511
32512 * util/grub.d/10_linux.in: Try version without ".old" when
32513 looking for initrd. It's better to use initrd from the newer
32514 kernel of the same version than no initrd at all.
32515
32516 2008-01-01 Robert Millan <rmh@aybabtu.com>
32517
32518 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
32519
32520 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
32521
32522 * include/grub/video.h: Added grub_video_unmap_color and
32523 grub_video_get_active_render_target.
32524 (grub_video_adapter): Added unmap_color and get_active_render_target.
32525
32526 * video/video.c: Added grub_video_unmap_color and
32527 grub_video_get_active_render_target.
32528 (grub_video_get_info): Changed method to accept NULL pointer as an
32529 argument to allow detection of active video adapter.
32530
32531 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
32532 grub_video_vbe_unmap_color_int.
32533 Added grub_video_vbe_unmap_color and
32534 grub_video_vbe_get_active_render_target.
32535 (grub_video_vbe_adapter): Added unmap_color and
32536 get_active_render_target.
32537
32538 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
32539 with grub_video_vbe_unmap_color_int.
32540
32541 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
32542 (DEFAULT_NORMAL_COLOR): Likewise.
32543 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
32544 (DEFAULT_FG_COLOR): Removed.
32545 (DEFAULT_BG_COLOR): Likewise.
32546 (DEFAULT_CURSOR_COLOR): Changed value.
32547 (grub_virtual_screen): Added standard_color_setting,
32548 normal_color_setting, highlight_color_setting and term_color.
32549 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
32550 (bitmap_width): Added.
32551 (bitmap_height): Likewise.
32552 (bitmap): Likewise.
32553 (set_term_color): Likewise.
32554 (grub_virtual_screen_setup): Changed to use new terminal coloring
32555 settings.
32556 (grub_gfxterm_init): Added init for bitmap.
32557 (grub_gfxterm_fini): Added destroy for bitmap.
32558 (redraw_screen_rect): Updated to use background bitmap and new
32559 terminal coloring.
32560 (scroll_up): Added optimization for case when there is no bitmap.
32561 (grub_gfxterm_cls): Fixed to use correct background color.
32562 (grub_virtual_screen_setcolorstate): Changed to use new terminal
32563 coloring.
32564 (grub_virtual_screen_setcolor): Likewise.
32565 (grub_virtual_screen_getcolor): Added.
32566 (grub_gfxterm_background_image_cmd): Likewise.
32567 (grub_video_term): Added setcolor and getcolor.
32568 (MOD_INIT): Added registration of background_image command.
32569 (MOD_TERM): Added unregistration for background_image command.
32570
32571 2007-12-30 Pavel Roskin <proski@gnu.org>
32572
32573 * loader/multiboot_loader.c: Fix multiboot command
32574 unregistration. Fix all typos in the word "multiboot".
32575
32576 2007-12-29 Pavel Roskin <proski@gnu.org>
32577
32578 * util/grub.d/10_linux.in: Refactor search for initrd. Add
32579 support for initrd names used in Fedora.
32580
32581 2007-12-26 Bean <bean123ch@gmail.com>
32582
32583 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
32584 (cpio_mod_SOURCES): New variable.
32585 (cpio_mod_CFLAGS): Likewise.
32586 (cpio_mod_LDFLAGS): Likewise.
32587
32588 * fs/cpio.c: New file.
32589
32590 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
32591
32592 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32593
32594 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32595
32596 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32597
32598 2007-12-25 Robert Millan <rmh@aybabtu.com>
32599
32600 * include/grub/term.h (struct grub_term): Add `getcolor' function.
32601 (grub_getcolor): New function.
32602
32603 * kern/term.c (grub_getcolor): New function.
32604 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
32605 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
32606 (print_entry): Set normal and highlight colors to
32607 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
32608 respectively, before printing and restore them to old
32609 values afterwards.
32610 (grub_menu_init_page): Likewise. Fill an additional colored space
32611 that would otherwise be left blank.
32612
32613 * term/efi/console.c (grub_console_getcolor): New function.
32614 (struct grub_console_term.getcolor): New variable.
32615 * term/i386/pc/console.c (grub_console_getcolor): New function.
32616 (struct grub_console_term.getcolor): New variable.
32617 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
32618 (struct grub_console_term.getcolor): New variable.
32619
32620 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
32621 (struct grub_console_term.setcolor): Remove variable.
32622 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
32623 (struct grub_console_term.setcolor): Remove variable.
32624 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
32625 (struct grub_console_term.setcolor): Remove variable.
32626 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
32627 (struct grub_console_term.setcolor): Remove variable.
32628
32629 2007-12-25 Robert Millan <rmh@aybabtu.com>
32630
32631 * configure.ac: Search for possible unifont.hex locations, and
32632 define UNIFONT_HEX if found.
32633
32634 * Makefile.in (UNIFONT_HEX): Define variable.
32635 (DATA): Rename to ...
32636 (PKGLIB): ... this. Update all users.
32637 (PKGDATA): New variable.
32638 (pkgdata_IMAGES): Rename to ...
32639 (pkglib_IMAGES): ... this. Update all users.
32640 (pkgdata_MODULES): Rename to ...
32641 (pkglib_MODULES): ... this. Update all users.
32642 (pkgdata_PROGRAMS): Rename to ...
32643 (pkglib_PROGRAMS): ... this. Update all users.
32644 (pkgdata_DATA): Rename to ...
32645 (pkglib_DATA): ... this. Update all users.
32646 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
32647 (unicode.pff, ascii.pff): New rules.
32648 (all-local): Add `$(PKGDATA)' dependency.
32649 (install-local): Process `$(PKGDATA)'.
32650
32651 * util/update-grub_lib.in (font_path): Search for *.pff files in
32652 a few more locations, including `${pkgdata}'.
32653
32654 2007-12-23 Robert Millan <rmh@aybabtu.com>
32655
32656 Patch from Bean <bean123ch@gmail.com>:
32657 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
32658 `size'.
32659
32660 2007-12-21 Bean <bean123ch@gmail.com>
32661
32662 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
32663 (ntfscomp_mod_SOURCES): New variable.
32664 (ntfscomp_mod_CFLAGS): Likewise.
32665 (ntfscomp_mod_LDFLAGS): Likewise.
32666
32667 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
32668 (grub_probe_SOURCES): Likewise.
32669 (grub_emu_SOURCES): Likewise.
32670
32671 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32672 (grub_emu_SOURCES): Likewise.
32673
32674 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32675 (grub_emu_SOURCES): Likewise.
32676
32677 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32678 (grub_emu_SOURCES): Likewise.
32679
32680 * fs/ntfs.c (grub_ntfscomp_func): New variable.
32681 (read_run_list): Renamed to grub_ntfs_read_run_list.
32682 (decomp_nextvcn): Moved to ntfscomp.c.
32683 (decomp_getch): Likewise.
32684 (decomp_get16): Likewise.
32685 (decomp_block): Likewise.
32686 (read_block): Likewise.
32687 (read_data): Partially moved to ntfscomp.c.
32688 (fixup): Change unsigned to grub_uint16_t.
32689 (read_mft): Change unsigned long to grub_uint32_t.
32690 (read_attr): Likewise.
32691 (read_data): Likewise.
32692 (read_run_data): Likewise.
32693 (read_run_list): Likewise.
32694 (read_mft): Likewise.
32695
32696 * fs/ntfscomp.c: New file.
32697
32698 * include/grub/ntfs.h: New file.
32699
32700 2007-12-16 Robert Millan <rmh@aybabtu.com>
32701
32702 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
32703 IDE disk check, since Linux is known to support 20 IDE disks.
32704 Reported by Colin Watson.
32705
32706 2007-12-15 Bean <bean123ch@gmail.com>
32707
32708 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
32709 (lnxboot_img_SOURCES): New variable.
32710 (lnxboot_img_ASFLAGS): Likewise.
32711 (lnxboot_img_LDFLAGS): Likewise.
32712
32713 * boot/i386/pc/lnxboot.S: New file.
32714
32715 2007-11-24 Pavel Roskin <proski@gnu.org>
32716
32717 * configure.ac: Test if '--build-id=none' is supported by the
32718 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
32719 objcopy to generate incorrect binary files (binutils
32720 2.17.50.0.18-1 as shipped by Fedora 8).
32721 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
32722 linking, so that build ID doesn't break the test.
32723
32724 2007-11-24 Pavel Roskin <proski@gnu.org>
32725
32726 * include/grub/i386/time.h: use "void" in the argument list
32727 of grub_cpu_idle().
32728 * include/grub/powerpc/time.h: Likewise.
32729 * include/grub/sparc64/time.h: Likewise.
32730
32731 2007-11-18 Christian Franke <franke@computer.org>
32732
32733 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
32734 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
32735 This fixes the problem that function keys did not work in grub-emu.
32736
32737 2007-11-18 Christian Franke <franke@computer.org>
32738
32739 * disk/host.c (grub_host_open): Remove attribute unused from
32740 name parameter. Add check for "host". This fixes the problem
32741 that grub-emu does not find partitions.
32742
32743 2007-11-18 Christian Franke <franke@computer.org>
32744
32745 * util/hostfs.c (is_dir): New function.
32746 (grub_hostfs_dir): Handle missing dirent.d_type case.
32747 (grub_hostfs_read): Add missing fseek().
32748 (grub_hostfs_label): Clear label pointer. This fixes a crash
32749 of grub-emu on "ls (host)".
32750
32751 2007-11-18 Christian Franke <franke@computer.org>
32752
32753 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
32754 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
32755 to 64 bit boundary by default.
32756
32757 2007-11-18 Bean <bean123ch@gmail.com>
32758
32759 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
32760 (hexdump_mod_SOURCES): New variable.
32761 (hexdump_mod_CFLAGS): Likewise.
32762 (hexdump_mod_LDFLAGS): Likewise.
32763
32764 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32765
32766 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32767
32768 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32769
32770 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32771
32772 * include/grub/hexdump.h: New file.
32773
32774 * commands/hexdump.c: New file.
32775
32776 2007-11-10 Robert Millan <rmh@aybabtu.com>
32777
32778 * commands/i386/pc/play.c (beep_off): Switch order of arguments
32779 in grub_outb() calls.
32780 (beep_on): Likewise.
32781
32782 2007-11-10 Christian Franke <franke@computer.org>
32783
32784 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
32785 (grub_menu_run): Likewise.
32786
32787 2007-11-10 Robert Millan <rmh@aybabtu.com>
32788
32789 * include/grub/i386/efi/machine.h: New file.
32790 * include/grub/i386/linuxbios/machine.h: Likewise.
32791 * include/grub/i386/pc/machine.h: Likewise.
32792 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32793 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32794
32795 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
32796 (serial_hw_io_addr): New variable.
32797 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
32798 instead of `(unsigned short *) 0x400'.
32799
32800 2007-11-10 Bean <bean123ch@gmail.com>
32801
32802 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
32803
32804 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32805
32806 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
32807 (vga_mod_SOURCES): Added.
32808 (vga_mod_CFLAGS): Likewise.
32809 (vga_mod_LDFLAGS): Likewise.
32810
32811 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
32812 grub_outb() calls.
32813 (set_map_mask): Likewise.
32814 (set_read_map): Likewise.
32815 (set_read_address): Likewise.
32816 (vga_font): Removed variable.
32817 (get_vga_glyph): Removed function.
32818 (invalidate_char): Likewise.
32819 (write_char): Changed to use grub_font_get_glyph() for font
32820 information.
32821 (grub_vga_putchar): Likewise.
32822 (grub_vga_getcharwidth): Likewise.
32823
32824 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32825
32826 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
32827 flags.
32828 (pxeboot_img_LDFLAGS): Likewise.
32829 (diskboot_img_LDFLAGS): Likewise.
32830 (kernel_img_LDFLAGS): Likewise.
32831
32832 2007-11-06 Robert Millan <rmh@aybabtu.com>
32833
32834 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
32835 in grub_outb() calls.
32836 (serial_hw_init): Likewise.
32837
32838 2007-11-05 Robert Millan <rmh@aybabtu.com>
32839
32840 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
32841 spaces. Skip non-regular files.
32842
32843 2007-11-05 Robert Millan <rmh@aybabtu.com>
32844
32845 * kern/disk.c (grub_disk_firmware_fini)
32846 (grub_disk_firmware_is_tainted): New variables.
32847
32848 * include/grub/disk.h (grub_disk_firmware_fini)
32849 (grub_disk_firmware_is_tainted): Likewise.
32850
32851 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
32852 (grub_disk_biosdisk_fini): ... to here.
32853 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
32854 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
32855 is set. Register grub_disk_biosdisk_fini() in
32856 `grub_disk_firmware_fini'.
32857
32858 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
32859 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
32860 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
32861 to finish existing firmware disk interface.
32862
32863 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
32864 (ata_mod_SOURCES): New variable.
32865 (ata_mod_CFLAGS): Likewise.
32866 (ata_mod_LDFLAGS): Likewise.
32867
32868 2007-11-05 Robert Millan <rmh@aybabtu.com>
32869
32870 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
32871 (grub_ata_wait): Reimplement using grub_millisleep().
32872
32873 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
32874 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
32875
32876 2007-11-03 Marco Gerards <marco@gnu.org>
32877
32878 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
32879 (CRTC_ADDR_PORT): New macro.
32880 (CRTC_DATA_PORT): Likewise.
32881 (CRTC_CURSOR): Likewise.
32882 (CRTC_CURSOR_ADDR_HIGH): Likewise.
32883 (CRTC_CURSOR_ADDR_LOW): Likewise.
32884 (update_cursor): New function.
32885 (grub_console_real_putchar): Call `update_cursor'.
32886 (grub_console_gotoxy): Likewise.
32887 (grub_console_cls): Set the default color when clearing the
32888 screen.
32889 (grub_console_setcursor): Implemented.
32890
32891 2007-11-03 Marco Gerards <marco@gnu.org>
32892
32893 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
32894 become activate.
32895 (grub_ata_pio_write): Likewise.
32896
32897 (grub_atapi_identify): Wait after issuing an ATA command.
32898 (grub_atapi_packet): Likewise.
32899 (grub_ata_identify): Likewise.
32900 (grub_ata_readwrite): Likewise.
32901
32902 2007-11-03 Marco Gerards <marco@gnu.org>
32903
32904 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
32905 (grub_ata_pio_write): Likewise.
32906 (grub_ata_readwrite): Use `grub_error', instead of
32907 returning `grub_errno'.
32908
32909 2007-11-03 Marco Gerards <marco@gnu.org>
32910
32911 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
32912 grub_ata_pio_write once for every single sector, instead of for
32913 multiple sectors.
32914
32915 2007-10-31 Robert Millan <rmh@aybabtu.com>
32916
32917 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
32918
32919 * conf/i386-linuxbios.rmk: New file.
32920
32921 * kern/i386/pc/hardware.c: Likewise.
32922 * term/i386/pc/at_keyboard.c: Likewise.
32923 * term/i386/pc/vga_text.c: Likewise.
32924
32925 * include/grub/i386/linuxbios/boot.h: Likewise.
32926 * include/grub/i386/linuxbios/console.h: Likewise.
32927 * include/grub/i386/linuxbios/init.h: Likewise.
32928 * include/grub/i386/linuxbios/kernel.h: Likewise.
32929 * include/grub/i386/linuxbios/loader.h: Likewise.
32930 * include/grub/i386/linuxbios/memory.h: Likewise.
32931 * include/grub/i386/linuxbios/serial.h: Likewise.
32932 * include/grub/i386/linuxbios/time.h: Likewise.
32933
32934 * kern/i386/linuxbios/init.c: Likewise.
32935 * kern/i386/linuxbios/startup.S: Likewise.
32936 * kern/i386/linuxbios/table.c: Likewise.
32937
32938 2007-10-31 Marco Gerards <marco@gnu.org>
32939
32940 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
32941 (ata_mod_SOURCES): New variable.
32942 (ata_mod_CFLAGS): Likewise.
32943 (ata_mod_LDFLAGS): Likewise.
32944
32945 * disk/ata.c: New file.
32946
32947 * include/grub/disk.h (grub_disk_dev_id): Add
32948 `GRUB_DISK_DEV_ATA_ID'.
32949
32950 2007-10-31 Robert Millan <rmh@aybabtu.com>
32951
32952 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
32953 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
32954
32955 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
32956 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
32957
32958 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
32959 `<grub/types.h>'.
32960
32961 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
32962
32963 2007-10-27 Robert Millan <rmh@aybabtu.com>
32964
32965 * include/grub/types.h (ULONG_MAX): Define macro.
32966
32967 2007-10-22 Robert Millan <rmh@aybabtu.com>
32968
32969 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
32970 `"../realmode.S"'.
32971 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
32972
32973 2007-10-22 Robert Millan <rmh@aybabtu.com>
32974
32975 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
32976 (pkgdata_MODULES): Add `biosdisk.mod'.
32977 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
32978 variables.
32979
32980 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
32981 (grub_biosdisk_init): Replace with ...
32982 (GRUB_MOD_INIT(biosdisk)): ... this.
32983 (grub_biosdisk_fini): Replace with ...
32984 (GRUB_MOD_FINI(biosdisk)): ... this.
32985
32986 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
32987 (grub_machine_init): Remove call to grub_biosdisk_init().
32988 (grub_machine_fini): Remove call to grub_machine_fini().
32989
32990 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
32991
32992 2007-10-22 Robert Millan <rmh@aybabtu.com>
32993
32994 * include/grub/time.h: New file.
32995 * include/grub/i386/time.h: Likewise.
32996 * include/grub/powerpc/time.h: Likewise.
32997 * include/grub/sparc64/time.h: Likewise.
32998
32999 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
33000 instances to ...
33001 (KERNEL_MACHINE_TIME_HEADER): ... this.
33002 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
33003 instances to ...
33004 (KERNEL_MACHINE_TIME_HEADER): ... this.
33005 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
33006 instances to ...
33007 (KERNEL_MACHINE_TIME_HEADER): ... this.
33008
33009 * kern/i386/efi/init.c: Include `<grub/time.h>'.
33010 (grub_millisleep): New function.
33011 * kern/i386/pc/init.c: Include `<grub/time.h>'.
33012 (grub_millisleep): New function.
33013 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
33014 Remove `grub/machine/time.h' include.
33015 (grub_millisleep): New function.
33016 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
33017 Remove `grub/machine/time.h' include.
33018 (grub_millisleep): New function.
33019
33020 * include/grub/misc.h (grub_div_roundup): New function.
33021
33022 * kern/misc.c: Include `<grub/time.h>'.
33023 (grub_millisleep_generic): New function.
33024
33025 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
33026 Add `time.h'.
33027 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
33028 Add `time.h'.
33029 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
33030 `machine/time.h'. Add `time.h'.
33031 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
33032
33033 2007-10-21 Robert Millan <rmh@aybabtu.com>
33034
33035 * include/grub/misc.h (grub_max): New function.
33036
33037 2007-10-21 Robert Millan <rmh@aybabtu.com>
33038
33039 * util/misc.c (grub_util_info): Call fflush() before returning.
33040
33041 2007-10-20 Robert Millan <rmh@aybabtu.com>
33042
33043 * genmk.rb (Image): Copy `extra_flags' from here ...
33044 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
33045
33046 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
33047 to `argc' and `args' arguments.
33048
33049 2007-10-17 Robert Millan <rmh@aybabtu.com>
33050
33051 * kern/i386/loader.S: New file.
33052
33053 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
33054 * kern/i386/loader.S (grub_linux_prot_size)... to here.
33055 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
33056 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
33057 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
33058 * kern/i386/loader.S (grub_linux_real_addr)... to here.
33059 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
33060 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
33061 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
33062 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
33063 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
33064 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
33065 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
33066 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
33067
33068 * kern/i386/realmode.S: New file.
33069
33070 * kern/i386/pc/startup.S (protstack): Moved from here ...
33071 * kern/i386/realmode.S (protstack)... to here.
33072 * kern/i386/pc/startup.S (gdt): Moved from here ...
33073 * kern/i386/realmode.S (gdt)... to here.
33074 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
33075 * kern/i386/realmode.S (prot_to_real)... to here.
33076
33077 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
33078 `kern/i386/realmode.S'.
33079
33080 2007-10-17 Robert Millan <rmh@aybabtu.com>
33081
33082 * include/grub/i386/loader.h: New file.
33083
33084 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
33085 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
33086 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
33087 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
33088 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
33089 * include/grub/i386/loader.h (grub_linux_prot_size)
33090 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
33091 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
33092 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
33093 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
33094
33095 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
33096
33097 2007-10-15 Robert Millan <rmh@aybabtu.com>
33098
33099 * normal/misc.c (grub_normal_print_device_info): Do not probe for
33100 filesystem when dev->disk is unset.
33101 Do probe for filesystem even when dev->disk->has_partitions is set.
33102 In case a filesystem is found, always report it.
33103 In case it isn't, if dev->disk->has_partitions is set, report that
33104 a partition table was found instead of reporting that no filesystem
33105 could be identified.
33106
33107 2007-10-12 Robert Millan <rmh@aybabtu.com>
33108
33109 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
33110 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
33111
33112 * include/grub/types.h (grub_host_to_target16): New macro.
33113 (grub_host_to_target32): Likewise.
33114 (grub_host_to_target64): Likewise.
33115 (grub_target_to_host16): Likewise.
33116 (grub_target_to_host32): Likewise.
33117 (grub_target_to_host64): Likewise.
33118
33119 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
33120 Renamed from to ...
33121 (GRUB_MOD_ALIGN): ...this. Update all users.
33122
33123 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
33124 grub_host_to_target32.
33125 Replace grub_be_to_cpu32 with grub_target_to_host32.
33126 (load_modules): Likewise.
33127 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
33128 Replace grub_be_to_cpu32 with grub_target_to_host32.
33129 Replace grub_cpu_to_be16 with grub_host_to_target16.
33130 Replace grub_cpu_to_be32 grub_host_to_target32.
33131
33132 2007-10-12 Robert Millan <rmh@aybabtu.com>
33133
33134 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
33135 * util/elf/grub-mkimage.c: ... here.
33136
33137 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
33138 `util/powerpc/ieee1275/grub-mkimage.c'.
33139
33140 2007-10-07 Robert Millan <rmh@aybabtu.com>
33141
33142 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
33143 and make it easier to figure out.
33144 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
33145 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
33146 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
33147 leave us with less than HEAP_MIN_SIZE total heap.
33148 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
33149
33150 2007-10-03 Robert Millan <rmh@aybabtu.com>
33151
33152 * include/grub/i386/io.h: New file.
33153 * commands/i386/pc/play.c (inb): Removed.
33154 (outb): Removed.
33155 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
33156 with grub_outb().
33157 * term/i386/pc/serial.c (inb): Removed.
33158 (outb): Removed.
33159 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
33160 with grub_outb().
33161 * term/i386/pc/vga.c (inb): Removed.
33162 (outb): Removed.
33163 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
33164 with grub_outb().
33165
33166 2007-10-02 Robert Millan <rmh@aybabtu.com>
33167
33168 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
33169 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33170 Reported by Marcin Kurek.
33171
33172 2007-09-07 Robert Millan <rmh@aybabtu.com>
33173
33174 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
33175 SmartFirmware version updates (as released by Sven Luther), and avoid
33176 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
33177 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
33178 known broken.
33179
33180 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33181
33182 From Hitoshi Ozeki:
33183 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
33184 when merging two regions.
33185
33186 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33187
33188 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
33189 * normal/completion.c (grub_normal_do_completion): Likewise.
33190 Reported by Hitoshi Ozeki.
33191
33192 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33193
33194 Do not use devices at boot in chainloading.
33195
33196 * loader/i386/pc/chainloader.c (boot_drive): New variable.
33197 (boot_part_addr): Likewise.
33198 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
33199 with BOOT_DRIVE and BOOT_PART_ADDR.
33200 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
33201 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
33202
33203 2007-08-29 Robert Millan <rmh@aybabtu.com>
33204
33205 Patch from Simon Peter <dn.tlp@gmx.net>:
33206 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
33207 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
33208 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
33209 util/i386/pc/grub-setup.c_DEPENDENCIES.
33210 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
33211 util/grub-probe.c_DEPENDENCIES.
33212 * conf/powerpc-ieee1275.rmk: Likewise.
33213
33214 2007-08-28 Robert Millan <rmh@aybabtu.com>
33215
33216 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
33217 to tell grub-mkdevicemap how to name devices.
33218 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
33219 feature).
33220
33221 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
33222 util/i386/get_disk_name.c.
33223 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
33224 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
33225 util/ieee1275/get_disk_name.c.
33226
33227 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
33228
33229 * DISTLIST: Add util/i386/get_disk_name.c and
33230 util/ieee1275/get_disk_name.c.
33231
33232 * util/grub-mkdevicemap.c: Replace device naming logic with
33233 grub_util_get_disk_name() calls.
33234
33235 2007-08-20 Robert Millan <rmh@aybabtu.com>
33236
33237 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
33238 (so that it works for both plural and singular quantities).
33239
33240 2007-08-05 Robert Millan <rmh@aybabtu.com>
33241
33242 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
33243 so that [xz] isn't taken into account when determining order.
33244
33245 2007-08-02 Marco Gerards <marco@gnu.org>
33246
33247 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
33248 `include/multiboot2.h', `include/grub/elfload.h',
33249 `include/multiboot.h', `include/grub/multiboot.h',
33250 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
33251 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
33252 `kern/elf.c', `loader/multiboot_loader.c',
33253 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
33254 `loader/i386/pc/multiboot2.c',
33255 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
33256 `util/i386/pc/grub-mkrescue.in'. Remove
33257 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
33258 `include/grub/i386/pc/util/biosdisk.h' and
33259 `include/grub/powerpc/ieee1275/multiboot.h'.
33260
33261 2007-08-02 Bean <bean123ch@gmail.com>
33262
33263 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
33264 (ntfs_mod_SOURCES): New variable.
33265 (ntfs_mod_CFLAGS): Likewise.
33266 (ntfs_mod_LDFLAGS): Likewise.
33267
33268 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
33269 (grub_probe_SOURCES): Likewise.
33270 (grub_emu_SOURCES): Likewise.
33271
33272 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
33273 (grub_emu_SOURCES): Likewise.
33274
33275 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
33276 (grub_emu_SOURCES): Likewise.
33277
33278 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
33279
33280 * fs/ntfs.c: New file.
33281
33282 2007-08-02 Bean <bean123ch@gmail.com>
33283
33284 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
33285
33286 * file.h (grub_file): Likewise.
33287
33288 * fshelp.h (grub_fshelp_read_file): Likewise.
33289
33290 * util/i386/pc/grub-setup.c (setup): Likewise.
33291 (save_first_sector): Likewise.
33292 (save_blocklists): Likewise.
33293
33294 * fs/affs.c (grub_affs_read_file): Likewise.
33295
33296 * fs/ext2.c (grub_ext2_read_file): Likewise.
33297
33298 * fs/fat.c (grub_fat_read_data): Likewise.
33299
33300 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
33301
33302 * fs/hfs.c (grub_hfs_read_file): Likewise.
33303
33304 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
33305
33306 * fs/jfs.c (grub_jfs_read_file): Likewise.
33307
33308 * fs/minix.c (grub_minix_read_file): Likewise.
33309
33310 * fs/sfs.c (grub_sfs_read_file): Likewise.
33311
33312 * fs/ufs.c (grub_ufs_read_file): Likewise.
33313
33314 * fs/xfs.c (grub_xfs_read_file): Likewise.
33315
33316 * command/blocklist.c (read_blocklist): Likewise.
33317 (print_blocklist): Likewise.
33318
33319 2007-08-02 Marco Gerards <marco@gnu.org>
33320
33321 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
33322 `util/hostfs.c'.
33323
33324 * disk/host.c: New file.
33325
33326 * util/hostfs.c: Likewise.
33327
33328 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
33329 return `GRUB_ERR_BAD_FS'.
33330 * fs/sfs.c (grub_sfs_mount): Likewise.
33331 * fs/xfs.c (grub_xfs_mount): Likewise.
33332
33333 * include/grub/disk.h (enum grub_disk_dev_id): Add
33334 `GRUB_DISK_DEVICE_HOST_ID'.
33335
33336 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
33337
33338 2007-07-24 Jerone Young <jerone@gmail.com>
33339
33340 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
33341 modules for compilation.
33342 * conf/powerpc-ieee1275.rmk: Likewise.
33343
33344 * include/multiboot.h: Move multiboot definitions to one file. Rename
33345 many definitions to not get grub specific.
33346 * include/multiboot2.h: Create header with multiboot 2 definitions.
33347 * include/grub/multiboot.h: Header for grub specific function
33348 prototypes and definitions.
33349 * include/grub/multiboot2.h: Likewise.
33350 * include/grub/multiboot_loader.h: Likewise.
33351 * include/grub/i386/pc/multiboot.h: Removed.
33352 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
33353
33354 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
33355 and 2 to allow for one multiboot and module commands.
33356 * loader/multiboot2.c: Add multiboot2 functionality.
33357 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
33358 and definition names.
33359 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
33360 2 functions.
33361 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
33362 ieee1275 specific multiboot2 code.
33363
33364 * kern/i386/pc/startup.S: Change headers and definition names for
33365 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
33366
33367 2007-07-22 Robert Millan <rmh@aybabtu.com>
33368
33369 * geninitheader.sh: Process file specified in first parameter rather
33370 than hardcoding grub_modules_init.lst.
33371 * geninit.sh: Likewise. Also, construct header name dynamically rather
33372 than hardcoding grub_modules_init.h.
33373
33374 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
33375 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
33376 grub_probe_init.[ch] and grub_setup_init.[ch].
33377
33378 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
33379 grub_modules_init.h with grub_emu_init.h.
33380 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
33381 grub_probe_init.[ch] files.
33382 * conf/i386-efi.rmk: Likewise.
33383 * conf/i386-pc.rmk: Likewise.
33384 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
33385 grub_setup_init.[ch] files.
33386
33387 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
33388 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
33389 to initialize modules rather than a list of hardcoded functions.
33390 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
33391 grub_init_all() to initialize modules rather than a list of hardcoded
33392 functions.
33393
33394 2007-07-22 Robert Millan <rmh@aybabtu.com>
33395
33396 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
33397 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
33398
33399 2007-07-22 Robert Millan <rmh@aybabtu.com>
33400
33401 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
33402 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
33403 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
33404 flag when running on SmartFirmware.
33405 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
33406 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
33407 was set.
33408
33409 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
33410 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
33411 rather than decreasing it.
33412
33413 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
33414 there's not enough space to do it, fail in the same way as when it
33415 can't be done because there are no partitions.
33416
33417 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
33418 when nvsetenv failed.
33419
33420 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
33421
33422 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
33423 because this rule is automatically generated.
33424 (grub-mkrescue): Removed for the same reason as above.
33425
33426 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
33427
33428 Migrate to GNU General Public License Version 3.
33429
33430 * COPYING: Replaced with the plain text version of GPLv3.
33431
33432 * config.guess: Updated from gnulib.
33433 * config.sub: Likewise.
33434
33435 * geninit.sh: Output a GPLv3 copyright notice.
33436 * geninitheader.sh: Likewise.
33437 * genmodsrc.sh: Likewise.
33438 * gensymlist.sh.in: Likewise.
33439
33440 * boot/i386/pc/boot.S: Upgraded to GPLv3.
33441 * boot/i386/pc/diskboot.S: Likewise.
33442 * boot/i386/pc/pxeboot.S: Likewise.
33443 * commands/blocklist.c: Likewise.
33444 * commands/boot.c: Likewise.
33445 * commands/cat.c: Likewise.
33446 * commands/cmp.c: Likewise.
33447 * commands/configfile.c: Likewise.
33448 * commands/echo.c: Likewise.
33449 * commands/help.c: Likewise.
33450 * commands/ls.c: Likewise.
33451 * commands/search.c: Likewise.
33452 * commands/terminal.c: Likewise.
33453 * commands/test.c: Likewise.
33454 * commands/videotest.c: Likewise.
33455 * commands/i386/cpuid.c: Likewise.
33456 * commands/i386/pc/halt.c: Likewise.
33457 * commands/i386/pc/play.c: Likewise.
33458 * commands/i386/pc/reboot.c: Likewise.
33459 * commands/i386/pc/vbeinfo.c: Likewise.
33460 * commands/i386/pc/vbetest.c: Likewise.
33461 * commands/ieee1275/halt.c: Likewise.
33462 * commands/ieee1275/reboot.c: Likewise.
33463 * commands/ieee1275/suspend.c: Likewise.
33464 * disk/loopback.c: Likewise.
33465 * disk/lvm.c: Likewise.
33466 * disk/raid.c: Likewise.
33467 * disk/efi/efidisk.c: Likewise.
33468 * disk/i386/pc/biosdisk.c: Likewise.
33469 * disk/ieee1275/ofdisk.c: Likewise.
33470 * font/manager.c: Likewise.
33471 * fs/affs.c: Likewise.
33472 * fs/ext2.c: Likewise.
33473 * fs/fat.c: Likewise.
33474 * fs/fshelp.c: Likewise.
33475 * fs/hfs.c: Likewise.
33476 * fs/hfsplus.c: Likewise.
33477 * fs/iso9660.c: Likewise.
33478 * fs/jfs.c: Likewise.
33479 * fs/minix.c: Likewise.
33480 * fs/sfs.c: Likewise.
33481 * fs/ufs.c: Likewise.
33482 * fs/xfs.c: Likewise.
33483 * hello/hello.c: Likewise.
33484 * include/grub/acorn_filecore.h: Likewise.
33485 * include/grub/arg.h: Likewise.
33486 * include/grub/bitmap.h: Likewise.
33487 * include/grub/boot.h: Likewise.
33488 * include/grub/cache.h: Likewise.
33489 * include/grub/device.h: Likewise.
33490 * include/grub/disk.h: Likewise.
33491 * include/grub/dl.h: Likewise.
33492 * include/grub/elfload.h: Likewise.
33493 * include/grub/env.h: Likewise.
33494 * include/grub/err.h: Likewise.
33495 * include/grub/file.h: Likewise.
33496 * include/grub/font.h: Likewise.
33497 * include/grub/fs.h: Likewise.
33498 * include/grub/fshelp.h: Likewise.
33499 * include/grub/gzio.h: Likewise.
33500 * include/grub/hfs.h: Likewise.
33501 * include/grub/kernel.h: Likewise.
33502 * include/grub/loader.h: Likewise.
33503 * include/grub/lvm.h: Likewise.
33504 * include/grub/misc.h: Likewise.
33505 * include/grub/mm.h: Likewise.
33506 * include/grub/net.h: Likewise.
33507 * include/grub/normal.h: Likewise.
33508 * include/grub/parser.h: Likewise.
33509 * include/grub/partition.h: Likewise.
33510 * include/grub/pc_partition.h: Likewise.
33511 * include/grub/raid.h: Likewise.
33512 * include/grub/rescue.h: Likewise.
33513 * include/grub/script.h: Likewise.
33514 * include/grub/setjmp.h: Likewise.
33515 * include/grub/symbol.h: Likewise.
33516 * include/grub/term.h: Likewise.
33517 * include/grub/terminfo.h: Likewise.
33518 * include/grub/tparm.h: Likewise.
33519 * include/grub/types.h: Likewise.
33520 * include/grub/video.h: Likewise.
33521 * include/grub/efi/api.h: Likewise.
33522 * include/grub/efi/chainloader.h: Likewise.
33523 * include/grub/efi/console.h: Likewise.
33524 * include/grub/efi/console_control.h: Likewise.
33525 * include/grub/efi/disk.h: Likewise.
33526 * include/grub/efi/efi.h: Likewise.
33527 * include/grub/efi/pe32.h: Likewise.
33528 * include/grub/efi/time.h: Likewise.
33529 * include/grub/i386/linux.h: Likewise.
33530 * include/grub/i386/setjmp.h: Likewise.
33531 * include/grub/i386/types.h: Likewise.
33532 * include/grub/i386/efi/kernel.h: Likewise.
33533 * include/grub/i386/efi/loader.h: Likewise.
33534 * include/grub/i386/efi/time.h: Likewise.
33535 * include/grub/i386/pc/biosdisk.h: Likewise.
33536 * include/grub/i386/pc/boot.h: Likewise.
33537 * include/grub/i386/pc/chainloader.h: Likewise.
33538 * include/grub/i386/pc/console.h: Likewise.
33539 * include/grub/i386/pc/init.h: Likewise.
33540 * include/grub/i386/pc/kernel.h: Likewise.
33541 * include/grub/i386/pc/loader.h: Likewise.
33542 * include/grub/i386/pc/memory.h: Likewise.
33543 * include/grub/i386/pc/multiboot.h: Likewise.
33544 * include/grub/i386/pc/serial.h: Likewise.
33545 * include/grub/i386/pc/time.h: Likewise.
33546 * include/grub/i386/pc/vbe.h: Likewise.
33547 * include/grub/i386/pc/vbeblit.h: Likewise.
33548 * include/grub/i386/pc/vbefill.h: Likewise.
33549 * include/grub/i386/pc/vbeutil.h: Likewise.
33550 * include/grub/i386/pc/vga.h: Likewise.
33551 * include/grub/ieee1275/ieee1275.h: Likewise.
33552 * include/grub/ieee1275/ofdisk.h: Likewise.
33553 * include/grub/powerpc/libgcc.h: Likewise.
33554 * include/grub/powerpc/setjmp.h: Likewise.
33555 * include/grub/powerpc/types.h: Likewise.
33556 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
33557 * include/grub/powerpc/ieee1275/console.h: Likewise.
33558 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
33559 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
33560 * include/grub/powerpc/ieee1275/loader.h: Likewise.
33561 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
33562 * include/grub/powerpc/ieee1275/time.h: Likewise.
33563 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
33564 * include/grub/sparc64/libgcc.h: Likewise.
33565 * include/grub/sparc64/setjmp.h: Likewise.
33566 * include/grub/sparc64/types.h: Likewise.
33567 * include/grub/sparc64/ieee1275/console.h: Likewise.
33568 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
33569 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
33570 * include/grub/sparc64/ieee1275/time.h: Likewise.
33571 * include/grub/util/biosdisk.h: Likewise.
33572 * include/grub/util/getroot.h: Likewise.
33573 * include/grub/util/lvm.h: Likewise.
33574 * include/grub/util/misc.h: Likewise.
33575 * include/grub/util/raid.h: Likewise.
33576 * include/grub/util/resolve.h: Likewise.
33577 * io/gzio.c: Likewise.
33578 * kern/device.c: Likewise.
33579 * kern/disk.c: Likewise.
33580 * kern/dl.c: Likewise.
33581 * kern/elf.c: Likewise.
33582 * kern/env.c: Likewise.
33583 * kern/err.c: Likewise.
33584 * kern/file.c: Likewise.
33585 * kern/fs.c: Likewise.
33586 * kern/loader.c: Likewise.
33587 * kern/main.c: Likewise.
33588 * kern/misc.c: Likewise.
33589 * kern/mm.c: Likewise.
33590 * kern/parser.c: Likewise.
33591 * kern/partition.c: Likewise.
33592 * kern/rescue.c: Likewise.
33593 * kern/term.c: Likewise.
33594 * kern/efi/efi.c: Likewise.
33595 * kern/efi/init.c: Likewise.
33596 * kern/efi/mm.c: Likewise.
33597 * kern/i386/dl.c: Likewise.
33598 * kern/i386/efi/init.c: Likewise.
33599 * kern/i386/efi/startup.S: Likewise.
33600 * kern/i386/pc/init.c: Likewise.
33601 * kern/i386/pc/lzo1x.S: Likewise.
33602 * kern/i386/pc/startup.S: Likewise.
33603 * kern/ieee1275/ieee1275.c: Likewise.
33604 * kern/powerpc/cache.S: Likewise.
33605 * kern/powerpc/dl.c: Likewise.
33606 * kern/powerpc/ieee1275/cmain.c: Likewise.
33607 * kern/powerpc/ieee1275/crt0.S: Likewise.
33608 * kern/powerpc/ieee1275/init.c: Likewise.
33609 * kern/powerpc/ieee1275/openfw.c: Likewise.
33610 * kern/sparc64/cache.S: Likewise.
33611 * kern/sparc64/dl.c: Likewise.
33612 * kern/sparc64/ieee1275/init.c: Likewise.
33613 * kern/sparc64/ieee1275/openfw.c: Likewise.
33614 * loader/efi/chainloader.c: Likewise.
33615 * loader/efi/chainloader_normal.c: Likewise.
33616 * loader/i386/efi/linux.c: Likewise.
33617 * loader/i386/efi/linux_normal.c: Likewise.
33618 * loader/i386/pc/chainloader.c: Likewise.
33619 * loader/i386/pc/chainloader_normal.c: Likewise.
33620 * loader/i386/pc/linux.c: Likewise.
33621 * loader/i386/pc/linux_normal.c: Likewise.
33622 * loader/i386/pc/multiboot.c: Likewise.
33623 * loader/i386/pc/multiboot_normal.c: Likewise.
33624 * loader/powerpc/ieee1275/linux.c: Likewise.
33625 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
33626 * normal/arg.c: Likewise.
33627 * normal/cmdline.c: Likewise.
33628 * normal/command.c: Likewise.
33629 * normal/completion.c: Likewise.
33630 * normal/execute.c: Likewise.
33631 * normal/function.c: Likewise.
33632 * normal/lexer.c: Likewise.
33633 * normal/main.c: Likewise.
33634 * normal/menu.c: Likewise.
33635 * normal/menu_entry.c: Likewise.
33636 * normal/misc.c: Likewise.
33637 * normal/parser.y: Likewise.
33638 * normal/script.c: Likewise.
33639 * normal/i386/setjmp.S: Likewise.
33640 * normal/powerpc/setjmp.S: Likewise.
33641 * normal/sparc64/setjmp.S: Likewise.
33642 * partmap/acorn.c: Likewise.
33643 * partmap/amiga.c: Likewise.
33644 * partmap/apple.c: Likewise.
33645 * partmap/gpt.c: Likewise.
33646 * partmap/pc.c: Likewise.
33647 * partmap/sun.c: Likewise.
33648 * term/gfxterm.c: Likewise.
33649 * term/terminfo.c: Likewise.
33650 * term/efi/console.c: Likewise.
33651 * term/i386/pc/console.c: Likewise.
33652 * term/i386/pc/serial.c: Likewise.
33653 * term/i386/pc/vesafb.c: Likewise.
33654 * term/i386/pc/vga.c: Likewise.
33655 * term/ieee1275/ofconsole.c: Likewise.
33656 * util/biosdisk.c: Likewise.
33657 * util/console.c: Likewise.
33658 * util/genmoddep.c: Likewise.
33659 * util/getroot.c: Likewise.
33660 * util/grub-emu.c: Likewise.
33661 * util/grub-mkdevicemap.c: Likewise.
33662 * util/grub-probe.c: Likewise.
33663 * util/lvm.c: Likewise.
33664 * util/misc.c: Likewise.
33665 * util/raid.c: Likewise.
33666 * util/resolve.c: Likewise.
33667 * util/update-grub.in: Likewise.
33668 * util/update-grub_lib.in: Likewise.
33669 * util/grub.d/00_header.in: Likewise.
33670 * util/grub.d/10_hurd.in: Likewise.
33671 * util/grub.d/10_linux.in: Likewise.
33672 * util/i386/efi/grub-install.in: Likewise.
33673 * util/i386/efi/grub-mkimage.c: Likewise.
33674 * util/i386/pc/grub-install.in: Likewise.
33675 * util/i386/pc/grub-mkimage.c: Likewise.
33676 * util/i386/pc/grub-mkrescue.in: Likewise.
33677 * util/i386/pc/grub-setup.c: Likewise.
33678 * util/i386/pc/misc.c: Likewise.
33679 * util/powerpc/ieee1275/grub-install.in: Likewise.
33680 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
33681 * util/powerpc/ieee1275/misc.c: Likewise.
33682 * video/bitmap.c: Likewise.
33683 * video/video.c: Likewise.
33684 * video/i386/pc/vbe.c: Likewise.
33685 * video/i386/pc/vbeblit.c: Likewise.
33686 * video/i386/pc/vbefill.c: Likewise.
33687 * video/i386/pc/vbeutil.c: Likewise.
33688 * video/readers/tga.c: Likewise.
33689
33690 2007-07-02 Robert Millan <rmh@aybabtu.com>
33691
33692 * conf/i386-efi.rmk: Replace obsolete reference to
33693 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
33694 with util/getroot.c.
33695 * conf/powerpc-ieee1275.rmk: Likewise.
33696 * conf/sparc64-ieee1275.rmk: Likewise.
33697
33698 * util/grub-emu.c (main): Fix unchecked pointer handling.
33699
33700 2007-07-02 Robert Millan <rmh@aybabtu.com>
33701
33702 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
33703 invocation to fail, in order to support partition-less media.
33704
33705 * util/i386/pc/grub-install.in: Likewise.
33706
33707 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
33708 which fs or partmap modules are needed (akin to its sister scripts).
33709
33710 Also use grub-probe to get rid of unportable /proc/mounts check.
33711
33712 Print the same informational message that the other scripts do, before
33713 exiting.
33714
33715 2007-06-23 Robert Millan <rmh@aybabtu.com>
33716
33717 * util/update-grub_lib.in (font_path): New function. Determine whether
33718 a font file can be found and, if so, echo the GRUB path to it.
33719
33720 * util/update-grub.in: Handle multiple terminals depending on user
33721 input, platform availability and font file presence. Propagate
33722 variables of our findings to /etc/grub.d/ children.
33723
33724 * util/grub.d/00_header.in: Handle multiple terminals, based on
33725 environment setup by update-grub.
33726
33727 2007-06-23 Robert Millan <rmh@aybabtu.com>
33728
33729 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
33730
33731 2007-06-21 Robert Millan <rmh@aybabtu.com>
33732
33733 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
33734 indicate end of data section in kernel image.
33735 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
33736 GRUB_KERNEL_MACHINE_DATA_END.
33737
33738 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
33739 space for it.
33740 * kern/i386/efi/startup.S: Likewise.
33741
33742 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
33743 during image generation. Implement --prefix option to override this
33744 patch.
33745 * util/i386/efi/grub-mkimage.c: Likewise.
33746
33747 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
33748 code to make path relative to its root into a separate function.
33749
33750 * util/i386/pc/grub-install.in: Use newly provided
33751 make_system_path_relative_to_its_root() to convert ${grubdir}, then
33752 pass the result to grub-install --prefix.
33753
33754 2007-06-13 Robert Millan <rmh@aybabtu.com>
33755
33756 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
33757 DEFAULT_DEVICE_MAP.
33758 * util/grub-emu.c: Use above definitions from misc.h instead of
33759 defining them.
33760 * util/grub-mkdevicemap.c: Likewise.
33761 * util/i386/pc/grub-setup.c: Likewise.
33762 * util/grub-probe.c: Likewise.
33763 (probe): Abort with grub_util_error() when either
33764 grub_guess_root_device or grub_util_get_grub_dev fails.
33765
33766 2007-06-12 Robert Millan <rmh@aybabtu.com>
33767
33768 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
33769 "pager" assignment.
33770 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
33771 "pcdata".
33772 * util/grub-probe.c (probe): Likewise for "drive_name".
33773
33774 2007-06-11 Robert Millan <rmh@aybabtu.com>
33775
33776 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
33777 not just the cdrom one.
33778
33779 2007-06-11 Robert Millan <rmh@aybabtu.com>
33780
33781 * util/i386/pc/grub-mkrescue.in: Add "set -e".
33782 Add --pkglibdir=DIR option to override pkglibdir.
33783 Mention --image-type=TYPE in help output.
33784 Fix --grub-mkimage (it was a no-op).
33785 Abort gracefully when no parameter is given.
33786
33787 2007-06-11 Robert Millan <rmh@aybabtu.com>
33788
33789 * util/i386/pc/grub-mkrescue.in: New file.
33790 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
33791 * Makefile.in: Handle bin_SCRIPTS.
33792
33793 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
33794
33795 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
33796 list of video modes.
33797
33798 2007-06-06 Robert Millan <rmh@aybabtu.com>
33799
33800 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
33801 file doesn't exist, or if it is in a filesystem grub can't read.
33802
33803 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
33804 not abort if GRUB_DRIVE could not be defined. Rearrange generated
33805 header comment to fit in 80 columns when the variables are resolved.
33806
33807 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
33808 could be identified by update-grub. Remove redundant check for
33809 unifont.pff existence (since convert_system_path_to_grub_path now
33810 handles that).
33811
33812 2007-06-04 Robert Millan <rmh@aybabtu.com>
33813
33814 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
33815
33816 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
33817
33818 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
33819
33820 2007-06-04 Robert Millan <rmh@aybabtu.com>
33821
33822 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
33823
33824 * include/grub/partition.h: Declare grub_apple_partition_map_init and
33825 grub_apple_partition_map_fini.
33826
33827 * util/biosdisk.c
33828 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
33829 to access >2 TiB disks).
33830
33831 Print disk->total_sectors with %llu instead of %lu, since this
33832 variable is always 64-bit (prevents wrong disk size from being displayed
33833 on either >2 TiB disk or big-endian CPU).
33834
33835 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
33836 into a generic case that supports all (sane) partition maps.
33837
33838 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
33839 breaks big-endian.
33840
33841 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
33842 and grub_apple_partition_map_fini() after that.
33843
33844 2007-06-01 Robert Millan <rmh@aybabtu.com>
33845
33846 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
33847
33848 * util/grub.d/00_header.in: Only enable gfxterm when
33849 convert_system_path_to_grub_path() succeeds.
33850
33851 2007-05-20 Robert Millan <rmh@aybabtu.com>
33852
33853 * util/update-grub_lib.in: New file.
33854 * DISTLIST: Add update-grub_lib.in.
33855 * conf/common.rmk: Generate update-grub_lib and install it in
33856 $(lib_DATA).
33857 * Makefile.in: Add install routine for $(lib_DATA).
33858
33859 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
33860 function provided by update-grub_lib to support arbitrary paths of
33861 unifont.pff.
33862 * util/update-grub.in: Use convert_system_path_to_grub_path() to
33863 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
33864
33865 2007-05-19 Robert Millan <rmh@aybabtu.com>
33866
33867 * commands/i386/cpuid.c: New module.
33868 * DISTLIST: Add it.
33869 * conf/i386-efi.rmk: Enable cpuid.mod.
33870 * conf/i386-pc.rmk: Likewise.
33871
33872 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
33873
33874 * kern/disk.c (grub_disk_read): Check return value of
33875 grub_realloc().
33876
33877 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
33878
33879 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
33880 arrays.
33881 * disk/raid.c (grub_raid_open): Likewise.
33882
33883 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
33884
33885 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
33886 stack instead of on the heap.
33887
33888 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
33889 before doing a read on it.
33890
33891 * configure.ac: Only use -fno-stack-protector for the target
33892 environment.
33893
33894 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
33895
33896 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
33897 __attribute_ ((unused)) to mode_type argument.
33898
33899 * util/getroot.c (grub_guess_root_device): Fix #endif.
33900
33901 * kern/misc.c (memcmp): Fix prototype.
33902
33903 * include/grub/partition.h [GRUB_UTIL]
33904 (grub_gpt_partition_map_init): Add prototype.
33905 (grub_gpt_partition_map_fini): Likewise.
33906
33907 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
33908 at the right place.
33909
33910 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
33911 (grub_fat_read_data): Likewise.
33912 (grub_fat_find_dir): Likewise.
33913
33914 * font/manager.c (find_glyph): Make table a const.
33915 (grub_font_get_glyph): Remove bitmap from if statement.
33916
33917 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
33918
33919 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
33920 code, first search for device in /dev/mapper, then in /dev.
33921 (grub_util_get_grub_dev): New function.
33922 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
33923 prototype.
33924 * util/grub-probe.c (probe): Remove check for RAID, call
33925 grub_util_get_grub_dev() instead of
33926 grub_util_biosdisk_get_grub_dev().
33927 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
33928 grub_util_biosdisk_get_grub_dev().
33929 * util/i386/pc/grub-setup.c (main): Likewise.
33930
33931 2007-05-16 Robert Millan <rmh@aybabtu.com>
33932
33933 * DISTLIST: Update for the latest changes.
33934 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
33935 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
33936 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
33937 grub/util/biosdisk.h.
33938 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
33939 grub/util/biosdisk.h.
33940
33941 2007-05-16 Robert Millan <rmh@aybabtu.com>
33942
33943 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
33944
33945 2007-05-16 Robert Millan <rmh@aybabtu.com>
33946
33947 * util/i386/efi/grub-install.in: New.
33948 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
33949 newly added grub-install.
33950 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
33951 include.
33952 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
33953 grub/util/biosdisk.h.
33954 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
33955 grub/util/biosdisk.h.
33956
33957 2007-05-16 Robert Millan <rmh@aybabtu.com>
33958
33959 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
33960 * include/grub/util/biosdisk.h: ... here.
33961 * util/i386/pc/biosdisk.c: Moved to ...
33962 * util/biosdisk.c: ... here.
33963 * util/i386/pc/getroot.c: Moved to ...
33964 * util/getroot.c: ... here.
33965 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
33966 * util/grub-mkdevicemap.c: ... here.
33967 * util/i386/pc/grub-probe.c: Moved to ...
33968 * util/grub-probe.c: ... here.
33969
33970 2007-05-15 Robert Millan <rmh@aybabtu.com>
33971
33972 * util/update-grub.in: Remove duplicated line in grub.cfg header
33973 message.
33974
33975 2007-05-13 Robert Millan <rmh@aybabtu.com>
33976
33977 * util/update-grub.in: Fix a few assumptions about the devices holding
33978 /, /boot and /boot/grub being the same.
33979 * util/grub.d/00_header.in: Likewise.
33980 * util/grub.d/10_hurd.in: Likewise.
33981 * util/grub.d/10_linux.in: Likewise.
33982
33983 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
33984 patterns. Use that to define the `.old' suffix as older than `'.
33985
33986 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
33987
33988 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
33989 the grub.cfg header message.
33990
33991 2007-05-11 Robert Millan <rmh@aybabtu.com>
33992
33993 * util/update-grub.in: Create device.map if it doesn't already exist,
33994 before attempting to run grub-probe.
33995 Check for grub-probe and grub-mkdevicemap with the same code
33996 grub-install is using.
33997 Remove test mode.
33998
33999 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
34000
34001 * Makefile.in: Add the datarootdir autoconf variable.
34002
34003 2007-05-09 Robert Millan <rmh@aybabtu.com>
34004
34005 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
34006 fail gracefully if dev->disk->partition == NULL.
34007
34008 2007-05-07 Robert Millan <rmh@aybabtu.com>
34009
34010 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
34011 determine partition map module.
34012 * util/i386/pc/grub-install.in: Use this feature to decide which
34013 partition module to load, instead of hardcoding pc and gpt.
34014
34015 2007-05-07 Robert Millan <rmh@aybabtu.com>
34016
34017 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
34018 source directory differs from build directory.
34019
34020 2007-05-05 Robert Millan <rmh@aybabtu.com>
34021
34022 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
34023 initialisation.
34024
34025 2007-05-05 Robert Millan <rmh@aybabtu.com>
34026
34027 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
34028
34029 2007-05-05 Robert Millan <rmh@aybabtu.com>
34030
34031 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
34032 command-line arguments via ${GRUB_CMDLINE_LINUX}.
34033
34034 2007-05-05 Robert Millan <rmh@aybabtu.com>
34035
34036 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
34037 (grub_probe_SOURCES): Likewise.
34038 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
34039 GPT and initialize dos_part and bsd_part accordingly.
34040 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
34041 install_bsd_part.
34042 (main): Activate gpt module for use during partition identification,
34043 and deactivate it afterwards.
34044 * util/i386/pc/grub-install.in: Add gpt module to core.img.
34045 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
34046 partition identification, and deactivate it afterwards.
34047
34048 2007-05-05 Robert Millan <rmh@aybabtu.com>
34049
34050 * term/i386/pc/console.c (grub_console_fini): Call
34051 grub_term_set_current() before grub_term_unregister().
34052
34053 2007-05-04 Robert Millan <rmh@aybabtu.com>
34054
34055 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
34056 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
34057 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
34058 and update-grub_DATA.
34059 * conf/common.rmk: Build and install update-grub components.
34060 * conf/common.mk: Regenerate.
34061 * util/update-grub.in: New. Core of update-grub.
34062 * util/grub.d/00_header.in: New. Generates grub.cfg header.
34063 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
34064 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
34065 * util/grub.d/README: New. Document grub.d directory layout.
34066
34067 2007-05-01 Robert Millan <rmh@aybabtu.com>
34068
34069 * util/grub-emu.c: Move initialization functions
34070 grub_util_biosdisk_init() and grub_init_all() before
34071 grub_util_biosdisk_get_grub_dev(), which relies on them.
34072
34073 2007-04-19 Robert Millan <rmh@aybabtu.com>
34074
34075 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
34076 it is used later.
34077
34078 2007-04-18 Jerone Young <jerone@gmail.com>
34079
34080 * kernel/elf.c: Add missing parenthesis for conditional statement
34081 stanza.
34082
34083 2007-04-10 Jerone Young <jerone@gmail.com>
34084
34085 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
34086 continue on and look for device node with real device name.
34087
34088 2007-04-10 Jerone Young <jerone@gmail.com>
34089
34090 * configure.ac: Add argument for autoconf to use transformation
34091 ability.
34092 * Makefile.in: Add autoconf package transformation code.
34093 * util/i386/pc/grub-install.in: Likewise.
34094 * util/powerpc/ieee1275/grub-install.in: Likewise.
34095
34096 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
34097
34098 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
34099 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
34100 (EXT2_REVISION): Likewise.
34101 (EXT2_INODE_SIZE): Likewise.
34102 (struct grub_ext2_block_group): Added a missing member
34103 "used_dirs".
34104 (grub_ext2_read_inode): Divide by the inode size in a superblock
34105 instead of 128 to obtain INODES_PER_BLOCK.
34106 Use the macro EXT2_INODE_SIZE instead of directly using
34107 SBLOCK->INODE_SIZE.
34108
34109 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
34110
34111 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
34112 superblock instead of the structure size to compute an
34113 offset. This fixes the problem that GRUB could not read a
34114 filesystem when inode size is different from 128-byte.
34115
34116 2007-03-05 Marco Gerards <marco@gnu.org>
34117
34118 * normal/main.c (read_config_file): When "menu" is not set, create
34119 an initial context.
34120
34121 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
34122
34123 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
34124 (HEAP_LIMIT): New macro.
34125 (grub_claim_heap): Claim memory up to `heaplimit'.
34126
34127 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
34128
34129 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
34130 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
34131 (_start): Likewise.
34132 (grub_arch_modules_addr): Return address after `_end'.
34133 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
34134 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
34135 (add_segments): Calculate `_end' from phdr size and location.
34136 (ALIGN_UP): Moved to ...
34137 * include/grub/misc.h: here.
34138 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
34139 New macro.
34140 (GRUB_IEEE1275_MODULE_BASE): Removed.
34141
34142 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
34143
34144 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
34145 loop boundary.
34146
34147 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
34148
34149 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
34150 All users updated.
34151 (grub_elf64_load_hook_t): Likewise.
34152 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
34153 debug output.
34154
34155 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
34156
34157 * kern/mm.c: Update copyright.
34158 (grub_mm_debug): Correct syntax error.
34159 (grub_mm_dump_free): New function.
34160 (grub_debug_free): Call `grub_free'.
34161 * include/grub/mm.h: Update copyright.
34162 (grub_mm_dump_free): Add declaration.
34163
34164 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
34165
34166 * include/grub/ieee1275/ieee1275.h: Update copyright.
34167 * kern/powerpc/ieee1275/init.c: Likewise.
34168 * kern/powerpc/ieee1275/openfw.c: Likewise.
34169
34170 * loader/powerpc/ieee1275/linux.c: Likewise.
34171 * include/grub/elfload.h: Likewise.
34172 * kern/elf.c: Likewise.
34173 (grub_elf32_load): Pass `base' and `size' parameters. Update all
34174 callers.
34175 (grub_elf64_load): Likewise.
34176 (grub_elf32_load_segment): Move to a nested function.
34177 (grub_elf64_load_segment): Likewise.
34178
34179 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
34180
34181 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
34182 prototype.
34183 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
34184 (grub_heap_len): Likewise.
34185 (HEAP_SIZE): New macro.
34186 (grub_claim_heap): New function.
34187 (grub_machine_init): Don't claim heap directly. Call
34188 `grub_claim_heap'.
34189 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
34190 (grub_available_iterate): New function.
34191
34192 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
34193
34194 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
34195 * configure.ac: Use it for testing the HOST and TARGET compilers.
34196
34197 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
34198
34199 * Makefile.in (enable_grub_emu): New variable.
34200 * configure.ac (--enable-grub-emu): New option.
34201 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
34202 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
34203 * conf/i386-pc.rmk: Likewise.
34204 * conf/powerpc-ieee1275.rmk: Likewise.
34205 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
34206
34207 2006-12-12 Marco Gerards <marco@gnu.org>
34208
34209 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
34210
34211 * kern/env.c (grub_env_unset): Don't free the member `value' when
34212 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
34213 pointer.
34214
34215 * normal/main.c (current_menu): Removed.
34216 (free_menu): Unset the `menu' environment variable.
34217 (grub_normal_menu_addentry): Make use of the environment variable
34218 `menu', instead of using the global `current_menu'. Allocate
34219 memory for the sourcecode of this entry.
34220 (read_config_file): New argument `nested', changed all callers.
34221 Only in the case of a new context, initialize a new menu. Set the
34222 `menu' environment variable.
34223 (grub_normal_execute): Don't set and unset the environment
34224 variable `menu' here anymore. Only free the menu when leaving the
34225 context.
34226
34227 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
34228 leak.
34229
34230 2006-12-11 Marco Gerards <marco@gnu.org>
34231
34232 * normal/menu_entry.c (run): Fix off by one bug so the last line
34233 is executed. Move the loader check to outside the loop.
34234
34235 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
34236
34237 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
34238
34239 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
34240
34241 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
34242 the number of sectors. Reported by Andrey Shuvikov
34243 <mr_hyro@yahoo.com>.
34244
34245 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
34246
34247 * kern/disk.c (grub_disk_read): When there is a read error, always
34248 try to read only the necessary data.
34249
34250 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
34251 disk/raid.c.
34252 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
34253 prototype.
34254 [GRUB_UTIL] (grub_raid_fini): Likewise.
34255 [GRUB_UTIL] (grub_lvm_init): Likewise.
34256 [GRUB_UTIL] (grub_lvm_fini): Likewise.
34257 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
34258 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
34259 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
34260 and grub_raid_fini().
34261
34262 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
34263
34264 * include/grub/types.h (__unused): Rename to UNUSED.
34265 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
34266 (grub_elf64_size): Likewise.
34267
34268 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
34269
34270 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
34271 grub_error_push and grub_error_pop in the error-handling path.
34272 (grub_elf32_load_segment): Only call grub_file_read with non-zero
34273 length.
34274
34275 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
34276
34277 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
34278 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34279 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34280 (kernel_elf_SOURCES): Likewise.
34281 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
34282 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
34283 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34284 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34285 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
34286 (elf_mod_SOURCES): New variable.
34287 (elf_mod_CFLAGS): Likewise.
34288 (elf_mod_LDFLAGS): Likewise.
34289 * include/grub/types.h (__unused): New macro.
34290 * include/grub/elfload.h: New file.
34291 * kern/elf.c: Likewise.
34292 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
34293 (ELF32_LOADMASK): New macro.
34294 (ELF64_LOADMASK): Likewise.
34295 (vmlinux): Removed.
34296 (grub_linux_load32): New function.
34297 (grub_linux_load64): Likewise.
34298 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
34299 Use grub_elf_t instead of grub_file_t.
34300
34301 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
34302
34303 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
34304 `catch_result' to struct set_color_args.
34305
34306 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
34307
34308 * normal/menu.c: Include grub/script.h.
34309 * normal/menu_entry.c: Likewise.
34310 * include/grub/normal.h: Do not include grub/script.h.
34311
34312 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34313
34314 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
34315
34316 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34317
34318 * kern/disk.c (grub_disk_open): Print debug messages when opening a
34319 disk.
34320 (grub_disk_close): Print debug messages when closing a disk.
34321 (grub_disk_read): Print debug messages when disk read fails.
34322 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
34323 filesystem type.
34324 * kern/partition.c: Include misc.h.
34325 (grub_partition_iterate): Print debug messages when detecting
34326 partition type.
34327
34328 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34329
34330 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
34331 is negative.
34332 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
34333
34334 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
34335
34336 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
34337 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
34338
34339 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
34340
34341 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
34342 instead of sizeof(lv). Patch by Michael Guntsche.
34343
34344 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
34345
34346 * disk/lvm.c: Rename VGS to VG_LIST.
34347 (grub_lvm_iterate): Change VGS->LV to VG-LV.
34348 (grub_lvm_open): Likewise.
34349 Thanks to Michael Guntsche for finding this bug.
34350
34351 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34352
34353 * configure.ac (AC_INIT): Bumped to 1.95.
34354
34355 2006-10-14 Robert Millan <rmh@aybabtu.com>
34356
34357 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
34358 with "/dev/.static/dev/md".
34359
34360 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
34361
34362 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
34363 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
34364 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
34365 DRIVE_NAME are always freed.
34366
34367 * util/i386/pc/biosdisk.c (make_device_name): Add one into
34368 DOS_PART, as a DOS partition is counted from one instead of zero
34369 now. Reported by Robert Millan.
34370
34371 2006-10-14 Robert Millan <rmh@aybabtu.com>
34372
34373 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
34374 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
34375 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
34376 string returned by grub_guess_root_device.
34377 * util/i386/pc/grub-setup.c: Likewise.
34378 * util/i386/pc/grub-probefs.c: Likewise.
34379
34380 * util/i386/pc/grub-probefs.c: Rename to ...
34381 * util/i386/pc/grub-probe.c: ... this.
34382 * DISTLIST: Remove grub-probefs, add grub-probe.
34383 * conf/i386-efi.rmk: Likewise.
34384 * conf/i386-pc.rmk: Likewise.
34385 * util/i386/pc/grub-install.in: Likewise.
34386
34387 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
34388 choose which information we want to print.
34389
34390 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
34391
34392 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
34393 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
34394 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
34395 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
34396 video/readers/tga.c and video/i386/pc/vbeutil.c.
34397
34398 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
34399
34400 Added support for RAID and LVM.
34401
34402 * disk/lvm.c: New file.
34403 * disk/raid.c: Likewise.
34404 * include/grub/lvm.h: Likewise.
34405 * include/grub/raid.h: Likewise.
34406 * include/grub/util/lvm.h: Likewise.
34407 * include/grub/util/raid.h: Likewise.
34408 * util/lvm.c: Likewise.
34409 * util/raid.c: Likewise.
34410
34411 * include/grub/disk.h (grub_disk_dev_id): Add
34412 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
34413 (grub_disk_get_size): New prototype.
34414 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
34415 returns a partition.
34416 (grub_disk_get_size): New function.
34417
34418 * kern/i386/pc/init.c (make_install_device): Copy the prefix
34419 verbatim if grub_install_dos_part is -2.
34420
34421 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
34422 and LVM devices.
34423
34424 * util/i386/pc/grub-setup.c (setup): New argument
34425 MUST_EMBED. Force embedding of GRUB when the argument is
34426 true. Close FILE before returning.
34427 (main): Add support for RAID and LVM.
34428
34429 * conf/common.rmk: Add RAID and LVM modules.
34430 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
34431 util/lvm.c.
34432 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
34433
34434 * kern/misc.c (grub_strstr): New function.
34435 * include/grub/misc.h (grub_strstr): New prototype.
34436
34437 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
34438
34439 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
34440
34441 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
34442
34443 * kern/misc.c (grub_strtoull): Guess the base only if not
34444 specified.
34445
34446 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
34447
34448 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
34449 PowerMac support.
34450
34451 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
34452
34453 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
34454
34455 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
34456 Remove `flags' argument. All callers changed.
34457 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
34458 (IEEE1275_IHANDLE_INVALID): New variable.
34459 (IEEE1275_CELL_INVALID): New variable.
34460 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
34461 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
34462 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
34463 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
34464 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
34465 codes from Open Firmware. All callers updated.
34466 (grub_ieee1275_next_property): Directly return Open Firmware return
34467 code.
34468 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
34469 Standardize error checking from `grub_ieee1275_get_property'.
34470 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
34471 `devalias' to `aliases'. Correct comments. Consolidate error paths.
34472
34473 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
34474
34475 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
34476 `instance_to_package_args' to `instance_to_path_args'.
34477
34478 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
34479 `grub_ieee1275_chosen'.
34480
34481 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
34482 `grub_ieee1275_interpret'.
34483
34484 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
34485
34486 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
34487
34488 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
34489
34490 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
34491 (__cmpdi): Likewise.
34492
34493 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
34494 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
34495 `grub_ssize_t'.
34496
34497 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
34498
34499 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
34500 to type `grub_ssize_t'.
34501 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
34502
34503 2006-09-22 Marco Gerards <marco@gnu.org>
34504
34505 * normal/script.c (grub_script_create_cmdmenu): Skip leading
34506 newlines.
34507
34508 2006-09-22 Marco Gerards <marco@gnu.org>
34509
34510 * commands/echo.c: New file.
34511
34512 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
34513
34514 * conf/common.rmk (echo_mod_SOURCES): New variable.
34515 (echo_mod_CFLAGS): Likewise.
34516 (echo_mod_LDFLAGS): Likewise.
34517
34518 2006-09-22 Marco Gerards <marco@gnu.org>
34519
34520 * normal/main.c (get_line): Malloc memory instead of using
34521 preallocated memory. Removed the arguments `cmdline' and
34522 `max_len'. Updated all callers.
34523
34524 2006-09-22 Marco Gerards <marco@gnu.org>
34525
34526 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
34527 (normal_mod_DEPENDENCIES): Likewise.
34528
34529 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
34530 (normal_mod_DEPENDENCIES): Likewise.
34531
34532 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
34533
34534 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
34535
34536 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
34537 programs.
34538 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
34539 (normal_mod_DEPENDENCIES): Likewise.
34540 * conf/i386-pc.mk: Regenerate.
34541 * conf/i386-efi.mk: Likewise
34542 * conf/common.mk: Likewise.
34543 * conf/powerpc-ieee1275.mk: Likewise.
34544 * conf/sparc64-ieee1275.mk: Likewise.
34545
34546 2006-09-22 Robert Millan <rmh@aybabtu.com>
34547
34548 Sync with i386 version.
34549 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
34550 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
34551
34552 2006-09-21 Robert Millan <rmh@aybabtu.com>
34553
34554 Import from GRUB Legacy (lib/device.c):
34555 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
34556 (init_device_map) [__linux__]: Add support for I2O devices.
34557
34558 2006-09-14 Marco Gerards <marco@gnu.org>
34559
34560 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
34561 `-melf_i386'.
34562
34563 2006-09-14 Robert Millan <rmh@aybabtu.com>
34564
34565 * util/i386/pc/grub-install.in: Skip menu.lst when removing
34566 /boot/grub/*.lst.
34567
34568 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
34569
34570 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
34571 before adding it to device.map.
34572
34573 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
34574
34575 * genmk.rb: Let GCC generate dependencies the first time it
34576 compiles a file; using the -MD option.
34577 * conf/common.mk: Regenerate.
34578 * conf/i386-pc.mk: Likewise.
34579 * conf/i386-efi.mk: Likewise.
34580 * conf/powerpc-ieee1275.mk: Likewise.
34581 * conf/sparc64-ieee1275.mk: Likewise.
34582
34583 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
34584
34585 Move the prototypes of grub_setjmp and grub_longjmp to
34586 cpu/setjmp.h, so that each architecture may specify different
34587 attributes.
34588
34589 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
34590 (grub_longjmp): Likewise.
34591 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
34592 (grub_longjmp): Likewise.
34593 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
34594 (grub_longjmp): Likewise.
34595
34596 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
34597 [!GRUB_UTIL] (grub_longjmp): Removed.
34598
34599 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
34600
34601 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
34602 "color!" method does not return any value.
34603
34604 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34605
34606 * include/grub/bitmap.h: New file.
34607
34608 * include/grub/i386/pc/vbeutil.h: Likewise.
34609
34610 * video/bitmap.c: Likewise.
34611
34612 * video/readers/tga.c: Likewise.
34613
34614 * video/i386/pc/vbeutil.c: Likewise.
34615
34616 * commands/videotest.c: Code cleanup and updated to reflect to new
34617 video API.
34618
34619 * term/gfxterm.c: Likewise.
34620
34621 * video/video.c: Likewise.
34622
34623 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
34624 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
34625 (bitmap_mod_SOURCES): New entry.
34626 (bitmap_mod_CFLAGS): Likewise.
34627 (bitmap_mod_LDFLAGS): Likewise.
34628 (tga_mod_SOURCES): Likewise.
34629 (tga_mod_CFLAGS): Likewise.
34630 (tga_mod_LDFLAGS): Likewise.
34631
34632 * include/grub/video.h (grub_video_blit_operators): New enum type.
34633 (grub_video_render_target): Changed as forward declaration and moved
34634 actual definition to be video driver specific.
34635 (grub_video_adapter.blit_bitmap): Added blitting operator.
34636 (grub_video_adapter.blit_render_target): Likewise.
34637 (grub_video_blit_bitmap): Likewise.
34638 (grub_video_blit_render_target): Likewise.
34639
34640 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
34641 driver specific render target definition.
34642 (grub_video_vbe_map_rgba): Added driver internal helper.
34643 (grub_video_vbe_unmap_color): Updated to use
34644 grub_video_i386_vbeblit_info.
34645 (grub_video_vbe_get_video_ptr): Likewise.
34646
34647 * include/grub/i386/pc/vbeblit.h
34648 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
34649 grub_video_i386_vbeblit_info.
34650 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34651 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34652 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34653 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34654 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34655 (grub_video_i386_vbeblit_index_index): Likewise.
34656 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
34657 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34658 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34659 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
34660 operator.
34661 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
34662 operator.
34663
34664 * video/i386/pc/vbeblit.c: Updated to reflect changes on
34665 include/grub/i386/pc/vbeblit.h.
34666
34667 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
34668 Updated to use grub_video_i386_vbeblit_info.
34669 (grub_video_i386_vbefill_R8G8B8): Likewise.
34670 (grub_video_i386_vbefill_index): Likewise.
34671 (grub_video_i386_vbefill): Added generic filler.
34672
34673 * video/i386/pc/vbefill.c: Updated to reflect changes on
34674 include/grub/i386/pc/vbefill.h.
34675
34676 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
34677 grub_video_i386_vbeblit_info.
34678 (grub_video_vbe_unmap_color): Likewise.
34679 (grub_video_vbe_blit_glyph): Likewise.
34680 (grub_video_vbe_scroll): Likewise.
34681 (grub_video_vbe_draw_pixel): Removed function.
34682 (grub_video_vbe_get_pixel): Likewise.
34683 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
34684 updated code to use it.
34685 (common_blitter): Added common blitter for render target and bitmap.
34686 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
34687 (grub_video_vbe_blit_render_target): Likewise.
34688
34689 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
34690
34691 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
34692 is in text mode if there is no console control protocol instance
34693 available.
34694
34695 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34696
34697 * include/grub/video.h: Code cleanup.
34698
34699 * include/grub/i386/pc/vbe.h: Likewise.
34700
34701 * video/i386/pc/vbe.c: Likewise.
34702
34703 * video/i386/pc/vbeblit.c: Likewise.
34704
34705 * video/i386/pc/vbefill.c: Likewise.
34706
34707 * video/video.c: Likewise. Also added more comments.
34708
34709 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34710
34711 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
34712 (struct grub_biosdisk_dap): Likewise.
34713
34714 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
34715 linkage settings for all functions.
34716
34717 2006-07-12 Marco Gerards <marco@gnu.org>
34718
34719 * configure.ac (--enable-mm-debug): Fix typo.
34720
34721 * genkernsyms.sh.in: Use proper quoting for `CC'.
34722
34723 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
34724
34725 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
34726 (normal_mod_ASFLAGS): Remove "-m32".
34727
34728 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
34729
34730 * util/misc.c: Include config.h.
34731 [!HAVE_MEMALIGN]: Do not include malloc.h.
34732 (grub_memalign): Use posix_memalign, if present. Then, use
34733 memalign, if present. Otherwise, emit an error.
34734
34735 * util/grub-emu.c: Do not include malloc.h.
34736
34737 * include/grub/util/misc.h: Include unistd.h. This is required for
34738 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
34739 D. Eades III <hde@foobar-qux.org>.
34740
34741 * configure.ac (AC_GNU_SOURCE): Added.
34742 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
34743 type.
34744
34745 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
34746
34747 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
34748 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
34749
34750 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
34751
34752 * include/grub/types.h (grub_host_addr_t): Rename to
34753 grub_target_addr_t.
34754 (grub_host_off_t): Rename to grub_target_off_t.
34755 (grub_host_size_t): Rename to grub_target_size_t.
34756 (grub_host_ssize_t): Rename to grub_target_ssize_t.
34757 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
34758
34759 * include/grub/kernel.h (struct grub_module_header): Change type
34760 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
34761 (grub_module_info): Likewise.
34762
34763 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34764
34765 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
34766 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
34767 Velazquez <jesus.velazquez@gmail.com>.
34768
34769 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34770
34771 Count partitions from 1 instead of 0 in the string representation
34772 of partitions. Still use 0-based internally.
34773
34774 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
34775 (sun_partition_map_iterate): Use grub_partition_t instead of
34776 struct grub_partition *. Cast DESC->START_CYLINDER to
34777 grub_uint64_t after converting the endian.
34778 (sun_partition_map_probe): Subtract 1 for PARTNUM.
34779 (sun_partition_map_get_name): Add 1 to P->INDEX.
34780
34781 * partmap/pc.c (grub_partition_parse): Subtract 1 for
34782 PCDATA->DOS_PART.
34783 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
34784
34785 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
34786 zero instead of one.
34787 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
34788 (gpt_partition_map_get_name): Add 1 into P->INDEX.
34789
34790 * partmap/apple.c (apple_partition_map_iterate): Change the type
34791 of POS to unsigned.
34792 (apple_partition_map_probe): Subtract 1 for PARTNUM.
34793 (apple_partition_map_get_name): Add 1 into P->INDEX.
34794
34795 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
34796 of POS to unsigned.
34797 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
34798 calculate the offset of a partition.
34799 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
34800 (amiga_partition_map_get_name): Add 1 into P->INDEX.
34801
34802 * partmap/acorn.c (acorn_partition_map_find): Change the type of
34803 SECTOR to grub_disk_addr_t.
34804 (acorn_partition_map_iterate): Likewise.
34805 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
34806 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
34807 top.
34808 (acorn_partition_map_get_name): Add 1 into P->INDEX.
34809
34810 * kern/i386/pc/init.c (make_install_device): Add 1 into
34811 GRUB_INSTALL_DOS_PART.
34812
34813 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
34814 conditional.
34815
34816 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
34817
34818 Clean up the code to support 64-bit addressing in disks and
34819 files. This change is not enough for filesystems yet.
34820
34821 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
34822 type of "start" to grub_uint64_t.
34823 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
34824 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
34825 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
34826 convert addresses.
34827
34828 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
34829 to grub_disk_addr_t.
34830
34831 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
34832 string.
34833
34834 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34835
34836 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
34837 to char *.
34838
34839 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
34840
34841 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
34842
34843 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
34844
34845 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
34846 to grub_off_t, to detect an error from grub_file_seek.
34847 (grub_multiboot_load_elf32): Likewise.
34848
34849 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
34850 maximum unsigned long value when an overflow is detected.
34851 (grub_strtoull): New function.
34852 (grub_divmod64): Likewise.
34853 (grub_lltoa): use grub_divmod64.
34854
34855 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
34856 grub_disk_addr_t.
34857 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
34858 the pointer to next character. Use grub_strtoull instead of
34859 grub_strtoul.
34860 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
34861 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
34862 respectively.
34863
34864 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
34865 return value is signed.
34866 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
34867 test if OFFSET is less than zero, as OFFSET is unsigned now.
34868
34869 * kern/disk.c (struct grub_disk_cache): Change the type of
34870 "sector" to grub_disk_addr_t.
34871 (grub_disk_cache_get_index): Change the type of SECTOR to
34872 grub_disk_addr_t. Calculate the hash with SECTOR casted to
34873 unsigned after shifting.
34874 (grub_disk_cache_invalidate): Change the type of SECTOR to
34875 grub_disk_addr_t.
34876 (grub_disk_cache_unlock): Likewise.
34877 (grub_disk_cache_store): Likewise.
34878 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
34879 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
34880 grub_disk_addr_t and grub_uint64_t, respectively.
34881 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
34882 body, as the value of OFFSET is tweaked by
34883 grub_disk_check_range. Change the types of START_SECTOR, LEN and
34884 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
34885 respectively.
34886 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
34887 body, as the value of OFFSET is tweaked by
34888 grub_disk_check_range. Change the types of LEN and N to
34889 grub_size_t.
34890
34891 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
34892 and "saved_offset" to grub_off_t.
34893 (test_header): Cast BUF to char *.
34894 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
34895 to char *.
34896 (grub_gzio_read): Change the types of OFFSET and SIZE to
34897 grub_off_t and grub_size_t, respectively.
34898
34899 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
34900 Removed.
34901 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
34902 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
34903 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
34904 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
34905 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
34906
34907 * include/grub/types.h (grub_off_t): Unconditionally set to
34908 grub_uint64_t.
34909 (grub_disk_addr_t): Changed to grub_uint64_t.
34910
34911 * include/grub/partition.h (struct grub_partition): Change the
34912 types of "start", "len" and "offset" to grub_disk_addr_t,
34913 grub_uint64_t and grub_disk_addr_t, respectively.
34914 (grub_partition_get_start): Return grub_disk_addr_t.
34915 (grub_partition_get_len): Return grub_uint64_t.
34916
34917 * include/grub/misc.h (grub_strtoull): New prototype.
34918 (grub_divmod64): Likewise.
34919
34920 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
34921 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
34922 grub_off_t, respectively.
34923 All callers and references changed.
34924
34925 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
34926 grub_size_t in "read".
34927 All callers and references changed.
34928
34929 * include/grub/file.h (struct grub_file): Change the types of
34930 "offset" and "size" to grub_off_t and grub_off_t,
34931 respectively. Change the type of SECTOR to grub_disk_addr_t in
34932 "read_hook".
34933 (grub_file_read): Change the type of LEN to grub_size_t.
34934 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
34935 grub_off_t.
34936 (grub_file_size): Return grub_off_t.
34937 (grub_file_tell): Likewise.
34938 All callers and references changed.
34939
34940 * include/grub/disk.h (struct grub_disk_dev): Change the types of
34941 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
34942 "write".
34943 (struct grub_disk): Change the type of "total_sectors" to
34944 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
34945 "read_hook".
34946 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
34947 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
34948 (grub_disk_write): Likewise.
34949 All callers and references changed.
34950
34951 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
34952 char * for grub_strncmp to silence gcc.
34953 (grub_iso9660_mount): Likewise.
34954 (grub_iso9660_mount): Likewise.
34955 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
34956 return statement.
34957 (grub_iso9660_iterate_dir): Likewise.
34958 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
34959
34960 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
34961 LEN to grub_disk_addr_t and grub_size_t, respectively.
34962
34963 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
34964
34965 * fs/jfs.c (grub_jfs_read_file): Likewise.
34966
34967 * fs/minix.c (grub_jfs_read_file): Likewise.
34968
34969 * fs/sfs.c (grub_jfs_read_file): Likewise.
34970
34971 * fs/ufs.c (grub_jfs_read_file): Likewise.
34972
34973 * fs/xfs.c (grub_jfs_read_file): Likewise.
34974
34975 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
34976 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
34977 respectively.
34978
34979 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
34980 BLKNR to -1 instead of returning GRUB_ERRNO.
34981 (grub_ext2_read_file): Change the types of SECTOR and
34982 LEN to grub_disk_addr_t and grub_size_t, respectively.
34983
34984 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
34985 LEN to grub_disk_addr_t and grub_size_t, respectively.
34986
34987 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
34988 grub_file_read.
34989
34990 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
34991 string. Do not cast SECTOR explicitly.
34992
34993 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
34994 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
34995 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
34996 grub_disk_addr_t and grub_size_t, respectively. If the sector is
34997 over 2TB and LBA mode is not supported, raise an error.
34998 (get_safe_sectors): New function.
34999 (grub_biosdisk_read): Use get_safe_sectors.
35000 (grub_biosdisk_write): Likewise.
35001
35002 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
35003 (grub_efidisk_write): Likewise.
35004
35005 * disk/loopback.c (delete_loopback): Cosmetic changes.
35006 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
35007 correctly.
35008 (grub_loopback_open): Likewise.
35009 (grub_loopback_read): Likewise. Also, change the type of POS to
35010 grub_off_t, and fix the usage of grub_memset.
35011
35012 * commands/i386/pc/play.c: Include grub/machine/time.h.
35013
35014 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
35015 print FILE->SIZE.
35016
35017 * commands/configfile.c: Include grub/env.h.
35018
35019 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
35020 GRUB_ERRNO directly instead. Change the type of POS to
35021 grub_off_t. Follow the coding standard.
35022
35023 * commands/blocklist.c: Include grub/partition.h.
35024 (grub_cmd_blocklist): Return an error if the underlying device is
35025 not a disk. Take the starting sector of a partition into account,
35026 if a partition is used.
35027
35028 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
35029 a length field.
35030 (lba_mode): Support 64-bit addresses.
35031 (chs_mode): Likewise.
35032 (copy_buffer): Adapted to the new offsets of a length field and a
35033 segment field.
35034 (blocklist_default_start): Allocate 64-bit space.
35035
35036 * boot/i386/pc/boot.S (force_lba): Removed.
35037 (boot_drive): Moved to under KERNEL_SECTOR.
35038 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
35039 space.
35040 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
35041 is useless.
35042 (lba_mode): Refactored to support a 64-bit address. More size
35043 optimization.
35044 (setup_sectors): Likewise.
35045
35046 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
35047
35048 * DISTLIST: Added include/grub/i386/linux.h. Removed
35049 include/grub/i386/pc/linux.h
35050
35051 * configure.ac (AC_INIT): Bumped to 1.94.
35052
35053 * config.guess: Updated from gnulib.
35054 * config.sub: Likewise.
35055 * install-sh: Likewise.
35056 * mkinstalldirs: Likewise.
35057
35058 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
35059
35060 * conf/common.rmk (grub_modules_init.lst): Depended on
35061 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
35062 MODSRCFILES.
35063
35064 * genmk.rb (PModule::rule): Reverted the previous change.
35065
35066 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
35067
35068 * conf/common.rmk (grub_modules_init.lst): Depends on
35069 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
35070 that the target does not exist before producing.
35071 (grub_modules_init.h): Remove the target before generating.
35072 (grub_emu_init.c): Likewise.
35073
35074 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
35075
35076 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
35077
35078 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
35079 for the target-specific tests. Make sure that we also have the
35080 up-to-date target variables for those tests.
35081
35082 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
35083
35084 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
35085 (PModule::rule): Likewise.
35086
35087 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
35088
35089 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
35090 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
35091 target-specific flags should be prefixed.
35092 (PModule::rule): Likewise.
35093
35094 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
35095
35096 * configure.ac (CMP): Check if cmp is available explicitly.
35097
35098 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
35099
35100 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
35101 (target_cpu): New variable.
35102 (pkglibdir): Use target_cpu instead of host_cpu.
35103
35104 * util/i386/pc/grub-install.in (host_cpu): Removed.
35105 (target_cpu): New variable.
35106 (pkglibdir): Use target_cpu instead of host_cpu.
35107
35108 * util/genmoddep.c: Removed.
35109
35110 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
35111 instead of GRUB_HOST_SIZEOF_VOID_P.
35112 * kern/dl.c: Likewise.
35113
35114 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
35115 ...
35116 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
35117 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
35118 (GRUB_TARGET_SIZEOF_LONG): ... this.
35119 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
35120 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
35121 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
35122 to ...
35123 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
35124 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
35125 (GRUB_TARGET_SIZEOF_LONG): ... this.
35126 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
35127 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
35128 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
35129 to ...
35130 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
35131 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
35132 (GRUB_TARGET_SIZEOF_LONG): ... this.
35133 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
35134 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
35135
35136 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
35137 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
35138 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
35139 instead of GRUB_HOST_SIZEOF_LONG.
35140 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
35141 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
35142 GRUB_CPU_WORDS_BIGENDIAN.
35143 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
35144 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
35145 grub_host_ssize_t.
35146
35147 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
35148 (genmoddep_SOURCES): Likewise.
35149 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
35150 (genmoddep_SOURCES): Likewise.
35151 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
35152 (genmoddep_SOURCES): Likewise.
35153 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
35154 Likewise.
35155 (genmoddep_SOURCES): Likewise.
35156
35157 * genmoddep.awk: New file.
35158
35159 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
35160 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
35161 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
35162 (PModule::rule): Likewise.
35163 (Program::rule): Likewise.
35164 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
35165 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
35166 respectively.
35167
35168 * configure.ac: Rewritten intensively to use host and target
35169 instead of build and host, respectively.
35170
35171 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
35172 (host_cpu): Removed.
35173 (target_cpu): New variable.
35174 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
35175 (BUILD_CC): Removed.
35176 (BUILD_CFLAGS): Likewise.
35177 (BUILD_CPPFLAGS): Likewise.
35178 (TARGET_CC): New variable.
35179 (TARGET_CFLAGS): Likewise.
35180 (TARGET_CPPFLAGS): Likewise.
35181 (TARGET_LDFLAGS): Likewise.
35182 (AWK): Likewise.
35183 (include): Use target_cpu instead of host_cpu.
35184 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
35185
35186 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
35187
35188 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
35189
35190 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
35191 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
35192 field 'false' to 'exec_on_false'.
35193 (grub_script_create_cmdif): Renamed argument names to reflect above
35194 changes.
35195
35196 * normal/execute.c (grub_script_execute_cmdif): Likewise.
35197
35198 * normal/script.c (grub_script_create_cmdif): Likewise.
35199
35200 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
35201
35202 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
35203 top.
35204 (grub_hfsplus_btree_recptr): Likewise.
35205 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
35206 FILEBLOCK both to pass a block number and store next block
35207 number.
35208 (grub_hfsplus_read_block): Rewritten heavily to support an extent
35209 overflow file correctly. Specify errors appropriately, because
35210 fshelp expects that GRUB_ERRNO is set when fails. Reuse
35211 grub_hfsplus_btree_recptr to get the pointer to a found key.
35212 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
35213 is found.
35214
35215 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
35216 linux.mod.
35217 (_linux_mod_SOURCES): New variable.
35218 (_linux_mod_CFLAGS): Likewise.
35219 (_linux_mod_LDFLAGS): Likewise.
35220 (linux_mod_SOURCES): Likewise.
35221 (linux_mod_CFLAGS): Likewise.
35222 (linux_mod_LDFLAGS): Likewise.
35223
35224 * DISTLIST: Added loader/i386/efi/linux.c,
35225 loader/i386/efi/linux_normal.c and
35226 include/grub/i386/efi/loader.h.
35227
35228 * loader/i386/efi/linux.c: New file.
35229 * loader/i386/efi/linux_normal.c: Likewise.
35230 * include/grub/i386/efi/loader.h: Likewise.
35231
35232 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
35233
35234 * commands/blocklist.c: New file.
35235
35236 * DISTLIST: Added commands/blocklist.c.
35237
35238 * term/efi/console.c (grub_console_highlight_color): Use a lighter
35239 color for the background, and a darker color for the foreground.
35240 (grub_console_checkkey): Return READ_KEY.
35241 (grub_console_cls): Set the background to
35242 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
35243
35244 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
35245
35246 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
35247 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
35248
35249 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
35250 prototype.
35251
35252 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
35253 BG. The spec is wrong again.
35254
35255 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
35256 prototype.
35257 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
35258
35259 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35260 commands/blocklist.c.
35261 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35262
35263 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
35264 (blocklist_mod_SOURCES): New variable.
35265 (blocklist_mod_CFLAGS): Likewise.
35266 (blocklist_mod_LDFLAGS): Likewise.
35267
35268 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
35269
35270 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
35271 duplication.
35272 (lba_mode): Use %eax more intensively to reduce the code size.
35273
35274 2006-05-20 Marco Gerards <marco@gnu.org>
35275
35276 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
35277
35278 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
35279 for `menuentry'.
35280 (script): Accept leading newlines.
35281 (newlines): New rule to describe 0 or more newlines.
35282 (commands): Accept `command' with trailing newline. Fixed the
35283 order in which arguments were passed to `grub_script_add_cmd'.
35284 Accept commands separated by newlines.
35285 (function): Changed to accept newlines.
35286 (menuentry) Rewritten.
35287
35288 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
35289 front of the list, instead of to the end.
35290
35291 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
35292
35293 * util/i386/pc/grub-install.in (bindir): New variable.
35294 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
35295 Shaver <lbgwjl@gmail.com>.
35296
35297 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
35298
35299 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
35300 grub/machine/linux.h
35301 * loader/i386/pc/linux.c: Likewise.
35302
35303 * include/grub/i386/pc/linux.h: Moved to ...
35304 * include/grub/i386/linux.h: ... here.
35305
35306 * include/grub/i386/linux.h (struct linux_kernel_params): New
35307 struct.
35308
35309 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
35310
35311 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
35312 checking.
35313 (grub_video_vbe_blit_glyph): Likewise.
35314 (grub_video_vbe_blit_bitmap): Likewise.
35315 (grub_video_vbe_blit_render_target): Likewise.
35316
35317 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
35318
35319 * configure.ac (--with-platform): Properly quote the square
35320 brackets.
35321
35322 2006-05-08 Marco Gerards <marco@gnu.org>
35323
35324 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
35325 this...
35326 (kernel_elf_HEADERS): ...to this. Updated all users.
35327 (grubof_symlist.c): Renamed from this...
35328 (kernel_elf_symlist.c): ...to this. Updated all users.
35329 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
35330 (grubof_SOURCES): Renamed from this...
35331 (kernel_elf_SOURCES): ...to this.
35332 (grubof_HEADERS): Renamed from this...
35333 (kernel_elf_HEADERS): ...to this.
35334 (grubof_CFLAGS): Renamed from this...
35335 (kernel_elf_CFLAGS): ...to this.
35336 (grubof_ASFLAGS): Renamed from this...
35337 (kernel_elf_ASFLAGS): ...to this.
35338 (grubof_LDFLAGS): Renamed from this...
35339 (kernel_elf_LDFLAGS): ...to this.
35340
35341 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
35342 this...
35343 (kernel_elf_HEADERS): ...to this. Updated all users.
35344 (grubof_symlist.c): Renamed from this...
35345 (kernel_elf_symlist.c): ...to this. Updated all users.
35346 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
35347 (grubof_SOURCES): Renamed from this...
35348 (kernel_elf_SOURCES): ...to this.
35349 (grubof_HEADERS): Renamed from this...
35350 (kernel_elf_HEADERS): ...to this.
35351 (grubof_CFLAGS): Renamed from this...
35352 (kernel_elf_CFLAGS): ...to this.
35353 (grubof_ASFLAGS): Renamed from this...
35354 (kernel_elf_ASFLAGS): ...to this.
35355 (grubof_LDFLAGS): Renamed from this...
35356 (kernel_elf_LDFLAGS): ...to this.
35357
35358 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
35359 `kernel.elf' instead of `grubof'.
35360
35361 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
35362
35363 Add --with-platform to configure. Use pkglibdir instead of
35364 pkgdatadir. This is reported by Roger Leigh.
35365
35366 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
35367 (host_vendor): Likewise.
35368 (host_os): Likewise.
35369 (pkgdatadir): Likewise.
35370 (platform): New variable.
35371 (pkglibdir): Likewise.
35372 Use PKGLIBDIR instead of PKGDATADIR.
35373
35374 * util/i386/pc/grub-install.in (datadir): Removed.
35375 (host_vendor): Likewise.
35376 (host_os): Likewise.
35377 (pkgdatadir): Likewise.
35378 (platform): New variable.
35379 (pkglibdir): Likewise.
35380 Use PKGLIBDIR instead of PKGDATADIR.
35381
35382 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
35383 instead of GRUB_DATADIR.
35384 (main): Likewise.
35385 * util/i386/pc/grub-mkimage.c (usage): Likewise.
35386 (main): Likewise.
35387 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35388 (main): Likewise.
35389
35390 * configure.ac (--with-platform): New option.
35391 Use PLATFORM instead of HOST_VENDOR to specify a platform.
35392
35393 * Makefile.in: Include a makefile based on PLATFORM instead of
35394 HOST_VENDOR.
35395 (pkgdatadir): Not appended by the machine type.
35396 (pkglibdir): Appended by the machine type.
35397 (host_vendor): Removed.
35398 (platform): New variable.
35399 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
35400 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
35401 (uninstall): Likewise.
35402
35403 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
35404
35405 Use the environment context in the menu. Remove the commands
35406 "default" and "timeout", and use variables instead.
35407
35408 * normal/menu.c: Include grub/env.h.
35409 (print_entry): Cast TITLE to silence gcc.
35410 (get_timeout): New function.
35411 (set_timeout): Likewise.
35412 (get_entry_number): Likewise.
35413 (run_menu): Use a default entry, a fallback entry and a timeout
35414 in the environment variables "default", "fallback" and
35415 "timeout". Also, tweak the default entry if it is not within the
35416 current menu entries.
35417 (grub_menu_run): Use a fallback entry in the environment variable
35418 "fallback".
35419
35420 * normal/main.c (read_config_file): Do not initialize
35421 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
35422 NEWMENU->TIMEOUT.
35423 (grub_normal_execute): Use a data slot to store the menu.
35424
35425 * include/grub/normal.h (struct grub_menu): Removed default_entry,
35426 fallback_entry and timeout.
35427 (struct grub_menu_list): Removed.
35428 (grub_menu_list_t): Likewise.
35429 (struct grub_context): Likewise.
35430 (grub_context_t): Likewise.
35431 (grub_context_get): Likewise.
35432 (grub_context_get_current_menu): Likewise.
35433 (grub_context_push_menu): Likewise.
35434 (grub_context_pop_menu): Likewise.
35435 (grub_default_init): Likewise.
35436 (grub_default_fini): Likewise.
35437 (grub_timeout_init): Likewise.
35438 (grub_timeout_fini): Likewise.
35439
35440 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
35441 and timeout.mod.
35442 (normal_mod_SOURCES): Removed normal/context.c.
35443
35444 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
35445 commands/default.c, commands/timeout.c and normal/context.c.
35446 (normal_mod_SOURCES): Removed normal/context.c.
35447
35448 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
35449 commands/timeout.c and normal/context.c.
35450 (normal_mod_SOURCES): Removed normal/context.c.
35451
35452 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
35453 commands/default.c, commands/timeout.c and normal/context.c.
35454 (normal_mod_SOURCES): Removed normal/context.c.
35455
35456 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
35457 timeout.mod.
35458 (default_mod_SOURCES): Removed.
35459 (default_mod_CFLAGS): Likewise.
35460 (default_mod_LDFLAGS): Likewise.
35461 (timeout_mod_SOURCES): Removed.
35462 (timeout_mod_CFLAGS): Likewise.
35463 (timeout_mod_LDFLAGS): Likewise.
35464
35465 * DISTLIST: Removed commands/default.c, commands/timeout.c and
35466 normal/context.c.
35467
35468 * commands/default.c: Removed.
35469 * commands/timeout.c: Likewise.
35470 * normal/context.c: Likewise.
35471
35472 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
35473
35474 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
35475
35476 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
35477
35478 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
35479 "next" to "prev" for readability.
35480 (struct grub_env_sorted_var): New struct.
35481 (grub_env_context): Renamed to ...
35482 (initial_context): ... this.
35483 (grub_env_var_context): Renamed to ...
35484 (current_context): ... this.
35485 (grub_env_find): Look only at CURRENT_CONTEXT.
35486 (grub_env_context_open): Rewritten to copy exported variables from
35487 previous context.
35488 (grub_env_context_close): Rewritten according to the new
35489 scheme. Also, add an assertion to prevent the initial context from
35490 removed.
35491 (grub_env_insert): Removed the code for the sorted list.
35492 (grub_env_remove): Likewise.
35493 (grub_env_export): Simply mark the variable with
35494 GRUB_ENV_VAR_GLOBAL.
35495 (grub_env_set): A cosmetic change for naming consistency.
35496 (grub_env_get): Likewise.
35497 (grub_env_unset): Likewise.
35498 (grub_env_iterate): Rewritten to sort variables within this
35499 function.
35500 (grub_register_variable_hook): Fixed for naming consistency. Call
35501 grub_env_find again, only if NAME is not found at the first time.
35502 (mangle_data_slot_name): New function.
35503 (grub_env_set_data_slot): Likewise.
35504 (grub_env_get_data_slot): Likewise.
35505 (grub_env_unset_data_slot): Likewise.
35506
35507 * include/grub/env.h (grub_env_var_type): New enum.
35508 (GRUB_ENV_VAR_LOCAL): New constant.
35509 (GRUB_ENV_VAR_GLOBAL): Likewise.
35510 (GRUB_ENV_VAR_DATA): Likewise.
35511 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
35512 "type".
35513 (grub_env_set): Replace VAR with NAME for consistency.
35514 (grub_register_variable_hook): Likewise.
35515 (grub_env_export): Specify the name of the argument.
35516 (grub_env_set_data_slot): New prototype.
35517 (grub_env_get_data_slot): Likewise.
35518 (grub_env_unset_data_slot): Likewise.
35519
35520 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
35521
35522 Extend the loader so that GRUB can accept a loader which comes
35523 back to GRUB when a loaded image exits. Also, this change adds
35524 support for a chainloader on EFI.
35525
35526 * term/efi/console.c: Include grub/misc.h.
35527 (grub_console_checkkey): Display a scan code on the top for
35528 debugging. This will be removed once the EFI port gets stable.
35529 Correct the scan code mapping.
35530
35531 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
35532 allocate memory from larger regions, in order to reduce the number
35533 of allocated regions. Otherwise, the MacOSX loader panics.
35534 (filter_memory_map): Avoid less than 1MB for compatibility with
35535 other loaders.
35536 (add_memory_regions): Allocate from the tail of a region, if
35537 possible, to avoid allocating a region near to 1MB, for the MacOSX
35538 loader.
35539
35540 * kern/efi/init.c (grub_efi_set_prefix): Specify
35541 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
35542
35543 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
35544 argument IMAGE_HANDLE and specify it to get a loaded image.
35545 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
35546 grub_efi_get_loaded_image.
35547 (grub_efi_get_filename): Divide the length by the size of
35548 grub_efi_char16_t.
35549 (grub_efi_get_device_path): New function.
35550 (grub_efi_print_device_path): Print End Device Path nodes. Divide
35551 the length by the size of grub_efi_char16_t for a file path device
35552 path node.
35553
35554 * kern/loader.c (grub_loader_noreturn): New variable.
35555 (grub_loader_set): Accept a new argument NORETURN. Set
35556 GRUB_LOADER_NORETURN to NORETURN.
35557 All callers changed.
35558 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
35559 grub_machine_fini.
35560
35561 * include/grub/efi/efi.h (grub_efi_get_device_path): New
35562 prototype.
35563 (grub_efi_get_loaded_image): Take an argument to specify an image
35564 handle.
35565
35566 * include/grub/loader.h (grub_loader_set): Added one more argument
35567 NORETURN.
35568
35569 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
35570 instead of grub_efi_open_protocol.
35571 (grub_efidisk_get_device_name): Likewise.
35572 (grub_efidisk_close): Print a newline.
35573 (grub_efidisk_get_device_handle): Fixed to use
35574 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
35575 GRUB_EFI_DEVICE_PATH_TYPE.
35576
35577 * disk/efi/efidisk.c (device_path_guid): Moved to ...
35578 * kern/efi/efi.c (device_path_guid): ... here.
35579
35580 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
35581 chain.mod.
35582 (kernel_mod_HEADERS): Added efi/disk.h.
35583 (_chain_mod_SOURCES): New variable.
35584 (_chain_mod_CFLAGS): Likewise.
35585 (_chain_mod_LDFLAGS): Likewise.
35586 (chain_mod_SOURCES): Likewise.
35587 (chain_mod_CFLAGS): Likewise.
35588 (chain_mod_LDFLAGS): Likewise.
35589
35590 * DISTLIST: Added include/grub/efi/chainloader.h,
35591 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
35592
35593 * include/grub/efi/chainloader.h: New file.
35594 * loader/efi/chainloader.c: Likewise.
35595 * loader/efi/chainloader_normal.c: Likewise.
35596
35597 2006-04-30 Marco Gerards <marco@gnu.org>
35598
35599 * commands/configfile.c (grub_cmd_source): New function.
35600 (GRUB_MOD_INIT): Register the commands `source' and `.'.
35601 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
35602
35603 2006-04-30 Marco Gerards <marco@gnu.org>
35604
35605 * normal/execute.c (grub_script_execute_cmd): Change the return
35606 type to `grub_err_t'. Correctly return the error.
35607 (grub_script_execute_cmdline): In case a command line is not a
35608 command or a function, try to interpret it as an assignment.
35609
35610 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
35611
35612 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
35613 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
35614 skip a node whose name is obviously invalid as UTF-16,
35615 i.e. contains a NUL character. Stop the iteration when the last
35616 directory entry is found. Instead of using the return value of
35617 grub_hfsplus_btree_iterate_node, store the value in RET and use
35618 it, because the iterator can be stopped by the last directory
35619 entry.
35620
35621 2006-04-30 Marco Gerards <marco@gnu.org>
35622
35623 * include/grub/env.h (grub_env_export): New prototype. Reported
35624 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
35625
35626 2006-04-30 Marco Gerards <marco@gnu.org>
35627
35628 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
35629 size of the extents in a catalog file record.
35630
35631 2006-04-29 Marco Gerards <marco@gnu.org>
35632
35633 * commands/configfile.c (grub_cmd_configfile): Execute the
35634 configfile within its own context.
35635
35636 * include/grub/env.h (grub_env_context_open): New prototype.
35637 (grub_env_context_close): Likewise.
35638
35639 * kern/env.c (grub_env): Removed.
35640 (grub_env_sorted): Likewise.
35641 (grub_env_context): New variable.
35642 (grub_env_var_context): Likewise.
35643 (grub_env_find): Search both the active context and the global
35644 context.
35645 (grub_env_context_open): New function.
35646 (grub_env_context_close): Likewise.
35647 (grub_env_insert): Likewise.
35648 (grub_env_remove): Likewise.
35649 (grub_env_export): Likewise.
35650 (grub_env_set): Changed to use helper functions to avoid code
35651 duplication.
35652 (grub_env_iterate): Rewritten so both the current context and the
35653 global context are being used.
35654
35655 * normal/command.c (export_command): New function.
35656 (grub_command_init): Register the `export' function.
35657
35658 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
35659
35660 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
35661 explicitly to suppress gcc's warnings.
35662 * fs/fat.c (grub_fat_find_dir): Likewise.
35663 (grub_fat_label): Likewise.
35664 * fs/xfs.c (grub_xfs_read_inode): Likewise.
35665 (grub_xfs_mount): Likewise.
35666 (grub_xfs_label): Likewise.
35667 * fs/affs.c (grub_affs_mount): Likewise.
35668 (grub_affs_label): Likewise.
35669 (grub_affs_iterate_dir): Likewise.
35670 * fs/sfs.c (grub_sfs_mount): Likewise.
35671 (grub_sfs_iterate_dir): Likewise.
35672 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
35673 * fs/hfs.c (grub_hfs_mount): Likewise.
35674 (grub_hfs_cmp_catkeys): Likewise.
35675 (grub_hfs_find_dir): Likewise.
35676 (grub_hfs_dir): Likewise.
35677 (grub_hfs_label): Likewise.
35678 * fs/jfs.c (grub_jfs_mount): Likewise.
35679 (grub_jfs_opendir): Likewise.
35680 (grub_jfs_getent): Likewise.
35681 (grub_jfs_lookup_symlink): Likewise.
35682 (grub_jfs_label): Likewise.
35683 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
35684 (grub_hfsplus_iterate_dir): Likewise.
35685 (grub_hfsplus_btree_iterate_node): Made static.
35686
35687 * util/grub-emu.c (prefix): New variable.
35688 (grub_machine_set_prefix): New function.
35689 (main): Do not set the environment variable "prefix" here. Only
35690 set PREFIX, which is used later by grub_machine_set_prefix.
35691
35692 * include/grub/video.h: Do not include grub/symbol.h.
35693 (grub_video_register): Not exported. This symbol is not defined in
35694 the kernel.
35695 (grub_video_unregister): Likewise.
35696 (grub_video_iterate): Likewise.
35697 (grub_video_setup): Likewise.
35698 (grub_video_restore): Likewise.
35699 (grub_video_get_info): Likewise.
35700 (grub_video_get_blit_format): Likewise.
35701 (grub_video_set_palette): Likewise.
35702 (grub_video_get_palette): Likewise.
35703 (grub_video_set_viewport): Likewise.
35704 (grub_video_get_viewport): Likewise.
35705 (grub_video_map_color): Likewise.
35706 (grub_video_map_rgb): Likewise.
35707 (grub_video_map_rgba): Likewise.
35708 (grub_video_fill_rect): Likewise.
35709 (grub_video_blit_glyph): Likewise.
35710 (grub_video_blit_bitmap): Likewise.
35711 (grub_video_blit_render_target): Likewise.
35712 (grub_video_scroll): Likewise.
35713 (grub_video_swap_buffers): Likewise.
35714 (grub_video_create_render_target): Likewise.
35715 (grub_video_delete_render_target): Likewise.
35716 (grub_video_set_active_render_target): Likewise.
35717
35718 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
35719 Undefined.
35720 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
35721
35722 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
35723 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35724 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35725 instead of $(srcdir)/genkernsyms.sh.
35726
35727 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
35728 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35729 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35730 instead of $(srcdir)/genkernsyms.sh.
35731
35732 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
35733 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35734 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35735 instead of $(srcdir)/genkernsyms.sh.
35736
35737 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
35738 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35739 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35740 instead of $(srcdir)/genkernsyms.sh.
35741
35742 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
35743 genkernsyms.sh.
35744
35745 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
35746 genkernsyms.sh.
35747 (gensymlist.sh): New target.
35748 (genkernsyms.sh): Likewise.
35749
35750 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
35751 genkernsyms.sh.in and gensymlist.sh.in.
35752
35753 * genkernsyms.sh: Removed.
35754 * gensymlist.sh: Likewise.
35755
35756 * genkernsyms.sh.in: New file.
35757 * gensymlist.sh.in: Likewise.
35758
35759 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35760
35761 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
35762 clobber "prefix", since we may have already set it manually.
35763
35764 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35765
35766 * kern/misc.c (abort): New alias for grub_abort.
35767
35768 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
35769
35770 A new machine-specific function "grub_machine_set_prefix" is
35771 defined. This is called after loading modules, so that a prefix
35772 initialization can use modules. Also, this change adds an
35773 intensive debugging feature for the memory manager via the
35774 configure option "--enable-mm-debug".
35775
35776 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
35777 PART.LEN.
35778
35779 * kern/sparc64/ieee1275/init.c (abort): Removed.
35780 (grub_stop): Likewise.
35781 (grub_exit): New function.
35782 (grub_set_prefix): Renamed to ...
35783 (grub_machine_set_prefix): ... this.
35784 (grub_machine_init): Do not call grub_set_prefix.
35785
35786 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
35787 (grub_machine_set_prefix): ... this.
35788 (grub_machine_init): Do not call grub_set_prefix.
35789
35790 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
35791 (grub_machine_init): Do not set the prefix here.
35792
35793 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
35794
35795 * kern/efi/init.c: Include grub/mm.h.
35796 (grub_efi_set_prefix): New function.
35797
35798 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
35799 (grub_efi_get_filename): New function.
35800 (grub_print_device_path): Renamed to ...
35801 (grub_efi_print_device_path): ... this.
35802
35803 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
35804 [MM_DEBUG] (grub_realloc): Likewise.
35805 [MM_DEBUG] (grub_free): Likewise.
35806 [MM_DEBUG] (grub_memalign): Likewise.
35807 [MM_DEBUG] (grub_mm_debug): New variable.
35808 [MM_DEBUG] (grub_debug_malloc): New function.
35809 [MM_DEBUG] (grub_debug_free): New function.
35810 [MM_DEBUG] (grub_debug_realloc): New function.
35811 [MM_DEBUG] (grub_debug_memalign): New function.
35812
35813 * kern/misc.c (grub_abort): Print a newline to distinguish
35814 the message.
35815
35816 * kern/main.c (grub_main): Call grub_machine_set_prefix and
35817 grub_set_root_dev after loading modules. This is necessary when
35818 setting a prefix depends on modules.
35819
35820 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
35821 (grub_efi_print_device_path): ... this.
35822 (grub_efi_get_filename): New prototype.
35823 (grub_efi_set_prefix): Likewise.
35824
35825 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
35826 and grub/disk.h.
35827 (grub_efidisk_get_device_handle): New prototype.
35828 (grub_efidisk_get_device_name): Likewise.
35829
35830 * include/grub/mm.h: Include config.h.
35831 (MM_DEBUG): Removed.
35832 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
35833 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
35834 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
35835 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
35836 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
35837 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
35838 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
35839 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
35840 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
35841
35842 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
35843
35844 * disk/efi/efidisk.c: Include grub/partition.h.
35845 (iterate_child_devices): New function.
35846 (add_device): First, compare only last device path nodes, so that
35847 devices are sorted by the types.
35848 (grub_efidisk_get_device_handle): New function.
35849 (grub_efidisk_get_device_name): Likewise.
35850
35851 * configure.ac (--enable-mm-debug): New option to enable the
35852 memory manager debugging feature. This makes the binary much
35853 bigger, so is disabled by default.
35854
35855 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
35856
35857 Use grub_abort instead of grub_stop, and grub_exit must be
35858 define in each architecture now. Also, this change adds support
35859 for EFI disks.
35860
35861 * util/i386/pc/grub-probefs.c: Include grub/term.h.
35862 (grub_getkey): New function.
35863 (grub_term_get_current): Likewise.
35864
35865 * util/i386/pc/grub-setup.c: Include grub/term.h.
35866 (grub_getkey): New function.
35867 (grub_term_get_current): Likewise.
35868
35869 * util/misc.c (grub_stop): Renamed to ...
35870 (grub_exit): ... this.
35871
35872 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
35873 (grub_exit): ... this.
35874 (grub_machine_init): Use grub_abort instead of abort.
35875 (grub_stop): Removed.
35876
35877 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
35878 abort.
35879
35880 * kern/i386/pc/startup.S (grub_exit): New function.
35881 (cold_reboot): New label.
35882
35883 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
35884 (grub_efi_init): Call grub_efidisk_init.
35885 (grub_efi_fini): Call grub_efidisk_fini.
35886
35887 * kern/efi/efi.c: Include grub/mm.h.
35888 (grub_efi_console_control_guid): Renamed to ...
35889 (console_control_guid): ... this.
35890 (grub_efi_loaded_image_guid): Renamed to ...
35891 (loaded_image_guid): ... this.
35892 (grub_efi_locate_handle): New function.
35893 (grub_efi_open_protocol): Likewise.
35894 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
35895 GRUB_EFI_CONSOLE_CONTROL_GUID.
35896 (grub_efi_exit): Removed.
35897 (grub_stop): Likewise.
35898 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
35899 (grub_exit): New function.
35900 (grub_print_device_path): Likewise.
35901
35902 * kern/rescue.c (grub_rescue_cmd_exit): New function.
35903 (grub_enter_rescue_mode): Register "exit".
35904
35905 * kern/misc.c (grub_real_dprintf): A cosmetic change.
35906 (grub_abort): New function.
35907
35908 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
35909
35910 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
35911
35912 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
35913
35914 * include/grub/efi/efi.h (grub_efi_exit): Removed.
35915 (grub_print_device_path): New prototype.
35916 (grub_efi_locate_handle): Likewise.
35917 (grub_efi_open_protocol): Likewise.
35918
35919 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
35920 * disk/efi/efidisk.c: Likewise.
35921
35922 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
35923
35924 * include/grub/efi/console_control.h
35925 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
35926
35927 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
35928 last 8 bytes as an array.
35929 (GRUB_EFI_DISK_IO_GUID): New macro.
35930 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
35931 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
35932 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
35933 grub_uint8_t.
35934 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
35935 (struct grub_efi_device_path): Rename the member "sub_type" to
35936 "subtype".
35937 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
35938 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
35939 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
35940 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
35941 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
35942 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
35943 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
35944 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
35945 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
35946 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
35947 (struct grub_efi_pci_device_path): New structure.
35948 (grub_efi_pci_device_path_t): New type.
35949 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
35950 (struct grub_efi_pccard_device_path): New structure.
35951 (grub_efi_pccard_device_path_t): New type.
35952 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
35953 (struct grub_efi_memory_mapped_device_path): New structure.
35954 (grub_efi_memory_mapped_device_path_t): New type.
35955 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
35956 (struct grub_efi_vendor_device_path): New structure.
35957 (grub_efi_vendor_device_path_t): New type.
35958 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
35959 (struct grub_efi_controller_device_path): New structure.
35960 (grub_efi_controller_device_path_t): New type.
35961 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
35962 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
35963 (struct grub_efi_acpi_device_path): New structure.
35964 (grub_efi_acpi_device_path_t): New type.
35965 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
35966 (struct grub_efi_expanded_acpi_device_path): New structure.
35967 (grub_efi_expanded_acpi_device_path_t): New type.
35968 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
35969 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
35970 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
35971 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
35972 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
35973 (struct grub_efi_atapi_device_path): New structure.
35974 (grub_efi_atapi_device_path_t): New type.
35975 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
35976 (struct grub_efi_fibre_channel_device_path): New structure.
35977 (grub_efi_fibre_channel_device_path_t): New type.
35978 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
35979 (struct grub_efi_1394_device_path): New structure.
35980 (grub_efi_1394_device_path_t): New type.
35981 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
35982 (struct grub_efi_usb_device_path): New structure.
35983 (grub_efi_usb_device_path_t): New type.
35984 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
35985 (struct grub_efi_usb_class_device_path): New structure.
35986 (grub_efi_usb_class_device_path_t): New type.
35987 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
35988 (struct grub_efi_i2o_device_path): New structure.
35989 (grub_efi_i2o_device_path_t): New type.
35990 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
35991 (struct grub_efi_mac_address_device_path): New structure.
35992 (grub_efi_mac_address_device_path_t): New type.
35993 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
35994 (struct grub_efi_ipv4_device_path): New structure.
35995 (grub_efi_ipv4_device_path_t): New type.
35996 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
35997 (struct grub_efi_ipv6_device_path): New structure.
35998 (grub_efi_ipv6_device_path_t): New type.
35999 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
36000 (struct grub_efi_infiniband_device_path): New structure.
36001 (grub_efi_infiniband_device_path_t): New type.
36002 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
36003 (struct grub_efi_uart_device_path): New structure.
36004 (grub_efi_uart_device_path_t): New type.
36005 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
36006 (struct grub_efi_vendor_messaging_device_path): New structure.
36007 (grub_efi_vendor_messaging_device_path_t): New type.
36008 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
36009 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
36010 (struct grub_efi_hard_drive_device_path): New structure.
36011 (grub_efi_hard_drive_device_path_t): New type.
36012 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
36013 (struct grub_efi_cdrom_device_path): New structure.
36014 (grub_efi_cdrom_device_path_t): New type.
36015 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
36016 (struct grub_efi_vendor_media_device_path): New structure.
36017 (grub_efi_vendor_media_device_path_t): New type.
36018 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
36019 (struct grub_efi_file_path_device_path): New structure.
36020 (grub_efi_file_path_device_path_t): New type.
36021 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
36022 (struct grub_efi_protocol_device_path): New structure.
36023 (grub_efi_protocol_device_path_t): New type.
36024 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
36025 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
36026 (struct grub_efi_bios_device_path): New structure.
36027 (grub_efi_bios_device_path_t): New type.
36028 (struct grub_efi_disk_io): New structure.
36029 (grub_efi_disk_io_t): New type.
36030 (struct grub_efi_block_io_media): New structure.
36031 (grub_efi_block_io_media_t): New type.
36032 (struct grub_efi_block_io): New structure.
36033 (grub_efi_block_io_t): New type.
36034
36035 * include/grub/misc.h (grub_stop): Removed.
36036 (grub_exit): New prototype.
36037 (grub_abort): Likewise.
36038
36039 * include/grub/disk.h (enum grub_disk_dev_id): Added
36040 GRUB_DISK_DEVICE_EFIDISK_ID.
36041
36042 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
36043 disk/efi/efidisk.c.
36044 (kernel_syms.lst): Remove the target if an error occurs.
36045
36046 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
36047
36048 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
36049 as it was simply too buggy.
36050
36051 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
36052
36053 * kern/misc.c (grub_lltoa): New function.
36054 (grub_vsprintf): Added support for the long long suffix,
36055 i.e. "ll".
36056
36057 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
36058
36059 * Makefile.in (LDFLAGS): Add variable.
36060 (LD): Remove variable.
36061 * configure.ac: Add -m32 to LDFLAGS.
36062 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
36063 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
36064 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
36065 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
36066 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
36067 variables.
36068 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
36069 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
36070 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
36071
36072 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
36073
36074 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
36075 length for unknown glyph.
36076
36077 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
36078
36079 Add support for pre-loaded modules into the EFI port.
36080
36081 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
36082 completely. Accept one more argument DIR. The caller has changed.
36083
36084 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
36085
36086 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
36087 (grub_efi_loaded_image_guid): New variable.
36088 (grub_efi_get_loaded_image): New function.
36089 (grub_arch_modules_addr): Likewise.
36090
36091 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
36092 prototype.
36093
36094 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
36095 (struct grub_efi_loaded_image): New structure.
36096 (grub_efi_loaded_image_t): New type.
36097
36098 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
36099
36100 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
36101 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
36102 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
36103
36104 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
36105
36106 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
36107
36108 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
36109
36110 * DISTLIST: Added include/grub/efi/console.h,
36111 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
36112 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
36113
36114 * include/grub/efi/console.h: New file.
36115 * include/grub/efi/time.h: Likewise.
36116 * include/grub/i386/efi/kernel.h: Likewise.
36117 * kern/efi/init.c: Likewise.
36118 * kern/efi/mm.c: Likewise.
36119 * term/efi/console.c: Likewise.
36120
36121 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
36122 (grub_stop): Removed.
36123 (grub_get_rtc): Likewise.
36124 (grub_machine_init): Simply call grub_efi_init.
36125 (grub_machine_fini): Call grub_efi_fini.
36126
36127 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
36128 (grub_efi_output_string): Removed.
36129 (grub_efi_stall): New function.
36130 (grub_stop): Likewise.
36131 (grub_get_rtc): Likewise.
36132
36133 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
36134 (grub_efi_stall): New prototype.
36135 (grub_efi_allocate_pages): Likewise.
36136 (grub_efi_free_pages): Likewise.
36137 (grub_efi_get_memory_map): Likewise.
36138 (grub_efi_mm_init): Likewise.
36139 (grub_efi_mm_fini): Likewise.
36140 (grub_efi_init): Likewise.
36141 (grub_efi_fini): Likewise.
36142
36143 * include/grub/i386/efi/time.h: Do not include
36144 grub/symbol.h. Include grub/efi/time.h.
36145 (GRUB_TICKS_PER_SECOND): Removed.
36146 (grub_get_rtc): Likewise.
36147
36148 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
36149 Added padding. The EFI spec is buggy.
36150 (GRUB_EFI_BLACK): New macro.
36151 (GRUB_EFI_BLUE): Likewise.
36152 (GRUB_EFI_GREEN): Likewise.
36153 (GRUB_EFI_CYAN): Likewise.
36154 (GRUB_EFI_RED): Likewise.
36155 (GRUB_EFI_MAGENTA): Likewise.
36156 (GRUB_EFI_BROWN): Likewise.
36157 (GRUB_EFI_LIGHTGRAY): Likewise.
36158 (GRUB_EFI_BRIGHT): Likewise.
36159 (GRUB_EFI_DARKGRAY): Likewise.
36160 (GRUB_EFI_LIGHTBLUE): Likewise.
36161 (GRUB_EFI_LIGHTGREEN): Likewise.
36162 (GRUB_EFI_LIGHTCYAN): Likewise.
36163 (GRUB_EFI_LIGHTRED): Likewise.
36164 (GRUB_EFI_LIGHTMAGENTA): Likewise.
36165 (GRUB_EFI_YELLOW): Likewise.
36166 (GRUB_EFI_WHITE): Likewise.
36167 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
36168 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
36169 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
36170 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
36171 (GRUB_EFI_BACKGROUND_RED): Likewise.
36172 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
36173 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
36174 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
36175 (GRUB_EFI_TEXT_ATTR): Likewise.
36176
36177 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
36178 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
36179 (kernel_mod_HEADERS): Added efi/time.h.
36180
36181 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
36182
36183 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
36184 include/grub/efi/api.h, include/grub/efi/console_control.h,
36185 include/grub/efi/efi.h, include/grub/efi/pe32.h,
36186 include/grub/i386/efi/time.h, kern/efi/efi.c,
36187 kern/i386/efi/init.c, kern/i386/efi/startup.S,
36188 and util/i386/efi/grub-mkimage.c.
36189
36190 * Makefile.in (RMKFILES): Added i386-efi.rmk.
36191
36192 * genmk.rb (PModule#rule): Do not export symbols if
36193 #{prefix}_EXPORTS is set to "no".
36194
36195 * conf/i386-efi.mk: New file.
36196 * conf/i386-efi.rmk: Likewise.
36197 * include/grub/efi/api.h: Likewise.
36198 * include/grub/efi/console_control.h: Likewise.
36199 * include/grub/efi/efi.h: Likewise.
36200 * include/grub/efi/pe32.h: Likewise.
36201 * include/grub/i386/efi/time.h: Likewise.
36202 * kern/efi/efi.c: Likewise.
36203 * kern/i386/efi/init.c: Likewise.
36204 * kern/i386/efi/startup.S: Likewise.
36205 * util/i386/efi/grub-mkimage.c: Likewise.
36206
36207 2006-04-17 Marco Gerards <marco@gnu.org>
36208
36209 * include/grub/script.h: Include <grub/parser.h> and
36210 "grub_script.tab.h".
36211 (struct grub_lexer_param): New struct.
36212 (struct grub_parser_param): Likewise.
36213 (grub_script_create_arglist): Pass the state in an argument.
36214 (grub_script_add_arglist): Likewise.
36215 (grub_script_create_cmdline): Likewise.
36216 (grub_script_create_cmdblock): Likewise.
36217 (grub_script_create_cmdif): Likewise.
36218 (grub_script_create_cmdmenu): Likewise.
36219 (grub_script_add_cmd): Likewise.
36220 (grub_script_arg_add): Likewise.
36221 (grub_script_lexer_ref): Likewise.
36222 (grub_script_lexer_deref): Likewise.
36223 (grub_script_lexer_record_start): Likewise.
36224 (grub_script_lexer_record_stop): Likewise.
36225 (grub_script_mem_record): Likewise.
36226 (grub_script_mem_record_stop): Likewise.
36227 (grub_script_malloc): Likewise.
36228 (grub_script_yylex): Likewise.
36229 (grub_script_yyparse): Likewise.
36230 (grub_script_yyerror): Likewise.
36231 (grub_script_yylex): Likewise.
36232 (grub_script_lexer_init): Return the state.
36233
36234 * normal/lexer.c (grub_script_lexer_state): Removed variable.
36235 (grub_script_lexer_done): Likewise.
36236 (grub_script_lexer_getline): Likewise.
36237 (grub_script_lexer_refs): Likewise.
36238 (script): Likewise.
36239 (newscript): Likewise.
36240 (record): Likewise.
36241 (recording): Likewise.
36242 (recordpos): Likewise.
36243 (recordlen): Likewise.
36244 (grub_script_lexer_init): Return the state instead of setting
36245 global variables.
36246 (grub_script_lexer_ref): Use the newly added argument for state
36247 instead of globals.
36248 (grub_script_lexer_deref): Likewise.
36249 (grub_script_lexer_record_start): Likewise.
36250 (grub_script_lexer_record_stop): Likewise.
36251 (recordchar): Likewise.
36252 (nextchar): Likewise.
36253 (grub_script_yylex2): Likewise.
36254 (grub_script_yylex): Likewise.
36255 (grub_script_yyerror): Likewise.
36256
36257 * normal/parser.y (func_mem): Removed variable.
36258 (menu_entry): Likewise.
36259 (err): Likewise.
36260 (%lex-param): New parser option.
36261 (%parse-param): Likewise.
36262 (script): Always return the AST.
36263 (argument): Pass the state around.
36264 (arguments): Likewise.
36265 (grubcmd): Likewise.
36266 (commands): Likewise.
36267 (function): Likewise.
36268 (menuentry): Likewise.
36269 (if_statement): Likewise.
36270 (if): Likewise.
36271
36272 * normal/script.c (grub_script_memused): Removed variable.
36273 (grub_script_parsed): Likewise.
36274 (grub_script_malloc): Added a state argument. Use that instead of
36275 global variables.
36276 (grub_script_mem_record): Likewise.
36277 (grub_script_mem_record_stop): Likewise.
36278 (grub_script_arg_add): Likewise.
36279 (grub_script_add_arglist): Likewise.
36280 (grub_script_create_cmdline): Likewise.
36281 (grub_script_create_cmdif): Likewise.
36282 (grub_script_create_cmdmenu): Likewise.
36283 (grub_script_add_cmd): Likewise.
36284 (grub_script_parse): Setup the state before calling the parser.
36285
36286 2006-04-16 Marco Gerards <marco@gnu.org>
36287
36288 * normal/command.c (grub_command_init): Remove the title command.
36289
36290 * normal/lexer.c (grub_script_yylex): Renamed from this...
36291 (grub_script_yylex2): ... to this.
36292 (grub_script_yylex): New function. Temporary
36293 introduced to filter some tokens.
36294 (grub_script_yyerror): Print a newline.
36295
36296 * normal/main.c (read_config_file): Output information about the
36297 lines that contain errors. Wait for a key after all lines have
36298 been processed. Don't return an empty menu.
36299
36300 * normal/parser.y (func_mem): Don't initialize.
36301 (menu_entry): Likewise.
36302 (err): New variable.
36303 (script): Don't return anything when an error was encountered.
36304 (ws, returns): Removed rules.
36305 (argument): Disabled concatenated variable support.
36306 (arguments): Remove explicit separators.
36307 (grubcmd): Likewise.
36308 (function): Likewise.
36309 (menuentry): Likewise.
36310 (if): Likewise.
36311 (commands): Likewise. Add error handling.
36312
36313 * normal/script.c (grub_script_create_cmdline): If
36314 `grub_script_parsed' is 0, assume the parser encountered an error.
36315
36316 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
36317
36318 * configure.ac: Add support for EFI. Fix the typo
36319 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
36320
36321 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
36322
36323 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
36324 foreign multibyte characters should be shown correctly.
36325
36326 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
36327
36328 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
36329 calculation.
36330 (read_config_file): Made it to close file before returning.
36331
36332 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
36333
36334 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
36335 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
36336 video/i386/pc/vbefill.c.
36337
36338 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
36339 video/i386/pc/vbefill.c.
36340
36341 * include/grub/video.h (grub_video_blit_format): New enum.
36342 (grub_video_mode_info): Added new member blit_format.
36343 (grub_video_get_blit_format): New function prototype.
36344
36345 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
36346 function prototype.
36347 (grub_video_vbe_map_rgb): Likewise.
36348 (grub_video_vbe_unmap_color): Likewise.
36349
36350 * include/grub/i386/pc/vbeblit.h: New file.
36351
36352 * include/grub/i386/pc/vbefill.h: New file.
36353
36354 * video/video.c (grub_video_get_blit_format): New function.
36355 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
36356 (grub_video_vbe_map_rgb): Likewise.
36357 (grub_video_vbe_unmap_color): Likewise.
36358
36359 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
36360 optimized fills.
36361 (grub_video_vbe_blit_render_target): Changed to use more optimized
36362 blits.
36363 (grub_video_vbe_setup): Added detection for optimized settings.
36364 (grub_video_vbe_create_render_target): Likewise.
36365
36366 * video/i386/pc/vbeblit.c: New file.
36367
36368 * video/i386/pc/vbefill.c: New file.
36369
36370 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
36371
36372 * font/manager.c (grub_font_get_glyph): Removed font fixup from
36373 here...
36374
36375 * util/unifont2pff.rb: ... and moved it to here. Improved argument
36376 parsing to support both hex and dec ranges. If filename was missing
36377 show usage information.
36378
36379 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
36380
36381 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
36382 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
36383
36384 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
36385 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
36386 (video_mod_SOURCES): Added.
36387 (video_mod_CFLAGS): Likewise.
36388 (video_mod_LDFLAGS): Likewise.
36389 (gfxterm_mod_SOURCES): Likewise.
36390 (gfxterm_mod_CFLAGS): Likewise.
36391 (gfxterm_mod_LDFLAGS): Likewise.
36392 (videotest_mod_SOURCES): Likewise.
36393 (videotest_mod_CFLAGS): Likewise.
36394 (videotest_mod_LDFLAGS): Likewise.
36395 (vesafb_mod_SOURCES): Removed.
36396 (vesafb_mod_CFLAGS): Likewise.
36397 (vesafb_mod_LDFLAGS): Likewise.
36398 (vga_mod_SOURCES): Likewise.
36399 (vga_mod_CFLAGS): Likewise.
36400 (vga_mod_LDFLAGS): Likewise.
36401
36402 * commands/videotest.c: New file.
36403
36404 * font/manager.c (fill_with_default_glyph): Modified to use
36405 grub_font_glyph.
36406 (grub_font_get_glyph): Likewise.
36407 (fontmanager): Renamed from this...
36408 (font_manager): ... to this.
36409
36410 * include/grub/font.h (grub_font_glyph): Added new structure.
36411 (grub_font_get_glyph): Modified to use grub_font_glyph.
36412
36413 * include/grub/misc.h (grub_abs): Added as inline function.
36414
36415 * include/grub/video.h: New file.
36416
36417 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
36418 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
36419 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
36420 (grub_vbe_get_controller_info): Renamed from this...
36421 (grub_vbe_bios_get_controller_info): ... to this.
36422 (grub_vbe_get_mode_info): Renamed from this...
36423 (grub_vbe_bios_get_mode_info): ... to this.
36424 (grub_vbe_set_mode): Renamed from this...
36425 (grub_vbe_bios_set_mode): ... to this.
36426 (grub_vbe_get_mode): Renamed from this...
36427 (grub_vbe_bios_get_mode): ... to this.
36428 (grub_vbe_set_memory_window): Renamed from this...
36429 (grub_vbe_bios_set_memory_window): ... to this.
36430 (grub_vbe_get_memory_window): Renamed from this...
36431 (grub_vbe_bios_get_memory_window): ... to this.
36432 (grub_vbe_set_scanline_length): Renamed from this...
36433 (grub_vbe_set_scanline_length): ... to this.
36434 (grub_vbe_get_scanline_length): Renamed from this...
36435 (grub_vbe_bios_get_scanline_length): ... to this.
36436 (grub_vbe_set_display_start): Renamed from this...
36437 (grub_vbe_bios_set_display_start): ... to this.
36438 (grub_vbe_get_display_start): Renamed from this...
36439 (grub_vbe_bios_get_display_start): ... to this.
36440 (grub_vbe_set_palette_data): Renamed from this...
36441 (grub_vbe_bios_set_palette_data): ... to this.
36442 (grub_vbe_set_pixel_rgb): Removed.
36443 (grub_vbe_set_pixel_index): Likewise.
36444
36445 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
36446 from this...
36447 (grub_vbe_bios_get_controller_info): ... to this.
36448 (grub_vbe_get_mode_info): Renamed from this...
36449 (grub_vbe_bios_get_mode_info): ... to this.
36450 (grub_vbe_set_mode): Renamed from this...
36451 (grub_vbe_bios_set_mode): ... to this.
36452 (grub_vbe_get_mode): Renamed from this...
36453 (grub_vbe_bios_get_mode): ... to this.
36454 (grub_vbe_set_memory_window): Renamed from this...
36455 (grub_vbe_bios_set_memory_window): ... to this.
36456 (grub_vbe_get_memory_window): Renamed from this...
36457 (grub_vbe_bios_get_memory_window): ... to this.
36458 (grub_vbe_set_scanline_length): Renamed from this...
36459 (grub_vbe_set_scanline_length): ... to this.
36460 (grub_vbe_get_scanline_length): Renamed from this...
36461 (grub_vbe_bios_get_scanline_length): ... to this.
36462 (grub_vbe_set_display_start): Renamed from this...
36463 (grub_vbe_bios_set_display_start): ... to this.
36464 (grub_vbe_get_display_start): Renamed from this...
36465 (grub_vbe_bios_get_display_start): ... to this.
36466 (grub_vbe_set_palette_data): Renamed from this...
36467 (grub_vbe_bios_set_palette_data): ... to this.
36468 (grub_vbe_bios_get_controller_info): Fixed problem with registers
36469 getting corrupted after calling it. Added more pushes and pops.
36470 (grub_vbe_bios_set_mode): Likewise.
36471 (grub_vbe_bios_get_mode): Likewise.
36472 (grub_vbe_bios_get_memory_window): Likewise.
36473 (grub_vbe_bios_set_scanline_length): Likewise.
36474 (grub_vbe_bios_get_scanline_length): Likewise.
36475 (grub_vbe_bios_get_display_start): Likewise.
36476 (grub_vbe_bios_set_palette_data): Likewise.
36477
36478 * normal/cmdline.c (cl_set_pos): Refresh the screen.
36479 (cl_insert): Likewise.
36480 (cl_delete): Likewise.
36481
36482 * term/gfxterm.c: New file.
36483
36484 * term/i386/pc/vesafb.c: Removed file.
36485
36486 * video/video.c: New file.
36487
36488 * video/i386/pc/vbe.c (real2pm): Added new function.
36489 (grub_video_vbe_draw_pixel): Likewise.
36490 (grub_video_vbe_get_video_ptr): Likewise.
36491 (grub_video_vbe_get_pixel): Likewise
36492 (grub_video_vbe_init): Likewise.
36493 (grub_video_vbe_fini): Likewise.
36494 (grub_video_vbe_setup): Likewise.
36495 (grub_video_vbe_get_info): Likewise.
36496 (grub_video_vbe_set_palette): Likewise.
36497 (grub_video_vbe_get_palette): Likewise.
36498 (grub_video_vbe_set_viewport): Likewise.
36499 (grub_video_vbe_get_viewport): Likewise.
36500 (grub_video_vbe_map_color): Likewise.
36501 (grub_video_vbe_map_rgb): Likewise.
36502 (grub_video_vbe_map_rgba): Likewise.
36503 (grub_video_vbe_unmap_color): Likewise.
36504 (grub_video_vbe_fill_rect): Likewise.
36505 (grub_video_vbe_blit_glyph): Likewise.
36506 (grub_video_vbe_blit_bitmap): Likewise.
36507 (grub_video_vbe_blit_render_target): Likewise.
36508 (grub_video_vbe_scroll): Likewise.
36509 (grub_video_vbe_swap_buffers): Likewise.
36510 (grub_video_vbe_create_render_target): Likewise.
36511 (grub_video_vbe_delete_render_target): Likewise.
36512 (grub_video_vbe_set_active_render_target): Likewise.
36513 (grub_vbe_set_pixel_rgb): Remove function.
36514 (grub_vbe_set_pixel_index): Likewise.
36515 (index_color_mode): Remove static variable.
36516 (active_mode): Likewise.
36517 (framebuffer): Likewise.
36518 (bytes_per_scan_line): Likewise.
36519 (grub_video_vbe_adapter): Added new static variable.
36520 (framebuffer): Likewise.
36521 (render_target): Likewise.
36522 (initial_mode): Likewise.
36523 (mode_in_use): Likewise.
36524 (mode_list): Likewise.
36525
36526 2006-03-10 Marco Gerards <marco@gnu.org>
36527
36528 * configure.ac (AC_INIT): Bumped to 1.93.
36529
36530 * DISTLIST: Added `include/grub/hfs.h'.
36531
36532 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
36533
36534 * boot/i386/pc/boot.S (general_error): Before looping, try INT
36535 18H, which might help the BIOS falling back to next boot media.
36536
36537 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
36538
36539 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
36540 Poe Chen <poe.poechen@gmail.com>.
36541
36542 2006-01-17 Marco Gerards <marco@gnu.org>
36543
36544 * include/grub/normal.h: Include <grub/script.h>.
36545 (grub_command_list): Removed struct.
36546 (grub_command_list_t): Removed type.
36547 (grub_menu_entry): Remove members `num' and `command_list'. Add
36548 members `commands' and `sourcecode'.
36549 * include/grub/script.h: Add inclusion guards.
36550 (grub_script_cmd_menuentry): New struct.
36551 (grub_script_execute_menuentry): New prototype.
36552 (grub_script_lexer_record_start): Likewise.
36553 (grub_script_lexer_record_stop): Likewise.
36554 * normal/execute.c (grub_script_execute_menuentry): New function.
36555 * normal/lexer.c (record, recording, recordpos, recordlen): New
36556 variables.
36557 (grub_script_lexer_record_start): New function.
36558 (grub_script_lexer_record_stop): Likewise.
36559 (recordchar): Likewise.
36560 (nextchar): Likewise.
36561 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
36562 2048 as the buffer size. Add the tokens `menuentry' and `@'.
36563 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
36564 (current_menu): New variable.
36565 (free_menu): Mainly rewritten.
36566 (grub_normal_menu_addentry): New function.
36567 (read_config_file): Rewritten.
36568 * normal/menu.c (run_menu_entry): Mainly rewritten.
36569 * normal/menu_entry.c (make_screen): Rewritten the code to insert
36570 the menu entry.
36571 (run): Mainly rewritten.
36572 * normal/parser.y (menu_entry): New variable.
36573 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
36574 (menuentry): New rule.
36575 (command): Add `menuentry'.
36576 (if_statement): Allow additional returns before `fi'.
36577 * normal/script.c (grub_script_create_cmdmenu): New function.
36578
36579 2006-01-03 Marco Gerards <marco@gnu.org>
36580
36581 * INSTALL: GNU Bison is required.
36582 * configure.ac: Rewritten the test to detect Bison.
36583 * Makefile.in (YACC): New variable. Reported by Xun Sun
36584 <xun.sun.cn@gmail.com>.
36585
36586 2006-01-03 Marco Gerards <marco@gnu.org>
36587
36588 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
36589 the HFS+ filesystem to filesystem blocks.
36590 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
36591 GCC warning is silenced.
36592
36593 2006-01-03 Marco Gerards <marco@gnu.org>
36594
36595 * partmap/apple.c (apple_partition_map_iterate): Convert the data
36596 read from disk from big endian to host byte order.
36597
36598 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
36599
36600 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
36601 documentation.
36602 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
36603 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
36604 embedded HFS+ filesystem.
36605 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
36606 (grub_hfs_sblock): Move from here...
36607 * include/grub/hfs.h: To here... New file.
36608 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
36609 documentation.
36610 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
36611 New macros.
36612 (grub_hfsplus_volheader): Change type of member `magic' to
36613 `grub_uint16_t'.
36614 (grub_hfsplus_data): Add new member `embedded_offset'.
36615 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
36616 returned block.
36617 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
36618 Calculate the offset.
36619
36620 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36621
36622 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
36623 Removed.
36624 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
36625
36626 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36627
36628 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
36629 ENV->NAME is NULL after allocating ENV->VALUE.
36630
36631 2005-12-25 Marco Gerards <marco@gnu.org>
36632
36633 * kern/env.c (grub_env_set): Rewritten the error handling code.
36634
36635 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36636
36637 * geninit.sh: Made more robust, and more portable.
36638
36639 2005-12-25 Marco Gerards <marco@gnu.org>
36640
36641 Add support for Apple HFS+ filesystems.
36642
36643 * fs/hfsplus.c: New file.
36644
36645 * DISTLIST: Added `fs/hfsplus.c'.
36646
36647 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
36648 (hfsplus_mod_SOURCES): New variable.
36649 (hfsplus_mod_CFLAGS): Likewise.
36650 (hfsplus_mod_LDFLAGS): Likewise.
36651 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
36652 (grub_setup_SOURCES): Likewise.
36653 (grub_mkdevicemap_SOURCES): Likewise.
36654 (grub_emu_SOURCES): Likewise.
36655 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36656
36657 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
36658
36659 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
36660
36661 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36662
36663 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
36664 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
36665 include/grub/parser.h, include/grub/script.h, kern/parser.c,
36666 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
36667 normal/lexer.c, normal/parser.y, normal/script.c, and
36668 partmap/gpt.c.
36669 Removed kern/sparc64/cache.c.
36670
36671 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
36672 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
36673 grub_emu_init.c.
36674
36675 * configure.ac (AC_INIT): Bumped to 1.92.
36676
36677 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
36678
36679 * kern/err.c (grub_error_push): Added new function to support error
36680 stacks.
36681 (grub_error_pop): Likewise.
36682 (grub_error_stack_items): New local variable to support error stacks.
36683 (grub_error_stack_pos): Likewise.
36684 (grub_error_stack_assert): Likewise.
36685 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
36686 stack depth.
36687 (grub_print_error): Added support to print errors from error stack.
36688
36689 * include/grub/err.h (grub_error_push): Added function prototype.
36690 (grub_error_pop): Likewise.
36691
36692 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
36693
36694 * configure.ac: Accept `powerpc64' as host_cpu.
36695 (amd64): Rename to `biarch32'.
36696
36697 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
36698 non-cacheline-aligned addresses.
36699
36700 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
36701 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
36702 if `size' is non-zero.
36703
36704 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
36705
36706 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
36707 and `cd' to make sure the filename is not prefixed with a
36708 directory name.
36709 (pkgdata_MODULES): Add `gpt.mod'.
36710 (gpt_mod_SOURCES): New variable.
36711 (gpt_mod_CFLAGS): Likewise.
36712 (gpt_mod_LDFLAGS): Likewise.
36713
36714 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
36715
36716 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
36717 New macro.
36718
36719 * partmap/gpt.c: New file.
36720
36721 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
36722 GPT partition map is detected.
36723
36724 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
36725
36726 * commands/i386/pc/play.c: New file.
36727 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
36728 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
36729 macros.
36730
36731 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
36732
36733 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
36734 ((unused))' to silence gcc warning.
36735
36736 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
36737
36738 * configure.ac: Correct `AC_PROG_YACC' test.
36739
36740 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36741
36742 * util/powerpc/ieee1275/grub-install.in: Run the mount point
36743 check before installing files.
36744
36745 2005-11-22 Mike Small <smallm@panix.com>
36746
36747 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
36748 number regex so multidigit numbers are recognized correctly.
36749
36750 2005-11-22 Mike Small <smallm@panix.com>
36751
36752 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
36753 debugging message before attempting to claim memory.
36754 (grub_rescue_cmd_initrd): Add a claim debugging message and try
36755 multiple addresses in case of failure.
36756
36757 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36758
36759 * term/tparm.c (get_space): Remove empty `if' statement.
36760
36761 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
36762
36763 * kern/parser.c (check_varstate): Rename `state' to 's'.
36764
36765 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36766
36767 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
36768 variable definitions to the beginning of each function. Sort stack
36769 variables by size.
36770 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
36771 `buf' argument to `char *'.
36772
36773 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36774
36775 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
36776 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
36777 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
36778 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36779 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36780 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36781 configfile.mod, search.mod, gzio.mod and test.mod.
36782 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36783 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36784 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36785 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36786 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36787 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36788 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36789 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36790 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36791 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36792 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36793 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36794 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36795 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36796 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36797 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36798 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36799 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36800 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36801 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36802 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36803 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36804 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
36805
36806 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
36807 `grep --include'.
36808 (pkgdata_MODULES): Add test.mod.
36809
36810 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36811
36812 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
36813 appending to variables with "+=".
36814 (PModule): Use full pathname to generate *.lst filenames.
36815
36816 * Makefile.in: Fixed list rules moved from genmk.rb.
36817 (.DELETE_ON_ERROR): New special target.
36818 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
36819
36820 * conf/i386-pc.rmk: Include conf/common.mk.
36821 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
36822 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
36823 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36824 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36825 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36826 configfile.mod, search.mod, gzio.mod and test.mod.
36827 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36828 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36829 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36830 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36831 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36832 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36833 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36834 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36835 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36836 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36837 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36838 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36839 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36840 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36841 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36842 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36843 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36844 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36845 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36846 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36847 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36848 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36849 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
36850 here...
36851 * conf/common.rmk: ... to here. New file.
36852
36853 * conf/common.mk: New file.
36854
36855 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
36856
36857 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
36858 (grub_script.tab.c): ... here.
36859
36860 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
36861 (grub_script.tab.c): ... here.
36862
36863 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
36864 (grub_script.tab.c): ... here.
36865
36866 * normal/command.c (grub_command_find): Fixed a memory leak of
36867 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
36868
36869 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36870
36871 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
36872 "@" which marks the start of a comment on ARM.
36873 (VARIABLE): Likewise.
36874
36875 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36876
36877 Add support for Linux/ADFS partition tables.
36878
36879 * partmap/acorn.c: New file.
36880
36881 * include/grub/acorn_filecore.h: Likewise.
36882
36883 * DISTLIST: Added `partmap/acorn.c' and
36884 `include/grub/acorn_filecore.h'.
36885
36886 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36887 `partmap/acorn.c'.
36888 (pkgdata_MODULES): Add `acorn.mod'.
36889 (acorn_mod_SOURCES): New variable.
36890 (acorn_mod_CFLAGS): Likewise.
36891
36892 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
36893 `partmap/acorn.c'.
36894 (pkgdata_MODULES): Add `acorn.mod'.
36895 (acorn_mod_SOURCES): New variable.
36896 (acorn_mod_CFLAGS): Likewise.
36897
36898 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
36899 (pkgdata_MODULES): Add `acorn.mod'.
36900 (acorn_mod_SOURCES): New variable.
36901 (acorn_mod_CFLAGS): Likewise.
36902 (acorn_mod_LDFLAGS): Likewise.
36903
36904 * include/types.h (grub_disk_addr_t): New typedef.
36905
36906 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
36907
36908 * geninit.sh: New file.
36909
36910 * geninitheader.sh: Likewise.
36911
36912 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
36913 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
36914 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
36915 * commands/configfile.c (grub_configfile_init)
36916 (grub_configfile_fini): Likewise.
36917 * commands/default.c (grub_default_init, grub_default_fini):
36918 Likewise.
36919 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
36920 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
36921 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
36922 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
36923 Likewise.
36924 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
36925 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
36926 Likewise.
36927 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
36928 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
36929 Likewise.
36930 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
36931 Likewise.
36932 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
36933 Likewise.
36934 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
36935 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
36936 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
36937 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
36938 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
36939 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
36940 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
36941 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
36942 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
36943 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
36944 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
36945 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
36946 * partmap/amiga.c (grub_amiga_partition_map_init)
36947 (grub_amiga_partition_map_fini): Likewise.
36948 * partmap/apple.c (grub_apple_partition_map_init)
36949 (grub_apple_partition_map_fini): Likewise.
36950 * partmap/pc.c (grub_pc_partition_map_init)
36951 (grub_pc_partition_map_fini): Likewise.
36952 * partmap/sun.c (grub_sun_partition_map_init,
36953 grub_sun_partition_map_fini): Likewise.
36954 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
36955 Likewise.
36956
36957 * util/grub-emu.c: Include <grub_modules_init.h>.
36958 (main): Don't initialize and de-initialize any modules directly,
36959 use `grub_init_all' and `grub_fini_all' instead.
36960
36961 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
36962 `grub_vesafb_mod_init'.
36963 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
36964 all users.
36965 * term/i386/pc/vga.c (grub_vga_init): Renamed to
36966 `grub_vga_mod_init'. Updated all users.
36967 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
36968
36969 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
36970 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
36971 rules.
36972
36973 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
36974 Generate a function to initialize the module in utilities.
36975 Updated all callers.
36976 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
36977 initialize the module in utilities. Updated all callers.
36978
36979 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
36980
36981 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
36982 escape sequence and a literal ^L to clear the screen.
36983
36984 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
36985 when returning from Open Firmware.
36986
36987 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
36988
36989 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
36990 (grub_ofconsole_height): Likewise.
36991 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
36992 manually insert a '\n'.
36993 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
36994 `grub_ofconsole_height'. Return early if these are already set.
36995
36996 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
36997
36998 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
36999 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
37000 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
37001 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
37002 and `normal/script.c'.
37003 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
37004 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
37005 (test_mod_SOURCES): New variable.
37006 (test_mod_CFLAGS): Likewise.
37007 (test_mod_LDFLAGS): Likewise.
37008 (pkgdata_MODULES): Add `test.mod'.
37009 (grub_script.tab.c): New rule.
37010 (grub_script.tab.h): Likewise.
37011
37012 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
37013
37014 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
37015 `commands/test.c', `normal/execute.c', `normal/lexer.c',
37016 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
37017 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
37018 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
37019 (test_mod_SOURCES): New variable.
37020 (test_mod_CFLAGS): Likewise.
37021 (pkgdata_MODULES): Add `test.mod'.
37022 (grub_script.tab.c): New rule.
37023 (grub_script.tab.h): Likewise.
37024
37025 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
37026
37027 Add initial scripting support.
37028
37029 * commands/test.c: New file.
37030 * include/grub/script.h: Likewise.
37031 * normal/execute.c: Likewise.
37032 * normal/function.c: Likewise.
37033 * normal/lexer.c: Likewise.
37034 * normal/parser.y: Likewise.
37035 * normal/script.c: Likewise.
37036
37037 * configure.ac: Add `AC_PROG_YACC' test.
37038
37039 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
37040 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
37041 `normal/function.c' and `normal/script.c'.
37042 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
37043 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
37044 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
37045 variables.
37046 (pkgdata_MODULES): Add `test.mod'.
37047 (grub_script.tab.c): New rule.
37048 (grub_script.tab.h): Likewise.
37049
37050 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
37051
37052 * include/grub/normal.h (grub_test_init): New prototype.
37053 (grub_test_fini): Likewise.
37054
37055 * normal/command.c: Include <grub/script.h>.
37056 (grub_command_execute): Rewritten.
37057
37058 * util/grub-emu.c (main): Call `grub_test_init' and
37059 `grub_test_fini'.
37060
37061 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
37062
37063 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
37064 to 0.
37065 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
37066 there are no pending characters.
37067
37068 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
37069
37070 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
37071 `grub_strndup' to drop device arguments. Replace unnecessary
37072 `grub_strndup' with `grub_strdup'.
37073
37074 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
37075
37076 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
37077 `debug' environment variable has been set.
37078
37079 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
37080
37081 * Makefile.in (install-local): Use $(DATA).
37082 (uninstall): Likewise.
37083 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
37084 (sbin_UTILITIES): ... to here.
37085 (sbin_SCRIPTS): New variable.
37086 (grub_install_SOURCES): New variable.
37087 * util/powerpc/ieee1275/grub-install.in: New file.
37088 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
37089 variable.
37090 (add_segments): Call `grub_util_get_path'.
37091
37092 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
37093
37094 From Timothy Baldwin:
37095 * commands/ls.c (grub_ls_list_files): Close FILE with
37096 grub_file_close.
37097 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
37098
37099 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
37100
37101 * include/grub/parser.h: New file.
37102
37103 * kern/parser.c: Likewise.
37104
37105 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
37106 (grub_setup_SOURCES): Likewise.
37107 (grub_probefs_SOURCES): Likewise.
37108 (grub_emu_SOURCES): Likewise.
37109 (kernel_img_HEADERS): Add `parser.h'.
37110
37111 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
37112 (grub_emu_SOURCES): Add `kern/parser.c'.
37113 (grubof_SOURCES): Likewise.
37114
37115 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
37116 (grubof_SOURCES): Add `kern/parser.c'.
37117
37118 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
37119
37120 * kern/misc.c (grub_split_cmdline): Removed function.
37121
37122 * kern/rescue.c: Include <grub/parser.h>.
37123 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
37124 of `grub_split_cmdline'.
37125
37126 * normal/command.c: Include <grub/parser.h>.
37127 (grub_command_execute): Use `grub_parser_split_cmdline' instead
37128 of `grub_split_cmdline'.
37129
37130 * normal/completion.c: Include <grub/parser.h>.
37131 (cmdline_state): New variable.
37132 (iterate_dir): End the filename with a quote depending on the
37133 command line state.
37134 (get_state): new function.
37135 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
37136 split the arguments and determine the current argument. When the
37137 argument string is not quoted, escape all spaces.
37138
37139 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
37140
37141 * normal/sparc64/setjmp.S: New file.
37142
37143 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
37144
37145 * include/grub/sparc64/libgcc.h: New file.
37146 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
37147 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
37148 normal/sparc64/setjmp.c.
37149
37150 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
37151
37152 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
37153 * kern/sparc64/cache.S: New file.
37154 * kern/sparc64/cache.c: Removed.
37155 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
37156 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
37157 -mtune=ultrasparc.
37158 (COMMON_LDFLAGS): Add -melf64_sparc.
37159 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
37160 (grubof_SOURCES): Use cache.S instead of cache.c.
37161 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
37162 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
37163 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
37164 commented though.
37165 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
37166 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
37167 (linux_mod_CFLAGS): Commented out.
37168 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
37169 out because module isn't built.
37170 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
37171 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
37172 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
37173 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
37174 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
37175 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
37176 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
37177 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
37178 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
37179 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
37180 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
37181 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
37182 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
37183 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
37184
37185 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
37186
37187 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
37188 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
37189 longer, because HFS should not be used on PC.
37190
37191 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37192
37193 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
37194 consistently within the loop.
37195
37196 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
37197
37198 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
37199 directory can not be read.
37200
37201 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37202
37203 * configure.ac (AC_INIT): Increase the version number to 1.91.
37204
37205 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
37206 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
37207 term/i386/pc/serial.c.
37208
37209 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37210
37211 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
37212 file size must be permitted.
37213
37214 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
37215 between %ah and %al.
37216
37217 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37218
37219 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
37220 grub_uint64_t.
37221 Call the hook with a NUL-terminated filename.
37222 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
37223 grub_cpu_to_be32.
37224
37225 * kern/term.c (cursor_state): New variable.
37226 (grub_term_set_current): Reset the cursor state on a new
37227 terminal.
37228 (grub_setcursor): Rewritten to use CURSOR_STATE.
37229 (grub_getcursor): New function.
37230
37231 * include/grub/term.h (grub_getcursor): New prototype.
37232
37233 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
37234 integers on ARM. Reported by Timothy Baldwin
37235 <T.E.Baldwin99@members.leeds.ac.uk>.
37236
37237 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
37238
37239 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
37240 allocated.
37241 (grub_sfs_dir): Likewise.
37242
37243 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
37244
37245 Add support for the SFS filesystem.
37246
37247 * fs/sfs.c: New file.
37248
37249 * DISTLIST: Added `fs/sfs.c'.
37250
37251 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
37252 (grub_probefs_SOURCES): Likewise.
37253 (grub_emu_SOURCES): Likewise.
37254 (pkgdata_MODULES): Add `sfs.mod'.
37255 (sfs_mod_SOURCES): New variable.
37256 (sfs_mod_CFLAGS): Likewise.
37257 (sfs_mod_LDFLAGS): Likewise.
37258
37259 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
37260 (pkgdata_MODULES): Add `sfs.mod'.
37261 (sfs_mod_SOURCES): New variable.
37262 (sfs_mod_CFLAGS): Likewise.
37263
37264 * util/grub-emu.c (main): Call `grub_sfs_init' and
37265 `grub_sfs_fini'.
37266
37267 * include/grub/fs.h (grub_sfs_init): New prototype.
37268 (grub_sfs_fini): Likewise.
37269
37270 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
37271
37272 Add support for the AFFS filesystem.
37273
37274 * fs/affs.c: New file.
37275
37276 * DISTLIST: Added `fs/affs.c'.
37277
37278 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
37279 (grub_probefs_SOURCES): Likewise.
37280 (grub_emu_SOURCES): Likewise.
37281 (pkgdata_MODULES): Add `affs.mod'.
37282 (affs_mod_SOURCES): New variable.
37283 (affs_mod_CFLAGS): Likewise.
37284 (affs_mod_LDFLAGS): Likewise.
37285
37286 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
37287 (pkgdata_MODULES): Add `affs.mod'.
37288 (affs_mod_SOURCES): New variable.
37289 (affs_mod_CFLAGS): Likewise.
37290
37291 * util/grub-emu.c (main): Call `grub_affs_init' and
37292 `grub_affs_fini'.
37293
37294 * include/grub/fs.h (grub_affs_init): New prototype.
37295 (grub_affs_fini): Likewise.
37296
37297 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
37298
37299 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
37300
37301 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
37302
37303 * configure.ac: Accept `x86_64' as host_cpu. In that case add
37304 `-m32' to CFLAGS.
37305
37306 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
37307 linking.
37308
37309 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
37310 (COMMON_LDFLAGS): New variable.
37311 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
37312 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
37313 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
37314 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
37315 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
37316 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
37317 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
37318 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
37319 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
37320 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
37321 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
37322 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
37323 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
37324 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
37325 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
37326 variables.
37327 (normal_mod_ASFLAGS): Add `-m32'.
37328
37329 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
37330 (grub_host_size_t, grub_host_ssize_t): New types.
37331 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
37332 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
37333 `GRUB_HOST_SIZEOF_VOID_P'.
37334
37335 * include/grub/kernel.h (struct grub_module_header): Type of
37336 member offset changed to `grub_host_off_t'. Type of member size
37337 changed to `grub_host_size_t'.
37338 (struct grub_module_info): Type of member offset changed to
37339 `grub_host_off_t'. Type of member size changed to
37340 `grub_host_size_t'.
37341
37342 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
37343
37344 Make GRUB's kernel compliant to Multiboot Specification.
37345
37346 * kern/i386/pc/startup.S (multiboot_header): New label.
37347 (multiboot_entry): Likewise.
37348 (multiboot_trampoline): Likewise.
37349
37350 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
37351 Increased to 0x4A0.
37352
37353 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
37354 put parentheses after a question mark.
37355 [!GRUB_UTIL] (my_mod): New variable.
37356
37357 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
37358
37359 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
37360
37361 Adds support for the XFS filesystem. Btrees are not supported
37362 yet.
37363
37364 * fs/xfs.c: New file.
37365
37366 * DISTLIST: Added `fs/xfs.c'.
37367
37368 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
37369 (grub_probefs_SOURCES): Likewise.
37370 (grub_emu_SOURCES): Likewise.
37371 (pkgdata_MODULES): Add `xfs.mod'.
37372 (xfs_mod_SOURCES): New variable.
37373 (xfs_mod_CFLAGS): Likewise.
37374
37375 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
37376 (pkgdata_MODULES): Add `xfs.mod'.
37377 (xfs_mod_SOURCES): New variable.
37378 (xfs_mod_CFLAGS): Likewise.
37379
37380 * util/grub-emu.c (main): Call `grub_xfs_init' and
37381 `grub_xfs_fini'.
37382
37383 * include/grub/fs.h (grub_xfs_init): New prototype.
37384 (grub_xfs_fini): Likewise.
37385
37386
37387 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
37388
37389 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
37390 color modes, allow greater than 16 colors to be configured as
37391 a default palette.
37392
37393 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37394
37395 * normal/completion.c (complete_arguments): Add the qualifier
37396 const into OPTIONS.
37397
37398 From Omniflux <omniflux+lists@omniflux.com>:
37399 * include/grub/terminfo.h: New file.
37400 * include/grub/tparm.h: Likewise.
37401 * include/grub/i386/pc/serial.h: Likewise.
37402 * term/terminfo.c: Likewise.
37403 * term/tparm.c: Likewise.
37404 * term/i386/pc/serial.c: Likewise.
37405 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
37406 serial.mod.
37407 (terminfo_mod_SOURCES): New variable.
37408 (terminfo_mod_CFLAGS): Likewise.
37409 (serial_mod_SOURCES): Likewise.
37410 (serial_mod_CFLAGS): Likewise.
37411
37412 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
37413
37414 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
37415 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
37416 and kern/powerpc/ieee1275/cmain.c, respectively.
37417
37418 * boot/powerpc/ieee1275/crt0.S: Moved to ...
37419 * kern/powerpc/ieee1275/crt0.S: ... here.
37420
37421 * boot/powerpc/ieee1275/cmain.c: Moved to ...
37422 * kern/powerpc/ieee1275/cmain.c: ... here.
37423
37424 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
37425 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
37426 instead of boot/powerpc/ieee1275/crt0.S and
37427 boot/powerpc/ieee1275/cmain.c, respectively.
37428
37429 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
37430 sectors. It was not used anyway.
37431
37432 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
37433
37434 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
37435 `unused parameter' warning.
37436
37437 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
37438
37439 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
37440 function.
37441 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
37442 getcharwidth.
37443
37444 2005-08-28 Marco Gerards <metgerards@student.han.nl>
37445
37446 * include/grub/normal.h (enum grub_completion_type): Added
37447 `GRUB_COMPLETION_TYPE_ARGUMENT'.
37448
37449 * normal/cmdline.c (print_completion): Handle
37450 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
37451 * normal/menu_entry.c (store_completion): Likewise.
37452
37453 * normal/completion.c (complete_arguments): New function.
37454 (grub_normal_do_completion): Call `complete_arguments' when the
37455 current words start with a dash.
37456
37457 2005-08-27 Marco Gerards <metgerards@student.han.nl>
37458
37459 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
37460 `gzio.mod' instead of `io.mod').
37461
37462 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
37463
37464 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
37465 (DISTDIRS): Added io and video.
37466 Rewrite the search routine to make an output consistently.
37467
37468 * DISTLIST: Added conf/sparc64-ieee1275.mk,
37469 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
37470 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
37471 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
37472 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
37473 util/powerpc/ieee1275/misc.c.
37474
37475 * include/grub/gzio.h: New file.
37476 * io/gzio.c: Likewise.
37477
37478 * kern/file.c (grub_file_close): Call grub_device_close only if
37479 FILE->DEVICE is not NULL.
37480
37481 * include/grub/mm.h [!NULL] (NULL): New macro.
37482
37483 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
37484
37485 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
37486 (pkgdata_MODULES): Added gzio.mod.
37487 (gzio_mod_SOURCES): New variable.
37488 (gzio_mod_CFLAGS): Likewise.
37489
37490 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
37491 (pkgdata_MODULES): Added gzio.mod.
37492 (gzio_mod_SOURCES): New variable.
37493 (gzio_mod_CFLAGS): Likewise.
37494
37495 * commands/cat.c: Include grub/gzio.h.
37496 (grub_cmd_cat): Use grub_gzfile_open instead of
37497 grub_file_open.
37498
37499 * commands/cmp.c: Include grub/gzio.h.
37500 (grub_cmd_cmp): Use grub_gzfile_open instead of
37501 grub_file_open.
37502
37503 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
37504 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
37505 grub_file_open.
37506 (grub_rescue_cmd_module): Likewise.
37507
37508 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
37509
37510 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
37511 kern/sparc64/ieee1275/init.c because it contains _start.
37512 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
37513
37514 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
37515
37516 * configure.ac: Add support for sparc64 host with ieee1275
37517 firmware.
37518 * configure: Generated from configure.ac.
37519 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
37520 instead of int.
37521 (grub_ofdisk_read): Likewise.
37522 (grub_ofdisk_open): Use %p to print pointer values, and cast the
37523 pointers as (void *) to remove a warning.
37524 (grub_ofdisk_close): Likewise.
37525 (grub_ofdisk_read): Likewise.
37526 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
37527 returns, so make it return void to remove a warning.
37528 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
37529 Corresponding prototype change.
37530 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
37531 values, and cast the pointers as (void *) to remove a warning.
37532 (grub_mm_dump): Likewise.
37533 * conf/sparc64-ieee1275.mk: New file.
37534 * conf/sparc64-ieee1275.rmk: Likewise.
37535 * include/grub/sparc64/setjmp.h: Likewise.
37536 * include/grub/sparc64/types.h: Likewise.
37537 * include/grub/sparc64/ieee1275/console.h: Likewise.
37538 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
37539 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
37540 * include/grub/sparc64/ieee1275/time.h: Likewise.
37541 * kern/sparc64/cache.c: Likewise.
37542 * kern/sparc64/dl.c: Likewise.
37543 * kern/sparc64/ieee1275/init.c: Likewise.
37544 * kern/sparc64/ieee1275/openfw.c: Likewise.
37545
37546 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
37547
37548 * util/console.c (grub_ncurses_putchar): If C is greater than
37549 0x7f, set C to a question mark.
37550 (grub_ncurses_getcharwidth): New function.
37551 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
37552 getcharwidth.
37553
37554 * normal/menu.c (print_entry): Made aware of Unicode. First,
37555 convert TITLE to UCS-4, and predict the cursor position by
37556 grub_getcharwidth.
37557
37558 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
37559 const to SRC.
37560 * kern/misc.c (grub_utf16_to_utf8): Likewise.
37561
37562 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37563
37564 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
37565 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
37566 grub_strcat.
37567
37568 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
37569 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
37570 grub_strcpy and grub_strlen. Take it into account that a space
37571 character is inserted as a delimiter.
37572
37573 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37574
37575 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
37576 invalid magic in the error.
37577
37578 * commands/search.c: New file.
37579
37580 * util/grub-emu.c (main): Call grub_search_init and
37581 grub_search_fini.
37582
37583 * kern/rescue.c (grub_rescue_print_disks): Removed.
37584 (grub_rescue_print_devices): New function.
37585 (grub_rescue_cmd_ls): Use grub_device_iterate with
37586 grub_rescue_print_devices instead of grub_disk_dev_iterate with
37587 grub_rescue_print_disks.
37588
37589 * kern/partition.c (grub_partition_iterate): Return the result of
37590 PARTMAP->ITERATE instead of GRUB_ERRNO.
37591
37592 * kern/device.c: Include grub/partition.h.
37593 (grub_device_iterate): New function.
37594
37595 * include/grub/partition.h (grub_partition_iterate): Return int
37596 instead of grub_err_t.
37597
37598 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
37599 prototype.
37600 [GRUB_UTIL] (grub_search_fini): Likewise.
37601
37602 * include/grub/device.h (grub_device_iterate): New prototype.
37603
37604 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37605 commands/search.c.
37606 (pkgdata_MODULES): Added search.mod.
37607 (search_mod_SOURCES): New variable.
37608 (search_mod_CFLAGS): Likewise.
37609
37610 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
37611 (pkgdata_MODULES): Added search.mod.
37612 (search_mod_SOURCES): New variable.
37613 (search_mod_CFLAGS): Likewise.
37614
37615 * commands/ls.c (grub_ls_list_disks): Renamed to ...
37616 (grub_ls_list_devices): ... this, and use grub_device_iterate.
37617 All callers changed.
37618
37619 * DISTLIST: Added commands/search.c.
37620
37621 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37622
37623 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
37624 conversion.
37625 (grub_getcharwidth): New function.
37626
37627 * kern/misc.c (grub_utf8_to_ucs4): New function.
37628
37629 * include/grub/term.h (struct grub_term): Added a new member
37630 "getcharwidth".
37631 (grub_getcharwidth): New prototype.
37632
37633 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
37634
37635 * term/i386/pc/console.c (map_char): New function. Segregated from
37636 grub_console_putchar.
37637 (grub_console_putchar): Use map_char.
37638 (grub_console_getcharwidth): New function.
37639 (grub_console_term): Specified grub_console_getcharwidth as
37640 getcharwidth.
37641
37642 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
37643 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
37644
37645 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
37646 GRUB_ERRNO.
37647 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
37648 on grub_strtoul completely.
37649 (write_char): Declare local variables in the beginning of the
37650 function.
37651 (grub_vesafb_getcharwidth): New function.
37652 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
37653 getcharwidth.
37654
37655 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
37656
37657 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
37658 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
37659 commands/i386/pc/vbetest.c.
37660
37661 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
37662 call grub_vbe_get_controller_info again, because the returned
37663 information is volatile.
37664 (grub_vbe_set_video_mode): Mostly rewritten.
37665 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
37666 grub_vbe_status_t correctly.
37667 (grub_vbe_get_video_mode_info): Likewise.
37668 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
37669 several if statements.
37670
37671 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
37672 * commands/i386/pc/vbeinfo.c: ... this.
37673
37674 * commands/i386/pc/vbe_test.c: Renamed to ...
37675 * commands/i386/pc/vbetest.c: ... this.
37676
37677 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
37678 ...
37679 (grub_cmd_vbeinfo): ... this. Save video modes before
37680 iterating. Skip a video mode, if it is not available, not enough
37681 information is given or it is monochrome. Show the memory
37682 model. Leave the interpretation of MODEVAR to grub_strtoul
37683 completely.
37684 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
37685 (GRUB_MOD_FINI): Likewise.
37686
37687 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
37688 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
37689 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
37690 duplicated grub_env_get. Leave the interpretation of MODEVAR to
37691 grub_strtoul completely.
37692 (real2pm): Removed.
37693 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
37694 (GRUB_MOD_FINI): Likewise.
37695
37696 * normal/misc.c: Include grub/mm.h.
37697
37698 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
37699 vbe_list_modes with vbetest.mod and vbeinfo.mod.
37700 (vbe_list_modes_mod_SOURCES): Removed.
37701 (vbe_list_modes_mod_CFLAGS): Likewise.
37702 (vbe_test_mod_SOURCES): Likewise.
37703 (vbe_test_mod_CFLAGS): Likewise.
37704 (vbeinfo_mod_SOURCES): New variable.
37705 (vbeinfo_mod_CFLAGS): Likewise.
37706 (vbetest_mod_SOURCES): Likewise.
37707 (vbetest_mod_CFLAGS): Likewise.
37708
37709 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
37710
37711 * normal/misc.c: New file.
37712
37713 * DISTLIST: Added normal/misc.c.
37714
37715 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
37716 DISK to HOOK. Call HOOK with DISK.
37717 * partmap/apple.c (apple_partition_map_iterate): Likewise.
37718 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37719 * partmap/sun.c (sun_partition_map_iterate): Likewise.
37720
37721 * normal/menu_entry.c (struct screen): Added a new member
37722 "completion_shown".
37723 (completion_buffer): New global variable.
37724 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
37725 (store_completion): New function.
37726 (complete): Likewise.
37727 (clear_completions): Likewise.
37728 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
37729 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
37730 a tab, call complete.
37731
37732 * normal/completion.c (disk_dev): Removed.
37733 (print_simple_completion): Likewise.
37734 (print_partition_completion): Likewise.
37735 (print_func): New global variable.
37736 (add_completion): Do not take the arguments WHAT or PRINT any
37737 longer. Added a new argument TYPE. Instead of printing directly,
37738 call PRINT_FUNC if not NULL.
37739 All callers changed.
37740 (complete_device): Use a local variable DEV instead of
37741 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
37742 (grub_normal_do_completion): Take a new argument HOOK. Do not
37743 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
37744 empty string, return NULL instead.
37745 All callers changed.
37746
37747 * normal/cmdline.c (print_completion): New function.
37748
37749 * kern/partition.c (grub_partition_iterate): Add an argument DISK
37750 to HOOK.
37751 All callers changed.
37752
37753 * kern/disk.c (grub_print_partinfo): Removed.
37754
37755 * include/grub/partition.h (struct grub_partition_map): Add a new
37756 argument DISK into HOOK of ITERATE.
37757 (grub_partition_iterate): Add a new argument DISK to HOOK.
37758
37759 * include/grub/normal.h (enum grub_completion_type): New enum.
37760 (grub_completion_type_t): New type.
37761 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
37762 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
37763 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
37764 (GRUB_COMPLETION_TYPE_FILE): Likewise.
37765 (grub_normal_do_completion): Added a new argument HOOK.
37766 (grub_normal_print_device_info): New prototype.
37767
37768 * include/grub/disk.h (grub_print_partinfo): Removed.
37769
37770 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
37771 (normal_mod_SOURCES): Likewise.
37772 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37773 (normal_mod_SOURCES): Likewise.
37774
37775 * commands/ls.c (grub_ls_list_disks): Use
37776 grub_normal_print_device_info instead of grub_print_partinfo. Free
37777 PNAME.
37778 (grub_ls_list_files): Use grub_normal_print_device_info instead of
37779 duplicating the code.
37780
37781 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37782
37783 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
37784 follow GCS more precisely.
37785 * commands/i386/pc/vbe_test.c: Likewise.
37786 * include/grub/i386/pc/vbe.h: Likewise.
37787 * term/i386/pc/vesafb.c: Likewise.
37788 * video/i386/pc/vbe.c: Likewise.
37789
37790 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37791
37792 * DISTLIST: Added term/i386/pc/vesafb.c
37793 DISTLIST: Added video/i386/pc/vbe.c
37794 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
37795 DISTLIST: Added commands/i386/pc/vbe_test.c.
37796 * commands/i386/pc/vbe_list_modes.c: New file.
37797 * commands/i386/pc/vbe_test.c: Likewise.
37798 * term/i386/pc/vesafb.c: Likewise.
37799 * video/i386/pc/vbe.c: Likewise.
37800 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
37801 (grub_vbe_probe) Added prototype.
37802 (grub_vbe_set_video_mode) Likewise.
37803 (grub_vbe_get_video_mode) Likewise.
37804 (grub_vbe_get_video_mode_info) Likewise.
37805 (grub_vbe_set_pixel_rgb) Likewise.
37806 (grub_vbe_set_pixel_index) Likewise.
37807 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
37808 (pkgdata_MODULES): Added vesafb.mod.
37809 (pkgdata_MODULES): Added vbe_list_modes.mod.
37810 (pkgdata_MODULES): Added vbe_test.mod.
37811 (vbe_mod_SOURCES): Added.
37812 (vbe_mod_CFLAGS): Likewise.
37813 (vesafb_mod_SOURCES): Likewise.
37814 (vesafb_mod_CFLAGS): Likewise.
37815 (vbe_list_modes_mod_SOURCES): Likewise.
37816 (vbe_list_modes_mod_CFLAGS): Likewise.
37817 (vbe_test_mod_SOURCES): Likewise.
37818 (vbe_test_mod_CFLAGS): Likewise.
37819
37820 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
37821
37822 * normal/command.c (grub_command_execute): If INTERACTIVE is
37823 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
37824 CMDLINE. Disable the pager if INTERACTIVE is true.
37825 All callers are changed.
37826
37827 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
37828 before reading a config file.
37829 * normal/main.c (read_config_file): Even if a command is not
37830 found, register it if it is within an entry.
37831
37832 * util/grub-emu.c: Include sys/types.h and unistd.h.
37833 (options): Added --hold.
37834 (struct arguments): Added a new member "hold".
37835 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
37836 missing.
37837 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
37838 cleared by a debugger, if it is not zero.
37839
37840 * include/grub/normal.h (grub_command_execute): Add an argument
37841 INTERACTIVE.
37842
37843 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
37844
37845 * DISTLIST: Added include/grub/i386/pc/vbe.h.
37846
37847 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
37848
37849 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
37850 program with another one, because the old one didn't detect a bug
37851 in gcc-3.4. Always use regparm 2, because the new test is still
37852 not enough for gcc-4.0. Someone must investigate a simple test
37853 case which detects a bug in gcc-4.0.
37854
37855 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
37856
37857 * DISTLIST: Added normal/completion.c.
37858
37859 * normal/completion.c: New file.
37860
37861 * term/i386/pc/console.c (grub_console_getwh): New function.
37862 (grub_console_term): Assign grub_console_getwh to getwh.
37863
37864 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
37865 function is defined in normal/completion.c as
37866 grub_normal_do_completion.
37867 (grub_cmdline_get): Use grub_normal_do_completion instead of
37868 grub_tab_complete.
37869
37870 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
37871 returns non-zero, otherwise return 0.
37872 (grub_partition_iterate): First, probe the partition map. Then,
37873 call ITERATE only for this partition map.
37874
37875 * kern/misc.c (grub_strncmp): Rewritten.
37876
37877 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
37878 returns non-zero. Otherwise return 0.
37879
37880 * include/grub/partition.h (grub_partition_map_iterate): Return
37881 int instead of void.
37882
37883 * include/grub/normal.h (grub_normal_do_completion): New prototype.
37884
37885 * include/grub/misc.h (grub_strncmp): Change the type of N to
37886 grub_size_t.
37887
37888 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
37889 of void.
37890
37891 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
37892 unsigned explicitly before comparing it with I.
37893
37894 * kern/main.c (grub_env_write_root): Add the attribute unused into
37895 VAR.
37896
37897 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37898 normal/completion.c.
37899 (normal_mod_SOURCES): Likewise.
37900 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37901 (normal_mod_SOURCES): Likewise.
37902
37903 * normal/command.c (grub_iterate_commands): If ITERATE returns
37904 non-zero, return one immediately.
37905
37906 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
37907
37908 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
37909 * kern/i386/pc/startup.S: Updated Global Descriptor table's
37910 descriptions.
37911 (grub_vbe_get_controller_info): New function.
37912 (grub_vbe_get_mode_info): Likewise.
37913 (grub_vbe_set_mode): Likewise.
37914 (grub_vbe_get_mode): Likewise.
37915 (grub_vbe_set_memory_window): Likewise.
37916 (grub_vbe_get_memory_window): Likewise.
37917 (grub_vbe_set_scanline_length): Likewise.
37918 (grub_vbe_get_scanline_length): Likewise.
37919 (grub_vbe_set_display_start): Likewise.
37920 (grub_vbe_get_display_start): Likewise.
37921 (grub_vbe_set_palette_data): Likewise.
37922 * include/grub/i386/pc/vbe.h: New file.
37923
37924 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37925
37926 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
37927 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
37928 * DISTLIST: Likewise.
37929 * kern/ieee1275/of.c: Moved to ...
37930 * kern/ieee1275/ieee1275.c: ... here.
37931
37932 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37933
37934 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
37935 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
37936 Pass 0 as `end' parameter to grub_strtoul().
37937
37938 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37939
37940 * include/grub/powerpc/ieee1275/console.h: Do not include
37941 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
37942 ifdef.
37943 (grub_console_cur_color): Remove i386-specific prototype.
37944 (grub_console_real_putchar): Likewise.
37945 (grub_console_checkkey): Likewise.
37946 (grub_console_getkey): Likewise.
37947 (grub_console_getxy): Likewise.
37948 (grub_console_gotoxy): Likewise.
37949 (grub_console_cls): Likewise.
37950 (grub_console_setcursor): Likewise.
37951 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
37952 Include <grub/machine/console.h>.
37953 * term/ieee1275/ofconsole.c: Likewise.
37954
37955 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
37956
37957 * Makefile.in (LIBLZO): New variable.
37958
37959 * configure.ac: Check for LZO version 2.
37960
37961 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
37962 lzo/lzo1x.h instead of lzo1x.h.
37963
37964 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
37965 of -llzo.
37966
37967 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
37968 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
37969
37970 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
37971 copying the data from PARTITION to P.
37972
37973 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37974
37975 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
37976 negative, unload the module.
37977
37978 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
37979 map is "pc_partition_map" but not "pc".
37980 (usage): Fix the description. The options are --boot-image and
37981 --core-image but not --boot-file or --core-file.
37982 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
37983 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
37984 DEFAULT_DIRECTORY.
37985
37986 * util/i386/pc/grub-install.in: Do not specify --boot-file or
37987 --core-file. Specify INSTALL_DEVICE as an argument.
37988
37989 * util/console.c: Include config.h.
37990 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
37991 [HAVE_NCURSES_H]: Include ncurses.h.
37992 [HAVE_CURSES_H]: Include curses.h.
37993 [!A_NORMAL] (A_NORMAL): Defined as zero.
37994 [!A_STANDOUT] (A_STANDOUT): Likewise.
37995
37996 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
37997 -lncurses.
37998 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
37999
38000 * configure.ac: Check for curses libraries and headers.
38001
38002 * Makefile.in (LIBCURSES): New variable.
38003
38004 * genmk.rb (Script::rule): Set the executable bits.
38005
38006 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
38007 name of the PC partition map is "pc_partition_map" but not "pc".
38008
38009 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
38010
38011 * util/i386/pc/grub-install.in (grub_probefs): New variable.
38012 (modules): Likewise.
38013 (usage): Added descriptions for --modules and --grub-probefs.
38014 Handle --modules and --grub-probefs. Save the arguments in MODULES
38015 and GRUB_PROBEFS, respectively.
38016 Auto-detect a filesystem module against GRUBDIR. If the result is
38017 empty and modules are not specified explicitly, abort the
38018 installation. Add the result to MODULES.
38019
38020 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
38021 disk/powerpc/ieee1275/ofdisk.c,
38022 include/grub/powerpc/ieee1275/init.h and
38023 term/powerpc/ieee1275/ofconsole.c.
38024 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
38025 term/ieee1275/ofconsole.c.
38026
38027 * include/grub/powerpc/ieee1275/console.h: Resurrected.
38028
38029 * COPYING: Upgraded to the latest version. Only the address of the
38030 FSF office has changed.
38031
38032 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
38033
38034 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
38035 kern/ieee1275.c with kern/ieee1275/of.c.
38036
38037 * kern/ieee1275.c: Moved to ...
38038 * kern/ieee1275/of.c: ... here.
38039
38040 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
38041
38042 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
38043 readability.
38044
38045 * config.guess: Updated to the latest version from gnulib.
38046 * config.sub: Likewise.
38047 * install.sh: Likewise.
38048 * mkinstalldirs: Likewise.
38049
38050 * include/grub/console.h: Removed. This file is arch-specific. Do
38051 not put this in include/grub.
38052
38053 * include/grub/i386/pc/console.h: Resurrected.
38054
38055 * util/console.c: Include grub/machine/console.h instead of
38056 grub/console.h.
38057 * util/grub-emu.c: Likewise.
38058
38059 2005-08-04 Marco Gerards <metgerards@student.han.nl>
38060
38061 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
38062 hardcoded value.
38063
38064 From Vincent Pelletier <subdino2004@yahoo.fr>
38065 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
38066 Redefined to use grub_getwh.
38067 (grub_term): New member named getwh.
38068 (grub_getwh): New prototype.
38069 * kern/term.c (grub_getwh): New function.
38070 * term/i386/pc/console.c (grub_console_getwh): New function.
38071 (grub_console_term): New member `getwh'.
38072 * term/i386/pc/vga.c (grub_vga_getwh): New function.
38073 (grub_vga_term): New member `getwh'.
38074 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
38075 grub_ssize_t.
38076 (grub_ofconsole_getw): New function.
38077 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
38078 (grub_ofconsole_term): New field named getwh and new initial
38079 value.
38080
38081 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
38082
38083 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
38084 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
38085 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
38086 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
38087 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
38088 of <grub/machine/ieee1275.h>.
38089 * commands/ieee1275/reboot.c: Likewise.
38090 * boot/powerpc/ieee1275/ieee1275.c: Move ...
38091 * kern/ieee1275.c: ... to here. All users updated. Change all
38092 parameter structs to use new type `grub_ieee1275_cell_t'.
38093 * term/powerpc/ieee1275/ofconsole.c: Move ...
38094 * term/ieee1275/ofconsole.c: ... to here. All users updated.
38095 * disk/powerpc/ieee1275/ofdisk.c: Move ...
38096 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
38097 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
38098 to return int.
38099 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
38100 Remove unused prototypes. All users updated.
38101 * include/grub/powerpc/ieee1275/console.h: Removed.
38102 * include/grub/powerpc/ieee1275/ieee1275.h: Define
38103 `grub_ieee1275_cell_t'.
38104 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
38105 Cast comparisons with -1 to the correct type.
38106 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
38107 type to match `grub_ieee1275_entry_fn'.
38108
38109 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
38110
38111 * DISTLIST: Added util/i386/pc/grub-probefs.c.
38112
38113 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
38114 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
38115 partmap/sun.c.
38116 (grub_probefs_SOURCES): New variable.
38117
38118 * util/i386/pc/grub-probefs.c: New file.
38119
38120 * util/i386/pc/grub-setup.c (main): Call
38121 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
38122 grub_hfs_init and grub_jfs_init to initialize the system. Call
38123 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
38124 grub_pc_partition_map_fini to finish the system.
38125
38126 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
38127
38128 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
38129 function.
38130 (grub_multiboot_load_elf32): Likewise.
38131 (grub_multiboot_is_elf64): Likewise.
38132 (grub_multiboot_load_elf64): Likewise.
38133 (grub_multiboot_load_elf): Likewise.
38134 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
38135 an ELF32 or ELF64 file.
38136 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
38137
38138 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
38139 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
38140 NULL before calling FS->LABEL.
38141 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
38142 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
38143 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
38144 before calling FS->LABEL.
38145
38146 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
38147
38148 * util/i386/pc/grub-install.in (datadir): New variable.
38149 (libdir): Removed.
38150 (pkgdatadir): New variable.
38151 (pkglibdir): Removed.
38152
38153 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
38154
38155 * DISTLIST: Added util/i386/pc/grub-install.in.
38156
38157 * util/i386/pc/grub-install.in: New file.
38158
38159 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
38160 (grub_install_SOURCES): Likewise.
38161
38162 * genmk.rb: Added support for scripts.
38163 (Script): New class.
38164 (scripts): New variable.
38165
38166 * Makefile.in (install-local): Install sbin_SCRIPTS by
38167 INSTALL_SCRIPT.
38168 (uninstall): Remove sbin_SCRIPTS.
38169
38170 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
38171 device, try to get a GRUB device by
38172 grub_util_biosdisk_get_grub_dev.
38173 Free DEST_DEV.
38174
38175 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
38176 description for --device-map.
38177
38178 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
38179
38180 Change the semantics of variable hooks. They now return strings
38181 instead of error values.
38182
38183 * util/i386/pc/grub-setup.c: Include grub/env.h.
38184 (setup): Use grub_device_set_root instead of grub_env_set.
38185
38186 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
38187 grub_env_get instead of grub_device_set_root and
38188 grub_device_get_root, respectively.
38189
38190 * kern/main.c (grub_env_write_root): New function.
38191 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
38192 grub_env_set instead of grub_device_set_root.
38193
38194 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
38195 many variables.
38196 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
38197 rather than calling ENV->WRITE_HOOK afterwards.
38198 (grub_env_get): Return the result of ENV->READ_HOOK rather than
38199 passing a pointer of a pointer.
38200 (grub_register_variable_hook): Change the types of "read_hook" and
38201 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
38202 respectively.
38203 Allocate the default empty string on the heap, because this string
38204 may be freed later.
38205
38206 * kern/device.c: Include grub/env.h.
38207 (grub_device_set_root): Removed.
38208 (grub_device_get_root): Likewise.
38209 (grub_device_open): Use grub_env_get instead of
38210 grub_device_get_root.
38211
38212 * include/grub/env.h (grub_env_read_hook_t): New type.
38213 (grub_env_write_hook_t): Likewise.
38214 (grub_env_var): Change the types of "read_hook" and "write_hook"
38215 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
38216 (grub_register_variable_hook): Likewise.
38217
38218 * include/grub/device.h (grub_device_set_root): Removed.
38219 (grub_device_set_root): Likewise.
38220
38221 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
38222 make sure that DIRNAME terminates with '/', so that
38223 grub_fat_find_dir will fail if PATH is not a directory.
38224
38225 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
38226 from DIRNAME.
38227 Use the qualifier auto for print_files and print_files_long.
38228 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
38229 as a regular file.
38230 Put a newline only if there is no error.
38231 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
38232 used.
38233
38234 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
38235
38236 * kern/partition.c (grub_partition_probe): Initialize PART to
38237 NULL. Otherwise, when no partition map is registered, this returns
38238 a garbage.
38239
38240 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
38241
38242 * partmap/apple.c (apple_partition_map_iterate): Check if POS
38243 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
38244 valid.
38245
38246 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
38247
38248 * commands/ls.c (grub_ls_list_disks): Print the filesystem
38249 information on each device, if it does not have partitions. Print
38250 "Device" instead of "Disk", because this function is not specific
38251 to disk devices.
38252
38253 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
38254 static to ensure that it is put on the memory rather than a
38255 register.
38256
38257 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
38258
38259 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
38260 (grub_cat_init): Likewise.
38261 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
38262 (options): Likewise.
38263 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
38264 (grub_configfile_init): Likewise.
38265 * font/manager.c (GRUB_MOD_INIT): Likewise.
38266 * commands/help.c (GRUB_MOD_INIT): Likewise.
38267 (grub_help_init): Likewise.
38268 * normal/command.c (grub_command_init): Likewise.
38269 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
38270 * disk/loopback.c (grub_loop_init): Likewise.
38271 (GRUB_MOD_INIT): Likewise.
38272 * commands/ls.c (grub_ls_init): Likewise.
38273 (GRUB_MOD_INIT): Likewise.
38274 (options): Likewise.
38275 * commands/boot.c (grub_boot_init): Likewise.
38276 (GRUB_MOD_INIT): Likewise.
38277 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
38278 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
38279 (GRUB_MOD_INIT): Likewise.
38280 * commands/cmp.c (grub_cmp_init): Likewise.
38281 (GRUB_MOD_INIT): Likewise.
38282
38283 * normal/arg.c: Use <> instead of "" to include header files.
38284 (SHORT_ARG_HELP): New macro.
38285 (SHORT_ARG_USAGE): Likewise.
38286 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
38287 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
38288 descriptions.
38289 (find_short): Check if C is 'h' or 'u' explicitly.
38290 (grub_arg_show_help): Use space characters instead of tabs. Treat
38291 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
38292 are shown with --help and --usage only if they are not used for
38293 the command itself.
38294 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
38295 'h' and 'u'.
38296
38297 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
38298 const into "longarg". Change the type of "shortarg" to int.
38299
38300 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
38301
38302 * boot/i386/pc/boot.S (boot_drive_check): New label.
38303
38304 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
38305 macro.
38306
38307 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
38308 which do not pass a boot drive correctly. Copied from GRUB Legacy.
38309
38310 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
38311
38312 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
38313 When turning off Gate A20, skip the check and return immediately,
38314 because this is not fatal usually.
38315
38316 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
38317
38318 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
38319 be 0x7C00 instead of 0x8000.
38320
38321 * boot/i386/pc/pxeboot.S: Rewritten.
38322
38323 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
38324 EXT_C.
38325 (gate_a20_check_state): Read a byte from 0x108000. Invert the
38326 result.
38327
38328 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
38329
38330 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
38331 robustness. This routine now supports a BIOS call and System
38332 Control Port A to modify the gate A20.
38333
38334 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
38335 Increased to 0x440.
38336
38337 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
38338
38339 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
38340 device path and resulting ihandle.
38341 (grub_ofdisk_close): dprintf the ihandle being closed.
38342 (grub_ofdisk_read): dprintf function parameters.
38343 * kern/mm.c (grub_mm_init_region): Likewise.
38344 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
38345 (grub_linux_boot): dprintf the Linux entry point, initrd address and
38346 size, and boot arguments.
38347 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
38348 before loading into memory.
38349 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
38350 before loading into memory.
38351
38352 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
38353
38354 * kern/mm.c: Added much documentation.
38355 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
38356 8, set to 5 instead of 8.
38357
38358 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
38359
38360 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
38361
38362 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
38363 (grub_mkdevicemap_SOURCES): New variable.
38364
38365 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
38366 lib/device.c of GRUB Legacy.
38367
38368 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
38369
38370 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
38371 instead of PATH is NULL.
38372
38373 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
38374
38375 * commands/cmp.c (BUFFER_SIZE): New macro.
38376 (grub_cmd_cmp): Close the right file at the right time. Compare
38377 only data just read. Don't report files of different size as
38378 identical. Dynamically allocate buffers. Move variable
38379 declarations at the beginning of function.
38380
38381 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
38382
38383 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
38384 reverse.
38385
38386 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
38387
38388 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
38389 when backspace is pressed at beginning of line.
38390
38391 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
38392
38393 * DISTLIST: Added genfslist.sh.
38394
38395 * normal/main.c (fs_module_list): New variable.
38396 (autoload_fs_module): New function.
38397 (read_fs_list): Likewise.
38398 (grub_normal_execute): Call read_fs_list.
38399
38400 * kern/fs.c (grub_fs_autoload_hook): New variable.
38401 (grub_fs_probe): Added support for auto-loading.
38402
38403 * include/grub/normal.h (struct grub_fs_module_list): New struct.
38404 (grub_fs_module_list_t): New type.
38405
38406 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
38407 (grub_fs_autoload_hook): New prototype.
38408
38409 * genfslist.sh: New file.
38410
38411 * genmk.rb: Added a rule to generate a filesystem list.
38412
38413 2005-06-30 Marco Gerards <metgerards@student.han.nl>
38414
38415 * configure.ac: Fix the test for cross-compiling.
38416
38417 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
38418 define GRUB_UTIL anymore.
38419
38420 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
38421 so this function works on other systems than just big endian.
38422 (load_modules): Likewise.
38423 (add_segments): Likewise.
38424
38425 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
38426
38427 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
38428 contains `l' modifier, get a long from va_arg().
38429
38430 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
38431
38432 * kern/mm.c (grub_free): If the next free block which is being
38433 merged is the first free block, set the first block to the block
38434 being freed.
38435 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
38436
38437 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
38438
38439 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
38440 `grub_ieee1275_chosen'.
38441
38442 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
38443
38444 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
38445 (grub_ieee1275_chosen): New variable.
38446 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
38447 `chosen'.
38448 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
38449 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
38450 Rename first argument to `phandle' for consistency.
38451 (grub_ieee1275_get_property_length): Likewise.
38452 (grub_ieee1275_next_property): Likewise. Change type of first argument
38453 to grub_ieee1275_phandle_t.
38454 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
38455 Move export next to declaration.
38456 (grub_ieee1275_chosen): New variable.
38457 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
38458 Correct cosmetic typo.
38459 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
38460 `grub_ieee1275_chosen'.
38461 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
38462 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
38463 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
38464 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
38465 `grub_ieee1275_chosen'.
38466
38467 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
38468
38469 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
38470 /chosen/bootargs.
38471 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
38472 /chosen/bootargs as "variable=value" pairs.
38473
38474 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
38475
38476 * include/grub/misc.h (grub_dprintf): New macro.
38477 (grub_real_dprintf): New prototype.
38478 (grub_strword): Likewise.
38479 (grub_iswordseparator): Likewise.
38480 * kern/misc.c (grub_real_dprintf): New function.
38481 (grub_strword): Likewise.
38482 (grub_iswordseparator): Likewise.
38483
38484 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
38485
38486 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
38487 (roundup): Remove macro.
38488 (grub_ieee1275_flags): Make static.
38489 (grub_ieee1275_realmode): Remove.
38490 (grub_ieee1275_test_flag): New function.
38491 (grub_ieee1275_set_flag): Likewise.
38492 (find_options): Rename to `grub_ieee1275_find_options'; update
38493 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
38494 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
38495 (cmain): New prototype.
38496 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
38497 `grub_ieee1275_flags' directly.
38498 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
38499 machine/biosdisk.h.
38500 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
38501 Don't include grub/machine/init.h.
38502 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
38503 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
38504 Remove prototype.
38505 (grub_ieee1275_realmode): Likewise.
38506 (grub_ieee1275_flag): New enum.
38507 (grub_ieee1275_test_flag): New prototype.
38508 (grub_ieee1275_set_flag): New prototype.
38509 * include/grub/powerpc/ieee1275/init.h: Remove file.
38510 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
38511 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
38512 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
38513 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
38514 comment.
38515 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
38516 `grub_ieee1275_test_flag'.
38517 (grub_ieee1275_encode_devname): Likewise.
38518
38519 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
38520
38521 * include/grub/powerpc/ieee1275/ieee1275.h
38522 (grub_ieee1275_encode_devname): New prototype.
38523 (grub_ieee1275_get_filename): Likewise.
38524 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
38525 function.
38526 (grub_set_prefix): Likewise.
38527 (grub_machine_init): Call grub_set_prefix.
38528 * kern/powerpc/ieee1275/openfw.c: Fix typos.
38529 (grub_parse_type): New enum.
38530 (grub_ieee1275_get_devargs): New function.
38531 (grub_ieee1275_get_devname): Likewise.
38532 (grub_ieee1275_parse_args): Likewise.
38533 (grub_ieee1275_get_filename): Likewise.
38534 (grub_ieee1275_encode_devname): Likewise.
38535
38536 2005-03-30 Marco Gerards <metgerards@student.han.nl>
38537
38538 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
38539 `grub_loader_unset'.
38540
38541 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
38542
38543 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
38544 instead of grub_ieee1275_interpret.
38545 (grub_halt_init): New function.
38546 (grub_halt_fini): Likewise.
38547 (GRUB_MOD_INIT): Correct message grammar.
38548 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
38549 instead of grub_ieee1275_interpret.
38550 (grub_reboot_init): New function.
38551 (grub_reboot_fini): Likewise.
38552 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
38553 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
38554 util/i386/pc/misc.c with commands/ieee1275/halt.c,
38555 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
38556 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
38557 function.
38558 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
38559 Add prototype.
38560 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
38561 prototype.
38562 (grub_halt): Likewise.
38563 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
38564 (cmain): Remove __attribute__((unused)).
38565 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
38566 (grub_heap_len): Likewise.
38567 (grub_machine_fini): New function.
38568 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
38569 (grub_halt): Likewise.
38570 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
38571 function.
38572 * util/powerpc/ieee1275/misc.c: New file.
38573
38574 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
38575
38576 * DISTLIST: New file.
38577 * gendistlist.sh: Likewise.
38578
38579 * Makefile.in (COMMON_DISTFILES): Removed.
38580 (BOOT_DISTFILES): Likewise.
38581 (CONF_DISTFILES): Likewise.
38582 (DISK_DISTFILES): Likewise.
38583 (FS_DISTFILES): Likewise.
38584 (INCLUDE_DISTFILES): Likewise.
38585 (KERN_DISTFILES): Likewise.
38586 (LOADER_DISTFILES): Likewise.
38587 (TERM_DISTFILES): Likewise.
38588 (UTIL_DISTFILES): Likewise.
38589 (DISTFILES): Likewise.
38590 (uninstall): Uninstall files in $(pkgdata_DATA).
38591 (DISTLIST): New target.
38592 (distdir): Use the contents of the file DISTLIST to get a list of
38593 distributed files.
38594
38595 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
38596
38597 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
38598 descriptor. This is ported from GRUB Legacy.
38599
38600 * gencmdlist.sh: Added an extra semicolon to make it work with
38601 old sed versions. Reported by Robert Bihlmeyer
38602 <robbe@orcus.priv.at>.
38603
38604 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
38605
38606 Automatic loading of commands is supported.
38607
38608 * normal/main.c (read_command_list): New function.
38609 (grub_normal_execute): Call read_command_list.
38610
38611 * normal/command.c (grub_register_command): Return zero or CMD.
38612 Allocate CMD->NAME from the heap.
38613 Initialize CMD->MODULE_NAME to zero.
38614 Find the same name as well. If the same command is found and it is
38615 a dummy command, overwrite members. If it is not a dummy command,
38616 return zero.
38617 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
38618 (grub_command_find): If a dummy command is found, load a module
38619 and retry to find a command only once.
38620
38621 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
38622 make sure that each command is loaded.
38623
38624 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
38625 macro.
38626 (struct grub_command): Remove const from the member `name'.
38627 Add a new member `module_name'.
38628 (grub_register_command): Return grub_command_t.
38629
38630 * commands/help.c (grub_cmd_help): Call grub_command_find to make
38631 sure that each command is loaded.
38632
38633 * genmk.rb (PModule::rule): Specify a module name without the
38634 suffix ".mod" to gencmdlist.sh.
38635
38636 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
38637
38638 * gencmdlist.sh: New file.
38639
38640 * genmk.rb (PModule::rule): Generate a rule for a command list.
38641 Clean command.lst.
38642 Generate command.lst from $(COMMANDFILES).
38643
38644 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
38645 (DATA): Added $(pkgdata_DATA).
38646 (install-local): Install files in $(pkgdata_DATA).
38647
38648 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
38649
38650 * term/i386/pc/vga.c (debug_command): Removed.
38651 (GRUB_MOD_INIT): Do not register the command "debug".
38652
38653 From Hollis Blanchard:
38654 * commands/configfile.c: New file.
38655 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38656 commands/configfile.c.
38657 (pkgdata_MODULES): Added configfile.mod.
38658 (configfile_mod_SOURCES): New variable.
38659 (configfile_mod_CFLAGS): Likewise.
38660 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
38661 commands/configfile.c.
38662 (pkgdata_MODULES): Added configfile.mod.
38663 (configfile_mod_SOURCES): New variable.
38664 (configfile_mod_CFLAGS): Likewise.
38665 * util/grub-emu.c (main): Call grub_configfile_init and
38666 grub_configfile_fini.
38667 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
38668 prototype.
38669 [GRUB_UTIL] (grub_configfile_fini): Likewise.
38670
38671 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38672
38673 * normal/arg.c (grub_arg_show_help): Do not show the bug report
38674 address.
38675
38676 * commands/help.c (grub_cmd_help): Do not print newlines after
38677 the last command in print_command_help.
38678
38679 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38680
38681 * commands/default.h: New file.
38682 * commands/timeout.h: Likewise.
38683 * normal/context.c: Likewise.
38684
38685 * util/misc.c: Do not include sys/times.h.
38686 Include sys/time.h and grub/machine/time.h.
38687 (grub_get_rtc): Rewritten with gettimeofday.
38688
38689 * util/grub-emu.c (main): Call grub_default_init and
38690 grub_timeout_init before grub_normal_init, and call
38691 grub_timeout_fini and grub_default_fini after grub_main.
38692
38693 * util/console.c (grub_ncurses_checkkey): Return the read
38694 character or -1.
38695
38696 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
38697 timeouts.
38698
38699 * normal/main.c (read_config_file): Push MENU. If this fails,
38700 print an error and wait for a user input.
38701 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
38702 If a menu is empty or an error occurs, pop MENU.
38703 (grub_normal_execute): Pop and free MENU after grub_menu_run
38704 returns.
38705
38706 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
38707
38708 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
38709 include time.h.
38710 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38711 without GRUB_UTIL.
38712 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
38713 time.h.
38714 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38715 without GRUB_UTIL.
38716
38717 * include/grub/normal.h (struct grub_menu_list): New struct.
38718 (grub_menu_list_t): New type.
38719 (struct grub_context): New struct.
38720 (grub_context_t): New type.
38721 (grub_register_command): Got rid of EXPORT_FUNC.
38722 (grub_unregister_command): Likewise.
38723 (grub_context_get): New prototype.
38724 (grub_context_get_current_menu): Likewise.
38725 (grub_context_push_menu): Likewise.
38726 (grub_context_pop_menu): Likewise.
38727 [GRUB_UTIL] (grub_default_init): Likewise.
38728 [GRUB_UTIL] (grub_default_fini): Likewise.
38729 [GRUB_UTIL] (grub_timeout_init): Likewise.
38730 [GRUB_UTIL] (grub_timeout_fini): Likewise.
38731
38732 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
38733 commands/timeout.c and normal/context.c.
38734 (pkgdata_MODULES): Added default.mod and timeout.mod.
38735 (normal_mod_SOURCES): Added normal/context.c.
38736 (default_mod_SOURCES): New variable.
38737 (default_mod_CFLAGS): Likewise.
38738 (timeout_mod_SOURCES): Likewise.
38739 (timeout_mod_CFLAGS): Likewise.
38740 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
38741 conf/i386-pc.rmk.
38742 (pkgdata_MODULES): Added default.mod and timeout.mod.
38743 (normal_mod_SOURCES): Added normal/context.c.
38744 (default_mod_SOURCES): New variable.
38745 (default_mod_CFLAGS): Likewise.
38746 (timeout_mod_SOURCES): Likewise.
38747 (timeout_mod_CFLAGS): Likewise.
38748
38749 * Makefile.in (all-local): Added $(MKFILES).
38750
38751 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
38752
38753 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
38754 (grub_emu_SOURCES): Likewise.
38755 (pkgdata_MODULES): Add `sun.mod'.
38756 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38757 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38758 `partmap/sun.c'.
38759 (pkgdata_MODULES): Add `sun.mod'.
38760 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38761 * include/grub/partition.h (grub_sun_partition_map_init): New
38762 prototype.
38763 (grub_sun_partition_map_fini): Likewise.
38764 * partmap/sun.c: New file.
38765 * util/grub-emu.c (main): Initialize and de-initialize the sun
38766 partitionmap support.
38767
38768 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
38769
38770 This implements an Emacs-like menu entry editor.
38771
38772 * normal/menu_entry.c: New file.
38773
38774 * util/console.c (grub_ncurses_putchar): Translate some Unicode
38775 characters to ASCII.
38776 (saved_char): New variable.
38777 (grub_ncurses_checkkey): Rewritten completely.
38778 (grub_ncurses_getkey): Likewise.
38779 (grub_ncurses_init): Call raw instead of cbreak.
38780
38781 * normal/menu.c (print_entry): Do not put a space.
38782 (init_page): Renamed to ...
38783 (grub_menu_init_page): ... this. All callers changed.
38784 (edit_menu_entry): Removed.
38785 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
38786
38787 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
38788
38789 * kern/misc.c (grub_vprintf): Call grub_refresh.
38790
38791 * normal/menu.c (DISP_LEFT): Renamed to ...
38792 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
38793 * normal/menu.c (DISP_UP): Renamed to ...
38794 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
38795 * normal/menu.c (DISP_RIGHT): Renamed to ...
38796 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
38797 * normal/menu.c (DISP_DOWN): Renamed to ...
38798 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
38799 * normal/menu.c (DISP_HLINE): Renamed to ...
38800 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
38801 * normal/menu.c (DISP_VLINE): Renamed to ...
38802 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
38803 * normal/menu.c (DISP_UL): Renamed to ...
38804 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
38805 * normal/menu.c (DISP_UR): Renamed to ...
38806 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
38807 * normal/menu.c (DISP_LL): Renamed to ...
38808 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
38809 * normal/menu.c (DISP_LR): Renamed to ...
38810 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
38811 * normal/menu.c (TERM_WIDTH): Renamed to ...
38812 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
38813 * normal/menu.c (TERM_HEIGHT): Renamed to ...
38814 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
38815 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
38816 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
38817 * normal/menu.c (TERM_MARGIN): Renamed to ...
38818 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
38819 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
38820 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
38821 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
38822 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
38823 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
38824 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
38825 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
38826 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
38827 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
38828 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
38829 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
38830 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
38831 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
38832 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
38833 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
38834 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
38835 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
38836 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
38837 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
38838 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
38839 All callers changed.
38840
38841 * include/grub/normal.h: New prototype.
38842
38843 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38844 normal/menu_entry.c.
38845 (normal_mod_SOURCES): Likewise.
38846 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38847 (normal_mod_SOURCES): Likewise.
38848
38849 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
38850
38851 * include/grub/normal.h (grub_halt_init): New prototype.
38852 (grub_halt_fini): Likewise.
38853 (grub_reboot_init): Likewise.
38854 (grub_reboot_fini): Likewise.
38855
38856 * util/grub-emu.c: Include signal.h.
38857 (main_env): New global variable.
38858 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
38859 catch C-c.
38860 (grub_machine_fini): New function.
38861 (main): Call grub_halt_init and grub_reboot_init before
38862 grub_main, and grub_reboot_fini and grub_halt_fini after it.
38863 Call setjmp with MAIN_ENV to go back afterwards.
38864 Call grub_machine_fini right before return.
38865
38866 * include/grub/util/misc.h: Include setjmp.h.
38867 (main_env): New prototype.
38868
38869 * include/grub/kernel.h (grub_machine_fini): New prototype.
38870 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
38871 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
38872
38873 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
38874 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
38875 * term/i386/pc/console.c (grub_console_fini): Likewise.
38876
38877 * util/i386/pc/misc.c: New file.
38878
38879 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38880 util/i386/pc/misc.c, commands/i386/pc/halt.c and
38881 commands/i386/pc/reboot.c.
38882
38883 2005-02-14 Guillem Jover <guillem@hadrons.org>
38884
38885 * include/grub/dl.h (grub_dl_check_header): New prototype.
38886 (grub_arch_dl_check_header): Change return type to grub_err_t,
38887 remove size parameter and export function. Update all callers.
38888 * kern/dl.c (grub_dl_check_header): New function.
38889 (grub_dl_load_core): Use `grub_dl_check_header' instead of
38890 `grub_arch_dl_check_header'. Check ELF type. Check if sections
38891 are inside the core.
38892 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
38893 independent ELF header checks.
38894 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
38895 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
38896 `grub_dl_check_header' instead of explicit checks. Check for the
38897 ELF type.
38898 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
38899 `grub_dl_check_header' instead of explicit checks. Remove arch
38900 specific ELF header checks.
38901
38902 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
38903 argument SIZE.
38904
38905 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
38906
38907 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
38908 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
38909
38910 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
38911
38912 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
38913 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
38914 (part_map_iterate): Clear `grub_errno' and return 0 if
38915 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
38916 * partmap/amiga.c (amiga_partition_map_iterate): Return
38917 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
38918 * partmap/apple.c (apple_partition_map_iterate): Likewise.
38919
38920 2005-02-01 Guillem Jover <guillem@hadrons.org>
38921
38922 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
38923 help info.
38924
38925 2005-01-31 Marco Gerards <metgerards@student.han.nl>
38926
38927 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
38928 Removed prototype.
38929 (grub_rescue_cmd_linux): New prototype.
38930 (grub_rescue_cmd_initrd): Likewise.
38931 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
38932 `bi_rec'.
38933 (grub_linux_release_mem): Release the memory for the initrd.
38934 (grub_load_linux): Renamed from this...
38935 (grub_rescue_cmd_linux): ...To this. Changed all callers.
38936 Changed `entry' not to be static. Loop over memory regions to
38937 find another one when the default fails.
38938 (grub_rescue_cmd_initrd): New function.
38939 (grub_linux_init): Remove function.
38940 (grub_linux_fini): Likewise.
38941 (GRUB_MOD_INIT): Register `initrd'.
38942 (GRUB_MOD_FINI): Unregister `initrd'.
38943 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
38944 Function removed.
38945 (grub_linux_normal_fini): Likewise.
38946 (GRUB_MOD_INIT): Register `initrd'.
38947 (GRUB_MOD_FINI): Unregister `initrd'.
38948
38949 2005-01-31 Marco Gerards <metgerards@student.han.nl>
38950
38951 * commands/help.c: New file.
38952 * normal/arg.c (show_help): Renamed to...
38953 (grub_arg_show_help): ... this.
38954 * commands/i386/pc/halt.c: New file.
38955 * commands/i386/pc/reboot.c: Likewise.
38956 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
38957 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
38958 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
38959 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
38960 variables.
38961 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38962 `commands/help.c'.
38963 (pkgdata_MODULES): Add `help.mod'.
38964 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
38965 * grub/i386/pc/init.h (grub_reboot): New prototype.
38966 (grub_halt): Likewise.
38967 * include/grub/normal.h (grub_arg_show_help): New prototype.
38968 (grub_help_init): Likewise.
38969 (grub_help_fini): Likewise.
38970 * util/grub-emu.c (main): Initialize and deinitialize the help
38971 command.
38972
38973 * normal/cmdline.c (grub_cmdline_get): Doc fix.
38974
38975 * normal/command.c (grub_command_init): Fixed the description of
38976 the `set' and `unset' commands.
38977
38978 2005-01-31 Marco Gerards <metgerards@student.han.nl>
38979
38980 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
38981 function.
38982 * commands/ieee1275/halt.c: New file.
38983 * commands/ieee1275/reboot.c: Likewise.
38984 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
38985 `__attribute__ ((unused))'. Some GCS related fixed.
38986 (grub_suspend_init) [GRUB_UTIL]: Function removed.
38987 (grub_suspend_fini): Likewise.
38988 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
38989 and `halt.mod'.
38990 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
38991 (halt_mod_CFLAGS): New variables.
38992 * include/grub/powerpc/ieee1275/ieee1275.h
38993 (grub_ieee1275_interpret): New prototype.
38994
38995 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
38996
38997 * include/grub/misc.h (memmove): New prototype.
38998 (memcpy): Likewise.
38999
39000 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
39001
39002 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
39003 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
39004
39005 2005-01-22 Marco Gerards <metgerards@student.han.nl>
39006
39007 * kern/misc.c (grub_strndup): Function rewritten.
39008
39009 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
39010
39011 * normal/menu.c (TERM_WIDTH): Macro redefined.
39012 (TERM_TOP_BORDER_Y): Likewise.
39013 (draw_border): Replaced while-loop by a for-loop. Make the number
39014 of lines consistent with the number of lines displayed in
39015 print_entries. Added a margin below the rectangle.
39016 (print_entry): Make the entry fit in the rectangle.
39017 (print_entries): Display the scroll arrows next to the right
39018 border.
39019
39020 2005-01-21 Marco Gerards <metgerards@student.han.nl>
39021
39022 * fs/minix.c (grub_minix_find_file): Reserve more space for
39023 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
39024 `grub_strncpy' to copy `path' into it.
39025
39026 2005-01-21 Marco Gerards <metgerards@student.han.nl>
39027
39028 Add the loopback device, a device via which files can be accessed
39029 as devices.
39030
39031 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
39032 (pkgdata_MODULES): Add loopback.mod.
39033 (loopback_mod_SOURCES): New variable.
39034 (loopback_mod_CFLAGS): Likewise.
39035 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
39036 `disk/loopback.c'.
39037 (pkgdata_MODULES): Add loopback.mod.
39038 (loopback_mod_SOURCES): New variable.
39039 (loopback_mod_CFLAGS): Likewise.
39040 * disk/loopback.c: new file.
39041 * include/grub/normal.h (grub_loop_init): New prototype.
39042 (grub_loop_fini): New prototype.
39043 * util/grub-emu.c (main): Initialize and de-initialize loopback
39044 support.
39045 * include/grub/disk.h (grub_disk_dev_id): Add
39046 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
39047
39048 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
39049
39050 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
39051 function.
39052 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
39053 (suspend_mod_SOURCES): New variable.
39054 (suspend_mod_CFLAGS): Likewise.
39055 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
39056 New prototype.
39057 * commands/ieee1275/suspend.c: New file.
39058
39059 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39060
39061 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
39062 ((unused))' to `__attribute__ ((used))'.
39063 (GRUB_MOD_FINI): Likewise.
39064 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
39065 * genmk.rb (PModule): Assign space to common symbols when linking
39066 modules.
39067
39068 2005-01-20 Marco Gerards <metgerards@student.han.nl>
39069
39070 * include/grub/mm.h (grub_mm_init_region): Change the type of the
39071 `unsigned' arguments to `grub_size_t'.
39072 (grub_malloc): Likewise.
39073 (grub_realloc): Likewise.
39074 (grub_memalign): Likewise.
39075 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
39076 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
39077 * util/misc.c (grub_malloc): Likewise.
39078 (grub_realloc): Likewise.
39079 * kern/mm.c (get_header_from_pointer): Change the casts to
39080 `unsigned' into a cast to `grub_size_t'.
39081
39082 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
39083 point to `currnode' when `currnode' is changed.
39084
39085 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
39086 Schottelius <nico-linux@schottelius.org>.
39087
39088 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
39089
39090 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
39091 (note_path): Remove variable.
39092 (GRUB_IEEE1275_NOTE_NAME): New macro.
39093 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
39094 (grub_ieee1275_note_hdr): New structure.
39095 (grub_ieee1275_note_desc): Likewise.
39096 (grub_ieee1275_note): Likewise.
39097 (load_note): Remove `dir' argument. All callers updated. Remove
39098 `note_img' and `path'. Do not load a file from `note_path'.
39099 Initialize a struct grub_ieee1275_note and write that to `out'.
39100 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
39101
39102 2005-01-05 Marco Gerards <metgerards@student.han.nl>
39103
39104 * util/misc.c (grub_util_read_image): Revert last change. It
39105 called `grub_util_read_at', which seeks from the beginning of the
39106 file.
39107
39108 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
39109
39110 * TODO: Add note about endianness in grub-mkimage.
39111 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
39112 section.
39113 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
39114 (grub_mkimage_SOURCES): New target.
39115 * include/grub/kernel.h (grub_start_addr): Remove variable.
39116 (grub_end_addr): Likewise.
39117 (grub_total_module_size): Likewise.
39118 (grub_kernel_image_size): Likewise.
39119 (GRUB_MODULE_MAGIC): New constant.
39120 (grub_module_info): New structure.
39121 (grub_arch_modules_addr): New prototype.
39122 (grub_get_end_addr): Remove prototype.
39123 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
39124 * include/grub/powerpc/ieee1275/kernel.h: New file.
39125 * include/grub/util/misc.h (grub_util_get_fp_size): New
39126 prototype.
39127 (grub_util_read_at): Likewise.
39128 (grub_util_write_image_at): Likewise.
39129 * kern/main.c (grub_get_end_addr): Remove function.
39130 (grub_load_modules): Call grub_arch_modules_addr instead of using
39131 grub_end_addr. Look for a grub_module_info struct in memory. Use
39132 the grub_module_info fields instead of calling grub_get_end_addr
39133 as loop conditions. Move grub_add_unused_region code here.
39134 (grub_add_unused_region): Remove function.
39135 * kern/i386/pc/init.c: Include grub/cache.h.
39136 (grub_machine_init): Remove call to grub_get_end_addr. Remove
39137 one call to add_mem_region.
39138 (grub_arch_modules_addr): New function.
39139 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
39140 (grub_total_module_size): Likewise.
39141 Include grub/machine/kernel.h.
39142 (grub_arch_modules_addr): New function.
39143 * util/grub-emu.c (grub_end_addr): Remove variable.
39144 (grub_total_module_size): Likewise.
39145 (grub_arch_modules_addr): New function.
39146 * util/misc.c: Include unistd.h.
39147 (grub_util_get_fp_size): New function.
39148 (grub_util_read_at): Likewise.
39149 (grub_util_write_image_at): Likewise.
39150 (grub_util_read_image): Call grub_util_read_at.
39151 (grub_util_write_image): Call grub_util_write_image_at.
39152 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
39153 additional memory in kernel_img for a struct grub_module_info.
39154 Fill in that grub_module_info.
39155 * util/powerpc/ieee1275/grub-mkimage.c: New file.
39156
39157 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
39158
39159 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
39160 New function.
39161 * include/grub/powerpc/ieee1275/ieee1275.h
39162 (grub_ieee1275_milliseconds): New prototype.
39163 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
39164 Change to 1000.
39165 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
39166 grub_ieee1275_milliseconds.
39167
39168 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
39169
39170 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
39171 variable.
39172 (find_options): New function.
39173 (cmain): Call find_options.
39174 * include/grub/powerpc/ieee1275/ieee1275.h
39175 (grub_ieee1275_realmode): New extern variable.
39176 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
39177 grub_map if grub_ieee1275_realmode is false.
39178
39179 2004-12-29 Marco Gerards <metgerards@student.han.nl>
39180
39181 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
39182 lines are inserted and make it work like readline. Reported by
39183 Vincent Pelletier <subdino2004@yahoo.fr>.
39184
39185 2004-12-28 Marco Gerards <metgerards@student.han.nl>
39186
39187 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
39188
39189 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
39190 `kern/powerpc/cache.S'.
39191
39192 2004-12-27 Marco Gerards <metgerards@student.han.nl>
39193
39194 * genmk.rb: Handle the `Program' class in the main loop. Written
39195 by Johan Rydberg <jrydberg@gnu.org>.
39196 (Program): New class.
39197 (programs): New variable.
39198 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
39199 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
39200 instead of "grub/kernel.h". Include <grub/machine/init.h>.
39201 (help_arch): Function removed.
39202 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
39203 `powerpc/libgcc.h' and `loader.h'.
39204 (pkgdata_PROGRAMS): New variable.
39205 (sbin_UTILITIES): Variable removed.
39206 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
39207 (grubof_SOURCES): Variable re-defined so it only includes the
39208 core functionality.
39209 (grubof_CFLAGS): Remove `-DGRUBOF'.
39210 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
39211 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
39212 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
39213 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
39214 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
39215 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
39216 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
39217 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
39218 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
39219 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
39220 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
39221 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
39222 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
39223 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
39224 (pc_mod_CFLAGS): New variables.
39225 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
39226 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
39227 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
39228 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
39229 Moved from here...
39230 * include/grub/i386/pc/init.h (grub_os_area_addr)
39231 (rub_os_area_size): ... to here.
39232 * include/grub/powerpc/ieee1275/ieee1275.h
39233 (grub_ieee1275_entry_fn): Export symbol.
39234 * include/grub/powerpc/ieee1275/init.h: New file.
39235 * include/grub/powerpc/libgcc.h: Likewise.
39236 * include/grub/cache.h: Likewise.
39237 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
39238 <hollis@penguinppc.org>.
39239 * kern/dl.c: Include <grub/cache.h>.
39240 (grub_dl_flush_cache): New function.
39241 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
39242 for this module.
39243 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
39244 (grub_console_init): Removed prototypes.
39245 (grub_machine_init): Don't initialize the modules anymore.
39246 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
39247 static.
39248 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
39249 Macro undef removed.
39250 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
39251 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
39252 relocation `R_PPC_REL32'. Return an error when the relocation is
39253 unknown.
39254 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
39255 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
39256 * util/misc.c (grub_arch_sync_caches): Likewise.
39257
39258 2004-12-19 Marco Gerards <metgerards@student.han.nl>
39259
39260 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
39261 `symlist.c', add `grubof_symlist.c'.
39262 (symlist.c): Variable removed.
39263 (grubof_HEADERS): Variable added.
39264 (grubof_symlist.c): New target.
39265 (kernel_syms.lst): Use `grubof_HEADERS' instead of
39266 `kernel_img_HEADERS'.
39267 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
39268 * kern/powerpc/dl.c: New file.
39269 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
39270 Function removed.
39271 (grub_arch_dl_relocate_symbols): Likewise.
39272 (grub_register_exported_symbols): Likewise.
39273
39274 2004-12-13 Marco Gerards <metgerards@student.han.nl>
39275
39276 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
39277 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
39278 to fail instead. Reported by Vincent Pelletier
39279 <subdino2004@yahoo.fr>.
39280
39281 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
39282 it is not allocated. Reported by Vincent Pelletier
39283 <subdino2004@yahoo.fr>.
39284
39285 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
39286 output so the output looks better.
39287
39288 2004-12-04 Marco Gerards <metgerards@student.han.nl>
39289
39290 Modulize the partition map support and add support for the amiga
39291 partition map.
39292
39293 * commands/ls.c: Include <grub/partition.h> instead of
39294 <grub/machine/partition.h>.
39295 * kern/disk.c: Likewise.
39296 * kern/rescue.c: Likewise.
39297 * loader/i386/pc/chainloader.c: Likewise.
39298 * normal/cmdline.c: Likewise.
39299 * kern/powerpc/ieee1275/init.c: Likewise.
39300 (grub_machine_init): Call `grub_pc_partition_map_init',
39301 `grub_amiga_partition_map_init' and
39302 `grub_apple_partition_map_init'.
39303 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
39304 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
39305 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
39306 `partition.h' and `pc_partition.h'.
39307 (grub_setup_SOURCES): Remove
39308 `disk/i386/pc/partition.c'. Add `kern/partition.c',
39309 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
39310 (grub_emu_SOURCES): Likewise.
39311 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
39312 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
39313 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
39314 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
39315 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
39316 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
39317 (grubof_SOURCES): Likewise.
39318 * disk/i386/pc/partition.c: File removed.
39319 * disk/powerpc/ieee1275/partition.c: Likewise.
39320 * include/grub/powerpc/ieee1275/partition.h: Likewise.
39321 * include/grub/i386/pc/partition.h: Likewise.
39322 * kern/partition.c: New file.
39323 * partmap/amiga.c: Likewise.
39324 * partmap/apple.c: Likewise.
39325 * partmap/pc.c: Likewise.
39326 * include/grub/partition.h: Likewise..
39327 * include/grub/pc_partition.h: Likewise.
39328 * util/grub-emu.c: Include <grub/partition.h> instead of
39329 <grub/machine/partition.h>.
39330 (main): Call `grub_pc_partition_map_init',
39331 `grub_amiga_partition_map_init' and
39332 `grub_apple_partition_map_init' and deinitialize afterwards.
39333 * util/i386/pc/biosdisk.c: Include `#include
39334 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
39335 `<grub/machine/partition.h>'.
39336 * util/i386/pc/grub-setup.c: Likewise.
39337 * util/i386/pc/biosdisk.c: Likewise.
39338 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
39339 partition information in case of a PC partition.
39340 * util/i386/pc/grub-setup.c: Include `#include
39341 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
39342 `<grub/machine/partition.h>'.
39343 (setup): Only access the PC specific partition information in case
39344 of a PC partition.
39345
39346 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
39347
39348 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
39349 (grub_longjmp): Likewise.
39350 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
39351 20.
39352 * normal/powerpc/setjmp.S: New file.
39353 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39354 `normal/powerpc/setjmp.S'.
39355 (grubof_CFLAGS): Add `-DGRUBOF'.
39356 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
39357 [GRUB_UTIL && !GRUBOF].
39358
39359 2004-11-16 Marco Gerards <metgerards@student.han.nl>
39360
39361 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
39362 property named `name'. Correctly handle the error returned by
39363 `grub_ieee1275_finddevice' if a device can not be opened.
39364
39365 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
39366
39367 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
39368 `actual' for negativity.
39369 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
39370 kern/fshelp.c.
39371
39372 2004-11-01 Marco Gerards <metgerards@student.han.nl>
39373
39374 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
39375 (PAGE_OFFSET): New macro.
39376 (CRTC_ADDR_PORT): Likewise.
39377 (CRTC_DATA_PORT): Likewise.
39378 (START_ADDR_HIGH_REGISTER): Likewise.
39379 (START_ADDR_LOW_REGISTER): Likewise.
39380 (GRAPHICS_ADDR_PORT): Likewise.
39381 (GRAPHICS_DATA_PORT): Likewise.
39382 (READ_MAP_REGISTER): Likewise.
39383 (INPUT_STATUS1_REGISTER): Likewise.
39384 (INPUT_STATUS1_VERTR_BIT): Likewise.
39385 (page): New variable.
39386 (wait_vretrace): New function.
39387 (set_read_map): Likewise.
39388 (set_start_address): Likewise.
39389 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
39390 the right page.
39391 (check_vga_mem): Take the page into account.
39392 (write_char): Likewise.
39393 (write_cursor): Likewise.
39394 (scroll_up): Likewise. Copy the page to the page that is not
39395 shown and switch between both pages.
39396 (grub_vga_putchar): Fix off by one error.
39397 (grub_vga_cls): Wait for the vertical retrace. Take the page into
39398 account.
39399
39400 2004-11-01 Marco Gerards <metgerards@student.han.nl>
39401
39402 Add support for iso9660 (including rockridge).
39403
39404 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
39405 (iso9660_mod_SOURCES): New variable.
39406 (iso9660_mod_CFLAGS): Likewise.
39407 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
39408 * include/grub/fs.h (grub_iso9660_init): New prototype.
39409 * util/grub-emu.c (main): Call `grub_iso9660_init'.
39410 * fs/iso9660.c: New file.
39411
39412 * include/grub/misc.h (grub_strncat): New prototype.
39413 * kern/misc.c (grub_strncat): New function.
39414
39415 * fs/hfs.c (grub_hfs_mount): Translate the error
39416 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
39417 * fs/jfs.c (grub_jfs_mount): Likewise.
39418 * fs/ufs.c (grub_ufs_mount): Likewise.
39419
39420 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
39421
39422 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
39423 which initialized BAT registers.
39424 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
39425 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
39426 Move from here...
39427 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
39428 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
39429 ... to here.
39430 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
39431 (grub_mapclaim): Likewise.
39432 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
39433 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
39434 hand.
39435
39436 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
39437
39438 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
39439 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
39440 -ffreestanding and -msoft-float.
39441
39442 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
39443
39444 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
39445 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
39446 set in grub_ieee1275_flags.
39447
39448 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
39449
39450 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
39451 prototype.
39452 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
39453 grub_console_init first.
39454 Change the memory range used for grub_ieee1275_claim and
39455 grub_mm_init_region.
39456 Print an error message if the claim fails.
39457 Include <grub/misc.h>.
39458
39459 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
39460
39461 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
39462 Call grub_children_iterate for device nodes of type `scsi',
39463 `ide', or `ata'.
39464 (grub_ofdisk_open): Remove manual device alias resolution.
39465 Fix memory leak when device cannot be opened.
39466 * include/grub/powerpc/ieee1275/ieee1275.h
39467 (grub_children_iterate): New prototype.
39468 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
39469 New function.
39470 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
39471 Return -1 if args.size was -1.
39472
39473 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
39474
39475 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
39476 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
39477 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
39478 Open Firmware's memory for it; claim memory from _start to _end.
39479 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
39480 (_end): New extern.
39481 (_start): Zero BSS from __bss_start to _end.
39482 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
39483 New extern.
39484 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
39485
39486 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
39487
39488 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
39489 -1 if args.base was -1.
39490
39491 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
39492
39493 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
39494 escape sequence instead of a literal ^L. Also call
39495 grub_ofconsole_gotoxy.
39496
39497 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
39498
39499 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
39500 void * arguments to grub_addr_t. All callers updated. Also make
39501 the `result' argument optional.
39502 (grub_ieee1275_release): change void * arguments to grub_addr_t.
39503 All callers updated.
39504
39505 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
39506
39507 * commands/ls.c (grub_ls_list_files): Use the string following the
39508 initial ')', if present, as the filesystem path.
39509 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
39510
39511 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
39512
39513 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
39514
39515 Make the source code of the menu interface more readable.
39516
39517 * normal/menu.c: Include grub/mm.h.
39518 (TERM_WIDTH): New macro.
39519 (TERM_HEIGHT): Likewise.
39520 (TERM_INFO_HEIGHT): Likewise.
39521 (TERM_MARGIN): Likewise.
39522 (TERM_SCROLL_WIDTH): Likewise.
39523 (TERM_TOP_BORDER_Y): Likewise.
39524 (TERM_LEFT_BORDER_X): Likewise.
39525 (TERM_BORDER_WIDTH): Likewise.
39526 (TERM_MESSAGE_HEIGHT): Likewise.
39527 (TERM_BORDER_HEIGHT): Likewise.
39528 (TERM_NUM_ENTRIES): Likewise.
39529 (TERM_FIRST_ENTRY_Y): Likewise.
39530 (TERM_ENTRY_WIDTH): Likewise.
39531 (TERM_CURSOR_X): Likewise.
39532 (draw_border): Use macros instead of magic numbers.
39533 (print_entry): Likewise.
39534 (print_entries): Likewise.
39535 (run_menu): Likewise. Also, handle the key 'e'.
39536 (run_menu_entry): Ignore empty command lines.
39537 (print_message): Added a new argument EDIT. If EDIT is true,
39538 print a different message.
39539 (init_page): Likewise.
39540 (edit_menu_entry): New function. Not implemented yet.
39541
39542 2004-09-17 Marco Gerards <metgerards@student.han.nl>
39543
39544 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
39545 can be loaded from normal mode.
39546
39547 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
39548 `multiboot.mod'.
39549 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
39550 (multiboot_mod_CFLAGS): New variables.
39551 * loader/i386/pc/linux_normal.c: New file.
39552 * loader/i386/pc/multiboot_normal.c: Likewise.
39553
39554 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
39555 attribute `unused'.
39556
39557 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
39558 `fdiro' to read the mode information from instead of `diro'.
39559
39560 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
39561 looking up a symlink.
39562
39563 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
39564 macro.
39565 * normal/command.c (grub_command_execute): Don't parse the
39566 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
39567 flags of the command.
39568
39569 * normal/menu.c (grub_menu_run): Fix typo.
39570
39571 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
39572
39573 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
39574
39575 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
39576 `y + 1' instead of `y - 1'.
39577
39578 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
39579
39580 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
39581
39582 From Hollis Blanchard <hollis@penguinppc.org>:
39583 * kern/misc.c (memmove): New alias for grub_memmove.
39584 (memcmp): New alias for grub_memcmp.
39585 (memset): New alias for grub_memset.
39586 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
39587 Change "int handle" to "grub_ieee1275_phandle_t handle".
39588 * include/grub/powerpc/ieee1275/ieee1275.h
39589 (grub_ieee1275_get_property): Likewise.
39590
39591 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
39592
39593 Added normal mode command `chainloader' as module chain.mod, which
39594 depends on normal.mod and _chain.mod.
39595
39596 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
39597 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
39598 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
39599 Deleted prototype.
39600 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
39601 but arguments parsing moved to ...
39602 (grub_chainloader_cmd): ... here. New function.
39603 * include/grub/i386/pc/chainloader.h: New file.
39604 * loader/i386/pc/chainloader_normal.c: Likewise.
39605
39606 2004-09-11 Marco Gerards <metgerards@student.han.nl>
39607
39608 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
39609 (grub_mkimage_LDFLAGS): Likewise.
39610 (grub_emu_SOURCES): Likewise.
39611 (kernel_img_HEADERS): Added fshelp.h.
39612 * fs/ext2.c: Include <grub/fshelp.h>.
39613 (FILETYPE_REG): New macro.
39614 (FILETYPE_INO_REG): Likewise.
39615 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
39616 Changed all users.
39617 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
39618 all users.
39619 (grub_fshelp_node): New struct.
39620 (grub_ext2_data): Added member `diropen'. Changed member `inode'
39621 to a pointer.
39622 (grub_ext2_get_file_block): Removed function.
39623 (grub_ext2_read_block): New function.
39624 (grub_ext2_read_file): Replaced parameter `data' by `node'.
39625 This function was written.
39626 (grub_ext2_mount): Read the root inode. Create a diropen struct.
39627 (grub_ext2_find_file): Removed function.
39628 (grub_ext2_read_symlink): New function.
39629 (grub_ext2_iterate_dir): Likewise.
39630 (grub_ext2_open): Rewritten.
39631 (grub_ext2_dir): Rewritten.
39632 * include/grub/fshelp.h: New file.
39633 * fs/fshelp.c: Likewise.
39634
39635 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
39636
39637 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
39638 (print_message): Add a missing newline.
39639 (run_menu): Added timeout support.
39640 (run_menu_entry): New local function.
39641 (grub_menu_run): Added support for booting.
39642
39643 * kern/loader.c (grub_loader_is_loaded): New function.
39644
39645 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
39646 (grub_get_rtc): Exported.
39647
39648 * include/grub/i386/pc/time.h: Include grub/symbol.h.
39649 (grub_get_rtc): Exported.
39650
39651 * include/grub/normal.h (struct grub_command_list): Remove
39652 constant from the member `command'.
39653
39654 * include/grub/loader.h (grub_loader_is_loaded): Declared.
39655
39656 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
39657
39658 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
39659
39660 2004-08-28 Marco Gerards <metgerards@student.han.nl>
39661
39662 Add support for the JFS filesystem.
39663
39664 * fs/jfs.c: New file.
39665 * include/grub/fs.h (grub_jfs_init): New prototype.
39666 (grub_jfs_fini): New prototype.
39667 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
39668 (grub_emu_SOURCES): Likewise.
39669 (pkgdata_MODULES): Add jfs.mod.
39670 (jfs_mod_SOURCES): New variable.
39671 (jfs_mod_CFLAGS): Likewise.
39672 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
39673 (grubof_SOURCES): Likewise.
39674 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
39675
39676 * fs/fat.c (grub_fat_find_dir): Convert the filename little
39677 endian to the host endian.
39678 (grub_fat_utf16_to_utf8): Move function from there...
39679 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
39680 the endianness of the source string anymore.
39681 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
39682
39683 2004-08-24 Marco Gerards <metgerards@student.han.nl>
39684
39685 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
39686 (grub_boot_fini) [GRUB_UTIL]: Likewise.
39687 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
39688 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
39689
39690 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
39691 (grub_hfs_iterate_dir): Make the function static. Add prototypes
39692 for `node_found' and `it_dir'.
39693 (grub_hfs_dir): Add prototype for `dir_hook'.
39694
39695 * fs/minix.c (grub_minix_get_file_block): Add prototype for
39696 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
39697 and `indir32' to silence a gcc warning.
39698
39699 * include/grub/fs.h (grub_hfs_init): New prototype.
39700 (grub_hfs_fini): Likewise.
39701
39702
39703 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
39704
39705 Each disk device has its own id now. This is useful to make use
39706 of multiple disk devices.
39707
39708 * include/grub/disk.h (grub_disk_dev_id): New enum.
39709 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
39710 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
39711
39712 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
39713 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39714
39715 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
39716 GRUB_DISK_DEVICE_OFDISK_ID as an id.
39717
39718 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
39719 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39720
39721 * include/grub/disk.h (struct grub_disk_dev): Added a new member
39722 "id" which is used by the cache manager.
39723
39724 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
39725 of just "GRUB".
39726
39727 2004-08-18 Marco Gerards <metgerards@student.han.nl>
39728
39729 * fs/hfs.c: New file.
39730 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
39731 (grub_emu_SOURCES): Likewise.
39732 (pkgdata_MODULES): Add hfs.mod.
39733 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
39734 (grubof_SOURCES): Likewise.
39735 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
39736
39737 * include/grub/misc.h (grub_strncasecmp): Add prototype.
39738 * kern/misc.c (grub_strncasecmp): Add function.
39739
39740 2004-08-14 Marco Gerards <metgerards@student.han.nl>
39741
39742 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
39743 with parentheses.
39744
39745 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
39746 (grub_ext2_dir): In case the directory entry type is unknown, read
39747 it from the inode.
39748
39749 2004-08-02 Peter Bruin <pjbruin@dds.nl>
39750
39751 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
39752 grub_load_linux instead of grub_rescue_cmd_linux as second
39753 argument of grub_rescue_register_command.
39754
39755 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
39756
39757 2004-07-27 Marco Gerards <metgerards@student.han.nl>
39758
39759 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
39760 function.
39761 * commands/boot.c: Remove the check for `GRUB_UTIL'.
39762 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39763 `loader/powerpc/ieee1275/linux.c',
39764 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
39765 * include/grub/powerpc/ieee1275/ieee1275.h
39766 (grub_ieee1275_release): New prototype.
39767 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
39768 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
39769 normal, boot, linux and linux_normal.
39770 * loader/powerpc/ieee1275/linux.c: New file.
39771 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39772
39773 2004-07-12 Marco Gerards <metgerards@student.han.nl>
39774
39775 * normal/arg.c (grub_arg_parse): Correct error handling after
39776 reallocating the argumentlist (check if `argl' is not null instead
39777 of checking if `args' is not null).
39778 * kern/mm.c (grub_realloc): Return the same pointer when using the
39779 same region, instead of returning the header address.
39780
39781 2004-07-11 Marco Gerards <metgerards@student.han.nl>
39782
39783 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
39784 one block instead of two when looking for the initial partition.
39785 (grub_partition_probe): Initialize the local variable `p' with 0.
39786 Use base 10 for the grub_strtoul call.
39787 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
39788 need for one local variable.
39789 (grub_strtoul): Don't add the new value to `num', instead of that
39790 just assign it.
39791
39792 2004-07-11 Marco Gerards <metgerards@student.han.nl>
39793
39794 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
39795 (pxeboot_img_SOURCES): New variable.
39796 (pxeboot_img_ASFLAGS): Likewise.
39797 (pxeboot_img_LDFLAGS): Likewise.
39798 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
39799 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
39800 <lode_leroy@hotmail.com>.
39801
39802 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39803
39804 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
39805 there was no input.
39806
39807 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39808
39809 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
39810 the history buffer logic.
39811
39812 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39813
39814 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
39815 (FILETYPE_INO_SYMLINK): New macros.
39816 (grub_ext2_find_file): Check if the node is a directory using the
39817 inode stat information instead of using the filetype in the
39818 dirent. Exclude the first character of an absolute symlink.
39819 (grub_ext2_dir): Mask out the filetype part of the mode member of
39820 the inode.
39821
39822 2004-05-24 Marco Gerards <metgerards@student.han.nl>
39823
39824 Add support for UFS version 1 and 2. Add support for the minix
39825 filesystem version 1 and 2, both the variants with 14 and 30 long
39826 filenames.
39827
39828 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
39829 fs/minix.c.
39830 (grub_emu_SOURCES): Likewise.
39831 (pkgdata_MODULES): Add ufs.mod and minix.mod.
39832 (ufs_mod_SOURCES): New variable.
39833 (ufs_mod_CFLAGS): Likewise.
39834 (minix_mod_SOURCES): Likewise.
39835 (minix_mod_CFLAGS): Likewise.
39836 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
39837 fs/minix.c.
39838 (grubof_SOURCES): Likewise.
39839 * fs/ufs.c: New file.
39840 * fs/minix.c: New file.
39841 * include/grub/fs.h (grub_ufs_init): New prototype.
39842 (grub_ufs_fini): Likewise.
39843 (grub_minix_init): Likewise.
39844 (grub_minix_fini): Likewise.
39845 * util/grub-emu.c (main): Initialize and deinitialize UFS and
39846 minix fs.
39847
39848 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
39849
39850 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
39851 commands/ls.c, commands/terminal.c, commands/boot.c,
39852 commands/cmp.c and commands/cat.c.
39853 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
39854
39855 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
39856 "env.h"
39857
39858 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39859
39860 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
39861 and grub_, respectively. Because the conversion is trivial and
39862 mechanical, I omit the details here. Please refer to the CVS
39863 if you need more information.
39864
39865 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39866
39867 * include/pupa: Renamed to ...
39868 * include/grub: ... this.
39869 * util/i386/pc/pupa-mkimage.c: Renamed to ...
39870 * util/i386/pc/grub-mkimage.c: ... this.
39871 * util/i386/pc/pupa-setup.c: Renamed to ...
39872 * util/i386/pc/grub-setup.c: ... this.
39873 * util/pupa-emu.c: Renamed to ...
39874 * util/grub-emu.c: ... this.
39875
39876 2004-03-29 Marco Gerards <metgerards@student.han.nl>
39877
39878 Add support for the newworld apple macintosh (PPC). This has been
39879 tested on the powerbook 2000 only. It only adds support for
39880 generic ieee1275 functions, console and disk support. This should
39881 be easy to port to other architectures with support for Open
39882 Firmware.
39883
39884 * configure.ac: Accept the powerpc as host_cpu. In the case of
39885 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
39886 specific tests are only executed while building for the i386.
39887 Inverse test for crosscompile.
39888 * genmk.rb (Utility): Allow assembler files.
39889 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
39890 * conf/powerpc-ieee1275.rmk: New file.
39891 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
39892 * disk/powerpc/ieee1275/partition.c: Likewise.
39893 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
39894 * include/pupa/powerpc/ieee1275/console.h: Likewise.
39895 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
39896 * include/pupa/powerpc/ieee1275/time.h: Likewise.
39897 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
39898 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
39899 * include/pupa/powerpc/ieee1275/loader.h
39900 * include/pupa/powerpc/setjmp.h: Likewise.
39901 * include/pupa/powerpc/types.h: Likewise.
39902 * kern/powerpc/ieee1275/init.c: Likewise.
39903 * kern/powerpc/ieee1275/openfw.c: Likewise.
39904 * term/powerpc/ieee1275/ofconsole.c: Likewise.
39905
39906 These files were written by Johan Rydberg
39907 (jrydberg@night.trouble.net) and I only modified them slightly.
39908
39909 * boot/powerpc/ieee1275/cmain.c: New file.
39910 * boot/powerpc/ieee1275/crt0.S: Likewise.
39911 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
39912 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
39913
39914 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
39915
39916 * Makefile.in: Update copyright.
39917 * genmodsrc.sh: Likewise.
39918 * gensymlist.sh: Likewise.
39919 * term/i386/pc/vga.c: Indent correctly.
39920
39921 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
39922 bugreporting address.
39923 * util/i386/pc/pupa-setup.c (usage): Likewise,
39924 (main): Call pupa_ext2_init and pupa_ext2_fini.
39925
39926 * fs/fat.c (log2): Renamed to ...
39927 (fat_log2): ... this.
39928 All callers changed.
39929 * kern/misc.c (memcpy): Alias to pupa_memmove.
39930 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
39931 lvalue cast.
39932 * util/console.c (pupa_ncurses_fini): Return 0.
39933
39934 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
39935 Move fail label here.
39936 [__GNU__]: Don't warn when using stat.
39937 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
39938 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
39939 long int. Use strtol instead of strtoul.
39940
39941 2004-03-14 Marco Gerards <metgerards@student.han.nl>
39942
39943 * commands/boot.c: New file.
39944 * commands/cat.c: Likewise.
39945 * commands/cmp.c: Likewise.
39946 * commands/ls.c: Likewise.
39947 * commands/terminal.c: Likewise.
39948 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
39949 (pupa_register_command): Changed interface to match the new
39950 argument parser.
39951 (pupa_command_execute): Changed (almost rewritten) so it uses
39952 pupa_split_command. Added support for setting variables using the
39953 syntax `foo=bar'.
39954 (rescue_command): Changed to work with the new argument parser.
39955 (terminal_command): Moved from here to commands/terminal.c.
39956 (set_command): New function.
39957 (unset_command): New function.
39958 (insmod_command): New function.
39959 (rmmod_command): New function.
39960 (lsmod_command): New function.
39961 (pupa_command_init): Don't initialize the command terminal
39962 anymore. Initialize the commands set, unset, insmod, rmmod and
39963 lsmod.
39964 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
39965 (kernel_img_HEADERS): Add arg.h and env.h.
39966 (pupa_mkimage_LDFLAGS): Add kern/env.c.
39967 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
39968 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
39969 normal/arg.c.
39970 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
39971 terminal.mod.
39972 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
39973 (boot_mod_SOURCES): New variable.
39974 (terminal_mod_SOURCES): Likewise.
39975 (ls_mod_SOURCES): Likewise.
39976 (cmp_mod_SOURCES): Likewise.
39977 (cat_mod_SOURCES): Likewise.
39978
39979 * normal/arg.c: New file.
39980 * kern/env.c: Likewise.
39981 * include/pupa/arg.h: Likewise.
39982 * include/pupa/env.h: Likewise.
39983 * font/manager.c (font_command): Changed to match argument parsing
39984 interface changes.
39985 (PUPA_MOD_INIT): Likewise.
39986 * hello/hello.c (pupa_cmd_hello): Likewise.
39987 (PUPA_MOD_INIT): Likewise.
39988 * include/pupa/disk.h: Include <pupa/device.h>.
39989 (pupa_print_partinfo): New prototype.
39990 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
39991 (pupa_dl_get_prefix): Likewise.
39992 * include/pupa/misc.h: Include <pupa/err.h>.
39993 (pupa_isgraph): New prototype.
39994 (pupa_isdigit): Likewise.
39995 (pupa_split_cmdline): Likewise.
39996 * include/pupa/normal.h: Include <pupa/arg.h>.
39997 (pupa_command): Changed the prototype of the member `func' to
39998 match the argument parsing interface. Added member `options'.
39999 (pupa_register_command): Updated to match function.
40000 (pupa_arg_parse): New prototype.
40001 (pupa_hello_init) [PUPA_UTIL]: New prototype.
40002 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
40003 (pupa_ls_init) [PUPA_UTIL]: Likewise.
40004 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
40005 (pupa_cat_init) [PUPA_UTIL]: Likewise.
40006 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
40007 (pupa_boot_init) [PUPA_UTIL]: Likewise.
40008 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
40009 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
40010 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
40011 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
40012 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
40013 * kern/disk.c: Include <pupa/file.h>.
40014 (pupa_print_partinfo): New function.
40015 * kern/dl.c: Include <pupa/env.h>.
40016 (pupa_dl_dir): Variable removed.
40017 (pupa_dl_load): Use the environment variable `prefix' instead of
40018 the variable pupa_dl_dir.
40019 (pupa_dl_set_prefix): Function removed.
40020 (pupa_dl_get_prefix): Likewise.
40021 * kern/i386/pc/init.c: Include <pupa/env.h>.
40022 (pupa_machine_init): Use the environment variable `prefix' instead of
40023 using pupa_dl_set_prefix to set the prefix.
40024 * kern/main.c: Include <pupa/env.h>.
40025 (pupa_set_root_dev): Use the environment variable `prefix' instead of
40026 using pupa_dl_get_prefix to get the prefix.
40027 * kern/misc.c: Include <pupa/env.h>.
40028 (pupa_isdigit): New function.
40029 (pupa_isgraph): Likewise.
40030 (pupa_ftoa): Likewise.
40031 (pupa_vsprintf): Added support for printing values of the type
40032 `double'. Make it possible to format variable output when using
40033 formatting like `%1.2%f'.
40034 (pupa_split_cmdline): New function.
40035 * kern/rescue.c: Include <pupa/env.h>.
40036 (next_word): Removed function.
40037 (pupa_rescue_cmd_prefix): Likewise.
40038 (pupa_rescue_cmd_set): New function.
40039 (pupa_rescue_cmd_unset): New function.
40040 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
40041 split the command line instead of splitting it here. Added
40042 support for setting variables using the syntax `foo=bar'. Don't
40043 initialize the prefix command anymore. Initialized the set and
40044 unset commands.
40045 * normal/cmdline.c: Include <pupa/env.h>.
40046 (pupa_tab_complete): Added prototypes for print_simple_completion,
40047 print_partition_completion, add_completion, iterate_commands,
40048 iterate_dev, iterate_part and iterate_dir. Moved code to print
40049 partition information from here to kern/disk.c.
40050 (pupa_cmdline_run): Don't check if the function exists anymore.
40051 * normal/main.c: Include <pupa/env.h>.
40052 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
40053 instead of using pupa_dl_get_prefix to get the prefix.
40054 * term/i386/pc/vga.c: Include <pupa/arg.h>.
40055 (check_vga_mem): Cast pointers to `void *' to silence a gcc
40056 warning.
40057 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
40058 (pupa_vga_setcolor): Declare unused variables with `__attribute__
40059 ((unused))' to silence a gcc warning.
40060 (pupa_vga_setcolor): Likewise.
40061 (debug_command): Changed to match argument parsing
40062 interface changes.
40063 * util/pupa-emu.c: Include <pupa/env.h>.
40064 (options): Added 0's for unused fields to silence a gcc warning.
40065 (argp): Likewise.
40066 (main): Use the environment variable `prefix' instead of using
40067 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
40068 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
40069 and terminal.
40070
40071 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
40072 * util/misc.c: Include <malloc.h>.
40073 (pupa_malloc): Rewritten so errors are correctly reported.
40074 (pupa_realloc): Likewise.
40075 (pupa_memalign): Likewise.
40076 (pupa_mm_init_region): Declare unused variables with
40077 `__attribute__ ((unused))' to silence a gcc warning.
40078 * normal/i386/setjmp.S: Remove tab at the end of the file to
40079 silence a gcc warning.
40080 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
40081 variables with `__attribute__ ((unused))' to silence a gcc
40082 warning.
40083 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
40084 local variable i unsigned to silence a gcc warning.
40085
40086 * kern/term.c: Include <pupa/misc.h>.
40087 (pupa_more_lines): New variable.
40088 (pupa_more): Likewise.
40089 (pupa_putcode): When the pager is active pause at the end of every
40090 screen.
40091 (pupa_set_more): New function.
40092 * include/pupa/term.h (pupa_set_more): New prototype.
40093
40094
40095 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
40096
40097 Now this project is GRUB 2 rather than PUPA. The location of
40098 the CVS repository was moved to GRUB's.
40099
40100 * configure.ac: Use bug-grub as the reporting address.
40101 Use GRUB instead of PUPA.
40102 Change the version number to 1.90.
40103
40104 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
40105
40106 * genkernsyms.sh: Updated copyright information.
40107 * genmk.rb: Likewise.
40108 * genmodsrc.sh: Likewise.
40109 * gensymlist.sh: Likewise.
40110 * boot/i386/pc/boot.S: Likewise.
40111 * boot/i386/pc/diskboot.S: Likewise.
40112 * disk/i386/pc/biosdisk.c: Likewise.
40113 * disk/i386/pc/partition.c: Likewise.
40114 * font/manager.c: Likewise.
40115 * fs/ext2.c: Likewise.
40116 * fs/fat.c: Likewise.
40117 * include/pupa/boot.h: Likewise.
40118 * include/pupa/device.h: Likewise.
40119 * include/pupa/disk.h: Likewise.
40120 * include/pupa/dl.h: Likewise.
40121 * include/pupa/elf.h: Likewise.
40122 * include/pupa/err.h: Likewise.
40123 * include/pupa/file.h: Likewise.
40124 * include/pupa/font.h: Likewise.
40125 * include/pupa/fs.h: Likewise.
40126 * include/pupa/kernel.h: Likewise.
40127 * include/pupa/loader.h: Likewise.
40128 * include/pupa/misc.h: Likewise.
40129 * include/pupa/mm.h: Likewise.
40130 * include/pupa/net.h: Likewise.
40131 * include/pupa/normal.h: Likewise.
40132 * include/pupa/rescue.h: Likewise.
40133 * include/pupa/setjmp.h: Likewise.
40134 * include/pupa/symbol.h: Likewise.
40135 * include/pupa/term.h: Likewise.
40136 * include/pupa/types.h: Likewise.
40137 * include/pupa/i386/setjmp.h: Likewise.
40138 * include/pupa/i386/types.h: Likewise.
40139 * include/pupa/i386/pc/biosdisk.h: Likewise.
40140 * include/pupa/i386/pc/boot.h: Likewise.
40141 * include/pupa/i386/pc/console.h: Likewise.
40142 * include/pupa/i386/pc/init.h: Likewise.
40143 * include/pupa/i386/pc/kernel.h: Likewise.
40144 * include/pupa/i386/pc/linux.h: Likewise.
40145 * include/pupa/i386/pc/loader.h: Likewise.
40146 * include/pupa/i386/pc/memory.h: Likewise.
40147 * include/pupa/i386/pc/multiboot.h: Likewise.
40148 * include/pupa/i386/pc/partition.h: Likewise.
40149 * include/pupa/i386/pc/time.h: Likewise.
40150 * include/pupa/i386/pc/vga.h: Likewise.
40151 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
40152 * include/pupa/util/getroot.h: Likewise.
40153 * include/pupa/util/misc.h: Likewise.
40154 * include/pupa/util/resolve.h: Likewise.
40155 * kern/device.c: Likewise.
40156 * kern/disk.c: Likewise.
40157 * kern/dl.c: Likewise.
40158 * kern/err.c: Likewise.
40159 * kern/file.c: Likewise.
40160 * kern/fs.c: Likewise.
40161 * kern/loader.c: Likewise.
40162 * kern/main.c: Likewise.
40163 * kern/misc.c: Likewise.
40164 * kern/mm.c: Likewise.
40165 * kern/rescue.c: Likewise.
40166 * kern/term.c: Likewise.
40167 * kern/i386/dl.c: Likewise.
40168 * kern/i386/pc/init.c: Likewise.
40169 * kern/i386/pc/lzo1x.S: Likewise.
40170 * kern/i386/pc/startup.S: Likewise.
40171 * loader/i386/pc/chainloader.c: Likewise.
40172 * loader/i386/pc/linux.c: Likewise.
40173 * loader/i386/pc/multiboot.c: Likewise.
40174 * normal/cmdline.c: Likewise.
40175 * normal/command.c: Likewise.
40176 * normal/main.c: Likewise.
40177 * normal/menu.c: Likewise.
40178 * normal/i386/setjmp.S: Likewise.
40179 * term/i386/pc/console.c: Likewise.
40180 * term/i386/pc/vga.c: Likewise.
40181 * util/console.c: Likewise.
40182 * util/genmoddep.c: Likewise.
40183 * util/misc.c: Likewise.
40184 * util/pupa-emu.c: Likewise.
40185 * util/resolve.c: Likewise.
40186 * util/unifont2pff.rb: Likewise.
40187 * util/i386/pc/biosdisk.c: Likewise.
40188 * util/i386/pc/getroot.c: Likewise.
40189 * util/i386/pc/pupa-mkimage.c: Likewise.
40190 * util/i386/pc/pupa-setup.c: Likewise.
40191
40192 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
40193
40194 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
40195 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
40196 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
40197 reading and reset it after reading.
40198 (pupa_ext2_close): Return PUPA_ERR_NONE.
40199
40200 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
40201 Correct value.
40202 (struct linux_kernel_header): Add kernel_version and
40203 initrd_addr_max.
40204 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
40205 pupa_file_read succeeds.
40206 (pupa_rescue_cmd_initrd): Implement.
40207
40208 2003-12-03 Marco Gerards <metgerards@student.han.nl>
40209
40210 * fs/ext2.c (pupa_ext2_label): New function.
40211 (pupa_ext2_fs): Added label.
40212 * fs/fat.c (pupa_fat_label): New function.
40213 (pupa_fat_fs): Added label.
40214 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
40215
40216 * kern/misc.c (pupa_strndup): New function.
40217 * include/pupa/misc.h (pupa_strndup): New prototype.
40218
40219 * include/pupa/normal.h: Include <pupa/err.h>.
40220 (pupa_set_history): New prototype.
40221 (pupa_iterate_commands): New prototype.
40222 * normal/cmdline.c: Include <pupa/machine/partition.h>,
40223 <pupa/disk.h>, <pupa/file.h>.
40224 (hist_size): New variable.
40225 (hist_lines): Likewise.
40226 (hist_end): Likewise.
40227 (hist_used): Likewise.
40228 (pupa_set_history): New function.
40229 (pupa_history_get): Likewise.
40230 (pupa_history_add): Likewise.
40231 (pupa_history_replace): Likewise.
40232 (pupa_tab_complete): Likewise.
40233 (pupa_cmdline_run): Added tab completion and history buffer. Tab
40234 completion shows partitionnames while completing partitions, this
40235 feature was suggested by Jeff Bailey.
40236 * normal/command.c (pupa_iterate_commands): New function.
40237 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
40238 (pupa_normal_init): Initialize history buffer.
40239 (PUPA_MOD_INIT): Likewise.
40240 (pupa_normal_fini): Free the history buffer.
40241 (PUPA_MOD_FINI): Likewise.
40242
40243 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
40244 key.
40245
40246 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
40247 * configure.ac [i386]: Check for regparam bug.
40248 (NESTED_FUNC_ATTR) [! i386]: Defined.
40249
40250 2003-11-17 Marco Gerards <metgerards@student.han.nl>
40251
40252 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
40253 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
40254 (pupa_emu_SOURCES): New variable.
40255 (pupa_emu_LDFLAGS): Likewise.
40256 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
40257 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
40258 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
40259 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
40260 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
40261 (pupa_jmp_buf): New typedef.
40262 (pupa_setjmp) [PUPA_UTIL]: New macro.
40263 (pupa_longjmp) [PUPA_UTIL]: Likewise.
40264 * include/pupa/term.h (struct pupa_term): New member `refresh'.
40265 (pupa_refresh): New prototype.
40266 * include/pupa/util/getroot.h: New file.
40267 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
40268 it.
40269 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
40270 (pupa_rescue_cmd_cat): Likewise.
40271 (pupa_rescue_cmd_ls): Likewise.
40272 (pupa_rescue_cmd_testload): Likewise.
40273 (pupa_rescue_cmd_lsmod): Likewise.
40274 * normal/cmdline.c (pupa_cmdline_get): Likewise.
40275 * normal/menu.c (run_menu): Likewise.
40276 * kern/term.c (pupa_cls): Likewise.
40277 (pupa_refresh): New function.
40278 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
40279 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
40280 * util/console.c: New file.
40281
40282 * util/i386/pc/getroot.c: New file.
40283 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
40284 (pupa_putchar): New function.
40285 (pupa_refresh): Likewise.
40286 (xgetcwd): Function moved to ...
40287 (strip_extra_slashes): Likewise.
40288 (get_prefix): Likewise.
40289 * util/i386/pc/getroot.c: ... here.
40290 (find_root_device): Function moved and renamed to...
40291 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
40292 Changed all callers.
40293 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
40294 and renamed to...
40295 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
40296 Changed all callers.
40297 * util/misc.c (pupa_memalign): New function.
40298 (pupa_mm_init_region): Likewise.
40299 (pupa_register_exported_symbols): Likewise.
40300 (pupa_putchar): Function removed.
40301 * util/pupa-emu.c: New file.
40302
40303 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
40304
40305 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
40306 (_multiboot_mod_SOURCES): New variable.
40307 (_multiboot_mod_CFLAGS): Likewise.
40308 * loader/i386/pc/multiboot.c: New file.
40309 * include/pupa/i386/pc/multiboot.h: Likewise.
40310 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
40311 (pupa_multiboot_real_boot): New function.
40312 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
40313 (pupa_multiboot_real_boot): New prototype.
40314 (pupa_rescue_cmd_multiboot): Likewise
40315 (pupa_rescue_cmd_module): Likewise.
40316
40317 * kern/loader.c (pupa_loader_set): Continue when
40318 pupa_loader_unload_func() fails.
40319 (pupa_loader_unset): New function.
40320 * include/pupa/loader.h (pupa_loader_unset): New prototype.
40321
40322 * kern/misc.c (pupa_stpcpy): New function.
40323 * include/pupa/misc.h (pupa_stpcpy): New prototype.
40324
40325 2003-11-12 Marco Gerards <metgerards@student.han.nl>
40326
40327 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
40328 for available extensions.
40329
40330 * include/pupa/i386/pc/time.h: New file.
40331 * kern/disk.c: Include <pupa/machine/time.h>.
40332 (PUPA_CACHE_TIMEOUT): New macro.
40333 (pupa_last_time): New variable.
40334 (pupa_disk_open): Flush the cache when there was a timeout.
40335 (pupa_disk_close): Reset the timer.
40336 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
40337 pupa_currticks.
40338 * util/misc.c: Include <sys/times.h>
40339 (pupa_get_rtc): New function.
40340
40341 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40342
40343 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
40344 as blocks.
40345 (pupa_ext2_get_file_block): Use blocks member.
40346
40347 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
40348 first block. Return -1 instead of pupa_errno on error.
40349
40350 2003-10-27 Marco Gerards <metgerards@student.han.nl>
40351
40352 * README: In the pupa-mkimage example use _chain instead of chain
40353 and ext2 instead of fat.
40354 * TODO: Replace ext2fs with jfs as an example. Add an item for
40355 adding journal playback for ext2fs.
40356 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
40357 (pkgdata_MODULES): Added ext2.mod.
40358 (ext2_mod_SOURCES): New variable.
40359 (ext2_mod_CFLAGS): Likewise.
40360 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
40361 * include/pupa/misc.h (pupa_strncpy): New prototype.
40362 (pupa_strcat): Likewise.
40363 (pupa_strncmp): Likewise.
40364 * kern/misc.c (pupa_strcat): Enable function.
40365 (pupa_strncpy): New function.
40366 (pupa_strncmp): Likewise.
40367 * fs/ext2.c: New file.
40368
40369 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
40370 when the read failed before retrying.
40371 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
40372 (_FILE_OFFSET_BITS): Likewise.
40373 * configure.ac: Added AC_SYS_LARGEFILE.
40374
40375 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
40376
40377 * genmk.rb (PModule#rule): Make sure to get only symbol names
40378 from the output of nm.
40379 Reported by Robert Millan <rmh.grub@aybabtu.com>.
40380
40381 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
40382
40383 I forgot to check in these changes for a long time. This adds
40384 incomplete support for VGA console, and this is still very
40385 buggy. Also, a lot of consideration is required for I18N,
40386 UNICODE, and VGA font issues. Therefore, assume that this is
40387 such that "better than nothing".
40388
40389 * font/manager.c: New file.
40390 * include/pupa/font.h: Likewise.
40391 * include/pupa/i386/pc/vga.h: Likewise.
40392 * term/i386/pc/vga.c: Likewise.
40393 * util/unifont2pff.rb: Likewise.
40394
40395 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
40396 (pkgdata_MODULES): Added vga.mod and font.mod.
40397 (vga_mod_SOURCES): New variables.
40398 (vga_mod_CFLAGS): Likewise.
40399 (font_mod_SOURCES): Likewise.
40400 (font_mod_CFLAGS): Likewise.
40401
40402 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
40403
40404 * include/pupa/term.h: Include pupa/err.h.
40405 (struct pupa_term): Added init and fini.
40406 Changed the argument of putchar to pupa_uint32_t.
40407
40408 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
40409 (pupa_console_real_putchar): New prototype.
40410 (pupa_console_putchar): Removed.
40411 (pupa_console_checkkey): Exported.
40412 (pupa_console_getkey): Likewise.
40413
40414 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
40415 characters.
40416
40417 * kern/term.c (pupa_term_set_current): Rewritten.
40418 (pupa_putchar): Likewise.
40419 (pupa_putcode): New function.
40420
40421 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
40422 (pupa_console_real_putchar): ... this.
40423 (pupa_vga_set_mode): New function.
40424 (pupa_vga_get_font): Likewise.
40425
40426 * normal/command.c: Include pupa/term.h.
40427 (terminal_command): New function.
40428 (pupa_command_init): Register the command "terminal".
40429
40430 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
40431 (DISP_UP): Likewise.
40432 (DISP_RIGHT): Likewise.
40433 (DISP_DOWN): Likewise.
40434 (DISP_HLINE): Likewise.
40435 (DISP_VLINE): Likewise.
40436 (DISP_UL): Likewise.
40437 (DISP_UR): Likewise.
40438 (DISP_LL): Likewise.
40439 (DISP_LR): Likewise.
40440
40441 * term/i386/pc/console.c (pupa_console_putchar): New function.
40442
40443 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
40444
40445 * util/resolve.c (pupa_util_resolve_dependencies): BUG
40446 FIX. Reverse the path_list.
40447
40448 * include/pupa/normal.h: Export pupa_register_command and
40449 pupa_unregister_command.
40450
40451 * hello/hello.c (pupa_cmd_hello): New module.
40452 * conf/i386-pc.rmk: Added hello.mod.
40453
40454 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
40455
40456 * kern/i386/pc/lzo1x.S: New file.
40457
40458 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
40459 (compress_kernel): New variable.
40460 (generate_image): Heavily modified to support compressing a
40461 large part of the core image.
40462
40463 * util/misc.c (pupa_util_read_image): Fix a file descriptor
40464 leak.
40465 (pupa_util_load_image): New function.
40466
40467 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
40468 (pupa_compressed_size): New variable.
40469 (codestart): Enable Gate A20 here.
40470 Decompress the compressed part of the core image.
40471 Rearrange the code to put functions and variables which are
40472 required for initialization in the non-compressed part.
40473 Include lzo1x.S.
40474
40475 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
40476 here.
40477
40478 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
40479
40480 * include/pupa/i386/pc/kernel.h
40481 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
40482 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
40483 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40484 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40485 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
40486
40487 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
40488
40489 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
40490 (Utility#rule): Likewise.
40491
40492 * configure.ac: Check if LZO is available.
40493
40494 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
40495
40496 * include/pupa/normal.h: New file.
40497 * include/pupa/setjmp.h: Likewise.
40498 * include/pupa/i386/setjmp.h: Likewise.
40499 * normal/cmdline.c: Likewise.
40500 * normal/command.c: Likewise.
40501 * normal/main.c: Likewise.
40502 * normal/menu.c: Likewise.
40503 * normal/i386/setjmp.S: Likewise.
40504
40505 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
40506 (pupa_rescue_cmd_initrd): Likewise.
40507
40508 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
40509 Likewise.
40510
40511 * kern/i386/pc/startup.S (translation_table): New variable.
40512 (translate_keycode): New function.
40513 (pupa_console_getkey): Call translate_keycode.
40514
40515 * kern/rescue.c (attempt_normal_mode): New function.
40516 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
40517 it failed, print a message.
40518
40519 * kern/mm.c (pupa_real_malloc): Print more information when a
40520 free magic is broken.
40521 (pupa_free): If the first free header is not free actually, set
40522 it to P.
40523
40524 * kern/main.c (pupa_load_normal_mode): Just load the module
40525 "normal".
40526 (pupa_main): Don't print the message
40527 "Entering into rescue mode..." here.
40528
40529 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
40530 Declared.
40531 (pupa_rescue_cmd_initrd): Likewise.
40532 (pupa_rescue_cmd_initrd): Likewise.
40533
40534 * include/pupa/symbol.h (FUNCTION): Specify the type.
40535 (VARIABLE): Likewise.
40536
40537 * include/pupa/err.h (pupa_err_t): Added
40538 PUPA_ERR_UNKNOWN_COMMAND.
40539
40540 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
40541 (pupa_dl_get_prefix): Likewise.
40542
40543 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
40544 Added _chain.mod and _linux.mod instead of chain.mod and
40545 linux.mod.
40546 (chain_mod_SOURCES): Renamed to ...
40547 (_chain_mod_SOURCES): ... this.
40548 (chain_mod_CFLAGS): Renamed to ...
40549 (_chain_mod_CFLAGS): ... this.
40550 (linux_mod_SOURCES): Renamed to ...
40551 (_linux_mod_SOURCES): ... this.
40552 (linux_mod_CFLAGS): Renamed to ...
40553 (_linux_mod_CFLAGS): ... this.
40554 (normal_mod_SOURCES): New variable.
40555 (normal_mod_CFLAGS): Likewise.
40556 (normal_mod_ASFLAGS): Likewise.
40557
40558 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
40559
40560 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
40561 possible.
40562
40563 * kern/dl.c (pupa_dl_ref): Refer depending modules
40564 recursively.
40565 (pupa_dl_unref): Unrefer depending modules recursively.
40566 Don't call pupa_dl_unload implicitly, because PUPA can crash if
40567 a module is unloaded before one depending on that module is
40568 unloaded.
40569 (pupa_dl_unload): Unload depending modules explicitly,
40570 if possible.
40571
40572 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
40573
40574 * include/pupa/i386/pc/linux.h: New file.
40575 * loader/i386/pc/linux.c: Likewise.
40576
40577 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
40578 Removed.
40579 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
40580 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
40581 of PUPA_CHAINLOADER_BOOT_SECTOR.
40582
40583 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
40584 (pupa_linux_prot_size): New variable.
40585 (pupa_linux_tmp_addr): Likewise.
40586 (pupa_linux_real_addr): Likewise.
40587 (pupa_linux_boot_zimage): New function.
40588 (pupa_linux_boot_bzimage): Likewise.
40589
40590 * kern/i386/pc/init.c (struct mem_region): New structure.
40591 (MAX_REGIONS): New macro.
40592 (mem_regions): New variable.
40593 (num_regions): Likewise.
40594 (pupa_os_area_addr): Likewise.
40595 (pupa_os_area_size): Likewise.
40596 (pupa_lower_mem): Likewise.
40597 (pupa_upper_mem): Likewise.
40598 (add_mem_region): New function.
40599 (compact_mem_regions): Likewise.
40600 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
40601 the size of the conventional memory and that of so-called upper
40602 memory (before the first memory hole).
40603 Instead of adding each found region to free memory, use
40604 add_mem_region and add them after removing overlaps.
40605 Also, add only 1/4 of the upper memory to free memory. The rest
40606 is used for loading OS images. Maybe this is ad hoc, but this
40607 makes it much easier to relocate OS images when booting.
40608
40609 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
40610 (pupa_enter_rescue_mode): Don't register initrd and module.
40611
40612 * kern/mm.c: Include pupa/dl.h.
40613
40614 * kern/main.c: Include pupa/file.h and pupa/device.h.
40615
40616 * kern/loader.c (pupa_loader_load_module_func): Removed.
40617 (pupa_loader_load_module): Likewise.
40618
40619 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
40620 ``.o''.
40621
40622 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
40623 (pupa_linux_tmp_addr): Likewise.
40624 (pupa_linux_real_addr): Likewise.
40625 (pupa_linux_boot_zimage): Likewise.
40626 (pupa_linux_boot_bzimage): Likewise.
40627
40628 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
40629 (pupa_upper_mem): Likewise.
40630 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
40631 module is too dangerous.
40632
40633 * include/pupa/loader.h (pupa_os_area_addr): Declared.
40634 (pupa_os_area_size): Likewise.
40635 (pupa_loader_set): Remove the first argument. Loader doesn't
40636 manage modules or initrd any longer.
40637 (pupa_loader_load_module): Removed.
40638
40639 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
40640 (linux_mod_SOURCES): New variable.
40641 (linux_mod_CFLAGS): Likewise.
40642
40643 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
40644
40645 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
40646 the length of a blocklist correctly.
40647
40648 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
40649 Use ioctl only if the OS file is a block device.
40650 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
40651 not very useful for normal files.
40652
40653 * kern/main.c (pupa_set_root_dev): New function.
40654 (pupa_load_normal_mode): Likewise.
40655 (pupa_main): Call those above.
40656
40657 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
40658 pupa_uint16_t.
40659
40660 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
40661
40662 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40663
40664 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
40665 (setup): Configure the installed partition information and the
40666 dl prefix.
40667
40668 * loader/i386/pc/chainloader.c (my_mod): New variable.
40669 (pupa_chainloader_unload): New function.
40670 (pupa_rescue_cmd_chainloader): Refer itself.
40671 (PUPA_MOD_INIT): Save its own module in MY_MOD.
40672
40673 * kern/i386/pc/startup.S (install_partition): Removed.
40674 (version_string): Likewise.
40675 (config_file): Likewise.
40676 (pupa_install_dos_part): New variable.
40677 (pupa_install_bsd_part): Likewise.
40678 (pupa_prefix): Likewise.
40679 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
40680
40681 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
40682 and pupa/misc.h.
40683 (make_install_device): New function.
40684 (pupa_machine_init): Set the dl prefix.
40685
40686 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
40687 (buf): Renamed to ...
40688 (linebuf): ... this.
40689 (pupa_rescue_cmd_prefix): New function.
40690 (pupa_rescue_cmd_insmod): Likewise.
40691 (pupa_rescue_cmd_rmmod): Likewise.
40692 (pupa_rescue_cmd_lsmod): Likewise.
40693 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
40694 rmmod and lsmod.
40695
40696 * kern/mm.c (pupa_memalign): If failed even after invalidating
40697 disk caches, unload unneeded modules and retry.
40698
40699 * kern/misc.c (pupa_memmove): New function.
40700 (pupa_memcpy): Removed.
40701 (pupa_strcpy): New function.
40702 (pupa_itoa): Made static.
40703
40704 * kern/dl.c (pupa_dl_iterate): New function.
40705 (pupa_dl_ref): Likewise.
40706 (pupa_dl_unref): Likewise.
40707 (pupa_dl_unload): Return if succeeded or not.
40708 (pupa_dl_unload_unneeded): New function.
40709 (pupa_dl_unload_all): Likewise.
40710 (pupa_dl_init): Renamed to ...
40711 (pupa_dl_set_prefix): ... this.
40712 (pupa_dl_get_prefix): New function.
40713
40714 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
40715 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
40716 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40717 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40718 (pupa_install_dos_part): Declared.
40719 (pupa_install_bsd_part): Likewise.
40720 (pupa_prefix): Likewise.
40721 (pupa_boot_drive): Likewise.
40722
40723 * include/pupa/types.h: Fix a typo.
40724
40725 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
40726 pupa_memmove.
40727 (pupa_memmove): Declared.
40728 (pupa_strcpy): Likewise.
40729
40730 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
40731 pupa_mod_init takes one argument, its own module.
40732 (pupa_dl_unload_unneeded): Declared.
40733 (pupa_dl_unload_all): Likewise.
40734 (pupa_dl_ref): Likewise.
40735 (pupa_dl_unref): Likewise.
40736 (pupa_dl_iterate): Likewise.
40737 (pupa_dl_init): Renamed to ...
40738 (pupa_dl_set_prefix): ... this.
40739 (pupa_dl_get_prefix): Declared.
40740
40741 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
40742 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
40743 unloaded.
40744 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
40745 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
40746
40747 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
40748 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
40749
40750 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40751
40752 * util/i386/pc/pupa-setup.c (setup): Define the internal
40753 function find_first_partition_start at the top level, because GCC
40754 3.0.x cannot compile internal functions in deeper scopes
40755 correctly.
40756 (find_root_device): Use lstat instead of stat.
40757 Don't follow symbolic links.
40758 Fix the path-constructing code.
40759
40760 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
40761 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
40762 by a BLKGETSIZE ioctl first, because block devices don't fill
40763 the member st_mode of the structure stat on Linux.
40764 [__linux__] (linux_find_partition): Use a temporary buffer
40765 REAL_DEV for the working space. Copy it to DEV before returning.
40766 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
40767 buffer cache consistent.
40768 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
40769 strncmp. The previous value was merely wrong.
40770 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
40771
40772 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
40773 FAT size is 12. The previous value was merely wrong.
40774
40775 * kern/main.c (pupa_main): Don't split the starting message from
40776 newlines.
40777
40778 * kern/term.c (pupa_putchar): Put CR after LF instead of before
40779 LF, because BIOS goes crazy about character attributes in this
40780 case.
40781
40782 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40783
40784 * include/i386/pc/util/biosdisk.h: New file.
40785 * util/i386/pc/biosdisk.c: Likewise.
40786 * util/i386/pc/pupa-setup.c: Likewise.
40787
40788 * Makefile.in (INCLUDE_DISTFILES): Added
40789 include/pupa/i386/pc/util/biosdisk.h.
40790 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
40791 directory util/i386/pc.
40792 (install-local): Added a rule for sbin_UTILITIES.
40793 (uninstall): Likewise.
40794
40795 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
40796
40797 * util/misc.c (xrealloc): New function.
40798 (pupa_malloc): Likewise.
40799 (pupa_free): Likewise.
40800 (pupa_realloc): Likewise.
40801 (pupa_stop): Likewise.
40802 (pupa_putchar): Likewise.
40803
40804 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
40805
40806 * include/pupa/util/misc.h (xrealloc): Declared.
40807
40808 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
40809 macro.
40810 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
40811 (PUPA_BOOT_MACHINE_BPB_END): ... this.
40812
40813 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
40814 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40815
40816 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
40817 way should be implemented.
40818 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40819
40820 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
40821 the size of NAME for safety.
40822 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
40823 0x88.
40824
40825 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
40826 (pupa_setup_SOURCES): Likewise.
40827
40828 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
40829
40830 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40831
40832 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
40833 bunch of pushl's from pusha, because this destroys the return
40834 value.
40835
40836 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40837
40838 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
40839 This means that any missing prototypes could be fatal. Also, you
40840 must take care when writing assembly code. See the comments at
40841 the beginning of startup.S, for more details.
40842
40843 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
40844 compilation mechanism.
40845 (pupa_chainloader_real_boot): Likewise.
40846 (pupa_biosdisk_rw_int13_extensions): Likewise.
40847 (pupa_biosdisk_rw_standard): Likewise.
40848 (pupa_biosdisk_check_int13_extensions): Likewise.
40849 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
40850 (pupa_biosdisk_get_diskinfo_standard): Likewise.
40851 (pupa_get_memsize): Likewise.
40852 (pupa_get_mmap_entry): Likewise.
40853 (pupa_console_putchar): Likewise.
40854 (pupa_console_setcursor): Likewise.
40855 (pupa_getrtsecs): Use pushl instead of push.
40856
40857 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
40858 memory instead of the stack for a mmap entry, because some
40859 BIOSes may ignore the maximum size and overflow.
40860
40861 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
40862
40863 * genmk.rb (PModule#rule): Compile automatically generated
40864 sources with module-specific CFLAGS as well as other sources.
40865
40866 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40867
40868 * configure.ac: Check ld.
40869 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
40870 respectively, before checking endianness and sizes.
40871
40872 * Makefile.in (LD): New variable.
40873
40874 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40875
40876 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
40877
40878 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40879
40880 * Changelog: New file.
40881