]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* include/grub/list.h (grub_list_remove): Don't crash if element is
[grub2.git] / ChangeLog
CommitLineData
87cf9744
VS
12012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * include/grub/list.h (grub_list_remove): Don't crash if element is
4 removed twice.
5
ca8c0baf
VS
62012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
7
8 Rename ofconsole to console.
9
10 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
11 as sysnonym to console.
12 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
13 * grub-core/term/ieee1275/console.c: ... this. All users updated.
14 Rename grub_ofconsole_ to grub_console_. All users updated
15 (grub_console_term_output): Rename "ofconsole" to "console".
16 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
17 as "console".
18
64c8b8f6
VS
192012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
20
21 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
22 handling.
23 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
24 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
25 GRUB_DISK_DEVICE_FILE_ID.
26
f6c434d5
VS
272012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
28
29 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
30 and improve performance.
31
5858b42d
VS
322012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
33
34 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
35 missing ieee1275/ prefix on whole disk.
36
4ed3c26b
VS
372012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
38
39 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
40 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
41
df71143e
VS
422012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
43
44 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
45
076e7c0f
VS
462012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
47
48 Merge common RAID and LVM logic to an abstract diskfilter.
49 Add LDM support using the same framework.
50
51 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
52 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
53 (libgrubmods): Remove grub-core/disk/raid.c and
54 grub-core/partmap/gpt.c.
55 * grub-core/Makefile.core.def (ldm): New module.
56 (raid): Renamed to diskfilter. All users updated.
57 * grub-core/disk/raid.c: Moved to ...
58 * grub-core/disk/diskfilter.c: ... here.
59 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
60 (lv_num): New var.
61 (find_array): Renamed to ...
62 (find_lv): ... this. Support multi-LV. Skip nameless LVs
63 (grub_is_array_readable): Renamed to ...
64 (grub_is_lv_readable): ... this. Support multinode hierarchy.
65 (insert_array): New argument id.
66 (is_node_readable): New function.
67 (scan_device): Rename to ...
68 (scan_disk): .. this. Restrict to one disk.
69 (scan_devices): New function.
70 (grub_diskfilter_iterate): Support multi-LV.
71 Skip invisible and nameless LVs.
72 (grub_diskfilter_memberlist): Support multi-LV.
73 (grub_diskfilter_read_node): New function.
74 (grub_raid_read): Most of logic moved to ...
75 (read_segment): ... here
76 (read_lv): New function.
77 (grub_diskfilter_get_vg_by_uuid): New function.
78 (grub_diskfilter_make_raid): Likewise.
79 * grub-core/disk/ldm.c: New file.
80 * grub-core/disk/lvm.c (vg_list): Removed.
81 (lv_count): Likewise.
82 (scan_depth): Likewise.
83 (is_lv_readable): Likewise.
84 (grub_lvm_getvalue): Advance pointer past the number.
85 (find_lv): Removed.
86 (do_lvm_scan): Refactored into ...
87 (grub_lvm_detect): ... this. Support raid.
88 (grub_lvm_iterate): Removed.
89 (grub_lvm_memberlist): Likewise.
90 (grub_lvm_open): Likewise.
91 (grub_lvm_close): Likewise.
92 (read_lv): Likewise.
93 (read_node): Likewise.
94 (is_node_readable): Likewise.
95 (is_lv_readable): Likewise.
96 (grub_lvm_read): Likewise.
97 (grub_lvm_write): Likewise.
98 (grub_lvm_dev): Use diskfilter
99 (GRUB_MOD_INIT): Likewise.
100 (GRUB_MOD_FINI): Likewise.
101 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
102 new interface.
103 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
104 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
105 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
106 grub_diskfilter_read_node.
107 Fix a bug with xor.
108 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
109 grub_diskfilter_read_node.
110 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
111 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
112 (grub_disk_dev_iterate): Move from here...
113 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
114 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
115 Make global.
116 (grub_hostdisk_find_partition_start): Likewise.
117 (grub_hostdisk_os_dev_to_grub_drive): New function.
118 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
119 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
120 * util/getroot.c (make_device_name): ... here.
121 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
122 Move to ...
123 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
124 * grub-core/kern/emu/hostdisk.c
125 (convert_system_partition_to_system_disk): Move to ...
126 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
127 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
128 * util/getroot.c (device_is_wholedisk): ... here.
129 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
130 * util/getroot.c (find_system_device): ... here.
131 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
132 Move to ...
133 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
134 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
135 Move to ...
136 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
137 Handle LDM.
138 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
139 Move to ...
140 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
141 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
142 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
143 DISKFILTER.
144 * include/grub/raid.h: Renamed to ...
145 * include/grub/diskfilter.h: ... this.
146 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
147 (GRUB_RAID_LAYOUT_*): Make into array.
148 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
149 (grub_diskfilter_vg): New struct.
150 (grub_diskfilter_pv_id): Likewise.
151 (grub_raid_member): Removed.
152 (grub_raid_array): Likewise.
153 (grub_diskfilter_pv): New struct.
154 (grub_diskfilter_lv): Likewise.
155 (grub_diskfilter_segment): Likewise.
156 (grub_diskfilter_node): Likewise.
157 (grub_diskfilter_get_vg_by_uuid): New proto.
158 (grub_raid_register): Inline.
159 (grub_diskfilter_unregister): Likewise.
160 (grub_diskfilter_make_raid): New proto.
161 (grub_diskfilter_vg_register): Likewise.
162 (grub_diskfilter_read_node): Likewise.
163 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
164 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
165 (grub_util_is_ldm): Likewise.
166 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
167 (grub_hostdisk_find_partition_start): Likewise.
168 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
169 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
170 New definition.
171 (grub_gpt_partition_map_iterate): New proto.
172 * include/grub/lvm.h (grub_lvm_vg): Removed.
173 (grub_lvm_pv): Likewise.
174 (grub_lvm_lv): Likewise.
175 (grub_lvm_segment): Likewise.
176 (grub_lvm_node): Likewise.
177 * util/getroot.c [...]
178 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
179 (probe_abstraction): Likewise.
180 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
181 (main): Remove dead logic.
182
8a7f9b9c
VS
1832012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
184
185 Simplify root device discover and don't fail when trying to open
186 incorrect devices.
187
188 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
189 function.
190 (get_diskname_from_path): Likewise.
191 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
192 of iterating.
193
30545b85
VS
1942012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
195
196 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
197
28ea58cf
VS
1982012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
199
200 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
201 pastthe end.
202
692dabca
VS
2032012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
204
205 * util/grub-install.in: Add missing \.
206 Reported by: gentoofan
207
f6e4ea70
VS
2082012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
209
210 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
211 (direct_read): Use correct compressed size.
212 (grub_squash_read_data): Likewise.
213
2142012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
215
216 * docs/grub.texi (Platform limitations): New section.
217 (Platform-specific operations): Likewise.
218 * docs/grub-dev.texi (Porting): Likewise.
219
76261110
VS
2202012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
221
222 IEEE1275 disk write support.
223
224 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
225 const void *.
226 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
227 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
228 and seek loginc to ...
229 (grub_ofdisk_prepare): ... here.
230 (grub_ofdisk_write): Implement.
231
fc36d603
VS
2322012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
233
234 ARC disk write support.
235
236 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
237 (reopen): New argument writable. All users updated.
238 Handle required access mode.
239 (grub_arcdisk_write): Implement.
240 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
241 (grub_arc_firmware_vector): Make buffer to write a const buffer.
242
e06c2e7a
VS
2432012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
244
245 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
246 (read_sblock): Don't attempt to read superblocks outside the disk size.
247
ff447958
VS
2482012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
249
250 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
251 first superblock to find the second one when possible.
252
9e88df39
VS
2532012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * util/grub-install.in: Fix an ARC bug.
256 Print a warning if no platform-specific setup is available.
257
bb26e4ff
VS
2582012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
259
260 Use static allocation rather than scratch pointer in reed_solomon.
261 It decreases its size significantly and avoids a variable in .text.
262
263 * grub-core/lib/reed_solomon.c (scratch): Removed.
264 (chosenstat): New const or static array.
265 (sigma): Likewise.
266 (errpot): Likewise.
267 (errpos): Likewise.
268 (sy): Likewise.
269 (mstat): Likewise.
270 (errvals): Likewise.
271 (eqstat): Likewise.
272 (pol_evaluate): Replace x with log_x argument. All users updated.
273 (syndroms): Removed.
274 (gauss_solve): Use statically allocated arrays.
275 (rs_recover): Likewise.
276 Calculate syndroms directly.
277 (decode_block): Use statically allocated arrays.
278 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
279 (main) [TEST]: Allow -DTEST -DSTANDALONE.
280
2e13ede5
VS
2812012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
282
283 Eliminate fixed limit on reed solomon decoder length.
284
285 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
286 rather than hardcoding the address.
287 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
288 no_reed_solomon_length.
289 Move gate_a20 to no-reed-solomon part.
290 Don't force a particular size of no reed-solomon part.
291 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
292 Removed.
293 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
294 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
295
f8a9ab12
VS
2962012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
297
298 * grub-core/commands/wildcard.c (match_files): Handle filenames
299 without explicit device.
300 (wildcard_expand): Don't add explicit device if not already present.
301 * tests/grub_script_echo1.in: Add a new expansion test.
302
87edb894
VS
3032012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
304
305 Replace single-linked with double-linked lists. It results in more
306 compact and more efficient code.
307
308 * grub-core/kern/list.c (grub_list_push): Moved from here ...
309 * include/grub/list.h (grub_list_push): ... to here. Set prev.
310 (grub_list_remove): Moved from here ...
311 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
312 (grub_prio_list_insert): Set prev.
313 * include/grub/list.h (grub_list): Add prev. All users updated.
314
48b391e9
VS
3152012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
316
317 Handle newer autotools. Add some missing quotes while on it.
318
319 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
320 (pkglib_DATA): Move grub-mkconfig_lib from here ...
321 (pkgdata_DATA): ... here.
322 * Makefile.util.def (update-grub_lib): Removed.
323 * conf/Makefile.common (pkglib_DATA): Removed.
324 (pkglib_SCRIPTS): Likewise.
325 (pkgdata_DATA): New variable.
326 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
327 needed.
328 Add missing quotes.
329 Remove unused variable while on it.
330 * tests/util/grub-shell.in: Likewise.
331 * util/grub-install.in: Likewise.
332 * util/grub-mkconfig.in: Likewise.
333 * util/grub-mknetdir.in: Likewise.
334 * util/grub-mkrescue.in: Likewise.
335 * util/grub-mkstandalone.in: Likewise.
336 * util/grub.d/00_header.in: Likewise.
337 * util/grub.d/10_hurd.in: Likewise.
338 * util/grub.d/10_illumos.in: Likewise.
339 * util/grub.d/10_kfreebsd.in: Likewise.
340 * util/grub.d/10_linux.in: Likewise.
341 * util/grub.d/10_netbsd.in: Likewise.
342 * util/grub.d/10_windows.in: Likewise.
343 * util/grub.d/20_linux_xen.in: Likewise.
344 * util/grub.d/30_os-prober.in: Likewise.
345 * util/update-grub_lib.in: Removed.
346
3472012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
348
349 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
350 a workaround for intel problem.
351
66832792
PRP
3522012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
3532012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
3542012-01-23 pfsmorigo
355
356 * util/grub-install.in: Support dd'in into PreP partition.
357 * util/grub-probe.c (probe): Support discovering partition type.
358 (main): Support -t msdos_parttype.
359
7816a17e
VS
3602012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
361
362 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
363 infinite recursion using counter.
364 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
365 init to skip it if the magic check fails.
366 (dec_stream_header): Init s->crc32.
367
8f9d3a8c
ZB
3682012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3692012-01-22 Zachary Bedell <pendorbound@gmail.com>
3702012-01-22 Richard Laager <rlaager@wiktel.com>
371
372 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
373 All users updated.
374 (find_bestub): Determine correct size.
375 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
376 (scan_disk): Align the size down.
377 Call check pool before find_bestub to have ashift.
378
b055dd32
VS
3792012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
380
381 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
382 dprintf in no-malloc zone.
383
d779e9bd
ML
3842012-01-22 Mario Limonciello <mario_limonciello@dell.com>
385
386 * configure.ac: Add back in test for limits.h.
387
b508af69
VS
3882012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
389
390 Support 4K-sector NTFS.
391
392 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
393 (grub_ntfs_data): Remove blocksize.
394 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
395 Remove data argument. All users updated.
396
dad9c8b5
VS
3972012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
398
399 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
400 being in .text to avoid dprel references.
401 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
402 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
403 (grub_arch_highmemsize): Likewise.
404 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
405 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
406 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
407
d43a777e
VS
4082012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
409
410 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
411
412 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
413 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
414
34e4208f
VS
4152012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
416
417 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
418 GRUB_UTIL.
419 (grub_set_datetime_cmos): Likewise.
420
3ec0fc1c
VS
4212012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
422
423 Make XZ compression parameters dependent on target and not host CPU.
424
425 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
426 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
427
22489834
VS
4282012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
429
430 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
431 set but not used variable.
432
8502fbca
VS
4332012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
434
435 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
436 created when no uuid support is compiled into mkfs.reiser.
437
76df2068
VS
4382012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
439
440 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
441 (utf8_to_macroman): Do the opposite.
442 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
443
64e3f8f6
VS
4442012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
445
446 * configure.ac: Refise build qemu_mips w/o unifont.
447
9c271078
VS
4482012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
449
450 Eliminate grub_min/grub_max prone to overflow usage.
451
452 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
453 (poll_nonroot_hub): Likewise.
454 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
455 (grub_affs_label): Likewise.
456 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
457 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
458 (grub_hfs_label): Likewise.
459 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
460 * grub-core/fs/zfs/zfs.c (MIN): Remove.
461 (zap_leaf_array_equal): Use grub_size. Remove MIN.
462 (zap_leaf_array_get): Likewise.
463 (dnode_get_path): Likewise.
464 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
465 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
466 * grub-core/script/execute.c (grub_script_break): Likewise.
467 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
468 grub_max.
469 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
470 * include/grub/misc.h (grub_min): Removed.
471 (grub_max): Likewise.
472
80662dbc
VS
4732012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
474
475 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
476 direct.inode = 0.
477
e6da1467
VS
4782012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
479
480 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
481
b1ac4cb1
VS
4822012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
483
484 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
485
b4bf7c3b
VS
4862012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
487
488 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
489 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
490
8ee1101a
VS
4912012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
492
493 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
494 rather than a hack for grub_strncasemap.
495
4962012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
497
498 Support multiple initrds
499 Note: part of this was accidently committed in r3739.
500
501 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
502 initrd.
503 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
504 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
505 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
506 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
507 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
508
4d1e2bc9
VS
5092012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
510
511 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
512 disks with unknown size.
513 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
514
75b49ebe
VS
5152012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
516
517 Remove defines pertaining to arbitrary limits not affecting GRUB
518 anymore.
519
520 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
521 (EXT2_MAX_SYMLINKCNT): Likewise.
522 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
523 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
524 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
525 (GRUB_PXE_MAX_BLKSIZE): Likewise.
526 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
527 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
528 (DN_MAX_OBJECT_SHIFT): Likewise.
529 (DN_MAX_OFFSET_SHIFT): Likewise.
530 (DN_MAX_OBJECT): Likewise.
531 (DNODES_PER_LEVEL_SHIFT): Likewise.
532 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
533 (SPA_MAXBLOCKSIZE): Likewise.
534 (SPA_BLOCKSIZES): Likewise.
535 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
536 (MZAP_MAX_BLKSZ): Likewise.
537
74a1dce7
VS
5382012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
539
540 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
541 handle NULL appropriately.
542 Remove MIN.
543
30c7d3ce
VS
5442012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
545
546 Fix efiemu.
547
548 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
549 cpu/types.h.
550 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
551 * configure.ac: Fix efiemu check.
552
3c76ea0c
VS
5532012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
554
555 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
556 grub_probe.
557 Reported by: adamwill
558
7e532280
SG
5592012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
560
561 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
562
30492374
VS
5632012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
564
565 Fix handling of wide characters in gfxterm.
566
567 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
568 (clear_char): Likewise.
569 (paint_char): Skip code == NULL chars.
570 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
571
e70cb72f
VS
5722012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
573
574 * grub-core/normal/charset.c: Move comment to right place.
575
5c827cf9
VS
5762012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
577
578 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
579 (GRUB_AFFS_FLAG_FFS): Put back where it was.
580 (grub_affs_mount): Revert the correct version checking.
581
53603892
VS
5822012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
583
584 * docs/grub.texi (Unicode): Mention several other unsupported features.
585
ff094b9b
VS
5862011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
587
588 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
589 case statements as compile-time one.
590 (direct_read): Prevent spurious warnings.
591 (grub_squash_read_data): Likewise.
592
c029da8a
VS
5932011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
594
595 Various squash4 fixes and LZO and XZ support.
596
597 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
598 Add xzembed source files.
599 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
600 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
601 (grub_squash_inode): New subtype long_dir.
602 (SQUASH_TYPE_LONG_DIR): New inode type.
603 (COMPRESSION): New enum.
604 (XZBUFSIZ): New const.
605 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
606 (read_chunk): Use data->decompress.
607 (zlib_decompress): New function.
608 (lzo_decompress): Likewise.
609 (xz_decompress): Likewise.
610 (squash_mount): Set new data fields.
611 (grub_squash_iterate_dir): Handle long dir.
612 (squash_unmount): Free xzdec and xzbuf.
613 (grub_squash_open): Check ino type.
614 (direct_read): Stylistic fixes. Use data->decompress.
615 (grub_squash_read_data): Likewise.
616 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
617 (get_byte): Likewise.
618 (grub_zlib_disk_read): Removed.
619 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
620 (GRUB_POSIX_BOOL_DEFINED): New define.
621 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
622 * grub-core/lib/xzembed/xz.h: Addmissing includes.
623 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
624 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
625
7a45a539
VS
6262011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
627
628 Don't override more informative errors.
629
630 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
631 * grub-core/font/font.c (open_section): Likewise.
632 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
633 filename. Don't override errors.
634 (grub_cmd_openbsd_ramdisk): Don't override errors.
635 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
636 (grub_cmd_initrd): Likewise.
637 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
638 (grub_cmd_initrd): Likewise.
639 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
640 (grub_cmd_linux): Likewise.
641 (grub_cmd_initrd): Likewise.
642 (grub_cmd_payload): Likewise.
643 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
644 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
645 (grub_cmd_module): Likewise.
646 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
647 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
648 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
649 (grub_cmd_xnu_mkext): Likewise.
650 (grub_cmd_xnu_ramdisk): Likewise.
651 (grub_xnu_check_os_bundle_required): Likewise.
652 (grub_xnu_load_kext_from_dir): Likewise.
653 (grub_cmd_xnu_kextdir): Likewise.
654 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
655
b2d004db
VS
6562011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
657
658 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
659 as 1024 in block size field. Found on one of my test images.
660 Small optimisation while on it.
661
ec000eac
VS
6622011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
665 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
666 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
667 performance fixes while on it.
668 (grub_sfs_close): Fix memory leak while on it.
669 (grub_sfs_label): Convert Latin1 to UTF-8.
670
f50e1165
VS
6712011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
672
673 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
674 space to avoid overflows.
675 (grub_hfs_label): Convert from macroman to UTF-8.
676
2ae254de
VS
6772011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
678
679 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
680
0108f491
VS
6812011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
682
683 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
684
f45f5f89
VS
6852011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
686
687 * unicode: Import Unicode 6.0 data.
688
4d8c4765
VS
6892011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
690
63fa8ef9
VS
691 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
692 outside of range.
693
6942011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
695
696 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
697
698 * include/grub/charset.h (grub_getend): New function.
699 * grub-core/script/function.c (grub_script_function_find): Use
700 grub_getend.
701 * grub-core/normal/completion.c (add_completion): Likewise.
702
f3cb4a4e
VS
7032011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
704
705 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
706 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
707 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
708 (GRUB_UNICODE_TAG_END): Likewise.
709 (GRUB_UNICODE_LAST_VALID): Likewise.
710
5da8dbc5
VS
7112011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
712
713 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
714 len and make it smaller. All users updated.
715 * util/import_unicode.py: Put length and not end character.
716 Check length.
717
8569f13d
VS
7182011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
719
720 Make better Unicode-compliant and unify some UTF-8 code pathes.
721
722 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
723 valid character.
724 (grub_is_valid_utf8): Use grub_utf8_process.
725 Check resulting code range.
726 (grub_utf8_to_ucs4): Use grub_utf8_process.
727 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
728 valid character.
729
cc4fddf5
VS
7302011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
731
732 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
733
bbc47747
VS
7342011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
735
736 * docs/grub.texi (Filesystems): Mention AFS.
737
f63d6bf4
VS
7382011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
739
740 * docs/grub.texi (Filesystems): Clarify restrictions.
741 (Regexp): Mention non-Unicode regexp behaviour.
742 (Other): Mention non-Unicode matching behaviour.
743
74bbf0db
VS
7442011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
745
f63d6bf4 746 Make HFS implementation use MacRoman.
74bbf0db
VS
747
748 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
749 (macroman): New const array.
750 (macroman_to_utf8): New function.
751 (utf8_to_macroman): Likewise.
752 (grub_hfs_find_dir): Use utf8_to_macroman.
753 (grub_hfs_dir): Use macroman_to_utf8.
754 Set case_insensitive.
755
4ea0316e
VS
7562011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
757
758 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
759
d3c13cbd
VS
7602011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
761
762 Integrate hints into autogeneration scripts.
763
764 * docs/grub.texi (Filesystems): Add a hostdisk example.
765 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
766 (grub-probe): Add ofpath.
767 * gentpl.py: Remove group nosparc64.
768 * grub-core/commands/search.c (cache_entry): New struct.
769 (cache): New var.
770 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
771 * grub-core/commands/search_wrap.c (options): Add platform-specific
772 hint options.
773 (grub_cmd_search): Handle platform-specific hints.
774 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
775 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
776 (grub_util_biosdisk_data): Likewise.
777 (grub_util_biosdisk_open): Set device_map.
778 (read_device_map): Handle "" as indication of no map.
779 Set device_map.
780 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
781 (grub_util_biosdisk_get_compatibility_hint): New function.
782 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
783 * include/grub/emu/hostdisk.h
784 (grub_util_biosdisk_get_compatibility_hint): New proto.
785 * util/grub-install.in: Don't call grub-mkdevicemap.
786 Add platform-specific hint to load.cfg.
787 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
788 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
789 hints. Set root preliminary to compatibility hint, not to OS name.
790 * util/grub-probe.c (PRINT_*): Add hints.
791 (print): Make static.
792 (escape_of_path): New function.
793 (guess_bios_drive): Likewise.
794 (guess_efi_drive): Likewise.
795 (guess_baremetal_drive): Likewise.
796 (print_full_name): Likewise.
797 (probe): Handle hints.
798 (main): Likewise.
799 * util/ieee1275/devicemap.c: Removed.
800 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
801 updated.
802 (grub_util_devname_to_ofpath): Return NULL on failure.
803
804 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
805 resource leak.
806 * util/getroot.c (grub_util_pull_device): Fix memory leak.
807
808 * po/POTFILES.in: Regenerated.
809
810 Allow purely long options
811
812 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
813 (SHORT_ARG_USAGE): Likewise.
814 (grub_arg_show_help): Compare opt with help_options.
815 (parse_option): Receive opt as argument. If makes big simplificatons.
816 All users updated
817
00ce2df3
VS
8182011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
819
820 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
821 Restructure to avoid warning.
822
e77e325f
VS
8232011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
824
825 * util/grub-install.in: Account for possible escaped comma in device
826 name.
827
165099ea
VS
8282011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
829
830 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
831 channel.
832
ce4a999d
VS
8332011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
834
835 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
836 allocation and zero-setting.
837 (grub_ieee1275_get_devname): Check that alias is complete.
838
379586ad
VS
8392011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
840
841 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
842 unaligned segments.
843
9197b0ad
VS
8442011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
845
846 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
847 prefix.
848 (grub_ofdisk_open): Check and discard ieee1275 prefix.
849 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
850 Add ieee1275 prefix.
851
edddb7f9
VS
8522011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
853
854 * docs/grub.texi (Filesystems): Update.
855
a1a8b1b9
VS
8562011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
857
858 Support odc, newc and bigendian cpio formats.
859
860 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
861 * grub-core/Makefile.core.def (newc): New module.
862 (odc): Likewise.
863 (cpio_be): Likewise.
864 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
865 (MAGIC): Likewise.
866 (MAGIC2): Likewise.
867 (head) [MODE_ODC]: Adapt for the format.
868 (head) [MODE_NEWC]: Likewise.
869 (head) [!MODE_*]: Write fields of interest as arrays.
870 (MAGIC_USTAR): Removed.
871 (read_number) [MODE_NEWC]: Change to hex.
872 (read_number) [!MODE_*]: Parse binary arrays.
873 (grub_cpio_find_file): Factor out the code for better structure and
874 always use read_number.
875 (grub_cpio_mount): Use MAGIC and MAGIC2.
876 (grub_cpio_dir): Exit on first hook non-0 return.
877 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
878 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
879 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
880 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
881 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
882 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
883 * grub-core/fs/newc.c: New file.
884 * grub-core/fs/odc.c: Likewise.
885 * grub-core/fs/cpio_be.c: Likewise.
886
58eba9ee
VS
8872011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
888
889 Fix handling of tar numbers occupying the whole field.
890
891 * grub-core/fs/cpio.c (read_number): New function.
892 (grub_cpio_find_file): Use read_number instead of strtoull.
893
a54a0e12
VS
8942011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
895
896 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
897 occupying the whole field size.
898
a6120aca
LA
8992011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
900
901 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
902
a93964ce
VS
9032011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
904
905 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
906
3ea1ca46
SG
9072011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
908
909 * grub-core/Makefile.core.def (lzma_decompress): Add missing
910 TARGET_IMG_LDFLAGS.
911
b87f7ef2
VS
9122011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
913
914 * util/getroot.c (ESCAPED_PATH_MAX): New define.
915 (mountinfo_entry): Increase the field size to take escaping into
916 account.
917 (find_root_device_from_libzfs): Add one byte to size of strings for
918 security.
919
62092395
VS
9202011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
921
922 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
923 an assert.
924 * util/grub-setup.c (setup): Likewise.
925
1f0b1a77
VS
9262011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
927
928 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
929 _LzmaDecodeA.
930
8eba9997
VS
9312011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
932
933 * docs/grub.texi (Internationalisation): New section.
934
dd0c91e9
VS
9352011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
936
937 * docs/grub.texi (Loopback booting): New section.
938
9392011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
940
941 * util/grub-mkstandalone.in: Fix minor typo errors.
942
198e150a
VS
9432011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
944
945 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
946
947 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
948 net/icmp.c and net/icmp6.c.
949 (http): New module.
950 (priority_queue): Likewise.
951 * grub-core/io/bufio.c: Rewritten.
952 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
953 TYPE_WITH_CONFIGFILE_OPTION.
954 (legacy_commands): Add bootp and dhcp.
955 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
956 (grub_legacy_parse): Likewise.
957 * grub-core/lib/priority_queue.c: New file.
958 * grub-core/net/arp.c: Add missing license header.
959 (arp_find_entry): Removed.
960 (arp_find_entry): Likewise.
961 (grub_net_arp_resolve): Rename to ...
962 (grub_net_arp_send_request): ...this.
963 (grub_net_arp_receive): New card argument.
964 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
965 Set router and DNS server.
966 (grub_net_configure_by_dhcp_ack): Handle routing information.
967 (grub_cmd_bootp): Set checksum.
968 (grub_bootp_init): Remove net_dhcp.
969 * grub-core/net/dns.c: New file.
970 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
971 completion.
972 (get_card_packet): Handle allocation.
973 (grub_efinet_findcards): Set mtu.
974 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
975 (get_card_packet): Handle allocation.
976 (emucard): Set mtu.
977 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
978 (GRUB_MOD_INIT): Set mtu.
979 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
980 mtu.
981 (get_card_packet): Handle allocation.
982 (grub_ofnet_findcards): Set mtu.
983 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
984 assert.
985 (grub_net_recv_ethernet_packet): Handle IPv6.
986 * grub-core/net/http.c: New file.
987 * grub-core/net/icmp.c: Likewise.
988 * grub-core/net/icmp6.c: Likewise.
989 * grub-core/net/ip.c (ip6addr): New type.
990 (ip6hdr): Likewise.
991 (reassemble): Likewise.
992 (cmp): New function.
993 (reassembles): New variable.
994 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
995 (id): New variable.
996 (send_fragmented): New function.
997 (grub_net_send_ip_packet): Rename to ...
998 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
999 Handle non-UDP.
1000 (grub_net_recv_ip_packets): Rename to ...
1001 (handle_dgram): ... this. Check checksum. Handle non-UDP.
1002 (free_rsm): New function.
1003 (free_old_fragments): Likewise.
1004 (grub_net_recv_ip4_packets): New function.
1005 (grub_net_send_ip6_packet): Likewise.
1006 (grub_net_send_ip_packet): Likewise.
1007 (grub_net_recv_ip6_packets): Likewise.
1008 (grub_net_recv_ip_packets): Likewise.
1009 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
1010 (LINK_LAYER_CACHE_SIZE): New const.
1011 (link_layer_find_entry): New function.
1012 (grub_net_link_layer_add_address): Likewise.
1013 (grub_net_link_layer_resolve_check): Likewise.
1014 (grub_net_link_layer_resolve): Likewise.
1015 (grub_net_ipv6_get_slaac): Likewise.
1016 (grub_net_ipv6_get_link_local): Likewise.
1017 (grub_cmd_ipv6_autoconf): Likewise.
1018 (parse_ip): Handle one number representation.
1019 (parse_ip6): New functoion.
1020 (match_net): Handle IPv6.
1021 (grub_net_resolve_address): Handle IPv6 and DNS.
1022 (grub_net_resolve_net_address): Handle IPv6.
1023 (route_cmp): New function.
1024 (grub_net_route_address): Find best route.
1025 (grub_net_addr_to_str): Handle IPv6.
1026 (grub_net_addr_cmp): New function.
1027 (grub_net_add_addr): Register local route.
1028 (print_net_address): Handle net address.
1029 (grub_net_poll_cards): Retransmit TCP.
1030 (grub_net_poll_cards_idle_real): Likewise.
1031 (have_ahead): New function.
1032 (grub_net_seek_real): Use underlying seek.
1033 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
1034 * grub-core/net/tcp.c: New file.
1035 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
1036 (cmp): New function.
1037 (ack): Likewise.
1038 (tftp_receive): Handle unordered input.
1039 (destroy_pq): New function.
1040 (tftp_close): Close pq.
1041 * grub-core/net/udp.c: Put missing license header.
1042 (grub_net_udp_socket): New function.
1043 (udp_socket_register): Likewise.
1044 (grub_net_udp_close): Likewise.
1045 (grub_net_recv_udp_packet): Check checksum.
1046 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
1047 * include/grub/misc.h (grub_memchr): New function.
1048 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
1049 (grub_net_card_driver): Return buf in recv.
1050 (grub_net_slaac_mac_list): New struct.
1051 (grub_network_level_protocol_id): Add ipv6.
1052 (grub_net_network_level_addr): Likewise.
1053 (grub_net_network_level_net_addr): Likewise.
1054 (grub_net_app_protocol): Add seek.
1055 (grub_net_socket): Removed.
1056 (grub_net_sockets): Likewise.
1057 (grub_net_socket_register): Likewise.
1058 (grub_net_socket_unregister): Likewise.
1059 (FOR_NET_SOCKETS): Likewise.
1060 (grub_net_add_addr): Add const.
1061 (GRUB_NET_BOOTP_*): New enum.
1062 (grub_net_addr_cmp): New proto.
1063 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
1064 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
1065 (grub_net_hwaddr_to_str): NEw proto.
1066 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
1067 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
1068 (grub_dns_init): New proto.
1069 (grub_dns_fini): Likewise.
1070 (grub_net_tcp_retransmit): Likewise.
1071 (grub_net_link_layer_add_address): Likewise.
1072 (grub_net_link_layer_resolve_check): Likewise.
1073 (grub_net_link_layer_resolve): Likewise.
1074 (grub_net_dns_lookup): Likewise.
1075 (grub_net_add_dns_server): Likewise.
1076 (grub_net_remove_dns_server): Likewise.
1077 (GRUB_NET_TRIES): New const.
1078 (GRUB_NET_INTERVAL): Likewise.
1079 * include/grub/net/arp.h: Mostly rewritten.
1080 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
1081 * include/grub/net/ip.h: Mostly rewritten.
1082 * include/grub/net/netbuff.h: Indent.
1083 * include/grub/net/tcp.h: New file.
1084 * include/grub/net/udp.h: Mostly rewritten.
1085 * include/grub/priority_queue.h: New file.
1086 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
1087 (grub_swap_bytes64_compile_time): Likewise.
1088 (grub_cpu_to_be16_compile_time): Likewise.
1089 (grub_cpu_to_be32_compile_time): Likewise.
1090 (grub_cpu_to_be64_compile_time): Likewise.
1091 (grub_be_to_cpu64_compile_time): Likewise.
1092
215c1800
VS
10932011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1094
1095 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
1096 UINT_TO_PTR with cast.
1097
c17e546c
VS
10982011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1099
1100 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
1101 don't use them.
1102
ff6b18b6
VS
11032011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1104
1105 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
1106 already there.
1107
70ffcc93
VS
11082011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1109
1110 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
1111 confusing ipxe.
1112
e5f4d260
VS
11132011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1114
1115 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
1116 Add missing const attribute.
1117 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
1118 Likewise.
1119 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
1120 Likewise.
1121
8e54b4b7
VS
11222011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
1125 misaligned access.
1126 (serpent_setkey): Likewise.
1127 (serpent_encrypt_internal): Likewise.
1128 (serpent_decrypt_internal): Likewise.
1129 (serpent_encrypt): Don't put an alignment-increasing cast.
1130 (serpent_decrypt): Likewise.
1131 (serpent_test): Likewise.
1132
813c0a2b
VS
11332011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1134
1135 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
1136
f2b60fbd
VS
11372011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
1140
1141 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
1142 grub_addr_t casts.
1143 (PTR_TO_UINT64): Likewise.
1144 (PTR_TO_UINT32): Likewise.
1145
5ef5c511
VS
11462011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1147
1148 * util/grub-mkimage.c (generate_image): Decrease the higher limit
1149 because of stack.
1150 * util/grub-setup.c (setup): Don't add redundancy past the higher load
1151 limit.
1152
c476e6df
VS
11532011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1154
1155 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
1156 text_width > available width a bit more gracefully.
1157
384ad7cc
VS
11582011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1159
1160 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
1161 current address calculation.
1162
96f8caf8
VS
11632011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1164
1165 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
1166 stack.
1167 (encode_block): Likewise.
1168
276b7a8b
VS
11692011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1170
1171 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
1172 certainety.
1173
e3fd394a
VS
11742011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1175
1176 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
1177 non-RS part to avoid RS messing with GDT.
1178 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
1179 Increase to suit in realmode routines.
1180
11812011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1182
1183 * grub-core/kern/i386/realmode.S: Increase alignment.
1184 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
1185
ee9c2e7a
VS
11862011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1187
1188 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
1189 be deterministic.
1190 (syndroms): Compute 0 syndrom.
1191 (rs_recover): Use 0 syndrom.
1192
7a7f7cc9
VS
11932011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
1196
a14b16d1
VS
11972011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
1200 brackets.
1201
9f59e9fc
VS
12022011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1203
ca1b552c
VS
1204 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
1205 account.
1206 (get_top_pad): Likewise.
1207 (get_right_pad): Likewise.
1208 (get_bottom_pad): Likewise.
1209
12102011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1211
1212 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 1213
e739d698
VS
12142011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1215
1216 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
1217 attribute as the structure isn't guaranteed to be properly aligned.
1218 (grub_efi_pci_device_path): Likewise.
1219 (grub_efi_pccard_device_path): Likewise.
1220 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
1221 specify the size of `memory_type'.
1222 (grub_efi_vendor_device_path): Likewise.
1223 (grub_efi_controller_device_path): Likewise.
1224 (grub_efi_acpi_device_path): Likewise.
1225 (grub_efi_expanded_acpi_device_path): Likewise.
1226 (grub_efi_atapi_device_path): Likewise.
1227 (grub_efi_scsi_device_path): Likewise.
1228 (grub_efi_fibre_channel_device_path): Likewise.
1229 (grub_efi_1394_device_path): Likewise.
1230 (grub_efi_usb_device_path): Likewise.
1231 (grub_efi_usb_class_device_path): Likewise.
1232 (grub_efi_i2o_device_path): Likewise.
1233 (grub_efi_mac_address_device_path): Likewise.
1234 (grub_efi_ipv4_device_path): Likewise.
1235 (grub_efi_ipv6_device_path): Likewise.
1236 (grub_efi_infiniband_device_path): Likewise.
1237 (grub_efi_uart_device_path): Likewise.
1238 (grub_efi_vendor_messaging_device_path): Likewise.
1239 (grub_efi_hard_drive_device_path): Likewise.
1240 (grub_efi_cdrom_device_path): Likewise.
1241 (grub_efi_vendor_media_device_path): Likewise.
1242 (grub_efi_file_path_device_path): Likewise.
1243 (grub_efi_protocol_device_path): Likewise.
1244 (grub_efi_piwg_device_path): Likewise.
1245 (grub_efi_bios_device_path): Likewise.
1246
cb8f88ea
VS
12472011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1248
1249 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
1250 (grub_ucs4_to_utf8_alloc): Likewise.
1251 (grub_ucs4_to_utf8): Likewise.
1252 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
1253 (grub_ucs4_to_utf8_alloc): Likewise.
1254
309e5352
VS
12552011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1256
1257 AFFS never uses unicode.
1258
1259 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
1260 (grub_latin1_to_utf8): New inline function.
1261 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
1262
e7987e1b
VS
12632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1264
1265 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
1266 overflow.
1267
efc2616e
VS
12682011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
1271 (grub_squash_dirent_header): Likewise.
1272 (read_chunk): Don't double swap.
1273 (grub_squash_iterate_dir): Fix swap sizes.
1274
3c349f5a
VS
12752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
1278
b453412d
VS
12792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1280
1281 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
1282 (grub_hfs_iterate_dir): Likewise.
1283
12e9d4d1
VS
12842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1285
1286 Fix video on platforms where unaligned access is forbidden.
1287 Make several optimisations while on it.
1288
1289 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
1290 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1291 (grub_video_fbblit_replace_32bit_1bit): Likewise.
1292 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
1293 Disable.
1294 (grub_video_fbblit_replace_16bit_1bit):
1295 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1296 (grub_video_fbblit_replace_8bit_1bit): Likewise.
1297 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
1298 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
1299 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
1300 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
1301 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
1302 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
1303 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
1304 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
1305 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
1306 (grub_video_fbblit_replace_index_RGB888): Likewise.
1307 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
1308 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
1309 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
1310 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
1311 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
1312 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
1313 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
1314 Disable.
1315 (grub_video_fbblit_blend_XXX565_1bit):
1316 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1317 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
1318 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
1319 void *.
1320 * grub-core/video/fb/video_fb.c (common_blitter)
1321 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
1322 (grub_video_fb_create_render_target_from_pointer)
1323 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
1324 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
1325 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
1326 definition.
1327 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
1328
ace96609
VS
13292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1330
1331 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
1332 HH22 and HM10 relocations.
1333
fd261d73
VS
13342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
1337
e59b7857
VS
13382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1339
1340 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
1341 allocation succeeded.
1342
9b4baaa4
VS
13432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1344
1345 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
1346 argument a u8 pointer. All users updated.
1347 Handle unaligned buffers.
1348
dc713193
VS
13492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
1352 add_part to workaround compiler bug.
1353
30dd48c2
VS
13542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1355
1356 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
1357
0c6087a8
VS
13582011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1359
1360 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
1361 Reserve alignment invariants.
1362 (grub_multiboot_load): Likewise.
1363 (retrieve_video_parameters): Likewise.
1364 (grub_multiboot_make_mbi): Likewise.
1365
c2e77777
VS
13662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1367
1368 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
1369 incorrect pointer.
1370
b70b6d11
VS
13712011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1372
1373 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
1374 (grub_pata_pio_write): Likewise.
1375
02a2bf83
VS
13762011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 Add noreturn attributes and remove unreachable code.
1379
1380 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
1381 code.
1382 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
1383 code. Mark as noreturn.
1384 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
1385 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
1386 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
1387 unreachable code.
1388 * grub-core/kern/main.c (grub_main): Mark as noreturn.
1389 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
1390 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
1391 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
1392 * include/grub/kernel.h (grub_main): Mark as noreturn.
1393 * include/grub/reader.h (grub_rescue_run): Likewise.
1394
2019d09e
VS
13952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1396
1397 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
1398 redundant declaration.
1399
d1c501ee
VS
14002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1401
1402 * include/grub/net.h (grub_net_network_level_interfaces): Remove
1403 redundant declaration.
1404 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
1405
61664420
VS
14062011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1407
1408 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
1409 to ensure alignment.
1410 (grub_hdparm_print_identify): Make argument uint16 * to ensure
1411 alignment. Ensure tmp alignment.
1412 (grub_cmd_hdparm): Ensure buf alignment.
1413 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
1414 to ensure alignment.
1415 (grub_ata_dumpinfo): Ensure text alignment.
1416 (grub_atapi_identify): Preserve alignment invariant.
1417 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
1418
0d51ee20
VS
14192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1420
1421 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
1422 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
1423 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
1424 * include/grub/misc.h (grub_reboot)
1425 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
1426 (grub_halt) [__mips__]: Likewise.
1427
753ef8c1
VS
14282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1429
1430 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
1431 Remove redundant declaration.
1432 (grub_mmap_get_post64): Likewise.
1433 (grub_mmap_get_upper): Likewise.
1434 (grub_mmap_get_lower): Likewise.
1435
85c85365
VS
14362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1437
1438 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
1439 uint32_t * to ensure alignment.
1440 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
1441
a23f2cc4
VS
14422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1443
93018f64
VS
1444 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
1445 uint16_t * to ensure alignment.
1446 (sun_pc_partition_map_iterate): Make `block' a union to ensure
1447 alignment.
1448
14492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1450
1451 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
1452 to ensure alignment.
1453 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
1454
58acccd6
VS
14552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1456
1457 * grub-core/fs/ntfs.c (u16at): Make into inline function.
1458 Handle unaligned pointers.
1459 (u32at): Likewise.
1460 (u64at): Likewise.
1461 (fixup): Use byte access instead of v16at.
1462 (find_attr): Fix imporper usage of v32at.
1463 (read_data): Likewise.
1464 (list_file): Handle byte-swapping and unaligned strings.
1465 (grub_ntfs_label): Likewise.
1466
9b05cad7
VS
14672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1468
1469 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
1470 as it's not necessarily aligned.
1471
b3950b84
VS
14722011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1473
1474 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
1475 redundant declaration.
1476 (grub_serial_init): Likewise.
1477 (grub_terminfo_init): Likewise.
1478
fcd232b7
VS
14792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1480
1481 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
1482 function.
1483 (ZAP_HASH_IDX): Likewise.
1484 (ZAP_LEAF_HASH_SHIFT): Likewise.
1485 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
1486 (LEAF_HASH): Likewise.
1487 (ZAP_LEAF_NUMCHUNKS): Likewise.
1488 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
1489 alignment invariants. Return pointer. All users updated.
1490 (ZAP_LEAF_ENTRY): Make into inline function.
1491 (NBBY): Removed.
1492 (xor): LIkewise.
1493 (xor_out): Use grub_crypto_xor.
1494 (dnode_get_path): Use grub_get_unaligned.
1495 (nvlist_find_value): Likewise.
1496 (grub_zfs_nvlist_lookup_uint64): Likewise.
1497 (grub_zfs_nvlist_lookup_string): Likewise.
1498 (get_nvlist_size): Likewise.
1499 (grub_zfs_open): Likewise.
1500 (fill_fs_info): Likewise.
1501 (grub_zfs_dir): Likewise.
1502 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
1503 alignment invariants.
1504 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
1505 necessarily aligned.
1506
f138623a
VS
15072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
1510
564840dc
VS
15112011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1512
1513 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
1514 arithmetic to conserve alignment invariants.
1515
9b40df20
VS
15162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1517
1518 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
1519 redundant declaration.
1520 (grub_efiemu_mm_obtain_request): Likewise.
1521 (grub_efiemu_prepare): Likewise.
1522
d1c930f9
VS
15232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1524
1525 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
1526 to match types.
1527
4c5f3056
VS
15282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1529
1530 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
1531 case of aunaligned recptr.
1532 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
1533 alignment.
1534 (grub_hfsplus_btree_search): Handle unaligned index.
1535
728cba91
VS
15362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1537
1538 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
1539 to get freetag and skip.
1540
eb561f31
VS
15412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
1544 array.
1545 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
1546 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
1547
20993fbb
VS
15482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1549
1550 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
1551 name for checksum and fix allocation algorithm.
1552
1f313b94
VS
15532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 * include/grub/types.h (grub_properly_aligned_t): New type.
1556 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
1557 (grub_get_unaligned16): Add explicit casts.
1558 (grub_get_unaligned32): Likewise.
1559 (grub_get_unaligned64): Likewise.
1560 (grub_set_unaligned16): New function.
1561 (grub_set_unaligned32): Likewise.
1562
47ae27ec
VS
15632011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1564
1565 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
1566
78c2cd1c
VS
15672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1568
1569 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
1570 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
1571 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
1572
53072f9b
VS
15732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1574
1575 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
1576 conditionals.
1577
055dc239
VS
15782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1579
1580 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
1581 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
1582
496bd074
VS
15832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1584
1585 Unify and improve RAID and crypto xor.
1586
1587 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
1588 changed to grub_crypto_xor
1589 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
1590 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
1591 Use bigger types when possible.
1592
ef6e4335
VS
15932011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 * grub-core/disk/raid.c (scan_devices): Fix condition.
1596
5d048bf2
VS
15972011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1598
1599 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
1600 Make name a const ptr.
1601
ee533335
VS
16022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
1605 first argument a const pointer.
1606 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
1607 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
1608 proto.
1609 (grub_children_iterate): Likewise.
1610 (grub_machine_mmap_iterate): Remove redundant declaration.
1611
cc8f3668
VS
16122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1613
1614 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
1615 (grub_cmd_acpi) [!x86]: Disable EBDA.
1616
c5fc563a
VS
16172011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 Enable UTF8 in gnulib regexp.
1620
1621 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
1622 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
1623 (isupper): Use grub_isupper.
1624 (isascii): New inline function.
1625 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
1626 * grub-core/lib/posix_wrap/wctype.h: Likewise.
1627 * grub-core/normal/charset.c (grub_utf8_process): New function.
1628 (grub_utf8_to_utf16): Use grub_utf8_process.
1629 (grub_encode_utf8_character): New function.
1630 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
1631 * include/grub/charset.h (grub_utf8_process): New declaration.
1632 (grub_encode_utf8_character): Likewise.
1633 * include/grub/misc.h (grub_islower): New inline function.
1634 (grub_isupper): Likewise.
1635 (grub_strchrsub): Moved down to fix the definitions.
1636
0af2346f
VS
16372011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1638
1639 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
1640 specification.
1641
74dbd244
VS
16422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 * include/grub/loader.h (grub_loader_register_preboot_hook):
1645 Use struct preboot * and not void * for handle. All users updated.
1646 (grub_loader_unregister_preboot_hook): Likewise.
1647
1bc8f60d
VS
16482011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
1649
1650 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
1651 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
1652 UTF-16-BE. All users updated.
1653 (grub_hfsplus_cmp_catkey): Fix unicode handling.
1654 (grub_hfsplus_iterate_dir): Likewise.
1655 (grub_hfsplus_label): Likewise.
1656
48d6e456
VS
16572011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
1660
bf3a3857
VS
16612011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 Add missing const qualifiers.
1664
1665 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
1666 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
1667 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
1668 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
1669 (grub_lvm_check_flag): Likewise.
1670 * grub-core/efiemu/i386/coredetect.c
1671 (grub_efiemu_get_default_core_name): Likewise
1672 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
1673 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
1674 * grub-core/fs/ntfs.c (fixup): Likewise.
1675 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
1676 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
1677 (fzap_lookup): Likewise.
1678 (zap_lookup): Likewise.
1679 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
1680 * grub-core/lib/legacy_parse.c (check_option): Likewise.
1681 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
1682 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
1683 (grub_freebsd_add_meta_module): Likewise.
1684 (grub_cmd_freebsd_module): Likewise.
1685 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
1686 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
1687 (grub_xnu_writetree_get_size): Likewise.
1688 (grub_xnu_writetree_toheap_real): Likewise.
1689 (grub_xnu_find_key): Likewise.
1690 (grub_xnu_create_key): Likewise.
1691 (grub_xnu_create_value): Likewise.
1692 (grub_xnu_register_memory): Likewise.
1693 (grub_xnu_check_os_bundle_required): Likewise.
1694 (grub_xnu_scan_dir_for_kexts): Likewise.
1695 (grub_xnu_load_kext_from_dir): Likewise.
1696 * grub-core/normal/color.c (color_list): Likewise.
1697 * grub-core/normal/completion.c (current_word): Likewise.
1698 * grub-core/normal/menu_entry.c (insert_string): Likewise.
1699 * grub-core/term/serial.c (grub_serial_find): Likewise.
1700 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
1701 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
1702 Likewise.
1703 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
1704 (grub_freebsd_add_meta_module): Likewise.
1705 * include/grub/lib/arg.h (grub_arg_option): Likewise.
1706 * include/grub/net.h (grub_net_card_driver): Likewise.
1707 (grub_net_card): Likewise.
1708 (grub_net_app_protocol): Likewise.
1709 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
1710 * include/grub/serial.h (grub_serial_find): Likewise.
1711 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
1712 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
1713 (grub_xnu_create_value): Likewise.
1714 (grub_xnu_find_key): Likewise.
1715 (grub_xnu_scan_dir_for_kexts): Likewise.
1716 (grub_xnu_load_kext_from_dir): Likewise.
1717
1718 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
1719 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
1720 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
1721 Moved from here ...
1722 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
1723
112b4837
CW
17242011-11-28 Colin Watson <cjwatson@ubuntu.com>
1725
1726 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
1727
49e891ac
VS
17282011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1729
1730 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
1731 (read_device): Fix size calculation.
1732
fd258e5c
RM
17332011-11-25 Robert Millan <rmh@gnu.org>
1734
1735 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
1736 (find_root_device_from_libzfs): Add zpool output parser to be used
1737 as fallback when libzfs isn't available.
1738
78845dc2
SG
17392011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
1740
1741 * po/Makefile.in.in: Add missing escape-continuation.
1742
adac5211
VS
17432011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1744
1745 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
1746
10b64f1c
VS
17472011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1748
1749 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
1750
bb416954
VS
17512011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1752
1753 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
1754
bdfe9eeb
VS
17552011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1756
1757 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
1758
581ffa8a
VS
17592011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1760
1761 * grub-core/lib/adler32.c: Add missing license specification.
1762 * grub-core/lib/crc64.c: Likewise.
1763 * grub-core/loader/i386/pc/plan9.c: Likewise.
1764 * grub-core/partmap/plan.c: Likewise.
1765
2536cf64
LK
17662011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
1767
1768 Add facility to debug GRUB with gdb under qemu.
1769
1770 * grub-core/gdb_grub.in: New file.
1771 * grub-core/gmodule.pl.in: Likewise.
1772 * grub-core/Makefile.core.def (gmodule.pl): New script.
1773 (gdb_grub): Likewise.
1774
bc108a4a
VS
17752011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1776
1777 * util/grub-mount.c (argp_parser): Accept relative pathes.
1778 * util/grub-fstest.c (argp_parser): Likewise.
1779
111c1778
VS
17802011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1781
1782 Plan9 support.
1783
1784 * Makefile.util.def (libgrubmods): Add
1785 grub-core/partmap/plan.c.
1786 * docs/grub.texi: Notice Plan9 support.
1787 * grub-core/Makefile.core.def (plan9): New module.
1788 (part_plan): Likewise.
1789 * grub-core/loader/i386/pc/plan9.c: New file.
1790 * grub-core/partmap/plan.c: Likewise.
1791 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
1792 define.
1793 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
1794 * include/grub/mm.h (grub_extend_alloc): New inline function.
1795
c30be3b6
VS
17962011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1797
1798 Make Reed-Solomon faster by using power of generator representation of
1799 GF(256)*.
1800
1801 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
1802 (gf_double_t): Likewise.
1803 (gf_invert): Removed.
1804 (gf_powx): New array.
1805 (gf_powx_inv): Likewise.
1806 (scratch): Move higher.
1807 (gf_reduce): Removed.
1808 (gf_mul): Use powx.
1809 (gf_invert): Likewise.
1810 (init_inverts): Replaced with ...
1811 (init_powx): ...this. All users updated.
1812 (pol_evaluate): Replace multiplications with additions.
1813 (rs_encode): Likewise.
1814 (gauss_eliminate): Call gf_invert.
1815 (grub_reed_solomon_add_redundancy): Call init_powx.
1816 (grub_reed_solomon_recover): Call init_powx unconditionally.
1817
fa5aeffc
VS
18182011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1819
1820 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
1821
a346b81c
VS
18222011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1823
1824 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
1825 disk->partiton for safety.
1826
d89ee414
VS
18272011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1828
1829 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
1830 Fix a memory leak.
1831 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
1832
91ee7b6d
VS
18332011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1834
1835 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
1836
91e5a33d
VS
18372011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1838
1839 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
1840
9edd7be2
VS
18412011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1842
1843 Fix spaces handling in proc/self/mountinfo.
1844
1845 * util/getroot.c (unescape): New function.
1846 (grub_find_root_device_from_mountinfo): Use unescape.
1847
ba102053
VS
18482011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 Support ZFS embedding.
1851
1852 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
1853 (grub_zfs_fs): Register grub_zfs_embed.
1854
aa94b870
VS
18552011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1856
1857 Fix MIPS compilation.
1858
1859 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
1860 * include/grub/offsets.h: Rename decompressor fields from
1861 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
1862 * util/grub-mkimage.c (image_targets): Use new names.
1863
5fbdac14
VS
18642011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1865
1866 Defer multiboot device parsing until we're in compressed part.
1867
1868 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
1869 bsd_part. setdevice has fallen into disuse.
1870 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
1871 (bsd_part): Likewise.
1872 (boot_dev): New variable.
1873 (multiboot_trampoline): Don't parse multiboot device.
1874 Pass multiboot device in %edx.
1875 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
1876 grub_boot_device.
1877 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
1878 Likewise.
1879 * grub-core/kern/i386/pc/startup.S: Save edx.
1880 (grub_boot_drive): Removed.
1881 (grub_install_dos_part): Likewise.
1882 (grub_install_bsd_part): Likewise.
1883 (grub_boot_device): New variable.
1884 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
1885 (grub_install_bsd_part): Likewise.
1886 (grub_boot_drive): Likewise.
1887 (grub_boot_device): New variable.
1888 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
1889 Removed.
1890 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
1891 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
1892 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
1893 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
1894 * util/grub-install.in: Remove redundant condition.
1895
691cbb58
VS
18962011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1897
1898 Fix bug introduced by previous commit.
1899
1900 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
1901
60240b8b
VS
19022011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1903
1904 Use decompressors framework on i386-pc. It increases core size
1905 by 46 bytes but improves compatibility and maintainability.
1906
1907 * grub-core/Makefile.core.def (lzma_decompress): New image.
1908 (kernel): Add i386_pc_ldflags.
1909 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
1910 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
1911 to real_to_prot, prot_to_real and device info.
1912 * include/grub/offsets.h: Renamed decompressor offsets.
1913 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
1914 (image_target_desc): Remove raw_size and rename decompressor fields.
1915 (compress_kernel): Handle lzma.
1916 (generate_image): Handle decompressors on i386-pc.
1917
e9d3421c
VS
19182011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 * configure.ac: Add -fno-asynchronous-unwind-tables.
1921
2b23074a
VS
19222011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 Move assembly code to C by using intwrap. It increases core size
1925 by 88 bytes but improves compatibility and maintainability.
1926
1927 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
1928 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
1929 ... here. Translated to C.
1930 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
1931 * grub-core/term/i386/pc/console.c (grub_console_getkey):
1932 ... here. Translated to C.
1933 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
1934 * grub-core/term/i386/pc/console.c (grub_console_getxy):
1935 ... here. Translated to C.
1936 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
1937 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
1938 ... here. Translated to C.
1939 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
1940 * grub-core/term/i386/pc/console.c (grub_console_cls):
1941 ... here. Translated to C.
1942 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
1943 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
1944 ... here. Translated to C.
1945 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
1946 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
1947 Translated to C.
1948 * grub-core/term/i386/pc/console.c (int10_9): New function.
1949 (grub_console_putchar): Likewise.
1950 * include/grub/i386/pc/console.h: Removed the not anymore shared
1951 functions.
1952
678f4b67
VS
19532011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1954
1955 Move grub_chainloader_real_boot out of the kernel.
1956
1957 * grub-core/Makefile.am: Remove machine/loader.h.
1958 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
1959 Removed.
1960 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
1961 variable.
1962 (grub_relocator16_keep_a20_enabled): Likewise.
1963 (grub_relocator16_boot): Fill new variables.
1964 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
1965 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
1966 relocator.
1967 (grub_chainloader_unload): Likewise.
1968 (grub_chainloader_cmd): Likewise.
1969 * include/grub/i386/pc/loader.h: Removed.
1970 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
1971 and esi. All initialisers updated.
1972
4626edf6
VS
19732011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
19742011-11-12 Colin Watson <cjwatson@ubuntu.com>
1975
1976 * Makefile.util.def (grub-mount): New util.
1977 * .bzrignore: Add grub-mount.
1978 * configure.ac: Check for fuse and enable grub-mount if available.
1979 * docs/man/grub-mount.h2m: New file.
1980 * util/grub-mount.c: Likewise.
1981
10f0117b
VS
19822011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1983
1984 * grub-core/commands/efi/fixvideo.c: Gettextize.
1985 * grub-core/commands/hashsum.c: Likewise.
1986 * grub-core/commands/i386/cmostest.c: Likewise.
1987 * grub-core/commands/i386/pc/drivemap.c: Likewise.
1988 * grub-core/commands/i386/pc/lsapm.c: Likewise.
1989 * grub-core/commands/i386/pc/sendkey.c: Likewise.
1990 * grub-core/commands/lsmmap.c: Likewise.
1991 * grub-core/commands/menuentry.c: Likewise.
1992 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
1993 * grub-core/commands/setpci.c: Likewise.
1994 * grub-core/loader/i386/bsd.c: Likewise.
1995 * grub-core/loader/i386/linux.c: Likewise.
1996 * util/getroot.c: Likewise.
1997 * util/grub-editenv.c: Likewise.
1998 * util/grub-fstest.c: Likewise.
1999 * util/grub-mkfont.c: Likewise.
2000 * util/grub-mkimage.c: Likewise.
2001 * util/grub-mkpasswd-pbkdf2.c: Likewise.
2002 * util/grub-pe2elf.c: Likewise.
2003 * util/grub-probe.c: Likewise.
2004 * util/grub-setup.c: Likewise.
2005 * util/ieee1275/ofpath.c: Likewise.
2006 * util/misc.c: Likewise.
2007 * util/raid.c: Likewise.
2008
566f779b
RM
20092011-11-11 Robert Millan <rmh@gnu.org>
2010
2011 * util/getroot.c (grub_util_get_geom_abstraction): Remove
2012 __attribute__((unused)) from `os_dev', which *is* being used.
2013
b50787de
VS
20142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2015
2016 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
2017 forgotten define.
2018 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
2019 GRUB_IA64_DL_GOT_ALIGN.
2020 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
2021 GRUB_IA64_DL_TRAMP_ALIGN.
2022
119d11c8
VS
20232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2024
2025 Replace grub_fatal with normal errors in i386 linux loader.
2026
2027 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
2028 (allocate_pages): Check find_efi_mmap_size return value.
2029 (grub_e820_add_region): Return error.
2030 (grub_linux_boot): Check mmap return value.
2031
6e0632e2
VS
20322011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2033
2034 * grub-core/commands/acpihalt.c: Gettextized.
2035 * grub-core/commands/cacheinfo.c: Likewise.
2036 * grub-core/commands/cmp.c: Likewise.
2037 * grub-core/commands/efi/loadbios.c: Likewise.
2038 * grub-core/commands/gptsync.c: Likewise.
2039 * grub-core/commands/ieee1275/suspend.c: Likewise.
2040 * grub-core/commands/legacycfg.c: Likewise.
2041 * grub-core/commands/memrw.c: Likewise.
2042 * grub-core/commands/minicmd.c: Likewise.
2043 * grub-core/commands/parttool.c: Likewise.
2044 * grub-core/commands/time.c: Likewise.
2045 * grub-core/commands/videoinfo.c: Likewise.
2046 * grub-core/disk/geli.c: Likewise.
2047 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
2048 * grub-core/disk/luks.c: Likewise.
2049 * grub-core/disk/lvm.c: Likewise.
2050 * grub-core/font/font_cmd.c: Likewise.
2051 * grub-core/fs/zfs/zfscrypt.c: Likewise.
2052 * grub-core/fs/zfs/zfsinfo.c: Likewise.
2053 * grub-core/gfxmenu/view.c: Likewise.
2054 * grub-core/kern/emu/hostdisk.c: Likewise.
2055 * grub-core/kern/emu/main.c: Likewise.
2056 * grub-core/kern/emu/misc.c: Likewise.
2057 * grub-core/kern/emu/mm.c: Likewise.
2058 * grub-core/kern/mips/arc/init.c: Likewise.
2059 * grub-core/kern/mips/loongson/init.c: Likewise.
2060 * grub-core/kern/partition.c: Likewise.
2061 * grub-core/lib/i386/halt.c: Likewise.
2062 * grub-core/lib/mips/arc/reboot.c: Likewise.
2063 * grub-core/lib/mips/loongson/reboot.c: Likewise.
2064 * grub-core/loader/i386/pc/chainloader.c: Likewise.
2065 * grub-core/loader/i386/xnu.c: Likewise.
2066 * grub-core/loader/multiboot.c: Likewise.
2067 * grub-core/net/bootp.c: Likewise.
2068 * grub-core/net/net.c: Likewise.
2069 * grub-core/normal/term.c: Likewise.
2070 * grub-core/partmap/bsdlabel.c: Likewise.
2071 * grub-core/parttool/msdospart.c: Likewise.
2072 * grub-core/term/gfxterm.c: Likewise.
2073 * grub-core/term/terminfo.c: Likewise.
2074 * grub-core/video/i386/pc/vbe.c: Likewise.
2075 * util/grub-menulst2cfg.c: Likewise.
2076 * util/grub-mkdevicemap.c: Likewise.
2077 * util/grub-mklayout.c: Likewise.
2078 * util/grub-mkrelpath.c: Likewise.
2079 * util/grub-script-check.c: Likewise.
2080 * util/ieee1275/grub-ofpathname.c: Likewise.
2081 * util/resolve.c: Likewise.
2082
073aa7a9
VS
20832011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2084
2085 Support %1$d syntax.
2086
2087 * tests/printf_unit_test.c: New file.
2088 * Makefile.util.def (printf_test): New test.
2089 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
2090
c76b5417
VS
20912011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
2094 fix.
2095
df067ad1
VS
20962011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2097
2098 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
2099 dprintf.
2100 * grub-core/font/font.c (grub_font_load): Likewise.
2101
5b289bc5
VS
21022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * util/grub-macho2img.c: Add comment concerning gettext.
2105 * grub-core/lib/legacy_parse.c: Likewise.
2106
c1860f87
VS
21072011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2108
2109 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
2110 (grub_xvasprintf): Likewise.
2111
d35d0d37
VS
21122011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2113
2114 Add const keyword to grub_env_get and gettextize week days.
2115
2116 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
2117 (grub_read_hook_datetime): Return const char *.
2118 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
2119 updated.
2120 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
2121 Mark for gettext.
2122 (grub_get_weekday_name): Return const char *. Call gettext.
2123 * grub-core/script/argv.c (grub_script_argv_append): Receive const
2124 char * and len as the argument. All users updated.
2125 (grub_script_argv_split_append): Receive const char *.
2126 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
2127 * include/grub/env.h (grub_env_get): Likewise.
2128 (grub_env_read_hook_t): Return const char *.
2129 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
2130 (grub_script_argv_split_append): Likewise.
2131
9aed8a71
VS
21322011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2133
2134 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
2135
067fdf00
VS
21362011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2137
2138 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
2139 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
2140
a8bd9d39
VS
21412011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2142
2143 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
2144 Fix prototype.
2145
f7ce5baf
VS
21462011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2147
2148 Fix mips compilation.
2149
2150 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
2151 normal decoder.
2152 (hashes): Use in embed decoder as well (for sizes).
2153 (dec_stream_header): Fix embed decompressor logic.
2154 (dec_stream_footer): Likewise.
2155
9bb182f3
VS
21562011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
2159 an error and not a fatal on unrecognised relocation types.
2160
63a9e6f6
VS
21612011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2162
2163 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
2164 Issue error rather than printf on unknown arguments.
2165
4c458569
VS
21662011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2167
2168 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
2169 Make buf a const.
2170
e2d22baf
VS
21712011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2172
2173 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
2174 Fix module name.
2175
53dc8590
VS
21762011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
2179 leftover debug printf.
2180
6c189294
VS
21812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2182
2183 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
2184
f7688369
VS
21852011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
2188 A stylistic fix.
2189
11a775a3
VS
21902011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2191
2192 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
2193
33f784e8
SL
21942011-11-10 Shea Levy <slevy@tieronedesign.com>
2195
2196 Allow all modules to perform serial IO
2197
2198 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
2199 * include/grub/serial.h (grub_serial_port_configure): New inline
2200 function.
2201 (grub_serial_port_fetch): Likewise.
2202 (grub_serial_port_put): Likewise.
2203 (grub_serial_port_fini): Likewise.
2204 (grub_serial_find): New proto.
2205
f6276525
VS
22062011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 Put symlink at the end of the node and fix a potential
2209 memory corruption.
2210
2211 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
2212 Make symlink into an array.
2213 (set_rockridge): Set have_symlink and alloc_dirents.
2214 (grub_iso9660_read_symlink): Use new layout.
2215 (grub_iso9660_iterate_dir): Fix memory corruption.
2216 Use new layout.
2217 (grub_iso9660_dir): Set have_symlink.
2218 (grub_iso9660_open): Likewise.
2219
c3591189
VS
22202011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2221
2222 Remove local keyword.
2223
2224 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
2225 (version_test_gt): Likewise.
2226 (version_find_latest): Likewise.
2227 (gettext_printf): Likewise.
2228 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
2229
cb544caa
VS
22302011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
2233
45bd824d
VS
22342011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2235
2236 Fix ZFS memory and resource leaks.
2237
2238 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
2239 All users updated.
2240 Free type on exit.
2241 (fill_vdev_info): New parameter inserted. All users updated.
2242 (check_pool_label): Likewise.
2243 (scan_disk): Likewise.
2244 (scan_devices): Close non-inserted disks.
2245 (fzap_iterate): Free l.
2246 (unmount_device): Free children descripto memory.
2247
ad9a2f44
VS
22482011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2249
2250 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
2251 argument (access out of bounds).
2252
6b68db81
VS
22532011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2254
2255 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
2256 >= 6 drives.
2257
28840fda
VS
22582011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
2261 Fix declaration.
2262
8a5a3a5b
VS
22632011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2264
2265 Fix several memory leaks.
2266
2267 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
2268 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
2269 (grub_cpio_dir): Likewise.
2270 * grub-core/fs/fat.c (grub_fat_label): Likewise.
2271 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
2272 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
2273 (grub_romfs_label): Likewise.
2274 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
2275 (squash_unmount): New function.
2276 (grub_squash_dir): Fix memory leak.
2277 (grub_squash_open): Likewise.
2278 (grub_squash_read): Likewise.
2279 (grub_squash_mtime): Likewise.
2280 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
2281 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
2282 * util/grub-fstest.c (fstest): Likewise.
2283
57b01250
VS
22842011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2285
2286 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
2287 avoid accessing beyond the array.
2288
19e81ba7
VS
22892011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2290
2291 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
2292
52b656c0
VS
22932011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2294
2295 Several AFFS fixes.
2296
2297 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
2298 (GRUB_AFFS_FLAG_FFS): Removed.
2299 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
2300 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
2301 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
2302 (grub_fshelp_node): Make block 32-bit.
2303 Add block_cache and last_block_cache.
2304 (grub_affs_read_block): Fill and use block cache.
2305 (grub_affs_read_file): Removed.
2306 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
2307 boot block.
2308 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
2309 safety.
2310 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
2311 space.
2312 (grub_affs_close): Free block cache.
2313 (grub_affs_read): Use grub_fshelp_read_file directly.
2314
438a746a
VS
23152011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2316
2317 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
2318 with no error set.
2319
49a45021
VS
23202011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2321
2322 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
2323 used variable.
2324 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
2325 Likewise.
2326
3ae17eb8
VS
23272011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2328
2329 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
2330
2331 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
2332 byteswap when needed.
2333
27610c38
VS
23342011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2335
2336 Fix FreeBSD compilation.
2337
2338 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
2339 to avoid circular dependency.
2340 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
2341 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
2342 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
2343
4a19b601
VS
23442011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 Fix ZFS crypto error types.
2347
2348 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
2349 (grub_gcm_decrypt): Likewise.
2350 (grub_zfs_load_key_real): Fix error code type. Handle possible error
2351 from PBKDF2.
2352
958ee221
VS
23532011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 Illumos support.
2356
2357 * Makefile.util.def (10_illumos): New script.
2358 * configure.ac: Set COND_HOST_ILLUMOS.
2359 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
2360 Support Illumos calls.
2361 (find_partition_start) [__sun__]: Likewise.
2362 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
2363 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
2364 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
2365 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
2366 device.
2367 * util/grub-probe.c (probe) [__sun__]: Do character check.
2368 * util/grub.d/10_illumos.in: New file.
2369
cac14fb6
VS
23702011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2371
2372 Support escaped commas in hostdisk.
2373
2374 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
2375 (find_grub_drive): Use unescape_cmp.
2376 (make_device_name): Escape commas.
2377
78e08dc3
VS
23782011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2379
2380 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
2381
9f421dd1
VS
23822011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
2385 variable.
2386
ed64e9e2
VS
23872011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2388
2389 Support trampoline jumps on powerpc.
2390
2391 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
2392 __ia64__ path.
2393 (grub_dl_load_segments): Set mod->sz.
2394 (grub_dl_flush_cache): Flush whole space occupied by module, not just
2395 segments.
2396 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
2397 (jump): Likewise.
2398 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
2399 function.
2400 (trampoline): New struct.
2401 (trampoline_template): New const.
2402 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
2403 * include/grub/dl.h (grub_dl): Add sz element.
2404 [__powerpc__]: Follow __ia64__.
2405 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
2406 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
2407 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
2408 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
2409
3084ede4
VS
24102011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2411
2412 ZFS crypto support.
2413
2414 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
2415 * grub-core/Makefile.core.def (zfscrypt): New module.
2416 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
2417 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
2418 it. All users updated.
2419 (grub_zfs_decrypt): New var.
2420 (grub_zfs_load_key): Likewise.
2421 (zio_checksum_functions): Add SHA256+MAC.
2422 (zio_checksum_verify): Handle incomplete comparison due to MAC.
2423 (zio_read): Handle encrypted blocks.
2424 (zap_verify): Remove incorrect check.
2425 (fzap_iterate): Handle non-standard fzap.
2426 (zap_iterate): Likewise.
2427 (zap_iterate_u64): New function.
2428 (dnode_get_fullpath): Load keys.
2429 * grub-core/fs/zfs/zfscrypt.c: New file.
2430 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
2431 (grub_crypto_ecb_encrypt): Make input const.
2432 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
2433 (grub_crypto_ecb_encrypt): Make input const.
2434 (GRUB_CIPHER_AES): New macro.
2435 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
2436 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
2437 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
2438 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
2439 prefix. All users updated.
2440 (grub_zfs_add_key): New proto.
2441 (grub_zfs_decrypt): Likewise.
2442 (grub_zfs_load_key): Likewise.
2443 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
2444 * util/grub-fstest.c (options): Add -K option.
2445 (argp_parser): Likewise.
2446
b632b404
VS
24472011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2448
2449 Support zle compression on ZFS.
2450
2451 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
2452 (decomp_table): Add zle.
2453 * include/grub/zfs/zio.h (zio_compress): Add zle.
2454
c7ba4f69
VS
24552011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2456
2457 Support BtrFS embedding.
2458
2459 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
2460 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
2461 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
2462 * util/grub-setup.c (setup): Use fs embedding if available.
2463 Add additional sanity check.
2464
455377d9
VS
24652011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2466
2467 * util/grub-install.in: Fix condition for config_opt.
2468
c2fd16ca
VS
24692011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2470
2471 Support third redundancy strip on raidz3.
2472
2473 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
2474 Return error on singularity. All users updated.
2475 (read_device): Don't stop on 3rd failure on raidz3.
2476
8622923b
VS
24772011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2478
2479 Support case-insensitive ZFS subvolumes.
2480
2481 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
2482 All users updated.
2483 (zap_hash): Likewise.
2484 (name_cmp): New function.
2485 (zap_leaf_array_equal): New parameter case_insensitive.
2486 All users updated.
2487 (zap_leaf_lookup): Likewise.
2488 (fzap_lookup): Likewise.
2489 (zap_lookup): Likewise.
2490 (dnode_get_path): New parameter case_insensitive. Retrieve case
2491 sensitiviness of a volume. All users updated.
2492 (dnode_get_fullpath): New parameter case_insensitive.
2493 All users updated.
2494 (grub_zfs_dir): Set info.case_insensitiveness.
2495
95f2e860
VS
24962011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2497
2498 Support second redundancy strip on raidz(2,3).
2499
2500 * grub-core/fs/zfs/zfs.c (powx): New array.
2501 (powx_inv): Likewise.
2502 (poly): New const.
2503 (xor_out): New function.
2504 (gf_mul): Likewise.
2505 (recovery): Likewise.
2506 (read_device): Use second redundancy strip.
2507
11ee4389
VS
25082011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 Use a power of generator representation of GF(256) multiplication group
2511 to save space time and complexity.
2512
2513 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
2514 (raid6_table2): Likewise.
2515 (powx): New array.
2516 (powx_inv): Likewise.
2517 (poly): New const.
2518 (grub_raid_block_mul): Replace with ...
2519 (grub_raid_block_mulx): ...this.
2520 (grub_raid6_init_table): Rewritten.
2521 (grub_raid6_recover): Use power of generator representation.
2522
09e2763f
VS
25232011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2524
2525 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
2526 for the right device.
2527
8bec9a28
VS
25282011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
2531 expected by grub-mkimage and it's more clear since there is no implicit
2532 padding.
2533
dbd3a32e
VS
25342011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2535
2536 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
2537 disk.
2538 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2539
182c872a
PMH
25402011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
2541
2542 * util/grub-mkrescue.in: Fix handling xorriso option.
2543
1e51cabd
VS
25442011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
2547 NULL.
2548
9cc3581d 25492011-11-03 crocket <crockabiscuit@gmail.com>
2550
2551 * util/grub.d/10_linux.in: Add Slackware initrd naming.
2552
158dc1ea
VS
25532011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2554
2555 XZ CRC64 and SHA256 support.
2556
2557 * Makefile.util.def (libgrubmods): Add crc64.c.
2558 * grub-core/Makefile.core.def (crc64): New module.
2559 * grub-core/lib/crc64.c: New file.
2560 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
2561 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
2562 Fix the type.
2563 (MAX_HASH_SIZE): New define.
2564 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
2565 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
2566 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
2567 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
2568 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
2569 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
2570 Handle non-crc32 hashes.
2571 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
2572 (dec_stream_header): Handle non-crc32 hashes.
2573 (dec_stream_footer): Likewise.
2574 (dec_block_header): Likewise.
2575 (dec_main): Likewise.
2576 (xz_dec_init): Likewise.
2577 (xz_dec_reset): Likewise.
2578 (xz_dec_end): Likewise.
2579 * util/import_gcry.py: Add CRC64 line.
2580
9d9b3d2f
VS
25812011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2582
2583 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
2584 as well.
2585
7d0ac931
VS
25862011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2587
2588 Make reiserfs label retrieval similar to other *_label functions.
2589
2590 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
2591 (REISERFS_MAX_LABEL_LENGTH): Removed.
2592 (REISERFS_LABEL_OFFSET): Likewise.
2593 (grub_reiserfs_label): Rewritten.
2594
25952011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
2598 field.
2599
cf5ba824
VS
26002011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2601
2602 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
2603
17744004
VS
26042011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2605
2606 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
2607 drive failure on both raidz and raidz2.
2608
aca5aefc
VS
26092011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2610
2611 Fix RAIDZ(2) for >= 5 devices.
2612
2613 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
2614 asize argument. All users updated.
2615
ce8ca56e
VS
26162011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2617
2618 Fix RAIDZ(2).
2619
2620 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
2621 (fill_vdev_info_real): Set ashift.
2622 (read_device): Rewrite RAIDZ part based on reverse engineering.
2623
7c01e783
VS
26242011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2625
2626 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
2627 don't report potentially unavialiable fields in debug output.
2628 (find_path): Fix double-free and memory leak.
2629
ce109e84
VS
26302011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2631
2632 Read label on UFS1.
2633
2634 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
2635 (grub_ufs_fs): Always set .label.
2636
87661123
VS
26372011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2638
2639 Use shifts in UFS.
2640
2641 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
2642 (grub_ufs_data): New field log2_blksz.
2643 (grub_ufs_read_file): Use shifts.
2644 (grub_ufs_mount): Check block size and logarithm it.
2645
46bc1dc2
VS
26462011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2647
2648 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
2649 long symlinks.
2650
19ee2987
VS
26512011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2652
2653 Handle symlinks and long names on tar and cpio.
2654
2655 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
2656 (ATTR_FILE): Likewise.
2657 (ATTR_DIR): Likewise.
2658 (ATTR_LNK): Likewise.
2659 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
2660 (grub_cpio_find_file): Fill mode, handle linkname field as well as
2661 L and K entries.
2662 (grub_cpio_mount): Zero-fill data.
2663 (handle_symlink): New function.
46bc1dc2
VS
2664 (grub_cpio_dir): Handle symlinks.
2665 (grub_cpio_open): Likewise.
2666 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 2667
c83a08d8
VS
26682011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2669
2670 Fix iso9660 filename limitations and fix memory leaks.
2671
2672 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
2673 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
2674
45cdd3ea
VS
26752011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2676
2677 Fix JFS file name length limitations.
2678
2679 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
2680 (grub_jfs_diropen): Fix maximum filename length.
2681 (grub_jfs_getent): Fix filename length.
2682 (grub_jfs_lookup_symlink): Fix size checks.
2683
94ef05c2
VS
26842011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2685
2686 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
2687 string.
2688
785ab8c7
VS
26892011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2690
eb0b6b45
VS
2691 Leverage BFS implementation to read AFS.
2692
2693 * Makefile.util.def (libgrubmods): Add afs.c.
2694 * grub-core/Makefile.core.def (afs): New module
2695 * grub-core/fs/afs.c: New file.
2696 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
2697
26982011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2699
2700 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 2701
c4a1628f
VS
27022011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2703
2704 * grub-core/fs/bfs.c: Run indent.
2705
5825b379
VS
27062011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2707
2708 BFS implementation based on the specification.
2709
2710 * grub-core/fs/bfs.c: New file.
2711 * Makefile.util.def (libgrubmods): Add bfs.c.
2712 * grub-core/Makefile.core.def (bfs): New module.
2713
42b2a706
VS
27142011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2715
2716 * util/grub-fstest.c (cmd_cp): Clarify error message.
2717 (cmd_cmp): Likewise.
2718
61b99bfc
YB
27192011-10-30 Yves Blusseau <blusseau@zetam.org>
2720
2721 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
2722 and befs_be.
2723
faba3d16
VS
27242011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 Remove afs and befs because of copyright problem.
2727
2728 * grub-core/fs/afs.c: Removed.
2729 * grub-core/fs/afs_be.c: Removed.
2730 * grub-core/fs/befs.c: Removed.
2731 * grub-core/fs/befs_be.c: Removed.
2732 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
2733 * grub-core/Makefile.core.def (afs): Removed.
2734 (afs_be): Likewise.
2735 (befs): Likewise.
2736 (befs_be): Likewise.
2737
c39224b0
VS
27382011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 Prefer rockridge over Joliet.
2741
2742 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
2743 to ...
2744 (set_rockridge): ... here.
2745 (grub_iso9660_mount): Check rockridge on the primary label when
2746 discovering. Ignore Joliet if Rockridge is present.
2747
e551115a
VS
27482011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2749
2750 Use shifts in nilfs2.
2751
2752 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
2753 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
2754 (grub_nilfs2_palloc_entries_per_group): Replace with ...
2755 (grub_nilfs2_log_palloc_entries_per_group): ... this.
2756 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
2757 (grub_nilfs2_entries_per_block): Replaced with ...
2758 (grub_nilfs2_log_entries_per_block_log): ... this.
2759 (grub_nilfs2_blocks_per_group): Replaced with ...
2760 (grub_nilfs2_blocks_per_group_log): ... this.
2761 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
2762 (grub_nilfs2_blocks_per_desc_block_log): ... this.
2763 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
2764 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
2765 (grub_nilfs2_palloc_entry_offset): Replaced ...
2766 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
2767 (grub_nilfs2_dat_translate): Use shifts.
2768 (grub_nilfs2_read_inode): Likewise.
2769 (GRUB_MOD_INIT): Ensure that logs are correct.
2770
564dd58c
VS
27712011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2772
2773 Use shifts in minix filesystem.
2774
2775 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
2776 (GRUB_MINIX_ZONE2SECT): Likewise.
2777 (grub_minix_data): Replace block_size with log_block_size.
2778 (grub_minix_read_file): Use shifts.
2779 (grub_minix_mount): Check block size and take a logarithm.
2780
ed9ba06d
VS
27812011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2782
2783 Use shifts in squash4.
2784
2785 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
2786 (squash_mount): Check block size and take logarithm.
2787 (direct_read): Use shifts.
2788
ad03fe76
VS
27892011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2790
2791 Correct befs block counting logic.
2792
2793 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
2794 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
2795 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
2796 (grub_afs_read_inode): Use block_shift.
2797 (RANGE_SHIFT): New definition.
2798 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
2799 unexpected conditions, use shifts and appropriate types.
2800 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
2801
6563f63d
VS
28022011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2803
2804 * grub-core/disk/raid.c (scan_devices): Check partition.
2805 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2806
5b1ae25f
VS
28072011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2808
2809 Support BFS (befs) UUID.
2810
2811 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
2812 (grub_afs_small_data_element_header): New struct.
2813 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
2814 (grub_afs_read_attribute) [MODE_BFS]: New function.
2815 (grub_afs_iterate_dir): Allocate for complete inode.
2816 (grub_afs_mount): Likewise.
2817 (grub_afs_uuid) [MODE_BFS]: New function.
2818 (grub_afs_fs) [MODE_BFS]: Add .uuid.
2819
f8d82408
VS
28202011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2821
2822 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
2823 (zfs_unmount): Fix memory leak.
2824
5773fb64
VS
28252011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2826
2827 Support NTFS reparse points.
2828
2829 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
2830 (symlink_descriptor): New struct.
2831 (grub_ntfs_read_symlink): New function.
2832 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
2833 (grub_ntfs_open): Likewise.
2834
91c3fdde
VS
28352011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2836
2837 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
2838
3be82e10
VS
28392011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2840
2841 fstest xnu_uuid subcommand.
2842
2843 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
2844 grub-core/commands/xnu_uuid.c.
2845 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
2846 (fstest): Handle xnu_uuid.
2847 (options): Document xnu_uuid.
2848 (argp_parser): Parse xnu_uuid.
2849
8e32442e
VS
28502011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2851
2852 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
2853 -l argument. Add newline at the end if printing.
2854 (GRUB_MOD_INIT): Document -l.
2855
52a05075
VS
28562011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2857
2858 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
2859
1869edb5
VS
28602011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 ZFS multi-device and version 33 support.
2863
2864 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
2865 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
2866 (grub_zfs_data): Add multidev-ice-related fields.
2867 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
2868 (dva_get_offset): Make dva const.
2869 (zfs_fetch_nvlist): New function.
2870 (fill_vdev_info_real): Likewise.
2871 (fill_vdev_info): Likewise.
2872 (check_pool_label): Likewise.
2873 (scan_disk): Likewise.
2874 (scan_devices): Likewise.
2875 (read_device): Likewise.
2876 (read_dva): Likewise.
2877 (zio_read_gang): Use read_dva.
2878 (zio_read_data): Likewise.
2879 (zap_leaf_lookup): Add missing endian conversion.
2880 (zap_verify): Add missing endian conversion. All users updated.
2881 (fzap_lookup): Likewise.
2882 (fzap_iterate): Likewise.
2883 (dnode_get_path): Handle SA bonus.
2884 (nvlist_find_value): Make input const. All users updated.
2885 (unmount_device): New function.
2886 (zfs_unmount): Use unmount_device.
2887 (zfs_mount): Use scan_disk.
2888 (zfs_mtime): New function.
2889 (grub_zfs_open): Handle system attributes.
2890 (fill_fs_info): Likewise.
2891 (grub_zfs_dir): Likewise.
2892 (grub_zfs_fs): Add mtime.
2893 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
2894 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
2895 (SA_MTIME_OFFSET): Likewise.
2896 (SA_SYMLINK_OFFSET): Likewise.
2897 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
2898 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
2899 (fstest): Support zfsinfo.
2900 (argp_parser): Likewise.
2901
186b4028
VS
29022011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2903
2904 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
2905 error.
2906
29072011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
2908
2909 ZFS fixes.
2910
2911 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
2912 sharing the same block. Iterate over correct number of indices.
2913 (dnode_get_path): Handle symlinks correctly.
2914
c0584900
VS
29152011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2916
2917 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
2918
67e2bd71
VS
29192011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 Read label on HFS+.
2922
2923 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
2924 (grub_hfsplus_btree_search): Fix types.
2925 (grub_hfsplus_label): Implement.
2926
e9cc6b7b
VS
29272011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2928
2929 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
2930
19832ddb
VS
29312011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2932
2933 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
2934
66b40850
VS
29352011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 Fix symlink handling on iso9660.
2938
2939 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
2940 All users updated.
2941 (grub_iso9660_susp_iterate): Accept zero-size iterate.
2942 (grub_iso9660_read_symlink): Moved most of code ...
2943 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
2944
db821363
VS
29452011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
2948 Use union to avoid breaking strict-aliasing rules.
2949
e1211949
VS
29502011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2951
2952 Support multi-extent iso files.
2953
2954 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
2955 Add node.
2956 (grub_fshelp_node): Revamp. All users updated.
2957 (FLAG_*): New enum.
2958 (read_node): New function.
2959 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
2960 All users updated.
2961 (grub_iso9660_mount): Don't attempt to read sua when there is none.
2962 (get_node_size): New function.
2963 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
2964 entries.
2965 Fix memory leak on . and ..
2966 (grub_iso9660_read): Use read_node.
2967 (grub_iso9660_close): Free node.
2968
d4888031
VS
29692011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2970
2971 Fix tar 4G limit and handle paths containing dot.
2972
2973 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
2974 (canonicalize): New function.
2975 (grub_cpio_find_file): Use canonicalize. Store offs in
2976 grub_disk_addr_t.
2977 (grub_cpio_dir): Use grub_disk_addr_t.
2978 (grub_cpio_open): Likewise.
2979
9f12e664
VS
29802011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 Fix handling of uncompressed blocks on squashfs and break 4G limit.
2983
2984 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
2985 unused flags.
2986 (grub_squash_inode): Add long_file and block_size.
2987 (grub_squash_cache_inode): New struct.
2988 (grub_squash_dirent): Make types into enum.
2989 (SQUASH_TYPE_LONG_REGULAR): New type.
2990 (grub_squash_frag_desc): Add field size.
2991 (SQUASH_BLOCK_FLAGS): New enum.
2992 (grub_squash_data): Use grub_squash_cache_inode.
2993 (grub_fshelp_node): Make ino_chunk 64-bit.
2994 (read_chunk): Minor argument change. All users updated.
2995 (squash_mount): Use correct le_to_cpu.
2996 (grub_squash_open): Handle LONG_REGULAR.
2997 (direct_read): New function.
2998 (grub_squash_read_data): Handle blocks correctly.
2999
9f326fba
VS
30002011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3001
3002 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
3003
f4d9b64b
VS
30042011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3005
3006 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
3007
5bbd28b8
VS
30082011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
3009
3010 Fix 2G limit on ZFS.
3011
3012 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
3013 types.
3014 (uberblock_verify): Likewise.
3015 (dmu_read): Likewise.
3016 (grub_zfs_read): Likewise. Remove invalid cast.
3017
68c72069
VS
30182011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
3021 (grub_jfs_blkno): Fix incorrect shift.
3022 (grub_jfs_read_file): Use more appropriate types.
3023
6e536dc8
VS
30242011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
3025
3026 Support triple indirect on minix2 and minix3.
3027
3028 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
3029 Declare triple_indir_zone.
3030 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
3031 indirect.
3032
e0864e7a
VS
30332011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
3034
3035 Minix FS fixes.
3036
3037 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
3038 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
3039 Rename ctime to mtime. All users updated.
3040 (grub_minix_get_file_block): Fix types and double indirect computations.
3041
89481cab
VS
30422011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
3045 if no label is found.
3046 (grub_fat_iterate_dir): Fix file size type.
3047 (grub_fat_iterate_dir): Likewise.
3048
f646e143
VS
30492011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
3052 save some space.
3053 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
3054 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
3055
534d769e
VS
30562011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3057
3058 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
3059
e084ba18
VS
30602011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3061
3062 * util/import_gcry.py: Accept space between # and include.
3063
3471ecdf
VS
30642011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3065
3066 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
3067
124df5f6
VS
30682011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3069
3070 Fine grainely disable warnings on lexer. Remove Wno-error on it.
3071
3072 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
3073 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
3074 yylex_strncpy.
3075 * grub-core/script/yylex.l: Add fine-grained #pragma.
3076
4defb8d5
VS
30772011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3078
3079 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
3080 New inline function.
3081 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
3082 Likewise.
3083 (memset) [GRUB_UTIL]: Likewise.
3084 (memcmp) [GRUB_UTIL]: Likewise.
3085
4e94ae65
VS
30862011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
3089 inline function rather than a define.
3090
18c575e5
VS
30912011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3092
3093 * util/grub-setup.c: Add missing include.
3094
f8bc22a8
VS
30952011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3096
3097 * util/ieee1275/grub-ofpathname.c: Add missing include.
3098
3ce69fc9
VS
30992011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3100
3101 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
3102 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
3103 Likewise.
3104
d1e293bb
VS
31052011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3106
3107 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
3108 grub_memcmp usage.
3109
7a5c54a4
VS
31102011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3111
3112 * util/grub-install.in: Add datarootdir as per automake manual
3113 suggestion.
3114 * util/grub-mknetdir.in: Likewise.
3115
31162011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
3117
3118 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
3119 suggestion.
3120 * util/grub.d/10_kfreebsd.in: Likewise.
3121 * util/grub.d/10_linux.in: Likewise.
3122 * util/grub.d/10_netbsd.in: Likewise.
3123 * util/grub.d/10_windows.in: Likewise.
3124 * util/grub.d/20_linux_xen.in: Likewise.
3125
766f7d08
VS
31262011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3127
3128 Remove redundant grub_kernel_image_size.
3129
3130 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
3131 _edata and _start.
3132 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
3133 the small code. It moves it only by few bytes but simplifies the code.
3134 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
3135 _start.
3136 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
3137 (grub_kernel_image_size): Removed.
3138 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
3139 (grub_kernel_image_size): Removed.
3140 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
3141 compiled with Apple toolchain.
3142 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
3143 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
3144 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
3145 (grub_total_module_size): Likewise.
3146 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
3147 Removed.
3148 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
3149 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
3150 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
3151 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
3152 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
3153 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
3154 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
3155 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
3156 Removed.
3157 (grub_total_module_size): Removed.
3158 * util/grub-mkimage.c (image_target_desc): Remove image_size.
3159 (image_targets): Likewise.
3160 Set .compressed_size to no field on sparc.
3161 (generate_image): Remove kernel_image_size handling.
3162
fcf1d672
SJ
31632011-10-19 Szymon Janc <szymon@janc.net.pl>
3164
3165 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
3166 NULL pointer dereference.
3167
de9c615e
VS
31682011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3169
3170 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
3171 done with a dedicated section.
3172
3173 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
3174 Ensure the correct position of boot_path.
3175 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
3176 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
3177 other fields.
3178 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
3179 * include/grub/boot.h: Removed. All references removed.
3180 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
3181 Removed.
3182 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
3183
e55599dc
VS
31842011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3185
3186 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
3187 name.
3188
36dd20ad
VS
31892011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3190
3191 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
3192
f8f72eb8
VS
31932011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3194
3195 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
3196 Don't add the bogus brackets.
3197
a374751b
VS
31982011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3199
3200 ExFAT support.
3201
3202 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
3203 * grub-core/Makefile.core.def (exfat): New module.
3204 * grub-core/fs/exfat.c: New file.
3205 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
3206 (GRUB_FAT_ATTR_*): Make into an enum.
3207 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
3208 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
3209 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
3210 (GRUB_FAT_MAXFILE): Removed.
3211 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
3212 (grub_current_fat_bpb_t): New type.
3213 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
3214 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
3215 (grub_fat_dir_node_t): New type.
3216 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
3217 (fat_log2) [MODE_EXFAT]: Removed.
3218 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
3219 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
3220 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
3221 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
3222 (grub_fat_label) [MODE_EXFAT]: New function.
3223 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
3224 reserved_first_sector to 0.
3225
544c2487
VS
32262011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3227
3228 Move grub_reboot out of the kernel.
3229
3230 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
3231 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
3232 * grub-core/lib/efi/reboot.c: ... here.
3233 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
3234 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
3235 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
3236 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
3237 * grub-core/lib/i386/reboot_trampoline.S: ... here.
3238 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
3239 * grub-core/lib/ieee1275/reboot.c: ... here.
3240 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
3241 * grub-core/lib/mips/arc/reboot.c: ... here.
3242 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
3243 * grub-core/lib/mips/loongson/reboot.c: ...here.
3244 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
3245 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
3246 * include/grub/emu/misc.h (grub_reboot): New function declaration.
3247 * include/grub/i386/reboot.h: New file.
3248 * include/grub/mips/loongson/ec.h: Fix includes.
3249 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
3250 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
3251 * grub-core/lib/i386/reboot.c: New file.
3252
a97501d2
VS
32532011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3254
3255 Make grub_prefix into module to fix the arbitrary limit and save
3256 some space.
3257
3258 * grub-core/kern/emu/main.c (grub_prefix): Removed.
3259 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
3260 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
3261 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
3262 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
3263 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
3264 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
3265 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
3266 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
3267 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
3268 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
3269 * include/grub/ia64/efi/kernel.h: Removed.
3270 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
3271 (grub_prefix): Removed.
3272 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
3273 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
3274 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
3275 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
3276 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
3277 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
3278 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
3279 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
3280 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
3281 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
3282 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
3283 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
3284 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
3285 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
3286 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
3287 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
3288 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
3289 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
3290 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
3291 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
3292 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
3293 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
3294 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
3295 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
3296 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
3297 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
3298 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
3299 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
3300 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
3301 from module.
3302 * util/grub-mkimage.c (image_target_desc): Removed prefix and
3303 prefix_end.
3304 (image_targets): Likewise.
3305 (generate_image): Put prefix as a module.
3306
39705fad
VS
33072011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 Replace grub_module_iterate with FOR_MODULES.
3310
3311 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
3312 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
3313 (grub_efi_modules_addr): ...this.
3314 * grub-core/kern/efi/init.c (grub_modbase): New variable.
3315 (grub_efi_init): Set grub_modbase.
3316 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
3317 (grub_modbase): New variable.
3318 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
3319 (grub_modbase): New variable.
3320 (grub_machine_init): Set grub_modbase.
3321 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
3322 (grub_modbase): New variable.
3323 (grub_machine_init): Set grub_modbase.
3324 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
3325 (grub_modbase): New variable.
3326 (grub_machine_init): Set grub_modbase.
3327 * grub-core/kern/main.c (grub_module_iterate): Remove.
3328 (grub_modules_get_end): Use grub_modbase.
3329 (grub_load_modules): Use FOR_MODULES.
3330 (grub_load_config): Likewise.
3331 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
3332 (grub_modbase): New variable.
3333 (grub_machine_init): Set grub_modbase.
3334 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
3335 (grub_modbase): New variable.
3336 (grub_machine_init): Set grub_modbase.
3337 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
3338 Removed.
3339 (grub_modbase): New variable.
3340 (grub_machine_init): Set grub_modbase.
3341 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
3342 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
3343 (grub_module_iterate): Likewise.
3344 (grub_modbase): New variable declaration.
3345 (FOR_MODULES): New macro.
3346
2afb7f6c
VS
33472011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3348
3349 * configure.ac: Check for __ctzdi2 and __ctzsi2.
3350 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
3351
366e34fa
VS
33522011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 Fix few obvious type discrepancies.
3355
3356 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
3357 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
3358 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
3359 variable.
3360 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
3361 and connected types.
3362 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
3363 offset.
3364 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
3365 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
3366 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
3367 and connected types.
3368
177b960e
VS
33692011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3370
3371 Fix python 3.x incompatibilities.
3372
3373 * gentpl.py: Put brackets around print strings.
3374 * util/import_gcry.py: Open explicitly as utf-8.
3375 Use in instead of has_key.
3376
3b619ae1
VS
33772011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3378
3379 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
3380 (GRUB_XFS_INO_AGBITS): Make into inline function.
3381 (GRUB_XFS_INO_INOINAG): Likewise.
3382 (GRUB_XFS_INO_AG): Likewise.
3383 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
3384 (GRUB_XFS_EXTENT_OFFSET): Likewise.
3385 (GRUB_XFS_EXTENT_BLOCK): Likewise.
3386 (GRUB_XFS_EXTENT_SIZE): Likewise.
3387 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
3388 (GRUB_XFS_NEXT_DIRENT): Likewise.
3389 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
3390 (grub_xfs_read_file): Fix offset type.
3391
8bcebcb8
RM
33922011-10-15 Robert Millan <rmh@gnu.org>
3393
3394 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
3395
0017e5ef
RM
33962011-10-15 Robert Millan <rmh@gnu.org>
3397
3398 Fix build problem on FreeBSD and GNU/kFreeBSD.
3399
3400 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
3401
d8919552
VS
34022011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3403
3404 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
3405
3406 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
3407 types.
3408 (grub_hfsplus_btree_recoffset): Likewise.
3409 (grub_hfsplus_btree_recptr): Likewise.
3410 (grub_hfsplus_find_block): Likewise.
3411 (grub_hfsplus_btree_search): Likewise.
3412 (grub_hfsplus_read_block): Likewise.
3413 (grub_hfsplus_read_file): Likewise.
3414 (grub_hfsplus_mount): Likewise.
3415 (grub_hfsplus_btree_iterate_node): Likewise.
3416 (grub_hfsplus_btree_search): Likewise.
3417 (grub_hfsplus_iterate_dir): Likewise.
3418 (grub_hfsplus_read): A small code simplification.
3419
c81296b6
VS
34202011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3421
3422 * grub-core/kern/emu/hostdisk.c
3423 (convert_system_partition_to_system_disk): Don't assume that children
3424 of mapper nodes are mapper nodes.
3425
0eb8ffb1
VS
34262011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3427
3428 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
3429 * include/grub/misc.h (grub_isxdigit): New function.
3430 * grub-core/video/colors.c (my_isxdigit): Removed. All users
3431 switched to grub_isxdigit.
3432 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
3433 number starting with a letter.
3434
a98f4a08
RM
34352011-10-09 Robert Millan <rmh@gnu.org>
3436
3437 LVM support for FreeBSD and GNU/kFreeBSD.
3438
3439 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
3440 GNU/kFreeBSD.
3441 (LVM_DEV_MAPPER_STRING): Move from here ...
3442 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
3443 * util/getroot.c: Include `<grub/util/lvm.h>'.
3444 (grub_util_get_dev_abstraction): Enable
3445 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
3446 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
3447 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
3448 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
3449 support it.
3450 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
3451 GNU/kFreeBSD.
3452 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
3453 when LVM abstraction is required for ${GRUB_DEVICE}.
3454
050e8e90
SJ
34552011-10-06 Szymon Janc <szymon@janc.net.pl>
3456
3457 Add support for LZO compression in GRUB:
3458 - import of minilzo library,
3459 - LZO decompression for btrfs,
3460 - lzop files decompression.
3461
3462 * grub-core/io/lzopio.c: New file.
3463 * grub-core/lib/adler32.c: Likewise.
3464 * grub-core/lib/minilzo/lzoconf.h: Likewise.
3465 * grub-core/lib/minilzo/lzodefs.h: Likewise.
3466 * grub-core/lib/minilzo/minilzo.c: Likewise.
3467 * grub-core/lib/minilzo/minilzo.h: Likewise.
3468 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
3469 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
3470 grub-core/lib/minilzo/minilzo.c to common.
3471 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
3472 cflags in cppflags.
3473 * grub-core/Makefile.core.def (btrfs): Likewise.
3474 * grub-core/Makefile.core.def (lzopio): New module.
3475 (adler32): Likewise.
3476 * grub-core/fs/btrfs.c: Include minilzo.h.
3477 (GRUB_BTRFS_COMPRESSION_LZO): New define.
3478 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
3479 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
3480 (grub_btrfs_lzo_decompress): New function.
3481 (grub_btrfs_extent_read): Add support for LZO compression type.
3482 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
3483 (GRUB_USHRT_MAX): Likewise.
3484 (GRUB_UINT_MAX): Likewise.
3485 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
3486 (UINT_MAX): Likewise.
3487 (CHAR_BIT): Likewise.
3488 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
3489 grub-core/lib/posix_wrap/limits.h
3490 (UCHAR_MAX): Likewise.
3491 * include/grub/file.h (grub_file_filter_id): New compression filter
3492 GRUB_FILE_FILTER_LZOPIO.
3493 * include/grub/file.h (grub_file_filter_id): Set
3494 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
3495 * include/grub/types.h (grub_get_unaligned16): New function.
3496 (grub_get_unaligned32): Likewise.
3497 (grub_get_unaligned64): Likewise.
3498 * util/import_gcry.py (cryptolist): Add adler32.
3499
0eb8ffb1
VS
35002011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
3501
3502 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
3503 in perspective decreases the complexity of build system and fixes
3504 compilation right now.
3505
ce79cc99 35062011-10-01 Ales Nesrsta <starous@volny.cz>
3507
3508 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
3509 (fixed problem related to using UHCI with coreboot).
3510
8667a314
BC
35112011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
3512
3513 * gentpl.py: Use Autogen macros so that the output template file
3514 (Makefile.tpl) size is reduced.
3515
fc5efcc0
MK
35162011-09-29 Mads Kiilerich <mads@kiilerich.com>
3517
3518 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
3519 extra_dist.
3520
d1ab689d
ML
35212011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3522
3523 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
3524 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
3525
c05de032
ML
35262011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3527
3528 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
3529 _fullpath.
3530
cca7ccd8
ML
35312011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3532
3533 Remove extra declaration of sleep for mingw32.
3534
3535 * util/misc.c (sleep) [__MINGW32__]: Removed.
3536 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
3537
e0b0dc83
GS
35382011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
3539
3540 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
3541 type and packname.
3542 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
3543 Resurrected.
3544 (NETBSD_BTINFO_BOOTWEDGE): New definition.
3545 (grub_netbsd_btinfo_bootwedge): New struct.
3546 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3547 New function.
3548 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
3549
91a1a164
TH
35502011-09-28 Thomas Haller <thomas.haller@fen-net.de>
3551
3552 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
3553 loader.
3554
2ded951e
AB
35552011-09-28 Andreas Born <futur.andy@googlemail.com>
3556
3557 Fix incorrect identifiers in bash-completion.
3558
3559 * util/bash-completion.d/grub-completion.bash.in
3560 (_grub_mkpasswd-pbkdf2): Rename to ...
3561 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
3562 (_grub_script-check): Rename to ...
3563 (_grub_script_check): ... this. All users updated.
3564
69915030
VS
35652011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3566
3567 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
3568 Return 0 if disk isn't biosdisk.
3569
20fd15f9
GS
35702011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
3571
3572 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
3573 on NetBSD.
3574 * Makefile.util.def (grub-fstest): Likewise.
3575
1a7d7db9
GS
35762011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
3577
3578 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
3579 Get sector size from disk label.
3580
2221ab6c
CW
35812011-09-05 Colin Watson <cjwatson@ubuntu.com>
3582
3583 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
3584 */README* as well as README*.
3585 Reported by: Axel Beckert.
3586
ca51c4a0
VS
35872011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3588
3589 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
3590 case of less than 256 MiB of RAM.
3591
ab80f326
VS
35922011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3593
3594 * grub-core/commands/wildcard.c (make_regex): Handle @.
3595
4155e697
VS
35962011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3597
3598 * util/grub-install.in: Move cryptodisk logic to appropriate place.
3599
ab178c08
SJ
36002011-08-21 Szymon Janc <szymon@janc.net.pl>
3601
3602 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
3603 AC_LANG_CONFTEST macros.
3604
7dc3c686
SJ
36052011-08-20 Szymon Janc <szymon@janc.net.pl>
3606
3607 Add grub-fstest option to uncompress data for commands.
3608
3609 * util/grub-fstest.c (uncompress): New var.
3610 (options): New option -u.
3611
fe8d4a7b
SJ
36122011-08-20 Szymon Janc <szymon@janc.net.pl>
3613
3614 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
3615 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
3616
a5219af1
SJ
36172011-08-20 Szymon Janc <szymon@janc.net.pl>
3618
3619 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
3620 file type was not recognized correctly (not gzip or corrupted).
3621
f87abff5
VS
36222011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3623
3624 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
3625 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
3626
d94497ea
VS
36272011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3628
3629 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
3630 loongson.
3631 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
3632 video_radeon_fuloong2e.
3633 * grub-core/video/radeon_fuloong2e.c: New file.
3634 * include/grub/video.h (grub_video_id_t): Add new ID
3635 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
3636
0d1fd011
VS
36372011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3638
3639 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
3640 define.
3641 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
3642 that PRID matches the detected subplatform and reset the subplatform
3643 if it doesn't.
3644
84beb0ee
VS
36452011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3646
3647 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
3648
1227c133
VS
36492011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3650
3651 Fix PCI iterating on functions >= 4.
3652
3653 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
3654 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
3655 Removed.
3656 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
3657 (grub_pci_read): Fix bitmask.
3658 (grub_pci_read_word): Likewise.
3659 (grub_pci_read_byte): Likewise.
3660 (grub_pci_write): Likewise.
3661 (grub_pci_write_word): Likewise.
3662 (grub_pci_write_byte): Likewise.
3663
9594c689
VS
36642011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3665
3666 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
3667 can still be specified in TARGET_CFLAGS)
3668
14a2562c
VS
36692011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3670
3671 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
3672
3673 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
3674 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
3675 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
3676 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
3677 (FULOONG): Rename to ...
3678 (FULOONG2F): ... this. All users updated.
3679 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
3680 (machtype_fuloong2f_str): ... this.
3681 (machtype_fuloong2e_str): New string.
3682 Check for machtype_fuloong2e_str.
3683 * grub-core/loader/mips/linux.c (loongson_machtypes)
3684 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
3685 * grub-core/term/serial.c (loongson_defserial)
3686 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
3687 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
3688 loongson_defserial.
3689 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
3690 Rename to ...
3691 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
3692 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
3693 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
3694 to IMAGE_FULOONG2F_FLASH. All users updated.
3695 (image_targets): Rename images.
3696 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
3697
b526cbb6
SJ
36982011-08-19 Szymon Janc <szymon@janc.net.pl>
3699
3700 Make enable of disk cache statistics code configurable.
3701
3702 * configure.ac: --enable-cache-stats added.
3703 * config.h.in (DISK_CACHE_STATS): New define.
3704 * grub-core/Makefile.core.def (cacheinfo): New command.
3705 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
3706 * grub-core/commands/cacheinfo.c: New file.
3707 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
3708 moved to cacheinfo.c.
3709 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
3710 debug code.
3711 * include/grub/disk.h: Likewise.
3712
fb739ccd
SJ
37132011-08-19 Szymon Janc <szymon@janc.net.pl>
3714
3715 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
3716 * grub-core/Makefile.am: Likewise.
3717
2bba8cfd
VS
37182011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3719
3720 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
3721 non-zero pull.
3722
43526629
VS
37232011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3724
3725 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
3726 All users updated.
3727 (grub_jfs_lookup_symlink): Use correct starting inode.
3728
5c144cc8
VS
37292011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3730
3731 * util/grub-setup.c (main): Add missing gcry initialisation.
3732
b1257f65
VS
37332011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3734
3735 Don't accept text modes on EFI when booting Linux.
3736
3737 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
3738 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
3739
828bc390
ML
37402011-08-15 Mario Limonciello <mario_limonciello@dell.com>
37412011-08-15 Colin Watson <cjwatson@ubuntu.com>
3742
3743 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
3744 use of "/path/.." as in grub-install for EFI as well as handling
3745 symlinks correctly.
3746 Fixes Debian bug #637768.
3747
5f60ccac
CW
37482011-08-15 Colin Watson <cjwatson@ubuntu.com>
3749
3750 * util/grub-probe.c: Remove duplicate #include.
3751
6dc212f9
RM
37522011-08-10 Robert Millan <rmh@gnu.org>
3753
3754 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
3755
3756 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
3757 function.
3758 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
3759 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
3760
66816d85
RM
37612011-08-03 Robert Millan <rmh@gnu.org>
3762
3763 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
3764 la_array as packed.
3765 Reported by: Zachary Bedell
3766
20168fca
CW
37672011-07-26 Colin Watson <cjwatson@ubuntu.com>
3768
3769 * configure.ac: The Loongson port requires grub-mkfont due to its
3770 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
3771 be built.
3772
303b6246
CW
37732011-07-26 Colin Watson <cjwatson@ubuntu.com>
3774
3775 * util/grub-install.in: Don't source grub-mkconfig_lib until after
3776 processing arguments (otherwise help2man fails when GRUB has not yet
3777 been installed).
3778
6795300e
VS
37792011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3780
41aa28ea
VS
3781 New script grub-mkstandalone.
3782
3783 * Makefile.util.def (grub-mkstandalone): New script.
3784 * docs/man/grub-mkstandalone.h2m: New file.
3785 * util/grub-mkstandalone.in: Likewise.
3786
37872011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3788
3789 Support ATA disks with 4K sectors.
6795300e
VS
3790
3791 * include/grub/ata.h (grub_ata): New member log_sector_size.
3792 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
3793 (grub_ata_identify): Read sector size.
3794 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
3795
92227597
VS
37962011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3797
3798 * util/grub-install.in: Don't use uhci outside of x86.
3799
c77069f5
VS
38002011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3801
3802 * util/grub-mkrescue.in: Add missing quotes.
3803
38042011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
3805
3806 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
3807 dereference.
3808
583168a2
VS
38092011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3810
3811 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
3812
6be1c01f
VS
38132011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3814
3815 * include/grub/video.h: add missing EXPORT_FUND on
3816 grub_video_edid_checksum and grub_video_edid_preferred_mode.
3817
a1167439
VS
38182011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3819
3820 * include/grub/mips/kernel.h: Fix define conflict.
3821
bf66054f
VS
38222011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3823
3824 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
3825 all four ways.
3826
8fc4fa45
CW
38272011-07-21 Colin Watson <cjwatson@ubuntu.com>
3828
3829 Preferred resolution detection for VBE.
3830
3831 * grub-core/video/video.c (grub_video_edid_checksum): New function.
3832 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
3833 the Flat Panel extension, in line with the X.org VESA driver.
3834 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
3835 New function.
3836 (grub_vbe_bios_get_ddc_capabilities): Likewise.
3837 (grub_vbe_bios_read_edid): Likewise.
3838 (grub_vbe_get_preferred_mode): Likewise.
3839 (grub_video_vbe_setup): When the mode is "auto", try to get the
3840 preferred mode from VBE, and use the largest mode that is no larger
3841 than the preferred mode (some BIOSes expose a preferred mode that is
3842 not in their mode list!). If this fails, fall back to 640x480 as a
3843 safe conservative choice.
3844 (grub_video_vbe_get_edid): New function.
3845 (grub_video_vbe_adapter): Add get_edid.
3846 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
3847 (struct grub_video_adapter): Add get_edid.
3848 (grub_video_edid_checksum): Add prototype.
3849 (grub_video_edid_preferred_mode): Likewise.
3850 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
3851 structure.
3852
3853 * grub-core/commands/videoinfo.c (print_edid): New function.
3854 (grub_cmd_videoinfo): Print EDID if available.
3855
3856 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
3857 is more appropriate on a wider range of platforms than 640x480.
3858 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
3859 documentation.
3860
ca5572a9
VS
38612011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3862
3863 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
3864
e4bcf625
VS
38652011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3866
3867 * po/POTFILES.in: Regenerate.
3868
c4edd548
VS
38692011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
3872 incorrect memory usage.
3873
16a2bab0
VS
38742011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3875
3876 * util/grub-install.in: Source grub-mkconfig_lib.
3877
2e418de6
VS
38782011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3879
3880 Remove getroot.c from core on emu platform.
3881
3882 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
3883 kern/emu/raid.c.
3884 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
3885 useless.
3886 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
3887 * util/getroot.c (get_win32_path): ... here.
3888 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
3889 * util/getroot.c (fini_libzfs): ... here.
3890 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
3891 * util/getroot.c (grub_get_libzfs_handle): ... here.
3892 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
3893 Moved from here...
3894 * util/getroot.c (grub_find_zpool_from_dir): ... here.
3895 * grub-core/kern/emu/misc.c
3896 (grub_make_system_path_relative_to_its_root): Moved from here...
3897 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
3898 * grub-core/kern/emu/getroot.c: Moved from here ...
3899 * util/getroot.c: ... here. All users updated.
3900 * grub-core/kern/emu/raid.c: Moved from here ...
3901 * util/raid.c: ... here. All users updated.
3902
def9832a
VS
39032011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3904
3905 * po/POTFILES.in: Regenerate.
3906
cd8fe79a
VS
39072011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 Fix compilation on GNU/Linux.
3910
3911 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
3912 Disable geli.
3913 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
3914 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
3915 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
3916
a251b719
VS
39172011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
39182011-07-07 Michael Gorven <michael@gorven.za.net>
39192011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
3920
3921 LUKS and GELI support.
3922
3923 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
3924 grub-core/disk/luks.c, grub-core/disk/geli.c,
3925 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
3926 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
3927 grub-core/lib/arg.c.
3928 (libgrubmods.a): Remove gcrypts cflags and cppflags.
3929 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
3930 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
3931 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
3932 (grub-bin2h): Add libgcry.a.
3933 (grub-mkimage): Likewise.
3934 (grub-mkrelpath): Likewise.
3935 (grub-script-check): Likewise.
3936 (grub-editenv): Likewise.
3937 (grub-mkpasswd-pbkdf2): Likewise.
3938 (grub-pe2elf): Likewise.
3939 (grub-fstest): Likewise.
3940 (grub-mkfont): Likewise.
3941 (grub-mkdevicemap): Likewise.
3942 (grub-probe): Likewise.
3943 (grub-ofpath): Likewise.
3944 (grub-mklayout): Likewise.
3945 (example_unit_test): Likewise.
3946 (grub-menulst2cfg): Likewise.
3947 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
3948 * grub-core/Makefile.core.def (cryptodisk): New module.
3949 (luks): Likewise.
3950 (geli): Likewise.
3951 * grub-core/disk/AFSplitter.c: New file.
3952 * grub-core/disk/cryptodisk.c: Likewise.
3953 * grub-core/disk/geli.c: Likewise.
3954 * grub-core/disk/luks.c: Likewise.
3955 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
3956 grub_util_is_lvm.
3957 (grub_util_get_dm_abstraction): New function.
3958 (grub_util_follow_gpart_up): Likewise.
3959 (grub_util_get_geom_abstraction): Likewise.
3960 (grub_util_get_dev_abstraction): Use new functions.
3961 (grub_util_pull_device): Pull GELI and LUKS.
3962 (grub_util_get_grub_dev): Handle LUKS and GELI.
3963 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
3964 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
3965 (follow_geom_up): Removed.
3966 (grub_util_fd_seek): New function.
3967 (open_device): Use grub_util_fd_seek.
3968 (nread): Rename to ..
3969 (grub_util_fd_read): ... this. All users updated.
3970 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
3971 (grub_crypto_cbc_decrypt): Likewise.
3972 (grub_crypto_hmac_write): Likewise.
3973 (grub_crypto_hmac_buffer): Likewise.
3974 (grub_password_get): Extend to util.
3975 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
3976 New member modname.
3977 (gcry_md_spec) [GRUB_UTIL]: Likewise.
3978 * include/grub/cryptodisk.h: New file.
3979 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
3980 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
3981 LUKS and GELI.
3982 (grub_util_follow_gpart_up): New proto.
3983 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
3984 (grub_util_fd_read): Likewise.
3985 (grub_cryptodisk_cheat_mount): Likewise.
3986 (grub_util_cryptodisk_print_uuid): Likewise.
3987 (grub_util_get_fd_sectors): Likewise.
3988 * util/grub-fstest.c (mount_crypt): New var.
3989 (fstest): Mount crypto if requested.
3990 (options): New option -C.
3991 (argp_parser): Parse -C.
3992 (main): Init and fini gcry.
3993 * util/grub-install.in: Support cryptodisk install.
3994 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
3995 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
3996 cryptodisk.
3997 (prepare_grub_to_access_device): Likewise.
3998 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
3999 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
4000 (probe_cryptodisk_uuid): New function.
4001 (probe_abstraction): Likewise.
4002 (probe): Use new functions.
4003 * util/import_gcry.py: Create Makefile.utilgcry.def.
4004 Add modname member.
4005
9bfdcbbc
VS
40062011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4007
4008 Lazy device scanning.
4009
4010 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
4011 (grub-setup): Remove util/raid.c.
4012 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
4013 * grub-core/disk/lvm.c (scan_depth): New variable.
4014 (grub_lvm_iterate): Rescan if necessary.
4015 (find_lv): New function based on grub_lvm_open.
4016 (grub_lvm_open): Use find_lv. Rescan on error.
4017 (is_node_readable): New function.
4018 (is_lv_readable): Likewise.
4019 (grub_lvm_scan_device): Skip already found disks.
4020 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
4021 Stop if searched device is found and readable.
4022 * grub-core/disk/raid.c (inscnt): New variable.
4023 (scan_depth): Likewise.
4024 (scan_devices): New function based on grub_raid_register. Abort if
4025 looked for device is found.
4026 (grub_raid_iterate): Rescan if needed.
4027 (find_array): NEw function based on -grub_raid_open.
4028 (grub_raid_open): Use find_array and rescan.
4029 (insert_array): Set became_readable_at.
4030 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
4031 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
4032 New function.
4033 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
4034 (grub_util_pull_device): New function.
4035 (grub_util_get_grub_dev): Call grub_util_pull_device.
4036 * util/raid.c: Moved to ..
4037 * grub-core/kern/emu/raid.c: ... here.
4038 (grub_util_raid_getmembers): New parameter "bootable".
4039 All users updated. Support 1.x.
4040 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
4041 All users updated.
4042 * include/grub/disk.h (grub_disk_pull_t): New enum.
4043 (grub_disk_dev): Change iterate prototype.
4044 All users updated.
4045 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
4046 New proto.
4047 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
4048 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
4049 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
4050 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
4051 All users updated.
4052 * include/grub/util/raid.h: Removed.
4053
1c358e59
VS
40542011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
4055
4056 * po/POTFILES.in: Regenerate.
4057
abee94ed
VS
40582011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
4059
4060 Unify sparc init with other ieee1275.
4061
4062 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
4063 instead of kern/sparc64/ieee1275/init.c.
4064 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
4065 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
4066 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
4067 grub/machine/kernel.h.
4068 (grub_ieee1275_original_stack) [__sparc__]: New variable.
4069 (grub_claim_heap) [__sparc__]: Use sparc version.
4070 (grub_machine_init): Moved args parsing to
4071 (grub_parse_cmdline): ...this.
4072 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
4073 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
4074 New definition.
4075 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
4076
4077 Move BOOTP to separate file.
4078
4079 * grub-core/Makefile.core.def (net): Add net/bootp.c.
4080 * grub-core/net/net.c: Move all BOOTP functions to
4081 * grub-core/net/bootp.c: ... here.
4082
4083 Use frame interface on PXE.
4084
4085 * grub-core/Makefile.core.def (pxecmd): Removed.
4086 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
4087 * grub-core/commands/i386/pc/pxecmd.c: Removed.
4088 * grub-core/i386/pc/pxe.c: Moved from here ...
4089 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
4090 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
4091 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
4092
4093 EFI network support.
4094
4095 * grub-core/Makefile.core.def (efinet): New module.
4096 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
4097 here...
4098 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
4099 All users updated.
4100 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
4101 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
4102 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
4103 * grub-core/net/drivers/efi/efinet.c: New file.
4104 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
4105 (grub_efi_net_config): New extern var.
4106
4107 Various cleanups and bugfixes.
4108
4109 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
4110 error.
4111 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
4112 disk declared as partition.
4113 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
4114 leak on failure.
4115 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
4116 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
4117 (grub_debug_zalloc): Likewise.
4118 (grub_debug_realloc): Likewise.
4119 (grub_debug_memalign): Likewise.
4120 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
4121 Check that target is IPv4.
4122 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
4123 local-mac-address as fallback.
4124 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
4125 memory leak.
4126 * grub-core/net/ip.c (ipchksum): Rename to ...
4127 (grub_net_ip_chksum): ... this. All users updated.
4128 (grub_net_recv_ip_packets): Special handling for DHCP.
4129 * util/grub-mkimage.c (generate_image): Zero-out aout header.
4130
4131 Unify prefix handling
4132
4133 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
4134 (grub_machine_get_bootlocation): ... this.
4135 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
4136 (grub_machine_get_bootlocation): ... this.
4137 (grub_prefix): New variable.
4138 (prefix): Removed.
4139 (root_dev): New variable.
4140 (dir): Likewise.
4141 (main): Use new variables.
4142 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
4143 Revamped into ...
4144 (grub_machine_get_bootlocation): ... this.
4145 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
4146 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
4147 (grub_machine_get_bootlocation): ... this.
4148 (grub_machine_set_prefix): Removed.
4149 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
4150 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
4151 Revamped into ...
4152 (grub_machine_get_bootlocation): ... this.
4153 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
4154 (grub_set_prefix_and_root): ... this. All users updated.
4155 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
4156 Revamped into ...
4157 (grub_machine_get_bootlocation): ... this.
4158 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
4159 (grub_machine_get_bootlocation): New proto.
4160 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
4161
4162 Less intrusive and more reliable seek on network implementation.
4163
4164 * grub-core/kern/file.c (grub_file_net_seek): Removed.
4165 (grub_file_seek): Don't call grub_file_net_seek.
4166 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
4167 (grub_net_fs_read_real): .. this.
4168 (grub_net_seek_real): Use net->offset.
4169 (grub_net_fs_read): Seek if necessary.
4170
4171 Unify IEEE1275 netwotk config with the other platforms.
4172
4173 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
4174 New variable.
4175 (grub_machine_get_bootlocation): Support network.
4176 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
4177 Support type and device parsing.
4178 (grub_ieee1275_get_device_type): New function.
4179 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
4180 into ...
4181 (grub_ieee1275_net_config_real): ... this.
4182 (grub_ofnet_probecards): Removed.
4183 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
4184 * include/grub/ieee1275/ofnet.h: Removed.
4185 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
4186 extern var.
4187 (grub_ieee1275_get_device_type): New function.
4188
4189 Unify network device closing across platforms and make more robust.
4190
4191 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
4192 grub_grubnet_fini.
4193 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
4194 already.
4195 * grub-core/net/net.c (grub_net_network_level_interface_register):
4196 Update num_ifaces.
4197 (grub_net_card_unregister): Close all interfaces.
4198 (receive_packets): Don't poll if no iterfaces are registered.
4199 Open if necessary.
4200 (grub_net_fini_hw): New function.
4201 (grub_net_restore_hw): Likewise.
4202 (fini_hnd): New variable.
4203 (GRUB_MOD_INIT): Register preboot hook.
4204 (GRUB_MOD_FINI): Run and unregister preboot hook.
4205
4206 Poll network cards when idle.
4207
4208 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
4209 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
4210 * grub-core/net/net.c (receive_packets): Save last poll time.
4211 (grub_net_poll_cards_idle_real): New function.
4212 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
4213 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
4214 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
4215
4216 Rename ofnet interfaces.
4217
4218 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
4219 (grub_ofnet_findcards): Use ofnet_%s names.
4220
4221 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
4222
4223 Cleanup socket opening.
4224
4225 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
4226 (grub_net_fs_close): Likewise.
4227 (grub_net_fs_read_real): Use eof member.
4228 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
4229 (+grub_net_udp_close): New inline function.
4230
4231 * include/grub/net/tftp.h: Moved to the top of ...
4232 * grub-core/net/tftp.c: ... here.
4233 * include/grub/net/ip.h: Moved mostly to the top of ...
4234 * grub-core/net/ip.c: ... here.
4235 * include/grub/net/ethernet.h: Moved mostly to the top of ...
4236 * grub-core/net/ethernet.c: ... here.
4237
4238 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
4239
4240 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
4241 FS name.
4242
4243 * include/grub/net/ip.h (ipv4_ini): Removed.
4244 (ipv4_fini): Likewise.
4245
4246 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
4247 (grub_net_send_ip_packets): Likewise.
4248
cf1337aa
VS
42492011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4250
4251 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
4252 grub_read_cmos prototype.
4253
93c06ff9
VS
42542011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4255
4256 VGA text support in qemu-mips
4257
4258 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
4259 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
4260 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
4261 text.
4262 * grub-core/kern/i386/qemu/init.c: Renamed to ...
4263 * grub-core/kern/vga_init.c: ... this.
4264 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
4265 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
4266 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
4267 Adjust.
4268 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
4269 GRUB_MACHINE_PCI_IO_BASE.
4270
748ccabe
VS
42712011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4272
4273 MIPS qemu flash support.
4274
4275 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
4276 magic.
4277 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
4278 (grub_machine_init): Probe memory if its size isn't known.
4279 * util/grub-mkimage.c (image_targets): Add flash targets.
4280 (generate_image): Handle flash targets.
4281
d7345994
VS
42822011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4283
4284 MIPS qemu at_keyboard support.
4285
4286 * gentpl.py (videoinkernel): Add qemu-mips.
4287 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
4288 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
4289 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
4290 modules.
4291 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
4292 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
4293 * grub-core/term/serial.c (grub_serial_register)
4294 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
4295
a07a81b3
VS
42962011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4297
4298 CMOS support on sparc.
4299
4300 * gentpl.py (cmos): Add powerpc and sparc.
4301 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
4302 powerpc and sparc.
4303 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
4304 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
4305 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
4306 grub_set_datetime_cmos.
4307 * grub-core/lib/ieee1275/cmos.c: New file.
4308 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
4309 (find_rtc): Set no_ieee1275_rtc on error.
4310 (grub_get_datetime): Call grub_get_datetime_cmos on error.
4311 (grub_set_datetime): Call grub_set_datetime_cmos on error.
4312 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
4313 fail. Move value to argument. All users updated
4314 (grub_cmos_write): Likewise.
4315 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
4316 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
4317 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
4318 grub_get_datetime_cmos and grub_set_datetime_cmos.
4319
77546584
GS
43202011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
4321
4322 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
4323 sourcing grub-mkconfig_lib.
4324 * util/update-grub_lib.in: Likewise.
4325 * util/grub.d/00_header.in: Likewise.
4326 * util/grub.d/10_hurd.in: Likewise.
4327 * util/grub.d/10_kfreebsd.in: Likewise.
4328 * util/grub.d/10_linux.in: Likewise.
4329 * util/grub.d/10_netbsd.in: Likewise.
4330 * util/grub.d/10_windows.in: Likewise.
4331 * util/grub.d/20_linux_xen.in: Likewise.
4332 * util/grub.d/30_os-prober.in: Likewise.
4333
54894791
CW
43342011-06-28 Colin Watson <cjwatson@ubuntu.com>
4335
4336 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
4337 default_bg_color rather than black.
4338 (grub_gfxterm_fullscreen): Likewise.
4339 (grub_gfxterm_background_color_cmd): Save new background color in
4340 default_bg_color.
4341
8d5d8444
VS
43422011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4343
4344 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
4345
5afeb5bd
VS
43462011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4347
4348 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
4349 mismerge.
4350
ba7df45e
VS
43512011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4352
4353 Chainloading on coreboot support.
4354
4355 * grub-core/Makefile.core.def (chain): Add coreboot.
4356 * grub-core/loader/i386/coreboot/chainloader.c: New file.
4357
d0b526b2
VS
43582011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4359
4360 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
4361 if it happens.
4362
5ff1d945
VS
43632011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4364
4365 Implement time command.
4366
4367 * grub-core/Makefile.core.def (time): New module.
4368 * grub-core/commands/time.c: New file.
4369 * grub-core/script/parser.y: Remove "time" keyword.
4370 * grub-core/script/yylex.l: Likewise.
4371
5ebaad7e
VS
43722011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
4375
bdea3798
VS
43762011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4377
4378 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
4379 when handling leftovers.
4380
b28c5655
VS
43812011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4382
4383 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
4384 so that help2man doesn't fail.
4385
b6f945dc
VS
43862011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4387
4388 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
4389 type in pointers on sparc64.
4390 (get_card_packet): Likewise.
4391
f9b75e8a
CW
43922011-06-27 Colin Watson <cjwatson@ubuntu.com>
4393
4394 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
4395 with `*'.
4396 (grub_cmd_videoinfo): Fetch current video mode.
4397
1e3d9b86
VS
43982011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4399
4400 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
4401 because of underlying system restrictions.
4402
efff4b1c
VS
44032011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4404
4405 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
4406 necessary.
4407
9fc9ce37
VS
44082011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4409
4410 Coreboot video support.
4411
4412 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
4413 (vbe): Likewise.
4414 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
4415 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
4416 here ...
4417 * grub-core/kern/i386/int.S: ... here.
4418 * grub-core/video/i386/pc/vbe.c: Updated includes.
4419 * grub-core/video/i386/pc/vga.c: Likewise.
4420 * include/grub/i386/coreboot/memory.h
4421 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
4422 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
4423 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
4424 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
4425 Disable interrupts.
4426 * include/grub/i386/pc/vga.h: Removed. All users updated.
4427
41bec7fe
VS
44282011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4429
4430 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
4431 definitions for dprintf.
4432 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
4433
ca80309d
VS
44342011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4435
4436 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
4437 prototype.
4438 (get_card_packet): Likewise.
4439
9e322ce8
YB
44402011-06-26 Yves Blusseau <blusseau@zetam.org>
4441
4442 Display the path of the file when file is not found
4443
4444 * grub-core/fs/fat.c: Display the filename when file is not found.
4445 * grub-core/fs/fshelp.c: Likewise.
4446 * grub-core/fs/hfs.c: Likewise.
4447 * grub-core/fs/jfs.c: Likewise.
4448 * grub-core/fs/minix.c: Likewise.
4449 * grub-core/fs/ufs.c: Likewise.
4450 * grub-core/fs/btrfs.c: Likewise.
4451 * grub-core/commands/i386/pc/play.c: Likewise.
4452
cbf597af
SJ
44532011-06-26 Szymon Janc <szymon@janc.net.pl>
4454
4455 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
4456 pointer checks before calling grub_free().
4457 * grub-core/commands/wildcard.c (match_devices): Likewise.
4458 * grub-core/commands/wildcard.c (match_files): Likewise.
4459 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
4460 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
4461 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
4462 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
4463 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
4464 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
4465 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
4466 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
4467 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
4468
6295b32f
P
44692011-06-25 Patrick <p55@mailinator.com>
4470
4471 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
4472
77c0840b
VS
44732011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4474
4475 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
4476 (grub_pxe_send): Likewise.
4477 (GRUB_MOD_INIT): Fix types.
4478
40ea05de
SJ
44792011-06-24 Szymon Janc <szymon@janc.net.pl>
4480
4481 * grub-core/io/xzio.c: Fix code style issues
4482
90162423
MRA
44832011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
44842011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
4485
4486 Network infrastructure.
4487 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
4488
4489 * include/grub/net/arp.h: New file.
90162423
MRA
4490 * include/grub/net/device.h: Likewise.
4491 * include/grub/net/ethernet.h: Likewise.
4492 * include/grub/net/ip.h: Likewise.
4493 * include/grub/net/netbuff.h: Likewise.
4494 * include/grub/net/tftp.h: Likewise.
4495 * include/grub/net/udp.h: Likewise.
4496 * include/grub/ieee1275/ofnet.h: Likewise.
4497 * include/grub/emu/export.h: Likewise.
4498 * include/grub/net.h: Likewise.
4499 * grub-core/net/arp.c: Likewise.
4500 * grub-core/net/ethernet.c: Likewise.
4501 * grub-core/net/ip.c: Likewise.
4502 * grub-core/net/udp.c: Likewise.
4503 * grub-core/net/tftp.c: Likewise.
4504 * grub-core/net/netbuff.c: Likewise.
4505 * grub-core/net/net.c: Likewise.
4506 * grub-core/net/drivers/emu/emunet.c: Likewise.
4507 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
4508 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
4509 export.h.
4510 * grub-core/Makefile.core.def (net): New module.
4511 (tftp): Likewise.
4512 (ofnet): Likewise.
4513 (emunet): Likewise.
4514 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
4515 network protocols.
4516 * grub-core/kern/device.c (grub_net_open) : New variable.
4517 (grub_device_open): Handle network device.
4518 (grub_device_close): Likewise.
4519 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
4520 (grub_grubnet_fini): Likewise.
4521 (grub_file_seek): Seek in network device.
4522 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
4523 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
4524 network root.
4525 (grub_machine_fini): Call grub_grubnet_fini.
4526 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
4527 network.
4528 (grub_ieee1275_get_aliasdevname): New function.
4529 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
4530 Add unofficial Solaris network info.
4531 (grub_multiboot_make_mbi): Likewise.
4532 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
4533 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
4534 * include/grub/device.h (grub_fs): Removed.
4535 * include/grub/err.h (grub_err_t): Add network-related values.
4536 * include/grub/i386/pc/pxe.h: Removed bootp parts.
4537 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
4538 (grub_ieee1275_get_aliasdevname): New proto.
4539 * include/grub/net.h: Rewritten.
423a1849 4540
031f22a0
VS
45412011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4542
4543 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
4544 names.
4545
4388ca72
VS
45462011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4547
4548 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
4549 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
4550 it truncates the output.
4551 Reported by: Ximin Luo.
4552
98e2f506
VS
45532011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4554
4555 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
4556
2a5e94d8
VS
45572011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4558
4559 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
4560 partmap before abstraction.
4561
535c1910
AK
45622011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
4563
4564 * util/grub-mkconfig_lib.in: Add missing quotes.
4565
bc09e1a2
VS
45662011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4567
4568 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
4569 old method if mountinfo would return /dev/root and /dev/root doesn't
4570 exist.
4571
290766fb
VS
45722011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4573
4574 ZFS zlib support
4575
4576 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
4577 (decomp_table): Add zlib entries.
4578 (zio_read): USe 8 bits for compression function rather than 3.
4579 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
4580
45812011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4582
4583 * grub-core/disk/ahci.c: Add missing license statements.
4584 * grub-core/fs/romfs.c: Likewise.
4585 * grub-core/lib/ia64/setjmp.S: Likewise.
4586 * grub-core/loader/i386/pc/freedos.c: Likewise.
4587 * grub-core/loader/ia64/efi/linux.c: Likewise.
4588 * grub-core/video/colors.c: Likewise.
4589 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
4590
5ab3f48a
VS
45912011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4592
4593 AHCI support.
4594
4595 * grub-core/Makefile.core.def (ata_pthru): Removed.
4596 (ahci): New module.
4597 (pata): Likewise.
4598 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
4599 on unload.
4600 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
4601 readwrite.
4602 (grub_hdparm_do_check_powermode_cmd): Likewise.
4603 (grub_hdparm_do_smart_cmd): Likewise.
4604 (grub_hdparm_set_val_cmd): Likewise.
4605 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
4606 * grub-core/disk/ahci.c: New file.
4607 * grub-core/disk/ata.c: Factor out the low-level part into ...
4608 * grub-core/disk/pata.c: ... here.
4609 * grub-core/disk/ata_pthru.c: Contents moved to ...
4610 * grub-core/disk/pata.c: ... here.
4611 * grub-core/disk/scsi.c (grub_scsi_names): New array.
4612 (grub_scsi_iterate): Use grub_scsi_names.
4613 (grub_scsi_open): Likewise.
4614 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
4615 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
4616 (grub_ata_regs_t): New struct.
4617 (grub_disk_ata_pass_through_parms): Likewise.
4618 (grub_ata_device): Renamed to ...
4619 (grub_ata): ... this.
4620 (grub_ata_dev): New struct.
4621 Removed all low-level inline functions.
4622 * include/grub/scsi.h: Add PATA and AHCI subsystems.
4623 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
4624 iterate hooks and open. All users updated.
4625 * util/grub-install.in: Handle AHCI disk module.
4626
c31dc5f5
SJ
46272011-06-23 Szymon Janc <szymon@janc.net.pl>
4628
4629 Add support for DRI and RSTn markers in JPEG files.
4630
4631 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
4632 (JPEG_MARKER_RST0): Likewise.
4633 (JPEG_MARKER_RST1): Likewise.
4634 (JPEG_MARKER_RST2): Likewise.
4635 (JPEG_MARKER_RST3): Likewise.
4636 (JPEG_MARKER_RST4): Likewise.
4637 (JPEG_MARKER_RST5): Likewise.
4638 (JPEG_MARKER_RST6): Likewise.
4639 (JPEG_MARKER_RST7): Likewise.
4640 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
4641 (grub_jpeg_decode_dri): New function.
4642 (grub_jpeg_decode_sos): Move image data related part into
4643 grub_jpeg_decode_data function.
4644 (grub_jpeg_decode_data): New function.
4645 (grub_jpeg_reset): New function.
4646 (grub_jpeg_decode_jpeg): Handle new markers.
4647
fe12fd5b
VS
46482011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4649
4650 * util/ieee1275/ofpath.c (check_sas): Close fd.
4651 (main): Free of_path.
4652 Reported by: David Volgyes <dvolgyes>.
4653
03147f46
VS
46542011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4655
4656 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
4657 Reported by: David Volgyes <dvolgyes>.
4658
cad3237f
VS
46592011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4660
4661 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
4662 file after stat.
4663 Reported by: David Volgyes <dvolgyes>.
4664
13548d26
VS
46652011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4666
4667 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
4668
4669 Reported by: David Volgyes <dvolgyes>.
4670
e061a1b5
VS
46712011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4672
4673 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
4674 Prevent memory leak.
4675
1abe47dc
VS
46762011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4677
4678 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
4679 (main): Close file.
e061a1b5 4680 Reported by: David Volgyes <dvolgyes>.
1abe47dc 4681
fbc62666
VS
46822011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4683
4684 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
4685 to continue if allocation is failed.
4686
4687 Reported by: David Volgyes <dvolgyes>.
4688
e98c83e9
DV
46892011-06-23 David Volgyes <dvolgyes>
4690
4691 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
4692 dereference.
4693
a199a8cd
VS
46942011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4695
4696 Fix spurious warning.
4697
4698 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
4699 (acorn_partition_map_find): Use .bin member.
4700
e2d1dba0
VS
47012011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
4704 /dev/root as a valid device.
4705
8a5d6919
JM
47062011-06-23 Jim Meyering <meyering@redhat.com>
4707
e2d1dba0
VS
4708 Avoid NULL deref in grub_device_open.
4709
8a5d6919
JM
4710 * grub-core/kern/device.c (grub_device_open): Don't dereference
4711 a NULL pointer upon failed grub_env_get.
4712
f7db6f4a
VS
47132011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4714
4715 Support non-512B sectors and agglomerate reads.
4716
4717 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
4718 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
4719 (disk_io_guid): Removed.
4720 (make_devices): Locate solely by BlockIO.
4721 (grub_efidisk_open): Fill log_sector_size and total_sectors.
4722 (grub_efidisk_read): Use read_blocks.
4723 (grub_efidisk_write): Use write_blocks.
4724 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
4725 log_sector_size.
4726 (get_safe_sectors): Handle non-512B sectors.
4727 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
4728 sectors.
4729 (grub_biosdisk_write): Handle non-512B sectors.
4730 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
4731 (grub_scsi_read): Remove special non-512B block handling (now handled
4732 one level up).
4733 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
4734 and do sanity checks.
4735 (grub_disk_adjust_range): Handle non-512B sectors.
4736 (transform_sector): New function.
4737 (grub_disk_read_small): Likewise.
4738 (grub_disk_read): Rewritten.
4739 (grub_disk_write): Handle non-512B sectors.
4740 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
4741 log_sector_size.
4742 (open_device): Use log_sector_size.
4743 (grub_util_biosdisk_read): Likewise.
4744 (grub_util_biosdisk_write): Likewise.
4745 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
4746 non-512B sectors.
4747 (pc_partition_map_embed): Likewise.
4748 * include/grub/disk.h (grub_disk): New field log_sector_size.
4749 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
4750 (GRUB_DISK_CACHE_BITS): Increased to 6.
4751 * util/grub-fstest.c (fstest): New command testload.
4752 (argp_parser): Likewise.
4753
881ac815
RM
47542011-06-16 Robert Millan <rmh@gnu.org>
4755
4756 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
4757 `ata' driver on kernel of FreeBSD 9.
4758
4759 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
4760 (get_ataraid_disk_name): New functions.
4761 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
4762 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
4763 get_ataraid_disk_name() and get_ada_disk_name().
4764
1e9aef7d
CW
47652011-06-13 Colin Watson <cjwatson@ubuntu.com>
4766
4767 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
4768 input format.
4769
351c7c8a
CW
47702011-05-29 Colin Watson <cjwatson@ubuntu.com>
4771
4772 * docs/grub.texi (Obtaining and Building GRUB): Substitute
4773 `ftp.gnu.org' for `alpha.gnu.org'.
4774
6b4e6430
CW
47752011-05-27 Colin Watson <cjwatson@ubuntu.com>
4776
4777 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
4778 partitions under /dev/disk/by-id/.
4779
c64db050
CW
47802011-05-27 Colin Watson <cjwatson@ubuntu.com>
4781
4782 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
4783 after ten consecutive open failures. Scanning all the way up to
4784 10000 is excessive and can cause serious performance problems in
4785 some configurations.
4786 Fixes Ubuntu bug #787461.
4787
245f4aba
VS
47882011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4789
4790 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
4791 opening new one.
4792
f767c929
VS
47932011-05-21 Colin Watson <cjwatson@ubuntu.com>
47942011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4795
4796 Don't stat devices unless we have to.
4797
4798 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
4799 dir == /dev/mapper.
4800 (grub_guess_root_device): Use already known os_dev if possible.
4801 * grub-core/kern/emu/hostdisk.c
4802 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
4803 if device is known to be a dm one.
4804
f35fa3a6
CW
48052011-05-20 Colin Watson <cjwatson@ubuntu.com>
4806
4807 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
4808 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
4809 Reported by: Pawel Tecza.
4810
9a79fcf2
VS
48112011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
4812
4813 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
4814 (lsefisystab): Likewise.
4815 (lssal): Likewise.
4816 (lsefimmap): Likewise.
4817 (hdparm): Enable on qemu-mips.
4818 (setjmp): Add ia64 nodist.
4819 (serial): Simplify tags.
4820
63e3eea9
CW
48212011-05-18 Colin Watson <cjwatson@ubuntu.com>
4822
4823 * Makefile.util.def (grub-ofpathname): Install manual page.
4824
09728256
CW
48252011-05-18 Colin Watson <cjwatson@ubuntu.com>
4826
4827 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
4828
8b63a142
CW
48292011-05-18 Colin Watson <cjwatson@ubuntu.com>
4830
4831 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
4832
e775d8ed
VS
48332011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
4836 into dprintf.
4837
bf947d36
VS
48382011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4839
4840 Use full 64-bit division.
4841
4842 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
4843 (grub_divmod64): ... this.
4844 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
4845 version.
4846
b84f26c5
CW
48472011-05-18 Colin Watson <cjwatson@ubuntu.com>
4848
4849 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
4850 `source'.
4851
5626056f
CW
48522011-05-18 Colin Watson <cjwatson@ubuntu.com>
4853
4854 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
4855 to avoid accidents when debugging with 'sh -x'.
4856 * grub-core/gensyminfo.sh.in: Likewise.
4857 * tests/example_scripted_test.in: Likewise.
4858 * tests/grub_cmd_regexp.in: Likewise.
4859 * tests/grub_script_blanklines.in: Likewise.
4860 * tests/grub_script_dollar.in: Likewise.
4861 * tests/grub_script_expansion.in: Likewise.
4862 * tests/grub_script_final_semicolon.in: Likewise.
4863 * tests/partmap_test.in: Likewise.
4864 * tests/util/grub-shell-tester.in: Likewise.
4865 * tests/util/grub-shell.in: Likewise.
4866
e2965f4a
CW
48672011-05-18 Colin Watson <cjwatson@ubuntu.com>
4868
4869 Move gfxmenu color handling to video, so that gfxterm can use it
4870 too.
4871
4872 * grub-core/gfxmenu/named_colors.c: Move to ...
4873 * grub-core/video/colors.c: ... here. Rename
4874 grub_gui_get_named_color to grub_video_get_named_color.
4875 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
4876 * grub-core/video/colors.c (my_isxdigit): ... here.
4877 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
4878 Move to ...
4879 * grub-core/video/colors.c (parse_hex_color_component): ... here.
4880 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
4881 to ...
4882 * grub-core/video/colors.c (grub_video_parse_color): ... here.
4883
4884 * include/grub/gui.h (grub_gui_color_t): Move to ...
4885 * include/grub/video.h (grub_video_rgba_color_t): ... here.
4886 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
4887 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
4888 * include/grub/gui.h (grub_gui_map_color): Move to ...
4889 * include/grub/video.h (grub_video_map_rgba_color): ... here.
4890 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
4891 to ...
4892 * include/grub/video.h (grub_video_get_named_color): ... here.
4893 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
4894 * include/grub/video.h (grub_video_parse_color): ... here.
4895
4896 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
4897 video/colors.c.
4898 (gfxmenu): Remove gfxmenu/named_colors.c.
4899 (video) [videomodules]: Add video/colors.c.
4900
4901 Add a background_color command.
4902
4903 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
4904 function.
4905 (GRUB_MOD_INIT): Register background_color command.
4906 (GRUB_MOD_FINI): Unregister background_color command.
4907 (redraw_screen_rect): Allow blend/replace of text layer to be
4908 controlled independently from whether there is a background bitmap.
4909 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
4910 changing bitmap.
4911
1e4b4390
VS
49122011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4913
26618ff0
VS
4914 Patch BPB in ntldr and chainloader --bpb.
4915
1e4b4390
VS
4916 * grub-core/fs/fat.c: Include grub/fat.h.
4917 (grub_fat_bpb): Moved to ...
4918 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
4919 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
4920 grub/ntfs.h.
4921 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
4922 Moved from here...
4923 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
4924 here.
4925 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
4926 New function.
4927 (grub_chainloader_cmd): Patch BPB if --bpb is given.
4928 (GRUB_MOD_INIT): Show --bpb.
4929 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
4930 * grub-core/normal/main.c (features): New variable.
4931 (GRUB_MOD_INIT): Set feature_* variables.
4932 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
4933 proto.
4934 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
4935
cf02731e
VS
49362011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4937
4938 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
4939 for cleanness.
4940
e3a1073f
VS
49412011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4942
4943 FreeDOS direct loading support.
4944
4945 * docs/grub.texi (Supported OS): Add FreeDOS.
4946 * grub-core/Makefile.core.def (freedos): New module.
4947 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
4948 variable.
4949 (grub_relocator16_boot): Handle %ebx.
4950 * grub-core/lib/i386/relocator16.S: Likewise.
4951 * grub-core/loader/i386/pc/freedos.c: New file.
4952
05caa461
VS
49532011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4954
4955 Long Linux command line support.
4956
4957 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
4958 (maximal_cmdline_size): New variable.
4959 (allocate_pages): Use maximal_cmdline_size.
4960 (grub_cmd_linux): Set and use maximal_cmdline_size.
4961 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
4962 (allocate_pages): Use maximal_cmdline_size.
4963 (grub_cmd_linux): Set and use maximal_cmdline_size.
4964 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
4965 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
4966 and cmdline_size.
4967
a2491e23
VS
49682011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
49692011-05-18 Colin Watson <cjwatson@ubuntu.com>
4970
4971 Improve devmapper support
4972
4973 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
4974 (grub_util_is_lvm): New function.
4975 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
4976 than lvm if not dmraid.
4977 Handle mapped md nodes.
4978 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
4979 (grub_util_device_is_mapped): ... this. Make always available. All users
4980 updated.
4981 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
4982 (convert_system_partition_to_system_disk): Handle lvm, mpath and
4983 dmraid nodes.
4984 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
4985
6ad6223e
VS
49862011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4987
4988 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
4989
4990 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
4991 * grub-core/modinfo.sh.in: New file.
4992 * grub-core/Makefile.core.def (modinfo.sh): New script.
4993 * util/grub-mknetdir.in: Use modinfo.sh.
4994 * util/grub-mkrescue.in: Likewise.
4995
543a8f6e
VS
49962011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4997
4998 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
4999 Fix potential usage of Elf32 instead of Elf64 when compiling on
5000 32-bit architecture. Add endianness macros while on it.
5001
4959e111
VS
50022011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5003
5004 Use mipsel- rather than mips- in directories involving mipsel ports to
5005 allow both endiannesses coexist.
5006
5007 * configure.ac: proparate target_cpu=mipsel rather than resetting to
5008 mips. All conditions adjusted.
5009 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
5010 variable.
5011 * util/grub-install.in: Adjust conditions to take renaming into account.
5012 * util/grub-mkimage.c (image_targets): Likewise. New target
5013 mips-qemu_mips-elf for bigendian mips.
5014
35341bbc
VS
50152011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5016
5017 Avoid unnecessary copying on MIPS.
5018
5019 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
5020 early if src == dest.
5021 * util/grub-mkimage.c (generate_image): Arange for src == dest if
5022 compression is none.
5023
b772baed
VS
50242011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5025
5026 Reduce memory footprint on SGI by putting modules before the kernel
5027 as opposed to after.
5028
5029 * grub-core/Makefile.core.def (kernel): Increase linking address.
5030 (none_decompress): Likewise.
5031 (xz_decompress): Likewise.
5032 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
5033 address.
5034 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
5035 layout change.
5036 (grub_arch_modules_addr): New function.
5037 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
5038 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
5039 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
5040 here.
5041 * grub-core/kern/mips/startup.S (total_size): Rename to ...
5042 (grub_total_modules_size): ... this. Make global.
5043 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
5044 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
5045 New definition.
5046 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
5047 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
5048 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
5049 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
5050 * util/grub-mkimage.c (image_target_desc): New flag
5051 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
5052 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
5053 (generate_image): Handle images with modules before kernel.
5054
566a1917
VS
50552011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5056
5057 Prevent potential loss of memory map by overwrite on qemu-mips.
5058
5059 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
5060 Save ram size in $s4.
5061 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
5062 All users changed to grub_arch_memsize.
5063 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
5064 Loongson.
5065 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
5066 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
5067 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
5068 external variable.
5069
5d420cd9
CW
50702011-05-17 Colin Watson <cjwatson@ubuntu.com>
5071
5072 * .bzrignore: Remove grub-dumpbios.
5073
d064b830
CW
50742011-05-17 Colin Watson <cjwatson@ubuntu.com>
5075
5076 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
5077 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
5078 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
5079 existing options which append).
5080 * docs/grub.texi (Simple configuration): Document new options.
5081 Reported by: Ian Jackson. Fixes Debian bug #617538.
5082
3ca2b466
CW
50832011-05-17 Colin Watson <cjwatson@ubuntu.com>
5084
5085 * util/grub-fstest.c (cmd_cat): New function.
5086 (fstest): Handle CMD_CAT.
5087 (options): Add cat.
5088 (argp_parser): Handle cat.
5089
24c9143a
CW
50902011-05-17 Colin Watson <cjwatson@ubuntu.com>
5091
5092 * Makefile.util.def (grub-bin2h): Don't install.
5093 * docs/man/grub-bin2h.h2m: Remove.
5094
90f7ac19
VS
50952011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5096
5097 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
5098 place.
5099
8d4a5178
VS
51002011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5101
5102 Reenable qemu-mips port.
5103
5104 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
5105 Fix small arc bug while on it.
5106 * gentpl.py: Handle qemu_mips.
5107 * grub-core/Makefile.am: Likewise.
5108 * grub-core/Makefile.core.def: Likewise.
5109 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
5110 inappropriate includes.
5111 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
5112 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
5113 * grub-core/kern/main.c (grub_modules_get_end)
5114 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
5115 * grub-core/kern/mips/qemu-mips: Moved to ..
5116 * grub-core/kern/mips/qemu_mips: ... this.
5117 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
5118 (grub_machine_init): Call terminfo_init and serial_init.
5119 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
5120 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
5121 New variable.
5122 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
5123 parameter passing.
5124 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
5125 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
5126 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
5127 * include/grub/mips/qemu_mips/cmos.h: New file.
5128 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
5129 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
5130 Removed.
5131 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
5132 Use correct mips-style address.
5133 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
5134 (GRUB_TICKS_PER_SECOND): Removed.
5135 (grub_get_rtc): Likewise.
5136 (grub_cpu_idle): Likewise.
5137 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
5138 New definition.
5139 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
5140 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
5141 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
5142 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
5143 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
5144 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
5145 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
5146 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
5147
400b9371
VS
51482011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5149
5150 SGI ARCS port.
5151
5152 * Makefile.util.def (libgrubmods.a): Add dvh.c.
5153 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
5154 platforms.
5155 * configure.ac: New target mips-arc.
5156 * gentpl.py: Likewise.
5157 * grub-core/Makefile.am: Likewise.
5158 * grub-core/Makefile.core.def: Likewise.
5159 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
5160 (none_decompress): Likewise.
5161 (lsdev): New module.
5162 (datetime): Use lib/arc/datetime.c on ARC.
5163 (part_dvh): New module.
5164 * grub-core/commands/arc/lsdev.c: New file.
5165 * grub-core/disk/arc/arcdisk.c: Likewise.
5166 * grub-core/kern/mips/arc/init.c: Likewise.
5167 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
5168 aligned addresses.
5169 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
5170 support.
5171 (grub_arch_dl_relocate_symbols): Likewise.
5172 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
5173 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
5174 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
5175 platforms.
5176 * grub-core/lib/arc/datetime.c: New file.
5177 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
5178 pci.h on non-loongson.
5179 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
5180 (grub_linux_boot): Set unused registers to 0.
5181 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
5182 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
5183 * grub-core/mmap/mips/uppermem.c: ...here.
5184 * grub-core/partmap/dvh.c: New file.
5185 * grub-core/term/arc/console.c: Likewise.
5186 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
5187 (grub_terminfo_set_current): Add terminal "arc".
5188 (grub_terminfo_readkey): Support ARC sequences.
5189 * include/grub/arc/arc.h: New file.
5190 * include/grub/arc/console.h: Likewise.
5191 * include/grub/disk.h (grub_disk_dev_id): Add
5192 GRUB_DISK_DEVICE_ARCDISK_ID.
5193 * include/grub/mips/arc/kernel.h: New file.
5194 * include/grub/mips/arc/memory.h: Likewise.
5195 * include/grub/mips/arc/time.h: Likewise.
5196 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
5197 * include/grub/mips/kernel.h (grub_halt): ... here.
5198 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
5199 here...
5200 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
5201 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
5202 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
5203 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
5204 proto.
5205 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
5206 from here ...
5207 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
5208 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
5209 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
5210 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
5211 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
5212 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
5213 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
5214 (grub_phys_addr_t): Moved from here ...
5215 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
5216 (grub_vtop): Moved from here ...
5217 * include/grub/mips/memory.h (grub_vtop): ... here.
5218 (grub_map_memory): Moved from here ...
5219 * include/grub/mips/memory.h (grub_map_memory): ... here.
5220 (grub_unmap_memory): Moved from here ...
5221 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
5222 (grub_machine_mmap_iterate): Moved from here ...
5223 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
5224 (grub_mmap_get_lower): Moved from here ...
5225 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
5226 (grub_mmap_get_upper): Moved from here ...
5227 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
5228 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
5229 here ...
5230 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
5231 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
5232 here ...
5233 * include/grub/mips/time.h (grub_get_rtc): ... here.
5234 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
5235 here ...
5236 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
5237 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
5238 here ...
5239 * include/grub/mips/time.h (grub_cpu_idle): ... here.
5240 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
5241 definition.
5242 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
5243 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
5244 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
5245 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
5246 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
5247 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
5248 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
5249 (GRUB_MACHINE_LINK_ADDR): Likewise.
5250 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
5251 to 6.
5252 * util/grub-install.in: Run dvhtool on ARC.
5253 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 5254 (generate_image): Handle ECOFF output for mips-arc.
400b9371 5255
c8ecc840
VS
52562011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5257
5258 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
5259 blocks.
5260
153a4b55
VS
52612011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5262
5263 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
5264 after enabling port.
5265
ff44d107
VS
52662011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5267
5268 Skip incorrect USB devices.
5269
5270 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
5271 configcnt == 0.
5272 * include/grub/usb.h (grub_usb_err_t): New enum value
5273 GRUB_USB_ERR_BADDEVICE.
5274
638dbe4f
VS
52752011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5276
5277 Fuloong video init support.
5278
5279 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
5280 well.
5281 (grub_vga_read_arx): New function.
5282 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
5283 definition.
5284 (framebuffer): New members io, mmioptr and mmiobase.
5285 (read_sis_cmd): New function.
5286 (write_sis_cmd): Likewise.
5287 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
5288 rather than 640x400.
5289 * grub-core/video/sis315_init.c: New file.
5290
c3fc520c
VS
52912011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5292
5293 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
5294 non-loongson.
5295 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
5296 to grub_dl_register_symbol.
5297
67b1e5c9
VS
52982011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 Fix compilation errors.
5301
5302 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
5303 potentially unused.
5304 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
5305 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
5306 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
5307 to loongson machines.
5308
b756f75f
VS
53092011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5310
5311 Several FS mtime support.
5312
5313 * grub-core/fs/affs.c (grub_affs_time): New struct.
5314 (grub_affs_file): New field mtime.
5315 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
5316 type. Removed 'size'. New field 'di'. All users updated.
5317 (grub_affs_mount): Simplify checsum checking.
5318 (grub_affs_iterate_dir): New helper grub_affs_create_node.
5319 (grub_affs_dir): Handle mtime.
5320 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
5321 (grub_cpio_dir): Likewise.
5322 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
5323 (grub_hfs_filerec): New field mtime.
5324 (grub_hfs_dir): Handle mtime.
5325 (grub_hfs_mtime): New function.
5326 (grub_hfs_fs): Register grub_hfs_mtime.
5327 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
5328 (grub_iso9660_dir): New field mtime.
5329 (grub_fshelp_node): New field dirent.
5330 (iso9660_to_unixtime): New function.
5331 (iso9660_to_unixtime2): Likewise.
5332 (grub_iso9660_read_symlink): Use node->dirent.
5333 (grub_iso9660_iterate_dir): Likewise.
5334 (grub_iso9660_dir): Set mtime.
5335 (grub_iso9660_mtime): New function.
5336 (grub_iso9660_fs): Register grub_iso9660_mtime.
5337 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
5338 (grub_jfs_inode): New fields atime, ctime and mtime.
5339 (grub_jfs_dir): Set mtime.
5340 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
5341 * grub-core/fs/ntfs.c (list_file): Set mtime.
5342 (grub_ntfs_dir): Likewise.
5343 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
5344 (grub_reiserfs_iterate_dir): Set mtime.
5345 (grub_reiserfs_dir): Likewise.
5346 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
5347 (grub_fshelp_node): Likewise.
5348 (grub_sfs_iterate_dir): Set mtime.
5349 (grub_sfs_dir): Likewise.
5350 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
5351 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
5352 (grub_xfs_inode): New fields atime, mtime, ctime.
5353 (grub_xfs_dir): Set mtime.
5354 * include/grub/datetime.h (grub_datetime2unixtime): New function.
5355 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
5356 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
5357
5358 Support UDF symlinks.
5359
5360 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
5361 (grub_ufs_read_symlink): New function. All users updated.
5362
5363 Check amiga partmap checksum.
5364
5365 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
5366 (grub_amiga_partition): Likewise.
5367 (amiga_partition_map_checksum): New function.
5368 (amiga_partition_map_iterate): Check checksum.
5369
5470225d
VS
53702011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5371
5372 ROMFS support.
5373
5374 * Makefile.util.def (libgrubmods.a): Add romfs.
5375 * grub-core/Makefile.core.def (romfs): New module.
5376 * grub-core/fs/romfs.c: New file.
5377
d4680a35
VS
53782011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5379
5380 Squashfs v4 support.
5381
5382 * Makefile.util.def (libgrubmods.a): Add squash4.
5383 * grub-core/Makefile.core.def (squash4): New module.
5384 * grub-core/fs/squash4.c: New file.
5385 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
5386 disk_input_start, disk_input.
5387 (get_byte): Handle disk_input.
5388 (grub_zlib_disk_read): New function.
5389 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
5390
bcb18e74
FZ
53912011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
53922011-05-15 Feiran Zheng <famcool@gmail.com>
5393
5394 * Makefile.util.def (libgrubmods.a): Add minix3.
5395 * grub-core/Makefile.core.def (minix3): New module.
5396 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
5397 (GRUB_MINIX_BSIZE): Removed.
5398 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
5399 (grub_minix_ino_t): New type.
5400 (grub_minix_le_to_cpu_ino): New macro.
5401 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
5402 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
5403 (grub_minix_data): New field block_size.
5404 (grub_minix_read_file): Handle 64-bit correctly.
5405 * grub-core/fs/minix3.c: New file.
5406
32297d5f
TG
54072011-05-15 Tristan Gingold <gingold@free.fr>
54082011-05-15 Robert Millan <rmh.grub@aybabtu.com>
54092011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5410
5411 IA64 support.
5412
5413 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
5414 * configure.ac: Add ia64-efi target.
5415 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
5416 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
5417 * gentpl.py: Add ia64_efi platform.
5418 Rename x86_efi to efi and Add ia64-efi. All users updated.
5419 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
5420 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
5421 Remove kern/generic/rtc_get_time_ms.c on EFI.
5422 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
5423 kern/ia64/dl_helper.c on ia64-efi.
5424 Add kern/emu/cache.c on emu.
5425 (linux): Use on loader/ia64/efi/linux.c on ia64.
5426 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
5427 whether symbol is a function.
5428 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
5429 (grub_symbol): New field 'isfunc'.
5430 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
5431 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
5432 (grub_dl_load_segments): Place all sections into the same region.
5433 [__ia64__]: Create trampolines and got.
5434 [GRUB_MACHINE_EMU]: Call mprotect.
5435 (grub_dl_resolve_symbols): Resolve symbol type as well.
5436 [__ia64__]: Create function descriptors.
5437 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
5438 (grub_rtc_get_time_ms): ... this. Expressions simplified.
5439 (grub_get_rtc): New function.
5440 * grub-core/kern/emu/cache.c [__ia64__]: New file.
5441 * grub-core/kern/emu/cache.S: Renamed to ...
5442 * grub-core/kern/emu/cache_s.S: ... this.
5443 [__ia64__]: Add a nop.
5444 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
5445 [__ia64__]: New function.
5446 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
5447 * grub-core/kern/ia64/dl.c: New file.
5448 * grub-core/kern/ia64/dl_helper.c: Likewise.
5449 * grub-core/kern/ia64/efi/init.c: New file.
5450 * grub-core/kern/ia64/efi/startup.S: Likewise.
5451 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
5452 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
5453 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
5454 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
5455 * grub-core/loader/ia64/efi/linux.c: New file.
5456 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
5457 (GRUB_MOD_DEP): Likewise.
5458 (grub_dl) [__ia64__]: New fields got and tramp.
5459 (grub_dl): New field 'base'.
5460 (grub_dl_register_symbol): New argument isfunc. All users updated.
5461 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
5462 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
5463 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
5464 (grub_ia64_dl_get_tramp_got_size): New proto.
5465 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
5466 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
5467 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
5468 * include/grub/efi/api.h: Skip call wrappers on ia64.
5469 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
5470 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
5471 * include/grub/elf.h (ELF_ST_INFO): New definition.
5472 * include/grub/ia64/efi/kernel.h: New file.
5473 * include/grub/ia64/efi/memory.h: Likewise.
5474 * include/grub/ia64/efi/time.h: Likewise.
5475 * include/grub/ia64/kernel.h: Likewise.
5476 * include/grub/ia64/setjmp.h: Likewise (from glibc).
5477 * include/grub/ia64/time.h: New file.
5478 * include/grub/ia64/types.h: Likewise.
5479 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
5480 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
5481 New protos.
5482 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
5483 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
5484 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
5485 * util/grub-mkimage.c (image_target_desc): New field pe_target.
5486 All users updated.
5487 (EFI64_HEADER_SIZE): New definition. All users updated.
5488 (image_targets): Add ia64-efi.
5489 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
5490 jumpers_addr. All users updated.
5491 Create function descriptors.
5492 (count_funcs): New function.
5493 (unaligned_uint32): New struct.
5494 (MASK20): New definition.
5495 (MASK19): Likewise.
5496 (MASKF21): Likewise.
5497 (add_value_to_slot_20b): New function.
5498 (add_value_to_slot_21_real): Likewise.
5499 (add_value_to_slot_21): Likewise.
5500 (ia64_kernel_trampoline): New struct.
5501 (nopm): New variable.
5502 (jump): Likewise.
5503 (make_trampoline): New function.
5504 (relocate_addresses): Handle ia64.
5505 (make_reloc_section): Likewise.
5506 (load_image): Likewise.
5507
983b414d
VS
55082011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5509
5510 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
5511 warning. Move variables before code while on it.
5512
5d063cdc
VS
55132011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5514
5515 Fuloong support.
5516
5517 * configure.ac: Rename yeeloong platform to loongson. All users updated.
5518 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
5519 * grub-core/boot/mips/loongson/fuloong.S: New file.
5520 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
5521 Explicitly init CS5536.
5522 [FULOONG]: Don't use serial until CS5536 is available.
5523 Set GPIO based on dumps.
5524 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
5525 [FULOONG]: Handle GPIO and memory controller differences.
5526 Parse machine type in $a2.
5527 * grub-core/boot/mips/startup_raw.S: Determine and save the
5528 architecture.
5529 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
5530 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
5531 init on architecture type.
5532 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
5533 SIS315E. Don't init at_keyboard on fuloong.
5534 (grub_halt): Support Fuloong.
5535 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
5536 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
5537 (loongson_machtypes): New array.
5538 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
5539 type.
5540 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
5541 config. All users updated. Handle CS5536 serial.
5542 * grub-core/term/serial.c (grub_serial_register): Conditionalise
5543 default port on machine type. Register serial as inactive.
5544 * grub-core/video/sis315pro.c: New file.
5545 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
5546 definition.
5547 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
5548 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
5549 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
5550 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
5551 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
5552 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
5553 to ...
5554 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
5555 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
5556 definition.
5557 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
5558 (grub_arch_machine): New extern var.
5559 * include/grub/mips/loongson/serial.h
5560 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
5561 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
5562 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
5563 (GRUB_MACHINE_SERIAL_PORT0): ... this.
5564 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
5565 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
5566 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
5567 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
5568 * include/grub/term.h (grub_term_register_input_inactive): New inline
5569 function.
5570 (grub_term_register_output_inactive): Likewise.
5571 * include/grub/video.h (grub_video_driver_id): New value
5572 GRUB_VIDEO_DRIVER_SIS315PRO.
5573 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
5574 New field "names". All users updated.
5575 New field value IMAGE_FULOONG_FLASH.
5576 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
5577
6ada82d1
JU
55782011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
5579
5580 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
5581 and add some clarification.
5582
90c571a4
VS
55832011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5584
5585 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
5586 platforms if kernel is compressed.
5587
de04eecf
VS
55882011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5589
5590 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
5591 unused modules since currently referrence counter isn't reliable and
5592 there isn't much memory to recover there anyway.
5593
57688121
VS
55942011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5595
5596 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
5597 rather than resetting it to allow modules to reference themselves
5598 in init.
5599
3d2c7e35
VS
56002011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5601
5602 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
5603 counter on dependencies since grub_dl_unref already handles this.
5604
b25db218
VS
56052011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5606
5607 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
5608 on error if not already done.
5609
25a45338
VS
56102011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5611
5612 Fix few potential memory misusage.
5613
5614 * grub-core/font/font.c (load_font_index): Don't free char_index to
5615 avoid double free.
b25db218
VS
5616 (grub_font_load): Zero-fill font at alloc for safety.
5617 Close file on error.
5618 (free_font): Free bmp_idx.
25a45338 5619
0cac83df
VS
56202011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5621
5622 * docs/grub.texi (Installation): Fix several outdated claims.
5623
2217a143
VS
56242011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5625
5626 Handle module_license on windows.
5627
5628 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
5629 sections shifted.
5630 (insert_string): Make argument const char * instead of char *.
5631 (write_section_data): Handle long section names.
5632 Handle module_license.
5633
d4de6b01
VS
56342011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5635
5636 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
5637 handle class-free menuentries.
5638 (grub_normal_add_menu_entry): Add a check to be sure.
5639
4c2a3b43
VS
56402011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5641
5642 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
5643 PgUp and PgDown.
5644
85c6210f
VS
56452011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5646
5647 * configure.ac: Bump version to 1.99.
5648
36084912
VS
56492011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5650
5651 Give ATA device a bit more time on first try in order to allow disks
5652 to spin up.
5653
5654 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
5655 if dev->present is 1. Reset dev->present on failure.
5656 (grub_ata_device_initialize): Set dev->present to 1.
5657 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
5658 (grub_ata_device): New member 'present'.
5659
bda0e219
VS
56602011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5661
5662 * util/grub-mkimage.c (generate_image): Update hash.
5663
19e1c41b
VS
56642011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5665
5666 Flush caches on DMA memory.
5667
5668 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
5669 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
5670 (grub_dma_free): Likewise.
5671 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
5672
91bbcc0c
VS
56732011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5674
5675 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
5676 to avoid asm treating ld and sd as macros.
5677
60ddfad3
VS
56782011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5679
5680 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
5681 decompressor.
5682
a298aa04
VS
56832011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5684
5685 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
5686 grub_decompress_core since later would fail if grub_decompress_core
5687 is too far.
5688
9b44feca
VS
56892011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5690
5691 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
5692 R_MIPS_JALR since it's used by newer compiler.
5693
56dbe7b4
VS
56942011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5695
5696 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
5697
52856af2
VS
56982011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5699
5700 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
5701 file_path to 0 for surety.
5702 (grub_chainloader_boot): Set exit_data to NULL.
5703 Unset the loader once done.
5704 (grub_cmd_chainloader): Fix confusing error message if file is empty.
5705
9c9bfc6d
VS
57062011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5707
5708 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
5709 unknown key into a dprintf.
5710
dd94a3df
VS
57112011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5712
5713 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
5714 on first non-existant partition.
5715
fa68d99c
VS
57162011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5717
5718 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
5719 openning fails.
5720 Reported by: Mark Korenberg.
5721
157effb7
VS
57222011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5723
5724 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
5725 overflow.
5726
ea75312f
VS
57272011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5728
5729 * util/grub-mkimage.c (main): Explicitely flush and sync the output
5730 before closing to ensure that it will be readable by grub-setup.
5731
072b5d31
VS
57322011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5733
5734 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
5735 (devpath_1): Use MAKE_PIWG_PATH.
5736 (devpath_2): Likewise.
5737 (devpath_3): Likewise.
5738 (devpath_4): Likewise.
5739 (devpath_5): Likewise.
5740 (devpath_6): Likewise.
5741
5742 The appleldr.mod was checked that to be binary identical to previous
5743 version.
5744
7fae0051
Z
57452011-05-05 Zach <mikezackles>
5746
5747 Support 2010 Macbooks.
5748
5749 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
5750 (devs): Add devpath_6.
5751
7c515bee
VS
57522011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5753
5754 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
5755 /dev/random. /dev/urandom is good enough for our purposes (salting).
5756
ed660bd8
VS
57572011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5758
5759 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
5760
ee5614b7
VS
57612011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5762
5763 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
5764 hexadecimal.
5765
664889a6
VS
57662011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5767
5768 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
5769 and not 0 on failure.
5770
bd405bbc
CW
57712011-05-03 Colin Watson <cjwatson@ubuntu.com>
5772
5773 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
5774 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
5775 disk; otherwise grub_fs_probe will not fall back to the next
5776 filesystem.
5777 (grub_pxefs_open): Likewise, for consistency.
5778 Reported and tested by: Ezekiel Grave.
5779
4ebff753
CW
57802011-05-03 Colin Watson <cjwatson@ubuntu.com>
5781
5782 * tests/partmap_test.in: Don't hardcode path to parted.
5783 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
5784
8f942553
CW
57852011-05-01 Colin Watson <cjwatson@ubuntu.com>
5786
5787 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
5788 of `ls' to find out which devices are available.
5789
3c62402d
VS
57902011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5791
5792 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
5793 than source address for efi mmap buffer.
5794
723f63f2
VS
57952011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5796
5797 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
5798 wrong action on non-detecting the magic.
5799
68797f92
VS
58002011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5801
5802 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
5803 already supplied by another part of the module (fixes compilation on
5804 FreeBSD).
5805
6be8715d
VS
58062011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5807
5808 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
5809 match the one used by mdadm.
5810
e91dba5b
CW
58112011-04-21 Colin Watson <cjwatson@ubuntu.com>
5812
5813 * po/README: Add instructions for creating po/LINGUAS.
5814
c85140b3
CW
58152011-04-21 Colin Watson <cjwatson@ubuntu.com>
5816
5817 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
5818 #551428.
5819
5820 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
5821 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
5822 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
5823 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
5824 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
5825 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
5826 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
5827 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
5828 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
5829 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
5830 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
5831 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
5832 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
5833 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
5834 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
5835 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
5836 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
5837 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
5838 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
5839 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
5840 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
5841 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
5842
92051871
CW
58432011-04-21 Colin Watson <cjwatson@ubuntu.com>
5844
5845 * grub-core/kern/emu/getroot.c
5846 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
5847 test that was incorrectly reintroduced in r3214.
5848 Reported by: Ian Dall. Fixes Savannah bug #33133.
5849
b13f79a4
CW
58502011-04-21 Colin Watson <cjwatson@ubuntu.com>
5851
5852 Fix stack pointer handling in 16-bit relocator.
5853
5854 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
5855 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
5856 Fixes Ubuntu bug #683904.
5857
9b710a88
VS
58582011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5859
5860 * configure.ac: Bump version to 1.99~rc2.
5861
d97e7b59
VS
58622011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5863
5864 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
5865 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
5866 * grub-core/lib/x86_64/setjmp.S: Likewise.
5867 * grub-core/lib/mips/setjmp.S: Likewise.
5868 * grub-core/lib/powerpc/setjmp.S: Likewise.
5869 * grub-core/lib/sparc64/setjmp.S: Likewise.
5870
0624551c
VS
58712011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5872
5873 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
5874 * grub-core/lib/efi/datetime.c: Likewise.
5875
e8f28d4c
VS
58762011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5877
5878 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
5879 New function.
5880 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
5881 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
5882 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
5883
bba79a15
VS
58842011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5885
5886 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
5887 bitmap.
5888 (grub_gfxterm_term_init): Likewise.
5889
abc474ef
VS
58902011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5891
5892 Take into account the decorations the computing menu entry width.
5893
5894 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
5895 (grub_gfxmenu_create_box): Register get_border_width.
5896 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
5897 if available.
5898 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
5899 get_border_width.
5900
e74b3947
EP
59012011-04-18 Endres Puschner <code@e7p.de>
5902
5903 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
5904 Don't skip first class.
5905
34faa595
VS
59062011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5907
5908 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
5909 chunks.
5910 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
5911
93a777e3
VS
59122011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5913
5914 Complete 64-bit division support.
5915
5916 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
5917 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
5918 * include/grub/misc.h (grub_divmod64): Rename to ...
5919 (grub_divmod64_full): ... this.
5920 (grub_divmod64): New inline function.
5921
a5102d94
VS
59222011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5923
5924 * util/grub-mkimage.c (generate_image): Add forgotten comma.
5925
f3fb7b36
VS
59262011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5927
5928 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
5929 performing the necessary test.
5930
9ac718b0
VS
59312011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5932
5933 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
5934 (kfreebsd.elf): Likewise.
5935 (pc-chainloader.elf): Likewise.
5936 (ntldr.elf): Likewise.
5937
50d2cc5a
VS
59382011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 Identify RAID by its UUID rather than (guessed) name.
5941
5942 * grub-core/disk/raid.c (ascii2hex): New function.
5943 (grub_raid_open): Accept mduuid/%s specification.
5944 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
5945 (get_mdadm_uuid): ... this.
5946 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
5947
e03f7bea
VS
59482011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
5949
5950 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
5951 to negative size.
5952
e74c3112
CW
59532011-04-13 Colin Watson <cjwatson@ubuntu.com>
5954
5955 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
5956 btrfs subvolume.
5957 * util/grub.d/20_linux_xen.in: Likewise.
5958
78fa584f
CW
59592011-04-13 Colin Watson <cjwatson@ubuntu.com>
5960
5961 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
5962 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
5963
5964 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
5965 Build a list of relevant visible mounts using the mnt_id and
5966 parent_mnt_id fields, and then scan that list at the end.
5967
9d5f8162
CW
59682011-04-12 Colin Watson <cjwatson@ubuntu.com>
5969
5970 * docs/grub.texi (normal): New section.
5971 (normal_exit): New section.
5972 (Embedded configuration): Add reference to normal.
5973 (GRUB only offers a rescue shell): Likewise.
5974 * docs/grub-dev.texi (Error Handling): Fix typo.
5975
09a9d66f
CW
59762011-04-12 Colin Watson <cjwatson@ubuntu.com>
5977
5978 * NEWS: Drop obsolete entry about probe-only btrfs support.
5979
0c676933
CW
59802011-04-12 Colin Watson <cjwatson@ubuntu.com>
5981
5982 * util/import_gcry.py: Fix typo.
5983
ec9f5e0d
VS
59842011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5985
5986 * NEWS: Add btrfs support.
5987
fe6b2cba
VS
59882011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
59892011-04-11 Colin Watson <cjwatson@ubuntu.com>
5990
5991 BtrFS support. Written by me (Vladimir) with important bugfixes and
5992 even more important testing by Colin.
5993
5994 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
5995 * grub-core/Makefile.core.def (btrfs): Add crc.c.
5996 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
5997 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
5998 mem_input_off and mem_input. All users updated to accept in-RAM input.
5999 (gzio_seek): New function.
6000 (test_zlib_header): Likewise.
6001 (grub_gzio_read): Likewise.
6002 (grub_zlib_decompress): Likewise.
6003 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
6004 Accept partial and non-virtual mounts.
6005 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
6006 avoid receiving /dev/dm-X as device.
6007 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
6008 Handle bind and partial mounts.
6009 * grub-core/lib/crc.c: New file.
6010 * include/grub/deflate.h: Likewise.
6011 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
6012 proto.
6013 * include/grub/lib/crc.h: New file.
6014
e745cf0c
VS
60152011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6016
6017 Implement automatic module license checking according to new GNU
6018 guidelines.
6019
6020 * grub-core/kern/dl.c (grub_dl_check_license): New function.
6021 (grub_dl_load_core): Use grub_dl_check_license.
6022 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
6023 (GRUB_MOD_LICENSE): Likewise.
6024 (GRUB_MOD_DUAL_LICENSE): Likewise.
6025 All modules updated.
6026
2a9bc016
CW
60272011-04-11 Colin Watson <cjwatson@ubuntu.com>
6028
6029 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
6030 reserved_first_sector to 1. btrfs reserves plenty of space for boot
6031 loaders.
6032 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
6033
8a3bc88e
VS
60342011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6035
6036 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
6037
af869a4a
VS
60382011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6039
6040 * util/grub-fstest.c (read_file): Report GRUB error if file opening
6041 failed.
6042
9ee8d94f
VS
60432011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6044
6045 * grub-core/kern/file.c (grub_file_open): Don't take into account the
6046 parenthesis in the middle of the filename.
6047
b01abe3e
VS
60482011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6049
6050 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
6051 rather than trying to put initrd way too high.
6052 Reported by: Ryan Lortie <desrt@desrt.ca>
6053
335bda1e
VS
60542011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6055
6056 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
6057 improperly removed string.
6058
5ca1a64d
VS
60592011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6060
6061 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
6062 is_disk.
6063 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
6064 (open_device) Likewise.
6065 (grub_util_biosdisk_close): Likewise.
d8ce9995 6066 Reported by: Mark Korenberg.
5ca1a64d 6067
cbac5b1e
AK
60682011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
6069
6070 * util/grub-mkconfig_lib.in: Add missing quotes.
6071
088cdb65
CW
60722011-04-10 Colin Watson <cjwatson@ubuntu.com>
6073
6074 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
6075 is NULL.
6076
8b8a81fa
VS
60772011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6078
6079 Dynamically count the number of lines for the lower banner.
6080
6081 * grub-core/normal/menu_entry.c (per_term_screen): New member
6082 num_entries.
6083 (print_down): Use num_entries.
6084 (update_screen): Likewise.
6085 (grub_menu_entry_run): Set num_entries.
6086 * grub-core/normal/menu_text.c (menu_viewer_data): New member
6087 num_entries.
6088 (grub_print_message_indented): Move real part to ...
6089 (grub_print_message_indented_real): ... here. Additional argument
6090 dry_run.
6091 (draw_border): Additional argument num_entries.
6092 (print_message): Additional argument dry_run.
6093 (print_entries): Receive menu viewer data.
6094 (grub_menu_init_page): New argment num_entries.
6095 (menu_text_set_chosen_entry): Use num_entries.
6096 (grub_menu_try_text): Likewise.
6097 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
6098 All users updated.
6099 (grub_ucs4_count_lines): New function.
6100 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
6101 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
6102 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
6103 (grub_term_border_height): Likewise.
6104 (grub_term_num_entries): Likewise.
6105
277f955b
VS
61062011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
6109 Remove now unused string.
6110
536ce85a
CW
61112011-04-09 Colin Watson <cjwatson@ubuntu.com>
6112
6113 * docs/grub-dev.texi (Finding your way around): Update for 1.99
6114 build system.
6115 (Getting started): GRUB is developed in Bazaar now, not Subversion.
6116
6117 (Comment): Fix typo.
6118 (Getting started): General copy-editing.
6119 (Typical Development Experience): Likewise.
6120 (Error Handling): Likewise.
6121 (Video API): Likewise.
6122
2cf09e32
CW
61232011-04-09 Colin Watson <cjwatson@ubuntu.com>
6124
6125 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
6126 throughout.
6127
1ec652f4
VS
61282011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6129
6130 * util/grub-mkimage.c (main): Handle special naming of yeeloong
6131 directory.
6132
2c583728
CW
61332011-04-08 Colin Watson <cjwatson@ubuntu.com>
6134
6135 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
6136 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
6137 "development".
6138
d7a565e9
VS
61392011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6140
6141 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
6142 grub_strcpy since the lines aren't necessarily 0-terminated.
6143
7c2e4909
VS
61442011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6145
6146 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
6147 root on legacy.
6148
34c09785
VS
61492011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6150
6151 * grub-core/commands/probe.c (options): Argument to set isn't optional.
6152 (GRUB_MOD_INIT): DEVICE isn't optional.
6153
6a6f8058
VS
61542011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6155
6156 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
6157 word on new line if it's too long anyway. Fixes a hang.
6158
2e335e90
VS
61592011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6160
6161 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
6162 const.
6163 * util/grub-setup.c (main): Reuse md device name if available.
6164 * util/raid.c (grub_util_raid_getmembers): Receive device name and
6165 not GRUB name as argument.
6166 Based on patch by: Florian Wagner <fwagner>.
6167
10a7a867
VS
61682011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6169
6170 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
6171 Place mbi on low memory for better compatibility.
6172
7a3d6cd9
VS
61732011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6174
6175 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
6176
18dd6b47
VS
61772011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
61782011-04-08 Colin Watson <cjwatson@ubuntu.com>
6179
6180 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 6181 * conf/Makefile.common: Likewise.
18dd6b47 6182
3c0e3f14
VS
61832011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6184
f7148863
VS
6185 * grub-core/normal/menu.c: Add missing include.
6186
61872011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6188
6189 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 6190
6d1fa41f
MZ
61912011-04-08 Martin Zuther <mzuther@mzuther.de>
6192
6193 * util/grub-mkconfig.in: Ignore emacsen backup.
6194
478182a8
VS
61952011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6196
6197 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
6198 on open.
6199 (grub_util_biosdisk_close): Likewise.
6200
72a89a54
VS
62012011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
6204 const attribute and use grub_isdigit.
6205
b5ebecfa
A
62062011-04-06 Andrey <dev_null@ukr.net>
6207
6208 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
6209 gcc warning.
6210
7755f66e
VS
62112011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
6214 useful grub_dprintf's.
6215
461121ff
VS
62162011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6217
6218 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
6219
2a961775
VS
62202011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6221
6222 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
6223
adf594cc
VS
62242011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6225
6226 Output errors if theme loading failed.
6227
6228 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
6229 grub_gfxterm_fullscreen on error paths to ...
6230 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
6231 theme loading error.
6232
665900a3
VS
62332011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6234
6235 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
6236 space for older compilers.
6237 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6238
a562b479
VS
62392011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6240
6241 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
6242 and report them as not RAID members since they are useless for GRUB.
6243 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6244
850e9373
VS
62452011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6246
6247 Increase LVM implementation robustness in order not to crash on
6248 configurations like pvmove. Previously code assumed that in some places
6249 only lvs or only pvs are used whereas it seems that they are used
6250 interchangeably.
6251
6252 * grub-core/disk/lvm.c (read_node): New function.
6253 (read_lv): Use read_node.
6254 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
6255 Match volumes only at the end when all lvs are found. Take both
6256 pvs (first) and lvs (second) into account.
6257 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
6258 mirror_* into node_*. All users updated.
6259 (grub_lvm_stripe): Merge this ...
6260 (grub_lvm_mirror): ... and this ...
6261 (grub_lvm_node): ... into this. All users updated.
6262
6f332153
VS
62632011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
6266 of function to allow further scanning for LVMs.
6267
829ea451
VS
62682011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6269
6270 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
6271 on failed seek as it breaks open fd reusage.
6272
09ceb9a5
VS
62732011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6274
6275 * util/grub-install.in: Add a recommendation to use --recheck before
6276 reporting bugs.
6277
67e11623
VS
62782011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6279
6280 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
6281 are obtained.
6282
caee5efd
VS
62832011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6284
6285 GRUB developper manual based on existing Internals section and
6286 contributions by the various authors with active copyright assignment.
6287
6288 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
6289 * docs/font_char_metrics.png: New file.
6290 * docs/font_char_metrics.txt: Likewise.
6291 * docs/grub-dev.texi: Likewise.
6292 * docs/grub.texi (Internals): Move from here ...
6293 * docs/grub-dev.texi: ... here.
6294
2cccc747
CW
62952011-04-01 Colin Watson <cjwatson@ubuntu.com>
6296
6297 Store the loopback device as data on loopback grub_disk structures,
6298 rather than the file it points to. This fixes use of freed memory
6299 if an existing loopback device is replaced.
6300
6301 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
6302 disk->data, not dev->file.
6303 (grub_loopback_read): Adjust file assignment to match.
6304 Fixes Ubuntu bug #742967.
6305
186ae367
CW
63062011-04-01 Colin Watson <cjwatson@ubuntu.com>
6307
6308 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
6309 when replacing an existing device.
6310
cfed2ad0
VS
63112011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6312
6313 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
6314 memory corruptions.
6315
6316 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
6317 unsigned.
6318 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
6319 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
6320 (grub_jfs_read_inode): Likewise.
6321 (grub_jfs_opendir): Likewise. Remove now useless casts.
6322 (grub_jfs_getent): Likewise.
6323 Make ino a grub_uint32_t rather than int.
6324 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
6325 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
6326 division and module with bit operations.
6327 (grub_jfs_find_file): Make ino a grub_uint32_t.
6328 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
6329
05d2ed32
CW
63302011-04-01 Colin Watson <cjwatson@ubuntu.com>
6331
6332 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
6333 warning. (This was in fact always initialised before use, but GCC
6334 wasn't smart enough to prove that.)
6335 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
6336
91dc6073
VS
63372011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6338
6339 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
6340 stack alignment.
6341 (efi_wrap_1): Likewise.
6342 (efi_wrap_2): Likewise.
6343 (efi_wrap_3): Likewise.
6344 (efi_wrap_4): Likewise.
6345 (efi_wrap_5): Likewise.
6346 (efi_wrap_6): Likewise.
6347 (efi_wrap_10): Likewise.
6348 Based on information by: Red Hat/Peter Jones.
6349
a8afc1d1
CW
63502011-03-31 Colin Watson <cjwatson@ubuntu.com>
6351
6352 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
6353 set-but-not-used variable.
6354
a826cc7d
CW
63552011-03-31 Colin Watson <cjwatson@ubuntu.com>
6356
6357 * docs/grub.texi (Simple configuration): Be more explicit about
6358 GRUB_DEFAULT, and add an example.
6359 Reported by: Leslie Rhorer.
6360
875b67ba
CW
63612011-03-30 Colin Watson <cjwatson@ubuntu.com>
6362
6363 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
6364 shell".
6365
fd7cd914
AS
63662011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
6367
6368 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
6369 * util/grub.d/20_linux_xen.in: Likewise.
6370
090b1b6a
VS
63712011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6372
6373 * util/grub.d/10_linux.in: Try alternative config filenames where
6374 we parse config file.
6375 * util/grub.d/20_linux_xen.in: Likewise.
6376
baad885c
AS
63772011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
6378
6379 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
6380 * util/grub.d/20_linux_xen.in: Likewise.
6381
241e41f5
VS
63822011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6383
6384 * grub-core/disk/raid.c (insert_array): Add few potentially
6385 useful grub_util_info.
6386 (grub_raid_register): Likewise.
6387
56445fb2
VS
63882011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6389
6390 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
6391 Preserve partition number in mdadm code path.
6392
c871b1c6
VS
63932011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6394
6395 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
6396 few potentially useful grub_util_info.
6397
5e631b4f
CW
63982011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6399
6400 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
6401
2d5d0333
CW
64022011-03-30 Colin Watson <cjwatson@ubuntu.com>
6403
6404 * docs/grub.texi (default): Use @example rather than nested
6405 itemized lists to avoid breaking gendocs.
6406
3d7ed04e
CW
64072011-03-30 Colin Watson <cjwatson@ubuntu.com>
6408
6409 * docs/grub.texi (Future): Update.
6410
abf04200 64112011-03-30 Colin Watson <cjwatson@ubuntu.com>
6412
6413 * docs/grub.texi (Environment): New chapter.
6414 (Changes from GRUB Legacy): Link to "Environment block" section for
6415 details of limitations.
6416 (Simple configuration): Likewise. Link to documentation of gfxmode
6417 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
6418 respectively.
6419 (Shell-like scripting): Note that normal variables are stored in the
6420 environment.
6421 (gettext): Link to documentation of lang and locale_dir.
6422 (list_env): New section.
6423 (load_env): New section.
6424 (save_env): New section.
6425
6426 (Reporting bugs): Fix typo.
6427
e1ad0edd
VS
64282011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6429
6430 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
6431 the example.
6432
5d803174
VS
64332011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6434
6435 * grub-core/term/at_keyboard.c (set_scancodes)
6436 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
6437
2a2da1d0
CW
64382011-03-30 Colin Watson <cjwatson@ubuntu.com>
6439
6440 * docs/grub.texi (Menu-specific commands): Remove some semantics
6441 that were true in GRUB Legacy but not in GRUB 2.
6442 (submenu): New section.
6443 (false): New section.
6444 (read): New section.
6445 (true): New section.
6446
a7527639
CW
64472011-03-30 Colin Watson <cjwatson@ubuntu.com>
6448
6449 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
6450
64512011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
6452
6453 * docs/grub.texi (Simple configuration): Explain some of the
6454 current limitations of grub-mkconfig.
8a748df2 6455 Reported by: Leslie Rhorer.
e30af029 6456
fc858482
VS
64572011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6458
6459 Old macs search for boot.efi rather than for bootia32.efi.
6460
6461 * util/grub-install.in: Copy bootia32.efi to boot.efi.
6462 * util/grub-mkrescue.in: Likewise.
6463 Suggested by: Peter Jones.
6464
e1eb511d
VS
64652011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6466
6467 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
6468
70e75364
VS
64692011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6470
6471 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
6472 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
6473 (grub_lvm_mirror): New struct.
6474 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
6475 (grub_lvm_iterate): Iterate only visible volumes.
6476 (grub_lvm_read): Factor out to ..
6477 (read_lv): ... this. Support mirrors.
6478 (grub_lvm_read): New wrapper function.
6479 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
6480 stripped or mirrored.
6481
fc18f6a3
VS
64822011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6483
6484 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
6485
5c650f4c
CW
64862011-03-29 Colin Watson <cjwatson@ubuntu.com>
6487
6488 * docs/grub.texi (loopback): New section.
6489
61d7156b
CW
64902011-03-29 Colin Watson <cjwatson@ubuntu.com>
6491
6492 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
6493 removed -p option.
6494
994b8264
CW
64952011-03-29 Colin Watson <cjwatson@ubuntu.com>
6496
6497 * docs/grub.texi (BIOS installation): New section, partly based on
6498 previous text in other sections.
6499 (Installing GRUB using grub-install): Replace BIOS discussion with a
6500 cross-reference.
6501 (Images): Likewise.
6502
9e4d19e0
VS
65032011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6504
6505 * grub-core/kern/emu/hostdisk.c (find_partition_start)
6506 [HAVE_DIOCGDINFO]: Add safety checks.
6507
a307c0b2
VS
65082011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6509
6510 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
6511 per default compiled in kernel and prior to 8.0 isn't shipped at all.
6512
b4db4f39
CW
65132011-03-29 Colin Watson <cjwatson@ubuntu.com>
6514
6515 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
6516 real_sb->size is zero (e.g. RAID-0), get the disk size from
6517 real_sb->data_size instead.
6518 Fixes Ubuntu bug #743136.
6519
35e5f84c
VS
65202011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6521
6522 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
6523 printf clauses for printing size and start.
6524
d2e29d81
VS
65252011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6526
6527 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
6528 Reported and tested by: Timothy Nikkel.
6529
ed5587af
VS
65302011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
6533 (dirty_region_add_real): ... this.
6534 (dirty_region_add): Don't discard margin refresh when performing
6535 scheduled repaint.
6536
a1dc717c
VS
65372011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6538
6539 * grub-core/lib/relocator.c (allocate_regstart)
6540 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
6541 terminals are capabple of malloc-free operation.
6542 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
6543 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
6544
9f3677d3
VS
65452011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
6546
6547 * util/grub-setup.c: Copy the partition table zone if floppy support
6548 is disabled, even if no partition table is found.
6549
6550 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
6551 during POST if an invalid partition table is contained in the PBR
6552 of the active partition when GRUB is installed to a partition.
6553
24148725
CW
65542011-03-28 Colin Watson <cjwatson@debian.org>
6555
6556 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
6557 comment.
6558
f329eda7
CW
65592011-03-28 Colin Watson <cjwatson@debian.org>
6560
6561 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
6562 to be specific about what kind of RAID device we're scanning for.
6563
c482ad98
SG
65642011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
6565
6566 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
6567 return freed string.
6568
5ee04984
VS
65692011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6570
6571 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
6572
f4727da9
VS
65732011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6574
6575 Use libgeom on FreeBSD to detect partitions.
6576
6577 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
6578 (grub-mkrelpath): Likewise.
6579 (grub-script-check): Likewise.
6580 (grub-editenv): Likewise.
6581 (grub-mkpasswd-pbkdf2): Likewise.
6582 (grub-fstest): Likewise.
6583 (grub-mkfont): Likewise.
6584 (grub-mkdevicemap): Likewise.
6585 (grub-probe): Likewise.
6586 (grub-setup): Likewise.
6587 (grub-ofpathname): Likewise.
6588 (grub-mklayout): Likewise.
6589 (example_unit_test): Likewise.
6590 (grub-menulst2cfg): Likewise.
6591 * grub-core/Makefile.core.def (grub-emu): Likewise.
6592 (grub-emu-lite): Likewise.
6593 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
6594 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
6595 define HAVE_DIOCGDINFO.
6596 (follow_geom_up) [FreeBSD]: New function.
6597 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
6598 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
6599 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
6600 unconditionally of HAVE_DIOCGDINFO.
6601
82fe6c75
VS
66022011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6603
6604 Fix FreeBSD compilation problem.
6605
6606 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
6607 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
6608
4c6c9431
CW
66092011-03-24 Colin Watson <cjwatson@ubuntu.com>
6610
6611 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
6612 Switch back to page zero before loading a kernel, since some kernel
6613 drivers expect that.
6614 Thanks to: Felix Kuehling.
6615
c7064d94
VS
66162011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6617
6618 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
6619 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
6620 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
6621
3f71cded
VS
66222011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6623
6624 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
6625 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
6626
ef6de21a
VS
66272011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6628
6629 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
6630 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
6631 malloc is disabled.
6632
8bc66a2c
VS
66332011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6634
6635 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
6636 for modules headers when counting the needed allocation size.
6637
5657722c
VS
66382011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6639
6640 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
6641 if no ASCII character is found to prevent crash.
6642
41a85f55
AK
66432011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
6644
6645 * grub-core/video/bitmap.c (match_extension): Ignore case.
6646
59e1e5f1
VS
66472011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6648
6649 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
6650
bd4d051a
VS
66512011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6652
6653 * grub-core/script/parser.y: Declare "time" as valid argument.
6654
bae7fcc1
PJ
66552011-03-23 Peter Jones <pjones@redhat.com>
6656
6657 Fix incorrect assert failure reporting.
6658
6659 * grub-core/tests/example_functional_test.c (example_test): Add
6660 a failure comment.
6661 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
6662 (failure_start): ...this. Check that malloc succeeded.
6663 Don't call xvasprintf. Return failure struct.
6664 (failure_append_vtext): New function.
6665 (failure_append_text): Likewise.
6666 (add_failure): Likewise.
6667 (grub_test_assert_helper): Likewise.
6668 * include/grub/test.h (grub_test_assert_helper): New declaration.
6669 (grub_test_assert): Macro rewritten.
6670
537dc9be
VS
66712011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6672
6673 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
6674
fa3e01bf
VS
66752011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6676
6677 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
6678
b1d28404
VS
66792011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6680
6681 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
6682 into GRUB-style one.
6683
2e3e2e09
VS
66842011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6685
6686 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
6687 error and not grub_errno.
6688 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
6689
ed57e557
VS
66902011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6691
6692 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
6693 GRUB_USB_SPEED_NONE in case of failure and not the error code.
6694
d1611f01
VS
66952011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6696
6697 * grub-core/efiemu/i386/pc/cfgtables.c
6698 (grub_machine_efiemu_init_tables): Make declaration a prototype.
6699 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
6700 (grub_xnu_unlock): Likewise.
6701 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
6702
7d4e39d6
VS
67032011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6704
6705 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
6706 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
6707 * grub-core/commands/hashsum.c (aliases): Likewise.
6708 * grub-core/commands/setpci.c (pci_registers): Likewise.
6709 * grub-core/disk/usbms.c (attach_hook): Likewise.
6710 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
6711 (zio_checksum_table): Likewise.
6712 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
6713 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
6714 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
6715 * grub-core/lib/relocator.c (leftovers): Likewise.
6716 (extra_blocks): Likewise.
6717 * grub-core/loader/i386/bsd.c (relocator): Likewise.
6718 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
6719 (modules_last): Likewise.
6720 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
6721 (devices): Likewise.
6722 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
6723 (modules_last): Likewise.
6724 * grub-core/normal/auth.c (users): Likewise.
6725 * grub-core/normal/context.c (initial_menu): Likewise.
6726 (current_menu): Likewise.
6727 * grub-core/normal/crypto.c (crypto_specs): Likewise.
6728 * grub-core/term/serial.c (grub_serial_ports): Likewise.
6729 (grub_serial_terminfo_input_template): Likewise.
6730 (grub_serial_terminfo_output_template): Likewise.
6731 (grub_serial_terminfo_input): Likewise.
6732 (grub_serial_terminfo_output): Likewise.
6733 (registered): Likewise.
6734 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
6735
40fc4659
VS
67362011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6737
6738 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
6739 grub_video_mode_type_t.
6740 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
6741 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
6742 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
6743
2da48d28
VS
67442011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6745
6746 * util/grub-install.in: Correct the x86-64 name as x86_64.
6747
9b43bf39
CW
67482011-03-11 Colin Watson <cjwatson@ubuntu.com>
6749
6750 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
6751 initial chunk read from the kernel always includes GRUB's multiboot
6752 header, which is now outside the first sector.
6753
be1a7ce0
CW
67542011-03-09 Colin Watson <cjwatson@ubuntu.com>
6755
6756 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
6757 cached mmap_size, so that this works correctly when called multiple
6758 times.
6759 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
6760
83a3c48d
CW
67612011-03-09 Colin Watson <cjwatson@ubuntu.com>
6762
6763 * docs/grub.texi (Simple configuration): Tidy up formatting.
6764
57d75699
SJ
67652011-03-07 Szymon Janc <szymon@janc.net.pl>
6766
6767 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
6768 Set-but-not-used variable removed.
6769
028501a0
VS
67702011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6771
6772 Workaround yet another IEEE1275 bug.
6773
6774 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6775 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
6776 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
6777 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
6778 is set.
6779 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6780 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
6781
d998657d
VS
67822011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6783
6784 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
6785 error.
6786
fee7cdd4
CW
67872011-02-11 Colin Watson <cjwatson@ubuntu.com>
6788
6789 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
6790 empty, since in that case we can only generate either nothing or a
6791 syntactically invalid configuration file.
6792 Reported by: Michal Suchanek. Fixes Debian bug #612898.
6793
97286eb5
CW
67942011-02-09 Colin Watson <cjwatson@ubuntu.com>
6795
6796 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
6797 (Making a GRUB bootable CD-ROM): Likewise.
6798 (Invoking grub-mkrescue): New section.
6799 Reported by: Yann Dirson. Fixes Debian bug #612585.
6800
22b28eb3
CW
68012011-02-09 Colin Watson <cjwatson@ubuntu.com>
6802
6803 * util/grub-install.in: Remove unnecessary brackets from tr
6804 arguments.
6805 * util/grub.d/10_hurd.in: Likewise.
6806 * util/grub.d/10_kfreebsd.in: Likewise.
6807 * util/grub.d/10_linux.in: Likewise.
6808 * util/grub.d/20_linux_xen.in: Likewise.
6809 Reported by: Jamie Heilman. Fixes Debian bug #612564.
6810
7e735e43
CW
68112011-02-08 Colin Watson <cjwatson@ubuntu.com>
6812
6813 * include/grub/file.h (not_easly_seekable): Rename to ...
6814 (not_easily_seekable): ... this. Update all users.
6815
800f1881
CW
68162011-01-28 Colin Watson <cjwatson@ubuntu.com>
6817
6818 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
6819 grub-mkrescue.
6820
3281d3d6
VS
68212011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6822
6823 * util/grub-mkimage.c (generate_image): Refuse to create the images
6824 bigger than the actual flash (512K) in Loongson machines. 512K is also
6825 the biggest chip supported by them.
6826
3533413c
VS
68272011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6828
6829 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
6830
73ae4f4f
VS
68312011-01-22 Anthony DeRobertis <anthony@derobert.net>
6832
6833 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
6834 super_offset field.
6835
37f4f608
VS
68362011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6837
6838 * util/grub-install.in: Ignore install device on platforms
6839 where it doesn't make sense. Always use UUIDs except on pc, efi and
6840 sparc64.
6841 Reported by: Daniel Kahn Gillmor.
6842
03a4ccb5
VS
68432011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6844
6845 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
6846
ffc8f4d8
VS
68472011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6848
6849 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
6850 (iterate_real): Don't rely on partition being non-NULL.
6851
80f23be7
VS
68522011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6853
6854 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
6855 supported platforms. Put a compile time assert for this rather than
6856 generate a warning with 32-bit shift.
6857
5d4f4dd5
VS
68582011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6859
6860 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
6861 logical expression more readable.
6862
e489601a
VS
68632011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6864
6865 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
6866 even if some elements have a name.
6867 Reported by: Alexander GQ Gerasiov.
6868
96e0a6ea
CW
68692011-01-22 Colin Watson <cjwatson@ubuntu.com>
6870
6871 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
6872 path unreadable if `grub-probe -t abstraction' fails, for example if
6873 memberlist fails on an LVM volume group.
6874 Reported by: Darius Jahandarie.
6875
81431e2b
CW
68762011-01-22 Colin Watson <cjwatson@ubuntu.com>
6877
6878 * docs/grub.texi (Simple configuration): Document
6879 GRUB_PRELOAD_MODULES.
6880
5e79d66a
CW
68812011-01-17 Colin Watson <cjwatson@ubuntu.com>
6882
6883 * .bzrignore: Remove nonexistent grub-pbkdf2.
6884
646ada34
VS
68852011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6886
6887 * configure.ac: Bump version to 1.99~rc1.
6888
04360337
VS
68892011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
6890
6891 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
6892 for safety.
6893
46c9db88
VS
68942011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6895
6896 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
6897 module.
6898
68992011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
6900
6901 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
6902
4fbf1852
VS
69032011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6904
6905 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
6906 diskdevid.
6907
f1632d4d
VS
69082011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6909
6910 Fix compilation on cygwin.
6911
6912 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
6913 -R .drectve on cygwin.
6914 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
6915 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
6916 (COND_CYGWIN): New condition.
6917 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
6918 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
6919 not @TARGET_OBJ2ELF@.
6920 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
6921 type to determine whether aux is to be used.
6922
0b5e127b
VS
69232011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6924
6925 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
6926 realpath'ed device string.
6927 Handle floppy (somewhat).
6928 Issue error in unknown case rather than garbage.
6929 Reported by: Axel Beckert.
6930
173b71e9
VS
69312011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6932
6933 * util/grub.d/00_header.in (load_video): Handle the case when no video
6934 drivers available.
6935 Thanks to: Axel Beckert.
6936
f8f479db
VS
69372011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6938
6939 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
6940 variable. Fixes problem on big endian platforms.
6941
8fc0a245
VS
69422011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6943
6944 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
6945 It doesn't work well there.
6946
b8494fbe
VS
69472011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6948
6949 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
6950 warning.
6951 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
6952 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
6953 counter.
6954
b44a558c
VS
69552011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6956
6957 Use alias->path rather than buggy "canon".
6958
6959 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
6960 (ofdisk_hash_add): New argument curcan. All users updated.
6961
51fa856c
CW
69622011-01-11 Colin Watson <cjwatson@ubuntu.com>
6963
6964 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
6965
9da068a5
VS
69662011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6967
6968 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
6969 loadmask before doing any calculations. Use correct type for offset.
6970 (grub_linux_load64): Likewise.
6971
86205c94
CW
69722011-01-11 Colin Watson <cjwatson@ubuntu.com>
6973
6974 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
6975 with NULL.
6976 (console_grub_equivalences_unshift): Likewise.
6977 Reported by: Daniel Dehennin.
6978
4531a206
VS
69792011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6980
6981 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
6982 (set_env_limn_ro): Likewise.
6983 (GRUB_MOD_INIT): Likewise.
6984 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
6985 ARRAY_SIZE while on it.
6986 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
6987 * grub-core/normal/context.c (grub_env_export): Move from here ...
6988 * grub-core/kern/env.c (grub_env_export): ... here.
6989 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
6990 prefix.
6991 * grub-core/kern/main.c (grub_main): Export root and prefix.
6992 * include/grub/env.h (grub_env_export): Export.
6993 Reported by: Seth Goldberg.
6994
45146057
VS
69952011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6996
6997 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
6998 Take into account space used by ELF sections and multiboot palette.
6999 Reported by: Grégoire Sutre.
7000
f093110b
VS
70012011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7002
7003 * BUGS: New file.
7004
3395fe52
VS
70052011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7006
7007 Pass more appropriate video id to Linux.
7008
7009 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
7010 grub_video_get_driver_id and variable gfxpayloadforcelfb to
7011 fill have_vga.
7012 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
7013 shift params->lfb_size.
7014 * include/grub/i386/linux.h: Make an enume out of have_vga values.
7015
c2fa6cbb
VS
70162011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7017
7018 * util/grub-menulst2cfg.c: Add missing include of misc.h.
7019
b3ff6ff0
VS
70202011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7021
7022 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
7023 separator and pass bootpath/devid even if only one of them is available.
7024 Reported by: Seth Goldberg.
7025
ae67942e
VS
70262011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7027
7028 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
7029 implementations bug on them.
7030
7031 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
7032 memory.
7033 (filter_memory_map): Likewise.
7034
d570097a
VS
70352011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7036
7037 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
7038 Reported by: nebuchadnezzar.
7039
a508e776
VS
70402011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7041
7042 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
7043 Reported by: nebuchadnezzar.
7044
dcb883b1
VS
70452011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7046
7047 Submenu default support.
7048
7049 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
7050 auto_boot. All users updated.
7051 Declared static.
7052 Handle chosen and default with submenus.
7053 (grub_menu_execute_with_fallback): Declared static.
7054 Don't notify failure if autobooted. Upper level does it.
7055 (menuentry_eq): New function.
7056 (get_entry_number): Use menuentry_eq.
7057 (show_menu): New parameter "autobooted". All users updated.
7058 (grub_show_menu): Likewise.
7059 * include/grub/normal.h (grub_show_menu): Likewise.
7060 * include/grub/menu.h (grub_menu_execute_entry): Removed.
7061 (grub_menu_execute_with_fallback): Likewise.
7062
6fef99b4
VS
70632011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7064
7065 * util/grub-mklayout.c (usage): Update help text.
7066
47a77af5
VS
70672011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7068
7069 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
7070
ce6bb3ee
VS
70712011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7072
7073 * util/grub-menulst2cfg.c (main): Trim the line.
7074
db87be2a
VS
70752011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7076
7077 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
7078 (grub_machine_init): Don't check amount of low memory as reportedly
7079 INT 12h can be broken and if low memory is too low we wouldn't have
7080 gotten into grub_machine_init anyway.
7081
c49849cc
VS
70822011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7083
7084 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
7085 (grub_machine_mmap_iterate): Take low memory into account
7086
b1969b30
VS
70872011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7088
7089 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
7090 badfs.
7091 Reported by: TiCPU.
7092
cf0eaf13
VS
70932011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7094
7095 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
7096 members errors.
7097
1f060f39
GS
70982011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
7099
7100 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
7101 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
7102
a21e5672
GS
71032011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
7104
7105 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
7106 openbsd and netbsd types being in part_bsd module.
7107
c88172fa
VS
71082011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7109
7110 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
7111 (_FILE_OFFSET_BITS): Likewise.
7112 Reported by: Seth Goldberg.
7113
53798c4b
GS
71142011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7115
7116 * configure.ac: Check for libdevmapper header.
7117
e7121b69
VS
71182011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7119
7120 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
7121 avoid aliasing.
7122 (fzap_lookup): Likewise.
7123 (dnode_get): Likewise.
7124 (make_mdn): Likewise.
7125 (zfs_mount): Likewise.
7126 (fzap_iterate): Use temporary pointer to avoid aliasing.
7127 (grub_zfs_read): Likewise.
7128 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
7129 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
7130 pointers to avoid aliasing.
7131 (grub_cmd_xnu_kernel64): Likewise.
7132 (grub_xnu_load_driver): Likewise.
7133
fc836af9
VS
71342011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7135
7136 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
7137 aliasing warning.
7138 (grub_cmd_terminal_output): Likewise.
7139 Reported and tested by: Grégoire Sutre.
7140
f9f37648
VS
71412011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7142
7143 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
7144 warning.
7145 Reported and tested by: Grégoire Sutre.
7146
ec1dfd63
VS
71472011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7148
7149 * configure.ac: Do CPU substitution even if it's specified explicitly.
7150 Reported and tested by: Alain Greppin.
7151
9462775a
VS
71522011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7153
7154 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
7155 Reported and tested by: Alain Greppin.
7156
0fd48e35
VS
71572011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7158
7159 Satisfy some bison versions need for inttypes.h.
7160
7161 * grub-core/lib/posix_wrap/inttypes.h: New file.
7162 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
7163 (int16_t): Likewise.
7164 (int32_t): Likewise.
7165 (int64_t): Likewise.
7166 Reported and tested by: Alain Greppin.
7167
43f1bc83
VS
71682011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7169
7170 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
7171 Silence spurious warning.
7172 Reported and tested by: Alain Greppin.
7173
64d1f041
SJ
71742011-01-07 Szymon Janc <szymon@janc.net.pl>
7175
7176 * docs/grub.texi (Support automatic decompression): Update with xz
7177 decompression support.
7178
25953e10
SJ
71792011-01-07 Szymon Janc <szymon@janc.net.pl>
7180
7181 Improve loaders' kernel command line handling.
7182
7183 * grub-core/lib/cmdline.c: New file.
7184 * include/grub/lib/cmdline.h: Likewise.
7185 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
7186 grub_create_loader_cmdline to create kernel command line.
7187 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7188 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
7189 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
7190 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
7191 (linux): Add lib/cmdline.c on common.
7192
e72d259f
VS
71932011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7194
7195 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
7196 inopos might be unaligned.
7197
c0cf26da
VS
71982011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7199
7200 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
7201 endian transformations.
7202 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7203 Based on report by: Doug Nazar.
7204
0ca09e6c
DN
72052011-01-07 Doug Nazar <nazard.michi@gmail.com>
7206
7207 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
7208 array->members[i].start_sector.
7209 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
7210
014b6806
VS
72112011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7212
7213 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
7214 Reported and tested by: Grégoire Sutre.
7215
415502c2
CW
72162011-01-06 Colin Watson <cjwatson@ubuntu.com>
7217
7218 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
7219 avoid causing test failures by clearing the screen.
7220
71b6a2b7
CW
72212011-01-06 Colin Watson <cjwatson@ubuntu.com>
7222
7223 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
7224 Fix prefix check to handle the case where dir ends with a slash
7225 (most significantly, "/" itself).
7226 Reported by: Michael Vogt.
7227
b3f8d28a
VS
72282011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7229
7230 Run terminfo_cls on initing terminfo output to clear the screen and
7231 move the cursor to (0,0).
7232
7233 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
7234 Call grub_terminfo_output_init.
7235 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
7236 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
7237 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
7238
4c3e4f37
VS
72392011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7240
7241 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
7242 only when needed.
7243
488f71f1
VS
72442011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7245
7246 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
7247 CTRL.
7248
18a38098
VS
72492011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7250
7251 The E820 type 5 is BADRAM, not EXEC_CODE.
7252
7253 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
7254 (GRUB_E820_BADRAM): New define.
7255 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
7256 into reserved. Propagate BADRAM.
7257 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
7258 (GRUB_E820_BADRAM): New define.
7259
9eae2084
VS
72602011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7261
7262 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
7263 Ignore the memory post-4G.
7264 (grub_relocator_firmware_alloc_region): Additional debug statement.
7265
ebc71d28
VS
72662011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7267
7268 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
7269 names.
7270 Reported by: David Pravec.
7271
446fa400
VS
72722011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7273
7274 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
7275 BIOSes.
7276
a0159f37
VS
72772011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7278
7279 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
7280 Prevent overflow.
7281 (grub_reed_solomon_recover): Likewise.
7282
e5146ca1
VS
72832011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7284
7285 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
7286
72872011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
7288
7289 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
7290 variable.
7291
5b1bdf12
CW
72922011-01-04 Colin Watson <cjwatson@ubuntu.com>
7293
7294 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
7295 descriptions of extract_legacy_entries_source and
7296 extract_legacy_entries_configfile.
7297 Reported by: Seung Soo, Ha.
7298
99d925aa
CW
72992011-01-03 Colin Watson <cjwatson@ubuntu.com>
7300
7301 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
7302 on devices that do not implement function 0.
7303
4af0504b
DV
73042011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
7305
7306 * grub-core/fs/hfsplus.c: Make parent unsigned.
7307 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
7308 overflows.
7309 (grub_hfsplus_cmp_extkey): Likewise
7310
469ee10a
VS
73112011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7312
7313 * util/grub-install.in: Correctly use bootloader_id and not
7314 GRUB_DISTRIBUTOR on efibootmgr line.
7315
323a8e9c
VS
73162011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7317
7318 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
7319
1b394975
IC
73202010-12-31 Ian Campbell <ijc@hellion.org.uk>
7321
7322 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
7323 Xen and reorder menu item wording to make it clearer that this entry
7324 will launch Xen. Print separate messages when loading Xen and
7325 Linux.
7326
275bff5f
VS
73272010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7328
7329 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
7330 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
7331 loop in case of incorrect amiga partmap.
7332
307806cb
VS
73332010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7334
7335 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
7336 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
7337 Reported by:EHeM.
7338
b12b923e
VS
73392010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7340
7341 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
7342 spurious warning.
7343 Reported by: crocket
7344
14b48a19
VS
73452010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7346
7347 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
7348 Preload EFIemu.
7349 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
7350
693db2df
VS
73512010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7352
7353 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
7354 is loaded
7355 (grub_cmd_xnu_kextdir): Likewise.
7356 (grub_cmd_xnu_splash): Likewise.
7357
c7638645
VS
73582010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7359
7360 Avoid using Reed-Solomon with 0 redundancy.
7361
7362 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
7363 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
7364 or 0 redundancy.
7365 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
7366 (grub_reed_solomon_recover): Likewise.
7367
25dd4780
VS
73682010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7369
7370 Don't use disk subsystem in freebsd_boot.
7371
7372 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
7373 (freebsd_biosdev): Likewise.
7374 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
7375 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
7376
0b2db943
VS
73772010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7378
7379 Handling of files of unknown size is currently limited. They can't be
7380 used e.g. for initrd or modules. Moreover gzip handling of not
7381 easily seekable files is buggy. Disable unknown file size for now. May
7382 be inefficient but works.
7383
7384 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
7385 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
7386
5c408d0f
MP
73872010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
7388
7389 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
7390 floppy probe.
7391
190a011a
JD
73922010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
7393
7394 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
7395
022d01b8
SL
73962010-12-25 Shea Levy <shlevy>
7397
7398 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
7399
c4855fdc
VS
74002010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7401
7402 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
7403 Windows Server 2008.
7404 Reported by: Devin Giddings.
7405
0354b867
VS
74062010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7407
7408 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
7409 writing an error message because of async power management.
7410 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
7411 (grub_reboot): Likewise.
7412
ab66c69f
JU
74132010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
7414
7415 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
7416 keep unit tests from failing when they shouldn't.
7417
1426ef35
CW
74182010-12-21 Colin Watson <cjwatson@ubuntu.com>
7419
7420 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
7421 previous patch increased the size of the RS code by 20 bytes (at
7422 least with gcc-4.4), so increase this by 20 bytes to match.
7423 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
7424
20641b6b
CW
74252010-12-21 Colin Watson <cjwatson@ubuntu.com>
7426
7427 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
7428 scratch area. Make sure to initialise chosen in standalone mode as
7429 well as non-standalone.
7430 Reported by: Robert Hooker and Andy Whitcroft.
7431 Tested by: Andy Whitcroft.
7432
d060ad60
CW
74332010-12-21 Colin Watson <cjwatson@ubuntu.com>
7434
7435 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
7436 constructing a new unescaped string and passing it to grub_xputs in
7437 one go, rather than passing characters to grub_printf one at a time.
7438
b889cfad
CW
74392010-12-21 Colin Watson <cjwatson@ubuntu.com>
7440
7441 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
7442 initialising utf16.
7443
4e01b6c8
CW
74442010-12-21 Colin Watson <cjwatson@ubuntu.com>
7445
7446 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
7447 comment. Add an extra layer of quotation, requiring the output of
7448 this function to be used in a printf format string.
7449 (gettext_printf): New function.
7450 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
7451 Extract translatable strings from here-documents and use a temporary
7452 variable instead, so that xgettext can find them.
7453 * util/grub.d/10_kfreebsd.in: Likewise.
7454 * util/grub.d/10_linux.in: Likewise.
7455 * util/grub.d/20_linux_xen.in: Likewise.
7456
7457 * po/grub.d.sed: New file.
7458 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
7459 arguments. Set c-format flags on all strings extracted from
7460 util/grub.d/ (xgettext refuses to include these itself for strings
7461 it extracted from a shell file, but these really are c-format).
7462
5318fe98
VS
74632010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7464
7465 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
7466 Avoid next pointing to nowhere.
7467
6c85b743
VS
74682010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7469
7470 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
7471 rather than assuming than rootblock is exactly in the middle.
7472 (grub_affs_label): Likewise.
7473
a2a08a35
VS
74742010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7475
7476 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
7477 reserved_first_sector to 0.
7478 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
7479 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
7480 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
7481
7059d1ec
VS
74822010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7483
7484 Fix handling of UTF-16 UDF labels.
7485
7486 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
7487 (read_string): .. here.
7488 (grub_udf_label): Use read_string.
7489
30aff4cb
BC
74902010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
7491
7492 * grub-core/normal/menu_entry.c (run): Execute commands from menu
7493 editor under argument scope.
7494 Reported by: Jordan Uggla
7495
5cf86f4b
VS
74962010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7497
7498 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
7499
32570200
CW
75002010-12-18 Colin Watson <cjwatson@ubuntu.com>
7501
7502 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
7503 line, and other keys scroll an entire page (previous handling was
7504 for \r and \n to scroll a page and other keys to scroll two lines).
7505
e1dffcf2
VS
75062010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7507
7508 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
7509 Set ptrdest to correct get_physical_target_address rather than
7510 incorrect get_virtual_current_address.
7511
b04298cf 75122010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
7513
7514 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
7515 correct cat to grub_uint8_t * rather than grub_uint32_t *.
7516
5367ecd3
CW
75172010-12-10 Colin Watson <cjwatson@ubuntu.com>
7518
7519 * .bzrignore: Ignore grub-core/rs_decoder.S.
7520
1fb430f8
CW
75212010-12-10 Colin Watson <cjwatson@ubuntu.com>
7522
7523 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
7524 .mo/.mo.gz opening sequence to ...
7525 (grub_mofile_open_lang): ... here.
7526 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
7527 * util/grub.d/00_header.in (grub_lang): Include country part of
7528 locale.
7529 Reported by: Mario Limonciello.
7530
a94a6671
RM
75312010-12-09 Robert Millan <rmh@gnu.org>
7532
7533 * NEWS: Document addition of ZFS support.
7534
24b7938b
CW
75352010-12-04 Colin Watson <cjwatson@ubuntu.com>
7536
7537 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
7538 rather than `/ 2', as the latter requires -Wa,--divide which would
7539 require bumping our minimum binutils version.
7540
bddc3ef6
BC
75412010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
7542
7543 * util/grub-script-check.c (main): Print script line number on
7544 error.
7545
bf78d5b2
RM
75462010-12-01 Robert Millan <rmh@gnu.org>
7547
7548 * grub-core/fs/zfs/zfs.c: New file.
7549 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
7550 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
7551 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
7552 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7553
7554 * include/grub/zfs/dmu.h: Likewise.
7555 * include/grub/zfs/dmu_objset.h: Likewise.
7556 * include/grub/zfs/dnode.h: Likewise.
7557 * include/grub/zfs/dsl_dataset.h: Likewise.
7558 * include/grub/zfs/dsl_dir.h: Likewise.
7559 * include/grub/zfs/sa_impl.h: Likewise.
7560 * include/grub/zfs/spa.h: Likewise.
7561 * include/grub/zfs/uberblock_impl.h: Likewise.
7562 * include/grub/zfs/vdev_impl.h: Likewise.
7563 * include/grub/zfs/zap_impl.h: Likewise.
7564 * include/grub/zfs/zap_leaf.h: Likewise.
7565 * include/grub/zfs/zfs.h: Likewise.
7566 * include/grub/zfs/zfs_acl.h: Likewise.
7567 * include/grub/zfs/zfs_znode.h: Likewise.
7568 * include/grub/zfs/zil.h: Likewise.
7569 * include/grub/zfs/zio.h: Likewise.
7570 * include/grub/zfs/zio_checksum.h: Likewise.
7571
7572 * Makefile.util.def: Build ZFS into libgrubmods.
7573 * grub-core/Makefile.core.def: Build zfs.mod.
7574
3f0f3831
SJ
75752010-11-30 Szymon Janc <szymon@janc.net.pl>
7576
7577 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
7578 variable.
7579 * grub-core/commands/wildcard.c (match_files): Likewise.
7580
3a4253b2
RM
75812010-11-30 Robert Millan <rmh@gnu.org>
7582
7583 * grub-core/loader/i386/bsd.c
7584 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
7585 whether kernel is loaded using grub_loader_is_loaded(), rather
7586 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
7587 certain error conditions.
7588
8c317b27
RM
75892010-11-30 Robert Millan <rmh@gnu.org>
7590
c5c9cd3e
RM
7591 * grub-core/commands/echo.c: Include `<grub/term.h>'.
7592 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 7593
49d3ab46
VS
75942010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
7595
7596 Avoid using tricks for initialising endian variables.
7597
7598 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
7599 Make const.
7600 (GRUB_MOD_INIT): Don't byte-swap.
7601 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
7602 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
7603 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
7604 (grub_swap_bytes32_compile_time): Likewise.
7605 (grub_cpu_to_le32_compile_time): Likewise.
7606 (grub_cpu_to_le16_compile_time): Likewise.
7607
f420a804
VS
76082010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
7609
7610 * util/grub-setup.c (setup): Stop recommending --force. People who
7611 understand the dangers of blocklists are able to find this option
7612 anyway and the ones who don't shouldn't use it anyway.
7613
4e7db17b
RM
76142010-11-26 Robert Millan <rmh@gnu.org>
7615
7616 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
7617 Update all users.
7618
9be57a0d
CW
76192010-11-26 Colin Watson <cjwatson@ubuntu.com>
7620
7621 Fix LVM-on-RAID probing.
7622
7623 * util/grub-probe.c (probe): Remember which disk was detected as
7624 RAID (perhaps an LVM physical volume). Use that disk's raidname
7625 rather than that of the top-level disk.
7626
2c7859b3 76272010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 7628
d7647bb6
BC
7629 Fix cmdline argument quotes for setparams command of menuentry
7630 definitions.
7e623b0d
BC
7631
7632 * grub-core/commands/menuentry.c (setparams_prefix): Use single
7633 quotes for arguments.
f866fe80 7634 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 7635 grub_strchrsub function instead.
f866fe80 7636
7955bea0 7637 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 7638
74f72a64
CW
76392010-11-24 Colin Watson <cjwatson@ubuntu.com>
7640
7641 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
7642 effort by skipping "." and ".." entries up-front.
7643 Suggested by: Michael Lazarev.
7644
5a407278
CW
76452010-11-24 Colin Watson <cjwatson@ubuntu.com>
7646
7647 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
7648 ldflags to ldadd, to fix link line ordering.
7649 (none_decompress): Likewise.
7650
3030d8ec
CW
76512010-11-24 Colin Watson <cjwatson@ubuntu.com>
7652
7653 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
7654 platforms.
7655 (grub-emu-lite): Remove kern/emu/cache.S.
7656
b7fbac12
CW
76572010-11-23 Colin Watson <cjwatson@ubuntu.com>
7658
7659 * util/deviceiter.c (compare_devices): If the by-id link for a
7660 device couldn't be resolved, fall back to sorting by the by-id link
7661 rather than segfaulting.
7662 Reported and tested by: Daniel Mierswa.
7663
5225f328
CW
76642010-11-23 Colin Watson <cjwatson@ubuntu.com>
7665
7666 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
7667 ldflags, to fix link line ordering.
7668
038b3ce8
CW
76692010-11-23 Colin Watson <cjwatson@ubuntu.com>
7670
7671 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
7672 linkers are picky about this.
7673
bf16e98e
CW
76742010-11-23 Colin Watson <cjwatson@ubuntu.com>
7675
7676 * grub-core/Makefile.am (command.lst): Adjust sed expression
7677 ordering so that extended and priority commands aren't treated as
7678 ordinary commands.
7679
7242bab6
CW
76802010-11-23 Colin Watson <cjwatson@ubuntu.com>
7681
7682 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
7683 Remove byte-swapping function calls, which are not valid in
7684 structure initialisers.
7685 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
7686 non-const.
7687 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
7688 grub_gpt_partition_type_bios_boot.
7689
14e8b279
CW
76902010-11-22 Colin Watson <cjwatson@ubuntu.com>
7691
7692 Fix test program build on GNU/kFreeBSD.
7693
7694 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
7695 $(LIBNVPAIR)' library dependencies.
7696
e6f63338 76972010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
7698
7699 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
7700
cf8ffc38
CW
77012010-11-22 Colin Watson <cjwatson@ubuntu.com>
7702
7703 * util/grub-install.in: Remove excessive quoting that broke
7704 installations to RAID devices.
7705
7f8b0fd7
VS
77062010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7707
7708 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
7709 bootloader version instead of 0.
7710
dfd240b1
VS
77112010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7712
7713 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
7714 warning.
7715
7b61e609
VS
77162010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7717
7718 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
7719 retrieve the metadat sector if size isn't known.
7720 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7721
9dfe92d0
RM
77222010-11-18 Robert Millan <rmh@gnu.org>
7723
7724 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
7725 with grub_memcmp().
7726
41cc919e
VS
77272010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
7728
7729 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
7730 arrow.
7731 Reported by: Jordan Uggla.
7732
1afcc914
VS
77332010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7734
7735 Make better UTF compliant.
7736
7737 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
7738 sequences as incorrect.
7739 (grub_is_valid_utf8): Likewise.
7740 (grub_utf8_to_ucs4): Likewise.
7741 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
7742 (grub_ucs4_to_utf8_alloc): Likewise.
7743 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
7744
f1808884
VS
77452010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7746
7747 Make legacy_source behave like source.
7748
7749 * grub-core/commands/legacycfg.c (legacy_file): Don't call
7750 grub_show_menu.
7751 (grub_cmd_legacy_source): Call grub_show_menu if needed.
7752
24ec575b
CW
77532010-11-16 Colin Watson <cjwatson@debian.org>
7754
7755 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
7756 (-Wunused implies -Wunused-parameter, but not vice versa).
7757
72b7c7aa
CW
77582010-11-16 Colin Watson <cjwatson@ubuntu.com>
7759
7760 * configure.ac: Make error messages less confusing by testing for
7761 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
7762 accepted, but produces a diagnostic if something else is wrong).
7763
e98937aa
VS
77642010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7765
7766 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
7767 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
7768 (now unused).
7769 (grub_keyboard_controller_init)
7770 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
7771 read the initial state since controller isn't inited yet.
7772
f6bbabc3
VS
77732010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7774
7775 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
7776 allocate_regbeg may need to create new chunk header.
7777
22e7dbb2
VS
77782010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7779
7780 Fix quoting in legacy parser.
7781
7782 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
7783 single quotes.
7784 (grub_legacy_parse): Likewise.
7785 Reported by: Jordan Uggla.
7786 Tested by: Jordan Uggla.
7787
03f80960
VS
77882010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7789
7790 Don't add -lgcc on i386 and x86_64.
7791
7792 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
7793 * conf/Makefile.common (LDADD_KERNEL): Likewise.
7794 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
7795
779dc15b
VS
77962010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7797
7798 * configure.ac: Add -Wno-trampolines when supported.
7799
d20a3b37
MV
78002010-11-14 Modestas Vainius <modax@debian.org>
7801
7802 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
7803 fakeraid.
7804
e5360933
GC
78052010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7806
7807 Add generic logical block size support for UDF.
7808
7809 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
7810 (GRUB_UDF_BLKSZ): Removed.
7811 (struct grub_udf_data): New field "lbshift" to hold the logical block
7812 size of the file system in log2 format. All users updated.
7813 (sblocklist): Change type to unsigned.
7814 (grub_udf_mount): Change type of "sblklist" to unsigned.
7815 Move AVDP search before VRS recognition, because the latter requires
7816 knowledge of the logical block size, which is detected during the
7817 former.
7818 Detect and validate logical block size during AVDP search, adding
7819 support for block sizes 512, 1024 and 4096.
7820 Make VRS recognition independent of block size.
7821
cb0229c5
GC
78222010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7823
7824 Properly handle deleted files on UDF.
7825
7826 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
7827 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
7828 set.
7829
406858a8
GC
78302010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7831
7832 Support reading files larger than 2 GiB.
7833
7834 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
7835 "offset" to grub_off_t.
7836 (grub_udf_read_file): Likewise for parameter "pos".
7837
130da6a7
VS
78382010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7839
7840 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
7841 unavailable.
7842 (Simple configuration): Refer to Changes from GRUB Legacy about
7843 save_env availability.
7844
65e93f6b
VS
78452010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7846
7847 * util/grub-install.in: Ignore empty partition table detection
7848 instead of trying to include part_ module.
7849
1fd08bf1
VS
78502010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7851
7852 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
7853 LVM on RAID support.
7854
de1a024f
VS
78552010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7856
7857 Properly define WORDS_BIGENDIAN in wrapped environments.
7858
7859 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
7860 definition.
7861 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
7862
7863 Reported by: Manoel Rebelo Abranches.
7864 Tested by: Manoel Rebelo Abranches.
7865
bc5dd0b9
VS
78662010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7867
7868 * util/grub-mkconfig.in: Fix quoting.
7869
58c184be
VS
78702010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7871
7872 Support big ext2 files.
7873
7874 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
7875 (grub_ext2_read_block): Support triple indirect blocks.
7876 (grub_ext2_read_file): Use 64-bit types and read size_high.
7877 (grub_ext2_open): Read size_high.
7878 Reported by: Ximin Luo.
7879 Tested by: Manoel Rebelo Abranches.
7880
5f0c02b3
VS
78812010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7882
7883 * util/grub-install.in: Handle filenames containing spaces.
7884 Reported by: Jordan Uggla.
7885 Tested by: Jordan Uggla.
7886
4417aae6
VS
78872010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7888
7889 * util/grub-mkconfig.in (grub_script_check): New variable.
7890 Use grub_script_check instead of grub-script-check.
7891 Reported by: Barry Jackson.
7892
7625a68e
VS
78932010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7894
7895 * docs/grub.texi (menu): Correct the order.
7896 Reported by: D. Hugh Redelmeier.
7897
10001ac5
VS
78982010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7899
7900 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
7901 jump.
7902
9c4cf53b
MRA
79032010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
7904
10001ac5
VS
7905 * include/grub/elfload.h (grub_elf32_size): New parameter.
7906 All users updated.
9c4cf53b
MRA
7907 Return maximum segments alignment.
7908 (grub_elf64_size): Likewise.
7909 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
7910 Return maximum segments alignment.
7911 (grub_elf64_size): Likewise.
7912 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
7913 (grub_linux_claimmap_iterate): New function. Uses the
7914 "available" property in the "memory" node for memory allocation
7915 for kernel in the PowerPC loader.
9c4cf53b
MRA
7916 (grub_linux_load32): Correctly find linux entry point offset.
7917 (grub_linux_load64): Likewise.
7918
d2bf06bf
RM
79192010-11-07 Robert Millan <rmh@gnu.org>
7920
7921 On mips-yeeloong, build with -march=loongson2f when this flag is
7922 available (GCC >= 4.4).
7923 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
7924 `-march=mips3'.
7925 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
7926 or otherwise add -march=mips3.
7927
898c99a2
BC
79282010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
7929
87220a68
BC
7930 Suppress shell expansion on echo '*' and echo "*" like cases.
7931 Reported by: Jordan Uggla.
898c99a2
BC
7932
7933 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
7934 string arguments before shell expansion.
7935 * tests/grub_cmd_echo.in: New testcases.
7936
4f9b406a
RM
79372010-11-07 Robert Millan <rmh@gnu.org>
7938
7939 * conf/mips-qemu-mips.rmk: Remove stale file from previous
7940 transition.
7941
80c6d25e
VS
79422010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
7943
7944 * grub-core/kern/emu/hostdisk.c
7945 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
7946
4a1a0153
VS
79472010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7948
7949 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
7950 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
7951 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
7952
34706ddc
VS
79532010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7954
7955 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
7956
6972dea9
VS
79572010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7958
7959 * util/grub-install.in: Replace useless recomendation to pass
7960 --modules with a recomendation to report a bug.
7961
9c693bd6
VS
79622010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7963
7964 Properly register serial terminfo.
7965 Reported by: Jordan Uggla
7966
7967 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
7968 const.
7969 (grub_serial_terminfo_output_template): Likewise.
7970 (grub_cmd_serial): Register "serial" with terminfo.
7971 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
7972 grub_serial_terminfo_output.
7973
6c9e4c0c
RM
79742010-11-05 Robert Millan <rmh@gnu.org>
7975
7976 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
7977 needed).
7978
b9b3839f
RM
79792010-11-05 Robert Millan <rmh@gnu.org>
7980
7981 On Yeeloong, pass machine type information to Linux.
7982
7983 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
7984 (LOONGSON_MACHTYPE): New macro, set to
7985 "machtype=lemote-yeeloong-2f-8.9inches".
7986 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
7987 additional argument to Linux.
7988
1a3aaff4
RM
79892010-11-04 Robert Millan <rmh@gnu.org>
7990
7991 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
7992 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
7993 (its SATA disks are detected as slaveless IDE master drives on
7994 kFreeBSD).
7995 Reported by Carsten Aulbert.
7996
a75f4f62
CW
79972010-11-02 Colin Watson <cjwatson@ubuntu.com>
7998
7999 * util/bin2h.c (main): Fix spelling error in generated output.
8000
33b4b0c6
GS
80012010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
8002
8003 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
8004
2b36fbf4
VS
80052010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8006
8007 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
8008 vga= option is supplied.
8009
74aaf558
VS
80102010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8011
8012 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
8013 * util/grub.d/10_kfreebsd.in: Likewise.
8014 * util/grub.d/10_linux.in: Likewise.
8015 * util/grub.d/20_linux_xen.in: Likewise.
8016
6428dec3
VS
80172010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8018
8019 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
8020 argument as an argument to no-argument option.
8021
f8729d98
VS
80222010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8023
8024 * util/grub.d/10_linux.in: Add missing load_video with explicit
8025 GRUB_GFXPAYLOAD_LINUX.
8026
89d68fa6
VS
80272010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8028
8029 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
8030
3a1197cd
VS
80312010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8032
8033 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
8034 elements with invlid index.
8035 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8036 * grub-core/disk/raid.c (insert_array): Automatically reallocate
8037 members.
8038 * include/grub/raid.h (grub_raid_member): New struct.
8039 (grub_raid_array): Transform devices and start_sector into usage of
8040 grub_raid_member. All users updated
8041 (allocated_devs): New member.
8042
71574288
VS
80432010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8044
8045 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
8046 is modified
8047
8d40ec65
BC
80482010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
8049
8050 NetBSD build fix for getline function conflict from gnulib.
8051
8052 * Makefile.util.def (libgrubkern.a): New library for grub kernel
8053 components that depend on gnulib headers.
8054 (libgrubmods.a): Renamed from earlier libgrub.a.
8055 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
8056
95b9257e
VS
80572010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8058
8059 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
8060 install rather than creating a broken install.
8061
26c53dc6
VS
80622010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8063
8064 * util/grub-setup.c (argp): Remove misleading example of installing to
8065 a partition.
8066
4171b3c5
VS
80672010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8068
8069 * util/grub-setup.c (setup): Clarify the error message.
8070
18568d18
VS
80712010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8072
8073 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
8074
4f6a2e21
VS
80752010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8076
8077 * grub-core/kern/emu/misc.c
8078 (grub_make_system_path_relative_to_its_root)
8079 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
8080
80812010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
8082
8083 * grub-core/kern/emu/misc.c
8084 (grub_make_system_path_relative_to_its_root): Revert r2882.
8085
e138c458
VS
80862010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
8087
8088 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
8089 useless field head. All users updated.
8090 (free_subchunk): Correct handling of IN_REGION subchunk.
8091
0cbcdf0e
CW
80922010-10-22 Colin Watson <cjwatson@ubuntu.com>
8093
8094 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
8095 (Supported kernels): Likewise.
8096
b65ea155
GS
80972010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
8098
8099 Make mktemp invocations portable.
8100
8101 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
8102 exit if mktemp fails.
8103 * tests/grub_script_blockarg.in: Likewise.
8104 * tests/partmap_test.in: Likewise.
8105 * tests/util/grub-shell-tester.in: Likewise.
8106 * tests/util/grub-shell.in: Likewise.
8107 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8108 * Makefile.am: Likewise, and chain shell commands with `&&'
8109 instead of ';'.
8110 * util/grub-mkrescue.in: Use the same explicit template as above, and
8111 exit if mktemp fails.
8112
05f43cdd
BC
81132010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
8114
8115 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
8116 Linux kernel, reported by Dennis Schridde.
8117
800e6a9b
SJ
81182010-10-17 Szymon Janc <szymon@janc.net.pl>
8119
8120 * grub-core/normal/auth.c (grub_auth_check_authentication):
8121 Set-but-not-used variable removed.
8122
d82df574
VS
81232010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8124
8125 * docs/grub.texi (GNU/Linux): Document APM unavailability with
8126 32-bit linux protocol.
8127
7bced458
VS
81282010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8129
8130 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
8131 cursor shape for sanity.
8132
5b027690
VS
81332010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8134
8135 * docs/grub.texi (Installation): Document buggy BIOS install.
8136
ba5f65cf
VS
81372010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8138
8139 * docs/grub.texi (Installation): Indent.
8140
fdf2ec9c
VS
81412010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8142
8143 * util/grub-setup.c (setup): New parameter allow_floppy.
8144 (arguments): New member allow_floppy.
8145 (argp_parser): Handle --allow-floppy.
8146 (main): Pass allow_floppy.
8147 * util/grub-install.in: New option --allow-floppy passed though to
8148 grub-setup.
8149
861dfd4c
VS
81502010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8151
8152 * util/grub-install.in: Handle partitionless disks.
8153
f77a8c24
VS
81542010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8155
8156 * util/grub-setup.c (setup): Don't clean blocklists before readability
8157 verfification.
8158
27d9ee32
VS
81592010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8160
8161 * docs/grub.texi (Installation): Document embedding zone. Remove
8162 obsolete grub-install example.
8163
6bdda8f8
SJ
81642010-10-16 Szymon Janc <szymon@janc.net.pl>
8165
8166 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
8167 Set-but-not-used variable ifdef'ed.
8168 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
8169 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
8170 variable removed.
8171 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
8172 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
8173 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
8174 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
8175 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
8176 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
8177 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
8178 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
8179 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
8180 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
8181 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
8182 Likewise.
8183
e19b016b
VS
81842010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8185
8186 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
8187 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
8188 enum value.
8189
6c8d3002
VS
81902010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8191
8192 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
8193 synonym to _S5_. Needed for some DSDTs.
8194
c32b51c9
VS
81952010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8196
8197 Userspace ACPI parser debugging.
8198
8199 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
8200 headers and add relevant defines. Don't include standard headers.
8201 (main) [GRUB_DSDT_TEST]: New function.
8202 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
8203 Don't declare functions.
8204
fbfbeb39
VS
82052010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8206
8207 Remove dead grub_efi_mm_fini.
8208
8209 * grub-core/kern/efi/mm.c (allocated_page): Removed.
8210 (ALLOCATED_PAGES_SIZE): Likewise.
8211 (MAX_ALLOCATED_PAGES): Likewise.
8212 (allocated_pages): Likewise.
8213 (grub_efi_allocate_pages): Don't record allocated pages.
8214 (grub_efi_free_pages): Likewise.
8215 (grub_efi_mm_init): Likewise.
8216 (grub_efi_mm_fini): Removed.
8217
65f7ed7c
VS
82182010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8219
8220 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
8221 (grub_efi_mm_init): Take into account the memory map size increase.
8222
24977b44
VS
82232010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8224
8225 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
8226 (serial_hw_put): Wait based on real time rather than port reads. Don't
8227 roken ports.
8228 * include/grub/serial.h (grub_serial_port): New field broken.
8229
1eb01cd2
RM
82302010-10-16 Robert Millan <rmh@gnu.org>
8231
8232 * grub-core/kern/emu/misc.c
8233 (grub_make_system_path_relative_to_its_root): Fix premature return
8234 when processing non-root ZFS filesystems.
5f8b440b 8235 Reported by Sergio Talens-Oliag.
1eb01cd2 8236
2d5fed60
RM
82372010-10-15 Robert Millan <rmh@gnu.org>
8238
8239 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
8240 guarantee compressed ones are processed first.
8241
d0f4c1ea
VS
82422010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8243
8244 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
8245 grub_efiemu_autocore.
8246
d87c681f
VS
82472010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8248
8249 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
8250 rather than 0x1b.
8251 (grub_console_getkey): Use correct jae opcode rather than ja.
8252
219b3564
RM
82532010-10-12 Robert Millan <rmh@gnu.org>
8254
8255 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
8256 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
8257 variable. All references updated.
8258
8259 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
8260
20c6bb7e
VS
82612010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
8262
8263 Correctly distinguish mdraid flavours.
8264
8265 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
8266 (insert_array): New argument raid.
8267 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
8268 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
8269 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
8270
74baff84
VS
82712010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
8272
8273 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
8274 handling of special keys.
8275
3ef068df 82762010-10-02 Aleš Nesrsta <starous@volny.cz>
8277
c7980ad9
VS
8278 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
8279 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 8280
a9455194 82812010-10-02 Aleš Nesrsta <starous@volny.cz>
8282
c7980ad9
VS
8283 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
8284 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
8285 users updated.
a9455194 8286 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 8287 Use right endpoint when querying descriptor.
a9455194 8288
441cfe65
VS
82892010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
8290
8291 Clear out 0x80 color bit on EFI.
8292 Tested by: decoder
8293 Reported by: decoder and meta tech.
8294
8295 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
8296 (grub_console_setcolorstate): Clear out 0x80 bit.
8297 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
8298 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
8299 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
8300
bf26bcc4
VS
83012010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
8302
8303 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
8304 Set to "auto".
8305
6e3c515d
VS
83062010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8307
8308 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
8309 mo_file after freeing.
8310
e6d983ba
VS
83112010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8312
8313 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
8314
74ccb5b5
VS
83152010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8316
8317 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
8318 flags.
8319
17821956
VS
83202010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8321
8322 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
8323 usage.
8324
ee74fa48
VS
83252010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8326
8327 Put terminfo into core on ieee1275 and yeeloong (needed for console).
8328
8329 * gentpl.py: New groups terminfoinkernel and terminfomodule.
8330 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
8331 and terminfo.h when needed.
8332 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
8333 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
8334 (terminfo): Enable only on terminfokernel.
8335 (extcmd): Likewise.
8336 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
8337 * include/grub/lib/arg.h: Likewise.
8338 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
8339 incorrect usage of ->.
8340
aa438e68
VS
83412010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8342
8343 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
8344 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
8345
57994012
VS
83462010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8347
8348 Fix coreboot compilation.
8349
8350 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8351 Take VBE info into account even if only text is supported.
8352 (fill_vbe_info): Take into account the case when only VGA text
8353 is supported.
8354 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
8355 on coreboot, multiboot and qemu.
8356
2a406611
VS
83572010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8358
8359 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
8360 debug messages.
8361 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
8362
d33613fc
VS
83632010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8364
8365 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
8366 parameters.
8367
44a1b432
VS
83682010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8369
8370 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
8371 if they were BSD-style.
8372
edde54e6
VS
83732010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8374
8375 * grub-core/boot/i386/pc/lnxboot.S: Replace
8376 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
8377 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
8378
b65830fa
VS
83792010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8380
8381 Write embedding zone using Reed-Solomon.
8382
8383 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
8384 * grub-core/Makefile.am (rs_decoder.S): New target.
8385 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
8386 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
8387 (multiboot): Move to RS part.
8388 (post_reed_solomon): New label.
8389 (grub_boot_drive): Move to non-RS part since it's modified in memory
8390 on boot.
8391 Include rs_decoder.S.
8392 * grub-core/lib/reed_solomon.c: New file.
8393 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
8394 New definition.
8395 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
8396 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
8397 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
8398 * include/grub/partition.h (grub_partition_map): Change prototype of
8399 embed to allow returning additional sectors.
8400 * include/grub/reed_solomon.h: New file.
8401 * util/grub-setup.c (setup): Handle Reed-Solomon.
8402
0b4b227f
CW
84032010-09-28 Colin Watson <cjwatson@ubuntu.com>
8404
8405 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
8406 i386 and x86-64 definedness tests.
8407
f772623b
YB
84082010-09-27 Yves Blusseau <blusseau@zetam.org>
8409
8410 Fix generation of kernel_syms.lst
8411
8412 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
8413 ASM_PREFIX
8414
8e57a6ca
RM
84152010-09-26 Robert Millan <rmh@gnu.org>
8416
8417 Support degraded ZFS arrays in "grub-probe -t device" resolution.
8418
8419 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
8420 the pool is an array of devices, iterate through it and return the
8421 first device that passes a stat() test (instead of blindly returning
8422 the first one).
8423
f9130836
RM
84242010-09-26 Robert Millan <rmh@gnu.org>
8425
8426 Build fixes for GNU/kFreeBSD.
8427
8428 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
8429 to programs that require ZFS conversion.
8430 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
8431 kernels that don't have FLOPPY_MAJOR.
8432
96510faf
BC
84332010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
8434
8435 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
8436
449333eb
BC
84372010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
8438
8439 Fix grub-emu build.
8440
8441 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
8442 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
8443 mdraid09 and mdraid1x.
8444
e1fd1939
CW
84452010-09-24 Colin Watson <cjwatson@ubuntu.com>
8446
8447 Re-enable grub-extras.
8448
8449 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
8450 avoid confusing Automake. Run autogen only twice, once for the top
8451 level and once for grub-core. Add Makefile.util.def and
8452 Makefile.core.def from extra modules to the appropriate autogen
8453 invocations. If Makefile.common exists in an extra module, include
8454 it in both Makefile.util.am and grub-core/Makefile.core.am;
8455 similarly, include any Makefile.util.common file in Makefile.util.am
8456 and any Makefile.core.common file in grub-core/Makefile.core.am.
8457 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
8458 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
8459 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
8460 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
8461
8462 * gentpl.py (gvar_add): Turn GVARS into a set.
8463 (global_variable_initializers): Sort global variables on output.
8464 (vars_init): New function.
8465 (first_time): Likewise.
8466 (library): Ensure that non-global variable initialisations are
8467 emitted before the first time we emit code for a library block.
8468 Append to variables rather than setting them. Only emit
8469 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
8470 each conditional path.
8471 (program): installdir() emits an Autogen macro, so must be passed to
8472 var_add rather than gvar_add.
8473 (data): Likewise.
8474 (script): Likewise.
8475 (rules): New function, centralising handling for different target
8476 types. Set up Guile association lists for first_time and vars_init,
8477 and send most output to a diversion so that variable initialisations
8478 can be emitted first.
8479 (module_rules): Use new rules function.
8480 (kernel_rules): Likewise.
8481 (image_rules): Likewise.
8482 (library_rules): Likewise.
8483 (program_rules): Likewise.
8484 (script_rules): Likewise.
8485 (data_rules): Likewise.
8486
8487 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
8488
8489 * .bzrignore: Add contrib and grub-core/contrib. Remove
8490 grub-core/Makefile.gcry.am.
8491
1d12cf29
YB
84922010-09-24 Yves Blusseau <blusseau@zetam.org>
8493
8494 * grub-core/lib/LzFind.c: Add missing include.
8495 * grub-core/lib/LzmaEnc.c: Likewise.
8496 * grub-core/script/lexer.c: Likewise.
8497 * grub-core/script/yylex.l: Likewise.
8498 * util/grub-macho2img.c: Likewise.
8499 * util/grub-menulst2cfg.c: Likewise.
8500 * util/grub-mklayout.c: Likewise.
8501 * util/grub-mkpasswd-pbkdf2.c
8502 * util/grub-mkrelpath.c: Likewise.
8503 * util/resolve.c: Likewise.
8504
dd363028
BC
85052010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
8506
8507 * Makefile.util.def (example_unit_test): Add
8508 grub-core/gnulib/libgnu.a.
8509
f5a109e2
GS
85102010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
8511
8512 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
8513
6d0fa83c
VS
85142010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
8515
8516 Support xz compression on yeeloong.
8517
8518 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
8519 * configure.ac: Check for LZMA.
8520 * grub-core/Makefile.core.def (xz_decompress): New target.
8521 (none_decompress): Likewise.
8522 * grub-core/boot/decompressor/minilib.c: New file.
8523 * grub-core/boot/decompressor/none.c: Likewise.
8524 * grub-core/boot/decompressor/xz.c: Likewise.
8525 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
8526 * grub-core/kern/mips/cache_flush.S: Likewise.
8527 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
8528 * grub-core/kern/mips/startup.S: Move first stage to ...
8529 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
8530 nomacro.
8531 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
8532 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
8533 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
8534 Allocate statically.
8535 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
8536 Allocate statically or use scratch. Don't check CRC32.
8537 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
8538 Allocate statically. Don't check CRC32.
8539 * include/grub/decompressor.h: New file.
8540 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
8541 Removed.
8542 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
8543 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
8544 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
8545 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
8546 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
8547 * util/grub-mkimage.c (grub_compression_t): New type.
8548 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
8549 (image_target_desc): New field default_compression.
8550 (image_targets): Adjust yeeloong targets.
8551 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
8552 (compress_kernel): New parameter comp.
8553 (generate_image): Likewise. Handle new compression case.
8554 (options): New option --compression
8555 (help): Likewise.
8556 (main): Handle new option.
8557
1b655af6
GS
85582010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
8559
8560 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
8561
8f03f0b5
CW
85622010-09-22 Colin Watson <cjwatson@ubuntu.com>
8563
8564 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
8565 typo in __i386__ conditional.
8566
7835dfd3
VS
85672010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
8568
8569 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
8570 include.
8571
e255597e
VS
85722010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
8573
6d0fa83c 8574 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
8575
8576 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
8577 new tags as supported.
8578 (acpiv2_size): New function.
8579 (grub_multiboot_get_mbi_size): Take new tags into account.
8580 (grub_multiboot_make_mbi): Add new tags.
8581 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 8582
6cc14051 85832010-09-21 Aleš Nesrsta <starous@volny.cz>
8584
8585 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
8586 Added missing configuration of USB device.
8587
df7769d8
CW
85882010-09-21 Colin Watson <cjwatson@ubuntu.com>
8589
8590 * grub-core/normal/menu_entry.c (run): Make sure we always return
8591 a value.
8592
b031012d
CW
85932010-09-21 Colin Watson <cjwatson@ubuntu.com>
8594
8595 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
8596 NumberOfPages is UINT64 according to the UEFI specification, not
8597 UINTN. Fix printf format.
8598
174de8f3
CW
85992010-09-21 Colin Watson <cjwatson@ubuntu.com>
8600
8601 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
8602 `err' to grub_usb_err_t.
8603 Reported and tested by: KESHAV P.R.
8604
d7dbe923
CW
86052010-09-21 Colin Watson <cjwatson@ubuntu.com>
8606
8607 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
8608 tpart non-const, so that we can assign to it. (Since this is a
8609 typedef, the constness refers to the pointer rather than what it
8610 points to.)
8611
8d5e2af3
CW
86122010-09-21 Colin Watson <cjwatson@ubuntu.com>
8613
8614 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
8615 $(top_srcdir)/grub-core/gnulib as well as
8616 $(top_builddir)/grub-core/gnulib.
8617 Reported by: KESHAV P.R.
8618
5c527783
CW
86192010-09-21 Colin Watson <cjwatson@ubuntu.com>
8620
8621 * util/grub-install.in: Fix the bootloader ID option to be
8622 consistently --bootloader-id, not --bootloader_id.
8623 Reported by: KESHAV P.R.
8624
d309a16e
CW
86252010-09-21 Colin Watson <cjwatson@ubuntu.com>
8626
8627 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
8628 check hash checksum." consistently translatable.
8629
b830cd16
YB
86302010-09-21 Yves Blusseau <blusseau@zetam.org>
8631
8632 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
8633 $(top_builddir).
8634
c4fe27a8
CW
86352010-09-21 Colin Watson <cjwatson@ubuntu.com>
8636
8637 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
8638 (GRUB_MOD_INIT): Register sha1sum command.
8639 (GRUB_MOD_FINI): Unregister sha1sum command.
8640
a4c1d277
YB
86412010-09-21 Yves Blusseau <blusseau@zetam.org>
8642
8643 Keep boot and grub directory names in sync with utils scripts
8644
8645 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
8646 * config.h.in: Add previous macros.
8647 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
8648 * util/grub-install.in: Use $bootdir and $grubdir variables.
8649
4eff79d2
CW
86502010-09-21 Colin Watson <cjwatson@ubuntu.com>
8651
8652 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
8653 convert partition names to disk names if the new `convert' parameter
8654 is set.
8655 (grub_util_biosdisk_get_grub_dev): If opening the disk device
8656 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
8657 disk in its own right. This can happen with Xen disk images.
8658
934d7e44
YB
86592010-09-21 Yves Blusseau <blusseau@zetam.org>
8660
8661 * util/grub-editenv.c: Update strings to avoid warnings when generating
8662 grub.pot file.
8663 * util/grub-setup.c: Likewise.
934d7e44 8664
df3367cc
VS
86652010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
8666
8667 * configure.ac: Change version to 1.99~beta0.
8668
77a94e98
VS
86692010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
8670
8671 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
8672 Add BADRAM.
8673 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
8674 Likewise.
8675 * include/multiboot.h: Resynced with specification.
8676 * include/multiboot2.h: Likewise.
8677
269004c1
CW
86782010-09-21 Colin Watson <cjwatson@ubuntu.com>
8679
8680 Fix po directory handling.
8681
8682 * configure.ac: Create po/Makefile.in rather than po/Makefile.
8683 * grub-core/gnulib/Makefile.am: Import gettext module.
8684 * m4/gnulib-cache.m4: Likewise.
8685 * m4/gnulib-comp.m4: Likewise.
8686 * m4/gettext.m4: New file, from gnulib.
8687 * m4/glibc2.m4: Likewise.
8688 * m4/iconv.m4: Likewise.
8689 * m4/intdiv0.m4: Likewise.
8690 * m4/intl.m4: Likewise.
8691 * m4/intldir.m4: Likewise.
8692 * m4/intlmacosx.m4: Likewise.
8693 * m4/intmax.m4: Likewise.
8694 * m4/inttypes-pri.m4: Likewise.
8695 * m4/lcmessage.m4: Likewise.
8696 * m4/lib-ld.m4: Likewise.
8697 * m4/lib-link.m4: Likewise.
8698 * m4/lib-prefix.m4: Likewise.
8699 * m4/lock.m4: Likewise.
8700 * m4/nls.m4: Likewise.
8701 * m4/po.m4: Likewise.
8702 * m4/printf-posix.m4: Likewise.
8703 * m4/progtest.m4: Likewise.
8704 * m4/threadlib.m4: Likewise.
8705 * m4/uintmax_t.m4: Likewise.
8706 * m4/visibility.m4: Likewise.
8707 * po/Makefile.am: Remove.
8708 * po/Makefile.in.in: New file, from gettext.
8709 ($(DOMAIN).pot-update): Support POTFILES-shell.
8710 * po/Makevars: New file.
8711 * po/POTFILES-shell: Rename to ...
8712 * po/POTFILES-shell.in: ... this. Update.
8713 * po/POTFILES: Rename to ...
8714 * po/POTFILES.in: ... this. Update.
8715 * po/Rules-quot: New file, from gettext.
8716 * po/boldquot.sed: Likewise.
8717 * po/en@boldquot.header: Likewise.
8718 * po/en@quot.header: Likewise.
8719 * po/insert-header.sin: Likewise.
8720 * po/quot.sed: Likewise.
8721 * po/remove-potcdate.sin: Likewise.
8722
3e0fa5d0
VS
87232010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8724
8725 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
8726
ade9bd66
VS
87272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8728
8729 * util/grub.d/20_linux_xen.in: Use submenus.
8730
fc55cc4c
VS
87312010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8732
8733 Support submenus.
8734
8735 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
8736 parameter submenu. All users updated.
8737 * grub-core/normal/main.c (free_menu): Rename to ...
8738 (grub_normal_free_menu): ... this. Made global.
8739 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
8740 if requested.
8741 * grub-core/normal/menu_entry.c (screen): New field submenu.
8742 (make_screen): Set submenu.
8743 (run): Open new context if requested.
8744 * include/grub/menu.h (grub_menu_entry): New field submenu.
8745 * include/grub/normal.h (grub_normal_free_menu): New proto.
8746
600cedf7
VS
87472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8748
8749 Menu entries extractor.
8750
8751 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
8752 variants.
8753 (GRUB_MOD_INIT): Register new variants.
8754 (GRUB_MOD_FINI): Unregister new variants.
8755 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
8756 into grub_cmd_legacy_source.
8757 (grub_cmd_legacy_source): Implement extractor variants.
8758 (GRUB_MOD_INIT): Register new variants.
8759 (GRUB_MOD_FINI): Unregister new variants.
8760 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
8761 as an extractor.
8762 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
8763 search as an extractor.
8764 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
8765 test as an extractor.
8766 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
8767 as an extractor.
8768 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
8769 (grub_env_new_context): New function.
8770 (grub_env_context_open): Likewise.
8771 (grub_env_extractor_open): Likewise.
8772 (grub_env_extractor_close): Likewise.
8773 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
8774 grub_extractor_level.
8775 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
8776 * include/grub/env.h (grub_env_extractor_open): New proto.
8777 (grub_env_extractor_close): Likewise.
8778 * include/grub/normal.h (grub_extractor_level): New external variable.
8779
7bda3a87
VS
87802010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8781
8782 Make cutmem accept a region specification.
8783 Suggested by: Samuel Thibault
8784
8785 * grub-core/mmap/mmap.c (parsemem): New function.
8786 (grub_cmd_cutmem): Handle new arguments.
8787
2ea57f88
VS
87882010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8789
8790 New command cutmem.
8791
8792 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
8793 (GRUB_MOD_INIT): Register new command.
8794 (GRUB_MOD_FINI): Unregister new command.
8795
74342e31
VS
87962010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8797
8798 Support some annoying BSD and Minix subpartitions.
8799
8800 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
8801 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
8802 Properly handle concatenation.
8803 * grub-core/kern/device.c (grub_device_iterate): Likewise.
8804 * grub-core/normal/completion.c (iterate_partition): Likewise.
8805 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
8806 contain partition. All users updated.
8807 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
8808 struct.
8809 (grub_openbsdlabel_partition_map): Likewise.
8810 (bsdlabel_partition_map_iterate): Rename to ..
8811 (iterate_real): ... this. New arguments sector, freebsd and pmap.
8812 (bsdlabel_partition_map_iterate): New function.
8813 (netopenbsdlabel_partition_map_iterate): Likewise.
8814 (netbsdlabel_partition_map_iterate): Likewise.
8815 (openbsdlabel_partition_map_iterate): Likewise.
8816 (GRUB_MOD_INIT): Register new partmaps.
8817 (GRUB_MOD_FINI): Unregister new partmaps.
8818 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
8819 (grub_partition_msdos_iterate): ... this. All users updated.
8820 Don't support embedding other than in a minix partition.
8821 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
8822 proto.
8823 * include/grub/partition.h (grub_partition): New field msdostype.
8824 * util/grub-install.in: Handle openbsd and netbsd types being in
8825 part_bsd module.
8826
1e8d555b
VS
88272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8828
8829 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
8830
8831 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
8832 * grub-core/Makefile.core.def (mdraid): Renamed to ...
8833 (mdraid09): ... this.
8834 (mdraid1x): New module.
8835 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
8836 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
8837
899d8af4
VS
88382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8839
8840 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
8841 vsprintf.
8842
40901acd
CW
88432010-09-20 Colin Watson <cjwatson@ubuntu.com>
8844
8845 * grub-core/commands/efi/lsefimmap.c: Correct header.
8846 * NEWS: Update.
8847
dfe3b247
CW
88482010-09-20 Colin Watson <cjwatson@ubuntu.com>
8849
8850 * util/grub-editenv.c (argp_parser): Don't pass translated strings
8851 as printf format strings; the translations might contain '%' which
8852 could cause a crash.
8853 (main): Likewise.
8854 * util/grub-fstest.c (argp_parser): Likewise.
8855 * util/grub-setup.c (argp_parser): Likewise.
8856 (main): Likewise.
8857
3286a4b4
VS
88582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8859
8860 Use argp in grub-fstest.
8861
8862 * util/grub-fstest.c: Don't include getopt.h.
8863 Include argp.h.
8864 (root): New variable.
8865 (args_count): Likewise.
8866 (nparm): Likewise.
8867 (num_disks): Likewise.
8868 (images): Likewise.
8869 (cmd): Likewise.
8870 (debug_str): Likewise.
8871 (args): Likewise.
8872 (options): Transformed to argp.
8873 (usage): Removed.
8874 (main): Split argument parsing into ...
8875 (argp_parser): ... this. Changed to argp format.
8876 (argp): New variable.
8877 (main): Use argp_parse.
8878
3dccbe4b
TG
88792010-09-20 Tristan Gingold <gingold@free.fr>
88802010-09-20 Robert Millan <rmh.grub@aybabtu.com>
88812010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8882
8883 * grub-core/commands/efi/lsefimmap.c: New file.
8884 * grub-core/Makefile.core.def (lsefimmap): New module.
8885 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
8886
38c259a7
VS
88872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8888
8889 Pause the execution (10s max) if any errors are displayed so the user
8890 has a chance to see them.
8891
8892 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
8893 (grub_print_error): Increment grub_err_printed_errors.
8894 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
8895 execution if any errors were displayed.
8896 (show_menu): Remove old code for pause.
8897 * grub-core/normal/menu_entry.c (run): Likewise.
8898 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
8899 users updated.
8900 (grub_normal_get_char_counter): Likewise.
8901 * include/grub/err.h (grub_err_printed_errors): New external variable.
8902 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
8903
f218b09c
VS
89042010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8905
8906 Support multiboot VBE info.
8907
8908 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8909 Take VBE info into account.
8910 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
8911 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
8912 Call fill_vbe_info when appropriate.
8913 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
8914 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
8915 as supported.
8916 (grub_multiboot_get_mbi_size): Take new tags into account.
8917 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
8918 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
8919 Call fill_vbe_tag when appropriate.
8920 (grub_multiboot_make_mbi): Properly align tags.
8921 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
8922 function.
8923 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
8924 proto.
8925 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
8926
a9cc5438
VS
89272010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8928
8929 Suport manual terminal geometry specification.
8930
8931 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
8932 Save state in grub_ofconsole_terminfo_output.
8933 (grub_ofconsole_term): Use grub_terminfo_getwh.
8934 (grub_ofconsole_getwh): Removed.
8935 * grub-core/term/serial.c (grub_serial_getwh): Removed.
8936 (grub_serial_term): Use grub_terminfo_getwh.
8937 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
8938 (options): New struct.
8939 (OPTION_*): New enum.
8940 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
8941 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
8942 width and height.
8943 (grub_terminfo_getwh): New proto.
8944 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
8945
1a8fed20
VS
89462010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8947
8948 Handle legacy "terminal" command.
8949
8950 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
8951 and FLAG_TERMINAL.
8952 (legacy_commands): Add terminal and title.
8953 (grub_legacy_parse): Handle terminal. Simplify title handling.
8954
41e9c57d
VS
89552010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8956
8957 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
8958 parameters overflow.
8959
61c874c5
CW
89602010-09-20 Colin Watson <cjwatson@ubuntu.com>
8961
8962 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
8963 widthspec.h.
8964
8965 * docs/grub.texi (Shell-like scripting): Document `!'.
8966 (Network): Simplify using new i386-pc-pxe format. Mention
8967 grub-mknetdir.
8968
8969 * NEWS: Update.
8970
943682b4
CW
89712010-09-20 Colin Watson <cjwatson@ubuntu.com>
8972
8973 * Makefile.am (SUBDIRS): Restore "."; it's important to force
8974 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
8975 when needed.
8976
6d3d698d
CW
89772010-09-20 Colin Watson <cjwatson@ubuntu.com>
8978
8979 * grub-core/commands/efi/lsefisystab.c: Correct header.
8980 * grub-core/commands/efi/lssal.c: Likewise.
8981 * grub-core/commands/testload.c: Likewise.
8982
c982589f
CW
89832010-09-20 Colin Watson <cjwatson@ubuntu.com>
8984
8985 * util/grub-mkrescue.in: Add explicit root argument to --set to
8986 prevent the UUID being interpreted as an argument to --set (matches
8987 previous change to prepare_grub_to_access_device).
8988
a63c31b6
CW
89892010-09-20 Colin Watson <cjwatson@ubuntu.com>
8990
8991 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
8992 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
8993 the verbosity of later #ifs.
8994 (find_partition_start): Define this function on FreeBSD too.
8995 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
8996 function.
8997 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
8998 on FreeBSD.
8999
6439b8ee
YB
90002010-09-20 Yves Blusseau <blusseau@zetam.org>
9001
9002 * util/grub-editenv.c: Use argp instead of getopt.
9003
c5930ec8
YB
90042010-09-20 Yves Blusseau <blusseau@zetam.org>
9005
9006 * util/grub-setup.c: Use argp instead of getopt.
9007
15c69261
YB
90082010-09-20 Yves Blusseau <blusseau@zetam.org>
9009
9010 Use gnulib-tool to create gnulib source files.
9011
9012 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
9013 grub-core/gnulib directories
9014 * .bzignore: Add **/.deps and autogenerated gnulib files
9015 * configure.ac: Assign auxiliary directory to build-aux, add invocation
9016 of gnulib macros, add grub-core/gnulib/Makefile
9017 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
9018 include m4 directory to aclocal.
9019 * Makefile.util.def: Remove direct compilation of gnulib source files
9020 and use the new grub-core/gnulib/libgnu.a.
9021 * build-aux/config.rpath: move config.rpath from top directory to
9022 build-aux
9023 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
9024 in gnulib headers
9025 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
9026 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
9027 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
9028 header.
9029 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
9030 string.
9031
e511c9f5
YB
90322010-09-20 Yves Blusseau <blusseau@zetam.org>
9033
9034 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
9035 grub-core/genmod.sh and grub-core/gensyminfo.sh
9036
c2dede05
BC
90372010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
9038
9039 Add a test for echo command options.
9040
9041 * tests/grub_cmd_echo.in: New test.
9042 * Makefile.util.def: Rules for new test.
9043
c55f5018
SJ
90442010-09-20 Szymon Janc <szymon@janc.net.pl>
9045
9046 Remove crc.mod and move crc command to hashsum.mod.
9047 Remove lib/crc.c - users updated to use gcrypt implementation.
9048
9049 * grub-core/commands/crc.c: Removed.
9050 * grub-core/Makefile.core.def (crc): Module removed.
9051 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
9052 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
9053 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
9054 * grub-core/lib/crc.c: Removed.
9055 * include/grub/lib/crc.h: Removed.
9056 * Makefile.util.def (crc): Remove lib/crc.c
9057 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
9058 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
9059 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
9060 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
9061 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
9062 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
9063
e0337366
VS
90642010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9065
9066 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
9067
742f9232
VS
90682010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9069
9070 Split config.h for util and core.
9071
9072 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
9073 (ADDR32): Likewise.
9074 (DATA32): Likewise.
9075 (BSS_START_SYMBOL): Likewise.
9076 (END_SYMBOL): Likewise.
9077 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
9078 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
9079 * config.h.in: New file.
9080 * configure.ac: Use config-util.h as config define file.
9081 Rename MACHINE into GRUB_MACHINE. All users updated.
9082 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
9083 updated.
9084 (NESTED_FUNC_ATTR): Likewise.
9085 Substitue new variables.
9086 (COND_HAVE_ASM_USCORE): New conditional.
9087 * grub-core/Makefile.am (ASM_PREFIX): New variable.
9088 (kernel_syms.lst): Use ASM_PREFIX.
9089 * grub-core/kern/emu/console.c: Include config-util.h.
9090 * grub-core/kern/emu/misc.c: Likewise.
9091 * grub-core/kern/emu/mm.c: Likewise.
9092 * include/grub/emu/misc.h: Likewise.
9093 * include/grub/libgcc.h: Likewise.
9094
39feb0e8
VS
90952010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9096
9097 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
9098 constants usage.
9099 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
9100 Fix GRUB_TERM_KEY_* constants usage.
9101 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
9102
9af6dac3
VS
91032010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9104
9105 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
9106 print pointer.
9107 * grub-core/bus/usb/uhci.c: Remove empty define.
9108 (grub_uhci_check_transfer): Add missing cast.
9109 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
9110 print pointer.
9111 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
9112 PRIuGRUB_SIZE.
9113 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
9114
d6d94820
VS
91152010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9116
9117 * grub-core/Makefile.core.def (legacycfg): Add
9118 lib/i386/pc/vesa_modes_table.c on emu.
9119
3572f2b6
BC
91202010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
9121
9122 Reduce number of temporary files generated by build system.
9123
9124 * grub-core/gencmdlist.sh: Removed.
9125 * grub-core/genfslist.sh: Removed.
9126 * grub-core/genhandlerlist.sh: Removed.
9127 * grub-core/genmodsrc.sh: Removed.
9128 * grub-core/genpartmaplist.sh: Removed.
9129 * grub-core/genparttoollist.sh: Removed.
9130 * grub-core/gentermiinallist.sh: Removed.
9131 * grub-core/genvideolist.sh: Removed.
9132
9133 * grub-core/genmod.sh.in: New file.
9134 * grub-core/gensyminfo.sh.in: New file.
9135
9136 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
9137 * conf/Makefile.extra-dist: Update with new files.
9138 * gentpl.py: Remove rules related to unnecessary temporary files.
9139 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
9140 and und-* files.
9141 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
9142 genmod.sh scripts.
9143 * grub-core/bus/usb/uhci.c: Remove empty #define.
9144 * grub-core/genmoddep.awk: Updated with new syminfo format.
9145 * util/bash-completion.d/Makefile.am: Add config.log to
9146 CLEANFILES.
9147
c836b030
YB
91482010-09-19 Yves Blusseau <blusseau@zetam.org>
9149
9150 * Makefile.util.def: Add forgotten $(LIBINTL) library.
9151
2f4e8053
BC
91522010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
9153
9154 * util/grub-mkconfig.in: Check the config script for syntax errors
9155 before saving.
9156
75831c34
CW
91572010-09-19 Colin Watson <cjwatson@ubuntu.com>
91582010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9159
9160 * Makefile.util.def (grub-install): Use util/grub-install.in on all
9161 platforms.
9162 * util/grub-install.in: Add EFI and IEEE1275 support.
9163 * util/i386/efi/grub-install.in: Removed.
9164 * util/ieee1275/grub-install.in: Likewise.
9165
eaf41b25
VS
91662010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9167
9168 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
9169 (grub_cmd_cmosclean): Likewise.
9170 (GRUB_MOD_INIT): Register command cmosclean.
9171 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
9172 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
9173
1a9130dd
CPE
91742010-09-18 Carles Pina i Estany <carles@pina.cat>
91752010-09-18 Aleš Nesrsta <starous@volny.cz>
91762010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9177
9178 Add keyboard layouts support.
9179
9180 * Makefile.util.def (grub-mklayout): New file.
9181 (grub-kbdcomp): New script.
9182 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
9183 Add keyboard_layouts.h.
9184 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
9185 commands/boot.c on yeeloong.
9186 (keylayouts): New module.
9187 * grub-core/bus/usb/ohci.c
9188 * grub-core/bus/usb/uhci.c
9189 * grub-core/bus/usb/usbhub.c (rescan): New variable.
9190 (grub_usb_add_hub): Poll interrupt pipe for device handling.
9191 (attach_root_port): Likewise.
9192 (poll_nonroot_hub): Likewise.
9193 (grub_usb_poll_devices): Likewise.
9194 (detach_device): Close transfer.
9195 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
9196 function.
9197 (grub_usb_bulk_setup_readwrite): Likewise.
9198 (grub_usb_bulk_finish_readwrite): Likewise.
9199 * grub-core/commands/keylayouts.c: New file.
9200 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
9201 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
9202 aliases.
9203 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
9204 support scancode 2.
9205 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
9206 * include/grub/keyboard_layouts.h: New file.
9207 * util/grub-mklayout.c: New file.
9208 * util/grub-kbdcomp.in: Likewise.
9209
a1d84a5e
VS
92102010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9211
9212 Unify memory types.
9213
9214 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
9215 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
9216 types.
9217 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
9218 (grub_upper_mem): Likewise.
9219 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
9220 * include/grub/memory.h (grub_memory_type_t): New enum.
9221 All users updated.
9222
9696382e
VS
92232010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9224
9225 * grub-core/Makefile.core.def (lsapm): New module.
9226 * grub-core/commands/i386/pc/lsapm.c: New file.
9227 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
9228 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
9229 Likewise.
9230 * include/grub/i386/pc/apm.h: New file.
9231 * include/multiboot.h (multiboot_apm_info): New struct.
9232
92332010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9234
9235 GRUB-legacy configuration file support.
9236
9237 * Makefile.util.def (grub-menulst2cfg): New util.
9238 * docs/man/grub-menulst2cfg.h2m: New file.
9239 * grub-core/Makefile.core.def (legacycfg): New module.
9240 * grub-core/commands/legacycfg.c: New file.
9241 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
9242 (grub_normal_add_menu_entry): ... this.
9243 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
9244 (grub_normal_set_password): ...this.
9245 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
9246 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
9247 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
9248 * grub-core/lib/legacy_parse.c: New file.
9249 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
9250 * include/grub/i386/pc/vesa_modes_table.h: New file.
9251 * include/grub/legacy_parse.h: Likewise.
9252 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
9253 * util/grub-menulst2cfg.c: New file.
9254
bf8d1338
CW
92552010-09-17 Colin Watson <cjwatson@ubuntu.com>
9256
9257 * grub-core/kern/emu/hostdisk.c
9258 (convert_system_partition_to_system_disk): Initialise node.
9259
9c0bad2e
CW
92602010-09-17 Colin Watson <cjwatson@ubuntu.com>
9261
9262 * grub-core/kern/emu/hostdisk.c
9263 (convert_system_partition_to_system_disk): Fix devmapper memory pool
9264 leak.
9265 Reported and based on patch by: Modestas Vainius.
9266
a939d135
CW
92672010-09-17 Colin Watson <cjwatson@ubuntu.com>
9268
9269 Fix DM-RAID probing with recent versions of device-mapper udev
9270 rules.
9271
9272 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
9273 canonicalise device paths under /dev/mapper/.
9274 (convert_system_partition_to_system_disk): Compare the
9275 uncanonicalised path to /dev/mapper/ rather than the canonicalised
9276 path, since device nodes under /dev/mapper/ are often symlinks.
9277
0f7ee3c9
YB
92782010-09-17 Yves Blusseau <blusseau@zetam.org>
9279
9280 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
9281
10854d0d
YB
92822010-09-16 Yves Blusseau <blusseau@zetam.org>
9283
9284 * configure.ac: Avoid some annoying error messages if freetype-config
9285 program is not found.
9286
108538d8
CW
92872010-09-16 Colin Watson <cjwatson@ubuntu.com>
9288
9289 Support RAID on virtio devices, and others.
9290
9291 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
9292 Rename to ...
9293 [__MINGW32__] (grub_find_device): ... this.
9294 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
9295 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
9296 reasonable default if dir is NULL.
9297 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
9298 ...
9299 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
9300 (grub_guess_root_device): Update callers.
9301 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
9302
9303 * util/raid.c (grub_util_getdiskname): Remove.
9304 (grub_util_raid_getmembers): Use grub_find_device rather than
9305 grub_util_getdiskname.
9306
e5bfc130
CW
93072010-09-16 Colin Watson <cjwatson@ubuntu.com>
9308
9309 * docs/grub.texi (serial): Remove obsolete comment about GRUB
9310 needing to be compiled with serial support.
9311 (ls): Indicate that multiple files are accepted.
9312 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
9313 indicate that multiple files are accepted.
9314
be458ae2
CW
93152010-09-16 Colin Watson <cjwatson@ubuntu.com>
9316
9317 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
9318 libgrub_a_init.c, and util/bash-completion.d/grub.
9319
cb731b5e
VS
93202010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9321
9322 * util/grub-setup.c (setup): Fix incorrect container semantics.
9323
35139e8a
VS
93242010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9325
9326 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
9327 misusage.
9328 Reported by: J. Nick Terry
9329
e50fca4a
VS
93302010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9331
9332 Move embedding routines to partmap sources files.
9333
9334 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
9335 [GRUB_UTIL]: New variable.
9336 (gpt_partition_map_iterate): Set part.parent.
9337 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
9338 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
9339 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
9340 New function.
9341 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
9342 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
9343 (grub_partition_map) [GRUB_UTIL]: New field embed.
9344 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
9345 (setup): Use ->embed.
9346
f00478b7
VS
93472010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9348
9349 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
9350 function.
9351 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
9352 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
9353
2b94e3ff
YB
93542010-09-15 Yves Blusseau <blusseau@zetam.org>
9355
9356 Add function to get completions from usage.
9357
9358 * util/bash-completion.d/grub-completion.bash.in: Add function to get
9359 completions from usage. Use LC_ALL=C to get options properly.
9360
2e04a006
VS
93612010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9362
9363 * grub-core/gnulib/basename-lgpl.c: Imported.
9364 * grub-core/gnulib/basename.c: Likewise.
9365 * grub-core/gnulib/dirname-lgpl.c: Likewise.
9366 * grub-core/gnulib/dirname.c: Likewise.
9367 * grub-core/gnulib/dirname.h: Likewise.
9368 * grub-core/gnulib/stripslash.c: Likewise.
9369
5dcdf93a
VS
93702010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9371
9372 * grub-core/gnulib/error.c: Resynced.
9373 * grub-core/gnulib/getopt.c: Likewise.
9374 * grub-core/gnulib/getopt_int.h: Likewise.
9375 * grub-core/gnulib/regex.h: Likewise.
9376 * grub-core/gnulib/regex_internal.c: Likewise.
9377 * grub-core/gnulib/regex_internal.h: Likewise.
9378
014f47b7
SJ
93792010-09-15 Szymon Janc <szymon@janc.net.pl>
9380
9381 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
9382 CRC calculations and validity checks.
9383 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
9384 calculations.
9385
dd521a4a
SJ
93862010-09-15 Szymon Janc <szymon@janc.net.pl>
9387
9388 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
9389
79c4eeb9
VS
93902010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9391
9392 Fix incorrect echo options handling.
9393 Reported by: Yves Blusseau.
9394
9395 * include/grub/command.h (grub_command_flags_t): New flags
9396 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
9397 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
9398 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
9399
ed80f7d5
VS
94002010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9401
9402 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
9403 users updated.
9404 (GRUB_COMMAND_FLAG_MENU): Likewise.
9405 (GRUB_COMMAND_FLAG_BOTH): Likewise.
9406 (GRUB_COMMAND_FLAG_TITLE): Removed.
9407 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
9408 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
9409 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
9410 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
9411 (grub_command_flags_t): New enum. All users updated.
9412
5fe7620a
SG
94132010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
9414
9415 Fix solaris compilation.
9416
9417 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
9418 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
9419 (grub-emu-list): Likewise.
9420
545b752f
VS
94212010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9422
9423 Remove deprecated root command.
9424
9425 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
9426 updated.
9427
6c1a338c
VS
94282010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9429
9430 * util/i386/pc/grub-setup.c: Merge this ...
9431 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
9432 * util/grub-setup.c: ... into this.
9433 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
9434 New struct.
9435
94362010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9437
9438 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
9439 possible.
9440
d2ea4551
VS
94412010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9442
9443 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
9444 allocate p.
9445
3c3b5040
VS
94462010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9447
9448 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
9449 explicit root argument to set to prevent UUID to be interpreted as
9450 argument to set.
9451
b71c3fae
VS
94522010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9453
9454 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
9455
275433e6
VS
94562010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9457
9458 Don't export grub_gate_a20.
9459
9460 * grub-core/kern/i386/pc/init.c: Remove leftovers.
9461 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
9462 to ...
9463 (grub_gate_a20): ... this. All users updated.
9464 * include/grub/i386/pc/init.h: Removed. All users updated.
9465
a5dbb1f1
VS
94662010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9467
9468 Create euro.pf2 which supports most European languages.
9469
9470 * Makefile.am (grubdata_DATA): Add euro.pf2.
9471 (euro.pf2): New target.
9472 (CLEANFILES): Add euro.pf2.
9473
62a747cb
VS
94742010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9475
9476 * configure.ac: Disable emu-usb by default to prevent inadvertent
9477 device takeover.
9478
608e43b1
VS
94792010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9480
9481 Disable usbserial on grub-emu since our libusb code isn't good enough
9482 yet.
9483
9484 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
9485 (usbserial_pl2303): Likewise.
9486 (usbserial_ftdi): Likewise.
9487
94564f81
VS
94882010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9489
9490 * include/grub/disk.h (grub_disk): Remove has_partitions.
9491 All users updated.
9492 * disk/loopback.c (grub_loopback): Remove has_partitions.
9493 All users updated.
9494 (options): Remove partitions. All users updated.
9495 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
9496 * util/i386/pc/grub-setup.c (setup): copy partition table only when
9497 actual partition table is found.
9498
3352800b
VS
94992010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9500
9501 Remove readability checks (too many false negatives).
9502
9503 * util/grub-install.in: Remove readability checks.
9504 * util/grub-mkconfig.in: Likewise.
9505 * util/grub.d/10_hurd.in: Likewise.
9506 * util/grub.d/10_kfreebsd.in: Likewise.
9507 * util/grub.d/10_linux.in: Likewise.
9508 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
9509 way.
9510
2419f17a
VS
95112010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9512
9513 Enable acpi shutdown on all ACPI platforms.
9514
9515 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
9516 on coreboo, multiboot and EFI.
9517 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
9518 (grub_acpi_halt): Likewise.
9519 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
9520 (grub_cmd_halt): Don't call grub_acpi_halt directly.
9521 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
9522 * grub-core/lib/i386/halt.c (grub_halt)
9523 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
9524
0575c7c3
VS
95252010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9526
9527 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
9528 context.
9529
54ac3cd1
VS
95302010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9531
9532 * grub-core/video/efi_gop.c: Fix over-80-chars line.
9533 * grub-core/video/efi_uga.c: Likewise.
9534
b2a30ac5
VS
95352010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9536
9537 Filter devaliases and never open same device twice.
9538
9539 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
9540 (last_ihandle): Likewise.
9541 (ofdisk_hash_ent): New member shortest.
9542 (ofdisk_hash_add): Add canonical path too.
9543 (scan): New function.
9544 (grub_ofdisk_iterate): Iterate over hashed entries.
9545 (compute_dev_path): Don't add :0.
9546 (grub_ofdisk_open): Don't really open the disk.
9547 (grub_ofdisk_close): Avoid closing unrelated disk.
9548 (grub_ofdisk_read): Implement reopen logic.
9549 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
9550 New function.
9551 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
9552 New proto.
9553
fb53b340
VS
95542010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9555
9556 Fix sparc64.
9557
9558 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
9559 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
9560 right address. Add sparc64_ieee1275_ldflags.
9561 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
9562 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
9563 to grub_host_to_target_addr
9564 (load_image): Likewise.
9565
f452b040
VS
95662010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9567
9568 * grub-core/normal/completion.c (complete_file): Handle device
9569 containing slash.
9570 Fix based on patch by Doug Nazar.
9571
9b5b2541
VS
95722010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9573
9574 grub-mknetdir script.
9575
9576 * Makefile.util.def (grub-mknetdir): New module.
9577 * tests/util/grub-shell.in: Support boot=net
9578 * util/grub-mknetdir.in: New file.
9579
9d2be652
VS
95802010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9581
9582 videoinfo on non-vbe.
9583
9584 * grub-core/Makefile.core.def (vbeinfo): Removed.
9585 (vbetest): Removed.
9586 (videoinfo): New module.
9587 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
9588 * grub-core/commands/i386/pc/vbetest.c: Removed.
9589 * grub-core/commands/videoinfo.c: New file.
9590 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
9591 specification.
9592 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
9593 as vbetest.
9594 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
9595 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
9596 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
9597 mode_number. New parameter mode. All users updated.
9598 (grub_video_gop_iterate): New function.
9599 (grub_video_efi_gop): New member iterate.
9600 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
9601 (grub_vbe_set_video_mode): Remove setting useless fields.
9602 (vbe2videoinfo): New function.
9603 (grub_video_vbe_iterate): Likewise.
9604 (grub_video_vbe_setup): Use vbe2videoinfo.
9605 (grub_video_vbe_print_adapter_specific_info): New function.
9606 (grub_video_vbe_adapter): New fields iterate and
9607 print_adapter_specific_info.
9608 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
9609 All users updated.
9610 (grub_video_mode_info): New field mode_number.
9611 (grub_video_adapter): New fields iterate and
9612 print_adapter_specific_info.
9613
179503f5
TG
96142010-09-13 Tristan Gingold <gingold@free.fr>
96152010-09-13 Robert Millan <rmh.grub@aybabtu.com>
96162010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9617
9618 * grub-core/commands/efi/lsefisystab.c: New file.
9619 * grub-core/commands/efi/lssal.c: Likewise.
9620 * grub-core/Makefile.core.def (lsacpi): New module.
9621 (lsefisystab): Likewise.
9622 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
9623 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
9624 (grub_efi_sal_system_table): New struct.
9625 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
9626 (grub_efi_sal_system_table_memory_descriptor): Likewise.
9627 (grub_efi_sal_system_table_platform_features): Likewise.
9628 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
9629 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
9630 (grub_efi_sal_system_table_ap_wakeup): Likewise.
9631 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
9632
cf9827de
VS
96332010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9634
9635 Support explicit user claim that a device is BIOS-visible.
9636
9637 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
9638 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
9639 * grub-core/kern/emu/hostdisk.c
9640 (convert_system_partition_to_system_disk): Support mdX.
9641 (find_system_device): New parameter add. All users updated.
9642 (grub_util_biosdisk_is_present): New function.
9643 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
9644 proto.
9645
53f0eb1f
VS
96462010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9647
9648 Search hints support.
9649
9650 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
9651 All users updated.
9652
b23ffd70
YB
96532010-09-13 Yves Blusseau <blusseau@zetam.org>
9654
9655 Bash completion script for util commands
9656
9657 * Makefile.am: Add util/bash-completion.d directory
9658 * configure.ac: Likewise.
9659 * util/bash-completion.d/Makefile.am: New file.
9660 * util/bash-completion.d/grub-completion.bash.in: Likewise.
9661
d547dc28
VS
96622010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9663
9664 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
9665 (print_backlog): set backlog_ucs4 and backlog_glyphs.
9666 Reported by: Yves Blusseau.
9667
2fc8ccb9
VS
96682010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9669
9670 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
9671 partition size and offset.
9672
d8a84076
VS
96732010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9674
9675 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
9676
84fb3b3d
VS
96772010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9678
9679 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
9680
768ec2e2
VS
96812010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9682
9683 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
9684 (grub_xvasprintf): Likewise.
9685
4870900f
VS
96862010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9687
9688 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
9689
faca6bec
VS
96902010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9691
9692 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
9693 args ending with NULL.
9694
96952010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
9696
9697 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
9698 pointer.
9699
3c70f225
SJ
97002010-09-11 Szymon Janc <szymon@janc.net.pl>
9701
9702 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
9703
4df7996d
VS
97042010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9705
9706 Shutdown using ACPI.
9707
9708 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
9709 * grub-core/commands/acpihalt.c: New file.
9710 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
9711 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
9712 (grub_acpi_halt): New proto.
9713 (GRUB_ACPI_SLP_EN): New const.
9714 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
9715 (GRUB_ACPI_OPCODE_*): New enum.
9716 (GRUB_ACPI_EXTOPCODE_*): Likewise.
9717
126b4c32
TG
97182010-09-11 Tristan Gingold <gingold@free.fr>
97192010-09-11 Robert Millan <rmh.grub@aybabtu.com>
97202010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9721
9722 * commands/lsacpi.c: New file.
9723 * grub-core/Makefile.core.def (lsacpi): New module.
9724 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
9725 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
9726 (grub_acpi_madt_entry_header): New struct.
9727 (grub_acpi_madt): Likewise.
9728 (grub_acpi_madt_entry_interrupt_override): Likewise.
9729 (grub_acpi_madt_entry_sapic): Likewise.
9730 (grub_acpi_madt_entry_lsapic): Likewise.
9731 (grub_acpi_madt_entry_platform_int_source): Likewise.
9732 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
9733 (PRIuGRUB_UINT32_T): Likewise.
9734 (PRIxGRUB_UINT64_T): Likewise.
9735
1aa4fe88
VS
97362010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9737
9738 Implement loading palette on ieee1275_fb.
9739
9740 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
9741 (have_setcolors): Likewise.
9742 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
9743 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
9744 (grub_video_ieee1275_set_palette): Implement.
9745
25761e13
VS
97462010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
97472010-09-11 Colin Watson <cjwatson@ubuntu.com>
9748
9749 * util/grub-install.in (grub_partition): New variable.
9750 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
9751 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
9752 Fixes a bug reported by Yves Blusseau.
9753
050abaea
VS
97542010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9755
9756 Fix emu on mipsel.
9757
9758 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
9759 =grub_cpu_flush_cache on all mips and not only yeeloong.
9760 * configure.ac (COND_mips): New conditional.
9761 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
9762 platforms.
9763 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
9764 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
9765 [GRUB_LINKER_HAVE_INIT]: New function.
9766 (grub_emu_post_init): Likewise.
9767 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
9768 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
9769 * include/grub/cache.h (_mips): Include mips/cache.h.
9770 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
9771 LVM and RAID prototypes.
9772 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
9773 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
9774 function.
9775
5ed7d816
CW
97762010-09-10 Colin Watson <cjwatson@ubuntu.com>
9777
9778 * util/grub-install.in: Don't try to verify core.img until after
9779 running grub-mkimage to create it.
9780
90367e04
RM
97812010-09-10 Robert Millan <rmh@gnu.org>
9782
9783 * util/grub.d/10_hurd.in: Add misc readability checks.
9784 * util/grub.d/10_kfreebsd.in: Likewise.
9785 * util/grub.d/10_linux.in: Likewise.
9786
c452fa66
CW
97872010-09-10 Colin Watson <cjwatson@ubuntu.com>
9788
9789 * util/grub-install.in: ${imgext} won't be defined here until the
9790 install branch is merged. For the meantime, only verify core.img on
9791 i386-pc and sparc64-ieee1275 platforms.
9792
c38fe9f4
RM
97932010-09-10 Robert Millan <rmh@gnu.org>
9794
9795 Solaris support in grub_find_zpool_from_dir(). Thanks
9796 Seth Goldberg for referring to getextmntent() facility.
9797
9798 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
9799 `sys/mkdev.h'.
9800 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
9801 `<sys/mnttab.h>'.
9802 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
9803 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
9804 method for finding zpool name.
9805
905f7773
CW
98062010-09-10 Colin Watson <cjwatson@ubuntu.com>
9807
9808 grub-fstest needs the host and hostfs modules while other utilities
9809 actively require those modules to be absent, so grub-fstest needs
9810 its own initialisation and finalisation code.
9811
9812 * Makefile.am (grub_fstest.pp): New target.
9813 (grub_fstest_init.lst): Likewise.
9814 (grub_fstest_init.c): Likewise.
9815 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
9816
fb90b546
RM
98172010-09-10 Robert Millan <rmh@gnu.org>
9818
9819 * configure.ac: Check for `struct statfs.f_fstypename' and
9820 `struct statfs.f_mntfromname'.
9821
9822 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
9823 kFreeBSD-specific code.
9824
66d4bea5
RM
98252010-09-10 Robert Millan <rmh@gnu.org>
9826
9827 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
9828 on ZFS. Now non-main filesystems are supported as / too.
9829
b6a690ee
CW
98302010-09-09 Colin Watson <cjwatson@ubuntu.com>
9831
9832 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
9833 and grub-core/disk/host.c to ...
9834 (grub-fstest): ... here. Having the host disk implementation
9835 present confuses grub-probe and other utility programs.
9836
9837 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
9838 when writing to a file, not when writing to stdout.
9839
8901b00c 98402010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
9841
9842 * tests/partmap_test.in: New test for partitions.
9843 * Makefile.util.def: Rules for new test.
9844
7bf45fdd
RM
98452010-09-09 Robert Millan <rmh@gnu.org>
9846
9847 * util/grub-probe.c (probe): Fix a pair of unhandled error
9848 conditions.
9849
4dfbc574
RM
98502010-09-09 Robert Millan <rmh@gnu.org>
9851
9852 Basic Btrfs support (detection and UUID).
9853
9854 * grub-core/fs/btrfs.c: New file.
9855 * Makefile.util.def (library): Register btrfs.c.
9856 * grub-core/Makefile.core.def: Likewise.
9857
6b8e78ae
RM
98582010-09-08 Robert Millan <rmh@gnu.org>
9859
9860 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
9861 with (optional) parameters to specify device and relative path.
9862 * util/grub-install.in: Use is_path_readable_by_grub() to
9863 verify readability of a few critical files.
9864 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
9865 verify readability of grub.cfg.new.
9866
27f21a8b
VS
98672010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9868
9869 Split minix.mod into minix.mod and minix2.mod.
9870
9871 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
9872 * grub-core/Makefile.core.def (minix2): New module.
9873 * grub-core/fs/minix.c: Use definitions instead of runtime version
9874 checking.
9875 * grub-core/fs/minix2.c: New file.
9876
c0e53ea5
YB
98772010-09-08 Yves Blusseau <blusseau@zetam.org>
9878
9879 Add new --boot-directory option to replace --root-directory
9880
9881 * util/grub-install.in: Add new --boot-directory option
9882 * util/grub-reboot.in: Likewise.
9883 * util/grub-set-default.in: Likewise.
9884
b9fe6ea2
YB
98852010-09-08 Yves Blusseau <blusseau@zetam.org>
9886
9887 * util/grub-mkconfig.in: Use new variable.
9888
d87aedff
YB
98892010-09-08 Yves Blusseau <blusseau@zetam.org>
9890
9891 * configure.ac: Define some useful variables.
9892
e55e8495
VS
98932010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9894
9895 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9896 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
9897 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
9898 Use terminfo and don't use cursor-on/cursor-off unless it's known
9899 to work.
9900 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
9901 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
9902
6fa6d675
CW
99032010-09-08 Colin Watson <cjwatson@ubuntu.com>
9904
9905 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
9906 starts with "(,", fill the drive containing the loaded image in
9907 between those two characters, but expect that a full partition
9908 specification including partition map names will follow.
9909
92f2aef0
RM
99102010-09-08 Robert Millan <rmh@gnu.org>
9911
9912 * configure.ac: Remove `--enable-grub-fstest' option.
9913 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
9914
9915 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
9916 `grub-fstest' instead of `grub-probe' for readability verification.
9917 * util/grub-probe.c (probe): Remove readability verification kludge.
9918
99fd620d
RM
99192010-09-08 Robert Millan <rmh@gnu.org>
9920
9921 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
9922 initializing `GRUB_FS'.
9923
058e30ac 99242010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
9925
9926 Not command (!) support to GRUB script.
9927
9928 * tests/grub_script_not.in: New test.
9929 * Makefile.util.def: Rules for new test.
9930
9931 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
9932 ! command as a special case.
9933 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
9934
b61d05ed 99352010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9936
058e30ac 9937 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
9938 grub_free.
b61d05ed 9939
4d69c786 99402010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9941
9942 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
9943
aa3119c4 99442010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9945
9946 * docs/grub.texi (Shell-like scripting): Documentation for break,
9947 continue, shift and return commands.
9948
db0f7e3d
VS
99492010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
9950
9951 Rename CD-ROM to cd on BIOS.
9952
9953 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
9954 "cd".
9955 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
9956
88b87c93
VS
99572010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9958
9959 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
9960 * util/grub-probe.c (main): Likewise.
9961 * util/i386/pc/grub-setup.c (main): Likewise.
9962 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
9963 Reported and debugged by: alexxy
9964
294f324d
VS
99652010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9966
9967 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
9968 diagnostic info.
9969
d7ee3441
JS
99702010-09-05 Jo Shields <directhex@apebox.org>
9971
9972 * util/grub.d/30_os-prober.in: Add missing classes.
9973
d7e06c1f
VS
99742010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9975
9976 * docs/grub.texi (Theme file format): Document new position format.
9977
fc157e53
VS
99782010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9979
9980 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
9981 a table. Use @code instead of @verbatim.
9982
506e9a1c
CB
99832010-09-05 Colin D Bennett <colin@gibibit.com>
9984
9985 Gfxmenu documentation.
9986
9987 * docs/grub.texi (Theme file format): New chapter.
9988
f0aff67c
SJ
99892010-09-05 Szymon Janc <szymon@janc.net.pl>
9990
9991 * grub-core/Makefile.core.def (xzio): New module.
9992 * grub-core/io/xzio.c: New file.
9993 * grub-core/lib/xzembed/xz.h: New file (from xembed).
9994 * grub-core/lib/xzembed/xz_config.h: Likewise.
9995 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
9996 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
9997 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
9998 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
9999 * grub-core/lib/xzembed/xz_private.h: Likewise.
10000 * grub-core/lib/xzembed/xz_stream.h: Likewise.
10001 * include/grub/file.h (grub_file_filter_id): New compression filter
10002 GRUB_FILE_FILTER_XZIO.
10003
82a85062
VS
100042010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10005
10006 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
10007 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
10008 size.
10009
3579415d
VS
100102010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10011
10012 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
10013 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
10014
5124ae6d
VS
100152010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10016
10017 Uncompressed checksum support.
10018
10019 * grub-core/commands/hashsum.c (options): Add option --uncompress.
10020 (check_list): New parameter uncompress.
10021 (grub_cmd_hashsum): Handle --uncompress.
10022
9aadb3d1
VS
100232010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10024
10025 Reintroduce testload.
10026
10027 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
10028 from here ...
10029 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
10030 (GRUB_MOD_INIT): New function.
10031 (GRUB_MOD_FINI): Likewise.
10032 * grub-core/Makefile.core.def (testload): New module.
10033
a17792c3
SJ
100342010-09-05 Szymon Janc <szymon@janc.net.pl>
10035
10036 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
10037 (uint8_t): New type.
10038 (uint16_t): Likewise.
10039 (uint32_t): Likewise.
10040 (uint64_t): Likewise.
10041
b81e40a3
SJ
100422010-09-05 Szymon Janc <szymon@janc.net.pl>
10043
10044 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
10045
fc2ef117
VS
100462010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10047
10048 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
10049 Made static.
10050 (grub_gzfile_open): Removed. All users updated.
10051 (GRUB_MOD_INIT): New function.
10052 (GRUB_MOD_FINI): Likewise.
10053 * grub-core/kern/file.c (grub_file_filters_all): New variable.
10054 (grub_file_filters_enabled): Likewise.
10055 (grub_file_open): Handle filters.
10056 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
10057 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
10058 * include/grub/file.h (grub_file_filter_id_t): New type.
10059 (grub_file_filter_t): Likewise.
10060 (grub_file_filters_all): New extern variable.
10061 (grub_file_filters_enabled): Likewise.
10062 (grub_file_filter_register): New inline function.
10063 (grub_file_filter_unregister): Likewise.
10064 (grub_file_filter_disable): Likewise.
10065 (grub_file_filter_disable_compression): Likewise.
10066 * include/grub/gzio.h: Removed.
10067
35ee15e0
BC
100682010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10069
10070 Filename expansion support for wildcards in GRUB script.
10071
10072 * tests/grub_script_expansion.in: New test.
10073 * Makefile.util.def: Rule for new test.
10074
10075 * grub-core/commands/wildcard.c: New file, implements filename
10076 expansion support for GRUB script.
10077 * grub-core/Makefile.core.def: Rule update for regexp.mod.
10078 * grub-core/script/argv.c: Cosmetic changes.
10079 * grub-core/script/execute.c (grub_script_arglist_to_argv):
10080 Refactored to perform wildcard expansion on arguments.
10081 * include/grub/script_sh.h (grub_script_wildcard_translator): New
10082 struct.
10083
10084 * tests/util/grub-shell.in: Fix quoting for read input.
10085
5f0c4aca
BC
100862010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10087
10088 Support for updating environment variables with matched substrings
10089 of regexp.
10090
10091 * tests/grub_cmd_regexp.in: New test.
10092 * Makefile.util.def: Rule for new test.
10093
10094 * grub-core/commands/regexp.c: New option -s to update environment
10095 variables with regexp matches.
10096
3759a35f
SJ
100972010-09-04 Szymon Janc <szymon@janc.net.pl>
10098
10099 * include/grub/file.h (grub_file): New member not_easly_seekable.
10100 (grub_file_seekable): New inline function.
10101 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
10102 easily seekable.
10103 (grub_gzio_open): Set not_easly_seekable.
10104 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
10105 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
10106
ed8c6dec
BC
101072010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10108
10109 Support for options to appear multiple times on cmdline.
10110
10111 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
10112 * grub-core/commands/extcmd.c: Support for repeatable option.
10113 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
10114 repeatable option support.
10115
10116 Refactor menuentry into a regular command.
10117
10118 * grub-core/commands/menuentry.c: New file, menuentry command
10119 implementation.
10120 * grub-core/Makefile.core.def: Rule update for normal.mod.
10121 * grub-core/normal/main.c: Moved menuentry creation to
10122 grub-core/commands/menuentry.c.
10123 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
10124 (grub_menu_execute_entry_real): Removed.
10125 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
10126 function.
10127 (grub_script_execute_menuentry): Removed.
10128 * grub-core/script/parser.y (menuentry): Removed.
10129 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
10130 * grub-core/script/yylex.l (menuentry): Removed.
10131 * include/grub/menu.h (grub_menu_init): New prototype.
10132 (grub_menu_fini): New prototype.
10133 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
10134 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
10135 (grub_script_execute_sourcecode): New prototype.
10136
dacd0cf0
BC
101372010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10138
10139 "return" command for GRUB script functions.
10140
10141 * tests/grub_script_return.in: New test.
10142 * Makefile.util.def: Rules for new test.
10143
10144 * grub-core/script/execute.c (grub_script_return): New function.
10145 * grub-core/script/main.c: Register/unregister return commaond.
10146 * include/grub/script_sh.h (grub_script_return): New prototype.
10147
52e72f9d
BC
101482010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10149
10150 "setparams" command to update positional parameters.
10151
10152 * tests/grub_script_setparams.in: New test.
10153 * Makefile.util.def: Rules for new test.
10154
10155 * grub-core/script/argv.c (grub_script_argv_make): New function.
10156 * grub-core/script/execute.c (replace_scope): New function.
10157 (grub_script_setparams): New function.
10158 * grub-core/script/lexer.c: Remove unused variables.
10159 * grub-core/script/main.c: Register/unregister setparams command.
10160 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
10161 (grub_script_setparams): New prototype.
10162
25b60c91
BC
101632010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10164
10165 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
10166 grub_free order.
10167
37e7bf68
BC
101682010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10169
10170 Support for passing block of commands as an argument to extcmds.
10171
10172 * Makefile.util.def: Rules for new test.
10173 * tests/grub_script_blockarg.in: New test.
10174 * grub-core/tests/test_blockarg.c: New file, block argument
10175 command used in the test.
10176
10177 * include/grub/extcmd.h (grub_extcmd_context): New struct.
10178 (grub_register_extcmd_prio): New function prototype.
10179 (grub_extcmd_dispatcher): New function prototype.
10180 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
10181 type.
10182 * include/grub/script_sh.h (struct grub_script): New members
10183 `children', `next_siblings' and `refcnt' for block arguments and
10184 reference counting.
10185 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
10186 (grub_script_arg): New member `script' for block argument.
10187 (grub_script_argv): New member `script' for block argument.
10188 (grub_parser_param): New member `scripts' for block argument.
10189 (grub_script_mem_free): New extern function prototype.
10190 (grub_script_ref): New function prototype.
10191 (grub_script_unref): New function prototype.
10192
10193 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
10194 extcmd form to support block arguments.
10195 * grub-core/script/argv.c: Block arguments support.
10196 * grub-core/script/execute.c: Likewise.
10197 * grub-core/script/lexer.c: Likewise.
10198 * grub-core/script/main.c: Likewise.
10199 * grub-core/script/script.c: Likewise.
10200 * grub-core/script/parser.y: Likewise. New `block' and `block0'
10201 non-terminals.
10202
10203 * grub-core/commands/acpi.c: Update extcmd implementations with
10204 grub_extcmd_context_t.
10205 * grub-core/commands/cat.c: Likewise.
10206 * grub-core/commands/echo.c: Likewise.
10207 * grub-core/commands/extcmd.c: Likewise.
10208 * grub-core/commands/hashsum.c: Likewise.
10209 * grub-core/commands/hdparm.c: Likewise.
10210 * grub-core/commands/help.c: Likewise.
10211 * grub-core/commands/hexdump.c: Likewise.
10212 * grub-core/commands/i386/cpuid.c: Likewise.
10213 * grub-core/commands/i386/pc/drivemap.c: Likewise.
10214 * grub-core/commands/i386/pc/halt.c: Likewise.
10215 * grub-core/commands/i386/pc/sendkey.c: Likewise.
10216 * grub-core/commands/iorw.c: Likewise.
10217 * grub-core/commands/keystatus.c: Likewise.
10218 * grub-core/commands/loadenv.c: Likewise.
10219 * grub-core/commands/ls.c: Likewise.
10220 * grub-core/commands/lspci.c: Likewise.
10221 * grub-core/commands/memrw.c: Likewise.
10222 * grub-core/commands/probe.c: Likewise.
10223 * grub-core/commands/search_wrap.c: Likewise.
10224 * grub-core/commands/setpci.c: Likewise.
10225 * grub-core/commands/sleep.c: Likewise.
10226 * grub-core/disk/loopback.c: Likewise.
10227 * grub-core/hello/hello.c: Likewise.
10228 * grub-core/loader/i386/bsd.c: Likewise.
10229 * grub-core/loader/xnu.c: Likewise.
10230 * grub-core/term/gfxterm.c: Likewise.
10231 * grub-core/term/serial.c: Likewise.
10232 * grub-core/tests/lib/functional_test.c: Likewise.
10233
888d1500
BC
102342010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10235
10236 Multi-line quoted strings support.
10237
10238 * grub-core/script/lexer.c (append_newline): Removed.
10239 (grub_script_lexer_yywrap): Refactored.
10240 (grub_script_lexer_init): Refactored.
10241 * grub-core/script/yylex.l (yywrap): New function.
10242 (grub_lexer_resplit): New function.
10243 (grub_lexer_unput): New function.
10244 * include/grub/script_sh.h (grub_lexer_param): New members, unput
10245 and resplit.
10246 * tests/grub_script_echo1.in: Added few more testcases.
10247
dda060dd
VS
102482010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
10249
10250 * grub-core/kern/misc.c: Don't add abort alias in utils.
10251 Reported by: echoline.
10252
6556eba9
BC
102532010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
10254
10255 Add missing files into "make dist" tarball for other platforms.
10256
10257 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
10258 * conf/Makefile.common (dist_noinst_DATA): New variable.
10259 * conf/Makefile.extra-dist: Added missing make dist files.
10260 * grub-core/Makefile.core.def: Likewise.
10261
c8e7bf5f
VS
102622010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
10263
10264 Compress grub_prefix.
10265
10266 * grub-core/boot/i386/pc/lnxboot.S: Use
10267 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
10268 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
10269 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
10270 GRUB_MACHINE_PREFIX_END. All users updated.
10271 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
10272 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
10273 + 0x40.
10274 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
10275 * util/grub-mkimage.c (image_target_desc): Change data_end to
10276 prefix_end. All users updated.
10277
a7c00cdb
VS
102782010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
10279
10280 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
10281 value.
10282 (grub_openbsd_boot): Likewise.
10283 (grub_netbsd_boot): Likewise.
10284 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
10285 (grub_xnu_boot): Likewise.
10286
9f915872
VS
102872010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10288
10289 * configure.ac: Clean LIBS variable after tests.
10290
efa1bee7
CW
102912010-09-02 Colin Watson <cjwatson@ubuntu.com>
10292
10293 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
10294
61d720e5
VS
102952010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10296
10297 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
10298 echo if libdevmapper will be used.
10299
ef8e0ec8
IT
103002010-09-02 Ian Turner <Ian.Turner@deshaw.com>
10301
10302 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
10303 constant for the same file.
10304
03e261d8
VS
103052010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10306
10307 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
10308
c2a4eba6
CW
103092010-09-02 Colin Watson <cjwatson@ubuntu.com>
10310
10311 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
10312 grub-core/*.pp.
10313
9056cbf3
CW
103142010-09-02 Colin Watson <cjwatson@ubuntu.com>
10315
10316 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
10317 required by the boot protocol.
10318
10319 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
10320 ebp and edi members.
10321 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
10322 state.ebp and state.edi.
10323 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
10324 %ebp and %edi according to grub_relocator32_ebp and
10325 grub_relocator32_edi respectively.
10326 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
10327 and state.edi.
10328
529cc99a
VS
103292010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10330
10331 Add i386-pc-pxe image target.
10332
10333 * util/grub-mkimage.c (image_target_desc): New enum value
10334 IMAGE_I386_PC_PXE.
10335 (image_targets): New target i386-pc-pxe.
10336 (generate_image): Handle i386-pc-pxe image.
10337
9a093920
VS
103382010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10339
10340 Fix grub_pxe_scan.
10341
10342 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
10343 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
10344 All users updated.
10345 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
10346 (grub_pxe_pxenv): Correct type.
10347
f9cefc4e
CW
103482010-09-01 Colin Watson <cjwatson@ubuntu.com>
10349
10350 * NEWS: Document most of the important changes since 1.98.
10351
4066f57f
CW
103522010-09-01 Colin Watson <cjwatson@ubuntu.com>
10353
10354 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
10355 generated manual page) a little.
10356
da2891f9
CW
103572010-09-01 Colin Watson <cjwatson@ubuntu.com>
10358
10359 * docs/grub.texi: Add myself as an author.
10360
ad717fae
VS
103612010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
10362
10363 * Makefile.util.def (libgrub.a): Add missing sunpc.
10364 Reported by: Seth Goldberg.
10365
eefe8abd
VS
103662010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10367
10368 Interrupt wrapping and code simplifications.
10369
9494ef9a
VS
10370 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
10371 x86_noieee1275 which are functionaly equivalent in this case.
10372 (grub-install): Make source on each platform explicit. Enable on
10373 all noemu.
10374 * gentpl.py (x86_efi_pc): Removed group.
10375 (x86_noefi): Likewise.
10376 (i386_noefi): Likewise.
10377 (x86_noieee1275): Likewise.
10378 (i386_noieee1275): Likewise.
10379 (i386_noefi_noieee1275): Likewise.
10380 (i386_pc_qemu_coreboot): Likewise.
10381 (i386_coreboot_multiboot): Likewise.
10382 (i386_pc_coreboot_multiboot_qemu): Likewise.
10383 (x86_noefi_mips): Likewise.
10384 (noieee1275): Likewise.
10385 (ieee1275_mips): Likewise.
10386 (noemu_noieee1275): Likewise.
10387 (cmos): New group.
10388 (usb): Likewise.
10389 (videoinkernel): Likewise.
10390 (videomodules): Likewise.
eefe8abd 10391 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
10392 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
10393 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
10394 include/grub/loader.h, include/grub/msdos_partition.h,
10395 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
10396 include/grub/machine/console.h, include/grub/machine/vga.h,
10397 include/grub/machine/vbe.h, include/grub/machine/init.h,
10398 include/grub/machine/kernel.h, include/grub/cpu/time.h,
10399 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 10400 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
10401 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
10402 * grub-core/Makefile.core.def (kernel): Explicit the source for
10403 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
10404 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
10405 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
10406 Use videoinkernel tag.
10407 (usb): Enable on all usb.
10408 (usbserial_common): Likewise.
10409 (usbserial_pl2303): Likewise.
10410 (usbserial_ftdi): Likewise.
10411 (uhci): Enable on all x86.
10412 (ohci): Enable on all pci.
10413 (cmostest): Enable on all CMOS.
10414 (acpi): Include commands/acpi.c on all platforms.
10415 (halt): Add relevant lib/*/halt.c.
10416 (hdparm): Enable on all pci.
10417 (lspci): Likewise.
10418 (usbtest): Enable on all usb.
10419 (ata): Enable on all pci.
10420 (ata_pthru): Likewise.
10421 (usbms): Enable on all usb.
10422 (usb_keyboard): Likewise.
10423 (font): Use tag videomodules.
10424 (bufio): Likewise.
10425 (datetime): Use tag cmos. Enable on all noemu.
10426 (mmap): Use tags common and x86.
10427 (gfxterm): Use tag videomodules.
10428 (bitmap): Likewise.
10429 (bitmap_scale): Likewise.
10430 (video_fb): Likewise.
10431 (video): Likewise.
10432 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
10433 adjust padding accordingly. All users updated.
10434 (grub_ohci_transaction): Fix bad format specification.
10435 (GRUB_MOD_INIT): Add asserts for struct size.
10436 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
10437 (grub_alloc_td): Likewise.
10438 (grub_free_queue): Likewise.
10439 (grub_uhci_transfer): Likewise.
10440 (grub_uhci_transaction): Fix bad format specification.
10441 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
10442 (grub_usb_bulk_readwrite): Likewise.
10443 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
10444 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
10445 Made static.
10446 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
10447 Made static.
10448 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
10449 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
10450 Transformed into C.
10451 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
10452 Moved from here ...
10453 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
10454 ... here. Transformed into C. Made static.
10455 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
10456 Moved from here ...
10457 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
10458 ... here. Transformed into C. Made static.
10459 * grub-core/kern/i386/pc/startup.S
10460 (grub_biosdisk_check_int13_extensions): Moved from here ...
10461 * grub-core/disk/i386/pc/biosdisk.c
10462 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
10463 Made static.
10464 * grub-core/kern/i386/pc/startup.S
10465 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
10466 * grub-core/disk/i386/pc/biosdisk.c
10467 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
10468 Transformed into C. Made static.
10469 * grub-core/kern/i386/pc/startup.S
10470 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
10471 * grub-core/disk/i386/pc/biosdisk.c
10472 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
10473 Transformed into C. Made static.
10474 * grub-core/kern/i386/pc/startup.S
10475 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
10476 * grub-core/disk/i386/pc/biosdisk.c
10477 (grub_biosdisk_get_diskinfo_standard): ... here.
10478 Transformed into C. Made static.
10479 * grub-core/kern/i386/pc/startup.S
10480 (grub_biosdisk_get_num_floppies): Moved from here ...
10481 * grub-core/disk/i386/pc/biosdisk.c
10482 (grub_biosdisk_get_num_floppies): ... here.
10483 Transformed into C. Made static.
10484 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
10485 New function.
10486 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
10487 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
10488 Transformed into C. Made static.
10489 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
10490 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
10491 Transformed into C. Made static.
10492 * grub-core/kern/i386/ieee1275/init.c: Removed.
10493 * grub-core/kern/i386/misc.S: Likewise.
10494 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
10495 Splitted from here ...
10496 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
10497 Transformed into C. Made static. All users updated.
10498 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
10499 Transformed into C. Made static. All users updated.
10500 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
10501 Moved from here...
10502 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
10503 Transformed into C. Made static. All users updated.
10504 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
10505 Moved from here...
10506 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
10507 Transformed into C. Made static. All users updated.
10508 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
10509 Removed (replaced by C version).
10510 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
10511 Moved from here...
10512 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
10513 Transformed into C. Made static.
10514 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
10515 Moved from here...
10516 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
10517 ... here. Transformed into C.
10518 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
10519 Moved from here...
10520 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
10521 ... here. Transformed into C.
10522 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
10523 Moved from here...
10524 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
10525 ... here. Transformed into C. Made static.
10526 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
10527 Moved from here...
10528 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
10529 ... here. Transformed into C.
21ed554b
VS
10530 * grub-core/kern/i386/pc/startup.S
10531 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
10532 * grub-core/video/i386/pc/vbe.c
10533 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
10534 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
10535 Moved from here...
10536 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
10537 ... here. Transformed into C.
10538 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
10539 Moved from here...
10540 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
10541 ... here. Transformed into C.
10542 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
10543 Moved from here...
10544 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
10545 ... here. Transformed into C.
10546 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
10547 Moved from here...
10548 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
10549 ... here. Transformed into C.
10550 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
10551 Moved from here...
10552 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
10553 ... here. Transformed into C. Made static.
10554 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
10555 Moved from here...
10556 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
10557 ... here. Transformed into C. Made static.
10558 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
10559 Moved from here...
10560 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
10561 ... here. Transformed into C. Made static.
10562 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
10563 pxe_rm_entry as third argument.
10564 (grub_bios_interrupt): New function.
10565 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
10566 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
10567 of calling grub_stop.
10568 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
10569 * grub-core/lib/efi/halt.c (grub_halt): ...here.
10570 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
10571 * grub-core/lib/emu/halt.c (grub_halt): ... here.
10572 * grub-core/lib/i386/halt.c: Moved from here ...
10573 * grub-core/lib/i386/halt.c: ... here.
10574 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
10575 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
10576 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
10577 grub_stop_floppy.
10578 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
10579 * include/grub/i386/coreboot/init.h: Removed.
10580 * include/grub/i386/multiboot/init.h: Likewise.
10581 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
10582 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
10583 * include/grub/i386/pc/int.h: New file.
10584 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
10585 (grub_pxe_scan): Removed.
10586 (grub_pxe_call): Update prototype.
10587 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
10588 prototypes.
10589 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
10590 * include/grub/i386/qemu/init.h: Removed.
10591 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
10592 noreturn.
10593 (grub_halt): Likewise.
10594 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
10595 (grub_reboot): Likewise.
10596 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
10597 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
10598 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
10599
215dd471
RM
106002010-08-30 Robert Millan <rmh@gnu.org>
10601
10602 * NEWS: Document addition of ZFS support in `grub-install' and
10603 `grub-mkconfig'.
10604
ebd65b82
BC
106052010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
10606
10607 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
10608 dprintf output.
10609
11721d19
VS
106102010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10611
10612 Remove leftover embedding of font objects.
10613
10614 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
10615 * util/grub-install.in (font): Removed.
10616 * util/grub-mkimage.c (generate_image): Remove font support. All users
10617 updated.
10618
37837d4e
VS
106192010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10620
10621 Remove leftover embedding of font objects.
10622
10623 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
10624 * util/grub-install.in (font): Removed.
10625 * util/grub-mkimage.c (generate_image): Remove font support. All users
10626 updated.
10627
b4c1aae0
VS
106282010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10629
10630 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 10631 Reported by: Ian Turner
b4c1aae0 10632
8920a08d
VS
106332010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10634
10635 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
10636 timeout to avoid indefinite boot stalling.
10637
f21db033
VS
106382010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10639
10640 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
10641 (grub_env_write_color_highlight): Likewise.
10642
9a9de209
VS
106432010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10644
10645 * grub-core/normal/term.c (print_more): Return to normal and not
10646 to standard state after printing "---MORE---".
10647
3dca01d7
VS
106482010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10649
10650 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
10651 Mask out the bit 0x80 since it has other meaning that specifiing color.
10652
0b986c40
VS
106532010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10654
10655 New relocator. Allows for more kernel support and more straightforward
10656 loader writing.
10657
10658 * Makefile.am (BOOTTARGET): New variable.
10659 (QEMU32): Likewise.
10660 (linux.init.x86_64): New target.
10661 (linux.init.i386): Likewise.
10662 (multiboot.elf): Likewise.
10663 (kfreebsd.elf): Likewise.
10664 (kfreebsd.aout): Likewise.
10665 (pc-chainloader.elf): Likewise.
10666 (pc-chainloader.bin): Likewise.
10667 (ntldr.elf): Likewise.
10668 (ntldr.bin): Likewise.
10669 (multiboot2.elf): Likewise.
10670 (kfreebsd.init.x86_64): Likewise.
10671 (kfreebsd.init.i386): Likewise.
10672 (knetbsd.init.i386): Likewise.
10673 (kopenbsd.init.i386): Likewise.
10674 (knetbsd.init.x86_64): Likewise.
10675 (kopenbsd.init.x86_64): Likewise.
10676 (linux-initramfs.i386): Likewise.
10677 (linux-initramfs.x86_64): Likewise.
10678 (kfreebsd-mfsroot.i386.img): Likewise.
10679 (knetbsd.image.i386): Likewise.
10680 (kopenbsd.image.i386): Likewise.
10681 (kopenbsd.image.x86_64): Likewise.
10682 (knetbsd.miniroot-image.i386.img): Likewise.
10683 (kfreebsd-mfsroot.x86_64.img): Likewise.
10684 (knetbsd.image.x86_64): Likewise.
10685 (knetbsd.miniroot-image.x86_64.img): Likewise.
10686 (kfreebsd-mfsroot.i386.gz): Likewise.
10687 (bootcheck-kfreebsd-i386): Likewise.
10688 (kfreebsd-mfsroot.x86_64.gz): Likewise.
10689 (bootcheck-kfreebsd-x86_64): Likewise.
10690 (knetbsd.miniroot-image.i386.gz): Likewise.
10691 (bootcheck-knetbsd-i386): Likewise.
10692 (bootcheck-kopenbsd-i386): Likewise.
10693 (bootcheck-kopenbsd-x86_64): Likewise.
10694 (knetbsd.miniroot-image.x86_64.gz): Likewise.
10695 (bootcheck-knetbsd-x86_64): Likewise.
10696 (bootcheck-linux-i386): Likewise.
10697 (bootcheck-linux-x86_64): Likewise.
10698 (bootcheck-linux16-i386): Likewise.
10699 (bootcheck-linux16-x86_64): Likewise.
10700 (bootcheck-multiboot): Likewise.
10701 (bootcheck-multiboot2): Likewise.
10702 (bootcheck-kfreebsd-aout): Likewise.
10703 (bootcheck-pc-chainloader): Likewise.
10704 (bootcheck-ntldr): Likewise.
10705 (CLEANFILES): Add new targets.
10706 (BOOTCHECKS): New variable.
10707 (.PHONY): Add bootchecks.
10708 (SUCCESSFUL_BOOT_STRING): New variable.
10709 (BOOTCHECK_TIMEOUT): Likewise.
10710 (bootcheck): New target
10711 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
10712 * configure.ac: Correct efiemu excuse.
10713 * docs/grub.texi (Supported kernels): New chapter.
10714 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
10715 include/grub/mm_private.h. Simplify inclusion of
10716 include/grub/boot.h, include/grub/loader.h
10717 and include/grub/msdos_partition.h
10718 (KERNEL_HEADER_FILES) [i386_coreboot]:
10719 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
10720 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
10721 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
10722 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
10723 include/grub/machine/loader.h.
10724 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
10725 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
10726 extra_dist.
10727 (pci.mod): Enable on i386-multiboot.
10728 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
10729 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
10730 i386-qemu.
10731 (relocator.mod): Rewritten.
10732 (aout.mod): Enable on all x86.
10733 (bsd.mod): Likewise.
10734 (ntldr.mod): New module.
10735 (linux.mod): Use loader/i386/linux.c on all x86.
10736 (xnu.mod): Enable on all x86.
10737 (vga_text.mod): disable on EFI and QEMU.
10738 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
10739 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
10740 * grub-core/efiemu/loadcore.c: Likewise.
10741 * grub-core/efiemu/main.c: Likewise.
10742 (grub_efiemu_exit_boot_services): Removed.
10743 (grub_efiemu_finish_boot_services): Likewise.
10744 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
10745 function.
10746 * grub-core/efiemu/i386/nocfgtables.c: New file.
10747 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
10748 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
10749 (grub_efi_finish_boot_services): Moved from here ...
10750 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
10751 Fille finish memory map and related data.
10752 (finish_mmap_buf): New variable.
10753 (grub_efi_uintn_t finish_mmap_size): Likewise.
10754 (grub_efi_uintn_t finish_key): Likewise.
10755 (grub_efi_uintn_t finish_desc_size): Likewise.
10756 (grub_efi_uint32_t finish_desc_version): Likewise.
10757 (grub_efi_is_finished): Likewise.
10758 (grub_efi_get_memory_map): Use saved memory map if EFI is already
10759 finished.
10760 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
10761 (grub_elf64_phdr_iterate): Likewise.
10762 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
10763 (grub_os_area_size): Likewise.
10764 (grub_machine_init): Don't reserve os area.
10765 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
10766 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
10767 * grub-core/kern/i386/loader.S: Removed.
10768 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
10769 (grub_os_area_size): Likewise.
10770 (grub_machine_init): Don't reserve os area.
10771 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
10772 Don't call grub_dl_unload_all.
10773 Don't include loader.S.
10774 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
10775 Declare the memory after _end as available.
10776 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 10777 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 10778 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
10779 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
10780 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
10781 * include/grub/mm_private.h (grub_mm_header): ... here.
10782 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
10783 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
10784 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
10785 (grub_mm_region): ..here. Removed addr. Added pre_size.
10786 All users updated.
10787 * grub-core/kern/mm.c (base): Renamed to ...
10788 (grub_mm_base): ... this. Made global.
10789 (grub_real_malloc): Alloc from end of region.
10790 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
10791 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
10792 * grub-core/kern/powerpc/cache_flush.S: ... here.
10793 * grub-core/lib/efi/relocator.c: New file.
10794 * grub-core/lib/i386/relocator.c: Rewritten.
10795 * grub-core/lib/i386/relocator16.S: New file.
10796 * grub-core/lib/i386/relocator32.S: Likewise.
10797 * grub-core/lib/i386/relocator64.S: Likewise.
10798 * grub-core/lib/i386/relocator_asm.S: Rewritten.
10799 * grub-core/lib/i386/relocator_common.S: New file.
10800 * grub-core/lib/ieee1275/relocator.c: Likewise.
10801 * grub-core/lib/mips/relocator.c: Rewritten.
10802 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
10803 stylistic adjustments.
10804 * grub-core/lib/powerpc/relocator.c: New file.
10805 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
10806 * grub-core/lib/relocator.c: Rewritten.
10807 * grub-core/lib/x86_64/relocator_asm.S: New file.
10808 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
10809 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
10810 (bsd_tag): New struct.
10811 (tags): New variable.
10812 (tags_last): Likewise.
10813 (netbsd_module): New struct.
10814 (netbsd_mods): New variable.
10815 (netbsd_mods_last): Likewise.
10816 (openbsd_opts): New parameter "serial".
10817 (OPENBSD_SERIAL_ARG): New definition.
10818 (netbsd_opts): New parameter "serial".
10819 (NETBSD_SERIAL_ARG): New definition.
10820 (grub_freebsd_add_meta): Reorganised into ...
10821 (grub_bsd_add_meta): ...this. All users updated.
10822 (grub_freebsd_add_mmap): Reorganised into ...
10823 (generate_e820_mmap): ...this...
10824 (grub_bsd_add_mmap): ...and this. All users updated.
10825 (grub_freebsd_list_modules): Use tags.
10826 (grub_netbsd_add_meta_module): New function.
10827 (grub_netbsd_list_modules): Likewise.
10828 (grub_freebsd_boot): Use relocator and finish EFI.
10829 (grub_openbsd_boot): Likewise.
10830 (grub_netbsd_setup_video): New function.
10831 (grub_netbsd_add_modules): Likewise.
10832 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
10833 and finish EFI.
10834 (grub_bsd_unload): Unload tags.
10835 (grub_bsd_load_aout): Use relocator.
10836 (grub_bsd_elf32_size_hook): New function.
10837 (grub_bsd_elf32_hook): Use relocator.
10838 (grub_bsd_elf64_size_hook): New function.
10839 (grub_bsd_elf64_hook): Use relocator.
10840 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
10841 (grub_bsd_load): Zero-out openbsd_ramdisk.
10842 (grub_bsd_load): Use relocator.
10843 (grub_cmd_openbsd): Support serial.
10844 (grub_cmd_netbsd): Support modules.
10845 (grub_cmd_freebsd_module): Use relocator.
10846 (grub_netbsd_module_load): New function.
10847 (grub_cmd_netbsd_module): Likewise.
10848 (grub_cmd_openbsd_ramdisk): Likewise.
10849 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
10850 kopenbsd_ramdisk.
10851 (GRUB_MOD_FINI): Unregister new commands.
10852 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
10853 (grub_freebsd_load_elfmodule_obj): Use relocator.
10854 (grub_freebsd_load_elfmodule): Likewise.
10855 (grub_freebsd_load_elf_meta): Likewise.
10856 (grub_netbsd_load_elf_meta): New function.
10857 (grub_openbsd_find_ramdisk): Likewise.
10858 * grub-core/loader/i386/bsd_helper.S: Removed.
10859 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
10860 * grub-core/loader/i386/bsd_trampoline.S: Removed.
10861 * grub-core/loader/i386/efi/linux.c: Likewise.
10862 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
10863 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
10864 (DEFAULT_VIDEO_MODE): Likewise.
10865 (real_mode_target): New variable.
10866 (prot_mode_target): Likewise.
10867 (initrd_mem_target): Likewise.
10868 (relocator): Likewise.
10869 (efi_mmap_buf): Likewise.
10870 (efi_mmap_size): Likewise.
10871 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
10872 (free_pages): Use relocator.
10873 (allocate_pages): Account for efi_mmap and use relocator. Return error.
10874 (grub_linux_setup_video): Return error.
10875 (grub_linux_trampoline_start): Removed.
10876 (grub_linux_trampoline_end): Likewise.
10877 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
10878 andd video parameters depending on firmware.
10879 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
10880 [GRUB_MACHINE_EFI]: Pass EFI parameters.
10881 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
10882 (grub_cmd_initrd): Use relocator.
10883 * grub-core/loader/i386/linux_trampoline.S: Removed.
10884 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
10885 (elf_sec_entsize): Likewise.
10886 (elf_sec_shstrndx): Likewise.
10887 (elf_sections): Likewise.
10888 (grub_multiboot_load): Use relocator.
10889 (grub_multiboot_get_mbi_size): Account for sections.
10890 (grub_multiboot_make_mbi): Use relocator and support sections.
10891 (grub_multiboot_add_elfsyms): New function.
10892 (grub_multiboot_free_mbi): Free sections.
10893 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
10894 (grub_linux_real_target): Likewise.
10895 (grub_linux_real_chunk): Likewise.
10896 (grub_linux16_prot_size): Likewise.
10897 (grub_linux16_boot): Use relocator.
10898 (grub_linux_unload): Unload relocator.
10899 (grub_cmd_linux): Use relocator.
10900 (grub_cmd_initrd): Likewise.
10901 * grub-core/loader/i386/pc/ntldr.c: New file.
10902 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
10903 Don't try to guess CPU frequency.
10904 (grub_xnu_set_video): Stretch bitmap.
10905 (grub_xnu_boot): Use relocator.
10906 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
10907 (grub_linux_unload): Free relocator.
10908 (grub_linux_load32): Use relocator.
10909 (grub_linux_load64): Likewise.
10910 (grub_cmd_initrd): Likewise.
10911 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
10912 (grub_multiboot_unload): Unload relocator.
10913 (grub_cmd_multiboot): Use relocator.
10914 (grub_cmd_module): Likewise.
10915 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
10916 Use relocator and support sections.
10917 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
10918 (elf_sec_entsize): Likewise.
10919 (elf_sec_shstrndx): Likewise.
10920 (elf_sections): Likewise.
10921 (grub_multiboot_load): Use relocator.
10922 (grub_multiboot_get_mbi_size): Account for sections.
10923 (grub_multiboot_make_mbi): Use relocator and support sections.
10924 (grub_multiboot_add_elfsyms): New function.
10925 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
10926 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
10927 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
10928 Prototype changed. All users updated.
10929 (grub_xnu_align_heap): Simplified.
10930 (grub_xnu_writetree_toheap): Likewise.
10931 (grub_xnu_unload): Unload relocator.
10932 (grub_cmd_xnu_kernel): Use relocator.
10933 (grub_cmd_xnu_kernel64): Likewise.
10934 (grub_xnu_register_memory): Simplified.
10935 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
10936 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
10937 EFI is finished.
10938 (grub_console_checkkey): Likewise.
10939 (grub_console_getkey): Likewise.
10940 (grub_console_getwh): Likewise.
10941 (grub_console_getxy): Likewise.
10942 (grub_console_gotoxy): Likewise.
10943 (grub_console_cls): Likewise.
10944 (grub_console_setcolorstate): Likewise.
10945 (grub_console_setcursor): Likewise.
10946 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
10947 * grub-core/tests/boot/kbsd.init-i386.S: New file.
10948 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
10949 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
10950 * grub-core/tests/boot/kernel-8086.S: Likewise.
10951 * grub-core/tests/boot/kernel-i386.S: Likewise.
10952 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
10953 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
10954 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
10955 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
10956 * grub-core/tests/boot/knetbsd.cfg: Likewise.
10957 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
10958 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
10959 * grub-core/tests/boot/linux.cfg: Likewise.
10960 * grub-core/tests/boot/linux.init-i386.S: Likewise.
10961 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
10962 * grub-core/tests/boot/linux16.cfg: Likewise.
10963 * grub-core/tests/boot/multiboot.cfg: Likewise.
10964 * grub-core/tests/boot/multiboot2.cfg: Likewise.
10965 * grub-core/tests/boot/ntldr.cfg: Likewise.
10966 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
10967 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
10968 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
10969 New definition.
10970 * include/grub/dl.h (grub_dl_unload_all): Removed.
10971 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
10972 (grub_efi_finish_boot_services): Change prototype.
10973 (grub_efi_is_finished): New variable.
10974 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
10975 Changed prototype.
10976 (grub_efiemu_finish_boot_services): Removed.
10977 (grub_machine_efiemu_init_tables): New prototype.
10978 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
10979 (grub_elf64_phdr_iterate): Likewise.
10980 * include/grub/i386/bsd.h: Include relocator.h.
10981 (freebsd_tag_header): New struct.
10982 (grub_openbsd_bios_mmap): Removed.
10983 (grub_unix_real_boot): Removed.
10984 (grub_freebsd_load_elfmodule32): Changed prototype.
10985 (grub_freebsd_load_elfmodule_obj64): Likewise.
10986 (grub_freebsd_load_elf_meta32): Likewise.
10987 (grub_freebsd_load_elf_meta64): Likewise.
10988 (grub_freebsd_add_meta): Removed.
10989 (grub_netbsd_load_elf_meta32): New prototype.
10990 (grub_netbsd_load_elf_meta64): Likewise.
10991 (grub_bsd_add_meta): Likewise.
10992 (grub_openbsd_ramdisk_descriptor): New struct.
10993 (grub_openbsd_find_ramdisk32): New prototype.
10994 (grub_openbsd_find_ramdisk64): Likewise.
10995 * include/grub/i386/coreboot/loader.h: Removed.
10996 * include/grub/i386/efi/loader.h: Likewise.
10997 * include/grub/i386/ieee1275/loader.h: Likewise.
10998 * include/grub/i386/linux.h (linux_kernel_header): Change void *
10999 to grub_uint32_t.
11000 * include/grub/i386/loader.h: Removed.
11001 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
11002 value.
11003 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
11004 (grub_phys_addr_t): New type.
11005 (grub_vtop): New inline function.
11006 (grub_map_memory): Likewise.
11007 (grub_unmap_memory): Likewise.
11008 * include/grub/i386/multiboot/loader.h: Removed.
11009 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
11010 (NETBSD_BTINFO_CONSOLE): New definition.
11011 (NETBSD_BTINFO_SYMTAB): Likewise.
11012 (NETBSD_BTINFO_MODULES): Likewise.
11013 (NETBSD_BTINFO_FRAMEBUF): Likewise.
11014 (grub_netbsd_bootinfo): New struct.
11015 (grub_netbsd_btinfo_common): Use explicit bitsize.
11016 (grub_netbsd_btinfo_mmap_entry): Removed.
11017 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
11018 (grub_netbsd_btinfo_bootdisk): New struct.
11019 (grub_netbsd_btinfo_symtab): Likewise.
11020 (grub_netbsd_btinfo_serial): Likewise.
11021 (grub_netbsd_btinfo_modules): Likewise.
11022 (grub_netbsd_btinfo_framebuf): Likewise.
11023 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
11024 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
11025 Likewise.
11026 (grub_openbsd_bootargs): Use explicit bitsize.
11027 (grub_openbsd_bootarg_console): New struct.
11028 (GRUB_OPENBSD_COM_MAJOR): New definition.
11029 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
11030 * include/grub/i386/pc/efiemu.h: Removed.
11031 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
11032 * include/grub/i386/qemu/loader.h: Removed.
11033 * include/grub/i386/relocator.h: Rewritten.
11034 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
11035 * include/grub/mips/memory.h: New file.
11036 * include/grub/mips/multiboot.h: Rewritten.
11037 * include/grub/mips/relocator.h: Rewritten.
11038 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
11039 (grub_vtop): New function.
11040 (grub_map_memory): Likewise.
11041 (grub_unmap_memory): Likewise.
11042 * include/grub/misc.h (ALIGN_DOWN): New definition.
11043 * include/grub/mm.h (grub_mm_check_real): New proto.
11044 (GRUB_MM_CHECK): New definition.
11045 * include/grub/mm_private.h: New file.
11046 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
11047 (grub_multiboot_get_mbi_size): Removed.
11048 (grub_multiboot_make_mbi): Change prottype.
11049 (grub_multiboot_set_accepts_video): New proto.
11050 (grub_multiboot_add_elfsyms): Likewise.
11051 (grub_multiboot_payload_eip): New variable.
11052 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
11053 New prototype.
11054 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
11055 New definition.
11056 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
11057 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
11058 * include/grub/powerpc/ieee1275/loader.h: Removed.
11059 * include/grub/powerpc/memory.h: New file.
11060 * include/grub/powerpc/relocator.h: Likewise.
11061 * include/grub/relocator.h: Likewise.
11062 * include/grub/relocator_private.h: Likewise.
11063 * include/grub/sparc64/ieee1275/loader.h: Removed.
11064 * include/grub/x86_64/memory.h: New file.
11065 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
11066 (grub_xnu_heap_malloc): Likewise.
11067 (grub_xnu_heap_real_start): Removed.
11068 (grub_xnu_heap_start): Likewise.
11069 (grub_xnu_relocator): New variable.
11070 (grub_xnu_heap_target_start): Likewise.
11071 * tests/util/grub-shell.in: Support non-pc.
11072 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 11073
5303b85d
VS
110742010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11075
11076 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
11077 on malloc error.
11078 (grub_bidi_logical_to_visual): Check that malloc succeded.
11079 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
11080 puts.
11081 (grub_xputs_normal): Likewise.
11082
d768d159
VS
110832010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11084
11085 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
11086 extra_dist.
11087
110882010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11089
11090 * grub-core/efiemu/runtime/efiemu.sh: Removed.
11091
5bf84df4
VS
110922010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11093
11094 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
11095
3626810e
VS
110962010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11097
11098 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
11099 dprintf.
11100
a7363f53
BC
111012010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
11102
11103 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
11104
902f75f6
VS
111052010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11106
11107 * grub-core/normal/term.c (print_more): Fix a memory leak.
11108 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
11109 (grub_xputs_normal): Likewise.
11110
3c707967
VS
111112010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11112
11113 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
11114 the begining of the string
11115
2053cc07
VS
111162010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11117
11118 * grub-core/script/script.c (grub_script_parse): Free parsed on
11119 failure.
11120
46422ebf
VS
111212010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11122
11123 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
11124 on failure.
11125
9e0fa3f6
VS
111262010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11127
11128 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
11129 return.
11130
3393cf16
VS
111312010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11132
11133 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
11134 (scroll_up): Fix a memory leak.
11135
b17540cb
VS
111362010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11137
11138 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
11139 errors.
11140
67140446
VS
111412010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
11142
11143 Handle USB pendrives exposed as floppies.
11144
11145 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
11146 floppy.
11147 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
11148 Check for partitions on all devices.
11149
e35e46fc
VS
111502010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11151
11152 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
11153 (readkey): Likewise.
11154
d24c6190
BC
111552010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
11156
11157 Multiple variable names support to "export" command.
11158
11159 * normal/context.c (grub_cmd_export): "export" command supports
11160 multiple variable names.
11161
04ddcc6a
ST
111622010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
11163
11164 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
11165 --target=drive output to Mach device name.
11166
0c8b61d8
BC
111672010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
11168
11169 New Automake based build system for GRUB.
11170
11171 * ABOUT-NLS: New file.
11172 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
11173 in Makefile.util.def file.
11174 * Makefile.util.def: New file. Autogen build definitions file for
11175 GRUB host utils.
11176 * conf/Makefile.common: New file. Common variables for GRUB host
11177 utils and target modules.
11178 * conf/Makefile.extra-dist: New file. Extra files for make dist.
11179 * docs/Makefile.am: New file. Automake file for docs.
11180 * gentpl.py: New file. Python script to generate Autogen
11181 template.
11182 * grub-core/Makefile.am: New file. GRUB target modules' rules
11183 that doesn't fit in Makefile.core.def file.
11184 * grub-core/Makefile.core.def: New file. Autogen build
11185 definitions file for GRUB target modules.
11186 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
11187 specific setjmp.S file.
11188 * po/Makefile.am: New file.
11189
11190 * .bzrignore: New ignores.
11191 * INSTALL: New requirements, without Ruby.
11192 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
11193 * autogen.sh: Updated to invoke autogen as necessary.
11194 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
11195 and defines for Automake conditionals.
11196 * geninit.sh: Refactoring.
11197
11198 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
11199 necessary.
11200 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
11201 New prototype.
11202
11203 * include/grub/test.h: Fix functional test modules' naming.
11204 * grub-core/tests/example_functional_test.c: Fix test module name.
11205
11206 * util/misc.c: Hosted versions' of grub functions for libgrub.a
11207 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
11208 * util/grub-editenv.c: Likewise.
11209 * util/grub-fstest.c: Likewise.
11210 * util/grub-mkdevicemap.c: Likewise.
11211 * util/grub-mkfont.c: Likewise.
11212 * util/grub-mkimage.c: Likewise.
11213 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11214 * util/grub-probe.c: Likewise.
11215 * util/grub-script-check.c: Likewise.
11216 * util/i386/pc/grub-setup.c: Likewise.
11217 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11218
11219 * tests/util/grub-shell.in: Fix override directory path.
11220 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
11221 * util/import_gcry.py: Create Makefile.gcry.def file instead.
11222
11223 * util/lvm.c: Update #includes.
11224 * util/raid.c: Likewise.
11225 * util/resolve.c: Likewise.
11226 * grub-core/bus/emu/pci.c: Likewise.
11227 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
11228 * grub-core/lib/posix_wrap/string.h: Likewise.
11229 * grub-core/kern/emu/main.c: Likewise.
11230
11231 * grub-core/gensymlist.sh: New file. Script for generating kernel
11232 symbols file.
11233 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
11234
11235 * grub-core/gentrigtables.c: Fix unused variable warnings.
11236
11237 * Makefile.in: Removed.
11238 * conf/any-emu.rmk: Removed.
11239 * conf/common.rmk: Removed.
11240 * conf/i386-coreboot.rmk: Removed.
11241 * conf/i386-efi.rmk: Removed.
11242 * conf/i386-ieee1275.rmk: Removed.
11243 * conf/i386-multiboot.rmk: Removed.
11244 * conf/i386-pc.rmk: Removed.
11245 * conf/i386-qemu.rmk: Removed.
11246 * conf/i386.rmk: Removed.
11247 * conf/mips-yeeloong.rmk: Removed.
11248 * conf/mips.rmk: Removed.
11249 * conf/powerpc-ieee1275.rmk: Removed.
11250 * conf/sparc64-ieee1275.rmk: Removed.
11251 * conf/tests.rmk: Removed.
11252 * conf/x86-efi.rmk: Removed.
11253 * conf/x86_64-efi.rmk: Removed.
11254 * gendistlist.sh: Removed.
11255 * geninitheader.sh: Removed.
11256 * genkernsyms.sh.in: Removed.
11257 * genmk.rb: Removed.
11258 * gensymlist.sh.in: Removed.
11259 * mkinstalldirs: Removed.
11260 * boot: Moved ...
11261 * grub-core/boot: ... to here.
11262 * bus: Moved ...
11263 * grub-core/bus: ... to here.
11264 * commands: Moved ...
11265 * grub-core/commands: ... to here.
11266 * disk: Moved ...
11267 * grub-core/disk: ... to here.
11268 * efiemu: Moved ...
11269 * grub-core/efiemu: ... to here.
11270 * font: Moved ...
11271 * grub-core/font: ... to here.
11272 * fs: Moved ...
11273 * grub-core/fs: ... to here.
11274 * gencmdlist.sh: Moved ...
11275 * grub-core/gencmdlist.sh: ... to here.
11276 * genemuinit.sh: Moved ...
11277 * grub-core/genemuinit.sh: ... to here.
11278 * genemuinitheader.sh: Moved ...
11279 * grub-core/genemuinitheader.sh: ... to here.
11280 * genfslist.sh: Moved ...
11281 * grub-core/genfslist.sh: ... to here.
11282 * genhandlerlist.sh: Moved ...
11283 * grub-core/genhandlerlist.sh: ... to here.
11284 * genmoddep.awk: Moved ...
11285 * grub-core/genmoddep.awk: ... to here.
11286 * genmodsrc.sh: Moved ...
11287 * grub-core/genmodsrc.sh: ... to here.
11288 * genpartmaplist.sh: Moved ...
11289 * grub-core/genpartmaplist.sh: ... to here.
11290 * genparttoollist.sh: Moved ...
11291 * grub-core/genparttoollist.sh: ... to here.
11292 * genterminallist.sh: Moved ...
11293 * grub-core/genterminallist.sh: ... to here.
11294 * gentrigtables.c: Moved ...
11295 * grub-core/gentrigtables.c: ... to here.
11296 * genvideolist.sh: Moved ...
11297 * grub-core/genvideolist.sh: ... to here.
11298 * gettext: Moved ...
11299 * grub-core/gettext: ... to here.
11300 * gfxmenu: Moved ...
11301 * grub-core/gfxmenu: ... to here.
11302 * gnulib: Moved ...
11303 * grub-core/gnulib: ... to here.
11304 * hello: Moved ...
11305 * grub-core/hello: ... to here.
11306 * hook: Moved ...
11307 * grub-core/hook: ... to here.
11308 * io: Moved ...
11309 * grub-core/io: ... to here.
11310 * kern: Moved ...
11311 * grub-core/kern: ... to here.
11312 * lib: Moved ...
11313 * grub-core/lib: ... to here.
11314 * loader: Moved ...
11315 * grub-core/loader: ... to here.
11316 * mmap: Moved ...
11317 * grub-core/mmap: ... to here.
11318 * normal: Moved ...
11319 * grub-core/normal: ... to here.
11320 * partmap: Moved ...
11321 * grub-core/partmap: ... to here.
11322 * parttool: Moved ...
11323 * grub-core/parttool: ... to here.
11324 * script: Moved ...
11325 * grub-core/script: ... to here.
11326 * term: Moved ...
11327 * grub-core/term: ... to here
11328 * tests/example_functional_test.c: Moved ...
11329 * grub-core/tests/example_functional_test.c: ... to here.
11330 * tests/lib/functional_test.c: Moved ...
11331 * grub-core/tests/lib/functional_test.c: ... to here.
11332 * tests/lib/test.c: Moved ...
11333 * grub-core/tests/lib/test.c: ... to here.
11334 * video: Moved ...
11335 * grub-core/video: ... to here.
11336
645586e6
BC
113372010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
11338
11339 Replace --enable-grub-emu-modules with grub-emu-lite.
11340
11341 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
11342 cache.S.
11343
11344 * include/grub/emu/misc.h (grub_emu_init): New prototype.
11345 * kern/emu/full.c: New file. For grub-emu specific initialization.
11346 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
11347 * kern/emu/main.c: Call initialization function grub_emu_init.
11348
11349 * Makefile.in: Include grub-emu-lite in install.
11350 * commands/parttool.c: Use grub_no_autoload to differentiate
11351 between grub-emu and grub-emu-lite.
11352 * include/grub/misc.h: New variable grub_no_autoload.
11353
11354 * conf/any-emu.rmk: New rules for grub-emu-lite.
11355 * configure.ac: Remove --enable-grub-emu-modules.
11356 * genmk.rb: Cleanup unnecessary rules.
11357 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
11358
11359 * normal/main.c: Don't load list files on grub-emu-lite.
11360 * util/misc.c (grub_arch_sync_caches): Removed.
11361
f86a4030
CW
113622010-08-23 Colin Watson <cjwatson@ubuntu.com>
11363
11364 * kern/mips/startup.S (grub_prefix): Update comment to refer to
11365 grub-mkimage rather than grub-mkelfimage.
11366 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
11367
06776944
VS
113682010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
11369
11370 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
11371 a key after CapsLock or NumLock. It's just a qemu bug.
11372
df262419
VS
113732010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
11374
11375 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
11376 needed by libusb wrapper.
11377
b40ea81b
ST
113782010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
11379
11380 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
11381
dee50575
VS
113822010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
11383
11384 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
11385 --nounzip is passed.
11386
fb1d7b79
VS
113872010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
11388
11389 USB hotunplugging and USB serial support.
11390
11391 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
11392 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
11393 (grub_uhci_transfer): Respect timeout and set *actual.
11394 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
11395 non-standard length.
11396 (grub_usb_device_attach): Autoload modules.
11397 (GRUB_MOD_INIT): Set grub_term_poll_usb.
11398 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
11399 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
11400 users updated.
11401 (grub_usb_add_hub): Fill nports and children.
11402 (attach_root_port): Receive hub instead of controller.
11403 All users updated. Fill hub->devices.
11404 (grub_usb_root_hub): Allocate hub->devices.
11405 (detach_device): New function.
11406 (poll_nonroot_hub): Fill children and detach devices.
11407 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
11408 actual arguments. All users updated.
11409 (grub_usb_bulk_read_extended): New function.
11410 * bus/usb/serial/common.c: New file.
11411 * bus/usb/serial/ftdi.c: Likewise.
11412 * bus/usb/serial/pl2303.c: Likewise.
11413 * commands/terminal.c (handle_command): Support wildcard.
11414 * commands/usbtest.c: Output "Unknown" instead of empty string.
11415 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
11416 (usbserial_common_mod_SOURCES): New variable.
11417 (usbserial_common_mod_CFLAGS): Likewise.
11418 (usbserial_common_mod_LDFLAGS): Likewise.
11419 (pkglib_MODULES): Add usbserial_pl2303.mod.
11420 (usbserial_pl2303_mod_SOURCES): New variable.
11421 (usbserial_pl2303_mod_CFLAGS): Likewise.
11422 (usbserial_pl2303_mod_LDFLAGS): Likewise.
11423 (pkglib_MODULES): Add usbserial_ftdi.mod.
11424 (usbserial_ftdi_mod_SOURCES): New variable.
11425 (usbserial_ftdi_mod_CFLAGS): Likewise.
11426 (usbserial_ftdi_mod_LDFLAGS): Likewise.
11427 (pkglib_MODULES): Add serial.mod.
11428 (serial_mod_SOURCES): New variable.
11429 (serial_mod_CFLAGS): Likewise.
11430 (serial_mod_LDFLAGS): Likewise.
11431 * conf/i386-pc.rmk: Likewise.
11432 * conf/mips-yeeloong.rmk: Likewise.
11433 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
11434 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
11435 * disk/usbms.c (first_available_slot): New variable.
11436 (grub_usbms_attach): Don't reuse free slots due to potential cache
11437 problems.
11438 * include/grub/serial.h: Moved to ..
11439 * include/grub/ns8250.h: ...this.
11440 * include/grub/serial.h: New file.
11441 * include/grub/term.h (grub_term_poll_usb): New variable.
11442 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
11443 readkey. All users updated.
11444 (grub_terminfo_output_state): Pass term to put.
11445 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
11446 (grub_usb_controller_dev): Add timeout and actual arguments to
11447 transfer. All users updated.
11448 (grub_usb_interface): New field detach_data.
11449 (grub_usb_device): New fields children and nports.
11450 (grub_usb_ep_type_t): New type.
11451 (grub_usb_get_ep_type): New function.
11452 (grub_usb_bulk_read_extended): Likewise.
11453 * include/grub/usbdesc.h (grub_usb_desc): New type.
11454 * include/grub/usbserial.h: New file.
11455 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
11456 * kern/term.c (grub_term_poll_usb): New variable.
11457 (grub_getkey): Call grub_term_poll_usb if set.
11458 (grub_checkkey): Likewise.
11459 (grub_getkeystatus): Likewise.
11460 * term/serial.c: Moved controller-specific parts to ...
11461 * term/ns8250.c: ... here.
11462 * term/serial.c: Mostly rewritten.
11463 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
11464 according to spec.
11465
21a313de
RM
114662010-08-20 Robert Millan <rmh@gnu.org>
11467
11468 Make kFreeBSD code more generic to support ext2fs as root, ufs as
11469 a separate module and maybe other interesting combinations.
11470
11471 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
11472 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
11473 (kfreebsd_entry): Add generic filesystem module load routine.
11474 Map GRUB `ext2' to kFreeBSD `ext2fs'.
11475
63c734a6
CW
114762010-08-20 Colin Watson <cjwatson@ubuntu.com>
11477
11478 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
11479 "numcenter" (I misunderstood the purpose of this entry).
11480 * docs/grub.texi (sendkey): Likewise.
11481
c4d16542
CW
114822010-08-20 Colin Watson <cjwatson@ubuntu.com>
11483
11484 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
11485 status flag options; simply omitting the option is equivalent and
11486 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
11487 (keysym_table): Rename "num5numlock" to "numlock".
11488 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
11489 can uniformly say that only the last of multiple `sendkey'
11490 invocations has any effect.
11491 * docs/grub.texi (sendkey): New section.
11492
93541d66
CW
114932010-08-19 Colin Watson <cjwatson@ubuntu.com>
11494
11495 * commands/i386/pc/sendkey.c (options): Fix three typos.
11496
b4ece5e1
VS
114972010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11498
11499 Implement sendkey support.
11500
11501 * commands/i386/pc/sendkey.c: New file.
11502 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
11503 (sendkey_mod_SOURCES): New variable.
11504 (sendkey_mod_CFLAGS): Likewise.
11505 (sendkey_mod_LDFLAGS): Likewise.
11506
51f1f5af
CW
115072010-08-18 Colin Watson <cjwatson@ubuntu.com>
11508
11509 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
11510 fix warnings from Autoconf.
11511
9da94e05
CW
115122010-08-18 Colin Watson <cjwatson@ubuntu.com>
11513
11514 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
11515 to avoid false positives with some assemblers that output things
11516 like "someprefix_func" as part of their output.
11517
729a0f2e
RM
115182010-08-15 Robert Millan <rmh@gnu.org>
11519
11520 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
11521 errors.
11522 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
11523 grub_get_libzfs_handle() errors.
11524
f3710e08
RM
115252010-08-14 Robert Millan <rmh@gnu.org>
11526
11527 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
11528 filesystem is not ZFS.
11529
7a3c13de
BC
115302010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11531
11532 Fix for misspelled color names defaulting to black/black (bug
11533 reported by Doug Nazar)
11534
11535 * include/grub/normal.h (grub_parse_color_name_pair): Add return
11536 status to prototype.
11537 * normal/color.c (grub_parse_color_name_pair): Return failure
11538 status.
11539 (grub_env_write_color_normal): Ignore bad color names.
11540 (grub_env_write_color_highlight): Likewise.
11541 * normal/main.c (GRUB_MOD_INIT): Set default color names.
11542
ab8ba50d
BC
115432010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11544
11545 "shift" command support to GRUB script.
11546
11547 * include/grub/script_sh.h (grub_script_shift): New prototype.
11548 * script/execute.c (grub_script_shift): New function.
11549 * script/main.c (grub_script_init): Register shift command.
11550 (grub_script_fini): Unregister shift command.
11551 * util/grub-script-check.c (grub_script_cmd_shift): New function.
11552
11553 * tests/grub_script_shift.in: New testcase.
11554 * conf/tests.rmk: Rules for new testcase.
11555
4d61999e
BC
115562010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11557
11558 "continue" command support to GRUB script.
11559
11560 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
11561 (grub_script_break): Continue support.
11562 * script/main.c (grub_script_init): Register continue command.
11563 (grub_script_fini): Unregister continue command.
11564
11565 * tests/grub_script_continue.in: New testcase.
11566 * conf/tests.rmk: Rules for new testcase.
11567
4df51e00
BC
115682010-08-12 BVK Chaitanya <bvk@dbook>
11569
11570 "break" command support to GRUB script.
11571
11572 * conf/common.rmk: Rule updates to grub-script-check.
11573 * include/grub/misc.h (grub_min): New function.
11574 * include/grub/script_sh.h (grub_script_init): New prototype.
11575 (grub_script_fini): New prototype.
11576 (grub_script_break): New prototype.
11577 * script/main.c (grub_script_init): New function.
11578 (grub_script_fini): New function.
11579 * script/execute.c (grub_script_break): New function.
11580 * normal/main.c: Calls to grub_script_{init,fini}.
11581 * util/grub-script-check.c (grub_script_break): New function.
11582
11583 * tests/grub_script_break.in: New testcase.
11584 * conf/tests.rmk: Rules for new test case.
11585
f12c8420
BC
115862010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11587
11588 Function parameters support to GRUB script.
11589
11590 * script/yylex.l (VARIABLE): Regular expression update.
11591 * script/function.c (grub_script_function_call): Moved ...
11592 * script/execute.c (grub_script_function_call): ... to here.
11593 (grub_script_execute_arglist_to_argv): Removed.
11594 (grub_script_arglist_to_argv): New function.
11595 * script/argv.c: New file.
11596 (grub_script_argv_free): New function.
11597 (grub_script_argv_next): Likewise.
11598 (grub_script_argv_append): Likewise.
11599 (grub_script_argv_split_append): Likewise.
11600 * include/grub/script_sh.h (grub_script_argv): New struct.
11601 (grub_script_argv_free): New function.
11602 (grub_script_argv_next): Likewise.
11603 (grub_script_argv_append): Likewise.
11604 (grub_script_argv_split_append): Likewise.
11605
11606 * conf/common.rmk (normal.mod): New source script/argv.c.
11607
11608 * tests/grub_script_echo1.in: More tests.
11609 * tests/grub_script_vars1.in: Likewise.
11610 * tests/grub_script_functions.in: New test case.
11611 * conf/tests.rmk: Rules for new testcase.
11612
8022b748
BC
116132010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11614
11615 Remove grub_script_cmdblock struct.
11616
11617 * include/grub/script_sh.h: Remove grub_script_cmdblock.
11618 * script/parser.y: Likewise.
11619 * script/execute.c: Rename cmdblock suffix to cmdlist.
11620 * script/script.c: Likewise.
11621 * util/grub-script-check.c: Likewise.
11622
79a6ba61
YB
116232010-08-11 Yves Blusseau <blusseau@zetam.org>
11624
11625 * .bzrignore: add grub-macho2img
11626
d04b9414
VS
116272010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11628
11629 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
11630
f947ab49
VS
116312010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11632
11633 Remove the dump of sm712 initialisation sequence.
11634
11635 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
11636 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
11637 (GRUB_VGA_IO_MISC_WRITE): Likewise.
11638 (GRUB_VGA_CR_*): Added many registers.
11639 (GRUB_VGA_SR_*): Likewise.
11640 (GRUB_VGA_GR_*): Likewise.
11641 (grub_vga_write_arx): New function.
11642 (grub_video_hw_config): New struct.
11643 (grub_vga_set_geometry): New function.
11644 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
11645 GRUB_PCI_CLASS_SUBCLASS_VGA.
11646 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
11647 * video/sm712.c (grub_sm712_write_reg): New function
11648 (grub_sm712_read_reg): Likewise.
11649 (grub_sm712_sr_write): Likewise.
11650 (grub_sm712_gr_write): Likewise.
11651 (grub_sm712_cr_write): Likewise.
11652 (grub_sm712_write_arx): Likewise.
11653 (grub_sm712_cr_shadow_write): Likewise.
11654 (grub_sm712_write_dda_lookup): Likewise.
11655 (grub_video_sm712_setup): Initialise the video rather then
11656 blindly replay the dump.
11657 (main) [TEST]: Add a routine to be able to compile as standalone for
11658 tests.
11659 * video/sm712_init.c (sm712_init): Removed.
11660 (sm712_sr_seq1): New array.
11661 (sm712_sr_seq2): Likewise.
11662
f0206638
VS
116632010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
11664
11665 * include/grub/vga.h: Add missing grub/pci.h include.
11666
2764da3b
YB
116672010-08-10 Yves Blusseau <blusseau@zetam.org>
11668
11669 * util/grub-macho2img.c (main): fix typo
11670
cf0c775e
VS
116712010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
11672
11673 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
11674 (grub_vga_gr_read): Likewise.
11675 (grub_vga_cr_write): Likewise.
11676 (grub_vga_cr_read): Likewise.
11677 (grub_vga_sr_write): Likewise.
11678 (grub_vga_sr_read): Likewise.
11679 (grub_vga_palette_read): Likewise.
11680 (grub_vga_palette_write): Likewise.
11681 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
11682 (grub_sm712_sr_read): New function.
11683 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
11684 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
11685
07f360e9
RM
116862010-08-09 Robert Millan <rmh@gnu.org>
11687
11688 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
11689 out unused variables on non-ZFS build.
11690
346c2072
RM
116912010-08-08 Robert Millan <rmh@gnu.org>
11692
11693 Fix path generation for sub-filesystems in ZFS.
11694
11695 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
11696 missing slash.
11697
71175420
RM
116982010-08-08 Robert Millan <rmh@gnu.org>
11699
11700 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
11701
0d8286f3
RM
117022010-08-08 Robert Millan <rmh@gnu.org>
11703
11704 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
11705 exist, issue a proper error message (rely on `ls' for translated
11706 strings).
11707
55dd2924
RM
117082010-08-08 Robert Millan <rmh@gnu.org>
11709
11710 Fix grub-probe invocation.
11711
11712 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
11713
d3dd9e80
RM
117142010-08-04 Robert Millan <rmh@gnu.org>
11715
11716 * configure.ac: Remove checks for getfsstat() and getmntany().
11717 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
11718 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
11719 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
11720 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
11721 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
11722 function.
11723 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
11724 via find_mount_point_from_dir() and getfsstat() / getmntany().
11725
0de22aa9
RM
117262010-08-04 Robert Millan <rmh@gnu.org>
11727
11728 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11729 (grub_find_zpool_from_mount_point): Merge into ...
11730 (grub_find_zpool_from_dir): ... this.
11731 * kern/emu/misc.c: Likewise.
11732
11733 * kern/emu/misc.c
11734 (grub_make_system_path_relative_to_its_root): Replace
11735 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
11736 with grub_find_zpool_from_dir().
11737 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
11738
62858144
RM
117392010-08-04 Robert Millan <rmh@gnu.org>
11740
11741 Support OpenSolaris in ZFS device resolution.
11742
11743 * configure.ac: Check for getmntany().
11744 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
11745 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
11746 support.
11747
9dd6fd50
RM
117482010-08-03 Robert Millan <rmh@gnu.org>
11749
11750 Fix grub-emu build.
11751
11752 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
11753 * include/grub/emu/misc.h: ... here.
11754
11755 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
11756 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
11757
11758 * util/misc.c: Remove `<grub/util/libzfs.h>'.
11759 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
11760 (grub_get_libzfs_handle): Move to ...
11761 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
11762 (grub_get_libzfs_handle): ... here.
11763
c9f7ff97
BC
117642010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
11765
11766 * script/execute.c (grub_script_execute_cmdline): Check for NULL
11767 as command name case.
11768
a870a783
CW
117692010-08-02 Colin Watson <cjwatson@ubuntu.com>
11770
11771 * disk/raid.c (insert_array): Select unique numbers for named arrays
11772 as well, for use as keys in the disk cache.
11773
c7db243b
RM
117742010-08-01 Robert Millan <rmh@gnu.org>
11775
11776 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
11777 kFreeBSD device name, except on ZFS where the filesystem label is
11778 used.
11779 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
11780 `/boot/zfs/zpool.cache'.
11781 Set mountfrom kernel variable using ${kfreebsd_device}.
11782
f7abdefb
RM
117832010-08-01 Robert Millan <rmh@gnu.org>
11784
11785 Make it even harder to use uninitialized `libzfs_handle' (and
11786 make the interface a bit simpler).
11787
11788 * include/grub/util/misc.h (grub_util_init_libzfs)
11789 (libzfs_handle): Remove.
11790 (grub_get_libzfs_handle): New prototype.
11791
11792 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
11793 attribute.
11794 (grub_util_init_libzfs): Remove.
11795 (grub_get_libzfs_handle): New function.
11796
11797 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
11798 grub_get_libzfs_handle() to obtain a libzfs handle instead of
11799 accessing `libzfs_handle' directly.
11800
c882acc0
RM
118012010-08-01 Robert Millan <rmh@gnu.org>
11802
11803 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11804 (grub_find_zpool_from_mount_point): New function prototypes.
11805
11806 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11807 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11808
11809 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11810 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11811 `static' attribute.
11812
11813 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11814 finding zpool from mount point into ...
11815 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11816
11817 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11818 requested path is part of a ZFS pool, use
11819 grub_find_zpool_from_mount_point() to detect its filesystem name,
11820 and generate a path with `/fsname@path' syntax.
11821
8bfe31d8
CW
118222010-08-01 Colin Watson <cjwatson@ubuntu.com>
11823
11824 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
11825 (void) rather than () so that this is a proper prototype.
11826
553df63d
VS
118272010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11828
11829 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
11830
8687cf07
VS
118312010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11832
11833 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
11834 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
11835
ea9be8ea
CW
118362010-08-01 Colin Watson <cjwatson@ubuntu.com>
11837
11838 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
11839
6eea041a
CW
118402010-08-01 Colin Watson <cjwatson@ubuntu.com>
11841
11842 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
11843
2cfb45df
CW
118442010-08-01 Colin Watson <cjwatson@ubuntu.com>
11845
11846 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
11847 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
11848 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
11849 disable gfxpayload.
11850 (Shell-like scripting): Add real content.
11851 (Serial terminal): Suggest `terminal_input serial; terminal_output
11852 serial' rather than putting the two commands on separate lines,
11853 since console input will be inoperative after the first command.
11854 (menuentry): Document --class, --users, and --hotkey options.
11855 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
11856 Vladimir Serbinenko).
11857
7decd202
VS
118582010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
118592010-08-01 Colin Watson <cjwatson@ubuntu.com>
11860
11861 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
11862
c882acc0
RM
118632010-08-01 Robert Millan <rmh@gnu.org>
11864
11865 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11866 (grub_find_zpool_from_mount_point): New function prototypes.
11867
11868 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11869 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11870
11871 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11872 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11873 `static' attribute.
11874
11875 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11876 finding zpool from mount point into ...
11877 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11878
11879 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11880 requested path is part of a ZFS pool, use
11881 grub_find_zpool_from_mount_point() to detect its filesystem name,
11882 and generate a path with `/fsname@path' syntax.
11883
deb0caa3
RM
118842010-08-01 Robert Millan <rmh@gnu.org>
11885
11886 Prevent accidental use of uninitialized libzfs_handle.
11887
11888 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
11889 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
11890 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
11891
ce04ef47
CW
118922010-08-01 Colin Watson <cjwatson@ubuntu.com>
11893
11894 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
11895 util/grub.d/10_linux.in). Fixes Debian bug #591093.
11896
ebf53056
RM
118972010-08-01 Robert Millan <rmh@gnu.org>
11898
11899 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 11900
3710bb6b
RM
119012010-07-31 Robert Millan <rmh@gnu.org>
11902
11903 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
11904
8072efeb
RM
119052010-07-31 Robert Millan <rmh@gnu.org>
11906
11907 * kern/emu/misc.c: Add missing license header.
11908
3169f4c7
RM
119092010-07-31 Robert Millan <rmh@gnu.org>
11910
11911 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
11912
11913 * include/grub/util/libnvpair.h: Include `<config.h>'.
11914 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
11915 declaring libnvpair prototypes ourselves.
11916 * include/grub/util/libzfs.h: Include `<config.h>'.
11917 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
11918 declaring libzfs prototypes ourselves.
11919
11920 (libzfs_handle): Moved to ...
11921 * include/grub/util/misc.h (libzfs_handle): ... here.
11922 Include `<grub/util/libzfs.h>'.
11923
c9a00aee
RM
119242010-07-30 Robert Millan <rmh@gnu.org>
11925
11926 * include/grub/emu/misc.h: Add missing license header.
11927
a184f9c8
RM
119282010-07-30 Robert Millan <rmh@gnu.org>
11929
11930 Enable `grub-probe -t device' resolution on ZFS.
11931
11932 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
11933 * include/grub/util/libnvpair.h: New file.
11934 * include/grub/util/libzfs.h: New file.
11935
11936 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
11937 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
11938 `<grub/util/libnvpair.h>'.
11939 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
11940
11941 (find_mount_point_from_dir): New static function.
11942 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
11943 function.
11944 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
11945 find_root_device_from_libzfs() before ressorting to find_root_device().
11946
11947 * include/grub/util/misc.h (grub_util_init_libzfs): New function
11948 prototype.
11949 * util/misc.c: Include `<grub/util/libzfs.h>'.
11950 (grub_util_init_libzfs): New function.
11951 [HAVE_LIBZFS] (libzfs_handle): New global variable.
11952 [HAVE_LIBZFS] (fini_libzfs): New static function.
11953 (grub_util_init_libzfs): New function.
11954 * util/grub-probe.c (main): Call grub_util_init_libzfs().
11955
f7790cdd
RM
119562010-07-30 Robert Millan <rmh@gnu.org>
11957
11958 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
11959 (xmalloc, xrealloc, xstrdup, xasprintf): Add
11960 `warn_unused_result' attribute.
11961 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
11962 (grub_xasprintf, grub_xvasprintf): Likewise.
11963 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
11964
0806b63c
RM
119652010-07-29 Robert Millan <rmh@gnu.org>
11966
11967 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
11968 (probe): Handle `PRINT_FS_LABEL'.
11969 (main): Handle `-t fs_label'.
11970
9f841f5c
RM
119712010-07-29 Robert Millan <rmh@gnu.org>
11972
11973 * configure.ac: Remove grub-mkisofs checks.
11974
46371121
VS
119752010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
11976
11977 * util/ieee1275/grub-install.in: Don't use empty grub_device.
11978 Reported by: Lennart Sorensen.
11979
119802010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11981
11982 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
11983 prior to terminal_input/terminal_output separation. It's been over 1.5
11984 years and those versions weren't widely deployed.
11985
a9600892
CW
119862010-07-22 Colin Watson <cjwatson@ubuntu.com>
11987
11988 * disk/raid.c (insert_array): Don't count named arrays when looking
11989 for unused array numbers.
697e053c 11990 Reported and tested by: Michael Guntsche.
a9600892 11991
c03507df
CW
119922010-07-20 Colin Watson <cjwatson@ubuntu.com>
11993
11994 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
11995 implementation of this so that grub-emu links again, with a note
11996 that this should support hotplugging in the future.
11997
b26f1c11
CW
119982010-07-20 Colin Watson <cjwatson@ubuntu.com>
11999
12000 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
12001
efc9d7f1
CW
120022010-07-20 Colin Watson <cjwatson@ubuntu.com>
12003
12004 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
12005 handle on failure.
12006 (grub_loopback_close): Remove empty function.
12007 (grub_loopback_dev): Remove close method.
12008
dd8ff5c9
CW
120092010-07-20 Colin Watson <cjwatson@ubuntu.com>
12010
12011 Disable EFI cursor when the EFI console becomes inactive.
12012
12013 * term/efi/console.c (grub_efi_console_init): New function.
12014 (grub_efi_console_fini): New function.
12015 (grub_console_term_output): Register init and fini methods.
12016
5e3bec67
VS
120172010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12018
12019 * tests/util/grub-shell-tester.in: Remove bashism and declare as
12020 sh script.
12021
afaec079
VS
120222010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12023
12024 * disk/loopback.c (grub_loopback): Replace filename with file.
12025 (delete_loopback): Handle new semantics.
12026 (grub_cmd_loopback): Likewise.
12027 (grub_loopback_iterate): Likewise.
12028 (grub_loopback_close): Likewise.
12029
a6a11f3c
VS
120302010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12031
12032 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
12033 with -p "".
12034 Reported by: Tito Keitel.
12035
64a638b0
VS
120362010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12037
12038 * docs/grub.texi (Naming convention): Document new naming convention.
12039
ab8ba957
VS
120402010-07-20 Vadim Solomin <vadic052@gmail.com>
120412010-07-20 Colin Watson <cjwatson@ubuntu.com>
12042
12043 Generate device.map in something closer to the old ordering.
12044
12045 * util/deviceiter.c (struct device): New declaration.
12046 (compare_file_names): Rename to ...
12047 (compare_devices): ... this. Sort by kernel name in preference to
12048 the stable by-id name, but keep the latter as a fallback comparison.
12049 Update header comment.
12050 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
12051 of `struct device' rather than of plain file names.
12052
a29d6a4b
TF
120532010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
12054
12055 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
12056 on i386.
12057
39d824e8
VS
120582010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12059
12060 * commands/acpi.c (setup_common_tables): Use sizeof instead of
12061 hardcoding size.
12062 (setv1table): Likewise.
12063
f058276b
FZ
120642010-07-20 Colin Watson <cjwatson@ubuntu.com>
12065
12066 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
12067 removing the homehost if present.
12068 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
12069 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
12070 removing the homehost if present.
12071 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
12072 if possible.
12073 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
12074
12075 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
12076 parameter. Set its pointer target to 0.
12077 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
12078 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
12079 `data_offset' value from the superblock for 1.x metadata.
12080 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
12081 data on the device.
12082 (insert_array): Record the start sector of data on the device.
12083 (grub_raid_register): Pass start_sector parameters to
12084 grub_raid_list->detect and insert_array.
12085 * include/grub/raid.h (struct grub_raid_array): Add start_sector
12086 member.
12087 (struct grub_raid): Add start_sector parameter to `detect'.
12088
12089 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
12090 __attribute__ ((packed)), leaving a comment.
12091 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
12092 (grub_mdraid_detect_09): ... here and ...
12093 (grub_mdraid_detect_1x): ... here.
12094
120952010-07-20 Peter Henn <peter.henn@web.de>
12096
12097 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
12098 chunk size and disk size, which are already given as sector counts
12099 as distinct from the 0.90 units. Fetch the correct device number
12100 from the role table instead of using the table index.
12101
121022010-07-20 Felix Zielcke <fzielcke@z-51.de>
12103
12104 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
12105 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
12106 (WriteMostly1): New macro.
12107 Set array->name to NULL for metadata format 0.90. Add support for
12108 metadata 1.x. Fix some comments.
12109 * disk/raid.c (): Add support for name based RAID arrays. Fix a
12110 few comments.
12111 * util/getroot.c (grub_util_get_grub_dev): Add support for
12112 /dev/md/name style devices.
12113
4b761da9
CW
121142010-07-20 Colin Watson <cjwatson@ubuntu.com>
12115
12116 * .bzrignore: Ignore 20_linux_xen.
12117
5771289a
CW
121182010-07-17 Colin Watson <cjwatson@ubuntu.com>
12119
12120 * util/import_unicode.py: Remove unnecessary imports.
12121
5dab68df
AN
121222010-07-17 Aleš Nesrsta <starous@volny.cz>
12123
12124 Hotplugging and USB hub support.
12125
12126 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
12127 (grub_ohci): Likewise.
12128 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
12129 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
12130 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
12131 (GRUB_OHCI_CTRL_EDS): Likewise.
12132 (GRUB_OHCI_BULK_EDS): Likewise.
12133 (GRUB_OHCI_TDS): Likewise.
12134 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
12135 (grub_ohci_ed_phys2virt): New function.
12136 (grub_ohci_virt_to_phys): Likewise.
12137 (grub_ohci_td_phys2virt): Likewise.
12138 (grub_ohci_td_virt2phys): Likewise.
12139 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
12140 attachment.
12141 (grub_ohci_find_ed): New function.
12142 (grub_ohci_alloc_td): Likewise.
12143 (grub_ohci_free_td): Likewise.
12144 (grub_ohci_free_tds): Likewise.
12145 (grub_ohci_transfer): Use previously allocated memory.
12146 (grub_ohci_portstatus): Reset status changed bit.
12147 (grub_ohci_detect_dev): Supply status changed.
12148 (grub_ohci_fini_hw): Free memory.
12149 (grub_ohci_restore_hw): Reallocate memory.
12150 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
12151 Reset status change.
12152 (grub_uhci_detect_dev): Supply status_change.
12153 * bus/usb/usb.c (attach_hooks): New var.
12154 (grub_usb_device_attach): New function.
12155 (grub_usb_register_attach_hook_class): Likewise.
12156 (grub_usb_unregister_attach_hook_class): Likewise.
12157 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
12158 (grub_usb_add_hub): Reset connection changed bit.
12159 (attach_root_port): New function.
12160 (grub_usb_root_hub): Likewise.
12161 (poll_nonroot_hub): Likewise.
12162 (grub_usb_poll_devices): Likewise.
12163 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
12164 * disk/usbms.c (grub_usbms_open): Use device hooks.
12165 (grub_usbms_iterate) :Poll devices.
12166 (grub_usbms_finddevs): Split into ...
12167 (grub_usbms_attach): ... this ...
12168 (grub_usbms_attach): ... and this.
12169 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
12170 in detect_dev.
12171 (grub_usb_interface): New fields attached and detach_hook.
12172 (grub_usb_attach_hook_class): New type.
12173 (grub_usb_attach_desc): New struct.
12174 (grub_usb_register_attach_hook_class): New function.
12175 (grub_usb_unregister_attach_hook_class): Likewise.
12176 (grub_usb_poll_devices): Likewise.
12177 (grub_usb_device_attach): Likewise.
12178 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
12179 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
12180
3222efaf
VS
121812010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
12182
12183 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
12184 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
12185 delta determination style. Works with most NetBSD partitions too.
12186
139b714a
VS
121872010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
12188
12189 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
12190 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
12191
986aad56
VS
121922010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
12193
12194 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
12195
99be513c
AB
121962010-07-14 Anton Blanchard <anton@samba.org>
12197
12198 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
12199 ET_DYN files.
12200
18075f62
GS
122012010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12202
12203 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
12204
8d9a5b15
GS
122052010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12206
12207 * kern/partition.c (grub_partition_check_containment): New function to
12208 check that a partition is physically contained in a parent. Since
12209 offsets are relative (and non-negative), this reduces to checking that
12210 the partition ends before its parent.
12211 (grub_partition_map_probe): Discard out-of-range sub-partitions.
12212 (grub_partition_iterate): Likewise.
12213 * include/grub/partition.h (grub_partition_map): Slightly more detailed
12214 comments.
12215 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
12216 partitions that start before their parent, and add debug printfs.
12217
19563c25
CW
122182010-07-13 Colin Watson <cjwatson@ubuntu.com>
12219
12220 * Makefile.in (.SUFFIX): Spell correctly, as ...
12221 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
12222 bare module name without `.mod', e.g. `test') tried to invoke a
12223 Modula-2 compiler.
12224
1a1f1e67
CW
122252010-07-13 Colin Watson <cjwatson@ubuntu.com>
12226
12227 * README: Point to the Info manual.
12228
811b0dca
JS
122292010-07-13 Jiro SEKIBA <jir@unicus.jp>
12230
12231 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
12232 2nd superblock position from partition size.
12233
e4f4eafc
CW
122342010-07-10 Colin Watson <cjwatson@ubuntu.com>
12235
12236 * Makefile.in (MAINTAINER_CLEANFILES): Remove
12237 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
12238 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
12239 outputs.
12240
4274c30f
VS
122412010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12242
12243 Restructure SCSI .id handling.
12244 Reported and tested by: Aleš Nesrsta.
12245
12246 * disk/ata.c (grub_atapi_close): Removed. All users updated.
12247 (grub_atapi_dev): Changed .name to "ata". New field .id.
12248 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
12249 (grub_usbms_dev): New field .id.
12250 * disk/scsi.c (grub_scsi_iterate): Generate name.
12251 (grub_scsi_open): Parse name.
12252 * include/grub/scsi.h (grub_make_scsi_id): New function.
12253 (grub_scsi_dev): Change iterate and open to number instead of naming
12254 busses. All users updated.
12255 (grub_scsi): Remove name. Add .bus.
12256
5bc24388
VS
122572010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12258
12259 * commands/help.c (grub_cmd_help): Fix a typo.
12260
249975ba
VS
122612010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12262
12263 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
12264 Reported and tested by: Colin Watson.
12265
3eaac1a1
VS
122662010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12267
12268 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
12269 in this context.
12270
becce1b1
VS
122712010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
12272
12273 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
12274
f7bf0918
CW
122752010-07-07 Colin Watson <cjwatson@ubuntu.com>
12276
12277 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
12278 indentation.
12279
0b0f9620
CW
122802010-07-06 Colin Watson <cjwatson@ubuntu.com>
12281
12282 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
12283 and disk/raid6_recover.c.
12284 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
12285 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
12286
1e545469
CW
122872010-07-06 Colin Watson <cjwatson@ubuntu.com>
12288
12289 * term/gfxterm.c (repaint_schedulded): Rename to ...
12290 (repaint_scheduled): ... this. Update all callers.
12291 (repaint_was_schedulded): Rename to ...
12292 (repaint_was_scheduled): ... this. Update all callers.
12293
5357687a
CW
122942010-07-06 Colin Watson <cjwatson@ubuntu.com>
12295
12296 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
12297 which we expect to be handled by upper layers.
12298
29d7e783
BC
122992010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
12300
12301 * bus/usb/usbhub.c: #include time.h header.
12302
37582066
CW
123032010-07-06 Colin Watson <cjwatson@ubuntu.com>
12304
12305 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
12306 entry_name also for entries without stat blocks (e.g. ".."); fixes
12307 corruption of the first entry in a directory.
12308
c8c06953
CW
123092010-07-06 Colin Watson <cjwatson@ubuntu.com>
12310
12311 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
12312 after setting gfxterm as the active terminal. GRUB_BACKGROUND
12313 doesn't work otherwise.
12314
e75056f1
CW
123152010-07-05 Colin Watson <cjwatson@ubuntu.com>
12316
12317 * docs/grub.texi (Features): Update list of supported file systems.
12318 (GNU/Linux): Update for GRUB 2.
12319 (Serial terminal): Remove mention of --disable-serial, which was a
12320 GRUB Legacy configure option. Update instructions to use
12321 `terminal_input' and `terminal_output' rather than `terminal'.
12322 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
12323 configuration' and `Installing GRUB using grub-install'.
12324 (Menu entry editor): Update for GRUB 2.
12325 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
12326 Document new -a, -u, and -v options.
12327 (initrd): New section.
12328 (initrd16): New section.
12329 (linux): New section.
12330 (linux16): New section.
12331 (search): The `var' argument to `--set' is optional.
12332 (GRUB only offers a rescue shell): Go into a little more detail on
12333 drive ordering.
12334
5cf69151
CW
123352010-07-05 Colin Watson <cjwatson@ubuntu.com>
12336
12337 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
12338
e3f90044
CW
123392010-07-05 Colin Watson <cjwatson@ubuntu.com>
12340
12341 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
12342 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
12343
38d8f4f3
CW
123442010-07-05 Colin Watson <cjwatson@ubuntu.com>
12345
12346 * util/i386/pc/grub-setup.c (setup): Rename prefix to
12347 install_prefix, in line with install_dos_part and install_bsd_part.
12348 Add new prefix variable, which is copied to install_prefix after
12349 comparing core.img in memory with the one read from disk in the
12350 no-embedding case, and use that rather than overwriting
12351 install_prefix immediately when installing to a partition.
12352 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
12353 Bicakci.
12354
57ebd41e
GS
123552010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
12356
12357 * configure.ac: Avoid == in test command, it's not portable.
12358 * util/grub.d/30_os-prober.in: Likewise.
12359
cb7f64b2
CW
123602010-07-04 Colin Watson <cjwatson@ubuntu.com>
12361
12362 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
12363
6b654bb0
GS
123642010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
12365
12366 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
12367 multiple (top-level) partmaps.
12368
72a2026d
VS
123692010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12370
12371 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 12372 Reported by: Tino Keitel.
72a2026d 12373
df3eb88f
VS
123742010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12375
12376 Bidi and diacritics support.
12377
12378 * Makefile.in (widthspec.bin): New target.
12379 (widthspec.h): Likewise.
12380 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
12381 * autogen.sh: Generate unidata.c.
12382 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
12383 * commands/ls.c (grub_ls_list_devices): Likewise.
12384 (grub_ls_list_files): Likewise.
12385 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
12386 (grub_mini_cmd_lsmod): Likewise.
12387 * commands/read.c: Likewise.
12388 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
12389 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
12390 * lib/arg.c (grub_arg_show_help): Likewise.
12391 * lib/crypto.c (grub_password_get): Likewise.
12392 * normal/auth.c (grub_username_get): Likewise.
12393 * normal/misc.c (grub_normal_print_device_info): Likewise.
12394 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
12395 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
12396 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
12397 (normal/charset.c_DEPENDENCIES): New variable.
12398 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
12399 (pkglib_MODULES): Remove charset.mod.
12400 (charset_mod_SOURCES): Removed.
12401 (charset_mod_CFLAGS): Likewise.
12402 (charset_mod_LDFLAGS): Likewise.
12403 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
12404 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
12405 and term/tparm.c.
12406 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12407 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12408 (kernel_img_HEADERS): Add terminfo.h.
12409 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
12410 Fill ->font. Reverse ascii bitmaps.
12411 (grub_font_get_xheight): New function.
12412 * font/font.c (grub_font_get_string_width): Moved from here ...
12413 * gfxmenu/font.c (grub_font_get_string_width): ... here.
12414 * font/font.c (grub_font_draw_string): Moved from here ...
12415 * gfxmenu/font.c (grub_font_draw_string): ... here.
12416 * font/font.c (grub_font_dup_glyph): New function.
12417 (grub_font_blit_glyph): Likewise.
12418 (grub_font_blit_glyph_mirror): Likewise.
12419 (blit_comb): Likewise.
12420 (grub_font_construct_dry_run): Likewise.
12421 (grub_font_get_constructed_device_width): Likewise.
12422 (grub_font_construct_glyph): Likewise.
12423 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
12424 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
12425 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
12426 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
12427 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
12428 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
12429 (grub_font_get_xheight): New proto.
12430 (grub_font_get_constructed_device_width): Likewise.
12431 (grub_font_construct_glyph): Likewise.
12432 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
12433 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
12434 * include/grub/font.h (grub_font_draw_string): Moved from here ...
12435 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
12436 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
12437 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
12438 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
12439 (grub_console_getcharwidth): Likewise.
12440 * include/grub/misc.h (grub_xputs): New proto.
12441 (grub_puts): Inlined.
12442 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
12443 (grub_normal_get_line_counter): Removed.
12444 (grub_install_newline_hook): Likewise.
12445 (grub_normal_get_char_counter): New proto.
12446 (grub_normal_reset_more): Likewise.
12447 (grub_xputs_normal): Likewise.
12448 * include/grub/powerpc/ieee1275/console.h: Removed.
12449 * include/grub/sparc64/ieee1275/console.h: Likewise.
12450 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
12451 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
12452 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
12453 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
12454 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
12455 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
12456 (grub_term_input): Pass reference to self. All users updated.
12457 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
12458 Pass reference to self. New fields normal_color, highlight_color and
12459 data. All users updated.
12460 (grub_putchar): Removed.
12461 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
12462 (grub_unicode_estimate_width): New function.
12463 (grub_term_getcharwidth): Add defaults.
12464 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
12465 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
12466 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
12467 (grub_cls): Remove EXPORT_FUNC.
12468 (grub_setcolorstate): Inline.
12469 (grub_newline_hook): Removed.
12470 * include/grub/terminfo.h: Rewritten. All users updated.
12471 * include/grub/unicode.h: New file.
12472 * include/grub/video.h (grub_video_signed_rect): New type.
12473 * kern/emu/console.c (grub_console_highlight_color): Removed.
12474 (grub_console_normal_color): Likewise.
12475 (grub_console_standard_color): Made static.
12476 (grub_ncurses_putchar): Remove mapping.
12477 (grub_ncurses_getcharwidth): Removed.
12478 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
12479 (grub_ncurses_setcolor): Removed.
12480 (grub_ncurses_getcolor): Likewise.
12481 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
12482 (grub_console_putchar): ... this.
12483 (grub_console_putchar): Handle argument difference.
12484 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
12485 console_init_early and console_init_lately.
12486 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
12487 * kern/misc.c (grub_puts): Removed.
12488 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
12489 (grub_vsnprintf_real): Remove str = NULL support.
12490 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
12491 * normal/charset.c (grub_utf8_to_ucs4): ... here.
12492 * kern/term.c (grub_putcode): Renamed to ...
12493 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
12494 (grub_putchar): Removed.
12495 (grub_xputs_dumb): New function.
12496 (grub_xputs): New variable.
12497 * lib/charset.c: Move from here ...
12498 * normal/charset.c: ... to here.
12499 (grub_ucs4_to_utf8): New function.
12500 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
12501 (join_types): New variable.
12502 (unpack_join): New function.
12503 (bidi_types): New variable.
12504 (unpack_bidi): New function.
12505 (get_bidi_type): Likewise.
12506 (get_join_type): Likewise.
12507 (is_mirrored): Likewise.
12508 (grub_unicode_get_comb_type): Likewise.
12509 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
12510 (is_type_after): Likewise.
12511 (grub_unicode_aglomerate_comb): Likewise.
12512 (bidi_line_wrap): Likewise.
12513 (grub_bidi_line_logical_to_visual): Likewise.
12514 (grub_bidi_logical_to_visual): Likewise.
12515 (grub_unicode_mirror_code): Likewise.
12516 (grub_unicode_shape_code): Likewise.
12517 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
12518 Don't use grub_putchar.
12519 * normal/main.c (grub_normal_init_page): Use grub_putcode.
12520 (grub_normal_reader_init): Likewise.
12521 (grub_xputs_saved): New variable.
12522 (GRUB_MOD_INIT): Set grub_xputs.
12523 (GRUB_MOD_FINI): Restore grub_xputs.
12524 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
12525 (menu_init): Avoid printing gfxmenu error.
12526 (show_menu): Use grub_normal_get_char_counter.
12527 * normal/menu_entry.c (update_screen): Fix out-of-array.
12528 (complete): Avoid NULL dereferencing.
12529 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
12530 * normal/menu_text.c (print_spaces): Removed.
12531 (grub_print_ucs4): Likewise.
12532 (grub_print_message_indented): Use grub_print_ucs4.
12533 (print_message): Use grub_putcode.
12534 (print_entry): Hanlde diacritics.
12535 * normal/term.c (term_state): New type.
12536 (grub_more_lines): Removed.
12537 (term_states): New variable.
12538 (grub_normal_line_counter): Renamed to ..
12539 (grub_normal_char_counter): ...this. All users updated.
12540 (grub_normal_get_line_counter): Renamed to ...
12541 (grub_normal_get_char_counter): ... this.
12542 (grub_normal_reset_more): New function.
12543 (process_newline): Removed.
12544 (print_more): New function.
12545 (grub_install_newline_hook): Removed.
12546 (map_code): New function.
12547 (grub_puts_terminal): Use grub_print_ucs4.
12548 (putglyph): New function.
12549 (putcode_real): Likewise.
12550 (grub_putcode): Use putcode_real.
12551 (get_maxwidth): New function.
12552 (get_startwidth): Likewise.
12553 (print_ucs4_terminal): Likewise.
12554 (find_term_state): Likewise.
12555 (put_glyphs_terminal): Likewise.
12556 (print_backlog): Likewise.
12557 (print_ucs4_real): Likewise.
12558 (grub_print_ucs4): Likewise.
12559 (grub_xputs_normal): Likewise.
12560 * term/efi/console.c (grub_console_putchar): Output diacritics.
12561 (grub_console_getcharwidth): Removed.
12562 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
12563 * term/gfxterm.c (clear_char): Free chars.
12564 (scroll_up): Avoid leaking memory.
12565 (grub_gfxterm_putchar): Support diacritics.
12566 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
12567 * term/i386/pc/console.c (grub_console_term_output): Declare as
12568 GRUB_TERM_CODE_TYPE_VGA.
12569 * term/i386/pc/vga.c (grub_vga_term): Declare as
12570 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
12571 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
12572 GRUB_TERM_CODE_TYPE_VGA.
12573 * term/i386/vga_common.c (map_char): Removed.
12574 (grub_console_putchar): Likewise.
12575 (grub_console_getcharwidth): Likewise.
12576 * term/ieee1275/ofconsole.c: Simplify using terminfo.
12577 (colors): Reordered to match terminfo.
12578 (grub_ofconsole_normal_color): Removed.
12579 (grub_ofconsole_writeesc): Likewise.
12580 (grub_ofconsole_highlight_color): Likewise.
12581 (grub_ofconsole_getcharwidth): Likewise.
12582 (grub_ofconsole_setcolorstate): Likewise.
12583 (grub_ofconsole_setcolor): Likewise.
12584 (grub_ofconsole_getcolor): Likewise.
12585 (grub_ofconsole_readkey): Renamed to ...
12586 (readkey): ... this. Remove escape sequence handling. Return -1 on no
12587 key.
12588 (grub_ofconsole_checkkey): Removed.
12589 (grub_ofconsole_getkey): Likewise.
12590 (grub_ofconsole_getxy): Likewise.
12591 (grub_ofconsole_gotoxy): Likewise.
12592 (grub_ofconsole_cls): Likewise.
12593 (grub_ofconsole_refresh): Likewise.
12594 (grub_ofconsole_terminfo_input): New struct.
12595 (grub_ofconsole_terminfo_output): Likewise.
12596 (grub_ofconsole_term_input): Use terminfo.
12597 (grub_ofconsole_term_output): Likewise.
12598 (grub_console_init): Split into ...
12599 (grub_console_init_early): ...this and ...
12600 (grub_console_init_lately): ...this. Use terminfo.
12601 (grub_ofconsole_putchar): Renamed to ...
12602 (put): ... this. Remove mapping.
12603 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
12604 * term/serial.c: Simplify using terminfo.
12605 (xpos): Removed.
12606 (ypos): Likewise.
12607 (keep_track): Likewise.
12608 (registered): Likewise.
12609 (input_buf): Likewise.
12610 (npending): Likewise.
12611 (serial_translate_key_sequence): Likewise.
12612 (fill_input_buf): Likewise.
12613 (grub_serial_checkkey): Likewise.
12614 (grub_serial_getkey): Likewise.
12615 (grub_serial_getxy): Likewise.
12616 (grub_serial_gotoxy): Likewise.
12617 (grub_serial_putchar): Likewise.
12618 (grub_serial_cls): Likewise.
12619 (grub_serial_setcolorstate): Likewise.
12620 (grub_serial_setcursor): Likewise.
12621 (serial_hw_init): Use serial_hw_fetch.
12622 (grub_serial_terminfo_input): New variable.
12623 (grub_serial_terminfo_output): Likewise.
12624 (grub_serial_term_input): Use terminfo.
12625 (grub_serial_term_output): Likewise.
12626 * term/terminfo.c (putstr): Use put.
12627 (grub_terminfo_all_free): New function
12628 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
12629 (grub_terminfo_output_register): New function.
12630 (grub_terminfo_output_unregister): Likewise.
12631 (grub_terminfo_getxy): Likewise.
12632 (grub_terminfo_readkey): Likewise.
12633 (grub_terminfo_checkkey): Likewise.
12634 (grub_terminfo_getkey): Likewise.
12635 (grub_terminfo_input_init): Likewise.
12636 (print_terminfo): Likewise.
12637 (grub_cmd_terminfo): Handle encoding.
12638 (grub_terminfo_gotoxy): Track position.
12639 (grub_terminfo_cls): Likewise.
12640 (grub_terminfo_putchar): Likewise.
12641 (grub_terminfo_setcolorstate): Handle colors
12642 (grub_terminfo_cursor_on): This ...
12643 (grub_terminfo_cursor_off): ... and this merged into ...
12644 (grub_terminfo_setcursor): ... this.
12645 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
12646 * unicode/ArabicShaping.txt: New file (imported from Unicode).
12647 * unicode/BidiMirroring.txt: Likewise.
12648 * unicode/UnicodeData.txt: Likewise.
12649 * unicode/COPYING: Likewise.
12650 * util/grub-editenv.c (grub_putchar): Removed.
12651 (grub_xputs_real): New function.
12652 (grub_xputs): New variable.
12653 * util/grub-fstest.c (grub_putchar): Removed.
12654 (grub_xputs_real): New function.
12655 (grub_xputs): New variable.
12656 * util/grub-mkdevicemap.c (grub_putchar): Removed.
12657 (grub_xputs_real): New function.
12658 (grub_xputs): New variable.
12659 * util/grub-probe.c (grub_putchar): Removed.
12660 (grub_xputs_real): New function.
12661 (grub_xputs): New variable.
12662 * util/grub-script-check.c (grub_putchar): Removed.
12663 (grub_xputs_real): New function.
12664 (grub_xputs): New variable.
12665 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
12666 (grub_xputs_real): New function.
12667 (grub_xputs): New variable.
12668 * util/import_unicode.py: New file.
12669 * util/grub-mkfont.c (ft_errmsgs): New array.
12670 (grub_glyph_info): Make bitmap a pointer.
12671 (file_formats): New type WIDTH_SPEC.
12672 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
12673 (options): Add width-spec.
12674 (help): Likewise.
12675 (add_char): Renamed to ...
12676 (add_glyph): ... this.
12677 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
12678 (glyph_replace): New type.
12679 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
12680 (add_char): New function.
12681 (add_subst): Likewise.
12682 (process_cursive): Likewise.
12683 (add_font): Handle GSUB.
12684 (write_font_width_spec): New function.
12685 (main): Sort glyphs.
12686 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
12687 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
12688 * kern/term.c (grub_cls): Moved from here...
12689 * normal/term.c (grub_cls): ... here.
12690
50f0bcda
CW
126912010-07-02 Colin Watson <cjwatson@ubuntu.com>
12692
12693 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
12694 suitable for using within the format argument of printf when
12695 converting grub_size_t.
12696 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
12697 "x" to convert grub_size_t arguments.
12698
40372103
VS
126992010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12700
12701 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
12702 too long captions.
12703 (list_get_minimal_size): Take selection box into account.
12704
942a10c7
VS
127052010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12706
12707 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
12708 NULL font.
12709
2bdb2892
CW
127102010-07-02 Colin Watson <cjwatson@ubuntu.com>
12711
12712 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
12713 devices when iterating over /dev/disk/by-id; they will be handled
12714 later if appropriate, which they aren't always (e.g. LVM).
12715
e03ed6c1
CW
127162010-07-02 Colin Watson <cjwatson@ubuntu.com>
12717
12718 * include/grub/misc.h (grub_reboot): Declare as noreturn.
12719 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
12720 fails.
12721 (grub_halt): Likewise.
12722 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
12723 reset-all fails.
12724 (grub_halt): Don't return, even if all of shut-down, power-off, and
12725 poweroff fail.
12726
47695765
CW
127272010-07-02 Colin Watson <cjwatson@ubuntu.com>
12728
12729 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
12730 arguments, not three.
12731
507736c8
CW
127322010-07-02 Colin Watson <cjwatson@ubuntu.com>
12733
12734 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
12735 * util/grub.d/10_linux.in: Use it to check for LVM, so that
12736 LVM-on-RAID is handled correctly.
12737
e3c8cd37
CW
127382010-07-02 Colin Watson <cjwatson@ubuntu.com>
12739
12740 * docs/grub.texi (Changes from GRUB Legacy): New section.
12741 (Future): Fix typo.
12742
8d4a2fec
CW
127432010-07-02 Colin Watson <cjwatson@ubuntu.com>
12744
12745 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
12746 grub.d/README accidentally ends up executable for one reason or
12747 another. Ignore it.
12748
1c4827be
VS
127492010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12750
12751 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
12752 (gpt_partition_map_iterate): Support non-512B sectors.
12753
d9a0c941
VS
127542010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12755
12756 * kern/efi/init.c (grub_efi_init): Disable watchdog.
12757 Tested by: Seth Goldberg.
12758
48f27e87
VS
127592010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12760
12761 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
12762 Properly align mbi.
12763 Reported by: Seth Goldberg.
12764
b0c4f956
VS
127652010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12766
12767 * util/grub-mkrescue.in: Avoid module duplication.
12768
105a2e8c
SF
127692010-07-01 Sean Finney <seanius@seanius.net>
12770
12771 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
12772
5944958c
SF
127732010-07-01 Sean Finney <seanius@seanius.net>
12774
12775 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
12776
127772010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12778
12779 * disk/lvm.c (grub_lvm_checkvalue): New function.
12780 (grub_lvm_check_flag): Likewise.
12781
b79889ba
RM
127822010-07-01 Robert Millan <rmh@gnu.org>
12783
12784 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
12785 Support 'p' as partition separator on kernel of FreeBSD (used
12786 with GPT labels).
12787 (grub_util_biosdisk_get_grub_dev): Likewise.
12788
ec1d04f1
VS
127892010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12790
12791 Yeeloong firmware port.
12792
12793 * boot/mips/yeeloong/fwstart.S: New file.
12794 * bus/cs5536.c (gpiodump): New const.
12795 (set_io_space): New function.
12796 (set_iod): Likewise.
12797 (set_p2d): Likewise.
12798 (grub_cs5536_init_geode): Likewise.
12799 * commands/mips/yeeloong/lsspd.c: New file.
12800 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
12801 (serial_mod_SOURCES): New variable.
12802 (serial_mod_CFLAGS): Likewise.
12803 (serial_mod_LDFLAGS): Likewise.
12804 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
12805 term/terminfo.c and term/tparm.c.
12806 (pkglib_IMAGES): Add fwstart.img.
12807 (fwstart_img_SOURCES): New variable.
12808 (fwstart_img_CFLAGS): Likewise.
12809 (fwstart_img_ASFLAGS): Likewise.
12810 (fwstart_img_LDFLAGS): Likewise.
12811 (fwstart_img_FORMAT): Likewise.
12812 (pkglib_MODULES): Add lsspd.mod.
12813 (lsspd_mod_SOURCES): New variable.
12814 (lsspd_mod_CFLAGS): Likewise.
12815 (lsspd_mod_LDFLAGS): Likewise.
12816 (pkglib_MODULES): Add halt.mod.
12817 (halt_mod_SOURCES): New variable.
12818 (halt_mod_CFLAGS): Likewise.
12819 (halt_mod_LDFLAGS): Likewise.
12820 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
12821 (serial_mod_SOURCES): Removed.
12822 (serial_mod_CFLAGS): Likewise.
12823 (serial_mod_LDFLAGS): Likewise.
12824 * disk/ata.c (check_device): New function.
12825 (grub_ata_device_initialize): Use check_device.
12826 (grub_ata_iterate): Recheck devices.
12827 (grub_ata_open): Likewise.
12828 (grub_atapi_iterate): Likewise.
12829 (grub_atapi_open): Likewise.
12830 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
12831 (GRUB_ATA_CH1_PORT1): Likewise.
12832 (GRUB_ATA_CH0_PORT2): Likewise.
12833 (GRUB_ATA_CH1_PORT2): Likewise.
12834 * include/grub/mips/loongson.h: New file.
12835 * include/grub/mips/yeeloong/ec.h: Likewise.
12836 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
12837 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
12838 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
12839 * include/grub/misc.h (grub_halt): Declare as noreturn.
12840 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
12841 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
12842 (UART_ENABLE_FIFO_TRIGGER1): New definition.
12843 (UART_ENABLE_DTRRTS): Likewise.
12844 (UART_ENABLE_MODEM): Removed.
12845 (UART_ENABLE_OUT2): New const.
12846 * include/grub/term.h (grub_term_register_input_active): New function.
12847 (grub_term_register_output_active): Likewise.
12848 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
12849 argument.
12850 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
12851 (init_pci): New function.
12852 (grub_machine_init): Execute platform init when firmware. Init serial.
12853 (grub_halt): Implement.
12854 (grub_exit): Likewise.
12855 (grub_reboot): Likewise.
12856 * term/serial.c (serial_hw_init): Update macros.
12857 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
12858 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
12859 (image_targets): New target mipsel-yeeloong-flash.
12860 (generate_image): Support IMAGE_YEELOONG_FLASH.
12861 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
12862 (grub_video_sm712_setup): Init card.
12863 (grub_video_sm712_set_palette): Removed.
12864 * video/sm712_init.c: New file.
12865
ff4a70d2
CW
128662010-06-30 Colin Watson <cjwatson@ubuntu.com>
12867
12868 * Makefile.in (install-local): Temporarily prepend $(builddir) to
12869 PATH when running help2man and then run it on the unadorned
12870 executable names, rather than passing $(builddir)/* paths to
12871 help2man. This avoids the build directory ending up in generated
12872 manual pages.
12873
1246efeb
CW
128742010-06-29 Colin Watson <cjwatson@ubuntu.com>
12875
12876 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
12877 to avoid accidents when debugging with 'sh -x'.
12878 * util/grub-mkrescue.in: Likewise.
12879 * util/grub.d/00_header.in: Likewise.
12880 * util/grub.d/10_hurd.in: Likewise.
12881 * util/grub.d/10_kfreebsd.in: Likewise.
12882 * util/grub.d/10_linux.in: Likewise.
12883 * util/grub.d/10_netbsd.in: Likewise.
12884 * util/grub.d/10_windows.in: Likewise.
12885 * util/grub.d/20_linux_xen.in: Likewise.
12886 * util/grub.d/30_os-prober.in: Likewise.
12887 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12888
1ba9b889
CW
128892010-06-29 Colin Watson <cjwatson@ubuntu.com>
12890
12891 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
12892 last character in the buffer.
12893 Reported by: Vladimir Serbinenko.
12894
dccaf99d
RM
128952010-06-29 Robert Millan <rmh@gnu.org>
12896
12897 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
12898 (Command-line and menu entry commands): Document `badram' command.
12899
d500ed12
RM
129002010-06-28 Robert Millan <rmh@gnu.org>
12901
12902 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
12903 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
12904 command using ${GRUB_BADRAM} as parameter.
12905
20bc84a6
CW
129062010-06-28 Colin Watson <cjwatson@ubuntu.com>
12907
12908 * docs/grub.texi (Device map): New section.
12909 (Themes): New section (stub).
12910 * Makefile.in (docs/grub.info): The info documentation now builds
12911 without errors. Make sure it stays that way.
12912
4045dee1
VS
129132010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12914
12915 Use normal parser for menu entries.
12916 Reported by: Thomas Frauendorfer
12917
12918 * include/grub/parser.h (grub_parser_execute): Don't export.
12919 * normal/menu.c (grub_menu_execute_entry_real): New function.
12920 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
12921
bca58c7b
CW
129222010-06-28 Colin Watson <cjwatson@ubuntu.com>
12923
12924 * docs/grub.texi (Embedded configuration): New section (replacing
12925 old "Preset Menu" stub).
12926 (Images): New section.
12927 (configfile): Note that any menu entries defined in `file' are shown
12928 immediately.
12929
dec53e63
JT
129302010-06-28 Josh Triplett <josh@joshtriplett.org>
12931
12932 * mmap/i386/pc/mmap_helper.S: Set CF on return.
12933
c06e40f7
CW
129342010-06-28 Colin Watson <cjwatson@ubuntu.com>
12935
12936 * util/grub-install.in: Add --debug-image= option.
12937
cb88052b
CW
129382010-06-28 Colin Watson <cjwatson@ubuntu.com>
12939
12940 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
12941 possible on Linux.
12942
12943 * util/deviceiter.c (check_device): Rename to ...
12944 (check_device_readable_unique): ... this. Update all callers.
12945 Maintain and check a list of which devices (by canonicalized name)
12946 have already been seen.
12947 (clear_seen_devices): New function.
12948 (compare_file_names) [__linux__]: New function.
12949 (grub_util_iterate_devices): Clear the list of seen devices on exit
12950 and (just in case) on entry.
12951 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
12952 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
12953 seen-devices list, superseded by general code in check_device.
12954
bbe34652
CW
129552010-06-28 Colin Watson <cjwatson@ubuntu.com>
12956
12957 * commands/cat.c (options): New variable.
12958 (grub_cmd_cat): Parse options. If the --dos option is given, print
12959 DOS-style "\r\n" line endings as simple newlines (Debian bug
12960 #586358).
12961 (GRUB_MOD_INIT): Use extcmd.
12962 (GRUB_MOD_FINI): Likewise.
12963 * docs/grub.texi (cat): Document --dos.
12964
412e09f3
VS
129652010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12966
12967 XEN with Linux grub-mkconfig support.
12968
12969 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
12970 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
12971 GRUB_CMDLINE_XEN_DEFAULT.
12972 * util/grub.d/20_linux_xen.in: New file.
12973
53f3ef38 129742010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
12975
12976 Initialise VGA video on qemu ourselves.
12977
12978 * boot/i386/qemu/boot.S: Don't call 0xc000.
12979 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
12980 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
12981 (kernel_img_HEADERS): Add pci.h.
12982 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
12983 * configure.ac: Force unifont on qemu and yeeloong.
12984 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
12985 (grub_vga_palette_write): Use correct register.
12986 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
12987 Call grub_qemu_init_cirrus.
12988 * kern/i386/qemu/init.c: New file.
12989 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
12990
12991 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
12992
c75be4fb
PR
129932010-06-26 Pavel Roskin <proski@gnu.org>
12994
12995 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
12996 13.
12997
d8034603
CW
129982010-06-26 Colin Watson <cjwatson@ubuntu.com>
12999
13000 * docs/grub.texi (Simple configuration): Explain that
13001 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
13002 set to `true' to disable their respective recovery entries, not
13003 merely set.
13004
3fa06487
CW
130052010-06-26 Colin Watson <cjwatson@ubuntu.com>
13006
13007 Make the `source' command slightly faster.
13008
13009 * normal/main.c (grub_normal_execute): Don't re-read list files when
13010 nested.
13011
e9b29642
CW
130122010-06-23 Colin Watson <cjwatson@ubuntu.com>
13013
13014 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
13015 field position and mask size to red fields from mode_info, not
13016 green.
13017 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
13018 Remove redundant tag->common.framebuffer_type assignment.
13019 Reported by: Seth Goldberg.
13020
e726542f
CW
130212010-06-23 Colin Watson <cjwatson@ubuntu.com>
13022
13023 Sync up other versions of the Linux loader with Robert Millan's
13024 change of 2010-01-09, "Make loader output a bit more user-friendly".
13025
13026 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
13027 grub_dprintf().
13028 (grub_cmd_linux): Likewise.
13029 (grub_cmd_initrd): Likewise.
13030 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
13031 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13032
d6e98a17
CW
130332010-06-21 Colin Watson <cjwatson@ubuntu.com>
13034
13035 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
13036 larger than MEMORY_MAP_SIZE.
13037
14d3f08e
BC
130382010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
13039
13040 Fix parallel build.
13041
13042 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
13043 dependency.
13044 * script/parser.y: #include grub_script.tab.h header.
13045
4f9613a3
VS
130462010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
13047
13048 Support >3GiB and <16MiB RAM in i386-qemu.
13049
13050 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
13051 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
13052 (grub_lower_mem): Removed.
13053 (grub_upper_mem): Likewise.
13054 (mem_size): Made static.
13055 (above_4g): New variable.
13056 (grub_machine_mmap_init): Detect small mem_size and above_4g.
13057 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
13058 support.
13059
05e51879
VS
130602010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
13061
13062 Cirrus 5446 and Bochs video cards support.
13063
13064 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
13065 video_bochs.mod
13066 (video_cirrus_mod_SOURCES): New variable.
13067 (video_cirrus_mod_CFLAGS): Likewise.
13068 (video_cirrus_mod_LDFLAGS): Likewise.
13069 (video_bochs_mod_SOURCES): Likewise.
13070 (video_bochs_mod_CFLAGS): Likewise.
13071 (video_bochs_mod_LDFLAGS): Likewise.
13072 * include/grub/vga.h: New file.
13073 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
13074 (grub_video_fb_set_page_t): New type.
13075 (grub_video_fb_setup): New prototype.
13076 (grub_video_fb_swap_buffers): Likewise.
13077 (grub_video_fb_get_info_and_fini): Likewise.
13078 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
13079 (CRTC_DATA_PORT): Likewise.
13080 (CRTC_CURSOR): Likewise.
13081 (CRTC_CURSOR_ADDR_HIGH): Likewise.
13082 (CRTC_CURSOR_ADDR_LOW): Likewise.
13083 (CRTC_CURSOR_DISABLE): Likewise.
13084 (update_cursor): Use grub_vga_cr_write.
13085 (grub_vga_text_setcursor): Likewise.
13086 * video/bochs.c: New file.
13087 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
13088 (palette): Likewise.
13089 (palette_size): Likewise.
13090 (framebuffer): New variable.
13091 (grub_video_fb_init): Use 'framebuffer'.
13092 (grub_video_fb_fini): Likewise.
13093 (grub_video_fb_get_info): Likewise.
13094 (grub_video_fb_get_palette): Likewise.
13095 (grub_video_fb_set_palette): Likewise.
13096 (grub_video_fb_set_viewport): Likewise.
13097 (grub_video_fb_get_viewport): Likewise.
13098 (grub_video_fb_map_color): Likewise.
13099 (grub_video_fb_map_rgb): Likewise.
13100 (grub_video_fb_map_rgba): Likewise.
13101 (grub_video_fb_unmap_color): Likewise.
13102 (grub_video_fb_unmap_color_int): Likewise.
13103 (grub_video_fb_fill_rect): Likewise.
13104 (grub_video_fb_blit_bitmap): Likewise.
13105 (grub_video_fb_blit_render_target): Likewise.
13106 (grub_video_fb_scroll): Likewise.
13107 (grub_video_fb_create_render_target): Likewise.
13108 (grub_video_fb_doublebuf_blit_init): Likewise.
13109 (grub_video_fb_set_active_render_target): Handle doublebuffering.
13110 (doublebuf_pageflipping_update_screen): New function.
13111 (doublebuf_pageflipping_init): Likewise.
13112 (grub_video_fb_setup): Likewise.
13113 (grub_video_fb_swap_buffers): Likewise.
13114 (grub_video_fb_get_info_and_fini): Likewise.
13115 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
13116 All users updated.
13117 (doublebuf_pageflipping_commit): Restructured into ...
13118 (doublebuf_pageflipping_set_page): ... this.
13119 (doublebuf_pageflipping_update_screen): Removed.
13120 (doublebuf_pageflipping_init): Likewise.
13121 (double_buffering_init): Likewise.
13122 (grub_video_vbe_setup): Use grub_video_fb_setup.
13123 (grub_video_vbe_swap_buffers): Removed.
13124 (grub_video_vbe_set_active_render_target): Likewise.
13125 (grub_video_vbe_get_active_render_target): Likewise.
13126 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
13127 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
13128 grub_video_fb_set_active_render_target and
13129 grub_video_fb_get_active_render_target.
13130 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
13131 (SEQUENCER_DATA_PORT): Likewise.
13132 (MAP_MASK_REGISTER): Likewise.
13133 (CRTC_ADDR_PORT): Likewise.
13134 (CRTC_DATA_PORT): Likewise.
13135 (START_ADDR_HIGH_REGISTER): Likewise.
13136 (START_ADDR_LOW_REGISTER): Likewise.
13137 (GRAPHICS_ADDR_PORT): Likewise.
13138 (GRAPHICS_DATA_PORT): Likewise.
13139 (READ_MAP_REGISTER): Likewise.
13140 (INPUT_STATUS1_REGISTER): Likewise.
13141 (INPUT_STATUS1_VERTR_BIT): Likewise.
13142 (get_map_mask): Use grub_vga_sr_read.
13143 (set_map_mask): Use grub_vga_sr_write.
13144 (set_read_map): Use grub_vga_gr_write.
13145 (set_start_address): Use grub_vga_cr_write.
13146 * video/sm712.c (framebuffer): Remove leftover fields.
13147
4321c64a
CW
131482010-06-20 Colin Watson <cjwatson@ubuntu.com>
13149
13150 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
13151 setting GRUB_VIDEO_BACKEND. Make it available as a user override
13152 instead. Replace the gfxterm backend check with a check that
13153 ${GRUB_PREFIX}/video.lst is non-empty.
13154 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
13155 again.
13156 (load_video): New generated function. Call it before loading
13157 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
13158 * util/grub.d/10_linux.in (linux_entry): Call load_video.
13159 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
13160 * docs/grub.texi (Simple configuration): Document
13161 GRUB_VIDEO_BACKEND.
13162
131632010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
13164
13165 Use video functions in linux and xnu loaders.
13166
13167 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
13168 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
13169 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
13170 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
13171 loader/i386/pc/linux.c.
13172 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
13173 (find_line_len): Removed.
13174 (find_framebuf): Likewise.
13175 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
13176 * loader/i386/efi/xnu.c: Removed.
13177 * loader/i386/pc/xnu.c: Moved from here...
13178 * loader/i386/xnu.c: ...here.
13179
13180 Enable priorities in video drivers.
13181
13182 * include/grub/video.h (grub_video_adapter_prio_t): New type.
13183 (grub_video_adapter): New field prio.
13184 (grub_video_register): Respect prio when inserting.
13185 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
13186 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
13187 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
13188 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
13189 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
13190 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
13191 * video/sm712.c (grub_video_sm712_adapter): Likewise.
13192
13193 Fix SDL driver ID.
13194
13195 * include/grub/video.h (grub_video_driver_id_t): New value
13196 GRUB_VIDEO_DRIVER_SDL.
13197 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
13198
7d24e434
CW
131992010-06-17 Colin Watson <cjwatson@ubuntu.com>
13200
13201 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
13202 argument to printf.
13203 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13204
c88a83f6
CW
132052010-06-17 Colin Watson <cjwatson@ubuntu.com>
13206
13207 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
13208 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13209
094dfb69
CW
132102010-06-17 Colin Watson <cjwatson@ubuntu.com>
13211
13212 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
13213 directly, and recommend grub-install instead.
13214 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13215
2164da6b
CW
132162010-06-17 Colin Watson <cjwatson@ubuntu.com>
13217
13218 Fix i386-pc prefix handling with nested partitions (Debian bug
13219 #585068). Note that the case where the core image is booted using
13220 multiboot and relocated from its original location still requires
13221 more work.
13222
13223 * kern/i386/pc/init.c (make_install_device): If the prefix starts
13224 with "(,", fill the boot drive in between those two characters, but
13225 expect that a full partition specification including partition map
13226 names will follow.
13227 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
13228 specified, write a prefix without the drive name but including a
13229 full partition specification.
13230
044e2e60
CW
132312010-06-16 Colin Watson <cjwatson@ubuntu.com>
13232
13233 * util/grub-mkconfig.in: Ignore non-option arguments, for
13234 compatibility with older versions (before 2010-06-12) which did the
13235 same. In particular, this makes it easier to ship an update-grub
13236 wrapper which is compatible with that used with GRUB Legacy (Debian
13237 bug #586056).
13238
5591324f
GS
132392010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13240
13241 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
13242 for manual page generation.
13243
662e24d5
GS
132442010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13245
13246 * po/POTFILES: Remove leftover commands/handler.c.
13247
8d70754e
CW
132482010-06-14 Colin Watson <cjwatson@ubuntu.com>
13249
13250 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
13251 left this script non-functional.
13252
41160e2e
CW
132532010-06-14 Colin Watson <cjwatson@ubuntu.com>
13254
13255 * docs/man/grub-emu.h2m: New file.
13256
b5309cc1
CW
132572010-06-13 Colin Watson <cjwatson@ubuntu.com>
13258
13259 * docs/grub.texi (Commands): Document reduced command set in rescue
13260 mode.
13261 (cpuid): New section.
13262
fcb2d090
GS
132632010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
13264
13265 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
13266 new partition naming style.
13267 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
13268
96e5c556
BC
132692010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
13270
13271 Add "-o grub.iso" like cmdline options support.
13272
13273 * util/grub-install.in: Improve cmdline option parsing.
13274 * util/grub-mkconfig.in: Likewise.
13275 * util/grub-mkrescue.in: Likewise.
13276 * util/grub-reboot.in: Likewise.
13277 * util/grub-set-default.in: Likewise.
13278 * util/i386/efi/grub-install.in: Likewise.
13279 * util/ieee1275/grub-install.in: Likewise.
13280 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13281
c16be99b
CW
132822010-06-12 Colin Watson <cjwatson@ubuntu.com>
13283
13284 * .bzrignore: Ignore 41_custom.
13285
ce08a9fb
TS
132862010-06-12 Thomas Schmitt <scdbackup@gmx.net>
13287
13288 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
13289
7beac90c
CW
132902010-06-12 Colin Watson <cjwatson@ubuntu.com>
13291
13292 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
13293 prototype declarations.
13294
13295 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
13296 generating fs, partmap, and video lists.
13297 * include/grub/fs.h (grub_fs_register): Omit prototype if
13298 GRUB_LST_GENERATOR is defined.
13299 * include/grub/partition.h (grub_partition_map_register): Likewise.
13300 * include/grub/video.h (grub_video_register): Likewise.
13301
1c8f0f8d
JM
133022010-06-12 Javier Martín <lordhabbit@gmail.com>
13303
13304 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
13305
a6085973
TS
133062010-06-12 Thomas Schmitt <scdbackup@gmx.net>
13307
13308 * util/grub-mkrescue.in: Support --xorriso argument.
13309
25c56d29
VS
133102010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13311
13312 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
13313 Suggested by: Thomas Schmitt.
13314
e03e4b24
VS
133152010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13316
13317 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
13318 Suggested by: Thomas Schmitt.
13319
57711df6
VS
133202010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13321
13322 custom.cfg support.
13323
13324 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
13325 * util/grub.d/41_custom.in: New file.
13326
ee62c427
CW
133272010-06-12 Colin Watson <cjwatson@ubuntu.com>
13328
13329 * util/grub-mkrescue.in (make_image): Remove sh module, which has
13330 been merged back into normal.
13331
283af07a
CW
133322010-06-11 Colin Watson <cjwatson@ubuntu.com>
13333
13334 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
13335 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
13336
56a0d956
CW
133372010-06-11 Colin Watson <cjwatson@ubuntu.com>
13338
13339 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
13340 when generating manual pages.
13341 * docs/man/grub-bin2h.h2m: New file.
13342 * docs/man/grub-editenv.h2m: New file.
13343 * docs/man/grub-fstest.h2m: New file.
13344 * docs/man/grub-install.h2m: New file.
13345 * docs/man/grub-macho2img.h2m: New file.
13346 * docs/man/grub-mkconfig.h2m: New file.
13347 * docs/man/grub-mkdevicemap.h2m: New file.
13348 * docs/man/grub-mkfont.h2m: New file.
13349 * docs/man/grub-mkimage.h2m: New file.
13350 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
13351 * docs/man/grub-mkrelpath.h2m: New file.
13352 * docs/man/grub-mkrescue.h2m: New file.
13353 * docs/man/grub-ofpathname.h2m: New file.
13354 * docs/man/grub-pe2elf.h2m: New file.
13355 * docs/man/grub-probe.h2m: New file.
13356 * docs/man/grub-reboot.h2m: New file.
13357 * docs/man/grub-script-check.h2m: New file.
13358 * docs/man/grub-set-default.h2m: New file.
13359 * docs/man/grub-setup.h2m: New file.
13360
3a37e322
VS
133612010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
13362
13363 Use FOR_* macros instead of *_iterate whenever possible.
13364
13365 * commands/handler.c: Removed.
13366 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
13367 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
13368 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13369 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
13370 (grub_probe_SOURCES): Remove kern/parser.c.
13371 (util/grub-script-check.c_DEPENDENCIES): Removed.
13372 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
13373 and grub_script_check_init.c.
13374 (grub_script_check_init.lst): Removed.
13375 (grub_script_check_init.h): Likewise.
13376 (grub_script_check_init.c): Likewise.
13377 (pkglib_MODULES): Remove handler.mod and sh.mod.
13378 (handler_mod_SOURCES): Removed.
13379 (handler_mod_CFLAGS): Likewise.
13380 (handler_mod_LDFLAGS): Likewise.
13381 (normal_mod_SOURCES): Remove normal/handler.c.
13382 Add script/main.c, script/script.c, script/execute.c,
13383 script/function.c, script/lexer.c, grub_script.tab.c
13384 and grub_script.yy.c.
13385 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13386 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13387 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
13388 (grub_setup_SOURCES): Remove kern/parser.c.
13389 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13390 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
13391 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
13392 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13393 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13394 (grub_setup_SOURCES): Remove kern/parser.c.
13395 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13396 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
13397 * include/grub/command.h (grub_command_iterate): Removed.
13398 (FOR_COMMANDS): New macro.
13399 * include/grub/dl.h (grub_dl): New member next.
13400 (grub_dl_iterate): Removed.
13401 (grub_dl_head): New variable declaration.
13402 (FOR_DL_MODULES): New macro.
13403 * include/grub/fs.h: Include list.h.
13404 (grub_fs): Make next first element.
13405 (grub_fs_list): New variable declaration.
13406 (grub_fs_register): Make inline.
13407 (grub_fs_unregister): Likewise.
13408 (grub_fs_iterate): Removed.
13409 (FOR_FILESYSTEMS): New macro.
13410 * include/grub/handler.h: Removed.
13411 * include/grub/list.h (grub_list_hook_t): Removed.
13412 (grub_list_test_t): Likewise.
13413 (grub_list_pop): Likewise.
13414 (grub_list_iterate): Likewise.
13415 (grub_list_insert): Likewise.
13416 (FOR_LIST_ELEMENTS): New macro.
13417 * include/grub/parser.h (grub_parser_class): Removed.
13418 (grub_parser_register): Likewise.
13419 (grub_parser_unregister): Likewise.
13420 (grub_parser_get_current): Likewise.
13421 (grub_parser_set_current): Likewise.
13422 (grub_register_rescue_parser): Likewise.
13423 (grub_rescue_parse_line): New function.
13424 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
13425 * include/grub/script_sh.h (grub_script_function_list): New variable
13426 declaration.
13427 (FOR_SCRIPT_FUNCTIONS): New macro.
13428 (grub_script_function_iterate): Removed.
13429 (grub_normal_parse_line): New prototype.
13430 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
13431 (FOR_DISABLED_TERM_INPUTS): Likewise.
13432 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
13433 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
13434 * include/grub/video.h (grub_video_adapter): Move 'next' to first
13435 element.
13436 (grub_video_register): Inline.
13437 (grub_video_unregister): Likewise.
13438 (grub_video_adapter_list): New variable declaration.
13439 (grub_video_iterate): Removed.
13440 (FOR_VIDEO_ADAPTERS): New macro.
13441 * kern/dl.c (grub_dl_list): Removed. All users updated.
13442 (grub_dl_iterate): Removed.
13443 * kern/fs.c (grub_fs_list): Make global.
13444 (grub_fs_register): Removed.
13445 (grub_fs_unregister): Likewise.
13446 (grub_fs_iterate): Likewise.
13447 * kern/handler.c: Removed.
13448 * kern/list.c (grub_list_pop): Removed.
13449 (grub_list_iterate): Likewise.
13450 (grub_list_insert): Likewise.
13451 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
13452 (grub_prio_list_insert): Don't use grub_list_insert.
13453 * kern/main.c (grub_register_rescue_parser): Don't call
13454 grub_register_rescue_parser.
13455 * kern/parser.c (grub_parser_class): Removed.
13456 (grub_parser_execute): Use grub_rescue_parse_line.
13457 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
13458 (grub_rescue_parser): Removed.
13459 (grub_register_rescue_parser): Likewise.
13460 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
13461 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
13462 (grub_auth_check_authentication): Likewise.
13463 * normal/completion.c (iterate_command): Removed.
13464 (grub_normal_do_completion): Use FOR_COMMANDS.
13465 * normal/handler.c: Removed.
13466 * normal/main.c (read_config_file): Remove parser changing.
13467 (grub_normal_execute): Don't call read_handler_list.
13468 (grub_normal_read_line_real): Statically allocate prompt.
13469 (grub_cmdline_run): Use grub_normal_parse_line.
13470 (GRUB_MOD_FINI): Don't call free_handler_list.
13471 * normal/menu_entry.c (run): Likewise.
13472 * script/function.c (grub_script_function_list): Make global.
13473 (grub_script_function_iterate): Removed.
13474 * script/main.c (grub_normal_parse_line): Make global.
13475 (grub_sh_parser): Removed.
13476 (GRUB_MOD_INIT): Likewise.
13477 (GRUB_MOD_FINI): Likewise.
13478 * tests/lib/functional_test.c (grub_functional_test): Use
13479 FOR_LIST_ELEMENTS.
13480 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
13481 (grub_test_run): Use FOR_LIST_ELEMENTS.
13482 * tests/lib/unit_test.c (main): Likewise.
13483 * util/deviceiter.c (grub_util_iterate_devices): Don't use
13484 grub_list_pop.
13485 * util/grub-fstest.c (grub_term_input_class): Removed.
13486 (grub_term_output_class): Likewise.
13487 * util/grub-probe.c: Likewise.
13488 * util/i386/pc/grub-setup.c: Likewise.
13489 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13490 * util/grub-script-check.c (main): Don't call grub_init_all and
13491 grub_fini_all.
13492 * video/video.c (grub_video_adapter_list): Make global.
13493 (grub_video_register): Removed.
13494 (grub_video_unregister): Likewise.
13495 (grub_video_iterate): Likewise.
13496
6289c3a7
VS
134972010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
13498
13499 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
13500 reported by Henrique Ferreiro.
13501
91460247
RM
135022010-06-09 Robert Millan <rmh@gnu.org>
13503
13504 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
13505 ones, when both are available.
13506
0ea7c4f9
GS
135072010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13508
13509 Make --version uniform and avoid hard-coded program name.
13510
13511 * util/grub-mkimage.c (main): Use `program_name' instead of
13512 hard-coded string.
13513 * util/i386/pc/grub-setup.c (main): Likewise.
13514 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
13515 * util/grub-install.in: Save the basename of $0 in $self, and use the
13516 latter in informational messages. Use the same format for --version
13517 as the binary programs.
13518 * util/grub-mkconfig.in: Likewise.
13519 * util/grub-mkrescue.in: Likewise.
13520 * util/grub-reboot.in: Likewise.
13521 * util/grub-set-default.in: Likewise.
13522 * util/i386/efi/grub-install.in: Likewise.
13523 * util/ieee1275/grub-install.in: Likewise.
13524 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13525
e8a6f3b6
GS
135262010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13527
13528 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
13529 embedding area. Use <= instead of == when checking for non-emptiness.
13530
f4d095d7
GS
135312010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13532
13533 * configure.ac: Add `.' to the directories searched for unifont.
13534
50e532ca
CW
135352010-06-08 Colin Watson <cjwatson@ubuntu.com>
13536
13537 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
13538 grub_script.yy.h.
13539
d39f3dec
CW
135402010-06-08 Colin Watson <cjwatson@ubuntu.com>
13541
13542 * docs/grub.texi (History): Expand to cover GRUB 2.
13543 (Serial terminal): Refer to `terminal_input' and `terminal_output'
13544 commands, not `terminal'.
13545 (serial): Likewise.
13546 (terminal_input): New section.
13547 (terminal_output): New section.
13548 (uppermem): New section (stub).
13549 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
13550
6ef0ddb4
CW
135512010-06-08 Colin Watson <cjwatson@ubuntu.com>
13552
13553 * docs/grub.texi (Security): Menu entries are unrestricted by
13554 default, not restricted to superusers as I had previously thought.
13555 Reword to account for this.
13556
e0f4c438
CW
135572010-06-07 Colin Watson <cjwatson@ubuntu.com>
13558
13559 * kern/emu/misc.c (device_mapper_null_log): New function.
13560 (grub_device_mapper_supported): New function.
13561 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
13562 prototype.
13563 * kern/emu/hostdisk.c (find_partition_start): Check whether
13564 device-mapper is supported before trying to use it.
13565 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
13566
da908200
CW
135672010-06-07 Colin Watson <cjwatson@ubuntu.com>
13568
13569 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
13570 (File name syntax): Likewise.
13571 (help): --all is no longer supported in GRUB 2. Be more precise
13572 about pattern matching.
13573
fb55c3ac
CW
135742010-06-07 Colin Watson <cjwatson@ubuntu.com>
13575
13576 * normal/completion.c (grub_normal_do_completion): When completing
13577 arguments to "set" and the current word contains an equals sign,
13578 skip to after the equals sign before starting completion.
13579
258c2573
CW
135802010-06-07 Colin Watson <cjwatson@ubuntu.com>
13581
13582 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
13583
ee75515e
CW
135842010-06-07 Colin Watson <cjwatson@ubuntu.com>
13585
13586 * docs/grub.texi (Network): New section.
13587 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
13588 `(nd)' as in GRUB Legacy.
13589 (pxe_unload): New section.
13590
a6a700aa
CW
135912010-06-07 Colin Watson <cjwatson@ubuntu.com>
13592
13593 * docs/grub.texi (Troubleshooting): `echo' is not usually available
13594 in the rescue shell, so recommend using `set' instead. Thanks,
13595 Jordan Uggla.
13596
4003dd38
CW
135972010-06-07 Colin Watson <cjwatson@ubuntu.com>
13598
13599 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
13600 (password): New section.
13601 (password_pbkdf2): New section.
13602 (search): New section.
13603 (Security): New section.
13604 (Troubleshooting): New section, currently very incomplete.
13605 (Invoking grub-mkpasswd-pbkdf2): New section.
13606 (Internals): New section, currently very incomplete.
13607
e1cbcc40
CW
136082010-06-07 Colin Watson <cjwatson@ubuntu.com>
13609
13610 * util/grub.d/00_header.in: Add some more quoting (of
13611 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
13612 work again.
13613 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
13614
db8fa1ad
CW
136152010-06-07 Colin Watson <cjwatson@ubuntu.com>
13616
13617 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
13618 to `count', fixing variable shadowing that broke the -c option.
13619
136202010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
13621
13622 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
13623 in case they contain spaces.
13624
f28a9212
CW
136252010-06-04 Colin Watson <cjwatson@ubuntu.com>
13626
13627 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
13628 "part_" to partmap module names, in line with grub-install.
13629 Reported by: Jindřich Makovička (Debian bug #584426).
13630
9cdfe32f
CW
136312010-06-04 Colin Watson <cjwatson@ubuntu.com>
13632
13633 * util/grub-mkimage.c: Make target-related error messages slightly
13634 more helpful; -O talks about "format". Explicitly point to the use
13635 of -O if no target is specified.
13636 Reported by: Didier Raboud (Debian bug #584415).
13637
795b593a
CW
136382010-06-03 Colin Watson <cjwatson@ubuntu.com>
13639
13640 * INSTALL: Document several build requirements for optional features
13641 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
13642
9d9b5833
GS
136432010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
13644
13645 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
13646 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
13647 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
13648
0819fec8
CW
136492010-06-02 Colin Watson <cjwatson@ubuntu.com>
13650
13651 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
13652 Thanks to Jordan Uggla for spotting this.
13653
49396b4f
VS
136542010-06-02 Aleš Nesrsta <starous@volny.cz>
13655
13656 Finally make USB usable.
13657
13658 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
13659 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
13660 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
13661 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
13662 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
13663 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
13664 (GRUB_OHCI_FSMPS): Likewise.
13665 (GRUB_OHCI_PERIODIC_START): Likewise.
13666 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
13667 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
13668 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
13669 (GRUB_OHCI_SET_PORT_RESET): Likewise.
13670 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
13671 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
13672 (grub_ohci_transaction): Likewise.
13673 (grub_ohci_transfer): Improve condition detection algorithms.
13674 Handle toggle property. Program the transactions correctly.
13675 Improve error handling. Various important fixups.
13676 (grub_ohci_portstatus): Put register writes in right order.
13677 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
13678 (grub_uhci_transfer): Don't show "failed" message on success.
13679 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
13680 array.
13681 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
13682 determine its size.
13683 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
13684 before initialization is completed. Use IN direction for empty
13685 transfers. Use last_trans and compute toggle.
13686 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
13687 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
13688 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
13689 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
13690 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
13691 (grub_usb_device): Increase toggle to 256.
13692 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
13693 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
13694 GRUB_USBMS_SUBCLASS_SFF8070.
13695 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
13696 (grub_scsi_inquiry): New member page and alloc_length.
13697 (grub_scsi_request_sense): New structure.
13698 (grub_scsi_request_sense_data): Likewise.
13699 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
13700 control.
13701 * disk/scsi.c (grub_scsi_request_sense): New function.
13702 (grub_scsi_test_unit_ready): Likewise.
13703 (grub_scsi_inquiry): Fill new fields.
13704 (grub_scsi_read_capacity): Likewise.
13705 (grub_scsi_read10): Add request sense at the end.
13706 (grub_scsi_read12): Likewise.
13707 (grub_scsi_write10): Likewise.
13708 (grub_scsi_write12): Likewise.
13709 (grub_scsi_open): Add Test Unit Ready.
13710 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
13711 Support additional subclasses. Con't clear halt yet. Activate the
13712 proper config. Calculate LUNs correctly.
13713 (grub_usbms_transfer): Various important fixups.
13714
137152010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13716
13717 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
13718 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
13719 (grub_ohci_fini_hw): New function.
13720 (grub_ohci_restore_hw): Likewise.
13721 (GRUB_MOD_INIT(ohci)): Register preboot hook.
13722 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
13723 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
13724
137252010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13726
13727 Dedicated DMA allocations.
13728
13729 * bus/pci.c (grub_memalign_dma32): New function
13730 (grub_dma_free): Likewise.
13731 (grub_dma_get_virt): Likewise.
13732 (grub_dma_get_phys): Likewise.
13733 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
13734 (grub_ohci_pci_iter): Use dma32_alloc.
13735 (grub_ohci_transfer): Likewise.
13736 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
13737 (grub_usb_bulk_readwrite): Likewise.
13738 * include/grub/pci.h: Add declarations.
13739
137402010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13741
13742 CS5536 support.
13743
13744 * bus/cs5536.c: New file.
13745 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
13746 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
13747 (cs5536_mod_SOURCES): New variable.
13748 (cs5536_mod_CFLAGS): Likewise.
13749 (cs5536_mod_LDFLAGS): Likewise.
13750 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
13751 machine/pci.h.
13752 (kernel_img_SOURCES): Add bus/cs5536.c.
13753 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
13754 usb_keyboard.mod.
13755 (usb_mod_SOURCES): New variable.
13756 (usb_mod_CFLAGS): New variable.
13757 (usb_mod_LDFLAGS): New variable.
13758 (usbtest_mod_SOURCES): New variable.
13759 (usbtest_mod_CFLAGS): New variable.
13760 (usbtest_mod_LDFLAGS): New variable.
13761 (ohci_mod_SOURCES): New variable.
13762 (ohci_mod_CFLAGS): New variable.
13763 (ohci_mod_LDFLAGS): New variable.
13764 (usbms_mod_SOURCES): New variable.
13765 (usbms_mod_CFLAGS): New variable.
13766 (usbms_mod_LDFLAGS): New variable.
13767 (usb_keyboard_mod_SOURCES): New variable.
13768 (usb_keyboard_mod_CFLAGS): New variable.
13769 (usb_keyboard_mod_LDFLAGS): New variable.
13770 * include/grub/smbus.h: New file.
13771 * include/grub/cs5536.h: New file.
13772
0b35b2a9
CW
137732010-06-02 Colin Watson <cjwatson@ubuntu.com>
13774
13775 * util/grub.d/00_header.in: Add safety check to make sure that
13776 ${locale_dir} exists before trying to probe it.
13777
ca0afd5b
CW
137782010-06-02 Colin Watson <cjwatson@ubuntu.com>
13779
13780 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
13781 per the GNU Coding Standards; this is now too obscure to be worth
13782 documenting.
13783 (QNX): Likewise.
13784 (chainloader): Remove cross-reference to `SCO UnixWare'.
13785
1c41aa78
CW
137862010-06-02 Colin Watson <cjwatson@ubuntu.com>
13787
13788 * docs/grub.texi (Chain-loading): New section.
13789 (DOS/Windows): New section, borrowed from GRUB Legacy with details
13790 adjusted for GRUB 2.
13791 (SCO UnixWare): Likewise.
13792 (QNX): Likewise.
13793 (chainloader): Add reference to `Block list syntax'.
13794 (drivemap): New section.
13795 (parttool): New section.
13796
bb8ea0f5
CW
137972010-06-02 Colin Watson <cjwatson@ubuntu.com>
13798
13799 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
13800 the grub shell'.
13801 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
13802 (Installing GRUB using grub-install): Remove reference to the grub
13803 shell; mention `grub-mkimage' and `grub-setup' instead.
13804 (Invoking grub-install): Likewise.
13805 (Interface): Add reference to `Menu entry editor'.
13806 (serial): Remove `--device' option.
13807
288dd6ed
CW
138082010-06-02 Colin Watson <cjwatson@ubuntu.com>
13809
13810 * docs/grub.texi (Configuration): New section, documenting
13811 configuration file generation using grub-mkconfig. I've left a slot
13812 for documenting the full shell scripting format but have not yet
13813 started on writing that up.
13814 (Invoking grub-mkconfig): New section.
13815
34c9f0e9
CW
138162010-06-02 Colin Watson <cjwatson@ubuntu.com>
13817
13818 * docs/grub.texi (direntry): Remove grub-terminfo reference.
13819 (GNU GRUB manual): Likewise.
13820 (General commands): Update description of `terminfo' for GRUB 2.
13821
9121567e
CW
138222010-06-02 Colin Watson <cjwatson@ubuntu.com>
13823
13824 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
13825 (GRUB_MOD_INIT): Fix capitalisation.
13826 * docs/grub.texi (Command-line and menu entry commands): Document
13827 gettext and gptsync commands.
13828
ab631611
CW
138292010-06-02 Colin Watson <cjwatson@ubuntu.com>
13830
13831 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
13832 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
13833
bde4a9ac
CW
138342010-06-01 Colin Watson <cjwatson@ubuntu.com>
13835
13836 Add btrfs probing support, currently only in the single-device case.
13837
13838 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
13839 function.
13840 (grub_guess_root_device): Call find_root_device_from_mountinfo
13841 before looking in /dev.
13842
b1d17e10
VS
138432010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13844
13845 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
13846 GRUB_DISK_SIZE_UNKNOWN.
13847 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
13848
dfbfe004
JS
138492010-05-31 Jiro SEKIBA <jir@unicus.jp>
13850
13851 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
13852 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
13853 corrupted or not synced properly.
13854
c2ffc8e9
VS
138552010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13856
13857 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
13858 Reported by: Seth Goldberg.
13859
56293166
VS
138602010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13861
13862 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
13863 addition of dest.
13864 Reported by: Seth Goldberg.
13865
7620e7de
VS
138662010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13867
13868 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
13869 Reported by: Seth Goldberg.
13870
c837af3f
VS
138712010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13872
13873 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
13874 64-bit address as signed on MIPS.
13875
c7c75cf4
CW
138762010-05-28 Colin Watson <cjwatson@ubuntu.com>
13877
13878 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
13879 to the empty string.
13880
fa4b8490
BC
138812010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
13882
13883 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
13884
13885 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
13886 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
13887 * kern/misc.c (__enable_execute_stack): Disable on
13888 GRUB_MACHINE_EMU.
13889
a33075b9
CW
138902010-05-28 Colin Watson <cjwatson@ubuntu.com>
13891
13892 Make grub-probe work with symbolic links under /dev/mapper as well
13893 as with real block devices. The Linux world seems to be (at best)
13894 in transition here, and GRUB shouldn't get caught in the middle.
13895
13896 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
13897 /dev/mapper.
13898
d8708134
CW
138992010-05-27 Colin Watson <cjwatson@ubuntu.com>
13900
13901 * util/grub-script-check.c (main): Ensure defined behaviour on empty
13902 input files (in which case exit zero).
13903
db2102a0
CW
139042010-05-27 Colin Watson <cjwatson@ubuntu.com>
13905
13906 * kern/emu/misc.c (canonicalize_file_name): realpath can still
13907 return NULL for various reasons even if it has a maximum-length
13908 buffer: for example, there might be a symlink loop, or the path
13909 might exceed PATH_MAX. If this happens, return NULL.
13910
5fdba519
RM
139112010-05-27 Robert Millan <rmh@gnu.org>
13912
13913 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
13914 partmap module to handle cross-partmap setups.
13915 Reported by Orestes Mas. Gràcies!
13916
d1d368e4
CW
139172010-05-27 Colin Watson <cjwatson@ubuntu.com>
13918
13919 * util/grub-mkrescue.in: Initialise override_dir rather than
13920 assuming that it's unset or empty in the environment.
13921
95ac3c73
GS
139222010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
13923
13924 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
13925 variable index into p_index to suppress a warning with -Wshadow.
13926
7d8c0213
BC
139272010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
13928
13929 * INSTALL: Added flex >= 2.5.35 requirement.
13930
db4d5813
VS
139312010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13932
13933 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
13934
f24f4300
VS
139352010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13936
13937 cmostest support.
13938
13939 * commands/i386/cmostest.c: New file.
13940 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
13941 (cmostest_mod_SOURCES): New variable.
13942 (cmostest_mod_CFLAGS): Likewise.
13943 (cmostest_mod_LDFLAGS): Likewise.
13944 * conf/i386-pc.rmk: Likewise.
13945 * docs/grub.texi (Vendor power-on keys): New section.
13946 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
13947 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
13948 and GRUB_BUTTON_CMOS_ADDRESS.
13949 * util/grub.d/00_header.in: Handle powering-on by separate button.
13950
ad603f61
VS
139512010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13952
13953 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
13954 Removed drawing_scrollbar argument. All users updated
13955 Fixes #29792.
13956 Reported by Jo Shields
13957
3ecb080a
VS
139582010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13959
13960 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
13961 buffer since gfxterm handles double repaint.
13962
5f2316c1
VS
139632010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13964
13965 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
13966 * term/gfxterm.c (real_scroll): Likewise.
13967
9a25f885
VS
139682010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13969
13970 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
13971 before calling BIOS.
13972
39fbb79a
VS
139732010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13974
13975 * include/grub/i18n.h: Always enable grub_gettext.
13976
228cfa97
VS
139772010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13978
13979 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
13980 partition naming style.
13981
21717c8f
CW
139822010-05-21 Colin Watson <cjwatson@ubuntu.com>
13983
13984 * util/grub-mkconfig.in: Fix handling of -o so that it works when
13985 not the first option.
13986
c0f48e65
CW
139872010-05-20 Colin Watson <cjwatson@ubuntu.com>
13988
13989 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
13990
96779aec
CW
139912010-05-20 Colin Watson <cjwatson@ubuntu.com>
13992
13993 * util/misc.c: Move inclusion of <limits.h> to ...
13994 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
13995
fa9d256e
GS
139962010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
13997
13998 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
13999 Fix merge error in NetBSD code.
14000 (find_partition_start) [__NetBSD__]: Likewise.
14001
123b7a85
BC
140022010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
14003
14004 Fix grub-mkrescue usage unit testing.
14005
14006 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
14007
74276c0d
CF
140082010-05-18 Christian Franke <franke@computer.org>
14009
14010 * util/grub.d/10_windows.in: Use path names instead of
14011 drive letters to prevent warning from Cygwin 1.7.
14012 Add drivemap command to menuentry if needed.
14013
c4f7b523
ST
140142010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
14015
14016 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
14017 gnumach and gnumach.gz.
14018
95b97950
VS
140192010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14020
14021 * include/grub/i18n.h (gettext): Inline instead of using #define.
14022 (grub_gettext): Likewise.
14023 (_): Likewise.
14024
01b8d2d7
VS
140252010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14026
14027 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
14028 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
14029 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
14030 (main): Add a slash after pkglibdirroot.
14031
654e1d1e
VS
140322010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14033
14034 * util/grub-install.in: Add missing "in" keyword.
14035
26966aeb
VS
140362010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14037
14038 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
14039 Reported by: Seth Goldberg.
14040
75006747
VS
140412010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14042
14043 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
14044
74cbf5bd
CW
140452010-05-18 Colin Watson <cjwatson@ubuntu.com>
14046
14047 * configure.ac: Check for Linux device-mapper support.
14048
14049 * util/hostdisk.c (device_is_mapped): New function.
14050 (find_partition_start): New function, partly broken out from
14051 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
14052 device-mapper support added.
14053 (linux_find_partition): Use find_partition_start.
14054 (convert_system_partition_to_system_disk): Add `st' argument.
14055 Support Linux /dev/mapper/* devices if device-mapper support is
14056 available; only DM-RAID devices are understood at present.
14057 (find_system_device): Add `st' argument. Pass it to
14058 convert_system_partition_to_system_disk.
14059 (grub_util_biosdisk_get_grub_dev): Pass stat result to
14060 find_system_device and convert_system_partition_to_system_disk. Use
14061 find_partition_start.
14062
14063 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
14064 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
14065 * util/deviceiter.c [__linux__]: Define MINOR.
14066 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
14067 * util/mkdevicemap.c (grub_putchar): New function.
14068 (grub_getkey): New function.
14069 (grub_refresh): New function.
14070 (main): Set debug=all if -v -v is used.
14071
355b51e9
CW
140722010-05-18 Colin Watson <cjwatson@ubuntu.com>
14073
14074 Fix build with non-GNU libcs.
14075
14076 * util/misc.c (canonicalize_file_name): Move to ...
14077 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
14078 grub_make_system_path_relative_to_its_root.
14079
7fb5c25f
CW
140802010-05-18 Colin Watson <cjwatson@ubuntu.com>
14081
14082 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
14083 we handle finding grub-mkimage. Default to finding grub-mkimage in
14084 ${bindir} with program_transform_name applied, and provide a
14085 --grub-mkimage option to override this.
14086
1d3293d6
VS
140872010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14088
14089 Remove grub-mkisofs.
14090
14091 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
14092 (grub_mkisofs_SOURCES): Removed.
14093 (grub_mkisofs_CFLAGS): Removed.
14094 * util/mkisofs/defaults.h: Removed.
14095 * util/mkisofs/eltorito.c: Likewise.
14096 * util/mkisofs/exclude.h: Likewise.
14097 * util/mkisofs/hash.c: Likewise.
14098 * util/mkisofs/include/: Likewise.
14099 * util/mkisofs/include/fctldefs.h: Likewise.
14100 * util/mkisofs/include/mconfig.h: Likewise.
14101 * util/mkisofs/include/prototyp.h: Likewise.
14102 * util/mkisofs/include/statdefs.h: Likewise.
14103 * util/mkisofs/iso9660.h: Likewise.
14104 * util/mkisofs/joliet.c: Likewise.
14105 * util/mkisofs/match.c: Likewise.
14106 * util/mkisofs/match.h: Likewise.
14107 * util/mkisofs/mkisofs.c: Likewise.
14108 * util/mkisofs/mkisofs.h: Likewise.
14109 * util/mkisofs/msdos_partition.h: Likewise.
14110 * util/mkisofs/multi.c: Likewise.
14111 * util/mkisofs/name.c: Likewise.
14112 * util/mkisofs/rock.c: Likewise.
14113 * util/mkisofs/tree.c: Likewise.
14114 * util/mkisofs/write.c: Likewise.
14115
5dde9afe
VS
141162010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14117
14118 Unify grub-mkimage accross platforms.
14119
14120 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
14121 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
14122 (grub_mkelfimage_SOURCES): Removed.
14123 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
14124 (util/grub-mkimage.c_DEPENDENCIES): .. this.
14125 (bin_UTILITIES): Add grub-mkimage.
14126 (grub_mkimage_SOURCES): New variable.
14127 (kernel_img_HEADERS): Remove machine/kernel.h.
14128 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
14129 (pkglib_PROGRAMS): Add kernel.img.
14130 (kernel_img_HEADERS): Add machine/kernel.h.
14131 (kernel_img_FORMAT): Removed.
14132 (bin_UTILITIES): Remove grub-mkimage.
14133 (grub_mkimage_SOURCES): Removed.
14134 (grub_mkimage_CFLAGS): Likewise.
14135 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14136 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
14137 (pkglib_PROGRAMS): Add kernel.img.
14138 (bin_UTILITIES): Remove grub-mkimage.
14139 (grub_mkimage_SOURCES): Removed.
14140 (grub_mkimage_CFLAGS): Likewise.
14141 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14142 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
14143 (pkglib_PROGRAMS): Add kernel.img.
14144 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
14145 (pkglib_PROGRAMS): Add kernel.img.
14146 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
14147 (grub_mkimage_SOURCES): Removed.
14148 (grub_mkimage_CFLAGS): Likewise.
14149 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14150 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
14151 (pkglib_PROGRAMS): Add kernel.img.
14152 (bin_UTILITIES): Remove grub-mkimage.
14153 (grub_mkimage_SOURCES): Removed.
14154 (grub_mkimage_CFLAGS): Likewise.
14155 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14156 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
14157 (grub_mkimage_SOURCES): Removed.
14158 (grub_mkimage_CFLAGS): Likewise.
14159 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14160 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
14161 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
14162 (grub_pe32_optional_header): ... this.
14163 (grub_pe64_optional_header): ... and this. All users updated.
14164 (GRUB_PE32_PE32_MAGIC): Split into ..
14165 (GRUB_PE32_PE32_MAGIC): .. this.
14166 (GRUB_PE32_PE64_MAGIC): .. and this.
14167 (GRUB_PE32_SIGNATURE_SIZE): New definition.
14168 * include/grub/elf.h (PT_GNU_STACK): New definition.
14169 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
14170 * include/grub/i386/efi/kernel.h: Likewise.
14171 * include/grub/i386/kernel.h: Likewise.
14172 * include/grub/i386/pc/kernel.h: Likewise.
14173 * include/grub/i386/qemu/boot.h: Likewise.
14174 * include/grub/mips/kernel.h: Likewise.
14175 * include/grub/mips/qemu-mips/kernel.h: Likewise.
14176 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
14177 * include/grub/powerpc/kernel.h: Likewise.
14178 * include/grub/sparc64/ieee1275/boot.h: Likewise.
14179 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
14180 * include/grub/sparc64/kernel.h: Likewise.
14181 * include/grub/x86_64/efi/kernel.h: Likewise.
14182 * include/grub/x86_64/kernel.h: Likewise.
14183 * include/grub/offsets.h: New file.
14184 * include/grub/kernel.h (grub_module_info): Split into ...
14185 (grub_module_info32): ... this.
14186 (grub_module_info64): ... and this.
14187 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
14188 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
14189 (grub_boot_blocklist): Moved from here ...
14190 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
14191 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
14192 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
14193 * include/grub/types.h (grub_target_to_host16): Removed.
14194 (grub_target_to_host32): Likewise.
14195 (grub_target_to_host64): Likewise.
14196 (grub_host_to_target16): Likewise.
14197 (grub_host_to_target32): Likewise.
14198 (grub_host_to_target64): Likewise.
14199 (grub_host_to_target_addr): Likewise.
14200
14201 Support grub-mkrescue for efi, coreboot and qemu.
14202
14203 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
14204 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
14205 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
14206 * util/grub-mkrawimage.c: Moved from here ...
14207 * util/grub-mkimage.c: ... here. All users updated.
14208 (ALIGN_ADDR): Use image_target.
14209 (TARGET_NO_FIELD): New const.
14210 (image_target_desc): New type.
14211 (image_targets): New array.
14212 (grub_target_to_host64): Use image_target.
14213 (grub_target_to_host32): Likewise.
14214 (grub_target_to_host16): Likewise.
14215 (grub_host_to_target64): Likewise.
14216 (grub_host_to_target32): Likewise.
14217 (grub_host_to_target16): Likewise.
14218 (grub_host_to_target_addr): Likewise.
14219 (generate_image): Handle multiimage.
14220 (main): Require -O parameter. All users updated.
14221 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
14222 util/efi/grub-mkimage.c
14223 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
14224 New option --rom-directory.
14225 Use xorriso.
14226 * util/i386/efi/grub-mkimage.c: Removed.
14227 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
14228 (grub_target_to_host32): Likewise.
14229 (grub_target_to_host64): Likewise.
14230 (grub_host_to_target16): Likewise.
14231 (grub_host_to_target32): Likewise.
14232 (grub_host_to_target64): Likewise.
14233 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
14234 (grub_target_to_host32): Likewise.
14235 (grub_target_to_host64): Likewise.
14236 (grub_host_to_target16): Likewise.
14237 (grub_host_to_target32): Likewise.
14238 (grub_host_to_target64): Likewise.
14239
f4fc97d0
BC
142402010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
14241
14242 Source tree is reorganized for emu build.
14243
14244 * include/grub/util/console.h: Move from here...
14245 * include/grub/emu/console.h: ...to here.
14246 * include/grub/util/getroot.h: Move from here...
14247 * include/grub/emu/getroot.h: ...to here.
14248 * include/grub/util/hostdisk.h: Move from here...
14249 * include/grub/emu/hostdisk.h: ...to here.
14250 * util/console.c: Move from here...
14251 * kern/emu/console.c: ...to here.
14252 * util/getroot.c: Move from here...
14253 * kern/emu/getroot.c: ...to here.
14254 * util/grub-emu.c: Move from here...
14255 * kern/emu/main.c: ...to here.
14256 * util/hostdisk.c: Move from here...
14257 * kern/emu/hostdisk.c: ...to here.
14258 * util/hostfs.c: Move from here...
14259 * kern/emu/hostfs.c: ...to here.
14260 * util/mm.c: Move from here...
14261 * kern/emu/mm.c: ...to here.
14262 * util/pci.c: Move from here...
14263 * bus/emu/pci.c: ...to here.
14264 * util/sdl.c: Move from here...
14265 * video/emu/sdl.c: ...to here.
14266 * util/time.c: Move from here...
14267 * kern/emu/time.c: ...to here.
14268 * util/usb.c: Move from here...
14269 * bus/usb/emu/usb.c: ...to here.
14270
14271 * include/grub/emu/misc.h: New header for grub-emu functions.
14272 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
14273
14274 * conf/any-emu.rmk: Rule updates for above renames.
14275 * conf/common.rmk: Likewise.
14276 * conf/i386-pc.rmk: Likewise.
14277 * conf/i386-qemu.rmk: Likewise.
14278 * conf/mips.rmk: Likewise.
14279 * conf/sparc64-ieee1275.rmk: Likewise.
14280 * conf/x86-efi.rmk: Likewise.
14281
14282 * disk/lvm.h: #include updates for above renames.
14283 * util/grub-mkrelpath.c: Likewise.
14284 * util/grub-probe.c: Likewise.
14285 * util/i386/pc/grub-setup.c: Likewise.
14286 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14287 * kern/emu/console.c: Likewise.
14288 * kern/emu/getroot.c: Likewise.
14289 * kern/emu/hostdisk.c: Likewise.
14290 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
14291
14292 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
14293 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
14294 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
14295 * util/misc.c: Remove grub-emu functions.
14296
cced9145
VS
142972010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14298
14299 Fix gfxmenu crash.
14300 Reported by: Thorsten Grützmacher.
14301
14302 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
14303 timeout hook.
14304 (circprog_set_property): Register and unregister timeout hook.
14305 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
14306 (label_destroy): Free template. and unregister hook.
14307 (label_set_state): New function.
14308 (label_set_property): Handle templates and hooks.
14309 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
14310 timeout hook.
14311 (progress_bar_set_property): Register and unregister timeout hook.
14312 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
14313 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
14314 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
14315 (update_timeout_visit): Removed.
14316 (update_timeouts): New function.
14317 (redraw_timeouts): Likewise.
14318 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
14319 (grub_gfxmenu_clear_timeout): Likewise.
14320 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
14321 (grub_gfxmenu_timeout_notify): Likewise.
14322 (grub_gfxmenu_timeout_notifications): New external variable.
14323 (grub_gfxmenu_timeout_register): New function.
14324 (grub_gfxmenu_timeout_unregister): Likewise.
14325
c6e5caab
VS
143262010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14327
14328 Transform (broken) vga terminal into (working) vga video driver.
14329
14330 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
14331 video/i386/pc/vga.c.
14332 * include/grub/video.h (grub_video_driver_id):
14333 Add GRUB_VIDEO_DRIVER_VGA.
14334 * term/i386/pc/vga.c: Renamed to ...
14335 * video/i386/pc/vga.c: ...this
14336 (DEBUG_VGA): Removed.
14337 (CHAR_WIDTH): Likewise.
14338 (CHAR_HEIGHT): Likewise.
14339 (TEXT_WIDTH): Likewise.
14340 (TEXT_HEIGHT): Likewise.
14341 (DEFAULT_FG_COLOR): Likewise.
14342 (DEFAULT_BG_COLOR): Likewise.
14343 (colored_char): Likewise.
14344 (xpos): Likewise.
14345 (ypos): Likewise.
14346 (cursor_state): Likewise.
14347 (fg_color): Likewise.
14348 (bg_color): Likewise.
14349 (text_buf): Likewise.
14350 (page): Likewise.
14351 (font): Likewise.
14352 (framebuffer): New variable.
14353 (set_read_map): Disabled.
14354 (setup): New variable.
14355 (is_target): Likewise.
14356 (grub_vga_mod_init): Likewise.
14357 (grub_vga_mod_fini): Likewise.
14358 (check_vga_mem): Likewise.
14359 (write_char): Likewise.
14360 (write_cursor): Likewise.
14361 (scroll_up): Likewise.
14362 (grub_vga_putchar): Likewise.
14363 (grub_vga_getcharwidth): Likewise.
14364 (grub_vga_getwh): Likewise.
14365 (grub_vga_getxy): Likewise.
14366 (grub_vga_gotoxy): Likewise.
14367 (grub_vga_cls): Likewise.
14368 (grub_vga_setcolorstate): Likewise.
14369 (grub_vga_setcursor): Likewise.
14370 (grub_video_vga_init): New function.
14371 (grub_video_vga_setup): Likewise.
14372 (grub_video_vga_fini): Likewise.
14373 (update_target): Likewise.
14374 (grub_video_vga_blit_bitmap): Likewise.
14375 (grub_video_vga_blit_render_target): Likewise.
14376 (grub_video_vga_set_active_render_target): Likewise.
14377 (grub_video_vga_get_active_render_target): Likewise.
14378 (grub_video_vga_swap_buffers): Likewise.
14379 (grub_video_vga_set_palette): Likewise.
14380 (grub_video_vga_get_info_and_fini): Likewise.
14381 (grub_vga_term): Removed.
14382 (grub_video_vga_adapter): New variable.
14383 (GRUB_MOD_INIT): Register a video driver instead of terminal.
14384 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
14385
2bf61a98
VS
143862010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14387
14388 * video/readers/jpeg.c: Indented.
14389
09ddcd11
VS
143902010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14391
14392 Various jpeg cleanups.
14393
14394 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
14395 (grub_jpeg_decode_quan_table): Use sizeof.
14396 (grub_jpeg_decode_du): Use ARRAY_SIZE.
14397
e5507505
PH
143982010-05-05 Peter Hurley <No e-mail available> (tiny change)
14399
14400 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
14401 tables. Ignore non-last ac bit.
14402 (grub_jpeg_decode_quan_table): Likewise.
14403
7e720a9b
VS
144042010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14405
14406 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
14407 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
14408 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
14409 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
14410 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
14411 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
14412
a7fc080b
VS
144132010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14414
14415 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
14416 error.
14417
2bf6012d
VS
144182010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14419
14420 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
14421
265d68cd
VS
144222010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14423
14424 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
14425 condition.
14426
144272010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
14428
14429 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
14430 part.
14431
265d68cd 144322010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
14433
14434 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
14435 pointers.
14436
265d68cd 144372010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
14438
14439 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
14440
d1b61374
CF
144412010-05-01 Christian Franke <franke@computer.org>
14442
14443 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
14444 Remove broken Cygwin path conversion.
14445 * util/misc.c: [__CYGWIN__] Add include and define.
14446 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
14447 for Cygwin 1.7.
14448 (make_system_path_relative_to_its_root): Simplify loop, replace early
14449 return by break.
14450 [__CYGWIN__] Add conversion to win32 path.
14451 Include "/" case in trailing slash removal.
14452
3558c6e9
VS
144532010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14454
14455 * kern/main.c (grub_load_config): Fix copy-pasted comment.
14456 Reported by: Seth Goldberg
14457
f5f3ff93
VS
144582010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14459
14460 * commands/help.c (grub_cmd_help): Fix a typo.
14461 Reported by: Seth Goldberg
14462
d8b5cd40
VS
144632010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14464
14465 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
14466 name and add N_.
14467 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
14468 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
14469 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
14470 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
14471 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
14472 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
14473 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
14474 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
14475 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
14476 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
14477 * normal/context.c (GRUB_MOD_INIT): Likewise.
14478 * normal/main.c (GRUB_MOD_INIT): Likewise.
14479 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
14480 * term/serial.c (GRUB_MOD_INIT): Likewise.
14481 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
14482
88c14915
VS
144832010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14484
14485 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
14486 extra == 0.
14487
165134bc
VS
144882010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14489
14490 * commands/iorw.c: New file.
14491 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
14492 (iorw_mod_SOURCES): New variable.
14493 (iorw_mod_CFLAGS): Likewise.
14494 (iorw_mod_LDFLAGS): Likewise.
14495
c5ac9b32
VS
144962010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14497
14498 Hotkey support
14499
14500 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
14501 * normal/main.c (hotkey_aliases): New variable.
14502 (grub_normal_add_menu_entry): Parse "--hotkey".
14503 * normal/menu_text.c (run_menu): Handle hotkeys.
14504
ce60689c
VS
145052010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14506
14507 * kern/i386/coreboot/init.c (grub_machine_init): Call
14508 grub_machine_mmap_init on qemu.
14509
0359d006
VS
145102010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14511
14512 * boot/i386/qemu/boot.S: Add a missing .code16.
14513
7819a456
VS
145142010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14515
14516 Use LBIO on coreboot.
14517
14518 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
14519 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
14520 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
14521 New declaration.
14522 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
14523 grub_machine_mmap_init on coreboot.
14524 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
14525 GRUB_LINUXBIOS_MEMBER_LINK.
14526 (grub_machine_mmap_iterate): Fix declaration.
14527 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
14528
7210dca9
VS
145292010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14530
14531 Split coreboot and multiboot ports.
14532
14533 * conf/i386-multiboot.rmk: New file.
14534 * configure.ac: Add multiboot port.
14535 * include/grub/i386/multiboot/boot.h: New file.
14536 * include/grub/i386/multiboot/console.h: Likewise.
14537 * include/grub/i386/multiboot/init.h: Likewise.
14538 * include/grub/i386/multiboot/kernel.h: Likewise.
14539 * include/grub/i386/multiboot/loader.h: Likewise.
14540 * include/grub/i386/multiboot/memory.h: Likewise.
14541 * include/grub/i386/multiboot/serial.h: Likewise.
14542 * include/grub/i386/multiboot/time.h: Likewise.
14543 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
14544 * loader/multiboot.c: Likewise.
14545 * loader/multiboot_mbi2.c: Likewise.
14546 * util/grub-mkrescue.in: Generate multiboot rescue.
14547
6f8aaf68
VS
145482010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14549
3080f7a7
VS
14550 * kern/parser.c (grub_parser_execute): Cope with read-only config.
14551
145522010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14553
14554 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
14555
14556 * commands/terminal.c (abstract_terminal): New struct.
14557 (handle_command): New function. Based on grub_cmd_terminal_input.
14558 (grub_cmd_terminal_input): Use handle_command.
14559 (grub_cmd_terminal_output): Use handle_command.
14560
a8ebb841
BC
145612010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
14562
14563 Fix comment handling.
14564
14565 * tests/grub_script_comments.in: New testcase.
14566 * conf/tests.rmk: Rules for new testcase.
14567 * script/yylex.l: Updated flex rules.
14568
bb06ba08
ST
145692010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
14570
14571 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
14572 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
14573 if argc is 1.
bb06ba08 14574
cc9d2425
VS
145752010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
14576
14577 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
14578 autogen issues.
14579
460d8402
CF
145802010-04-26 Christian Franke <franke@computer.org>
14581
14582 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
14583 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
14584 (grub_get_prefix): Remove function.
14585 * util/grub-emu.c (main): Replace grub_get_prefix () call by
14586 make_system_path_relative_to_its_root ().
14587 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
14588
553c01f9
CF
145892010-04-24 Christian Franke <franke@computer.org>
14590
14591 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
14592 (kernel_img_LDFLAGS): Remove -static-libgcc.
14593
2aec1692
CF
145942010-04-24 Christian Franke <franke@computer.org>
14595
14596 * configure.ac: Do not CHECK_BSS_START_SYMBOL
14597 and CHECK_END_SYMBOL if grub-emu is built.
14598 Unset TARGET_OBJ2ELF if grub-emu is built
14599 without module support.
14600
f67dc308
JS
146012010-04-24 Jiro SEKIBA <jir@unicus.jp>
14602
14603 Nilfs2 support.
14604
14605 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
14606 (grub_fstest_SOURCES): Likewise.
14607 (pkglib_MODULES): Add nilfs2.mod.
14608 (nilfs2_mod_SOURCES): New variable.
14609 (nilfs2_mod_CFLAGS): Likewise.
14610 (nilfs2_mod_LDFLAGS): Likewise.
14611 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
14612 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
14613 * fs/nilfs2.c: New file.
14614
4ba8d354
VS
146152010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
14616
14617 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
14618 is not supported.
14619
0d2c20c6
GS
146202010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
14621
14622 Add grub-mkconfig support for NetBSD.
14623
14624 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
14625 * util/grub-mkconfig.in: export new NetBSD specific variables.
14626 * po/POTFILES-shell: added 10_netbsd.in.
14627 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
14628
bc4a2d83
BC
146292010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
14630
14631 Fix emu build with grub-emu-pci and grub-emu-modules.
14632
14633 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
14634 functions.
14635 * include/grub/libpciaccess.h: New file.
14636 * conf/any-emu.rmk: Update kernel headers for emu build.
14637
f48c87aa
VS
146382010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14639
14640 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
14641
18959385
VS
146422010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14643
14644 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
14645
0037de3f
VS
146462010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14647
14648 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
14649 Retrieve chosen/bootpath if bootpath isn't hardcoded.
14650 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
14651 util/ieee1275/ofpath.c.
14652 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
14653 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
14654 * include/grub/sparc64/ieee1275/boot.h
14655 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
14656 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
14657 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
14658 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
14659 const char *.
14660 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
14661 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
14662 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
14663 install.
14664
38e55e90
GS
146652010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
14666
14667 * util/grub-mkconfig.in: Corrected two == equality tests.
14668 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
14669 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
14670 expect a number appended to it.
14671 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
14672 expects a number appended to it.
14673
a9e6ff28
VS
146742010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14675
14676 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
14677
0b830b8f
VS
146782010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14679
14680 * util/hostdisk.c (make_device_name): Change to new partition naming.
14681
0973daeb
VS
146822010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
14683
14684 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
14685
460d8402 146862010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
14687
14688 * Makefile.in: Add missing localedir setting.
14689
0b456309
CW
146902010-04-14 Colin Watson <cjwatson@ubuntu.com>
14691
14692 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
14693 mistake in r2156. Noticed by Anthony Fok.
14694
14695 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
14696 @localedir@.
14697 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
14698
08f46d62
BC
146992010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
14700
14701 Fix a spurious, uninitialized variable warning.
14702
14703 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
14704 Initialize variable, shdr.
14705 (grub_freebsd_load_elfmodule): Likewise.
14706 (grub_freebsd_load_elf_meta): Likewise.
14707
8c4a72d4
BC
147082010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
14709
14710 Fix for escaped dollar in double quoted strings.
14711
14712 * script/yylex.l: Updated flex rules.
14713 * conf/tests.rmk: Rule for new testcase.
14714 * tests/grub_script_dollar.in: New testcase.
14715
ce44826e
CPE
147162010-04-13 Carles Pina i Estany <carles@pina.cat>
147172010-04-13 Colin Watson <cjwatson@ubuntu.com>
14718
14719 Enclose all translated strings in grub.cfg in single quotes, and
14720 escape them appropriately (Ubuntu bug #552921).
14721
14722 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
14723 * util/grub.d/10_hurd.in: Use it.
14724 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14725 * util/grub.d/10_linux.in (linux_entry): Likewise.
14726
4b0cd8f8
VS
147272010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14728
14729 Fix cygwin compilation.
14730
14731 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
14732 * include/grub/misc.h (__register_frame_info)
14733 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
14734 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14735 * kern/misc.c (__register_frame_info)
14736 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
14737 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14738
01fcf061
VS
147392010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14740
14741 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
14742
5d04b11e
VS
147432010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14744
14745 Unify libgcc processing.
14746
14747 * Makefile.in (kernel_img_LDFLAGS): New variable.
14748 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
14749 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
14750 overwriting.
14751 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
14752 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
14753 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
14754 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
14755 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
14756 overwriting. Remove -lgcc and -static-libgcc
14757 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
14758 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14759 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14760 (kernel_img_LDFLAGS): Append instead of overwriting.
14761 Remove -lgcc and -static-libgcc
14762 * conf/sparc64-ieee1275.rmk: Likewise.
14763 * include/grub/powerpc/libgcc.h: Move to ...
14764 * include/grub/libgcc.h: .. this.
14765 * include/grub/libgcc.h: Don't export most of the function on x86.
14766 (__bswapsi2): New export.
14767 (__bswapdi2): Likewise.
14768 * include/grub/mips/libgcc.h: Removed.
14769 * include/grub/sparc64/libgcc.h: Likewise.
14770
b7f3ac29
VS
147712010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14772
14773 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
14774 disk_info_msg (conflicts with gettexting into languages with cases).
14775
2c7031b1
GS
147762010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
14777
14778 Add grub-probe support for NetBSD.
14779
14780 * util/getroot.c (find_root_device): Convert block device to
14781 character device on NetBSD.
14782 * util/probe.c (probe): Require character device on NetBSD.
14783 * util/hostdisk.c: NetBSD specific headers.
14784 (configure_device_driver): new function to tune device driver
14785 parameters (currently only for NetBSD floppy driver).
14786 (grub_util_biosdisk_open): NetBSD specific code (get disk size
14787 via disklabel ioctl).
14788 (open_device): call configure_device_driver on NetBSD.
14789 (convert_system_partition_to_system_disk): NetBSD specific code.
14790 (device_is_wholedisk): Likewise.
14791 (grub_util_biosdisk_get_grub_dev): Likewise.
14792 (make_device_name): Fixed a typo in bsd_part_str.
14793 * configure.ac: check for opendisk() and getrawpartition() on
14794 NetBSD and set LIBUTIL.
14795 * Makefile.in: add LIBUTIL to LIBS.
14796
f516290c
BC
147972010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14798
14799 Documentation fix.
14800
14801 * util/grub-script-check.c: Better help message.
14802
d8dcc0df
BC
148032010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14804
14805 Fix FreeBSD build.
14806
14807 * configure.ac: Flex version check.
14808 * conf/common.rmk: Add -Wno-error to sh.mod.
14809 * script/yylex.l: Remove all #pragma.
14810
6734334a
VS
148112010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14812
14813 * include/grub/util/misc.h (canonicalise_file_name): Add missing
14814 prototype.
14815 Reported by: Seth Goldberg.
14816
daea6abd
VS
148172010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14818
14819 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
14820 Rename "module" to "module2".
14821 Reported by: Seth Goldberg.
14822
f2fd9d2b
VS
148232010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14824
14825 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
14826 EXPORT_FUNC.
14827 Reported by: Seth Goldberg.
14828
be124579
VS
148292010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14830
14831 * lib/posix_wrap/locale.h: Add missing file.
14832 Reported by: Seth Goldberg.
14833
ef5da797
VS
148342010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14835
14836 grub-emu module load support.
14837
14838 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
14839 NO_DYNAMIC_MODULES switched to this.
14840 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
14841 (CFLAGS): Likewise.
14842 * conf/any-emu.rmk: Generate symlist.
14843 (kernel_img_HEADERS): Add util/datetime.h.
14844 (kernel_img_HEADERS) [sdl]: Add sdl.h.
14845 (kernel_img_HEADERS) [libusb]: Add libusb.h.
14846 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
14847 kern/$(target_cpu)/cache.S.
14848 * configure.ac (grub-emu-modules): New option.
14849 * genmk.rb: Handle multiple source lists.
14850 * include/grub/sdl.h: New file.
14851 * include/grub/libusb.h: Likewise.
14852 * util/grub-emu.c (main): Hanle (host) root.
14853 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
14854 GRUB_ERR_UNKNOWN_DEVICE.
14855 * util/misc.c: Move mm functions to ...
14856 * util/mm.c: ... here. All users updated.
14857
47822096
VS
148582010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14859
14860 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
14861 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
14862 missing files.
14863 (maintainer-clean): Remove libgcrypt-grub.
14864
5d7e7445
VS
148652010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14866
14867 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
14868
25f4e252
EC
148692010-04-09 EFI Coder <eficoder@hotmail.com>
14870
14871 * normal/menu_text.c (print_message): Clean up the message and show
14872 the Fn information when on EFI
14873 * term/efi/console.c (grub_console_checkkey): Add F4 support.
14874
027de555
VS
148752010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14876
14877 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
14878 All users updated.
14879 * normal/crypto.c (read_crypto_list): Likewise.
14880 * normal/dyncmd.c (read_command_list): Likewise.
14881 * normal/term.c (read_terminal_list): Likewise.
14882 * normal/main.c (read_lists): Use explicit prefix.
14883 (read_lists_hook): Use read_lists.
14884 (grub_normal_execute): Likewise.
14885
47779711
VS
148862010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14887
14888 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
14889 Reported by: Thomas Schmitt.
14890 Add -no-emul-boot to grub-mkisofs parameters.
14891
1118c32e
VS
148922010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14893
14894 * font/font.c: Indented.
14895
7d652447
BC
148962010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14897
14898 Elif support to GRUB script (by Deepak Vankadaru).
14899
14900 * tests/grub_script_if.in: New testcase.
14901 * conf/tests.rmk: Rule for new testcase.
14902 * script/parser.y: Grammar rules for elif.
14903
34bb22df
BC
149042010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14905
14906 While and until loops support to GRUB script.
14907
14908 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
14909 (grub_script_create_cmdwhile): New function prototype.
14910 (grub_script_execute_cmdwhile): New function prototype.
14911 * script/execute.c (grub_script_execute_cmdwhile): New function.
14912 * script/parser.y (command): New commands.
14913 (whilecmd): New grammar rule.
14914 (untilcmd): New grammar rule.
14915 * script/script.c (grub_script_create_cmdwhile): New function.
14916 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
14917 function.
14918
14919 * tests/grub_script_while1.in: New testcase.
14920 * conf/tests.rmk: Rule for new testcase.
14921
e215d8e0
VS
149222010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14923
14924 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
14925 as *.jpg.
14926
d7c43ba1
MV
149272010-04-09 Mario Vazquez <mariovazq@gmail.com>
14928
14929 GRUB_BACKGROUND support.
14930
14931 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
14932 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
14933
d64795c0
VS
149342010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14935
14936 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 14937 Idea by: Mario Vazquez
d64795c0
VS
14938
14939 * util/grub.d/00_header.in: Load pf2 and image modules.
14940
f267f83a
VS
149412010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14942
14943 grub-mkconfig multiple terminal support.
14944
14945 * util/grub-mkconfig.in: Handle multiple terminals correctly.
14946 * util/grub.d/00_header.in: Likewise.
14947
b7841ceb
VS
149482010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14949
14950 * Makefile.in: Specify files explicitly instead of using $< and $@ since
14951 we use cd $(srcdir).
14952
df60998c
CW
149532010-04-08 Colin Watson <cjwatson@ubuntu.com>
14954
14955 * util/grub.d/10_linux.in: Only use the first word of
14956 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
14957 spaces in GRUB_DISTRIBUTOR.
14958 * util/grub.d/10_kfreebsd.in: Likewise.
14959 * util/grub.d/10_hurd.in: Likewise.
14960
fa09c82e
BC
149612010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
14962
14e18ae3 14963 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
14964
14965 * tests/util/grub-shell.in: Remove -serial stdio option.
14966
daf892b3
BC
149672010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14968
14969 POSIX header file wrappers.
14970
14971 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
14972 equivalents.
14973 * lib/posix_wrap/ctype.h: Likewise.
14974 * lib/posix_wrap/errno.h: Likewise.
14975 * lib/posix_wrap/langinfo.h: Likewise.
14976 * lib/posix_wrap/limits.h: Likewise.
14977 * lib/posix_wrap/localcharset.h: Likewise.
14978 * lib/posix_wrap/stdint.h: Likewise.
14979 * lib/posix_wrap/stdio.h: Likewise.
14980 * lib/posix_wrap/stdlib.h: Likewise.
14981 * lib/posix_wrap/string.h: Likewise.
14982 * lib/posix_wrap/sys/types.h: Likewise.
14983 * lib/posix_wrap/unistd.h: Likewise.
14984 * lib/posix_wrap/wchar.h: Likewise.
14985 * lib/posix_wrap/wctype.h: Likewise.
14986 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
14987 (grub_script.yy.h): Likewise.
14988 * script/yylex.l: Remove POSIX emulation #defines.
14989 * Makefile.in (POSIX_CFLAGS): New variable.
14990 (GNULIB_UTIL_CFLAGS): Likewise.
14991
14992 Regexp support.
14993
14994 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
14995 (regexp_mod_SOURCES): New variable.
14996 (regexp_mod_CFLAGS): Likewise.
14997 (regexp_mod_LDFLAGS): Likewise.
14998 * commands/regexp.c: New file.
14999 * gnulib/regcomp.c: New file. Imported from gnulib.
15000 * gnulib/regex.c: Likewise.
15001 * gnulib/regex_internal.c: Likewise.
15002 * gnulib/regex_internal.h: Likewise.
15003 * gnulib/regexec.c: Likewise.
15004 * gnulib/regex.h: Likewise.
15005
974ac4f7
VS
150062010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15007
15008 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
15009 unsupported video mode types.
15010
2622c3ff
VS
150112010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15012
15013 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
15014
064cb524
VS
150152010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15016
15017 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
15018 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
15019
a8c3b552
VS
150202010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
15021
15022 Remove unused grub_vga_get_font.
15023
15024 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
15025 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
15026
187bbe3d
GS
150272010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15028
15029 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
15030 * include/grub/misc.h: Likewise.
15031
b9396631
GS
150322010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15033
15034 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
15035 for which failure is fatal.
15036
50479feb
GS
150372010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15038
15039 * util/grub-install.in: Use mkdir -p to create grub directory.
15040 * util/i386/efi/grub-install.in: Likewise.
15041 * util/ieee1275/grub-install.in: Likewise.
15042
b1654fdf
GS
150432010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15044
15045 * Makefile.in (LEX): new variable.
15046
bd5a6415
GS
150472010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15048
15049 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
15050 `=' and added double quotes on operands of this equality test.
15051
3db3a82b
VS
150522010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
15053
15054 * Makefile.in (uninstall): Remove a leftover debug echo.
15055 Reported by: Grégoire Sutre
15056
38023412
VS
150572010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
15058
15059 MIPS multiboot2 support.
15060
15061 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
15062 (multiboot2_mod_SOURCES): New variable.
15063 (multiboot2_mod_CFLAGS): Likewise.
15064 (multiboot2_mod_LDFLAGS): Likewise.
15065 (multiboot2_mod_ASFLAGS): Likewise.
15066 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
15067 definition.
15068 (MULTIBOOT_ENTRY_REGISTER): Likewise.
15069 (MULTIBOOT_MBI_REGISTER): Likewise.
15070 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
15071 (MULTIBOOT_ELF32_MACHINE): Likewise.
15072 (MULTIBOOT_ELF64_MACHINE): Likewise.
15073 * include/grub/mips/multiboot.h: New file.
15074 * include/grub/video.h (grub_video_driver_id): New type
15075 GRUB_VIDEO_DRIVER_SM712.
15076 (grub_video_get_info_and_fini): Export.
15077 (grub_video_get_palette): Likewise.
15078 (grub_video_get_driver_id): Likewise.
15079 * include/multiboot2.h: Resynced with spec.
15080 * loader/i386/multiboot.c: Moved from here ...
15081 * loader/multiboot.c: ... here. All users updated.
15082 (grub_multiboot_boot): Use platform-specific macros.
15083 * loader/i386/multiboot_elfxx.c: Moved from here ...
15084 * loader/multiboot_elfxx.c: ... here. All users updated.
15085 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
15086 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
15087 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
15088
47674667
VS
150892010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15090
15091 Import gnulib argp module.
15092
15093 * gnulib/argp-ba.c: New file.
15094 * gnulib/argp-eexst.c: Likewise.
15095 * gnulib/argp-fmtstream.c: Likewise.
15096 * gnulib/argp-fmtstream.h: Likewise.
15097 * gnulib/argp-fs-xinl.c: Likewise.
15098 * gnulib/argp-help.c: Likewise.
15099 * gnulib/argp-namefrob.h: Likewise.
15100 * gnulib/argp-parse.c: Likewise.
15101 * gnulib/argp-pin.c: Likewise.
15102 * gnulib/argp-pv.c: Likewise.
15103 * gnulib/argp-pvh.c: Likewise.
15104 * gnulib/argp-version-etc.c: Likewise.
15105 * gnulib/argp-version-etc.h: Likewise.
15106 * gnulib/argp-xinl.c: Likewise.
15107 * gnulib/argp.h: Likewise.
15108
495442ed
VS
151092010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
15110
15111 * kern/device.c (grub_device_iterate): Clear errors after failed
15112 opening device.
15113
f9fd65df
VS
151142010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
15115
15116 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
15117 returned by firmware.
15118
af09641e
VS
151192010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15120
15121 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
15122 compilation on coreboot and qemu
15123
016883a5
VS
151242010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
15125
15126 * include/multiboot2.h: Resync with spec.
15127
f97e1f7d
VS
151282010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
15129
15130 Multiboot2 tag support
15131
15132 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
15133 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
15134 Remove loader/multiboot_loader.c.
15135 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
15136 (grub_multiboot2_real_boot): Likewise.
15137 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
15138 (grub_get_multiboot_mmap_count): New proto.
15139 (grub_fill_multiboot_mmap): Likewise.
15140 (grub_multiboot_set_video_mode): Likewise.
15141 (grub_multiboot_set_console): Likewise.
15142 (grub_multiboot_load): Likewise.
15143 (grub_multiboot_load_elf): Likewise.
15144 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
15145 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
15146 * include/multiboot.h: Resynced with specification.
15147 * include/multiboot2.h: Resynced with specification.
15148 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
15149 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
15150 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
15151 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
15152 users updated.
15153 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
15154 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
15155 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
15156 Removed.
15157 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
15158 Moved from here...
15159 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
15160 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
15161 Moved from here...
15162 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
15163 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
15164 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
15165 All users updated.
15166 * loader/i386/multiboot_mbi2.c: New file.
15167
3506b90b
VS
151682010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
15169
15170 Resync with gnulib.
15171
15172 * Makefile.in (GNULIB_CFLAGS): New variable.
15173 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
15174 (grub_script_check_CFLAGS): New variable.
15175 * gnulib/alloca.h: Resync with gnulib.
15176 * gnulib/error.c: Likewise.
15177 * gnulib/error.h: Likewise.
15178 * gnulib/fnmatch.c: Likewise.
15179 * gnulib/fnmatch_loop.c: Likewise.
15180 * gnulib/getdelim.c: Likewise.
15181 * gnulib/getline.c: Likewise.
15182 * gnulib/getopt.c: Likewise.
15183 * gnulib/getopt1.c: Likewise.
15184 * gnulib/getopt_int.h: Likewise.
15185 * gnulib/gettext.h: Likewise.
15186 * gnulib/progname.c: Likewise.
15187 * gnulib/progname.h: Likewise.
15188
394a3120
GS
151892010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
15190
15191 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
15192 which is the case with --disabled-nls.
15193
15194 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
15195 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
15196 * util/misc.c: Likewise.
15197 * util/mkisofs/mkisofs.c: Likewise.
15198 * util/mkisofs/mkisofs.h: Likewise.
15199
969d1c78
VS
152002010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
15201
15202 Simplify Apple CC support.
15203
15204 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
15205 Add 0 byte at the end not to have a symbol with empty target.
15206 * mmap/i386/pc/mmap_helper.S: Likewise.
15207 * genmk.rb: Ignore errors 2030 and 2050.
15208 * kern/i386/pc/startup.S: Use LOCAL when possible.
15209
8d2977bb
BC
152102010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
15211
15212 Testcase and the fix for final semicolon on cmdline.
15213
15214 * tests/grub_script_final_semicolon.in: New testcase.
15215 * conf/tests.rmk: Rules for the new testcase.
15216 * script/parser.y: Grammar fix.
15217
a7bd6915
BC
152182010-03-26 BVK Chaitanya <bvk@localhost>
15219
15220 Blank lines testcase for GRUB script.
15221
15222 * tests/grub_script_blanklines.in: New testcase.
15223 * conf/tests.rmk: Rules for the new testcase.
15224
e4ff6628
VS
152252010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15226
15227 Don't use __FILE__.
15228
15229 * genmk.rb: Add -DGRUB_FILE to all C targets.
15230 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
15231 * include/grub/list.h: Likewise.
15232 * include/grub/misc.h: Likewise.
15233 * include/grub/mm.h: Likewise.
15234 * include/grub/test.h: Likewise.
15235 * kern/mm.c: Likewise.
15236 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
15237
6a5cf6b6
VS
152382010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15239
15240 Sunpc partitions support.
15241
15242 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
15243 (grub_fstest_SOURCES): Likewise.
15244 (pkglib_MODULES): Add part_sunpc.mod.
15245 (part_sunpc_mod_SOURCES): New variable.
15246 (part_sunpc_mod_CFLAGS): Likewise.
15247 (part_sunpc_mod_LDFLAGS): Likewise.
15248 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
15249 * partmap/sunpc.c: New file.
15250
746d9045
BC
152512010-03-26 BVK Chaitanya <bvk@localhost>
15252
15253 For loop support to GRUB script.
15254
15255 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
15256 (grub_script_create_cmdfor): New function prototype.
15257 (grub_script_execute_cmdfor): New function prototype.
15258 * script/execute.c (grub_script_execute_cmdfor): New function.
15259 * script/parser.y (command): New for command.
15260 (forcmd): New grammar rule.
15261 * script/script.c (grub_script_create_cmdfor): New function.
15262 * util/grub-script-check.c (grub_script_execute_cmdfor): New
15263 function.
15264 * tests/grub_script_for1.in: New testcase.
15265 * conf/tests.rmk: Rules for new testcase.
15266
18486b18
VS
152672010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15268
15269 Nested partitions
15270
15271 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
15272 'partition' is NULL, grub_partition_get_start already does that.
15273 * commands/loadenv.c (check_blocklists): Likewise.
15274 (write_blocklists): Likewise.
15275 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
15276 (grub_fstest_SOURCES): Likewise.
15277 (pkglib_MODULES): Add part_bsd.mod.
15278 (part_bsd_mod_SOURCES): New variable.
15279 (part_bsd_mod_CFLAGS): Likewise.
15280 (part_bsd_mod_LDFLAGS): Likewise.
15281 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
15282 (grub_emu_SOURCES): Likewise.
15283 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15284 * include/grub/bsdlabel.h: New file.
15285 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
15286 'get_name'.
15287 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
15288 (grub_partition_map_list): New variable.
15289 (grub_partition_map_register): Inline.
15290 (grub_partition_map_unregister): Likewise.
15291 (FOR_PARTITION_MAPS): New macro.
15292 (grub_partition_map_iterate): Removed.
15293 (grub_partition_get_start): Handle nested partitions.
15294 * include/grub/msdos_partition.h: Remove bsd-related entries.
15295 (grub_pc_partition): Remove.
15296 * kern/disk.c (grub_disk_close): Free partition data.
15297 (grub_disk_adjust_range): Handle nested partitions.
15298 * kern/partition.c (grub_partition_map_probe): New function.
15299 (grub_partition_probe): Parse name to number, handle subpartitions.
15300 (get_partmap): New function.
15301 (grub_partition_iterate): Handle subpartitions.
15302 (grub_partition_get_name): Likewise.
15303 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
15304 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
15305 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
15306 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
15307 Set 'number'.
15308 (acorn_partition_map_probe): Remove.
15309 (acorn_partition_map_get_name): Likewise.
15310 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
15311 Set 'number'.
15312 Set 'index' to 0 since there can be only one partition entry per sector.
15313 (amiga_partition_map_probe): Remove.
15314 (amiga_partition_map_get_name): Likewise.
15315 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
15316 Set 'number'.
15317 Set 'offset' and 'index' to real positions of partitions.
15318 (apple_partition_map_probe): Remove.
15319 (apple_partition_map_get_name): Likewise.
15320 * partmap/bsdlabel.c: New file.
15321 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
15322 Set 'number'.
15323 Allocate 'data' so it can be correctly freed.
15324 Set 'index' to offset inside sector.
15325 (gpt_partition_map_probe): Remove.
15326 (gpt_partition_map_get_name): Likewise.
15327 * partmap/msdos.c (grub_partition_parse): Remove.
15328 (pc_partition_map_iterate): Don't force raw access.
15329 Set 'number'.
15330 Make 'ext_offset' a local variable.
15331 (pc_partition_map_probe): Remove.
15332 (pc_partition_map_get_name): Remove.
15333 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
15334 Set 'number'.
15335 (sun_partition_map_probe): Remove.
15336 (sun_partition_map_get_name): Likewise.
15337 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
15338 (grub_pcpart_type): Likewise.
15339 * util/hostdisk.c (open_device): Handle new numbering scheme.
15340 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
15341 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
15342 * util/grub-probe.c (probe_partmap): Handle nested paritions.
15343 * util/grub-install.in: Insert all subpartition modules.
15344 * util/ieee1275/grub-install.in: Likewise.
15345
a3940f88
AG
153462010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
15347
15348 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
15349 grammar.
15350
21b99926 153512010-03-24 Colin Watson <cjwatson@ubuntu.com>
15352
15353 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
15354
bed1d352
CW
153552010-03-21 Colin Watson <cjwatson@ubuntu.com>
15356
15357 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
15358 match where 'make install' puts them.
15359 * util/i386/efi/grub-install.in: Likewise.
15360
c9f58427
CW
153612010-03-19 Colin Watson <cjwatson@ubuntu.com>
15362
15363 * .bzrignore: Add gentrigtables, grub-script-check,
15364 grub_script_check_init.c, grub_script_check_init.h, and
15365 trigtables.c.
15366
f84afb27
VS
153672010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
15368
15369 * kern/parser.c: Indented.
15370
ed0e3d30
VS
153712010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
15372
15373 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
15374
0ea81d98
VS
153752010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
15376
15377 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
15378 alpha_mask_size == 0 case.
15379
0cdc2a09
BC
153802010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
15381
15382 GRUB shell lexer and parser improvements.
15383
15384 * conf/any-emu.rmk: Build rule updates.
15385 * conf/common.rmk: Likewise.
15386 * conf/i386-coreboot.rmk: Likewise.
15387 * conf/i386-efi.rmk: Likewise.
15388 * conf/i386-ieee1275.rmk: Likewise.
15389 * conf/i386-pc.rmk: Likewise.
15390 * conf/powerpc-ieee1275.rmk: Likewise.
15391 * conf/x86_64-efi.rmk: Likewise.
15392
15393 * configure.ac: Configure check for flex.
15394
15395 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
15396 types.
15397 (grub_lexer_param): Struct member updates.
15398 (grub_parser_param): Likewise.
15399 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
15400 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
15401 (grub_script_lexer_init): Prototype update.
15402 (grub_script_lexer_record_start): Likewise.
15403 (grub_script_lexer_record_stop): Likewise.
15404 (grub_script_lexer_yywrap): New function prototype.
15405 (grub_script_lexer_fini): Likewise.
15406 (grub_script_execute_argument_to_string): Removed by...
15407 (grub_script_execute_argument_to_argv): ...better version.
15408
15409 * script/execute.c (ROUND_UPTO): New macro.
15410 (grub_script_execute_cmdline): Out of memory fixes.
15411 (grub_script_execute_menuentry): Likewise.
15412 (grub_script_execute_argument_to_string): Removed. Update all
15413 users by...
15414 (grub_script_execute_argument_to_argv): ...better version.
15415 * script/function.c (grub_script_function_create): Use
15416 grub_script_execute_argument_to_argv instead of
15417 grub_script_execute_argument_to_string.
15418
15419 * script/lexer.c (check_varstate): Removed.
15420 (check_textstate): Removed.
15421 (grub_script_lexer_record_start): Likewise.
15422 (grub_script_lexer_record_stop): Likewise.
15423 (recordchar): Replaced with...
15424 (grub_script_lexer_record): ...new function.
15425 (nextchar): Removed.
15426 (grub_script_lexer_init): Rewritten.
15427 (grub_script_yylex): Rewritten.
15428 (append_newline): New function.
15429 (grub_script_lexer_yywrap): New function.
15430 (grub_script_lexer_fini): New function.
15431 (grub_script_yyerror): Sets error flag.
15432
15433 * script/yylex.l: New file.
15434 (grub_lexer_yyfree): Wrapper for flex yyffre.
15435 (grub_lexer_yyalloc): Likewise.
15436 (grub_lexer_yyrealloc): Likewise.
15437 * script/parser.y: Refactored.
15438
15439 * script/script.c (grub_script_arg_add): Out of memory fixes.
15440 (grub_script_add_arglist): Likewise.
15441 (grub_script_create_cmdline): Likewise.
15442 (grub_script_create_cmdmenu): Likewise.
15443 (grub_script_add_cmd): Likewise.
15444 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
15445 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
15446 unnecessary code.
15447
15448 * tests/grub_script_echo1.in: New testcase.
15449 * tests/grub_script_vars1.in: New testcase.
15450 * tests/grub_script_echo_keywords.in: New testcase.
15451
1d63a066
VS
154522010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15453
15454 Remove some redundancy in build system.
15455
15456 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
15457 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
15458 (TARGET_LDFLAGS): Add -nostdlib.
15459 (TARGET_IMG_LDFLAGS): Likewise.
15460 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
15461 anything since mmap isn't available.
15462 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
15463 Add util/time.c.
15464 (pkglib_MODULES): Remove reboot.mod.
15465 (reboot_mod_SOURCES): Removed.
15466 (reboot_mod_CFLAGS): Likewise.
15467 (reboot_mod_LDFLAGS): Likewise.
15468 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
15469 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
15470 (DEFSYMFILES): Add kernel_syms.lst.
15471 (kernel_img_HEADERS): Add common headers.
15472 (symlist.c): New target.
15473 (kernel_syms.lst): Likewise.
15474 (pkglib_MODULES): Add memdisk.mod.
15475 (memdisk_mod_SOURCES): New variable.
15476 (memdisk_mod_CFLAGS): Likewise.
15477 (memdisk_mod_LDFLAGS): Likewise.
15478 (pkglib_MODULES): Add reboot.mod.
15479 (reboot_mod_SOURCES): New variable.
15480 (reboot_mod_CFLAGS): Likewise.
15481 (reboot_mod_LDFLAGS): Likewise.
15482 (pkglib_MODULES): Add date.mod.
15483 (date_mod_SOURCES): New variable.
15484 (date_mod_CFLAGS): Likewise.
15485 (date_mod_LDFLAGS): Likewise.
15486 (pkglib_MODULES): Add datehook.mod.
15487 (datehook_mod_SOURCES): New variable.
15488 (datehook_mod_CFLAGS): Likewise.
15489 (datehook_mod_LDFLAGS): Likewise.
15490 (pkglib_MODULES): Add lsmmap.mod.
15491 (lsmmap_mod_SOURCES): New variable.
15492 (lsmmap_mod_CFLAGS): Likewise.
15493 (lsmmap_mod_LDFLAGS): Likewise.
15494 (pkglib_MODULES): Add boot.mod.
15495 (boot_mod_SOURCES): New variable.
15496 (boot_mod_CFLAGS): Likewise.
15497 (boot_mod_LDFLAGS): Likewise.
15498 * conf/i386-coreboot.rmk: Removed redundant parts.
15499 * conf/i386-ieee1275.rmk: Likewise.
15500 * conf/i386-pc.rmk: Likewise.
15501 * conf/mips-yeeloong.rmk: Likewise.
15502 * conf/mips.rmk: Likewise.
15503 * conf/powerpc-ieee1275.rmk: Likewise.
15504 * conf/sparc64-ieee1275.rmk: Likewise.
15505 * conf/x86_64-efi.rmk: Likewise.
15506 * conf/i386-coreboot.rmk: Moved qemu parts ..
15507 * conf/i386-qemu.rmk: ... here
15508 * conf/i386-efi.rmk: Moved common parts to...
15509 * conf/x86-efi.rmk: ... here.
15510 * conf/i386.rmk: Added modules common to all x86 variants.
15511 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
15512 * disk/memdisk.c: Remove grub/machine/kernel.h.
15513 * gensymlist.sh.in: Include symbol.h.
15514 * hook/datehook.c: Correct module name.
15515 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
15516 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
15517 * include/grub/i386/efi/serial.h: New file.
15518 * include/grub/x86_64/efi/serial.h: Likewise.
15519 * util/time.c: Likewise.
15520 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
15521
463ac55f
CK
155222010-03-14 Colin King <colin.king@ubuntu.com>
155232010-03-14 Colin Watson <cjwatson@ubuntu.com>
15524
15525 Shrink the pre-partition-table part of boot.img by eight bytes.
15526
15527 * boot/i386/pc/boot.S (ERR): New macro.
15528 (chs_mode): Use ERR.
15529 (geometry_error): Likewise.
15530 (hd_probe_error): Remove. This is only used once, so we wrwite
15531 it inline instead.
15532 (read_error): Instead of printing read_error_string, just set up
15533 %si and fall through to ...
15534 (error_message): ... this new function, also used by ERR.
15535
08e46ede
CW
155362010-03-14 Colin Watson <cjwatson@ubuntu.com>
15537
15538 Speed up consecutive hostdisk operations on the same device.
15539
15540 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
15541 (grub_util_biosdisk_open): Initialise disk->data.
15542 (struct linux_partition_cache): New structure.
15543 (linux_find_partition): Cache partition start positions; these are
15544 expensive to compute on every read and write.
15545 (open_device): Cache open file descriptor in disk->data, so that we
15546 don't have to reopen it and flush the buffer cache for consecutive
15547 operations on the same device.
15548 (grub_util_biosdisk_close): New function.
15549 (grub_util_biosdisk_dev): Set `close' member.
15550
15551 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
15552 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
15553 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15554 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
15555 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
15556
4a6d2d06
VS
155572010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15558
15559 Compile parts of grub-emu as modules.
15560
15561 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
15562 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
15563 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
15564 (all-local): Add $(GRUB_EMU).
15565 (install-local): Install $(GRUB_EMU).
15566 (uninstall): Uninstall $(GRUB_EMU).
15567 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
15568 * kern/dl.c: Likewise.
15569 * commands/sleep.c: Not include machine/time.h.
15570 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
15571 (COMMON_CFLAGS): Likewise.
15572 (sbin_UTILITIES): Remove grub-emu.
15573 (grub_emu_SOURCES): Removed.
15574 (kernel_img_RELOCATABLE): New variable.
15575 (pkglib_PROGRAMS): Add kernel.img.
15576 (kernel_img_SOURCES): New variable
15577 (kernel_img_CFLAGS): Likewise.
15578 (kernel_img_LDFLAGS): Likewise.
15579 (TARGET_NO_STRIP): Likewise.
15580 (TARGET_NO_DYNAMIC_MODULES): Likewise.
15581 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
15582 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
15583 (grub-emu): New target.
15584 (GRUB_EMU): New variable.
15585 * configure.ac: Whitelist -emu as possible x86_64 architecture.
15586 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
15587 * loader/xnu.c: Likewise.
15588 * include/grub/pci.h: Likewise.
15589 * genemuinit.sh: New file.
15590 * genemuinitheader.sh: Likewise.
15591 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
15592 Support TARGET_NO_DYNAMIC_MODULES.
15593 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
15594 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
15595 * disk/loopback.c: Likewise.
15596 * font/font_cmd.c: Likewise.
15597 * partmap/acorn.c: Likewise.
15598 * partmap/amiga.c: Likewise.
15599 * partmap/apple.c: Likewise.
15600 * partmap/gpt.c: Likewise.
15601 * partmap/msdos.c: Likewise.
15602 * partmap/sun.c: Likewise.
15603 * parttool/msdospart.c: Likewise.
15604 * term/gfxterm.c: Likewise.
15605 * video/bitmap.c: Likewise.
15606 * video/readers/jpeg.c: Likewise.
15607 * video/readers/png.c: Likewise.
15608 * video/readers/tga.c: Likewise.
15609 * video/video.c: Likewise.
15610 * util/grub-emu.c (read_command_list): Removed.
15611 (main): Don't call util_init_nls.
15612 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
15613 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
15614
91fdd2ed
VS
156152010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15616
15617 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
15618 date.mod, datehook.mod.
15619 (datetime_mod_SOURCES): New variable.
15620 (datetime_mod_CFLAGS): Likewise.
15621 (datetime_mod_LDFLAGS): Likewise.
15622 (date_mod_SOURCES): Likewise.
15623 (date_mod_CFLAGS): Likewise.
15624 (date_mod_LDFLAGS): Likewise.
15625 (datehook_mod_SOURCES): Likewise.
15626 (datehook_mod_CFLAGS): Likewise.
15627 (datehook_mod_LDFLAGS): Likewise.
15628 * conf/sparc64-ieee1275.rmk: Likewise.
15629 * lib/ieee1275/datetime.c: New file.
15630
873ccae6
VS
156312010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15632
15633 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
15634 (ieee1275_fb_mod_SOURCES): New variable.
15635 (ieee1275_fb_mod_CFLAGS): Likewise.
15636 (ieee1275_fb_mod_LDFLAGS): Likewise.
15637 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
15638 New proto.
15639 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
15640 (HEAP_MAX_ADDR): Likewise.
15641 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
15642 type.
15643 Correct stop condition.
15644 (grub_ieee1275_devices_iterate): New function.
15645 * video/ieee1275.c: New file.
15646
601c97c0
VS
156472010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15648
15649 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
15650
15651 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
15652 as scratch.
15653 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
15654 SCRATCH_PAD_DISKBOOT as scratch.
15655 (bootit): Pass Openfirmware pointer in %o4.
15656 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
15657 of 0x200000.
15658 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
15659 with util/grub-mkrawimage.c.
15660 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
15661 * include/grub/aout.h (AOUT_MID_SUN): New definition.
15662 (grub_aout_get_type) [GRUB_UTIL]: Removed.
15663 (grub_aout_load) [GRUB_UTIL]: Likewise.
15664 * include/grub/kernel.h (grub_modules_get_end): New proto.
15665 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
15666 (SCRATCH_PAD_BOOT): New definition.
15667 (SCRATCH_PAD_DISKBOOT): Likewise.
15668 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
15669 * include/grub/sparc64/ieee1275/ieee1275.h
15670 (grub_ieee1275_original_stack): New variable
15671 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
15672 New definition
15673 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
15674 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
15675 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
15676 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
15677 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
15678 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
15679 (grub_platform_image_format_t): New type.
15680 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
15681 * kern/main.c (grub_modules_get_end)
15682 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
15683 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
15684 (codestart): Switch stacks.
15685 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
15686 variable.
15687 (grub_heap_init): Use grub_modules_get_end.
15688 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
15689 stack.
15690 * util/grub-mkrawimage.c (generate_image): Support sparc64.
15691 (main): Likewise.
15692 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
15693
d68b491e
TG
156942010-03-14 Thorsten Glaser <tg@mirbsd.org>
15695
15696 * util/grub-mkrescue.in: Base ISO UUID on UTC.
15697
4e02ed50
MK
156982010-03-08 Matt Kraai <kraai@ftbfs.org>
15699
15700 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
15701 bug #559005).
15702
1f15fc1e
VS
157032010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
15704
15705 * genmoddep.awk: Output all missing symbols and not only first.
15706
fce5d8ff
VS
157072010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15708
15709 * NEWS: Put the date of 1.98 release.
15710
d1e8a02f
VS
157112010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15712
15713 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
15714 ft2build.h.
15715
696fd607
VS
157162010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15717
15718 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
15719 completition in the middle of string.
15720
33e2e6f3
VS
157212010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15722
15723 * util/grub-mkrescue.in: Use mktemp with explicit template.
15724
b1f6d291
VS
157252010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15726
15727 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
15728
2ac227c7
VS
157292010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15730
15731 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
15732 right pointer.
15733
8f9a632b
VS
157342010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15735
15736 Fix FreeBSD compilation.
15737
15738 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
15739 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
15740
60b03859
VS
157412010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15742
15743 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
15744
48a5a769
VS
157452010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15746
15747 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
15748
3ab4bd77
VS
157492010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15750
15751 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
15752
d116e0d8
RM
157532010-03-04 Robert Millan <rmh.grub@aybabtu.com>
15754
15755 Support relative image path in theme file.
15756
15757 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
15758 (image_set_property): Handle theme_dir and relative path.
15759
c7ef54aa
VS
157602010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15761
15762 * configure.ac: Alias amd64 to x86_64.
15763
fcee14ed
VS
157642010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15765
15766 * NEWS: mention multiboot on EFI.
15767
d0780363
VS
157682010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15769
15770 * kern/main.c (grub_load_modules): Handle errors from init functions of
15771 embeded modules.
15772
41168ea4
VS
157732010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15774
15775 * normal/autofs.c (autoload_fs_module): Handle errors.
15776
b54d93ac
VS
157772010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15778
15779 Disable linux.mod on qemu-mips since it's not functional and leads
15780 to compilation failure.
15781
15782 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
15783 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
15784 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
15785 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
15786 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
15787 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
15788 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
15789 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
15790 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
15791 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
15792 Reported by: BVK Chaitanya
15793
fc8345da
JU
157942010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
15795
15796 * INSTALL: Add gettext as a dependency and add qemu to a new section
15797 "Prerequisites for make-check".
15798
4760f979
CF
157992010-03-04 Christian Franke <franke@computer.org>
15800
15801 * util/grub-pe2elf.c: Add missing include "progname.h".
15802
f209b5b2
VS
158032010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15804
15805 * normal/crypto.c (read_crypto_list): Fix a typo.
15806 Reported by: Seth Goldberg.
15807
b4b7be98
VS
158082010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15809
15810 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 15811 Reported by: Seth Goldberg.
b4b7be98 15812
c0ee0385
VS
158132010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15814
15815 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
15816 ascii.bitmaps.
15817
a8efbf64
VS
158182010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15819
15820 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 15821 Reported by: Seth Goldberg.
a8efbf64 15822
08dcd913
VS
158232010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15824
15825 * util/i386/efi/grub-install.in: Copy gettext files.
15826
c4d0b332
VS
158272010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15828
15829 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
15830
c6f2fe52
VS
158312010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15832
15833 Wait for user entry basing on presence of output rather than on errors.
15834
15835 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
15836 (grub_install_newline_hook): Likewise.
15837 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
15838 * normal/menu.c (show_menu): Check line_counter to determine presence
15839 of output.
15840 * normal/term.c (grub_normal_line_counter): New variable.
15841 (grub_normal_get_line_counter): New function.
15842 (grub_install_newline_hook): Likewise.
15843
5382b1e4
VS
158442010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15845
15846 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
15847
5519963b
VS
158482010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15849
15850 * configure.ac: Update version to 1.98.
15851
72b28631
VS
158522010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15853
15854 * util/grub.d/10_linux.in (linux_entry): Don't default to
15855 gfxpayload=keep if Linux doesn't support video handover.
15856
c140a180
VS
158572010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
15858
15859 Don't compile video modules on yeeloong since video subsystem is part
15860 of kernel.
15861
15862 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
15863 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
15864 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
15865 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
15866 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
15867 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
15868 * include/grub/bitmap_scale.h: Likewise.
15869 * include/grub/bufio.h: Likewise.
15870 * include/grub/font.h: Likewise.
15871 * include/grub/gfxterm.h: Likewise.
15872 * include/grub/video.h: Likewise.
15873 * include/grub/vbe.h: Don't include video_fb.h.
15874 * video/i386/pc/vbe.c: Include video_fb.h.
15875 * commands/i386/pc/vbetest.c: Include video.h.
15876
a0ca21c2
CW
158772010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
15878
15879 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
15880 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
15881 default entry if GRUB_SAVEDEFAULT=true. This allows using
15882 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
15883 saving a new default on every boot.
15884
4a8a763c
VS
158852010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15886
15887 * normal/crypto.c (read_crypto_list): Fix a memory leak.
15888 * normal/term.c (read_terminal_list): Likewise.
15889 * normal/main.c (grub_normal_init_page): Likewise.
15890 (grub_normal_read_line_real): Likewise.
15891
607ffde2
VS
158922010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15893
15894 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
15895 memory leak.
15896 Reported by: Seth Goldberg.
15897
2b8fa975
CW
158982010-02-24 Joey Korkames <joey+lists@kidfixit.com>
15899
15900 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
15901 duplicate declaration of `start'.
15902
618307dd
VS
159032010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
15904
15905 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
15906 filename.
15907 Reported by: Georgy Buranov
15908
7dd05b96 159092010-02-20 Carles Pina i Estany <carles@pina.cat>
15910
15911 * util/grub-mkrawimage.c (usage): Change string formatting to
15912 improve gettext.
15913
d1484a42
MRA
159142010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
15915
15916 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
15917 backspace keys.
15918
42b1d186
VS
159192010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
15920
15921 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
15922 Reported by: Michael Suchanek.
15923
159242010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
15925
15926 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
15927 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
15928
d9f31a41
VS
159292010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
15930
15931 Remove any reference to non-free fonts.
15932
15933 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
15934 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
15935 uses non-free components.
15936 * font/font.c (grub_font_get_name): Remove example name.
15937 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
15938 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
15939 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
15940 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
15941
2793c71e
GB
159422010-02-16 Georgy Buranov <gburanov@gmail.com>
15943
15944 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
15945
402e3779
VS
159462010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
15947
15948 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
15949 Double divisor.
15950 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
15951 features.
15952 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
15953
0dd1e0dd
VS
159542010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
15955
15956 * gensymlist.sh.in: Use TARGET_CC instead of CC.
15957
6fa7cfce
ST
159582010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15959
15960 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
15961 * docs/grub.texi (Command-line and menu entry commands): Document play
15962 command.
15963
37c8483b
ST
159642010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15965
15966 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
15967 parse arguments as inline tempo and notes. Move code for playing notes
15968 to...
15969 (play): ... new function.
15970
14da0fb7
ST
159712010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15972
15973 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
15974 grub_uint16_t instead of short.
15975 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
15976 disk from little endian to cpu endianness.
15977
04459e70
ST
159782010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
15979
15980 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
15981 GRUB_TICKS_PER_SECOND instead of 120.
15982
a0876943
VS
159832010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15984
15985 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
15986 escape sequence after \e.
15987
e29f95dc
VS
159882010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15989
15990 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
15991 non-ASCII characters.
15992
d27859b2
VS
159932010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15994
15995 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
15996 set root in single quotes to prevent \, from being unescaped.
15997
bc028f2f
VS
159982010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15999
16000 Prevent unknown commands from stopping menuentry execution.
16001
16002 * script/execute.c (grub_script_execute_cmdline): Print error after
16003 unknown command.
16004
095f5f82
VS
160052010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16006
16007 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
16008 Reported by: Pavel Pisa.
16009
8c717950
VS
160102010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16011
16012 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
16013
904935c3
VS
160142010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16015
16016 Merge grub_ieee1275_map_physical into grub_map and rename to
16017 grub_ieee1275_map
16018
16019 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
16020 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
16021 Remove.
16022 * kern/ieee1275/openfw.c (grub_map): Rename to ...
16023 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
16024 necessary.
16025 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
16026
5b59a4e3
VS
160272010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16028
16029 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
16030 opening and not after.
16031
69e137e8
VS
160322010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16033
16034 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
16035 constants.
16036
2c0fcc36
VS
160372010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16038
16039 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
16040 (alloc_phys): Use ALIGN_UP instead of align_addr.
16041
8c6052ce
VS
160422010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16043
16044 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
16045
17cec782
VS
160462010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16047
16048 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
16049
e0128bbd
VS
160502010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16051
16052 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
16053 verbose dprintf.
16054
ca62070b
VS
160552010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16056
16057 Fix over-4GiB seek on sparc64.
16058
16059 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
16060 Replace pos_i and pos_lo with pos. All users updated.
16061 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
16062 New constant.
16063 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
16064 Likewise.
16065 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
16066 and pos_lo.
16067
bdca2607
VS
160682010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16069
16070 * util/grub-mkrawimage.c (main): Call set_program_name.
16071
da278c4d
VS
160722010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16073
16074 Properly align 64-bit targets.
16075
16076 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
16077 (generate_image): Use ALIGN_ADDR.
16078
b274d734
VS
160792010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16080
16081 Properly create cross-endian images.
16082
16083 * include/grub/types.h (grub_host_to_target_addr): New macro
16084 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
16085
82da2062
VS
160862010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16087
16088 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
16089
7cae4377
VS
160902010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
16091
16092 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
16093
16094 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
16095 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
16096 (grub_linux_boot): Divide by 64K when on VESA.
16097
65a533e7
VS
160982010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
16099
16100 Support GRUB_GFXPAYLOAD_LINUX.
16101
16102 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
16103 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
16104
dd01d397
VS
161052010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
16106
16107 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
16108 to show messages instead of discarding them.
16109 Process errors after executing command and not before. Keep old method
16110 too as precaution.
16111
660960d6
VS
161122010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
16113
16114 * configure.ac: Check for ft2build.h.
16115
62509f04
VS
161162010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16117
16118 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
16119
473df63d
VS
161202010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16121
16122 * genkernsyms.sh.in: Use TARGET_CC.
16123
c98d2a13
CW
161242010-02-07 Colin Watson <cjwatson@ubuntu.com>
16125
16126 * NEWS: Update.
16127
6e14234c
VS
161282010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16129
16130 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
16131 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
16132 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 16133
b255e9cf
YB
161342010-02-07 Yves Blusseau <blusseau@zetam.org>
16135
6e14234c 16136 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 16137
98e6959d
VS
161382010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16139
16140 Fix warnings in grub-emu when compiling with maximum warning options.
16141
16142 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
16143 (grub_arch_modules_addr): Return 0 and not NULL.
16144 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 16145 (xstrdup): Use newstr instead of dup.
f88d801b
VS
16146 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
16147 of disk to dsk to avoid shadowing.
74e4934e
VS
16148 (find_free_slot): Fix prototype.
16149 * util/getroot.c (grub_util_is_dmraid): Make static.
16150 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
16151 Add missing prototype.
16152 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 16153
74e31b5c
VS
161542010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16155
16156 * loader/i386/linux.c (grub_linux_setup_video): Handle error
16157 appropriately.
16158
6b2ad14b
VS
161592010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16160
16161 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
16162 code out.
16163
8f891adc
VS
161642010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16165
16166 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
16167 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
16168 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
16169 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
16170 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
16171 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
16172
74b45184
VS
161732010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16174
16175 * include/grub/err.h (grub_err_printf): Don't export.
16176
a4bced77
VS
161772010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16178
16179 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
16180
007d0695
VS
161812010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16182
16183 * include/grub/i18n.h (grub_gettext_dummy): Removed.
16184 * kern/misc.c (grub_gettext_dummy): Make static.
16185
b6c0d9c2
VS
161862010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16187
16188 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
16189 by non-valid ones.
16190 * kern/term.c (grub_putchar): Likewise.
16191
f51a90d0
VS
161922010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16193
16194 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
16195 buggy hook call and memory leak.
16196
6846cec5
VS
161972010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16198
16199 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
16200
468d69fe
VS
162012010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16202
16203 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
16204
51906b8c
VS
162052010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16206
16207 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
16208 modevar.
16209 Return grub_errno on allocation error.
16210
09706ce5
VS
162112010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16212
16213 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
16214
911df80c
YB
162152010-02-06 Yves Blusseau <blusseau@zetam.org>
16216
16217 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
16218 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
16219
3746a6bc
VS
162202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16221
16222 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
16223 non-pxe disk.
16224 (grub_pxefs_open): Likewise.
16225
09706ce5
VS
162262010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16227
16228 * util/grub.d/10_hurd.in: Add --class information to menuentries.
16229 * util/grub.d/10_kfreebsd.in: Likewise.
16230 * util/grub.d/10_linux.in: Likewise.
16231
7cc192d9
VS
162322010-02-06 Colin D Bennett <colin@gibibit.com>
16233
16234 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
16235 (gfxmenu_mod_SOURCES): New variable.
16236 (gfxmenu_mod_CFLAGS): Likewise.
16237 (gfxmenu_mod_LDFLAGS): Likewise.
16238 * include/grub/term.h (grub_term_set_current_output): Declare
16239 argument as const.
16240 * docs/gfxmenu-theme-example.txt: New file.
16241 * gfxmenu/gfxmenu.c: Likewise.
16242 * gfxmenu/gui_box.c: Likewise.
16243 * gfxmenu/gui_canvas.c: Likewise.
16244 * gfxmenu/gui_circular_progress.c: Likewise.
16245 * gfxmenu/gui_image.c: Likewise.
16246 * gfxmenu/gui_label.c: Likewise.
16247 * gfxmenu/gui_list.c: Likewise.
16248 * gfxmenu/gui_progress_bar.c: Likewise.
16249 * gfxmenu/gui_string_util.c: Likewise.
16250 * gfxmenu/gui_util.c: Likewise.
16251 * gfxmenu/icon_manager.c: Likewise.
16252 * gfxmenu/model.c: Likewise.
16253 * gfxmenu/named_colors.c: Likewise.
16254 * gfxmenu/theme_loader.c: Likewise.
16255 * gfxmenu/view.c: Likewise.
16256 * gfxmenu/widget-box.c: Likewise.
16257 * include/grub/gfxmenu_model.h: Likewise.
16258 * include/grub/gfxmenu_view.h: Likewise.
16259 * include/grub/gfxwidgets.h: Likewise.
16260 * include/grub/gui.h: Likewise.
16261 * include/grub/gui_string_util.h: Likewise.
16262 * include/grub/icon_manager.h: Likewise.
16263
162642010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16265
16266 Agglomerate scrolling in gfxterm.
16267
16268 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
16269 (grub_virtual_screen_setup): Initialise 'total_screen'.
16270 (write_char): Split to ...
16271 (paint_char): ... this ...
16272 (write_char): ... and this.
16273 (paint_char): Handle delayed scrolling.
16274 (draw_cursor): Likewise.
16275 (scroll_up): Split to ...
16276 (real_scroll): ... this ...
16277 (scroll_up): ... and this.
16278 (real_scroll): Handle multi-line scroll and draw below-the-bottom
16279 characters.
16280 (grub_gfxterm_refresh): Call real_scroll.
16281
162822010-02-06 Colin D Bennett <colin@gibibit.com>
16283
16284 * include/grub/misc.h (grub_iscntrl): New inline function.
16285 (grub_isalnum): Likewise.
16286 (grub_strtol): Likewise.
16287
162882010-02-06 Colin D Bennett <colin@gibibit.com>
16289
16290 * normal/menu_text.c (get_entry_number): Move from here ...
16291 * normal/menu.c (get_entry_number): ... moved here.
16292 * include/grub/menu.h (grub_menu_get_default_entry_index):
16293 New prototype.
16294 * normal/menu.c (grub_menu_get_default_entry_index): New function.
16295 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
16296 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
16297 (grub_menu_viewer_should_return): Likewise.
16298 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
16299 * normal/menu_text.c (run_menu): Enable menu switching.
16300 * normal/menu_viewer.c (should_return): New variable.
16301 (menu_viewer_changed): Likewise.
16302 (grub_menu_viewer_show_menu): Handle menu viewer changes.
16303 (grub_menu_viewer_should_return): New function.
16304 (menuviewer_write_hook): Likewise.
16305 (grub_menu_viewer_init): Likewise.
16306
163072010-02-06 Colin D Bennet <colin@gibibit.com>
163082010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16309
16310 Support for gfxterm in a window.
16311
16312 * include/grub/gfxterm.h: New file.
16313 * include/grub/video.h (struct grub_video_rect): New declaration.
16314 (grub_video_rect_t): Likewise.
16315 * term/gfxterm.c (struct grub_gfxterm_window): New type.
16316 (refcount): New variable.
16317 (render_target): Likewise.
16318 (window): Likewise.
16319 (repaint_callback): Likewise.
16320 (grub_virtual_screen_setup): Use 'render_target'.
16321 (init_window): New function.
16322 (grub_gfxterm_init_window): Likewise.
16323 (grub_gfxterm_init): Check reference counter.
16324 Use init_window.
16325 (destroy_window): New function.
16326 (grub_gfxterm_destroy_window): Likewise.
16327 (grub_gfxterm_fini): Check reference counter.
16328 Use destroy_window.
16329 (redraw_screen_rect): Restore viewport.
16330 Use 'render_target' and 'window'.
16331 Call 'repaint_callback'.
16332 (write_char): Use 'render_target'.
16333 (draw_cursor): Likewise.
16334 (scroll_up): Restore viewport.
16335 Use 'render_target' and 'window'.
16336 Call 'repaint_callback'.
16337 (grub_gfxterm_cls): Likewise.
16338 (grub_gfxterm_refresh): Use 'window'.
16339 (grub_gfxterm_set_repaint_callback): New function.
16340 (grub_gfxterm_background_image_cmd): Use 'window'.
16341 (grub_gfxterm_get_term): New function.
16342 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
16343
163442010-02-06 Colin D Bennett <colin@gibibit.com>
16345
16346 Bitmap scaling support.
16347
16348 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
16349 (bitmap_scale_mod_SOURCES): New variable.
16350 (bitmap_scale_mod_CFLAGS): Likewise.
16351 (bitmap_scale_mod_LDFLAGS): Likewise.
16352 * include/grub/bitmap_scale.h: New file.
16353 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
16354 (background_image_cmd_options): New variable.
16355 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
16356 (cmd): Rename and change type to ...
16357 (background_image_cmd_handle): ... this. All users updated.
16358 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
16359 * video/bitmap_scale.c: New file.
16360
163612010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16362
16363 SDL support.
16364
16365 * Makefile.in (LIBSDL): New variable.
16366 (enable_grub_emu_sdl): Likewise.
16367 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
16368 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
16369 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
16370 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
16371 * util/sdl.c: New file.
16372
163732010-02-06 Colin D Bennett <colin@gibibit.com>
163742010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16375
16376 Double buffering support.
16377
16378 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
16379 * include/grub/video.h: Update comment.
16380 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
16381 New type.
16382 (grub_video_fb_doublebuf_blit_init): New prototype.
16383 * term/gfxterm.c (scroll_up): Support double buffering.
16384 (grub_gfxterm_refresh): Likewise.
16385 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
16386 (grub_video_fb_doublebuf_blit_init): Likewise.
16387 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
16388 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
16389 'displayed_page', 'render_page' and 'update_screen'.
16390 (grub_video_vbe_fini): Free offscreen buffer.
16391 (doublebuf_pageflipping_commit): New function.
16392 (doublebuf_pageflipping_update_screen): Likewise.
16393 (doublebuf_pageflipping_init): Likewise.
16394 (double_buffering_init): Likewise.
16395 (grub_video_vbe_setup): Enable doublebuffering.
16396 (grub_video_vbe_swap_buffers): Implement.
16397 (grub_video_vbe_set_active_render_target): Handle double buffering.
16398 (grub_video_vbe_get_active_render_target): Likewise.
16399 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
16400 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
16401 (grub_video_vbe_enable_double_buffering): Likewise.
16402 (grub_video_vbe_swap_buffers): Use update_screen.
16403 (grub_video_set_mode): Use double buffering.
16404
164052010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16406
16407 * maintainance/gentrigtables.py: Remove.
16408 * lib/trig.c: Likewise.
16409
16410 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
16411
16412 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
16413 `trigtables.c'.
16414 (trigtables.c): New rule.
16415 (gentrigtables): Likewise.
16416 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
16417
164182010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16419
16420 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
16421 integer constants.
16422
164232010-02-06 Colin D Bennet <colin@gibibit.com>
16424
16425 Trigonometry support.
16426
16427 * include/grub/trig.h: New file.
16428 * lib/trig.c: Likewise.
16429 * maintainance/gentrigtables.py: Likewise.
16430 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
16431 (trig_mod_SOURCES): New variable.
16432 (trig_mod_CFLAGS): Likewise.
16433 (trig_mod_LDFLAGS): Likewise.
16434
5562834e
VS
164352010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16436
16437 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
16438 disk devices.
16439
4f8528fc
VS
164402010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16441
16442 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
16443 error.
16444
2b4068e9
VS
164452010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
16446
16447 * util/hostdisk.c (open_device): Don't use partition device when reading
16448 before the partition.
16449 (grub_util_biosdisk_read): Don't read from partition and before the
16450 partition in single operation.
16451 (grub_util_biosdisk_write): Don't write to partition and before the
16452 partition in single operation.
16453
399f6e4d
TL
164542010-02-03 Torsten Landschoff <torsten@debian.org>
16455
16456 * kern/disk.c (grub_disk_read): Fix offset computation when reading
16457 last sectors.
16458
996649b0
VS
164592010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
16460
16461 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
16462 CDROM reads.
16463 (grub_biosdisk_write): Refuse to write to CDROM.
16464
3b205d4d
VS
164652010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
16466
16467 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
16468
61e89d9d
VS
164692010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
16470
16471 * font/font.c (find_glyph): Check that bmp_idx is available before
16472 using it.
16473 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
16474 with (font == NULL).
16475
bf7fcba2
CS
164762010-01-28 Christian Schmitt <chris@ilovelinux.de>
16477
16478 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
16479
f45d2663
BC
164802010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
16481
16482 * include/grub/script_sh.h (sourcecode): Add const qualifier.
16483 * util/grub-script-check.c (getline): Fix empty lines case.
16484
ec1444e6
RM
164852010-01-28 Robert Millan <rmh.grub@aybabtu.com>
16486
16487 * Makefile.in (check): Exit with fail status when one of the tests
16488 fails.
16489 * tests/example_functional_test.c (example_test): Fix reversed assert.
16490 * tests/example_unit_test.c (example_test): Likewise.
16491
2e1cb9bb
CW
164922010-01-28 Colin Watson <cjwatson@ubuntu.com>
16493
16494 * util/grub.d/10_linux.in: This script does not use any of the
16495 contents of gettext.sh, only the external command `gettext', so stop
16496 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
16497 the same prefix as GRUB.)
16498 * util/grub.d/10_kfreebsd.in: Likewise.
16499
63533ab0
VS
165002010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16501
16502 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
16503 of the line.
16504
989e1f93
VS
165052010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16506
16507 * kern/disk.c (grub_disk_read): Fix offset computation when reading
16508 last sectors.
16509
e709ebe2
VS
165102010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16511
16512 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
16513 having a 4KiB and not 32KiB buffer size.
16514
27dea7ed
RM
165152010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16516
16517 * util/hostfs.c: Include `<errno.h>'.
16518 (grub_hostfs_read): Handle errors from fseeko() and fread().
16519
67667b9c
RM
165202010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16521
16522 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
16523 loop when using read hooks on files whose size isn't sector-aligned.
16524
c294d9d8
RM
165252010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16526
16527 Remove unused parameter.
16528
16529 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
16530 (grub_iso9660_open): Remove initialization of `data->length'.
16531
af75a9f1
RM
165322010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16533
16534 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
16535 memleak conditions.
16536
254e2ce5 165372010-01-27 Carles Pina i Estany <carles@pina.cat>
16538
16539 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
16540 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
16541
b510928c 165422010-01-26 Carles Pina i Estany <carles@pina.cat>
16543
16544 * util/bin2h.c (usage): Fix warning (space after backslash).
16545
aa2f9dd2 165462010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 16547
16548 * font/font.c: Include `grub/fontformat.h.
16549 Remove font file format constants.
16550 (grub_font_load): Use the new macros.
16551 * include/grub/fontformat.h: New file.
16552 * util/grub-mkfont.c: Include `grub/fontformat.c'.
16553 (write_font_pf2): Use the new macros.
16554
94e7e712
RM
165552010-01-26 Robert Millan <rmh.grub@aybabtu.com>
16556
16557 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
16558 does.
16559
3973a59a
RM
165602010-01-26 Robert Millan <rmh.grub@aybabtu.com>
16561
16562 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
16563
16564 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
16565 (_start): Macroify `0x7F'.
16566
16567 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
16568 (make_install_device): Use "(pxe)" as fallback prefix when booting
16569 via PXE.
16570
42e0cba3
GS
165712010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
16572
16573 * configure.ac: Reset LIBS after check for libgcc symbols.
16574
847effd8
CW
165752010-01-25 Colin Watson <cjwatson@ubuntu.com>
16576
16577 * util/hostdisk.c (open_device): Add trailing newline to debug
16578 message.
16579
ea4a7e35
GS
165802010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
16581
16582 * configure.ac: Check for `limits.h'.
16583 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
16584
67951a53
RM
165852010-01-24 Robert Millan <rmh.grub@aybabtu.com>
16586
16587 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
16588 capitalize error strings.
16589
c273d4ce
ST
165902010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
16591
16592 * util/grub.d/10_hurd.in: Add a recovery mode.
16593
69be5b74
VS
165942010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
16595
16596 * configure.ac: Check for libgcc symbols with -nostdlib.
16597
fc9e5810
BC
165982010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
16599
16600 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
16601
4b358c0a
VS
166022010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16603
16604 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
16605 stack since heap may be unavailable at that point.
16606 (grub_ofconsole_gotoxy): Likewise.
16607
454fcd1c
VS
166082010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16609
16610 * configure.ac: Check for _restgpr_14_x.
16611 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
16612 and _savegpr_* prototypes.
16613
566863ca
RM
166142010-01-22 Robert Millan <rmh.grub@aybabtu.com>
16615
16616 Use generic grub_reboot() for i386-efi.
16617
16618 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
16619 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
16620 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
16621
bf86e59a
VS
166222010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16623
16624 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
16625 presence of "prefix" variable as it breaks when normal.mod is
16626 embedded.
16627
d645e0f8
VS
166282010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16629
16630 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
16631 stack since heap is unavailable at that point.
16632
f9ab2e25
VS
166332010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16634
16635 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
16636 (grub_freebsd_bootinfo): Rewritten.
16637 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
16638
01fc7054
VS
166392010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16640
16641 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
16642
caab4fd6
RM
166432010-01-21 Robert Millan <rmh.grub@aybabtu.com>
16644
16645 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
16646 domain now.
16647
67eb1427
FZ
166482010-01-20 Felix Zielcke <fzielcke@z-51.de>
16649
16650 * util/misc.c (make_system_path_relative_to_its_root): Change the work
16651 around for handling "/" to the correct fix. Fix a memory leak. Use
16652 xstrdup instead of strdup.
16653
a9ed4ff3
VS
166542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16655
16656 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
16657
166582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
16659
16660 Optimise glyph lookup by Basic Multilingual Plane lookup array.
16661
16662 * font/font.c (struct grub_font): New member 'bmp_idx'.
16663 (font_init): Initialise 'bmp_idx'.
16664 (load_font_index): Fill 'bmp_idx'.
16665 (find_glyph): Make inline. Use bmp_idx for BMP characters.
16666
48209f4f
VS
166672010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16668
16669 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
16670 unnecessary calls.
16671
9f0a4bb7
VS
166722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16673
16674 Move context handling out of the kernel.
16675
16676 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
16677 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
16678 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
16679 * conf/i386-efi.rmk: Likewise.
16680 * conf/i386-ieee1275.rmk: Likewise.
16681 * conf/i386-pc.rmk: Likewise.
16682 * conf/powerpc-ieee1275.rmk: Likewise.
16683 * conf/sparc64-ieee1275.rmk: Likewise.
16684 * conf/x86_64-efi.rmk: Likewise.
16685 * include/grub/env.h: Include grub/menu.h.
16686 (grub_env_var_type): Removed.
16687 (grub_env_var): Replaced field 'type' with 'global'.
16688 (grub_env_find): New prototype.
16689 (grub_env_context_open): Remove EXPORT_FUNC.
16690 (grub_env_context_close): Likewise.
16691 (grub_env_export): Likewise.
16692 (grub_env_set_data_slot): Removed.
16693 (grub_env_get_data_slot): Likewise.
16694 (grub_env_unset_data_slot): Likewise.
16695 (grub_env_unset_menu): New prototype.
16696 (grub_env_set_menu): Likewise.
16697 (grub_env_get_menu): Likewise.
16698 * include/grub/env_private.h: New file.
16699 * include/grub/normal.h (grub_context_init): New prototype.
16700 (grub_context_fini): Likewise.
16701 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
16702 * normal/context.c (grub_cmd_export): ... to here.
16703 * kern/env.c: Include env_private.h.
16704 (HASHSZ): Moved to include/grub/env_private.h.
16705 (grub_env_context): Likewise.
16706 (grub_env_sorted_var): Likewise.
16707 (current_context): Renamed from this ...
16708 (grub_current_context): ...to this. 'static' removed. All users updated.
16709 (grub_env_find): Removed 'static'.
16710 (grub_env_context_open): Moved to normal/context.c.
16711 (grub_env_context_close): Likewise.
16712 (grub_env_export): Likewise.
16713 (mangle_data_slot_name): Removed.
16714 (grub_env_set_data_slot): Likewise.
16715 (grub_env_get_data_slot): Likewise.
16716 (grub_env_unset_data_slot): Likewise.
16717 * kern/main.c (grub_set_root_dev): Don't export root.
16718 It will be done later.
16719 (grub_main): Don't export prefix.
16720 It will be done later.
16721 * normal/context.c: New file.
16722 * normal/main.c (free_menu): Use grub_env_unset_menu.
16723 (grub_normal_add_menu_entry): Use grub_env_get_menu.
16724 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
16725 (GRUB_MOD_INIT(normal)): Call grub_context_init.
16726 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
16727
8dd35b8c
VS
167282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16729
16730 setpci support.
16731
16732 * commands/setpci.c: New file.
16733 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
16734 (setpci_mod_SOURCES): New variable.
16735 (setpci_mod_CFLAGS): Likewise.
16736 (setpci_mod_LDFLAGS): Likewise.
16737
449193d5
VS
167382010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16739
16740 Byte-addressable PCI configuration space.
16741
16742 * bus/pci.c (grub_pci_make_address): Use byte address instead of
16743 dword address.
16744 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
16745 GRUB_PCI_REG_CACHELINE.
16746 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
16747 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
16748 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
16749 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
16750 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
16751 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
16752 grub_pci_make_address.
16753 (lock_rom_area): Likewise.
16754 * commands/lspci.c (grub_lspci_iter): Use macroses
16755 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
16756 of grub_pci_make_address.
16757 * disk/ata.c (grub_ata_pciinit): Likewise.
16758 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
16759 (GRUB_PCI_REG_VENDOR): Likewise.
16760 (GRUB_PCI_REG_DEVICE): Likewise.
16761 (GRUB_PCI_REG_COMMAND): Likewise.
16762 (GRUB_PCI_REG_STATUS): Likewise.
16763 (GRUB_PCI_REG_REVISION): Likewise.
16764 (GRUB_PCI_REG_CLASS): Likewise.
16765 (GRUB_PCI_REG_CACHELINE): Likewise.
16766 (GRUB_PCI_REG_LAT_TIMER): Likewise.
16767 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
16768 (GRUB_PCI_REG_BIST): Likewise.
16769 (GRUB_PCI_REG_ADDRESSES): Likewise.
16770 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16771 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16772 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16773 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16774 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16775 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16776 (GRUB_PCI_REG_CIS_POINTER): Likewise.
16777 (GRUB_PCI_REG_SUBVENDOR): Likewise.
16778 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
16779 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
16780 (GRUB_PCI_REG_CAP_POINTER): Likewise.
16781 (GRUB_PCI_REG_IRQ_LINE): Likewise.
16782 (GRUB_PCI_REG_IRQ_PIN): Likewise.
16783 (GRUB_PCI_REG_MIN_GNT): Likewise.
16784 (GRUB_PCI_REG_MAX_LAT): Likewise.
16785 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
16786 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
16787 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 16788 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
16789 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
16790 space.
16791
96d73208
RM
167922010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16793
16794 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
16795 can be reliably determined to be supported.
16796
d4484482
RM
167972010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16798
16799 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
16800 that VESA is supported.
16801 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
16802 supported.
16803
00308ecf
VS
168042010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16805
16806 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
16807
f66924a4
RM
168082010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16809
16810 * util/misc.c (make_system_path_relative_to_its_root): Work around
16811 special-casing of "/", as previous incarnation of this routine did.
16812
cbca0ada
VS
168132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16814
16815 Fix any-emu compilation.
16816
16817 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
16818 * grub_bin2h_SOURCES: New variable.
16819
34a66d99
RM
168202010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16821
16822 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
16823
94fabf58
RM
168242010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16825
16826 * util/grub.d/00_header.in: Fix handling of locale_dir.
16827
02cf98ca
VS
168282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16829
16830 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
16831 as possible unifont location (Gentoo).
16832 Reported by: Alexander Brüning
16833
327dbcd7
VS
168342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16835
16836 Don't try to generate lists for kernel.img.
16837
16838 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
16839 (pkglib_MODULES): Remove kernel.img.
16840 (kernel_img_EXPORTS): Removed.
16841 (kernel_img_RELOCATABLE): New variable.
16842 * conf/x86_64-efi.rmk: Likewise.
16843 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
16844
ca467290
VS
168452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16846
16847 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
16848 grub_xasprintf or grub_snprintf.
16849 (grub_vsprintf): Likewise.
16850 (grub_snprintf): New proto.
16851 (grub_vsnprintf): Likewise.
16852 (grub_xasprintf): Likewise.
16853 (grub_xvasprintf): Likewise.
16854 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
16855 (grub_sprintf): Removed.
16856 (grub_vsnprintf): New function.
16857 (grub_snprintf): Likewise.
16858 (grub_xvasprintf): Likewise.
16859 (grub_xasprintf): Likewise.
16860 (grub_vsprintf): Renamed to ...
16861 (grub_vsnprintf_real): ...this. New argument max_len.
16862
aca655fd
BC
168632010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
16864
16865 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
16866 fix grub-script-check warning.
16867
7ee92c32
VS
168682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16869
16870 * include/grub/font.h (grub_font_load): Fix prototype.
16871
f80927ca
VS
168722010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16873
16874 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
16875
119c50ea
VS
168762010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16877
16878 * include/grub/x86_64/at_keyboard.h: New file.
16879
47d5f3c1
VS
168802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16881
16882 * loader/mips/linux.c: Include missing grub/i18n.h.
16883
55ff5266
RM
168842009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16885
16886 * normal/menu.c (notify_execution_failure): Clarify error message.
16887
c893cc87
RM
168882009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16889
16890 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
16891 return value (and revert all return statements). Update users.
16892
917dd370
CW
168932010-01-20 Dan Merillat <debian@dan.merillat.org>
16894
16895 * kern/device.c (grub_device_iterate): Allocate new part_ent
16896 structure based on sizeof (*p) rather than sizeof (p->next), to
16897 account for structure padding.
16898
16899 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
16900 disk is NULL, which might happen for LVM physical volumes with no
16901 LVM signature.
16902
d4a4ee57
RM
169032009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16904
16905 * loader/mips/linux.c (grub_cmd_initrd)
16906 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
16907
169082009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16909
16910 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
16911 (grub_video_video_init, grub_video_bitmap_init)
16912 (grub_font_manager_init, grub_term_gfxterm_init)
16913 (grub_at_keyboard_init): New extern declarations.
16914 (grub_machine_init): Initialize gfxterm and at_keyboard.
16915
16916 * kern/main.c (grub_main): Revert grub_printf delay kludge.
16917
16918 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
16919 `gfxterm.mod' into core image.
16920
16921 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16922 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16923 (kernel_img_FORMAT): Copy to ...
16924
16925 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16926 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16927 (kernel_img_FORMAT): ... here, and ...
16928
16929 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16930 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16931 (kernel_img_FORMAT): ... here.
16932
16933 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
16934 and input (at_keyboard) terminals in kernel.
16935 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
16936
16937 (pkglib_MODULES): Remove `pci.mod'.
16938 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
16939 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
16940 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
16941 (at_keyboard_mod_LDFLAGS): Remove variables.
16942
169432010-01-11 Felix Zielcke <fzielcke@z-51.de>
16944
16945 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
16946
169472009-12-10 Robert Millan <rmh.grub@aybabtu.com>
16948
16949 * include/grub/mips/libgcc.h: Only export symbols for functions
16950 that libgcc provides.
16951
169522009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
16953
16954 MIPS support.
16955
16956 * bus/bonito.c: New file.
16957 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
16958 GRUB_PCI_NUM_DEVICES.
16959 * term/i386/pc/serial.c: Move to ...
16960 * term/serial.c: ... here. All users updated.
16961 * util/i386/pc/grub-mkimage.c: Move to ...
16962 * util/grub-mkrawimage.c: ... here. All users updated.
16963 * term/i386/pc/at_keyboard.c: Move to ...
16964 * term/at_keyboard.c: ... here. All users updated.
16965 * conf/mips-qemu-mips.rmk: New file.
16966 * conf/mips-yeeloong.rmk: Likewise.
16967 * conf/mips.rmk: Likewise.
16968 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
16969 mipsel-qemu-mips.
16970 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
16971 to port addresses.
16972 (grub_ata_pciinit): Support CS5536.
16973 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
16974 * font/font_cmd.c (loadfont_command): Open file before passing it to
16975 grub_font_load.
16976 (pseudo_file_read): New function.
16977 (pseudo_file_close): Likewise.
16978 (pseudo_fs): New structure.
16979 (load_font_module): New function.
16980 (GRUB_MOD_INIT(font_manager)): Load embedded font.
16981 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
16982 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
16983 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
16984 * include/grub/i386/at_keyboard.h: Split into ...
16985 * include/grub/at_keyboard.h: ... this ...
16986 * include/grub/i386/at_keyboard.h: ... and this.
16987 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
16988 New prototype.
16989 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
16990 updated.
16991 (grub_elf64_size): Likewise.
16992 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
16993 filename.
16994 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
16995 * include/grub/i386/coreboot/serial.h: Rewritten.
16996 * include/grub/i386/ieee1275/serial.h: Include
16997 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
16998 * include/grub/i386/pc/serial.h: Moved from here ...
16999 * include/grub/serial.h: ... to here. All users updated.
17000 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
17001 (GRUB_PCI_NUM_BUS): Likewise.
17002 (GRUB_PCI_NUM_DEVICES): Likewise.
17003 (grub_pci_device_map_range): Add missing volatile keyword.
17004 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
17005 * include/grub/mips/at_keyboard.h: New file.
17006 * include/grub/mips/cache.h: Likewise.
17007 * include/grub/mips/io.h: Likewise.
17008 * include/grub/mips/kernel.h: Likewise.
17009 * include/grub/mips/libgcc.h: Likewise.
17010 * include/grub/mips/pci.h: Likewise.
17011 * include/grub/mips/qemu-mips/boot.h: Likewise.
17012 * include/grub/mips/qemu-mips/kernel.h: Likewise.
17013 * include/grub/mips/qemu-mips/loader.h: Likewise.
17014 * include/grub/mips/qemu-mips/memory.h: Likewise.
17015 * include/grub/mips/qemu-mips/serial.h: Likewise.
17016 * include/grub/mips/qemu-mips/time.h: Likewise.
17017 * include/grub/mips/relocator.h: Likewise.
17018 * include/grub/mips/time.h: Likewise.
17019 * include/grub/mips/types.h: Likewise.
17020 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
17021 * include/grub/mips/yeeloong/boot.h: Likewise.
17022 * include/grub/mips/yeeloong/kernel.h: Likewise.
17023 * include/grub/mips/yeeloong/loader.h: Likewise.
17024 * include/grub/mips/yeeloong/memory.h: Likewise.
17025 * include/grub/mips/yeeloong/pci.h: Likewise.
17026 * include/grub/mips/yeeloong/serial.h: Likewise.
17027 * include/grub/mips/yeeloong/time.h: Likewise.
17028 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
17029 * kern/elf.c (grub_elf32_size): New parameter. All users
17030 updated.
17031 (grub_elf64_size): Likewise.
17032 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
17033 Load modules before saying "Welcome to GRUB!".
17034 Call grub_refresh after saying "Welcome to GRUB!".
17035 * kern/mips/cache.S: New file.
17036 * kern/mips/cache_flush.S: Likewise.
17037 * kern/mips/dl.c: Likewise.
17038 * kern/mips/init.c: Likewise.
17039 * kern/mips/qemu-mips/init.c: Likewise.
17040 * kern/mips/startup.S: Likewise.
17041 * kern/mips/yeeloong/init.c: Likewise.
17042 * kern/term.c (grub_putcode): Handle NULL terminal.
17043 (grub_getcharwidth): Likewise.
17044 (grub_getkey): Likewise.
17045 (grub_checkkey): Likewise.
17046 (grub_getkeystatus): Likewise.
17047 (grub_getxy): Likewise.
17048 (grub_getwh): Likewise.
17049 (grub_gotoxy): Likewise.
17050 (grub_cls): Likewise.
17051 (grub_setcolorstate): Likewise.
17052 (grub_setcolor): Likewise.
17053 (grub_getcolor): Likewise.
17054 (grub_refresh): Likewise.
17055 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
17056 (write_jump): Add hatch nop.
17057 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
17058 * lib/mips/setjmp.S: New file.
17059 * loader/mips/linux.c: Likewise.
17060 * term/i386/pc/at_keyboard.c: Move from here ...
17061 * term/at_keyboard.c: ... to here.
17062 * term/i386/pc/serial.c: Moved from here ...
17063 * term/serial.c: ... to here. All users updated.
17064 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
17065 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
17066 (serial_translate_key_sequence): Avoid deadlock.
17067 (grub_serial_getkey): Handle backspace.
17068 (grub_serial_putchar): Fix newline handling.
17069 * util/i386/pc/grub-mkimage.c: Move from here ...
17070 * util/grub-mkrawimage.c: ... to here. All users updated.
17071 (generate_image): New parameters 'font_path' and 'format'.
17072 Support embedding font.
17073 Use grub_host_to_target* instead of grub_cpu_to_le*.
17074 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
17075 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
17076 (options): New option "--font".
17077 (usage): Likewise.
17078 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
17079 (main): Handle "--font".
17080 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
17081 (grub_virtual_screen_setup): Set bg_color_display.
17082 (redraw_screen_rect): Use bg_color_display instead of incorrect
17083 bg_color.
17084 (grub_gfxterm_cls): Likewise.
17085 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
17086 Support embedding config file.
17087 (add_segments): Likewise.
17088 (options): New option "--config".
17089 (main): Handle "--config".
17090 * video/sm712.c: New file.
17091
25c2b5b3
RM
170922010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17093
17094 Fix parallel builds.
17095
17096 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
17097 font.c depend on ascii.h).
17098
170992010-01-12 Carles Pina i Estany <carles@pina.cat>
17100
17101 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
17102
171032010-01-11 Carles Pina i Estany <carles@pina.cat>
17104
17105 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
17106 By default: disabled.
17107 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
17108 parameter.
17109
171102010-01-10 Carles Pina i Estany <carles@pina.cat>
17111
17112 * font/font.c: Update copyright years.
17113 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
17114
171152010-01-10 Carles Pina i Estany <carles@pina.cat>
17116
17117 * font/font.c: Include `ascii.h'.
17118 (ASCII_BITMAP_SIZE): New macro.
17119 (ascii_font_glyph): Define.
17120 (ascii_glyph_lookup): New function.
17121 (grub_font_get_string_width): Change comment. If glyph not found, use
17122 ascii_glyph_lookup.
17123 (grub_font_get_glyph_with_fallback): If glyph not available returns
17124 ascii_glyph_lookup.
17125 * util/grub-mkfont.c (file_formats): New enum.
17126 (options): Add `ascii-bitmaps' new option.
17127 (usage): Add `asii-bitmaps' new option.
17128 (write_font_ascii_bitmap): New function.
17129 (write_font): Rename to ...
17130 (write_font_p2): ... this. Remove print_glyphs call.
17131 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
17132 used. Call print_glyphs.
17133 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
17134
171352010-01-14 Robert Millan <rmh.grub@aybabtu.com>
17136
17137 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
17138 (grub_bin2h_SOURCES): New variable.
17139 * util/bin2h.c: New file.
17140
915fc1b8
VS
171412010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17142
17143 * include/multiboot.h: Resynced with spec.
17144 * include/multiboot2.h: Likewise.
17145 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
17146 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
17147
9444b678
RM
171482010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17149
17150 * include/grub/term.h (grub_term_register_input,
17151 grub_term_register_output): Check return of terminal init()
17152 routines, and abort if errors are raised.
17153
17154 * commands/terminal.c: Update copyright year.
17155
cba98e8d
RM
171562010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17157
17158 * commands/terminal.c (grub_cmd_terminal_input)
17159 (grub_cmd_terminal_output): Check return of terminal init()
17160 routines, and abort if errors are raised.
17161
6f7db5d6
VS
171622010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
17163
17164 * include/grub/i386/bsd.h: Fix include pathes.
17165
262bff8d
VS
171662010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
17167
17168 Add missing *BSD copyright headers.
17169
17170 * include/grub/aout.h: Add BSD licence.
17171 * include/grub/i386/bsd.h: Parts under different licences moved to ...
17172 * include/grub/i386/freebsd_linker.h: ... here,
17173 * include/grub/i386/freebsd_reboot.h: ... here,
17174 * include/grub/i386/netbsd_bootinfo.h: ... here,
17175 * include/grub/i386/netbsd_reboot.h: ... here,
17176 * include/grub/i386/openbsd_bootarg.h: ... here,
17177 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
17178 licence to each file.
17179
b2cab848
RM
171802010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17181
17182 * acinclude.m4: Remove `nop' assembly instruction; it's not
17183 implemented by all architectures.
17184
2cb6be4b
RM
171852010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17186
17187 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
17188 ELILO. This is no longer necessary.
17189
a2eaee15
BC
171902010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
17191
17192 Added new tool, grub-scrit-check to verify grub.cfg syntax.
17193
17194 * util/grub-script-check.c: grub-script-check tool.
17195 * conf/common.rmk: Make rules for grub-script-check.
17196
88d17012
RM
171972010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17198
17199 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
17200 spotting it back in 2008. Shame on me for forgetting he did.
17201
17202 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
17203
8040619d
RM
172042010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17205
17206 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
17207 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
17208 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
17209 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
17210 (GRUB_VIDEO_TYPE_EFI): Rename to ...
17211 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
17212
a0c2a0f6
RM
172132010-01-17 Robert Millan <rmh.grub@aybabtu.com>
17214
17215 * include/grub/test.h: Add license header.
17216 * tests/example_functional_test.c: Likewise.
17217 * tests/example_unit_test.c: Likewise.
17218 * tests/lib/functional_test.c: Likewise.
17219 * tests/lib/test.c: Likewise.
17220 * tests/lib/unit_test.c: Likewise.
17221
b0b13907
VS
172222010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
17223
17224 Use flag-based instead of hook-based video mode selection and "auto"
17225 keyword.
17226
17227 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
17228 (grub_video_set_mode): Changed prototype. All users updated.
17229 (grub_video_check_mode_flag): New inline function.
17230 * video/video.c (parse_modespec): New function.
17231 (grub_video_set_mode): Parse flags and keywords.
17232
ea379330 172332010-01-17 Carles Pina i Estany <carles@pina.cat>
17234
17235 * util/misc.c (grub_util_info): Fix the order of the parameters in a
17236 fprintf call.
17237
e15c215e
FZ
172382010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
17239
17240 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
17241
409ae1c9 172422010-01-16 Carles Pina i Estany <carles@pina.cat>
17243
17244 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
17245 string.
17246 * util/grub-emu.c (usage): Likewise.
17247 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
17248 * util/i386/efi/grub-mkimage.c (usage): Likewise.
17249 * util/i386/pc/grub-mkimage.c (usage): Likewise.
17250 * util/i386/pc/grub-setup.c (usage): Likewise.
17251
70a14d3d 172522010-01-16 Carles Pina i Estany <carles@pina.cat>
17253
17254 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
17255 the message.
17256 (grub_util_info): Likewise.
17257 (grub_util_error): Likewise.
17258 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
17259 and/or new lines in `grub_util_warna', `grub_util_info',
17260 `grub_util_error' calls.
17261 * util/getroot.c: Likewise.
17262 * util/grub-editenv.c: Likewise.
17263 * util/grub-emu.c: Likewise.
17264 * util/grub-fstest.c: Likewise.
17265 * util/grub-mkdevicemap.c: Likewise.
17266 * util/grub-mkfont.c: Likewise.
17267 * util/grub-mkpasswd-pbkdf2.c: Likewise.
17268 * util/grub-mkrelpath.c: Likewise.
17269 * util/grub-pe2elf.c: Likewise.
17270 * util/grub-probe.c: Likewise.
17271 * util/hostdisk.c: Likewise.
17272 * util/i386/efi/grub-mkimage.c: Likewise.
17273 * util/i386/pc/grub-mkimage.c: Likewise.
17274 * util/i386/pc/grub-setup.c: Likewise.
17275 * util/ieee1275/ofpath.c: Likewise.
17276 * util/mkisofs/eltorito.c: Likewise.
17277 * util/mkisofs/rock.c: Likewise.
17278 * util/mkisofs/write.c: Likewise.
17279 * util/raid.c: Likewise.
17280 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
17281 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17282
a0b766fc
VS
172832010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17284
17285 Enable multiboot on non-pc.
17286
17287 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
17288 multiboot.mod and multiboot2.mod to ...
17289 * conf/i386.rmk (pkglib_MODULES): ... here.
17290 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
17291 Moved to ...
17292 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
17293 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
17294 Moved to ...
17295 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
17296 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
17297 Moved to ...
17298 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
17299 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
17300 Moved to ...
17301 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
17302 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
17303 relocator.mod.
17304 (ata_mod_SOURCES): Removed.
17305 (ata_mod_CFLAGS): Likewise.
17306 (ata_mod_LDFLAGS): Likewise.
17307 (relocator_mod_SOURCES): Removed.
17308 (relocator_mod_CFLAGS): Likewise.
17309 (relocator_mod_ASFLAGS): Likewise.
17310 (relocator_mod_LDFLAGS): Likewise.
17311 Include i386.mk.
17312 * include/grub/x86_64/multiboot.h: New file.
17313 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
17314 Terminate EFI.
17315
884ade56
VS
173162010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17317
17318 Video multiboot support.
17319
17320 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
17321 New prototype.
17322 * include/multiboot.h: Resynced with multiboot specification.
17323 * include/multiboot2.h: Likewise.
17324 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
17325 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
17326 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
17327 (HAS_VGA_TEXT): Likewise.
17328 (accepts_video): New variable.
17329 (grub_multiboot_set_accepts_video): New function.
17330 (grub_multiboot_get_mbi_size): Account for video structures.
17331 (set_video_mode): New function.
17332 (retrieve_video_parameters): Likewise.
17333 (grub_multiboot_make_mbi): Fill video fields.
17334
0d90e8a6
VS
173352010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17336
17337 Video driver ids.
17338
17339 * include/grub/video.h (grub_video_driver_id): New type.
17340 (grub_video_adapter): New member 'id'. All users updated.
17341 (grub_video_get_driver_id): New proto.
17342 * video/video.c (grub_video_get_driver_id): New function.
17343
5c71db1b 173442010-01-14 Carles Pina i Estany <carles@pina.cat>
17345
17346 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
17347 `var=val'.
17348
cca15b52 173492010-01-14 Carles Pina i Estany <carles@pina.cat>
17350
17351 * normal/cmdline.c (print_completion): Gettextizze.
17352
c586fbb2 173532001-01-14 Carles Pina i Estany <carles@pina.cat>
17354
17355 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
17356
ba2f6848 173572010-01-14 Carles Pina i Estany <carles@pina.cat>
17358
17359 * gettext/gettext.c (grub_gettext_translate): Push and pop
17360 grub_errno.
17361 (grub_gettext_delete_list): Change comment style.
17362 * kern/err.c (grub_error): Gettextizze.
17363 (grub_fatal): Gettextizze.
17364
0a46429a
RM
173652010-01-14 Robert Millan <rmh.grub@aybabtu.com>
17366
17367 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
17368 (grub_linux16_real_boot): ... this.
17369 * kern/i386/loader.S: Likewise.
17370 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
17371 (grub_linux16_boot): New function. Switches to text mode and calls
17372 grub_linux16_real_boot().
17373
17374 * loader/i386/bsd.c: Include `<grub/video.h>'.
17375 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
17376 text mode before calling grub_unix_real_boot().
17377
17378 * loader/i386/multiboot.c: Include `<grub/video.h>'.
17379 (grub_multiboot_boot): Switch to text mode before calling
17380 grub_relocator32_boot().
17381
17382 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
17383 (grub_chainloader_boot): Switch to text mode before calling
17384 grub_chainloader_real_boot().
17385
d6f93a66
RM
173862010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
173872010-01-05 Colin Watson <cjwatson@ubuntu.com>
17388
17389 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
17390 non-empty value.
17391
173922010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
173932010-01-05 Colin Watson <cjwatson@ubuntu.com>
17394
17395 * util/grub.d/00_header.in: Define a "savedefault" function for use
17396 in menu entries.
17397 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
17398
173992010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
174002010-01-05 Colin Watson <cjwatson@ubuntu.com>
17401
17402 * util/grub-mkconfig_lib.in (save_default_entry): Only set
17403 saved_entry if boot_once is unset.
17404 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
17405 previous saved entry (i.e. grub-reboot).
17406
174072009-12-08 Colin Watson <cjwatson@ubuntu.com>
17408
17409 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
17410
174112009-12-08 Colin Watson <cjwatson@ubuntu.com>
17412
17413 * util/grub.d/00_header.in: Use `set var=val' rather than plain
17414 `var=val'.
17415 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
17416
174172009-12-08 Colin Watson <cjwatson@ubuntu.com>
17418
17419 * util/grub-reboot.in: Fix --version output.
17420 * util/grub-set-default.in: Likewise.
17421
174222009-12-08 Colin Watson <cjwatson@ubuntu.com>
17423
17424 * util/grub.d/00_header.in: Silently ignore zero-sized environment
17425 blocks.
17426
174272009-12-08 Colin Watson <cjwatson@ubuntu.com>
17428
17429 * util/grub.d/00_header.in: Quote the value assigned to `default',
17430 in case it contains spaces.
17431
174322009-12-08 Colin Watson <cjwatson@ubuntu.com>
17433
17434 * util/grub.d/30_os-prober.in: Fix merge error that moved a
17435 `save_default_entry' call from the macosx case to the linux case.
17436
174372009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
174382009-10-25 Colin Watson <cjwatson@ubuntu.com>
17439
17440 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
17441 in `chosen' environment variable.
17442 * normal/menu_text.c (get_entry_number): Check if the variable
17443 matches the title of a menu entry.
17444 (run_menu): Pass menu to get_entry_number.
17445
17446 * util/grub-reboot.in: New file.
17447 * util/grub-set-default.in: New file.
17448 * conf/common.rmk (grub-reboot): New utility.
17449 (grub-set-default): New utility.
17450
17451 * util/grub-mkconfig_lib.in (save_default_entry): New function.
17452 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
17453 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
17454 move it to `saved_entry' for the next boot. Load environment on
17455 initialisation.
17456 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
17457 * util/grub.d/10_hurd.in: Likewise.
17458 * util/grub.d/10_linux.in (linux_entry): Likewise.
17459 * util/grub.d/10_windows.in: Likewise.
17460 * util/grub.d/30_os-prober.in: Likewise.
17461
17462 * util/grub-install.in: Create environment block.
17463 * util/i386/efi/grub-install.in: Likewise.
17464 * util/ieee1275/grub-install.in: Likewise.
17465 * util/sparc64/ieee1275/grub-install.in: Likewise.
17466
0934d184
BC
174672010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
17468
17469 Unit testing framework for GRUB.
17470
17471 * Makefile.in: Test framework build rules for 'make check'.
17472 * conf/tests.rmk: Build rules for individual tests and framework.
17473
17474 * include/grub/test.h: Header file for whitebox tests.
17475 * tests/lib/functional_test.c: Framework support for whitebox
17476 functional tests.
17477 * tests/lib/test.c: Common whitebox testing code for unit and
17478 functional tests.
17479 * tests/lib/unit_test.c: Framework support for whitebox unit
17480 tests.
17481
17482 * tests/util/grub-shell-tester.in: Support utility for grub-script
17483 tests.
17484 * tests/util/grub-shell.in: Utility to execute grub-script
17485 commands in a Qemu instance.
17486
17487 * tests/example_functional_test.c: Example whitebox functional
17488 test.
17489 * tests/example_grub_script_test.in: Example grub-script test.
17490 * tests/example_scripted_test.in: Example scripted test.
17491 * tests/example_unit_test.c: Example whitebox unit test.
17492
9c4ffeeb
VS
174932010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
17494
17495 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
17496 Add loader/i386/multiboot_mbi.c.
17497 (multiboot2_mod_SOURCES): Likewise.
17498 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
17499 (multiboot2_mod_SOURCES): Likewise.
17500 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
17501 (grub_multiboot_make_mbi): Likewise.
17502 (grub_multiboot_free_mbi): Likewise.
17503 (grub_multiboot_init_mbi): Likewise.
17504 (grub_multiboot_add_module): Likewise.
17505 (grub_multiboot_set_bootdev): Likewise.
17506 * loader/i386/multiboot.c (mbi): Removed.
17507 (mbi_dest): Likewise.
17508 (alloc_mbi): New variable.
17509 (grub_multiboot_payload_size): Removed. All users updated.
17510 (grub_multiboot_pure_size): New variable.
17511 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
17512 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
17513 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
17514 (grub_fill_multiboot_mmap): Likewise.
17515 (grub_multiboot_get_bootdev): Likewise.
17516 (grub_multiboot): Use multiboot_mbi functions.
17517 * loader/i386/multiboot_mbi.c: New file.
17518
17383dfe
VS
175192010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17520
17521 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
17522 it would result in module crash.
17523
c1f28820
VS
175242010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17525
17526 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
17527 (grub_ofconsole_getwh): Split to ...
17528 (grub_ofconsole_getwh): ... this.
17529 (grub_ofconsole_dimensions): ...and this.
17530 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
17531
58655a16
RM
175322010-01-13 Robert Millan <rmh.grub@aybabtu.com>
17533
17534 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
17535
10891398
VS
175362010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17537
17538 * loader/i386/pc/multiboot2.c: Removed stalled file.
17539
0b8a223c
VS
175402010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17541
17542 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
17543 Reported by: Grégoire Sutre
17544
92ab12b0
RM
175452010-01-11 Robert Millan <rmh.grub@aybabtu.com>
17546
17547 * util/misc.c (canonicalize_file_name): New function.
17548 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
17549 instead of realpath().
17550
a788afb6
CW
175512010-01-11 Colin Watson <cjwatson@ubuntu.com>
17552
17553 * util/grub-install.in (usage): Clarify meaning of --root-directory,
17554 and make it clearer that it's optional. Based on confusion
17555 witnessed on IRC.
17556
ffa8e3d2
VS
175572010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17558
17559 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
17560 in premature implicit newline.
17561
e9060a9d
VS
175622010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17563
17564 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
17565 which resulted in garbled command line at the end of screen.
17566
f0d0c0b7
RM
175672010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17568
17569 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
17570 initialization with similar approach as with other Linux loaders.
17571
0e60bae7
RM
175722010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17573
17574 Fix i386-ieee1275 build.
17575
17576 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
17577 and grub_term_height() for video_{width,height} initialization.
17578
175792010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
17580
17581 Fix grub-emu build.
17582
17583 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
17584
cdb3f378
RM
175852010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
175862010-01-09 Robert Millan <rmh.grub@aybabtu.com>
17587
17588 Support for multiple terminals.
17589
17590 * Makefile.in (pkglib_DATA): terminal.lst.
17591 (terminal.lst): New target.
17592 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
17593 (GRUB_MOD_INIT(handler)): Likewise.
17594 (GRUB_MOD_FINI(handler)): Likewise.
17595 * commands/help.c (grub_cmd_help): Handle multiple terminals.
17596 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
17597 * commands/sleep.c (do_print): Use grub_term_restore_pos.
17598 (grub_cmd_sleep): Use grub_term_save_pos.
17599 * commands/terminal.c: New file.
17600 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
17601 commands/terminal.c and lib/charset.c.
17602 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
17603 (pkglib_MODULES): Add terminal.mod.
17604 (terminal_mod_SOURCES): New variable.
17605 (terminal_mod_CFLAGS): Likewise.
17606 (terminal_mod_LDFLAGS): Likewise.
17607 * genhandlerlist.sh: Don't handle terminals.
17608 * genmk.rb: Generate terminal-*.lst.
17609 * genterminallist.sh: New file.
17610 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
17611 (grub_is_valid_utf8): Likewise.
17612 (grub_utf8_to_ucs4_alloc): Likewise.
17613 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
17614 (grub_menu_register_viewer): Changed argument.
17615 (grub_menu_try_text): New proto.
17616 (grub_gfxmenu_try_hook): New declaration.
17617 * include/grub/normal.h (grub_normal_exit_level): New declaration.
17618 (grub_menu_init_page): Additional argument term.
17619 (grub_normal_init_page): Likewise.
17620 (grub_cmdline_get): Arguments simplified.
17621 (grub_utf8_to_ucs4_alloc): Removed.
17622 (grub_print_ucs4): Additional argument term.
17623 (grub_getstringwidth): Likewise.
17624 (grub_print_message_indented): Likewise.
17625 (grub_menu_text_register_instances): New proto.
17626 (grub_show_menu): Likewise.
17627 (read_terminal_list): Likewise.
17628 (grub_set_more): Likewise.
17629 * include/grub/parser.h: Include handler.h.
17630 * include/grub/reader.h: Rewritten.
17631 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
17632 (GRUB_TERM_WIDTH): Changed to function.
17633 (GRUB_TERM_HEIGHT): Likewise.
17634 (GRUB_TERM_BORDER_WIDTH): Likewise.
17635 (GRUB_TERM_BORDER_HEIGHT): Likewise.
17636 (GRUB_TERM_NUM_ENTRIES): Likewise.
17637 (GRUB_TERM_ENTRY_WIDTH): Likewise.
17638 (GRUB_TERM_CURSOR_X): Likewise.
17639 (grub_term_input_class): Likewise.
17640 (grub_term_output_class): Likewise.
17641 (grub_term_outputs_disabled): New declaration.
17642 (grub_term_inputs_disabled): Likewise.
17643 (grub_term_outputs): Likewise.
17644 (grub_term_inputs): Likewise.
17645 (grub_term_register_input): Rewritten.
17646 (grub_term_register_output): Likewise.
17647 (grub_term_unregister_input): Likewise.
17648 (grub_term_unregister_output): Likewise.
17649 (FOR_ACTIVE_TERM_INPUTS): New macro.
17650 (FOR_DISABLED_TERM_INPUTS): Likewise.
17651 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
17652 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
17653 * include/grub/terminfo.h: Add oterm argument to all protypes.
17654 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
17655 Use grub_rescue_run.
17656 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
17657 All users updated.
17658 * kern/reader.c: Removed. All users updated.
17659 * kern/rescue_reader.c (grub_rescue_init): Removed.
17660 (grub_rescue_reader): Likewise.
17661 (grub_register_rescue_reader): Likewise.
17662 (grub_rescue_run): New function based on kern/reader.c.
17663 * kern/term.c: Adapted for multiterm.
17664 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
17665 (grub_is_valid_utf8): Likewise.
17666 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
17667 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
17668 right terminal.
17669 * loader/i386/linux.c (grub_linux_boot): Likewise.
17670 * normal/auth.c (grub_username_get): New function.
17671 (grub_auth_check_authentication): Use grub_username_get.
17672 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
17673 * normal/color.c: Adapt for multiterm.
17674 * normal/main.c (read_config_file): Don't use grub_reader_loop.
17675 (grub_normal_init_page): Additional argument term.
17676 (read_lists): Call read_terminal_lists.
17677 (grub_enter_normal_mode): Call grub_cmdline_run.
17678 Handle grub_normal_exit_level.
17679 (grub_cmd_normal): Make reentrant.
17680 (grub_cmd_normal_exit): New function.
17681 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
17682 * normal/menu.c: Adapt for multiterm.
17683 * normal/menu_entry.c: Likewise.
17684 * normal/menu_text.c: Likewise.
17685 * normal/menu_viewer.c: Removed. All users updated.
17686 * normal/term.c: New file.
17687 * util/console.c: Change order of includes to workaround a bug in
17688 ncurses headers.
17689 * term/terminfo.c: New argument oterm on all exported functions.
17690 All users updated.
17691 * util/grub-editenv.c (grub_term_input_class): Removed.
17692 (grub_term_output_class): Likewise.
17693
1a064917
RM
176942010-01-09 Robert Millan <rmh.grub@aybabtu.com>
17695
17696 Make loader output a bit more user-friendly.
17697
17698 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
17699 is being loaded. Likewise for the Hurd.
17700
17701 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
17702 that kernel of FreeBSD ${version} is being loaded.
17703
17704 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
17705 grub_dprintf().
17706 (grub_cmd_initrd): Likewise.
17707 * util/grub.d/10_linux.in (linux_entry): Print message indicating
17708 that Linux ${version} is being loaded. Likewise for initrd.
17709
5ce0a83a 177102010-01-09 Carles Pina i Estany <carles@pina.cat>
17711
17712 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
17713
809bbfeb 177142010-01-08 Carles Pina i Estany <carles@pina.cat>
17715
17716 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
17717 (GRUB_MOD_INIT): Gettextizze.
17718 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
17719 (GRUB_MOD_INIT): Gettextizze.
17720 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
17721 (grub_cmd_linux): Capitalise Linux.
17722 (GRUB_MOD_INIT): Gettextizze.
17723 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
17724 (grub_cmd_linux): Capitalise Linux.
17725 (GRUB_MOD_INIT): Gettextizze.
17726 * loader/i386/linux.c: Include `<grub/i18n.h>'.
17727 (grub_cmd_linux): Capitalise Linux.
17728 (GRUB_MOD_INIT): Gettextizze.
17729 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
17730 (GRUB_MOD_INIT): Gettextizze.
17731 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
17732 (grub_cmd_linux): Capitalise Linux.
17733 (GRUB_MOD_INIT): Gettextizze.
17734 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
17735 (grub_cpu_xnu_init): Gettextizze.
17736 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
17737 (GRUB_MOD_INIT): Gettextizze.
17738 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
17739 (GRUB_MOD_INIT): Gettextizze.
17740 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
17741 (grub_linux_load64): Capitalise Linux.
17742 (GRUB_MOD_INIT): Gettextizze.
17743 * loader/xnu.c: Include `<grub/i18n.h>'.
17744 (GRUB_MOD_INIT): Gettextizze.
17745 * po/POTFILES: Add `loader/efi/appleloader.c',
17746 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
17747 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
17748 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
17749 `loader/i386/xnu.c', `loader/multiboot_loader.c',
17750 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
17751 and `loader/xnu.c'.
17752
b394b2ca
RM
177532010-01-08 Robert Millan <rmh.grub@aybabtu.com>
17754
17755 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
17756
177572010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
17758
17759 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
17760 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
17761 * util/mkisofs/mkisofs.c (main): Readjust --version output.
17762
bc8b32b3
RM
177632010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17764
17765 Reset Multiboot 2 support. New loader implements the draft in
17766 /branches/multiboot2 and shares as much code as possible with the
17767 production Multiboot 1 implementation.
17768
17769 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
17770 * loader/multiboot2.c: Likewise.
17771 * loader/i386/multiboot_helper.S: Likewise.
17772 * include/multiboot2.h: Replace with latest version from the draft
17773 in /branches/multiboot2.
17774
17775 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
17776 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
17777 and `loader/multiboot2.c'.
17778 (pkglib_MODULES): Add `multiboot2.mod'.
17779 (multiboot2_mod_SOURCES): New variable.
17780 (multiboot2_mod_LDFLAGS): Likewise.
17781 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
17782
17783 * conf/i386-pc.rmk: Likewise.
17784
17785 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
17786 (multiboot_mod_SOURCES): Remove variable.
17787 (multiboot_mod_LDFLAGS): Likewise.
17788 (multiboot_mod_CFLAGS): Likewise.
17789
17790 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
17791 `<multiboot2.h>' instead of `<multiboot.h>'.
17792 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
17793 (MULTIBOOT_HEADER_MAGIC): New macros.
17794
17795 * loader/multiboot_loader.c (module_version_status): Remove variable.
17796 (find_multi_boot2_header): Remove function.
17797 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
17798 logic. Always check for the Multiboot version we're compiling for.
17799 (grub_cmd_module_loader): Likewise.
17800 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
17801 command instead of `multiboot'.
17802
5d2c52b8
RM
178032010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17804
17805 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
17806 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
17807 all users.
17808
53108d92
RM
178092010-01-07 Robert Millan <rmh.grub@aybabtu.com>
178102010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17811
17812 Fix breakage introduced with previous commit.
17813
17814 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
17815 commands.
17816 * normal/handler.c (read_handler_list): Revert part of previous commit
17817 affecting this file.
17818 * normal/main.c (read_lists): Move read_handler_list() call back to ...
17819 (grub_normal_execute): ... here.
17820
e2e936b2
RM
178212010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17822
17823 Merge prefix-redefinition-fix branch.
17824
17825 * normal/autofs.c (read_fs_list): Make function capable of being
17826 run multiple times, gracefuly replacing the previous data
17827 structures.
17828 * normal/dyncmd.c (read_command_list): Likewise.
17829 * normal/handler.c (read_handler_list): Likewise.
17830 * normal/main.c (read_lists): New function. Calls all the
17831 list reading functions.
17832 (grub_normal_execute): Use read_lists() instead of calling all
17833 list reading functions explicitly. Register read_lists() as a
17834 variable hook attached to ${prefix}.
17835
607a3701
VS
178362010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17837
17838 Merge crypto branch.
17839
17840 * Makefile.in (pkglib_DATA): Add crypto.lst.
17841 (crypto.lst): New target.
17842 * commands/hashsum.c: New file.
17843 * commands/password.c (check_password): Use grub_crypto_memcmp.
17844 * commands/password_pbkdf2.c: New file.
17845 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
17846 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
17847 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
17848 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
17849 -I$(srcdir)/lib/libgcrypt_wrap.
17850 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
17851 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
17852 password_pbkdf2.mod.
17853 (crypto_mod_SOURCES): New variable.
17854 (crypto_mod_CFLAGS): Likewise.
17855 (crypto_mod_LDFLAGS): Likewise.
17856 (hashsum_mod_SOURCES): New variable.
17857 (hashsum_mod_CFLAGS): Likewise.
17858 (hashsum_mod_LDFLAGS): Likewise.
17859 (pbkdf2_mod_SOURCES): New variable.
17860 (pbkdf2_mod_CFLAGS): Likewise.
17861 (pbkdf2_mod_LDFLAGS): Likewise.
17862 (password_pbkdf2_mod_SOURCES): New variable.
17863 (password_pbkdf2_mod_CFLAGS): Likewise.
17864 (password_pbkdf2_mod_LDFLAGS): Likewise.
17865 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
17866 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
17867 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
17868 Include conf/gcry.rmk.
17869 * include/grub/auth.h: Rewritten.
17870 * include/grub/crypto.h: New file.
17871 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
17872 * include/grub/normal.h (read_crypto_list): New prototype.
17873 * lib/crypto.c: New file.
17874 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
17875 * lib/pbkdf2.c: Likewise.
17876 * normal/auth.c (grub_auth_strcmp): Removed.
17877 (grub_iswordseparator): Likewise.
17878 (grub_auth_strword): Likewise.
17879 (is_authenticated): Use grub_strword.
17880 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
17881 and grub_strword. Pass entered password to authentication callback.
17882 * normal/crypto.c: New file.
17883 * normal/main.c: Call read_crypto_list.
17884 * util/grub-mkpasswd-pbkdf2.c: New file.
17885 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
17886
42841caa
VS
178872010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
17888
17889 Fix descent and ascent calculation.
17890
17891 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
17892 (options): New option "asce".
17893 (usage): Likewise.
17894 (add_char): Ignore invalid glyphs for descent calculation.
17895 Calculate ascent from actual content.
17896 (print_glyphs): Use 'asce'.
17897 (write_font): Likewise. Allow ascent override.
17898 (main): Handle "asce" option.
17899
e7730de7 179002010-01-06 Carles Pina i Estany <carles@pina.cat>
17901
17902 * kern/err.c: Include `<grub/i18n.h>'.
17903 (grub_print_error): Add full stop. Gettextizze.
17904 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
17905 (grub_bsd_load_elf): Capitalise ELF.
17906 (grub_cmd_freebsd_loadenv): Add `s' in error string.
17907 (grub_cmd_freebsd_module): Likewise.
17908 (grub_cmd_freebsd_module_elf): Likewise.
17909 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
17910
40e3a41f 179112010-01-06 Carles Pina i Estany <carles@pina.cat>
17912
17913 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
17914 * commands/search_file.c (HELP_MESSAGE): New macro.
17915 * commands/search_label.c (HELP_MESSAGE): Likewise.
17916 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
17917 * po/POTFILES: Add `commands/search_file.c',
17918 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
17919 `commands/search.c'.
17920
83507e68
RM
179212010-01-05 Robert Millan <rmh.grub@aybabtu.com>
17922
17923 * config.rpath: Update from Gnulib.
17924
465c787b
YB
179252010-01-05 Yves Blusseau <blusseau@zetam.org>
17926
17927 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
17928
6581dd3a
YB
179292010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
17930
17931 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
17932
3bff18c5
CW
179332010-01-05 Colin Watson <cjwatson@ubuntu.com>
17934
17935 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
17936 arguments to fread so that we get a return value in bytes, rather
17937 than something that will normally be rounded down to 0.
17938 Adjust error handling to avoid producing garbage when size_t is not
17939 the same size as long long.
17940
a1368118
CW
179412010-01-05 Colin Watson <cjwatson@ubuntu.com>
17942
17943 * util/mkisofs/write.c (padblock_write): Check return value of
17944 fread.
17945
7c302978
RM
179462010-01-05 Robert Millan <rmh.grub@aybabtu.com>
17947
17948 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
17949 floppy images now.
17950
17951 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
17952
e33ace06
RM
179532010-01-04 Robert Millan <rmh.grub@aybabtu.com>
17954
17955 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
17956 instead of manual alignment.
17957 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
17958 verbose). Avoid attempts to read past end of the device
17959 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
17960 but GRUB_DISK_CACHE_SIZE may exceed that).
17961
4b856776
RM
179622010-01-04 Robert Millan <rmh.grub@aybabtu.com>
17963
17964 * commands/crc.c (grub_cmd_crc): Abort on read errors.
17965 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
17966 it to upper layer.
17967
52c2d97f
VS
179682010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17969
17970 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
17971 New constant.
17972 (grub_efi_piwg_device_path): New structure
17973 (grub_efi_piwg_device_path_t): New type.
17974 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
17975 (devpath_1): Transform to a structure. All users updated.
17976 (devpath_2): Likewise.
17977 (devpath_3): Likewise.
17978 (devpath_4): Likewise.
17979 (devpath_5): Likewise.
17980
98ff6a54
VS
179812010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17982
17983 * loader/efi/appleloader.c: Restored. Update all users.
17984
3a73dcb6
RM
179852010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17986
17987 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
17988
17989 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
17990 (struct boot_blocklist): Move from here ...
17991 * include/grub/i386/pc/boot.h [ASM_FILE]
17992 (struct grub_boot_blocklist): ... to here. Update all users.
17993 (setup): Only initialize `start' member of `first_block'
17994 structure. Add assert() calls to verify the other members.
17995
17996 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
17997 (generate_image): Fix broken blocklist length initialization.
17998 Add assert() call to verify blocklist `segment' field.
17999
ab0eeb0c
RM
180002010-01-03 Robert Millan <rmh.grub@aybabtu.com>
18001
18002 * loader/efi/appleloader.c: Remove. Update all users.
18003
58bc8bd5
RM
180042010-01-03 Robert Millan <rmh.grub@aybabtu.com>
18005
18006 * boot/i386/pc/boot.S: Update copyright year.
18007 * boot/i386/pc/cdboot.S: Likewise.
18008 * boot/i386/pc/diskboot.S: Likewise.
18009 * boot/i386/pc/lnxboot.S: Likewise.
18010 * boot/i386/pc/pxeboot.S: Likewise.
18011 * bus/pci.c: Likewise.
18012 * commands/cmp.c: Likewise.
18013 * commands/help.c: Likewise.
18014 * commands/hexdump.c: Likewise.
18015 * commands/i386/pc/halt.c: Likewise.
18016 * commands/i386/pc/play.c: Likewise.
18017 * commands/i386/pc/vbeinfo.c: Likewise.
18018 * commands/ls.c: Likewise.
18019 * commands/test.c: Likewise.
18020 * disk/dmraid_nvidia.c: Likewise.
18021 * disk/i386/pc/biosdisk.c: Likewise.
18022 * disk/ieee1275/nand.c: Likewise.
18023 * disk/ieee1275/ofdisk.c: Likewise.
18024 * disk/lvm.c: Likewise.
18025 * disk/raid.c: Likewise.
18026 * disk/raid6_recover.c: Likewise.
18027 * disk/scsi.c: Likewise.
18028 * fs/affs.c: Likewise.
18029 * fs/cpio.c: Likewise.
18030 * fs/ext2.c: Likewise.
18031 * fs/hfs.c: Likewise.
18032 * fs/iso9660.c: Likewise.
18033 * fs/ntfs.c: Likewise.
18034 * fs/sfs.c: Likewise.
18035 * fs/udf.c: Likewise.
18036 * fs/ufs.c: Likewise.
18037 * fs/xfs.c: Likewise.
18038 * gencmdlist.sh: Likewise.
18039 * genmk.rb: Likewise.
18040 * include/grub/disk.h: Likewise.
18041 * include/grub/efi/api.h: Likewise.
18042 * include/grub/efi/efi.h: Likewise.
18043 * include/grub/efi/pe32.h: Likewise.
18044 * include/grub/elf.h: Likewise.
18045 * include/grub/fs.h: Likewise.
18046 * include/grub/i386/at_keyboard.h: Likewise.
18047 * include/grub/i386/pc/memory.h: Likewise.
18048 * include/grub/i386/pc/vbe.h: Likewise.
18049 * include/grub/i386/pci.h: Likewise.
18050 * include/grub/i386/tsc.h: Likewise.
18051 * include/grub/ieee1275/ieee1275.h: Likewise.
18052 * include/grub/ntfs.h: Likewise.
18053 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
18054 * include/grub/sparc64/libgcc.h: Likewise.
18055 * include/grub/symbol.h: Likewise.
18056 * include/grub/types.h: Likewise.
18057 * include/multiboot2.h: Likewise.
18058 * io/gzio.c: Likewise.
18059 * kern/device.c: Likewise.
18060 * kern/disk.c: Likewise.
18061 * kern/efi/efi.c: Likewise.
18062 * kern/efi/mm.c: Likewise.
18063 * kern/elf.c: Likewise.
18064 * kern/file.c: Likewise.
18065 * kern/i386/dl.c: Likewise.
18066 * kern/i386/pc/init.c: Likewise.
18067 * kern/i386/pc/startup.S: Likewise.
18068 * kern/ieee1275/ieee1275.c: Likewise.
18069 * kern/ieee1275/init.c: Likewise.
18070 * kern/main.c: Likewise.
18071 * kern/mm.c: Likewise.
18072 * kern/powerpc/dl.c: Likewise.
18073 * kern/sparc64/dl.c: Likewise.
18074 * kern/x86_64/dl.c: Likewise.
18075 * lib/hexdump.c: Likewise.
18076 * loader/efi/appleloader.c: Likewise.
18077 * loader/i386/ieee1275/linux.c: Likewise.
18078 * loader/i386/pc/chainloader.c: Likewise.
18079 * loader/i386/pc/linux.c: Likewise.
18080 * loader/i386/pc/multiboot2.c: Likewise.
18081 * loader/ieee1275/multiboot2.c: Likewise.
18082 * loader/multiboot2.c: Likewise.
18083 * loader/multiboot_loader.c: Likewise.
18084 * loader/powerpc/ieee1275/linux.c: Likewise.
18085 * normal/completion.c: Likewise.
18086 * normal/menu_entry.c: Likewise.
18087 * partmap/apple.c: Likewise.
18088 * util/grub.d/10_hurd.in: Likewise.
18089 * util/hostfs.c: Likewise.
18090 * video/readers/png.c: Likewise.
18091
e2d70b5c
CW
180922010-01-03 Colin Watson <cjwatson@ubuntu.com>
18093
18094 * include/grub/misc.h (GNUC_PREREQ): New macro.
18095 (ATTRIBUTE_ERROR): New macro.
18096 * include/grub/list.h (grub_bad_type_cast_real): Use
18097 ATTRIBUTE_ERROR.
18098
a173283f 180992010-01-03 Carles Pina i Estany <carles@pina.cat>
18100
18101 * normal/menu_text.c (print_message): Change messages.
18102
7fa7ff74 181032010-01-03 Carles Pina i Estany <carles@pina.cat>
18104
18105 * normal/menu_entry.c (store_completion): Gettextizze.
18106
136d24f6 181072010-01-03 Carles Pina i Estany <carles@pina.cat>
18108
18109 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
18110
f936862e 181112010-01-03 Carles Pina i Estany <carles@pina.cat>
18112
18113 * po/POTFILES: Sort correctly.
18114
29c44ad1 181152010-01-03 Carles Pina i Estany <carles@pina.cat>
18116
18117 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
18118 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
18119 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
18120 full stop.
18121 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
18122 summary. Gettextizze the strings.
18123 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
18124 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
18125 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
18126 full stop.
18127 (GRUB_MOD_INIT): Remove command name from summary.
18128 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
18129 summary.
18130 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
18131 * term/i386/pc/serial.c (options): Add full stops.
18132 (GRUB_MOD_INIT): Remove command name from the summary.
18133
77a79592 181342010-01-03 Carles Pina i Estany <carles@pina.cat>
18135
18136 * commands/acpi.c: Gettextizze help strings and/or options. Include
18137 `grub/i18n.h' if needed.
18138 * commands/blocklist.c: Likewise.
18139 * commands/boot.c: Likewise.
18140 * commands/cat.c: Likewise.
18141 * commands/cmp.c: Likewise.
18142 * commands/configfile.c: Likewise.
18143 * commands/crc.c: Likewise.
18144 * commands/date.c: Likewise.
18145 * commands/echo.c: Likewise.
18146 * commands/efi/fixvideo.c: Likewise.
18147 * commands/efi/loadbios.c: Likewise.
18148 * commands/gptsync.c: Likewise.
18149 * commands/halt.c: Likewise.
18150 * commands/handler.c: Likewise.
18151 * commands/hdparm.c: Likewise.
18152 * commands/hexdump.c: Likewise.
18153 * commands/i386/cpuid.c: Likewise.
18154 * commands/i386/pc/drivemap.c: Likewise.
18155 * commands/i386/pc/halt.c: Likewise.
18156 * commands/i386/pc/pxecmd.c: Likewise.
18157 * commands/i386/pc/vbeinfo.c: Likewise.
18158 * commands/i386/pc/vbetest.c: Likewise.
18159 * commands/ieee1275/suspend.c: Likewise.
18160 * commands/keystatus.c: Likewise.
18161 * commands/loadenv.c: Likewise.
18162 * commands/ls.c: Likewise.
18163 * commands/lsmmap.c: Likewise.
18164 * commands/lspci.c: Likewise.
18165 * commands/memrw.c: Likewise.
18166 * commands/minicmd.c: Likewise.
18167 * commands/parttool.c: Likewise.
18168 * commands/password.c: Likewise.
18169 * commands/probe.c: Likewise.
18170 * commands/read.c: Likewise.
18171 * commands/reboot.c: Likewise.
18172 * commands/search.c: Likewise.
18173 * commands/sleep.c: Likewise.
18174 * commands/test.c: Likewise.
18175 * commands/true.c: Likewise.
18176 * commands/usbtest.c: Likewise.
18177 * commands/videotest.c: Likewise.
18178 * commands/xnu_uuid.c: Likewise.
18179 * disk/loopback.c: Likewise.
18180 * hello/hello.c: Likewise.
18181 * loader/i386/bsd.c: Likewise.
18182 * term/i386/pc/serial.c: Likewise.
18183 * po/POTFILES: Add new files.
18184
da8d5c53
CW
181852010-01-02 Colin Watson <cjwatson@ubuntu.com>
18186
18187 * term/i386/pc/at_keyboard.c
18188 (keyboard_controller_wait_untill_ready): Rename to ...
18189 (keyboard_controller_wait_until_ready): ... this. Update all users.
18190
33937904 181912010-01-01 Carles Pina i Estany <carles@pina.cat>
18192
18193 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
18194 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
18195 string using string width.
18196 * normal/menu_text.c (grub_print_message_indented): Use
18197 grub_print_spaces and not print_spaces.
18198 (print_timeout): Likewise.
18199 (print_spaces): Move to...
18200 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
18201
3fd3b8d8
RM
182022010-01-01 Robert Millan <rmh.grub@aybabtu.com>
18203
18204 Import from Gnulib.
18205
18206 * gnulib/getdelim.c: New file.
18207 * gnulib/getline.c: Likewise.
18208
33433555
VS
182092009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
18210
18211 * include/grub/list.h (grub_assert_fail): Removed.
18212 (grub_bad_type_cast_real): New function.
18213 (grub_bad_type_cast): New macro.
18214 (GRUB_AS_LIST): Use grub_bad_type_cast.
18215 (GRUB_AS_LIST_P): Likewise.
e44721e8 18216 (GRUB_AS_NAMED_LIST): Likewise.
33433555 18217 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 18218 (GRUB_AS_PRIO_LIST): Likewise.
33433555 18219 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 18220 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 18221
f5a51306
VS
182222009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
18223
18224 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
18225 Fix syntax error.
18226
90d1e879
RM
182272009-12-29 Robert Millan <rmh.grub@aybabtu.com>
18228
18229 * configure.ac: Check for TARGET_CFLAGS initialization before we
18230 initialize it ourselves (sigh).
18231 Move a few modifications to TARGET_CFLAGS to be unconditional
18232 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
18233 eh_frame)
18234
18235 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
18236 * term/i386/pc/at_keyboard.c
18237 (keyboard_controller_wait_untill_ready): Likewise.
18238 (keyboard_controller_led): Rename `led_status' paramter to avoid
18239 name conflict.
18240
465b5a81 182412009-12-28 Carles Pina i Estany <carles@pina.cat>
18242
18243 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
18244 quotes.
18245
c181849b
VS
182462009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18247
18248 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
18249
9c8739a4
VS
182502009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18251
18252 * normal/menu_text.c (grub_print_message_indented): Prevent
18253 past-the-end-of-array dereference.
18254
3e74249c
VS
182552009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18256
18257 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
18258 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
18259
64fd18ed 182602009-12-27 Carles Pina i Estany <carles@pina.cat>
18261
18262 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
18263 * normal/main.c (grub_normal_read_line): Remove a space from the
18264 default prompt.
18265
714af9b9 182662009-12-27 Carles Pina i Estany <carles@pina.cat>
18267
18268 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
18269 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18270 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
18271 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
18272 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18273 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18274 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18275
82f3e412 182762009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 18277
18278 * video/readers/jpeg.c (cmd): Declare.
18279 (grub_cmd_jpegtest): Use `grub_command_t' type.
18280 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18281 Assign to `cmd'.
18282 (GRUB_MOD_FINI): Use `cmd' to unregister.
18283 * video/readers/png.c (cmd): Declare.
18284 (grub_cmd_pngtest): Use `grub_command_t' type.
18285 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18286 Assign to `cmd'.
18287 (GRUB_MOD_FINI): Use `cmd' to unregister.
18288 * video/readers/tga.c (cmd): Declare.
18289 (grub_cmd_tgatest): Use `grub_command_t' type.
18290 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18291 Assign to `cmd'.
18292 (GRUB_MOD_FINI): Use `cmd' to unregister.
18293
82f3e412 182942009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 18295
18296 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
18297 stops.
18298 * kern/corecmd.c (grub_register_core_commands): Likewise.
18299 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
18300 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
18301 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
18302 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18303 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
18304 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
18305 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
18306 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
18307 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18308 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18309 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18310 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18311 * normal/handler.c (insert_handler): Likewise.
18312 * normal/main.c (GRUB_MOD_INIT): Likewise.
18313 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
18314
fdcdbb66 183152009-12-26 Carles Pina i Estany <carles@pina.cat>
18316
18317 * commands/help.c (grub_cmd_help): Print the command name before the
18318 summary.
18319 (GRUB_MOD_INIT): Remove command name from the summary.
18320 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 18321 string as summary.
fdcdbb66 18322 * lib/arg.c (find_long): Print the command name before the summary.
18323 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
18324 summary.
18325 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
18326 * commands/cat.c (GRUB_MOD_INIT): Likewise.
18327 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
18328 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
18329 * commands/crc.c (GRUB_MOD_INIT): Likewise.
18330 * commands/date.c (GRUB_MOD_INIT): Likewise.
18331 * commands/echo.c (GRUB_MOD_INIT): Likewise.
18332 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
18333 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
18334 * commands/handler.c (GRUB_MOD_INIT): Likewise.
18335 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
18336 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
18337 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
18338 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
18339 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
18340 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
18341 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
18342 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
18343 * commands/ls.c (GRUB_MOD_INIT): Likewise.
18344 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
18345 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
18346 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
18347 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
18348 * commands/password.c (GRUB_MOD_INIT): Likewise.
18349 * commands/probe.c (GRUB_MOD_INIT): Likewise.
18350 * commands/read.c (GRUB_MOD_INIT): Likewise.
18351 * commands/search.c (GRUB_MOD_INIT): Likewise.
18352 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
18353 * commands/test.c (GRUB_MOD_INIT): Likewise.
18354 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
18355 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
18356 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
18357 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
18358 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
18359 * lib/arg.c (GRUB_MOD_INIT): Likewise.
18360 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
18361 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
18362 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18363 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18364 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
18365 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
18366 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
18367 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
18368
9c288be2
VS
183692009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18370
18371 Use search command for preliminar UUID search.
18372
18373 * commands/search.c: Split into ...
18374 * commands/search_wrap.c: ...this
18375 * commands/search.c: ...and this.
18376 * commands/search_file.c: New file.
18377 * commands/search_label.c: New file.
18378 * commands/search_uuid.c: New file.
18379 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
18380 Add commands/search_wrap.c, commands/search_file.c,
18381 commands/search_label.c and commands/search_uuid.c.
18382 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
18383 (search_mod_SOURCES): Set to commands/search_wrap.c.
18384 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
18385 search_label.mod.
18386 (search_fs_file_mod_SOURCES): New variable.
18387 (search_fs_file_mod_CFLAGS): Likewise.
18388 (search_fs_file_mod_LDFLAGS): Likewise.
18389 (search_label_mod_SOURCES): Likewise.
18390 (search_label_mod_CFLAGS): Likewise.
18391 (search_label_mod_LDFLAGS): Likewise.
18392 (search_fs_uuid_mod_SOURCES): New variable.
18393 (search_fs_uuid_mod_CFLAGS): Likewise.
18394 (search_fs_uuid_mod_LDFLAGS): Likewise.
18395 (fs_file_mod_SOURCES): Removed.
18396 (fs_file_mod_CFLAGS): Likewise.
18397 (fs_file_mod_LDFLAGS): Likewise.
18398 (fs_uuid_mod_SOURCES): Removed.
18399 (fs_uuid_mod_CFLAGS): Likewise.
18400 (fs_uuid_mod_LDFLAGS): Likewise.
18401 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
18402 Set to util/grub-install.in.
18403 * disk/fs_file.c: Removed.
18404 * disk/fs_uuid.c: Likewise.
18405 * include/grub/search.h: New file.
18406 * util/grub-install.in: Handle sparc64.
18407 Create and use load.cfg.
18408 * util/sparc64/ieee1275/grub-install.in: Removed.
18409
db943399
VS
184102009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18411
18412 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
18413 Ignore return status if CF is cleared.
18414 (grub_biosdisk_get_diskinfo_standard): Likewise.
18415
3fdae612
RM
184162009-12-25 Robert Millan <rmh.grub@aybabtu.com>
18417
18418 * term/i386/pc/at_keyboard.c
18419 (keyboard_controller_wait_untill_ready): New function.
18420 (grub_keyboard_controller_write, grub_keyboard_controller_read)
18421 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
18422 for keyboard polling, rather than duplicate the same loop. This
18423 saves a few bytes in code size.
18424
7ebaa2b4
VS
184252009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18426
18427 Support for (pxe[:server[:gateway]]) syntax and
18428 use environment variable for PXE.
18429
18430 * commands/i386/pc/pxecmd.c (options): Removed.
18431 (print_ip): Removed.
18432 (grub_cmd_pxe): Removed
18433 (grub_cmd_pxe_unload): New function.
18434 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
18435 (grub_pxe_your_ip): Made static.
18436 (grub_pxe_default_server_ip): Likewise.
18437 (grub_pxe_default_gateway_ip): Likewise.
18438 (grub_pxe_blksize): Likewise.
18439 (parse_ip): New function.
18440 (grub_pxe_open): Support server and gateway specification.
18441 (grub_pxe_close): Free disk->data.
18442 (grub_pxefs_open): Use disk->data.
18443 (grub_pxefs_read): Likewise.
18444 (grub_env_write_readonly): New function.
18445 (set_mac_env): Likewise.
18446 (set_env_limn_ro): Likewise.
18447 (parse_dhcp_vendor): Likewise.
18448 (grub_pxe_detect): Set the environment variables.
18449 (set_ip_env): New function.
18450 (write_ip_env): Likewise.
18451 (grub_env_write_pxe_default_server): Likewise.
18452 (grub_env_write_pxe_default_gateway): Likewise.
18453 (grub_env_write_pxe_blocksize): Likewise.
18454 (GRUB_MOD_INIT(pxe)): Set environment variables.
18455 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
18456 (grub_pxe_mac_addr_t): ... this. All users updated.
18457 (grub_pxe_your_ip): Removed.
18458 (grub_pxe_server_ip): Likewise.
18459 (grub_pxe_gateway_ip): Likewise.
18460 (grub_pxe_blksize): Likewise.
18461
ec5f98ab 184622009-12-25 Carles Pina i Estany <carles@pina.cat>
18463
18464 * commands/help.c: Include `<grub/i18n.h>'.
18465 (grub_cmd_help): Gettextizze.
18466 (GRUB_MOD_INIT): Likewise.
18467 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
18468 (GRUB_MOD_INIT): Gettextizze.
18469 * commands/search.c: Include `<grub/i18n.h>'.
18470 (options): Gettextizze.
18471 (GRUB_MOD_INIT): Gettextizze.
18472 * lib/arg.c: Include `<grub/i18n.h>'.
18473 (help_options): Gettextizze.
18474 (find_long): Likewise.
18475 (grub_arg_show_help): Likewise.
18476 * normal/dyncmd.c: Include `<grub/i18n.h>'.
18477 (read_command_list): Gettextizze.
18478 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 18479 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 18480
22815526
RM
184812009-12-25 Robert Millan <rmh.grub@aybabtu.com>
18482
18483 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
18484 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
18485 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
18486 (led_status): New variable.
18487 (keyboard_controller_led): New function.
18488 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
18489 update led status for caps lock, num lock and scroll lock.
18490
0ad46fd7
FZ
184912009-12-25 Felix Zielcke <fzielcke@z-51.de>
18492
18493 * util/hostdisk.c (open_device): Fix a comment.
18494
d0e158c2
RM
184952009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18496
18497 * util/grub-install.in (host_os): New variable.
18498 * util/i386/efi/grub-install.in (host_os): Likewise.
18499
401c0ad6
RM
185002009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18501
18502 * util/mkisofs/write.c (padblock_write): Abort when given an
18503 excedingly large embed image, instead of silently truncating it.
18504
d14d3370
RM
185052009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18506
18507 * include/multiboot.h: Indentation fixes.
18508
eeed10b4
RM
185092009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18510
18511 * include/multiboot.h (struct multiboot_aout_symbol_table)
18512 (struct multiboot_elf_section_header_table): New structure
18513 declarations (stolen from GRUB Legacy).
18514 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
18515 table information.
18516
18517 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
18518 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
18519 type aliases.
18520
681c70ab
RM
185212009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18522
18523 * include/multiboot.h: Make comments src2texi-friendly.
18524
e4d47d8d
RM
185252009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18526
18527 For consistency with [multiboot]/docs/boot.S.
18528
18529 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
18530 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
18531 (MULTIBOOT_MAGIC2): Rename from this ...
18532 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
18533
a0b70bda
RM
185342009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18535
18536 * include/multiboot.h: Remove `<grub/types.h>'.
18537 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
18538 types. Update all users.
18539
61ba42be 185402009-12-25 Carles Pina i Estany <carles@pina.cat>
18541
18542 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
18543 `couldn't' and `can not' by `cannot'.
18544 * commands/i386/pc/drivemap.c: Likewise.
18545 * disk/ata.c: Likewise.
18546 * disk/ieee1275/nand.c: Likewise.
18547 * fs/affs.c: Likewise.
18548 * fs/fat.c: Likewise.
18549 * fs/hfs.c: Likewise.
18550 * fs/hfsplus.c: Likewise.
18551 * fs/iso9660.c: Likewise.
18552 * fs/jfs.c: Likewise.
18553 * fs/minix.c: Likewise.
18554 * fs/reiserfs.c: Likewise.
18555 * fs/sfs.c: Likewise.
18556 * fs/udf.c: Likewise.
18557 * fs/ufs.c: Likewise.
18558 * fs/xfs.c: Likewise.
18559 * loader/powerpc/ieee1275/linux.c: Likewise.
18560 * loader/sparc64/ieee1275/linux.c: Likewise.
18561 * util/grub-probe.c: Likewise.
18562 * util/misc.c: Likewise.
18563
7fd0baee 185642009-12-24 Carles Pina i Estany <carles@pina.cat>
18565
18566 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
18567 grub_errno calls.
18568 * commands/acpi.c: Likewise.
18569 * commands/blocklist.c: Likewise.
18570 * commands/efi/loadbios.c: Likewise.
18571 * commands/i386/pc/drivemap.c: Likewise.
18572 * commands/loadenv.c: Likewise.
18573 * commands/memrw.c: Likewise.
18574 * commands/password.c: Likewise.
18575 * commands/videotest.c: Likewise.
18576 * disk/ata.c: Likewise.
18577 * disk/ata_pthru.c: Likewise.
18578 * disk/dmraid_nvidia.c: Likewise.
18579 * disk/ieee1275/nand.c: Likewise.
18580 * disk/ieee1275/ofdisk.c: Likewise.
18581 * disk/loopback.c: Likewise.
18582 * disk/lvm.c: Likewise.
18583 * disk/mdraid_linux.c: Likewise.
18584 * disk/raid.c: Likewise.
18585 * disk/raid6_recover.c: Likewise.
18586 * disk/scsi.c: Likewise.
18587 * efiemu/main.c: Likewise.
18588 * efiemu/mm.c: Likewise.
18589 * efiemu/pnvram.c: Likewise.
18590 * efiemu/symbols.c: Likewise.
18591 * font/font.c: Likewise.
18592 * fs/cpio.c: Likewise.
18593 * fs/hfsplus.c: Likewise.
18594 * fs/iso9660.c: Likewise.
18595 * fs/jfs.c: Likewise.
18596 * fs/minix.c: Likewise.
18597 * fs/ntfs.c: Likewise.
18598 * fs/ntfscomp.c: Likewise.
18599 * fs/reiserfs.c: Likewise.
18600 * fs/ufs.c: Likewise.
18601 * fs/xfs.c: Likewise.
18602 * gettext/gettext.c: Likewise.
18603 * include/grub/auth.h: Likewise.
18604 * kern/elf.c: Likewise.
18605 * kern/file.c: Likewise.
18606 * kern/ieee1275/init.c: Likewise.
18607 * kern/ieee1275/mmap.c: Likewise.
18608 * kern/ieee1275/openfw.c: Likewise.
18609 * kern/powerpc/dl.c: Likewise.
18610 * kern/sparc64/dl.c: Likewise.
18611 * lib/arg.c: Likewise.
18612 * loader/i386/bsd.c: Likewise.
18613 * loader/i386/bsdXX.c: Likewise.
18614 * loader/i386/efi/linux.c: Likewise.
18615 * loader/i386/efi/xnu.c: Likewise.
18616 * loader/i386/ieee1275/linux.c: Likewise.
18617 * loader/i386/linux.c: Likewise.
18618 * loader/i386/multiboot.c: Likewise.
18619 * loader/i386/pc/linux.c: Likewise.
18620 * loader/i386/pc/multiboot2.c: Likewise.
18621 * loader/i386/xnu.c: Likewise.
18622 * loader/ieee1275/multiboot2.c: Likewise.
18623 * loader/macho.c: Likewise.
18624 * loader/machoXX.c: Likewise.
18625 * loader/multiboot2.c: Likewise.
18626 * loader/multiboot_loader.c: Likewise.
18627 * loader/powerpc/ieee1275/linux.c: Likewise.
18628 * loader/sparc64/ieee1275/linux.c: Likewise.
18629 * loader/xnu.c: Likewise.
18630 * loader/xnu_resume.c: Likewise.
18631 * mmap/i386/pc/mmap.c: Likewise.
18632 * normal/menu_viewer.c: Likewise.
18633 * partmap/acorn.c: Likewise.
18634 * partmap/amiga.c: Likewise.
18635 * partmap/apple.c: Likewise.
18636 * script/lexer.c: Likewise.
18637 * term/gfxterm.c: Likewise.
18638 * term/i386/pc/serial.c: Likewise.
18639 * term/i386/pc/vga.c: Likewise.
18640 * term/ieee1275/ofconsole.c: Likewise.
18641 * term/terminfo.c: Likewise.
18642 * video/bitmap.c: Likewise.
18643 * video/efi_gop.c: Likewise.
18644 * video/efi_uga.c: Likewise.
18645 * video/fb/video_fb.c: Likewise.
18646 * video/i386/pc/vbe.c: Likewise.
18647 * video/readers/tga.c: Likewise.
18648 * video/video.c: Likewise.
18649
0ad46fd7 186502009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
18651
18652 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
18653 * commands/lspci.c: Likewise.
18654 * commands/probe.c: Likewise.
18655 * commands/xnu_uuid.c: Likewise.
18656 * conf/i386-coreboot.rmk: Likewise.
18657 * conf/i386-efi.rmk: Likewise.
18658 * conf/i386-ieee1275.rmk: Likewise.
18659 * conf/i386-pc.rmk: Likewise.
18660 * conf/powerpc-ieee1275.rmk: Likewise.
18661 * conf/sparc64-ieee1275.rmk: Likewise.
18662 * conf/x86_64-efi.rmk: Likewise.
18663 * fs/i386/pc/pxe.c: Likewise.
18664 * gettext/gettext.c: Likewise.
18665 * include/grub/efi/graphics_output.h: Likewise.
18666 * include/grub/i386/pc/memory.h: Likewise.
18667 * kern/env.c: Likewise.
18668 * kern/i386/qemu/startup.S: Likewise.
18669 * lib/i386/pc/biosnum.c: Likewise.
18670 * lib/i386/relocator.c: Likewise.
18671 * lib/i386/relocator_asm.S: Likewise.
18672 * lib/relocator.c: Likewise.
18673 * loader/i386/bsd.c: Likewise.
18674 * loader/i386/multiboot.c: Likewise.
18675 * loader/i386/pc/chainloader.c: Likewise.
18676 * loader/i386/xnu.c: Likewise.
18677 * loader/xnu.c: Likewise.
18678 * normal/main.c: Likewise.
18679 * normal/menu_text.c: Likewise.
18680 * util/getroot.c: Likewise.
18681 * util/grub-mkconfig_lib.in: Likewise.
18682 * util/grub.d/00_header.in: Likewise.
18683 * util/i386/pc/grub-mkimage.c: Likewise.
18684 * util/mkisofs/eltorito.c: Likewise.
18685 * util/mkisofs/exclude.h: Likewise.
18686 * util/mkisofs/hash.c: Likewise.
18687 * util/mkisofs/iso9660.h: Likewise.
18688 * util/mkisofs/joliet.c: Likewise.
18689 * util/mkisofs/mkisofs.c: Likewise.
18690 * util/mkisofs/mkisofs.h: Likewise.
18691 * util/mkisofs/multi.c: Likewise.
18692 * util/mkisofs/name.c: Likewise.
18693 * util/mkisofs/rock.c: Likewise.
18694 * util/mkisofs/tree.c: Likewise.
18695 * util/mkisofs/write.c: Likewise.
18696 * video/efi_gop.c: Likewise.
18697
009ec743
VS
186982009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
18699
18700 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
18701 size counting.
18702
0ad46fd7 187032009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
18704
18705 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
18706 * genmk.rb (class SCRIPT): Modify the target file instead of source.
18707
d3d30ea0
VS
187082009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18709
18710 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
18711 (GRUB_MOD_INIT(memrw)): Update help line.
18712
a34f5c70
VS
187132009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18714
18715 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
18716 Use grub_extcmd_t. All users updated.
18717 (options): New variable.
18718 (grub_cmd_read): Restructure for readability. Support "-v" option.
18719 (grub_cmd_write): Restructure for readability.
18720
0ad46fd7 187212009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
18722
18723 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
18724
0ad46fd7 187252009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
18726
18727 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
18728 with the actual contents of the correspondending make variable.
18729 * util/grub-mkrescue.in (pkglib_DATA): New variable.
18730 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
18731 specifying `*.lst' and `efiemu??.o'
18732
0ad46fd7 187332009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
18734
18735 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
18736 after function name.
18737 Noticed by Rene Engelhard <rene@debian.org>.
18738
dc77a799
VS
187392009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18740
18741 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
18742 (options): New variable.
18743 (iospace): Likewise.
18744 (grub_lspci_iter): List IO spaces if "-i" was given.
18745 (grub_cmd_lspci): Parse options.
18746 (GRUB_MOD_INIT(lspci)): Use extcmd.
18747 (GRUB_MOD_FINI(lspci)): Likewise.
18748
0ad46fd7 187492009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
18750
18751 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
18752 `function' keyword.
18753 Patch by Tony Mancill <tmancill@debian.org>.
18754
b5d5993b
VS
187552009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18756
18757 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
18758 (grub_uhci_portstatus): Likewise.
18759 (grub_uhci_portstatus): Add necessary delay.
11d18281 18760 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 18761
941903f2 187622009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 18763
941903f2 18764 * commands/acpi.c (options): Fix capitalizations and/or full stops.
18765 (GRUB_MOD_INIT): Likewise.
18766 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 18767 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
18768 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 18769 * commands/efi/loadbios.c (enable_rom_area): Likewise.
18770 (enable_rom_area): Likewise.
18771 (GRUB_MOD_INIT): Likewise.
18772 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
18773 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
18774 * commands/handler.c (GRUB_MOD_INIT): Likewise.
18775 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
18776 * commands/hexdump.c (options): Likewise.
18777 * commands/i386/cpuid.c (options): Likewise.
18778 (GRUB_MOD_INIT): Likewise.
18779 * commands/i386/pc/drivemap.c (options): Likewise.
18780 (GRUB_MOD_INIT): Likewise.
18781 * commands/i386/pc/halt (options): Likewise.
18782 (GRUB_MOD_INIT): Likewise.
18783 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
18784 * commands/i386/pc/pxecmd.c (options): Likewise.
18785 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
18786 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
18787 * commands/keystatus.c (options): Likewise.
18788 (GRUB_MOD_INIT): Likewise.
18789 * commands/loadenv.c (options): Likewise.
18790 * commands/ls.c (options): Likewise.
18791 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
18792 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
18793 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
18794 * commands/parttool.c (helpmsg): Likewise.
18795 * commands/probe.c (options): Likewise.
18796 * commands/read.c (GRUB_MOD_INIT): Likewise.
18797 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
18798 * commands/search.c (options): Likewise.
18799 * commands/sleep.c (options): Likewise.
18800 * commands/test.c (GRUB_MOD_INIT): Likewise.
18801 * commands/true.c (GRUB_MOD_INIT): Likewise.
18802 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
18803 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
18804 * lib/arg.c (help_options): Likewise.
e9bbb4e7 18805 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
18806 `$(XGETTEXT)'.
98a50553 18807 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 18808
0ad46fd7 188092009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 18810
ef3c2c3a 18811 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
18812 instead of specifying them explicit.
18813
7922f68b
RM
188142009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18815
18816 * NEWS: Add grub-probe support for GNU/Hurd.
18817
537ce47f
RM
188182009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18819
18820 * NEWS: gettext was added after 1.97.
18821
9b214e3a
RM
188222009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18823
18824 * util/mkisofs/msdos_partition.h: New file (based on
18825 include/grub/msdos_partition.h).
18826 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
18827 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
18828 (ld_options, main): Recognize --protective-msdos-label.
18829 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
18830 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
18831 (padblock_write): If `use_protective_msdos_label' is set, patch a
18832 protective DOS-style label in the output image.
18833
18834 * util/grub-mkrescue.in: Use --protective-msdos-label.
18835
e9309813
RM
188362009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18837
18838 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
18839 boot.
18840
0ae56929
RM
188412009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18842
18843 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
18844 variables.
18845 (ld_options, main): Recognize `--embedded-boot'.
18846 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
18847 declarations.
18848 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
18849 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
18850 (padblock_write): Likewise. Rewrite to support embedded boot image.
18851
18852 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
18853 for BIOS-based disk boot instead of only ElTorito.
18854
b15937b1
RM
188552009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18856
18857 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
18858 build (not needed for bootstrap).
18859
52cc3ce0
RM
188602009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18861
18862 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
18863 from i386-pc build (not needed for bootstrap).
18864 Rewrite a pair of strings.
18865
36f5ff04
RM
188662009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18867
18868 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
18869
973c6c85 188702009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
18871
18872 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
18873
05d21547
AB
188742009-12-21 Andreas Born <futur.andy@googlemail.com>
18875
18876 * kern/env.c (grub_env_context_open): Mark exported variable for
18877 reexport.
18878
0175d51f
AB
188792009-12-21 Andreas Born <futur.andy@googlemail.com>
18880
18881 * kern/env.c (grub_env_export): Create nonexistent variables before
18882 exporting.
18883
7f39d92f 188842009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 18885
7f39d92f 18886 * include/grub/auth.h: Include `<grub/i18n.h>'.
18887 (GRUB_GET_PASSWORD): Gettextizze string.
18888 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
18889 menu_text.c.
18890 (grub_utf8_to_ucs4_alloc): Fix indentation.
18891 (grub_print_ucs4): Likewise.
18892 (grub_getstringwidth): Likewise.
18893 (print_message_indented): New declaration.
18894 * normal/auth.c: Include `<grub/i18n.h>'.
18895 (grub_auth_check_authentication): Gettexttize string.
18896 * normal/cmdline.c: Include `<grub/i18n.h>'.
18897 (grub_cmdline_get): Gettextizze.
18898 * normal/color.c: Include `<grub/i18n.h>'.
18899 (grub_parse_color_name_pair): Gettexttize strings.
18900 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
18901 string (use `print_message_indented').
18902 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
18903 `include/grub/normal.h'.
18904 (print_message_indented): Renamed to ...
18905 (grub_print_message_indented): ... this. Remove `static' qualifer (now
18906 used in normal/main.c).
18907 (print_message): Use `grub_print_message_indented' instead of
18908 `print_message_indented'.
18909 (print_timeout): Likewise.
18910 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
18911 (grub_normal_print_device_info): Gettexttize strings.
18912 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
18913
3041d898
VS
189142009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18915
18916 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
18917 of arguments. Return number of tokens and not arguments. All users
18918 updated.
18919
de15bf8e
VS
189202009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18921
18922 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
18923 non-MSDOS paritions.
18924
e0a6ca52
VS
189252009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18926
18927 * include/grub/types.h (UNUSED): Removed since it conflicts with
18928 NetBSD headers. All users changed to direct __attribute__ ((unused)).
18929 Reported by Grégoire Sutre.
18930
b99518d1 189312009-12-19 Carles Pina i Estany <carles@pina.cat>
18932
18933 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
18934 (grub_print_ucs4_alloc): Likewise.
18935 (grub_getstringwidth): Likewise.
18936 * normal/main.c (grub_normal_init_page): Gettextize version string.
18937 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
18938 (getstringwidth): Renamed to ...
18939 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
18940 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
18941 (grub_print_ucs4): Remove `static' qualifer (now used in
18942 normal/main.c).
18943 * po/POTFILES: Add normal/main.c.
18944
bfd5e52b 189452009-12-19 Carles Pina i Estany <carles@pina.cat>
18946
18947 * normal/menu_text.c (STANDARD_MARGIN): New macro.
18948 (print_message_indented): Add `margin_left' and `margin_right'
18949 parameters.
18950 (print_message): Update `print_message_indented' calls. Adds '\n' to the
18951 strings.
18952 (print_timeout): Use `print_message_indented' to print the message.
18953 Deletes `second_stage' parameter.
18954 (run_menu): Update `print_timeout' calls.
18955
5a1ad2b9
VS
189562009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18957
18958 Fix console palette on OpenFirmware.
18959
18960 * term/ieee1275/ofconsole.c (MAX): Removed.
18961 (colors): Redone based on VGA palette.
18962 (grub_ofconsole_setcolor): Discard brightness bit since only 8
18963 colors are supported.
18964 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
18965
b045f00a
VS
189662009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18967
18968 Fix potential EfiEmu double prepare.
18969
18970 * efiemu/main.c (prepared): New variable
18971 (grub_efiemu_unload): Set prepare to '0'.
18972 (grub_efiemu_prepare): Return if already prepared. Set prepared.
18973
18974 set_virtual_address_map support.
18975
18976 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
18977 prototype.
18978 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
18979 prototype.
18980 (grub_efiemu_crc32): Likewise.
18981 (grub_efiemu_crc64): Likewise.
18982 (grub_efiemu_set_virtual_address_map): Likewise.
18983 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
18984 New definition.
18985 (grub_autoefi_set_virtual_address_map): Likewise.
18986 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
18987 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
18988 Restructure flow to accomodate it.
18989 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
18990 (grub_efiemu_crc): Recompute CRC32.
18991 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
18992 (efiemu_ptv_relocated): ... this. Made global. All users updated.
18993 * efiemu/symbols.c (relocated_handle): New variable.
18994 (grub_efiemu_free_syms): Free relocated_handle.
18995 (grub_efiemu_alloc_syms): Allocate relocated_handle.
18996 (grub_efiemu_write_sym_markers): New function.
18997 (grub_efiemu_set_virtual_address_map): Likewise.
18998
18999 Newer XNU parameters.
19000
19001 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
19002 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
19003 (grub_xnu_fill_devicetree): New prototype.
19004 (grub_xnu_heap_real_start): New variable.
19005 * loader/xnu.c (get_name_ptr): New function.
19006 (grub_xnu_load_driver): Fill namelen and name.
19007
19008 64-bit xnu support.
19009
19010 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
19011 and 'loader/macho64.c'.
19012 * conf/i386-pc.rmk: Likewise.
19013 * conf/x86_64-efi.rmk: Likewise.
19014 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
19015 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
19016 * include/grub/macho.h (grub_macho_segment64): New structure.
19017 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
19018 (grub_macho_size32): ... to this.
19019 (grub_macho32_get_entry_point): Renamed from ...
19020 (grub_macho_get_entry_point32): ... to this.
19021 (grub_macho_contains_macho64): New prototype.
19022 (grub_macho_size64): Likewise.
19023 (grub_macho_get_entry_point64): Likewise.
19024 (grub_macho32_load): Renamed from ...
19025 (grub_macho_load32): ... to this.
19026 (grub_macho32_filesize): Renamed from ...
19027 (grub_macho_filesize32): ... to this.
19028 (grub_macho32_readfile): Renamed from ...
19029 (grub_macho_readfile32): ... to this.
19030 (grub_macho_filesize64): New prototype.
19031 (grub_macho_readfile64): Likewise.
19032 (grub_macho_parse32): Likewise.
19033 (grub_macho_parse64): Likewise.
19034 * loader/macho.c: Split into ...
19035 * loader/machoXX.c: ... and this. Replace 32 with XX.
19036 * loader/macho32.c: New file.
19037 * loader/macho64.c: Likewise.
19038 * loader/xnu.c (grub_xnu_is_64bit): New variable.
19039 (grub_cmd_xnu_kernel): Make 32-bit only.
19040 (grub_cmd_xnu_kernel64): New function.
19041 (grub_xnu_load_driver): Support Mach-O 64.
19042 (grub_cmd_xnu_mkext): Likewise.
19043 * util/grub.d/30_os-prober.in (osx_entry): New function.
19044 Generate entries for 64-bit boot too.
19045
19046 Eliminate ad-hoc tree format in XNU and EfiEmu.
19047
19048 * efiemu/main.c (grub_efiemu_prepare): Update comment.
19049 * efiemu/pnvram.c: Rewritten to use environment variables.
19050 All users updated.
19051
19052 Inline utf16_to_utf8.
19053
19054 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
19055 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
19056 All users updated.
19057 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
19058
19059 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
19060 * commands/usbtest.c (grub_usb_get_string): ... move here.
19061 (usb_print_str): Fix error handling.
19062 * include/grub/usb.h (grub_usb_get_string): Remove.
19063
19064 UTF-8 to UTF-16 transformation.
19065
19066 * conf/common.rmk (pkglib_MODULES): Add charset.mod
19067 (charset_mod_SOURCES): New variable.
19068 (charset_mod_CFLAGS): Likewise.
19069 (charset_mod_LDFLAGS): Likewise.
19070 * include/grub/utf.h: New file.
19071 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
19072
19073 Support for device properties.
19074
19075 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
19076 (grub_xnu_devprop_device_header): Likewise.
19077 (grub_xnu_devprop_device_descriptor): Likewise.
19078 (grub_xnu_devprop_add_device): New prototype.
19079 (grub_xnu_devprop_remove_device): Likewise.
19080 (grub_xnu_devprop_remove_property): Likewise.
19081 (grub_xnu_devprop_add_property_utf8): Likewise.
19082 (grub_xnu_devprop_add_property_utf16): Likewise.
19083 (grub_cpu_xnu_init): Likewise.
19084 (grub_cpu_xnu_fini): Likewise.
19085 (grub_cpu_xnu_unload): Likewise.
19086 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
19087 (property_descriptor): Likewise.
19088 (devices): New variable.
19089 (grub_xnu_devprop_remove_property): New function.
19090 (grub_xnu_devprop_add_device): Likewise.
19091 (grub_xnu_devprop_remove_device): Likewise.
19092 (grub_xnu_devprop_add_property): Likewise.
19093 (grub_xnu_devprop_add_property_utf8): Likewise.
19094 (grub_xnu_devprop_add_property_utf16): Likewise.
19095 (hextoval): Likewise.
19096 (grub_cpu_xnu_fill_devprop): Likewise.
19097 (grub_cmd_devprop_load): Likewise.
19098 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
19099 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
19100 (cmd_devprop_load): New variable.
19101 (grub_cpu_xnu_init): New function.
19102 (grub_cpu_xnu_fini): Likewise.
19103 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
19104 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
19105 (grub_cmd_xnu_devtree): Likewise.
19106 (hextoval): New function.
19107 (unescape): Likewise.
19108 (grub_xnu_fill_devicetree): Likewise.
19109
19110 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
19111 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
19112
0945f181
VS
191132009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19114
19115 Workaround for broken ATI VBE.
19116
19117 * video/i386/pc/vbe.c (last_set_mode): New variable.
19118 (grub_vbe_set_video_mode): Set 'last_set_mode'.
19119 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
19120 (grub_video_vbe_setup): Don't check for reserved flag.
19121
0ad46fd7 191222009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
19123
19124 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
19125 the `find' command.
19126
c179ebe4
VS
191272009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
19128
19129 UUID support for HFS.
19130
19131 * fs/hfs.c (grub_hfs_uuid): New function.
19132 (grub_hfs_fs): New value .uuid.
19133 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
19134
0ad46fd7 191352009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
19136
19137 Fix a segfault with parsing unknown long options.
19138
19139 * util/grub-mkrelpath.c (options): Zero terminate it.
19140
c4a3e41a
CPE
191412009-12-13 Carles Pina i Estany <carles@pina.cat>
19142
19143 * include/grub/misc.h (grub_puts): New declaration.
19144 (grub_puts_): Likewise.
a22008a6 19145 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
19146 (grub_puts_): Likewise.
19147
2e8a7602
RM
191482009-12-13 Robert Millan <rmh.grub@aybabtu.com>
19149
19150 * util/grub-probe.c (probe): Improve error message.
19151
b50b77b9
RM
191522009-12-13 Robert Millan <rmh.grub@aybabtu.com>
19153
19154 * loader/i386/multiboot_elfxx.c
19155 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
19156 initialization.
19157
191582009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
19159
19160 Relocator framework
19161
19162 * loader/i386/xnu_helper.S: Removed. All users updated.
19163 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
19164 (relocator_mod_SOURCES): New variable.
19165 (relocator_mod_CFLAGS): Likewise.
19166 (relocator_mod_LDFLAGS): Likewise.
19167 (relocator_mod_ASFLAGS): Likewise.
19168 * conf/x86_64.rmk: Likewise.
19169 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
19170 (grub_multiboot_payload_entry_offset): Likewise.
19171 (grub_multiboot_forward_relocator): Likewise.
19172 (grub_multiboot_forward_relocator_end): Likewise.
19173 (grub_multiboot_backward_relocator): Likewise.
19174 (grub_multiboot_backward_relocator_end): Likewise.
19175 (grub_multiboot_payload_eip): New variable.
19176 (grub_multiboot_payload_orig): Likewise.
19177 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
19178 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
19179 * include/grub/i386/memory.h
19180 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
19181 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
19182 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
19183 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
19184 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
19185 * include/grub/i386/relocator.h: New file.
19186 * include/grub/x86_64/relocator.h: Likewise.
19187 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
19188 (XNU_RELOCATOR): New macro.
19189 (grub_xnu_launcher_start): Remove.
19190 (grub_xnu_launcher_end): Likewise.
19191 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
19192 (grub_xnu_heap_real_start): Remove.
19193 (grub_xnu_heap_start): Change to void *. All users updated.
19194 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
19195 * lib/i386/relocator.c: New file.
19196 * lib/i386/relocator_asm.S: Likewise.
19197 * lib/i386/relocator_backward.S: Likewise.
19198 * lib/mips/relocator.c: Likewise.
19199 * lib/mips/relocator_asm.S: Likewise.
19200 * lib/relocator.c: Likewise.
19201 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
19202 (entry): Removed.
19203 (playground): Likewise.
19204 (grub_multiboot_payload_orig): New variable.
19205 (grub_multiboot_payload_dest): Likewise.
19206 (grub_multiboot_payload_size): Likewise.
19207 (grub_multiboot_payload_eip): Likewise.
19208 (grub_multiboot_payload_esp): Likewise.
19209 (grub_multiboot_boot): Use grub_relocator32_boot.
19210 (grub_multiboot_unload): Free relocators.
19211 (grub_multiboot): Setup stack. Use relocators.
19212 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
19213 (grub_multiboot_load_elfXX): Use relocators.
19214 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
19215 (grub_multiboot_payload_size): Likewise.
19216 (grub_multiboot_payload_dest): Likewise.
19217 (grub_multiboot_payload_entry_offset): Likewise.
19218 (grub_multiboot_forward_relocator): Likewise.
19219 (grub_multiboot_backward_relocator): Likewise.
19220 (grub_multiboot_real_boot): Likewise.
19221 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
19222 (grub_xnu_entry_point): Likewise.
19223 (grub_xnu_arg1): Likewise.
19224 (grub_xnu_stack): Likewise.
19225 (grub_xnu_launch): Removed.
19226 (grub_xnu_boot_resume): New function.
19227 (grub_xnu_boot): Use relocators.
19228 * loader/i386/xnu_helper.S: Removed.
19229 * loader/xnu.c (grub_xnu_heap_start): New variable.
19230 (grub_xnu_heap_size): Likewise.
19231 (grub_xnu_heap_malloc): Use relocators.
19232 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
19233
29eb90c6
VS
192342009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
19235
19236 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
19237 anything.
19238
31027430
CPE
192392009-12-13 Carles Pina i Estany <carles@pina.cat>
19240
19241 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
19242 GRUB_ERR_NONE before calling grub_env_set.
19243
dc0c71d9
RM
192442009-12-12 Robert Millan <rmh@aybabtu.com>
19245
19246 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
19247 * genmk.rb (video): New variable.
19248 (CLEANFILES, VIDEOFILES): Add #{video}.
19249 (#{video}): New target rule.
19250 * genvideolist.sh: New file.
19251 * Makefile.in (pkglib_DATA): Add video.lst.
19252 (video.lst): New target rule.
19253 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
19254 `video.lst'.
19255 * util/grub.d/30_os-prober.in: Replace `vbe' with
19256 ${GRUB_VIDEO_BACKEND}.
19257
2a4bfcf0
RM
192582009-12-11 Robert Millan <rmh.grub@aybabtu.com>
19259
19260 * THANKS: Add David Miller.
19261
2a3aa4d5
RM
192622009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
19263
19264 libpciaccess support.
19265
19266 * Makefile.in (LIBPCIACCESS): New variable.
19267 (enable_grub_emu_pci): Likewise.
19268 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
19269 util/pci.c and commands/lspci.c.
19270 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
19271 * configure.ac (grub-emu-pci): New option.
19272 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
19273 (grub_pci_device_unmap_range): Likewise.
19274 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
19275 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
19276 (grub_pci_address_t) [!GRUB_UTIL]: New type.
19277 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
19278 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
19279 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
19280 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
19281 * include/grub/pciutils.h: New file.
19282 * util/pci.c: Likewise.
19283
0ad46fd7 192842009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
19285
19286 * util/misc.c: Don't include <errno.h> twice.
19287
0ad46fd7 192882009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
19289
19290 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
19291 name in an error message.
19292 (grub_biosdisk_rw): Likewise.
19293
2e59983c
VS
192942009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19295
19296 Eliminate NTFS 4Gib barrier.
19297
19298 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
19299 (read_run_data): Likewise.
19300 (grub_ntfs_read_run_list): Likewise.
19301 (grub_ntfs_read_block): Likewise.
19302 (grub_ntfs_iterate_dir): Likewise.
19303 (read_mft): Likewise.
19304 (read_data): Likewise.
19305 Use COM_LOG_LEN.
19306 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
19307 to avoid 64-bit division
19308 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
19309 (grub_ntfs_rlst): Use grub_disk_addr_t.
19310
71ee178a
VS
193112009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19312
19313 Eliminate grub-fstest 4Gib barrier.
19314
19315 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
19316 (read_file): Fix error reporting.
19317
2520d4b8
VS
193182009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19319
19320 Eliminate hexdump 4Gib barrier.
19321
19322 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
19323 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
19324
e1f27065
VS
193252009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19326
19327 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
19328 Fixes amarsh bug.
19329
1a0f7f45
RM
193302009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
19331
19332 Remove miscellaneous files in distclean target.
19333
19334 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
19335
c631d9fb
CW
193362009-12-09 Colin Watson <cjwatson@ubuntu.com>
19337
19338 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
19339 if they're already set. This resolves the conflict between my
19340 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
19341 fixing the --grub-probe option again.
19342 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
19343 change on 2009-10-06, so that we now once again source
19344 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
19345
7c7b6106
RM
193462009-12-08 Robert Millan <rmh.grub@aybabtu.com>
19347
19348 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
19349 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
19350 `util/devicemap.c'.
19351
e3069ec1
CPE
193522009-12-08 Carles Pina i Estany <carles@pina.cat>
19353
19354 * include/grub/misc.h (grub_printf_): New declaration.
19355 * kern/misc.c (grub_printf_): New definition.
19356 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
19357 instead of `grub_printf' and `_'.
19358 * normal/menu_entry.c (store_completion): Likewise.
19359 (run): Likewise.
19360 (grub_menu_entry_run): Likewise.
19361 * normal/menu_text.c (grub_wait_after_message): Likewise.
19362 (notify_booting): Likewise.
19363 (notify_fallback): Likewise.
19364 (notify_execution_failure): Likewise.
19365
d6ceebf1
CW
193662009-12-07 Colin Watson <cjwatson@ubuntu.com>
19367
19368 * configure.ac: Check for vasprintf.
19369 * util/misc.c (asprintf): Move allocation from here ...
19370 (vasprintf): ... to here. New function.
19371 (xasprintf): New function.
19372 * include/grub/util/misc.h (vasprintf, xasprintf): Add
19373 prototypes.
19374 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
19375 * util/grub-mkfont.c (write_font): Likewise.
19376 * util/grub-probe.c (probe): Likewise.
19377 * util/hostdisk.c (make_device_name): Likewise.
19378
de6daa8b
DM
193792009-12-06 David S. Miller <davem@sunset.davemloft.net>
19380
19381 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
19382 anything even prefixed with 'cdrom' as a cdrom.
19383
0ad46fd7 193842009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
19385
19386 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
19387 mount points.
19388
98d3dc02
CPE
193892009-12-05 Carles Pina i Estany <carles@pina.cat>
19390
19391 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
19392 grub_gettext_msg_list.
19393 (grub_gettext_gettranslation_from_position): Return const char *
19394 and not char *.
a2c1332b 19395 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
19396 returns from the list if existing there.
19397 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
19398 (grub_gettext_delete_list): Delete the list.
19399 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
19400 lang environment variable is changed.
19401 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
19402
b283f108
VS
194032009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
19404
19405 Rename kernel.mod to kernel.img.
19406
19407 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
19408 (kernel_mod_EXPORTS): Rename to ...
19409 (kernel_img_EXPORTS): ... this.
19410 (kernel_mod_SOURCES): Rename to ...
19411 (kernel_img_SOURCES): ... this.
19412 (kernel_mod_HEADERS): Rename to ...
19413 (kernel_img_HEADERS): ... this. All users updated.
19414 (kernel_mod_CFLAGS): Rename to ...
19415 (kernel_img_CFLAGS): ... this.
19416 (kernel_mod_ASFLAGS): Rename to ...
19417 (kernel_img_ASFLAGS): ... this.
19418 (kernel_mod_LDFLAGS): Rename to ...
19419 (kernel_img_LDFLAGS): ... this.
19420 * conf/x86_64-efi.rmk: Likewise.
19421 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
19422 (read_kernel_image): ... this. All users updated.
19423 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
19424
69055f8a
CPE
194252009-12-05 Carles Pina i Estany <carles@pina.cat>
19426
19427 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
19428 (print_spaces): New function.
19429 (grub_print_ucs4): New function.
19430 (getstringwidth): New function.
19431 (print_message_indented): New function.
19432 (print_message): Gettexttize strings using print_message_indented.
19433 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
19434 width.
19435 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 19436 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
19437 Gettextize.
19438 * normal/menu_entry.c (store_completion): Cleanup the gettextized
19439 string.
19440 (run): Likewise.
19441 (grub_menu_entry_run): Likewise.
19442 * PO/POTFILES: Add normal/menu_entry.c.
19443
f616f51c
VS
194442009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
19445
19446 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
19447
57bbe3be
CPE
194482009-12-05 Carles Pina i Estany <carles@pina.cat>
19449
19450 * util/grub-install.in: Install gettext .mo files.
19451 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
19452
013d67a1
CPE
194532009-12-05 Carles Pina i Estany <carles@pina.cat>
19454
19455 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
19456 grub_dprintf.
19457
fb954db0
RM
194582009-12-05 Robert Millan <rmh.grub@aybabtu.com>
19459
19460 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
19461 non-firmware-dependant one in realmode.S takes precedence.
19462
6b8474f8
RM
194632009-12-04 Robert Millan <rmh.grub@aybabtu.com>
19464
19465 * commands/halt.c: Replace misc arch-specific headers with
19466 `<grub/misc.h>'.
19467 * commands/reboot.c: Likewise.
19468 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
19469 `<grub/misc.h>'.
19470 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
19471 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
19472 (kernel_img_SOURCES): ... to here.
19473
19474 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
19475 * include/grub/i386/pc/init.h: Likewise.
19476 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
19477 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19478
19479 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
19480
19481 * include/grub/i386/halt.h: Remove.
19482 * include/grub/i386/reboot.h: Likewise.
19483
19484 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
19485
4b2e6ca2
DM
194862009-12-03 David S. Miller <davem@sunset.davemloft.net>
19487
19488 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
19489 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
19490 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
19491 "progname.h"
19492 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
19493 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19494 (usage): Add missing comma in printf.
19495
5239348f
RM
194962009-12-02 Robert Millan <rmh.grub@aybabtu.com>
19497
19498 Use the same reboot approach on i386 coreboot and qemu as we do on
19499 BIOS.
19500
19501 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
19502 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
19503 * kern/i386/reboot.c: Remove.
19504 * include/grub/i386/reboot.h (grub_reboot): Export function.
19505 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
19506 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
19507 0xf000:0xfff0 instead of 0xffff:0x0000.
19508 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
19509 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
19510
ef34cbd4
RM
195112009-11-30 Robert Millan <rmh.grub@aybabtu.com>
19512
19513 Fix $srcdir != $objdir build.
19514
19515 * Makefile.in (po/%.po): Rewrite as ...
19516 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
19517
dc9837ea
ST
195182009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
19519
19520 Fix GNU/Hurd grub-install crash.
19521 * util/grub-probe.c (probe): Try to access `path' only when it is not
19522 NULL.
19523
2f857f98
VS
195242009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19525
19526 Correct module naming.
19527
19528 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
19529 (GRUB_MOD_INIT(efi_uga)): ... to this
19530 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
19531 (GRUB_MOD_FINI(efi_uga)): ... to this
19532 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
19533 (GRUB_MOD_INIT(efi_gop)): ... to this
19534 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
19535 (GRUB_MOD_FINI(efi_gop)): ... to this
19536
c5448046
RM
195372009-11-28 Robert Millan <rmh.grub@aybabtu.com>
19538
19539 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
19540 translatable.
19541 (usage): Translate `arg' strings using gettext().
19542 Thanks to Jordi Mallach for the suggestion.
19543
c85184ad
VS
195442009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19545
19546 GOP support. Based on patch from Bean
19547 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
19548
19549 * video/efi_gop.c: New file.
19550 * include/grub/efi/graphics_output.h: Likewise.
19551 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
19552 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
19553 variables.
19554 * conf/x86_64-efi.rmk: Likewise.
19555
8a4c48d8
VS
195562009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19557
19558 Rename efi_fb to efi_uga.
19559
19560 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
19561 'efi_uga.mod'.
19562 (efi_fb_mod_SOURCES): Rename this ...
19563 (efi_uga_mod_SOURCES): ... to this.
19564 (efi_fb_mod_CFLAGS): Rename this ...
19565 (efi_uga_mod_CFLAGS): ... to this.
19566 (efi_fb_mod_LDFLAGS): Rename this ...
19567 (efi_uga_mod_LDFLAGS): ... to this.
19568 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
19569 'efi_uga.mod'.
19570 (efi_fb_mod_SOURCES): Rename this ...
19571 (efi_uga_mod_SOURCES): ... to this.
19572 (efi_fb_mod_CFLAGS): Rename this ...
19573 (efi_uga_mod_CFLAGS): ... to this.
19574 (efi_fb_mod_LDFLAGS): Rename this ...
19575 (efi_uga_mod_LDFLAGS): ... to this.
19576 * video/efi_fb.c: Move this ...
19577 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
19578
fb6c1a7b
RM
195792009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19580
19581 * po/README: New file. Explain our PO file workflow.
19582
3bc7896c
RM
195832009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19584
19585 * po/ChangeLog: Remove. Move relevant entries back to ...
19586 * ChangeLog: ... here.
19587 * po/ca.po: Remove (now handled by TLP).
19588 * po/id.po: Likewise.
19589 * po/zh_CN.po: Likewise.
19590 * Makefile.in (LINGUAS): Initialize in a way that supports
19591 empty set.
19592
9ed4841d
RM
195932009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19594
19595 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
19596 reliing on po/LINGUAS.
19597 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
19598 (po/%.po): ... this.
19599
0ad46fd7 196002009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
19601
19602 * util/i386/efi/grub-mkimage.c: Include "progname.h".
19603 (main): Use `program_name' instead of nonexistent `progname'.
19604
e30dd392
FZ
196052009-11-26 Felix Zielcke <fzielcke@z-51.de>
19606
19607 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19608 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
19609
7656de4f
RM
196102009-11-26 Robert Millan <rmh.grub@aybabtu.com>
19611
19612 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
19613 commit.
19614 * conf/i386-efi.rmk: Likewise.
19615 * conf/i386-ieee1275.rmk: Likewise.
19616 * conf/powerpc-ieee1275.rmk: Likewise.
19617 * conf/sparc64-ieee1275.rmk: Likewise.
19618 * conf/x86_64-efi.rmk: Likewise.
19619
db77c4d4
FZ
196202009-11-26 Felix Zielcke <fzielcke@z-51.de>
19621
19622 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
19623
a755bb04
FZ
196242009-11-26 Felix Zielcke <fzielcke@z-51.de>
19625
19626 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
19627
8a4c07fd
RM
196282009-11-26 Robert Millan <rmh.grub@aybabtu.com>
19629
19630 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
19631 (grub_mkdevicemap_SOURCES): New variable.
19632 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
19633 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
19634 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
19635 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
19636 (grub_mkdevicemap_SOURCES): Remove.
19637 * conf/i386-efi.rmk: Likewise.
19638 * conf/i386-ieee1275.rmk: Likewise.
19639 * conf/i386-pc.rmk: Likewise.
19640 * conf/powerpc-ieee1275.rmk: Likewise.
19641 * conf/sparc64-ieee1275.rmk: Likewise.
19642 * conf/x86_64-efi.rmk: Likewise.
19643 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
19644 (usage): Fix strings to use `program_name'.
19645 (main): Initialize gettext.
19646 * util/grub-editenv.c: Likewise.
19647 * util/grub-emu.c: Likewise.
19648 * util/grub-fstest.c: Likewise.
19649 * util/grub-mkdevicemap.c: Likewise.
19650 * util/grub-mkfont.c: Likewise.
19651 * util/grub-mkrelpath.c: Likewise.
19652 * util/grub-pe2elf.c: Likewise.
19653 * util/grub-probe.c: Likewise.
19654 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
19655 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
19656 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19657
19658 * util/misc.c: Include `"progname.h"'.
19659 (progname): Remove variable.
19660 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
19661
6f61ed55
FZ
196622009-11-25 Felix Zielcke <fzielcke@z-51.de>
19663
19664 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
19665 printf and print a newline after the menuentry header line.
19666 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
19667
f022876b
FZ
196682009-11-25 Felix Zielcke <fzielcke@z-51.de>
19669
19670 autoconf >= 2.60 support $(localedir).
19671
19672 * INSTALL: Note that autoconf 2.60 is required.
19673 * configure.ac (AC_PREREQ): Bump to 2.60.
19674 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
19675 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
19676
6717926e
YB
196772009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
19678
19679 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
19680 aclocal is run.
19681
08806a54
RM
196822009-11-25 Robert Millan <rmh.grub@aybabtu.com>
19683
19684 * normal/main.c (grub_normal_read_line): Fix off-by-one
19685 buffer overflow.
19686
13b33fba
RM
196872009-11-25 Robert Millan <rmh.grub@aybabtu.com>
19688
19689 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
19690 "parser.grub" in grub_command_execute() call.
19691
4a8572e9
CPE
196922009-11-24 Carles Pina i Estany <carles@pina.cat>
19693
19694 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
19695 * conf/i386-efi.rmk: Likewise.
19696 * conf/i386-ieee1275.rmk: Likewise.
19697 * conf/i386-pc.rmk: Likewise.
19698 * conf/powerpc-ieee1275.rmk: Likewise.
19699 * conf/sparc64-ieee1275.rmk: Likewise.
19700 * conf/x86_64-efi.rmk: Likewise.
19701 * gettext/gettex.c: Include <grub/i18n.h>.
19702 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
19703 here ...
19704 * include/grub/i18n.h: ... to here
19705 * include/grub/i18n.h: ... to here.
19706 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 19707 (grub_gettext_dummy): Move above user.
4a8572e9 19708
bee48093
FZ
197092009-11-24 Felix Zielcke <fzielcke@z-51.de>
19710
19711 * util/Makefile.in (install-local): Convert a `for' into a normal
19712 shell expansion.
19713
a031e91c
RM
197142009-11-24 Robert Millan <rmh.grub@aybabtu.com>
19715
19716 * autogen.sh: Add automake call.
19717 * config.guess: Remove.
19718 * config.sub: Likewise.
19719 * install-sh: Likewise.
19720
26bec39d
FZ
197212009-11-24 Felix Zielcke <fzielcke@z-51.de>
19722
19723 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
19724
8e2532fd
FZ
197252009-11-24 Felix Zielcke <fzielcke@z-51.de>
19726
19727 * util/Makefile.in (install-local): Convert a make `$(foreach)'
19728 function to a normal shell `for'.
19729
fefa1b7d
FZ
197302009-11-24 Felix Zielcke <fzielcke@z-51.de>
19731
19732 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19733
4501250b
FZ
197342009-11-24 Felix Zielcke <fzielcke@z-51.de>
19735
19736 * util/grub-mkrelpath.c: New file.
19737 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
19738 (grub_mkrelpath_SOURCES): New variable.
19739 * include/grub/util/misc.h: New function prototype.
19740 * util/misc.c (make_system_path_relative_to_its_root): New function.
19741
19742 * util/grub-mkconfig_lib.in (bindir): New variable.
19743 (grub_mkrelpath): Likewise.
19744 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
19745
19746 * util/probe.c (probe): Make the file path relative to its root.
19747 Change a info message to use the GRUB path. Enable again the
19748 check if we can read the file with GRUB facilities.
19749
19750 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
19751 to its root.
19752
11d9778b
FZ
197532009-11-24 Felix Zielcke <fzielcke@z-51.de>
19754
19755 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
19756 platform.
19757
4465287d
FZ
197582009-11-24 Felix Zielcke <fzielcke@z-51.de>
19759
19760 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
19761 strncmp().
19762
62b47f22
FZ
197632009-11-24 Felix Zielcke <fzielcke@z-51.de>
19764
19765 * util/getroot.c (grub_util_is_dmraid): New function.
19766 (grub_util_get_dev_abstraction): Treat dmraid and multipath
19767 devices as normal ones, not as LVM.
19768
1eafb9b9 197692009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
19770
19771 * conf/common.rmk: Add grub-gettext_lib target and updates
19772 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
19773 LDFLAGS.
19774 * gettext/gettext.c: New file. (Reads mo files).
19775 * include/grub/file.h (grub_file_pread): New prototype.
19776 * include/grub/i18n.h (_): New prototype.
19777 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
19778 prototypes.
19779 * kern/misc.c (grub_gettext_dummy): New function.
19780 * normal/menu_text.c: Include <grub/i18n.h>.
19781 * normal/menu_text.c (print_timeout): Gettexttize string.
19782 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
19783 * po/POTFILES: Add `normal/menu_text.c'.
19784 * po/ca.po: Add new translations.
c3ea6bd4
CPE
19785 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
19786 gettext module and defines locale_dir and lang in grub.cfg.
19787 * NEWS: Add gettext support.
19788
0fdb2568
RM
197892009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19790
19791 * util/hostdisk.c: Include `<grub/i18n.h>'.
19792 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
19793 (make_device_name): Rewrite using asprintf.
19794 (convert_system_partition_to_system_disk): Replace 0 with NULL.
19795 (find_system_device): If a device is not found, generate one just
19796 by reusing the OS path name.
19797 (read_device_map): Make it permissible for device.map not to exist.
19798
f515aa62
RM
197992009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19800
19801 * script/sh/execute.c: Move from here ...
19802 * script/execute.c: ... to here. Update all users.
19803 * script/sh/function.c: Move from here ...
19804 * script/function.c: ... to here. Update all users.
19805 * script/sh/lexer.c: Move from here ...
19806 * script/lexer.c: ... to here. Update all users.
19807 * script/sh/main.c: Move from here ...
19808 * script/main.c: ... to here. Update all users.
19809 * script/sh/parser.y: Move from here ...
19810 * script/parser.y: ... to here. Update all users.
19811 * script/sh/script.c: Move from here ...
19812 * script/script.c: ... to here. Update all users.
19813
f84b481b
RM
198142009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19815
19816 * configure.ac: Detect all `emu' platforms. Define
19817 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
19818 --enable-grub-emu logic. Disable include/grub/machine
19819 symlink on `emu' platforms.
19820
19821 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
19822 * gensymlist.sh.in: Likewise.
19823
19824 * include/grub/i386/coreboot/machine.h: Remove file.
19825 * include/grub/i386/efi/machine.h: Likewise.
19826 * include/grub/i386/ieee1275/machine.h: Likewise.
19827 * include/grub/i386/pc/machine.h: Likewise.
19828 * include/grub/i386/qemu/machine.h: Likewise.
19829 * include/grub/powerpc/ieee1275/machine.h: Likewise.
19830 * include/grub/sparc64/ieee1275/machine.h: Likewise.
19831 * include/grub/x86_64/efi/machine.h: Likewise.
19832
19833 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
19834 * commands/halt.c: Likewise.
19835 * commands/reboot.c: Likewise.
19836 * include/grub/autoefi.h: Likewise.
19837 * include/grub/i386/at_keyboard.h: Likewise.
19838 * include/grub/i386/kernel.h: Likewise.
19839 * include/grub/i386/loader.h: Likewise.
19840 * include/grub/i386/pc/memory.h: Likewise.
19841 * kern/dl.c: Likewise.
19842 * kern/i386/coreboot/init.c: Likewise.
19843 * loader/i386/bsd.c: Likewise.
19844 * loader/i386/linux.c: Likewise.
19845 * loader/multiboot_loader.c: Likewise.
19846 * term/i386/pc/serial.c: Likewise.
19847 * term/usb_keyboard.c: Likewise.
19848
19849 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
19850 `<grub/machine/machine.h>'
19851 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
19852 * util/misc.c: Remove `<grub/machine/machine.h>' and
19853 `<grub/machine/time.h>'.
19854
19855 * Makefile.in (enable_grub_emu): Remove variable.
19856 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
19857
19858 * conf/any-emu.rmk: New file.
19859 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
19860 (grub_emu_init.c): Move from here ...
19861 * conf/any-emu.rmk: ... to here.
19862
19863 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
19864 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
19865 * conf/any-emu.rmk: ... to here.
19866
4efeab03
RM
198672009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19868
19869 * include/grub/parser.h (grub_parser_register): Document need
19870 of `name' parameter.
19871 * normal/main.c (grub_normal_read_line): Simplify prompt string.
19872 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
19873 "sh" to "grub".
19874
ea1dd8bf
RM
198752009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19876
19877 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
19878 `$(XGETTEXT)'.
19879 * include/grub/i18n.h (N_): New macro.
19880 * util/mkisofs/mkisofs.h: Likewise.
19881 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
19882 around N_().
19883 (usage): Use gettext() to translate help strings when printing them.
19884
0c140626
RM
198852009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19886
19887 Based on patch from Bean
19888 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
19889
19890 * video/efi_fb.c: New file.
19891 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
19892 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
19893 variables.
19894 * conf/x86_64-efi.rmk: Likewise.
19895
87d58298
RM
198962009-11-22 Robert Millan <rmh.grub@aybabtu.com>
19897
19898 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
19899 * util/i386/pc/grub-setup.c: Likewise.
19900
994cc3a3
ST
199012009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
19902
19903 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
19904 <hurd/fs.h>
19905 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
19906 file_get_storage_info to implement grub_guess_root_device.
19907
26a61d6a
FZ
199082009-11-21 Felix Zielcke <fzielcke@z-51.de>
19909
19910 * Makefile.in (target): Use make's builtin $(shell) function
19911 instead of calling directly $(SHELL) to create the locale directories,
19912 inside the $(foreach) function.
19913
74ff1dd5
FZ
199142009-11-21 Felix Zielcke <fzielcke@z-51.de>
19915
19916 * util/grub-mkrescue.in: Print an error and usage if output option
19917 has not been given.
19918
0b787d0e
FZ
199192009-11-21 Felix Zielcke <fzielcke@z-51.de>
19920
19921 Patch from Loïc Minier <loic.minier@ubuntu.com>.
19922 * util/grub.d/30_os-prober.in: Cope with Linux entries where
19923 root and /boot are on different devices.
19924
1164b270
RM
199252009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19926
19927 Fix build for srcdir != objdir.
19928
19929 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
19930 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
19931 $(srcdir).
19932 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
19933 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
19934 reference for input.
19935
13774a2f
RM
199362009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19937
19938 * util/grub-mkrescue.in: Use source directory direcly (without copiing
19939 or hardlinking it). Remove -J option, Joliet is not compatible with
19940 multiple source directories.
19941
efda854e
RM
199422009-11-21 Carles Pina i Estany <carles@pina.cat>
199432009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19944
19945 * util/grub-mkrescue.in: Recognize `--override-directory' option.
19946 (process_input_dir): New function. Process an arbitrary input
19947 directory.
19948 Misc adjustments to support both "override mode" and system-wide mode.
19949
6c09890c
FZ
199502009-11-20 Felix Zielcke <fzielcke@z-51.de>
19951
19952 * configure.ac (UNIFONT_BDF): Rename to ...
19953 (FONT_SOURCE): ... this. Update all users.
19954
a797824f
FZ
199552009-11-20 Felix Zielcke <fzielcke@z-51.de>
19956
19957 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
19958 to the list of unifont files to look for.
19959
cd4f42b0
RM
199602009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19961
19962 Patch from Joe Auricchio <jauricchio@gmail.com>
19963 * commands/minicmd.c (grub_mini_cmd_clear): New function.
19964 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
19965 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
19966
393c783d
FZ
199672009-11-19 Felix Zielcke <fzielcke@z-51.de>
19968
19969 * Makefile.in (install-local): Add a missing backslash.
19970
b2f1e327
FZ
199712009-11-19 Felix Zielcke <fzielcke@z-51.de>
19972
19973 * include/grub/x86_64/io.h: New file.
19974
f577f7a0
RM
199752009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19976
19977 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
19978 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
19979 Include `"progname.h"'.
19980 (main): Initialize gettext.
19981 * util/i386/pc/grub-setup.c: Gettexttize.
19982 * util/i386/pc/grub-mkimage.c: Likewise.
19983
19984 * Makefile.in (po/*.po): Redefine as ...
19985 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
19986
3bc7896c
RM
19987 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
19988
c37943b6
RM
199892009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19990
19991 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
19992 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
19993 (program_name): Remove.
19994 (main): Initialize gettext support.
6323f705
RM
19995 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
19996 Include `<libintl.h>'.
19997 (_): New macro.
c37943b6
RM
19998
19999 * util/mkisofs/eltorito.c: Gettexttize.
20000 * util/mkisofs/joliet.c: Likewise.
20001 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
20002 * util/mkisofs/multi.c: Likewise.
20003 * util/mkisofs/rock.c: Likewise.
20004 * util/mkisofs/tree.c: Likewise.
20005 * util/mkisofs/write.c: Likewise.
20006
3bc7896c
RM
20007 * po/POTFILES: Update with new files.
20008
5ce77c6e
RM
200092009-11-18 Robert Millan <rmh.grub@aybabtu.com>
20010
20011 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
20012 * util/mkisofs/iso9660.h: Likewise.
20013 * util/mkisofs/joliet.c: Likewise.
20014 * util/mkisofs/mkisofs.c: Likewise.
20015 * util/mkisofs/mkisofs.h: Likewise.
20016 * util/mkisofs/rock.c: Likewise.
20017 * util/mkisofs/tree.c: Likewise.
20018 * util/mkisofs/write.c: Likewise.
20019
20020 * util/mkisofs/eltorito.c (rcsid): Remove.
20021 * util/mkisofs/hash.c: Likewise.
20022 * util/mkisofs/joliet.c: Likewise.
20023 * util/mkisofs/name.c: Likewise.
20024 * util/mkisofs/rock.c: Likewise.
20025 * util/mkisofs/tree.c: Likewise.
20026 * util/mkisofs/write.c: Likewise.
20027
1dabbc77
RM
200282009-11-18 Robert Millan <rmh.grub@aybabtu.com>
20029
20030 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
20031 instead of static allocation.
20032 * util/mkisofs/match.h: Likewise.
20033
633877cb
RM
200342009-11-18 Robert Millan <rmh.grub@aybabtu.com>
20035
3bc7896c
RM
20036 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
20037 and `util/grub.d/10_linux.in'.
633877cb
RM
20038 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
20039 translatable Shell files.
20040
af1c0c85
RM
200412009-11-18 Robert Millan <rmh.grub@aybabtu.com>
20042
20043 * Makefile.in ($(srcdir)/aclocal.m4): New target.
20044
769ae37b
RM
200452009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20046
20047 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 20048 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
20049 * util/grub.d/10_kfreebsd.in (bindir): New variable.
20050 Add gettext initialization.
20051 (kfreebsd_entry): Make menuentry output translatable.
20052
200532009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20054
20055 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
20056 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
20057 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
20058 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
20059 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 20060 * po/LINGUAS: New file.
769ae37b
RM
20061
200622009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20063
20064 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
20065 other things).
20066 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
20067 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
20068 bindtextdomain() calls for gettext initialization.
20069
200702009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20071
20072 * gnulib/progname.c: New file (imported from Gnulib).
20073 * gnulib/progname.h: Likewise.
20074 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
20075 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
20076 (usage): Replace `progname' with `program_name'.
20077 (main): Use set_program_name() for program name initialization.
20078
200792009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20080
20081 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
20082 from here ...
20083 * Makefile.in (CPPFLAGS): ... to here.
20084
200852009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20086
20087 * aclocal.m4: Move from here ...
20088 * acinclude.m4: ... to here.
20089 * autogen.sh: Add call to `aclocal'.
20090 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
20091
200922009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20093
20094 * Makefile.in (CLEANFILES): Add `po/*.mo'.
20095 (LINGUAS): New variable.
20096 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
20097 (install-local): Install MO files.
20098 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
20099 * include/grub/i18n.h: New file.
3bc7896c
RM
20100 * po/POTFILES: New file.
20101 * po/ca.po: New file.
769ae37b
RM
20102 * util/grub.d/10_linux.in (bindir): New variable.
20103 Add gettext initialization.
20104 (linux_entry): Make menuentry output translatable.
20105 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
20106 (usage): Make --help output translatable.
20107 (main): Initialize gettext.
20108
02c0a6ad
RM
201092009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20110
20111 * import_gcry.py: New file (written by Vladimir with minor
20112 adjustments).
20113 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
20114 ciphers.
20115 * INSTALL: Document that Python is required for bootstrap.
20116
201172009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20118
20119 Import ciphers from libgcrypt 1.4.4.
20120
20121 * lib/libgcrypt/cipher/ChangeLog
20122 * lib/libgcrypt/cipher/ac.c
20123 * lib/libgcrypt/cipher/arcfour.c
20124 * lib/libgcrypt/cipher/bithelp.h
20125 * lib/libgcrypt/cipher/blowfish.c
20126 * lib/libgcrypt/cipher/camellia-glue.c
20127 * lib/libgcrypt/cipher/camellia.c
20128 * lib/libgcrypt/cipher/camellia.h
20129 * lib/libgcrypt/cipher/cast5.c
20130 * lib/libgcrypt/cipher/cipher.c
20131 * lib/libgcrypt/cipher/crc.c
20132 * lib/libgcrypt/cipher/des.c
20133 * lib/libgcrypt/cipher/dsa.c
20134 * lib/libgcrypt/cipher/ecc.c
20135 * lib/libgcrypt/cipher/elgamal.c
20136 * lib/libgcrypt/cipher/hash-common.c
20137 * lib/libgcrypt/cipher/hash-common.h
20138 * lib/libgcrypt/cipher/hmac-tests.c
20139 * lib/libgcrypt/cipher/md.c
20140 * lib/libgcrypt/cipher/md4.c
20141 * lib/libgcrypt/cipher/md5.c
20142 * lib/libgcrypt/cipher/primegen.c
20143 * lib/libgcrypt/cipher/pubkey.c
20144 * lib/libgcrypt/cipher/rfc2268.c
20145 * lib/libgcrypt/cipher/rijndael-tables.h
20146 * lib/libgcrypt/cipher/rijndael.c
20147 * lib/libgcrypt/cipher/rmd.h
20148 * lib/libgcrypt/cipher/rmd160.c
20149 * lib/libgcrypt/cipher/rsa.c
20150 * lib/libgcrypt/cipher/seed.c
20151 * lib/libgcrypt/cipher/serpent.c
20152 * lib/libgcrypt/cipher/sha1.c
20153 * lib/libgcrypt/cipher/sha256.c
20154 * lib/libgcrypt/cipher/sha512.c
20155 * lib/libgcrypt/cipher/tiger.c
20156 * lib/libgcrypt/cipher/twofish.c
20157 * lib/libgcrypt/cipher/whirlpool.c
20158
af2f93ac
RM
201592009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20160
20161 Fix build for systems without error().
20162
20163 * gnulib/error.c: New file (imported from Gnulib).
20164 * gnulib/error.h: Likewise.
20165 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
20166 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
20167 (this variable is now used by error()).
20168
73fb3dd5
FZ
201692009-11-16 Felix Zielcke <fzielcke@z-51.de>
20170
814f5e96
FZ
20171 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
20172 instead of relying that char is signed.
73fb3dd5 20173
a691ca33
VS
201742009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20175
20176 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
20177 blocksize different from specified.
20178 (grub_pxefs_read): Likewise.
20179
2af8f0f4
FZ
201802009-11-16 Felix Zielcke <fzielcke@z-51.de>
20181
20182 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
20183
20184 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
20185 (grub_ata_readwrite): Likewise. Update 2 format strings.
20186 (grub_atapi_read): Likewise.
20187
20188 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
20189 * conf/i386.rmk (pkglib_MODULES): ... to here ...
20190 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
20191 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
20192 (ata_mod_LDFLAGS): Move from here ...
20193 * conf/i386.rmk: ... to here ...
20194 * conf/x86_64-efi.rmk: ... and here.
20195 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
20196 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
20197
83bdecaf
RM
201982009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20199
20200 Relicense multiboot.h, with RMS' blessing.
20201
20202 * include/multiboot.h: Change to X11 license.
20203
fd6fd3d7
RM
202042009-11-15 Robert Millan <rmh.grub@aybabtu.com>
20205
20206 Support --version in grub-mkisofs.
20207
20208 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
20209 (OPTION_VERSION): New macro.
20210 (ld_options): Recognize --version.
20211 (usage): Move `program_name' from here ...
20212 (program_name): ... to here. Add `static' qualifier.
20213 (main): Recognize `OPTION_VERSION'.
20214
16a88c49
FZ
202152009-11-15 Felix Zielcke <fzielcke@z-51.de>
20216
20217 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
20218 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
20219
a4158476
RM
202202009-11-14 Robert Millan <rmh.grub@aybabtu.com>
20221
20222 Fix help2man generation for mkisofs.
20223
20224 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
20225 (usage): Send output to stdout (rather than stderr).
20226
fc2208b0
RM
202272009-11-14 Robert Millan <rmh.grub@aybabtu.com>
20228
20229 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
20230 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
20231 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
20232 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
20233 (bin_SCRIPTS): Add `grub-mkfloppy'.
20234 (grub_mkfloppy_SOURCES): New variable.
20235
20236 * util/grub-mkrescue.in: New file.
20237 * util/i386/pc/grub-mkfloppy.in: New file.
20238
20239 * util/i386/coreboot/grub-mkrescue.in: Remove.
20240 * util/i386/pc/grub-mkrescue.in: Remove.
20241
8d0edf4a
RM
202422009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20243
20244 * include/grub/multiboot.h (struct grub_multiboot_header): Move
20245 from here ...
20246 * include/multiboot.h (struct multiboot_header): ... to here. Update
20247 all users.
20248 * include/grub/multiboot.h (struct grub_multiboot_info): Move
20249 from here ...
20250 * include/multiboot.h (struct multiboot_info): ... to here. Update
20251 all users.
20252 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
20253 from here ...
20254 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
20255 Update all users.
20256 * include/grub/multiboot.h (struct grub_mod_list): Move
20257 from here ...
20258 * include/multiboot.h (struct multiboot_mod_list): ... to here.
20259 Update all users.
20260
a73f5969
RM
202612009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20262
20263 * include/multiboot2.h (multiboot_word): Rename from this ...
20264 (multiboot2_word): ... to this. Update all users.
20265 (multiboot_header): Rename from this ...
20266 (multiboot2_header): ... to this. Update all users.
20267 (multiboot_tag_header): Rename from this ...
20268 (multiboot2_tag_header): ... to this. Update all users.
20269 (multiboot_tag_start): Rename from this ...
20270 (multiboot2_tag_start): ... to this. Update all users.
20271 (multiboot_tag_name): Rename from this ...
20272 (multiboot2_tag_name): ... to this. Update all users.
20273 (multiboot_tag_module): Rename from this ...
20274 (multiboot2_tag_module): ... to this. Update all users.
20275 (multiboot_tag_memory): Rename from this ...
20276 (multiboot2_tag_memory): ... to this. Update all users.
20277 (multiboot_tag_unused): Rename from this ...
20278 (multiboot2_tag_unused): ... to this. Update all users.
20279 (multiboot_tag_end): Rename from this ...
20280 (multiboot2_tag_end): ... to this. Update all users.
20281
1c8927f0
RM
202822009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20283
20284 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
20285 this platform we should support Multiboot1 first.
20286
20287 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
20288 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
20289 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
20290
6e1e0d89
RM
202912009-11-12 Robert Millan <rmh.grub@aybabtu.com>
20292
20293 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
20294 of write calls (converting them to fwrite() if they aren't already).
20295 (get_torito_desc): Likewise.
20296 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
20297
7f2b34d8
RM
202982009-11-12 Robert Millan <rmh.grub@aybabtu.com>
20299
20300 * util/i386/pc/grub-install.in: Move from here ...
20301 * util/grub-install.in: ... to here. Update all users.
20302
c0ef3311
CW
203032009-11-11 Colin Watson <cjwatson@ubuntu.com>
20304
20305 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
20306
e1f240ff
RM
203072009-11-11 Robert Millan <rmh.grub@aybabtu.com>
20308
20309 Support for El Torito without floppy emulation.
20310
20311 * util/mkisofs/eltorito.c: Include `<errno.h>'.
20312 (init_boot_catalog): Improve error handling.
20313 (get_torito_desc): Don't use floppy emulation unless requested by
20314 user. Patch boot information table when requested via
20315 `-boot-info-table'.
20316 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
20317 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
20318 (use_boot_info_table): New variables.
20319 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
20320 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
20321 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
20322 `--eltorito-emul-floppy'.
20323 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
20324 and `OPTION_ELTORITO_EMUL_FLOPPY'.
20325 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
20326 (use_boot_info_table, get_731): New prototypes.
20327 * util/mkisofs/write.c (get_731): New function.
20328
af7d4de5
FZ
203292009-11-11 Felix Zielcke <fzielcke@z-51.de>
20330
20331 Fix the generation of the man page.
20332
20333 * util/pc/i386/grub-install.in: Source
20334 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
20335
2c55dbc0
RM
203362009-11-11 Robert Millan <rmh.grub@aybabtu.com>
20337
20338 Large file support for grub-mkisofs.
20339
20340 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
20341 * util/mkisofs/mkisofs.c (next_extent, last_extent)
20342 (session_start): Upgrade type to `uint64_t'. Update all users.
20343 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
20344 (struct directory_entry): Upgrade type of `starting_block' and
20345 `size' to `uint64_t'. Update all users.
20346 (struct deferred): Remove unused structure.
20347 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
20348 Update all users.
20349 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
20350 file is larger than `UINT32_MAX'.
20351 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
20352 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
20353 return value.
20354 (struct deferred_write): Upgrade type of `extent' and `size' to
20355 `uint64_t'. Update all users.
20356 (last_extent_written): Upgrade type to `uint64_t'. Update all
20357 users.
20358 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
20359 Update all users. Upgrade type of `remain' to `int64_t' and
20360 `use' to `size_t'. Use error() to handle fread() errors.
20361 (write_files): Rely on write_one_file() rather than calling
20362 xfwrite() directly.
20363
6a9cead5
FZ
203642009-11-09 Felix Zielcke <fzielcke@z-51.de>
20365
20366 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
20367
4825d790
RM
203682009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20369
20370 * util/mkisofs/fnmatch.c: Remove.
20371 * util/mkisofs/getopt1.c: Likewise.
20372 * util/mkisofs/getopt.c: Likewise.
20373 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
20374 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
20375 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
20376 `gnulib/getopt1.c' and `gnulib/getopt.c'.
20377 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
20378
20379 * configure.ac: Detect `mingw32msvc' host_os.
20380 Check for lstat(), getuid() and getgid().
20381
20382 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
20383 instances of `u_char' with `uint8_t'.
20384
20385 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
20386 [!HAVE_GETUID] (getuid): New function (stub).
20387 [!HAVE_GETGID] (getgid): Likewise.
20388 [!HAVE_LSTAT] (lstat): Likewise.
20389 [!S_IROTH] (S_IROTH): New macro (dummy).
20390 [!S_IRGRP] (S_IRGRP): Likewise.
20391
84b860d8
RM
203922009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20393
20394 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
20395 conditional expression).
20396
66e9b712
RM
203972009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20398
20399 Import from Gnulib.
20400
20401 * gnulib/fnmatch.c: New file.
20402 * gnulib/fnmatch.h: Likewise.
20403 * gnulib/fnmatch_loop.c: Likewise.
20404 * gnulib/getopt.c: Likewise.
20405 * gnulib/getopt.h: Likewise.
20406 * gnulib/getopt1.c: Likewise.
20407 * gnulib/getopt_int.h: Likewise.
20408 * gnulib/gettext.h: Likewise.
20409
34f4a5b0
RM
204102009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20411
20412 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
20413 * normal/handler.c (read_handler_list): Likewise.
20414
ac451143
RM
204152009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20416
20417 Misc cleanup.
20418
20419 * kern/command.c (grub_register_command_prio): Use
20420 grub_zalloc() instead of explicitly zeroing data.
20421 * kern/list.c: Include `<grub/mm.h>'.
20422 (grub_named_list_find): Replace `0' with `NULL'.
20423 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
20424 (fs_module_list): Change type to `grub_named_list_t'. Update all
20425 users.
20426 * normal/dyncmd.c (read_command_list): Add space between function
20427 call and parenthesis.
20428 * normal/handler.c (read_handler_list): Likewise.
20429
4089b167
RM
204302009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20431
20432 * normal/auth.c (punishment_delay): Moved from here ...
20433 (grub_auth_strcmp): ... to here (inside function).
20434
325f5037
RM
204352009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20436
20437 * include/grub/list.h (struct grub_named_list): Remove `const'
20438 qualifier from `name'.
20439 (struct grub_prio_list): Likewise.
20440
7aea29a3
RM
204412009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20442
20443 * normal/auth.c: Include `<grub/time.h>'.
20444 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
20445
3fd6f044
RM
204462009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20447
20448 * normal/auth.c (punishment_delay): New variable.
20449 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
20450 (grub_auth_check_authentication): Punish failed login attempts with
20451 an incremental (2^N) delay.
20452
a4cd68e4
RM
204532009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20454
20455 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
20456 path with $(srcdir).
20457
7ad12f43
VS
204582009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
20459
20460 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
20461
c1129f03
RM
204622009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20463
20464 * util/i386/coreboot/grub-mkrescue.in: New file.
20465 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
20466 variables.
20467
20468 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
20469 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
20470 * configure.ac: Add header and function checks to satisfy grub-mkisofs
20471 requirements.
20472 * util/mkisofs/defaults.h: New file.
20473 * util/mkisofs/eltorito.c: Likewise.
20474 * util/mkisofs/exclude.h: Likewise.
20475 * util/mkisofs/fnmatch.c: Likewise.
20476 * util/mkisofs/getopt.c: Likewise.
20477 * util/mkisofs/getopt1.c: Likewise.
20478 * util/mkisofs/hash.c: Likewise.
20479 * util/mkisofs/include/fctldefs.h: Likewise.
20480 * util/mkisofs/include/mconfig.h: Likewise.
20481 * util/mkisofs/include/prototyp.h: Likewise.
20482 * util/mkisofs/include/statdefs.h: Likewise.
20483 * util/mkisofs/iso9660.h: Likewise.
20484 * util/mkisofs/joliet.c: Likewise.
20485 * util/mkisofs/match.c: Likewise.
20486 * util/mkisofs/match.h: Likewise.
20487 * util/mkisofs/mkisofs.c: Likewise.
20488 * util/mkisofs/mkisofs.h: Likewise.
20489 * util/mkisofs/multi.c: Likewise.
20490 * util/mkisofs/name.c: Likewise.
20491 * util/mkisofs/rock.c: Likewise.
20492 * util/mkisofs/tree.c: Likewise.
20493 * util/mkisofs/write.c: Likewise.
20494
ec8bb77d
VS
204952009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
20496
20497 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
20498 being insecure.
20499
3716b12c
RM
205002009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20501
20502 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
20503 `grub-mkimage' (and use $0 when possible).
20504
b97b7b91
RM
205052009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20506
20507 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
20508 error message for excessively large memory map.
20509
04114812
RM
205102009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20511
20512 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
20513 executable bit.
20514
e4eb2373
RM
205152009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20516
20517 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
20518 message for coreboot users.
20519
c926e1d5 205202009-11-07 Robert Millan <rmh.grub@aybabtu.com>
20521
20522 Fix build with GNU gold.
20523
20524 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
20525 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
20526 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
20527 link addresses.
20528 * aclocal.m4: Likewise.
20529
86e5b1db 205302009-11-04 Felix Zielcke <fzielcke@z-51.de>
20531
20532 * configure.ac (AC_PREREQ): Bump to 2.59d.
20533 * INSTALL: Make it more clear when Autoconf and Ruby are
20534 needed and when to run `./autogen.sh'.
20535
246cd78f 205362009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
20537
20538 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
20539 OSes.
20540
4f9dfb37 205412009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20542
20543 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
20544
b82bd5e1 205452009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20546
20547 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
20548 giving it to GNU Mach.
20549
ff1a9bca 205502009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20551
20552 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
20553 GNU partition number to get internal GRUB partition number.
20554
61697d9c 205552009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20556
20557 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
20558 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
20559
a50569e1 205602009-11-01 Robert Millan <rmh.grub@aybabtu.com>
20561
20562 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
20563 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
20564 case.
20565
5b153867 205662009-11-01 Felix Zielcke <fzielcke@z-51.de>
20567
20568 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
20569
d9e2cd70 205702009-10-30 Robert Millan <rmh.grub@aybabtu.com>
20571
20572 Fix build problem.
20573
20574 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
20575 `-isystem=$(srcdir)/include'.
20576
805111a4 205772009-10-30 Robert Millan <rmh.grub@aybabtu.com>
20578
20579 * util/i386/pc/grub-install.in: Remove hint that device.map should be
20580 checked (grub-install doesn't currently rely on it).
20581
fa6e945f 205822009-10-29 Robert Millan <rmh.grub@aybabtu.com>
20583
20584 Revert SVN r2660.
20585
20586 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
20587 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
20588 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
20589 * conf/i386-ieee1275.rmk: Likewise.
20590 * conf/i386-pc.rmk: Likewise.
20591 * conf/powerpc-ieee1275.rmk: Likewise.
20592 * conf/sparc64-ieee1275.rmk: Likewise.
20593 * conf/x86_64-efi.rmk: Likewise.
20594
cee15086 205952009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20596
20597 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
20598
95b9239e 205992009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20600
20601 * include/grub/misc.h: Stop checking for APPLE_CC.
20602
2ed19dfd 206032009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20604
20605 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
20606 doesn't cause an infinite call loop.
20607
fdcdde19 206082009-10-28 Felix Zielcke <fzielcke@z-51.de>
20609
20610 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
20611 strings.
20612
cefabfe1 206132009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20614
20615 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
20616 variable.
20617 * Makefile.in: Likewise.
20618
ed96ab6d 206192009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20620
20621 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
20622
0579b753 206232009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20624
20625 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
20626
478df409 206272009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20628
20629 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
20630
083d1679 206312009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20632
20633 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
20634 from here ...
20635 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
20636
5947ae32 206372009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20638
20639 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
20640 in $(MAKEINFO) invocation. This makes it clear in output that
20641 errors are being ignored.
20642
94180ff6 206432009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20644
20645 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
20646 from here ...
20647 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
20648 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
20649 * conf/i386-ieee1275.rmk: Likewise.
20650 * conf/i386-pc.rmk: Likewise.
20651 * conf/powerpc-ieee1275.rmk: Likewise.
20652 * conf/sparc64-ieee1275.rmk: Likewise.
20653 * conf/x86_64-efi.rmk: Likewise.
20654
9031b03a 206552009-10-26 Colin Watson <cjwatson@ubuntu.com>
20656
20657 * util/grub-editenv.c (main): If only a command is given, use
20658 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
20659 (usage): FILENAME is now optional and has a default.
20660
e4f6809b 206612009-10-26 Colin Watson <cjwatson@ubuntu.com>
20662
20663 Improve grub-mkconfig performance when there are several menu
20664 entries on a single filesystem.
20665
20666 * util/grub.d/10_linux.in (linux_entry): Cache the output of
20667 prepare_grub_to_access_device.
20668 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20669 * util/grub.d/30_os-prober.in: Likewise.
20670
67937d4d 206712009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20672
20673 * util/grub.d/10_freebsd.in: Remove.
20674 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
20675 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
20676
ee3756cc 206772009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20678
5c35048e 20679 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 20680
4dea1c6f 206812009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20682
20683 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
20684 grub_util_error() call.
20685
042484d7 206862009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20687
20688 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
20689 `reserved_first_sector' member.
20690 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
20691 `reserved_first_sector' to 1.
20692 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
20693 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
20694 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
20695 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
20696 filesystems which begin at first sector.
20697 (options): New option --skip-fs-probe.
20698 (main): Handle --skip-fs-probe and pass it to setup().
20699
d64448a7 207002009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20701
20702 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
20703 (memset): Fix function prototype.
20704
508d42ec 207052009-10-25 Robert Millan <rmh.grub@aybabtu.com>
207062009-10-25 Vasily Averin <vvs@parallels.com>
20707
20708 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
20709 `dirent.direntlen == 0'.
20710
b240e30c 207112009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20712
20713 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
20714 `cpio'.
20715 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
20716
346e7fbe 207172009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20718
20719 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
20720 `__trampoline_setup' and `__ucmpdi2'.
20721 * include/grub/powerpc/libgcc.h: Only export symbols for functions
20722 that libgcc provides.
20723
cdb308b0 207242009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20725
20726 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
20727 * include/grub/sparc64/libgcc.h (memset): Likewise.
20728 * include/grub/misc.h (memset, memcmp): New function prototypes.
20729
fb26abc2 207302009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20731
20732 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
20733 `cpio'.
20734 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
20735
f6693890 207362009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20737
20738 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
20739 * docs/grub.cfg: Compensate for recent change in multiboot
20740 loader (since 2009-08-14 it won't pass filename to payload).
20741 * util/grub.d/10_hurd.in: Likewise.
20742
0933cdc0 207432009-10-21 Felix Zielcke <fzielcke@z-51.de>
20744
20745 * config.guess: Update to latest version from config git
20746 repository.
20747 * config.sub: Likewise.
20748
3b2fe8c2 207492009-10-20 Robert Millan <rmh.grub@aybabtu.com>
20750
20751 Fix build on sparc64.
20752
20753 * configure.ac: Perform checks for libgcc symbols before
20754 adding `-nostdlib' to LDFLAGS.
20755
46695a62 207562009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20757
20758 Let user specify OpenBSD root device.
20759
20760 * loader/i386/bsd.c (openbsd_root): New variable.
20761 (openbsd_opts): New option 'root'.
20762 (OPENBSD_ROOT_ARG): New macro.
20763 (grub_openbsd_boot): Use 'openbsd_root'.
20764 (grub_cmd_openbsd): Fill 'openbsd_root'.
20765
d2b6b7fc 207662009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20767
20768 * NEWS: Misc adjustments.
20769
421bd7ac 207702009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20771
20772 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
20773
f1d29d87 207742009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20775
20776 * configure.ac: Bump version to 1.97.
20777
6f3cd880 207782009-10-16 Colin Watson <cjwatson@ubuntu.com>
20779
20780 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
20781 -mno-3dnow on x86 architectures. Some toolchains enable these
20782 features by default, but they rely on registers that aren't enabled
20783 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
20784
035f7122 207852009-10-15 Robert Millan <rmh.grub@aybabtu.com>
20786
20787 Make entry text a bit more readable.
20788
20789 * util/grub.d/10_linux.in: Add `with' before `Linux'.
20790
44998e58 207912009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20792
20793 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
20794
cd2851b3 207952009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20796
20797 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
20798 operations.
20799
c6f3b249 208002009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20801
20802 * configure.ac: Add missing dollar.
20803
6b5886ba 208042009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20805
20806 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
20807
20808 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
20809 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
20810 exports.
20811 * include/grub/sparc64/libgcc.h: Likewise. Use
20812 preprocessor conditionals.
20813
e9d66f6d 208142009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20815
20816 * conf/common.rmk (grub-dumpbios): Remove rule.
20817 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
20818 * util/grub-dumpbios.in: Remove file.
20819
9155bc17 208202009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20821
20822 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
20823 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
20824
20825 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
20826 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
20827 users.
20828
20829 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
20830 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
20831 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
20832 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
20833 users.
20834
bf7f7a18 208352009-10-12 Robert Millan <rmh.grub@aybabtu.com>
20836
20837 * term/tparm.c: Switch to GPLv3.
20838
86564c26 208392009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20840
20841 * include/grub/i386/cpuid.h: Add header protection.
20842
5c936493 208432009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20844
20845 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
20846
20847 * include/grub/i386/cpuid.h: New file.
20848 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
20849 (has_longmode): Rename to ...
20850 (grub_cpuid_has_longmode): ... this. Update all users. Remove
20851 `static' attribute.
20852 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
20853 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
20854 on a CPU that doesn't implement AMD64 instruction set.
20855
186e7cf2 208562009-10-06 Colin Watson <cjwatson@ubuntu.com>
20857
20858 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
20859 that version.texi is rebuilt on version number changes.
20860
83b65c4a 208612009-10-06 Colin Watson <cjwatson@ubuntu.com>
20862
20863 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
20864 Fixes bug #27602.
20865
d244281c 208662009-10-06 Colin Watson <cjwatson@ubuntu.com>
20867
20868 * util/i386/pc/grub-install.in: Source
20869 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
20870 that the --grub-probe option will work.
20871 * util/sparc64/ieee1275/grub-install.in: Likewise.
20872
da25306d 208732009-10-05 Robert Millan <rmh.grub@aybabtu.com>
20874
20875 * configure.ac: Bump version to 1.97~beta4.
20876
e8ee83c0 208772009-10-03 Robert Millan <rmh.grub@aybabtu.com>
20878
20879 Resync grub-mkdevicemap in x86_64-efi.
20880
20881 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
20882 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
20883 `util/devicemap.c'.
20884
50dcabcf 208852009-10-01 Colin Watson <cjwatson@ubuntu.com>
20886
20887 * util/grub-editenv.c (create_envblk_file): Write new block with a
20888 .new suffix and then rename it into place, to ensure atomic
20889 creation.
20890
0e51c3a7 208912009-09-28 Robert Millan <rmh.grub@aybabtu.com>
20892
20893 Do not automatically install headers.
20894
20895 * Makefile.in (include_DATA): Remove. Update all users.
20896
31299a95 208972009-09-26 Robert Millan <rmh.grub@aybabtu.com>
20898
20899 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
20900 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
20901
20902 * util/osdetect.lua: Remove.
20903 * script/lua/lauxlib.c: Likewise.
20904 * script/lua/ldebug.c: Likewise.
20905 * script/lua/grub_main.c: Likewise.
20906 * script/lua/lauxlib.h: Likewise.
20907 * script/lua/ldebug.h: Likewise.
20908 * script/lua/ltablib.c: Likewise.
20909 * script/lua/liolib.c: Likewise.
20910 * script/lua/lstrlib.c: Likewise.
20911 * script/lua/lualib.h: Likewise.
20912 * script/lua/ldo.c: Likewise.
20913 * script/lua/ldump.c: Likewise.
20914 * script/lua/ldo.h: Likewise.
20915 * script/lua/loslib.c: Likewise.
20916 * script/lua/lundump.c: Likewise.
20917 * script/lua/grub_lib.c: Likewise.
20918 * script/lua/ldblib.c: Likewise.
20919 * script/lua/lundump.h: Likewise.
20920 * script/lua/lmem.c: Likewise.
20921 * script/lua/grub_lib.h: Likewise.
20922 * script/lua/lmathlib.c: Likewise.
20923 * script/lua/lstate.c: Likewise.
20924 * script/lua/ltm.c: Likewise.
20925 * script/lua/lvm.c: Likewise.
20926 * script/lua/lmem.h: Likewise.
20927 * script/lua/lstate.h: Likewise.
20928 * script/lua/ltm.h: Likewise.
20929 * script/lua/ltable.c: Likewise.
20930 * script/lua/lvm.h: Likewise.
20931 * script/lua/llex.c: Likewise.
20932 * script/lua/lgc.c: Likewise.
20933 * script/lua/grub_lua.h: Likewise.
20934 * script/lua/loadlib.c: Likewise.
20935 * script/lua/lfunc.c: Likewise.
20936 * script/lua/lopcodes.c: Likewise.
20937 * script/lua/lparser.c: Likewise.
20938 * script/lua/ltable.h: Likewise.
20939 * script/lua/llex.h: Likewise.
20940 * script/lua/lgc.h: Likewise.
20941 * script/lua/lfunc.h: Likewise.
20942 * script/lua/lbaselib.c: Likewise.
20943 * script/lua/lopcodes.h: Likewise.
20944 * script/lua/lparser.h: Likewise.
20945 * script/lua/lzio.c: Likewise.
20946 * script/lua/linit.c: Likewise.
20947 * script/lua/lobject.c: Likewise.
20948 * script/lua/llimits.h: Likewise.
20949 * script/lua/lstring.c: Likewise.
20950 * script/lua/lzio.h: Likewise.
20951 * script/lua/lapi.c: Likewise.
20952 * script/lua/lcode.c: Likewise.
20953 * script/lua/lua.h: Likewise.
20954 * script/lua/lobject.h: Likewise.
20955 * script/lua/lstring.h: Likewise.
20956 * script/lua/lapi.h: Likewise.
20957 * script/lua/lcode.h: Likewise.
20958 * script/lua/luaconf.h: Likewise.
20959
cb8a2c38 209602009-09-26 Colin Watson <cjwatson@ubuntu.com>
20961
20962 * docs/grub.texi (Command-line and menu entry commands): Document
20963 date and echo commands.
20964
6b9b6276 209652009-09-24 Pavel Roskin <proski@gnu.org>
20966
20967 * include/grub/kernel.h (struct grub_module_header): Remove
20968 `grub_module_header_types'. Make `type' unsigned. Make `size'
20969 32-bit on all platforms.
20970 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
20971 8-bit field. Use grub_host_to_target32() for `size'.
20972 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
20973 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
20974 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
20975
4e5a02a7 209762009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20977
20978 Fix "lost keypress" bug in at_keyboard.
20979
20980 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
20981 Checks for readyness of input buffer (without flushing it).
20982 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
20983 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
20984
c6dcedf6 209852009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20986
20987 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
20988 size check within GRUB_MACHINE_PCBIOS section.
20989
74c958b1 209902009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20991
20992 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
20993 return value.
20994 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
20995 KEYBOARD_ISREADY check.
20996 (grub_at_keyboard_checkkey): Rename to ...
20997 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
20998 Remove gratuitous cast.
20999
ff420223 210002009-09-23 Colin Watson <cjwatson@ubuntu.com>
21001
21002 * configure.ac: Call AC_PROG_MKDIR_P.
21003 * Makefile.in (docs/stamp-vti): Create docs directory. Create
21004 version.texi in $(builddir) rather than $(srcdir).
21005 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
21006 to makeinfo's @include search path.
21007
d96875df 210082009-09-23 Felix Zielcke <fzielcke@z-51.de>
21009
21010 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
21011
9b3f8365 210122009-09-23 Felix Zielcke <fzielcke@z-51.de>
21013
21014 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
21015 for `*.dpkg-new'.
21016
c44c90db 210172009-09-21 Colin Watson <cjwatson@ubuntu.com>
21018
21019 Build info documentation. Some code borrowed from Automake.
21020
21021 * configure.ac: Check for makeinfo.
21022 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
21023 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
21024 docs/version.texi.
21025 (MOSTLYCLEANFILES): Add vti.tmp.
21026 (docs/version.texi, docs/stamp-vti): Update automatically.
21027 (docs/grub.info): Build info documentation. Use --force and ignore
21028 errors for now.
21029 (all-local): Add $(INFOS).
21030 (install-local): Install info files.
21031 (uninstall): Uninstall info files.
21032 * docs/version.texi: Remove from revision control. This file is
21033 automatically generated on build now.
21034 * gendistlist.sh: Add `*.info'.
21035
e0b37bb5 210362009-09-21 Felix Zielcke <fzielcke@z-51.de>
21037
21038 * kern/term.c: Fix indentation.
21039
5a78865b 210402009-09-21 Felix Zielcke <fzielcke@z-51.de>
21041
21042 * util/hostdisk.c: Fix a comment.
21043
dace7e8a 210442009-09-20 Robert Millan <rmh.grub@aybabtu.com>
21045
21046 Fix regression introduced in r2539.
21047
21048 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
21049 to 0xA1.
21050
a83d079b 210512009-09-19 Colin Watson <cjwatson@ubuntu.com>
21052
21053 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 21054 os-prober. Under normal operation, it does not print anything to
21055 stderr; if it does, we need to debug it, and throwing away stderr
21056 makes that excessively difficult.
a83d079b 21057
be94a509 210582009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
21059
21060 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
21061
63f745e8 210622009-09-16 Robert Millan <rmh.grub@aybabtu.com>
21063
21064 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
21065 AC_LANG_PROGRAM from autoconf.
21066 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
21067 prototypes (fixes warning).
21068
21069 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
21070 `--disable-werror' was used.
21071
bbb2a70f 210722009-09-16 Robert Millan <rmh.grub@aybabtu.com>
21073
21074 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
21075 uninitialized `lastaddr'.
21076
77c24f1d 210772009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21078
0f0b8c87 21079 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 21080
07197f23 210812009-09-14 Colin Watson <cjwatson@ubuntu.com>
21082
21083 * commands/test.c (get_fileinfo): Return immediately if
21084 grub_fs_probe fails.
21085
dabf1798 210862009-09-14 José Martínez <xosemp@gmail.com>
21087
21088 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
21089
d52109a7 210902009-09-14 Colin Watson <cjwatson@ubuntu.com>
21091
21092 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
21093 output.
21094
56532179 210952009-09-13 Robert Millan <rmh.grub@aybabtu.com>
21096
21097 * configure.ac: Remove --enable-grub-pe2elf. Only build
21098 grub-pe2elf when needed by the build system itself.
21099 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
21100
8ef070f5 211012009-09-12 Robert Millan <rmh.grub@aybabtu.com>
21102
21103 * configure.ac: Bump version to 1.97~beta3.
21104 * docs/version.texi: Likewise.
21105
61229557 211062009-09-12 Robert Millan <rmh.grub@aybabtu.com>
21107
21108 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
21109 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
21110 from here ...
21111 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
21112 (grub_linux_setup_video): ... to here (with some adjustments).
21113
5c9f8d84 211142009-09-12 Robert Millan <rmh.grub@aybabtu.com>
21115
21116 Fix memory corruption issue (spotted by Colin Watson).
21117
21118 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
21119 causing returned size to be stored in an incorrect memory location.
21120 Fix use of uninitialized value when storing the returned size.
21121
e8f5d6e9 211222009-09-12 Yves Blusseau <blusseau@zetam.org>
21123
21124 Change clean rules to properly remove files
21125
21126 * genmk.rb: add new clean rules
21127 * Makefile.in (clean): add the new targets
21128 (mostlyclean): likewise
21129
cda2a409 211302009-09-11 Colin Watson <cjwatson@ubuntu.com>
21131
21132 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
21133 to grub_uint64_t.
21134 * fs/ntfs.c (init_file): Understand 64-bit sizes for
21135 non-resident files.
21136
86695375 211372009-09-11 Colin Watson <cjwatson@ubuntu.com>
21138
21139 * configure.ac: Don't look for help2man when cross-compiling. Fixes
21140 part of bug #27349.
21141
8aa1541a 211422009-09-10 Felix Zielcke <fzielcke@z-51.de>
21143
21144 * util/grub-mkconfig.in: Make the created config mode 400 and
21145 print a warning if it fails.
21146
48d9bb0a 211472009-09-10 Robert Millan <rmh.grub@aybabtu.com>
21148
21149 * util/grub.d/40_custom.in: Ask user to type custom entries below
21150 comment, rather than below 'exec tail' line.
21151
3b0521be 211522009-09-10 Colin Watson <cjwatson@ubuntu.com>
21153
21154 * util/grub.d/40_custom.in: Make sure that the explanatory text is
21155 visible in grub.cfg.
21156
50051d55 211572009-09-10 Colin Watson <cjwatson@ubuntu.com>
21158
21159 * util/grub.d/40_custom.in: Make it a little clearer how to use this
21160 file.
21161
c0d34387 211622009-09-10 Felix Zielcke <fzielcke@z-51.de>
21163
21164 * docs/grub.cfg: Add an example menu entry for memtest86+.
21165
80a608f3 211662009-09-09 Felix Zielcke <fzielcke@z-51.de>
21167
a2094832 21168 * config.guess: Update to latest version from config git.
80a608f3 21169 * config.sub: Likewise.
21170
99423078 211712009-09-08 Colin Watson <cjwatson@ubuntu.com>
21172
21173 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
21174 unknown-command case. Fixes bug #27320.
21175
44454e4c 211762009-09-08 Felix Zielcke <fzielcke@z-51.de>
21177
21178 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
21179 `help' if the command exists.
21180
e30d87ad 211812009-09-06 Robert Millan <rmh.grub@aybabtu.com>
21182
21183 * INSTALL: Require GCC 4.1.3 or later.
21184
9a86f1ec 211852009-09-06 Yves Blusseau <blusseau@zetam.org>
21186
21187 * Makefile.in (RMKFILES): add i386-qemu.rmk
21188 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
21189 $(srcdir)/stamp-h.in
21190
7f26d466 211912009-09-05 Robert Millan <rmh.grub@aybabtu.com>
21192
21193 * util/grub-probe.c (probe): Comment out buggy codepath, which
21194 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
21195 should be re-enabled after 1.97.
21196
3a613259 211972009-09-05 Felix Zielcke <fzielcke@z-51.de>
21198
21199 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
21200 find searches for.
21201
197f76c7 212022009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
21203
21204 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
21205 unnecessary calls to grub_error.
21206
70ba68ce 212072009-09-04 Colin Watson <cjwatson@ubuntu.com>
21208
21209 * NEWS: Mention `keystatus' and Unicode fonts.
21210
4ff0d7a4 212112009-09-04 Robert Millan <rmh.grub@aybabtu.com>
21212
21213 * configure.ac: Bump version to 1.97~beta2.
21214 * docs/version.texi: Likewise.
21215
77c55a87 212162009-09-03 Colin Watson <cjwatson@ubuntu.com>
21217
21218 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
21219 containing unwind information in some cases where it previously did
21220 not. Use -fno-dwarf2-cfi-asm if available to restore the old
21221 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
21222 discussion.
21223
f79572cd 212242009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
21225
21226 Embedding loadenv module into grub-emu
21227
21228 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
21229 commands/loadenv.c
21230 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
21231 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
21232 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
21233 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
21234 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
21235 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
21236
93a81088 212372009-09-03 Magnus Granberg <zorry@ume.nu>
21238
21239 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
21240 include -fPIE in the default specs.
21241 * configure.ac: Check if pie_possible is yes and add -fno-PIE
21242 to TARGET_CFLAGS.
21243
160034b2 212442009-09-03 Felix Zielcke <fzielcke@z-51.de>
21245
21246 * INSTALL: Note that GNU Bison 2.3 or later is required.
21247
087c07c4 212482009-09-03 Colin Watson <cjwatson@ubuntu.com>
21249
21250 * kern/i386/pc/startup.S: Fix typo.
21251
cbf978c0 212522009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21253
21254 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
21255 according to GCS.
21256
212572009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 21258
21259 * docs/grub.texi (Naming convention): Describe one-based partition
21260 numbering.
21261 (Device syntax): Likewise.
21262 (File name syntax): Likewise.
21263 (Block list syntax): Likewise.
21264 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
21265 menu.lst.
21266 (File name syntax): Likewise.
21267 (Command-line and menu entry commands): Document acpi, blocklist,
21268 crc, export, insmod, keystatus, ls, set, and unset commands.
21269
f3e8cdfd 212702009-09-02 Colin Watson <cjwatson@ubuntu.com>
21271
21272 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
21273 to avoid implying that only one of --shift, --ctrl, or --alt may be
21274 used.
21275
c0bc232b 212762009-09-02 Colin Watson <cjwatson@ubuntu.com>
21277
21278 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
21279 rather than comparing against S_IFREG, which will almost never work.
21280
aa0f752d 212812009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
21282
21283 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
21284 (write_blocklists): Likewise.
21285
ecb3166a 212862009-09-01 Colin Watson <cjwatson@ubuntu.com>
21287
21288 * script/lua/grub_lua.h (fputs): Supply a format string as the first
21289 argument to grub_printf.
21290
c403a125 212912009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 21292
21293 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 21294 non GNU test.
31aba781 21295
b5e7312c 212962009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21297
21298 * kern/file.c (grub_file_read): Spelling fix
21299
fe00f472 213002009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21301
21302 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
21303 loading of headers in some cases.
21304
cc55302e 213052009-08-30 Robert Millan <rmh.grub@aybabtu.com>
21306
21307 * configure.ac: Bump version to 1.97~beta1.
21308 * docs/version.texi: Likewise.
21309
5c90cdd2 213102009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 21311
21312 * include/grub/i386/xnu.h: Add license header.
21313 include grub/err.h explicitly.
21314
c90edae4 213152009-08-29 Robert Millan <rmh.grub@aybabtu.com>
21316
21317 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
21318 to `ufs' in the vfs.root.mountfrom kernel parameter.
21319
d8888b5c 213202009-08-29 Robert Millan <rmh.grub@aybabtu.com>
21321
21322 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
21323
21324 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
21325 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
21326
21327 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
21328 `ARRAY_SIZE' macro.
21329
6f07b921 213302009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21331
21332 * kern/file.c (grub_file_read): Check offset.
21333 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
21334 * fs/jfs.c (grub_jfs_read_file): Likewise.
21335 * fs/ntfs.c (grub_ntfs_read): Likewise.
21336 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
21337 * fs/minix.c (grub_minix_read_file): Correct offset check.
21338 * fs/ufs.c (grub_ufs_read_file): Likewise.
21339
b4f34077 213402009-08-28 Colin Watson <cjwatson@ubuntu.com>
21341
21342 * term/i386/pc/console.c (bios_data_area): Cast
21343 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
21344
e7c69859 213452009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21346
21347 1-bit optimised blitters.
21348
21349 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
21350 prototype.
21351 (grub_video_fbblit_replace_24bit_1bit): Likewise.
21352 (grub_video_fbblit_replace_16bit_1bit): Likewise.
21353 (grub_video_fbblit_replace_8bit_1bit): Likewise.
21354 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
21355 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
21356 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
21357 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
21358 function.
21359 (grub_video_fbblit_replace_24bit_1bit): Likewise.
21360 (grub_video_fbblit_replace_16bit_1bit): Likewise.
21361 (grub_video_fbblit_replace_8bit_1bit): Likewise.
21362 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
21363 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
21364 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
21365 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
21366 when possible.
21367 * video/video.c (grub_video_get_blit_format): Return
21368 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
21369
a57da43f 213702009-08-28 Colin Watson <cjwatson@ubuntu.com>
21371
21372 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
21373 the first argument to grub_printf.
21374
4cbe67e5 213752009-08-28 Colin Watson <cjwatson@ubuntu.com>
213762009-08-28 Robert Millan <rmh.grub@aybabtu.com>
21377
21378 Add `getkeystatus' terminal method. Add a new `keystatus' command
21379 to query it.
21380
21381 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
21382 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
21383 modifier key bitmasks.
21384 (struct grub_term_input): Add `getkeystatus' member.
21385 (grub_getkeystatus): Add prototype.
21386 * kern/term.c (grub_getkeystatus): New function.
21387
21388 * include/grub/i386/pc/memory.h
21389 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
21390 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
21391 Data Area layout.
21392 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
21393 (grub_console_term_input): Set `getkeystatus' member.
21394 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
21395 constants.
21396 (grub_usb_keyboard_getreport): Likewise.
21397 (grub_usb_keyboard_checkkey): Likewise.
21398 (grub_usb_keyboard_getkeystatus): New function.
21399 (grub_usb_keyboard_term): Set `getkeystatus' member.
21400
21401 * commands/keystatus.c: New file.
21402 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
21403 (keystatus_mod_SOURCES): New variable.
21404 (keystatus_mod_CFLAGS): Likewise.
21405 (keystatus_mod_LDFLAGS): Likewise.
21406 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
21407 commands/keystatus.c.
21408 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21409 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21410 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21411 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21412 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21413 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 21414
6e2a9085 214152009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21416
21417 Split befs.mod and afs.mod into *_be.mod and *.mod
21418
21419 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
21420 (grub_fstest_SOURCES): Likewise.
21421 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
21422 (afs_be_mod_SOURCES): New variable.
21423 (afs_be_mod_CFLAGS): Likewise.
21424 (afs_be_mod_LDFLAGS): Likewise.
21425 (befs_be_mod_SOURCES): Likewise.
21426 (befs_be_mod_CFLAGS): Likewise.
21427 (befs_be_mod_LDFLAGS): Likewise.
21428 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
21429 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21430 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21431 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21432 (grub_emu_SOURCES): Likewise.
21433 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21434 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21435 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21436 * fs/afs_be.c: New file.
21437 * fs/befs_be.c: New file.
21438 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
21439 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
21440 (U16): Replaced with ...
21441 (grub_afs_to_cpu16): ...this. All users updated.
21442 (U32): Replaced with ...
21443 (grub_afs_to_cpu32): ...this. All users updated.
21444 (U64): Replaced with ...
21445 (grub_afs_to_cpu64): ...this. All users updated.
21446 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
21447 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 21448 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 21449 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
21450 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
21451 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
21452 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
21453 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
21454 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
21455 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
21456 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
21457
32a71655 214582009-08-26 Bean <bean123ch@gmail.com>
21459
21460 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
21461 64-bit number.
21462 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
21463 (grub_xfs_inode_block): Change return type to grub_uint64_t.
21464 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
21465
552bf6c5 214662009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21467
21468 NetBSD memory map support.
21469
21470 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
21471 (grub_netbsd_btinfo_mmap_header): New structure.
21472 (grub_netbsd_btinfo_mmap_entry): Likewise.
21473 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
21474
1ae2078c 214752009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21476
21477 Enable bsd.mod on coreboot.
21478
21479 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
21480 (bsd_mod_SOURCES): New variable.
21481 (bsd_mod_CFLAGS): Likewise.
21482 (bsd_mod_LDFLAGS): Likewise.
21483 (bsd_mod_ASFLAGS): Likewise.
21484 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
21485 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
21486
beefc598 214872009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21488
21489 Cleanup NetBSD root support.
21490
21491 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
21492 grub_bsd_get_device.
21493 Fix typo.
21494
3b76e68b 214952009-08-25 Felix Zielcke <fzielcke@z-51.de>
21496
21497 * util/grub.d/00_header.in: Move check for the video backend of
21498 gfxterm from here ...
21499 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
21500 a suitable video backend.
21501
aea664ea 215022009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21503
21504 Fix breakage in grub-setup.
21505
21506 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
21507 "msdos_partition_map".
21508
ff747d50 215092009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21510
21511 Fix breakage in normal/auth.c.
21512
21513 * normal/auth.c (grub_iswordseparator): New function.
21514
e7e1f93f 215152009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21516
21517 Authentication support.
21518
21519 * commands/password.c: New file.
21520 * conf/common.rmk (pkglib_MODULES): Add password.mod.
21521 (password_mod_SOURCES): New variable.
21522 (password_mod_CFLAGS): Likewise.
21523 (password_mod_LDFLAGS): Likewise.
21524 (normal_mod_SOURCES): Add normal/auth.c.
21525 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
21526 normal/auth.c.
21527 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21528 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21529 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21530 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21531 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21532 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21533 * include/grub/auth.h: New file.
21534 * include/grub/err.h (grub_err_t): New enum value
21535 GRUB_ERR_ACCESS_DENIED.
21536 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
21537 'users'.
21538 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
21539 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
21540 users updated.
21541 * normal/auth.c: New file.
21542 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
21543 (grub_cmdline_run): Don't allow to go to command line without
21544 authentication.
21545 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
21546 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
21547 menuentry without superuser rights.
21548 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
21549 user isn't a superuser.
21550
70f1161d 215512009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21552
21553 Save space by inlining misc.c functions.
21554
21555 * kern/misc.c (grub_iswordseparator): Made static.
21556 * kern/misc.c (grub_strcat): Moved from here ...
21557 * include/grub/misc.h (grub_strcat): ... here. Inlined.
21558 * kern/misc.c (grub_strncat): Moved from here ...
21559 * include/grub/misc.h (grub_strncat): ... here. Inlined.
21560 * kern/misc.c (grub_strcasecmp): Moved from here ...
21561 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
21562 * kern/misc.c (grub_strncasecmp): Moved from here ...
21563 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
21564 * kern/misc.c (grub_isalpha): Moved from here ...
21565 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
21566 * kern/misc.c (grub_isdigit): Moved from here ...
21567 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
21568 * kern/misc.c (grub_isgraph): Moved from here ...
21569 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
21570 * kern/misc.c (grub_tolower): Moved from here ...
21571 * include/grub/misc.h (grub_tolower): ... here. Inlined.
21572
48e40bff 215732009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21574
21575 * script/sh/function.c (grub_script_function_find): Cut error message
21576 not to flood terminal.
21577 * script/sh/lexer.c (grub_script_yylex): Remove command line length
21578 limit.
21579 * script/sh/script.c (grub_script_arg_add): Duplicate string.
21580
c385bfc3 215812009-08-24 Colin Watson <cjwatson@ubuntu.com>
21582
21583 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
21584 `report' grub_uint8_t *.
21585 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
21586 Use a 50-millisecond timeout rather than just repeating
21587 grub_usb_keyboard_getreport 50 times.
21588 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
21589
2d21e3e8 215902009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21591
21592 Rename *_partition_map to part_*
21593
21594 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
21595 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
21596 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
21597 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
21598 All users updated.
21599 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
21600 All users updated.
21601 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
21602 * util/grub-probe.c (probe_partmap): Don't transform partition name
21603 to get module name.
21604
dd103c4e 216052009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21606
21607 Fix OpenBSD and NetBSD support.
21608
21609 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
21610 memory address conflict.
21611 (OPENBSD_MMAP_ACPI): New definition.
21612 (OPENBSD_MMAP_NVS): Likewise.
21613 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
21614 and OPENBSD_MMAP_NVS.
21615 Add memory map terminator
21616 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 21617 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 21618
16c84d74 216192009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21620
21621 Let user specify NetBSD root device.
21622
21623 * loader/i386/bsd.c (netbsd_root): New variable.
21624 (netbsd_opts): New option 'root'.
21625 (NETBSD_ROOT_ARG): New macro.
21626 (grub_netbsd_boot): Use 'netbsd_root'.
21627 (grub_bsd_unload): Free 'netbsd_root'.
21628 (grub_cmd_netbsd): Fill 'netbsd_root'.
21629
adb29902 216302009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21631
21632 Support for 64-bit NetBSD.
21633
21634 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
21635 point when booting non-FreeBSD.
21636
f5ae9f74 216372009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21638
21639 Support --no-smp and --no-acpi for NetBSD.
21640
21641 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
21642 (NETBSD_AB_NOACPI): Likewise.
21643 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
21644 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
21645
de74f136 216462009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21647
21648 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
21649 errors.
21650 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
21651 errors. Call grub_error when needed.
21652
e9a925da 216532009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21654
21655 * commands/search.c (search_fs): Try searching without autoload first.
21656 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
21657 filesystem module explicitly for faster booting.
21658
5174302b 216592009-08-23 Colin Watson <cjwatson@ubuntu.com>
21660
21661 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
21662
c8c80635 216632009-08-23 Colin Watson <cjwatson@ubuntu.com>
21664
21665 * util/grub.d/30_os-prober.in: Disable os-prober if
21666 `GRUB_DISABLE_OS_PROBER' was set to true.
21667
71acf5e5 216682009-08-23 Robert Millan <rmh.grub@aybabtu.com>
21669
21670 * partmap/pc.c: Rename to ...
21671 * partmap/msdos.c: ... this. Update all users.
21672 (grub_pc_partition_map): Rename to ...
21673 (grub_msdos_partition_map): ... this. Update all users.
21674
21675 * parttool/pcpart.c: Rename to ...
21676 * parttool/msdospart.c: ... this. Update all users.
21677
21678 * include/grub/pc_partition.h: Rename to ...
21679 * include/grub/msdos_partition.h: ... this. Update all users.
21680 (grub_pc_partition_bsd_entry): Rename to ...
21681 (grub_msdos_partition_bsd_entry): ... this. Update all users.
21682 (grub_pc_partition_disk_label): Rename to ...
21683 (grub_msdos_partition_disk_label): ... this. Update all users.
21684 (grub_pc_partition_entry): Rename to ...
21685 (grub_msdos_partition_entry): ... this. Update all users.
21686 (grub_pc_partition_mbr): Rename to ...
21687 (grub_msdos_partition_mbr): ... this. Update all users.
21688 (grub_pc_partition): Rename to ...
21689 (grub_msdos_partition): ... this. Update all users.
21690 (grub_pc_partition_is_empty): Rename to ...
21691 (grub_msdos_partition_is_empty): ... this. Update all users.
21692 (grub_pc_partition_is_extended): Rename to ...
21693 (grub_msdos_partition_is_extended): ... this. Update all users.
21694 (grub_pc_partition_is_bsd): Rename to ...
21695 (grub_msdos_partition_is_bsd): ... this. Update all users.
21696
21697 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
21698 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
21699 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
21700 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
21701 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
21702 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
21703 (gpt_mod_LDFLAGS): Rename to ...
21704 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
21705 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
21706 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
21707 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
21708 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
21709 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
21710 (part_gpt_mod_LDFLAGS): ... this.
21711 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
21712 `pcpart.mod' to `msdospart.mod'.
21713 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
21714 to ...
21715 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
21716 (msdospart_mod_LDFLAGS): ... this.
21717
c11fded5 217182009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21719
21720 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
21721 (openbsd_opts): Likewise.
21722 (netbsd_opts): Likewise.
21723 (freebsd_flags): Added 0 terminator.
21724 (openbsd_flags): Likewise.
21725 (netbsd_flags): Likewise.
21726 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
21727 (grub_cmd_freebsd): Transformed into extended command.
21728 (grub_cmd_openbsd): Likewise.
21729 (grub_cmd_netbsd): Likewise.
21730 (cmd_freebsd): Changed type to grub_extcmd_t.
21731 (cmd_openbsd): Likewise.
21732 (cmd_netbsd): Likewise.
21733 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
21734 grub_cmd_openbsd as extended commands.
21735 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
21736 cmd_netbsd and cmd_openbsd
21737
11d1c769 217382009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
21739
21740 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
21741
7a9094e5 217422009-08-21 Pavel Roskin <proski@gnu.org>
21743
5496c37e 21744 * Makefile.in (install-local): When checking if a file is in the
21745 build directory, use "test -e" to detect symlinks.
21746
7a9094e5 21747 * Makefile.in (install-local): Remove all files in
21748 $(DESTDIR)$(pkglibdir) before installing new files there.
21749
e53cea11 217502009-08-18 Felix Zielcke <fzielcke@z-51.de>
21751
21752 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
21753 grub-mkelfimage.
21754
9aced544 217552009-08-18 Felix Zielcke <fzielcke@z-51.de>
21756
21757 * util/grub-mkconfig.in: Don't use gfxterm by default if not
21758 explicitly specified by the user.
21759
b7da6bab 217602009-08-18 Pavel Roskin <proski@gnu.org>
21761
21762 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
21763 grub_uint8_t pointer for data.
21764 * include/grub/fbutil.h (struct grub_video_fbblit_info):
21765 Likewise.
21766 * video/fb/fbutil.c: Remove unnecessary casts.
21767
19f1b335 217682009-08-17 Michal Suchanek <hramrach@centrum.cz>
21769
21770 VBE cleanup.
21771
21772 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
21773 (grub_vbe_set_video_mode): Save active mode info
21774 only after setting the mode.
21775 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
21776 second argument.
21777
2f467aa9 217782009-08-17 Michal Suchanek <hramrach@centrum.cz>
21779
21780 Rename variables for clarity.
21781
21782 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
21783 (active_vbe_mode_info): ... this. All users updated.
21784 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
21785 All users updated.
21786 (initial_mode): Rename to ...
21787 (initial_vbe_mode): ... this. All users updated.
21788 (mode_in_use): Rename to ..
21789 (vbe_mode_in_use): ... this. All users updated.
21790 (mode_list): Rename to ..
21791 (vbe_mode_list): ... this. All users updated.
21792 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
21793 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
21794 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
21795 'mode_list_size' to 'vbe_mode_list_size'.
21796 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
21797 'best_mode_info' to 'best_vbe_mode_info' and
21798 'best_mode' to 'best_vbe_mode'
21799
6025fcd7 218002009-08-17 Michal Suchanek <hramrach@centrum.cz>
21801
21802 Remove duplicate grub_video_fb_get_video_ptr.
21803
21804 * include/grub/fbutil.h (get_data_ptr): Rename to ...
21805 (grub_video_fb_get_video_ptr): ... this.
21806 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
21807 * video/fb/fbutil.c: Add comment about addressing.
21808 (get_data_ptr): Rename to ...
21809 (grub_video_fb_get_video_ptr): ... this. All users updated.
21810 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
21811
cc8c6faf 218122009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21813
21814 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
21815 grub_dprintf() that was just added.
21816
08aa61f0 218172009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21818
21819 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
21820 (DEFAULT_VIDEO_MODE): Remove macros.
21821 (grub_linux_boot): Remove assumption that Linux has FB support,
21822 and use "text" as default video mode.
21823
7cef4f75 218242009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
21825
21826 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
21827 grub_dprintf.
21828 * fs/fat.c (grub_fat_read_data): Likewise.
21829
e1f39873 218302009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21831
21832 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
21833 payload.
21834 (grub_module): Likewise.
21835
c166d79e 218362009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21837
21838 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
21839 mbi->cmdline but free playground.
21840
c60cee8e 218412009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21842
21843 Handle group offset on UFS1.
21844
21845 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
21846 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
21847
c0d8b5d4 218482009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21849
21850 Split ufs.mod into ufs1.mod and ufs2.mod.
21851
21852 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
21853 (grub_fstest_SOURCES): Likewise.
21854 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
21855 (ufs_mod_SOURCES): Remove.
21856 (ufs_mod_CFLAGS): Likewise.
21857 (ufs_mod_LDFLAGS): Likewise.
21858 (ufs1_mod_SOURCES): New variable.
21859 (ufs1_mod_CFLAGS): Likewise.
21860 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 21861 (ufs2_mod_SOURCES): New variable.
21862 (ufs2_mod_CFLAGS): Likewise.
21863 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 21864 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
21865 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21866 Likewise.
21867 (grub_emu_SOURCES): Likewise.
21868 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21869 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21870 (grub_setup_SOURCES): Likewise.
21871 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21872 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
21873 (grub_setup_SOURCES): Likewise.
21874 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21875 Likewise.
21876 * fs/ufs2.c: New file.
21877 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
21878
d3539132 218792009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21880
21881 Framebuffer split.
21882
21883 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
21884 subsystem at the end.
21885 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
21886 (video_fb_mod_SOURCES): New variable.
21887 (video_fb_mod_CFLAGS): Likewise.
21888 (video_fb_mod_LDFLAGS): Likewise.
21889 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
21890 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
21891 * video/i386/pc/vbeblit.c: Moved from here ...
21892 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
21893 * video/i386/pc/vbefill.c: Moved from here ...
21894 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
21895 * video/i386/pc/vbeutil.c: Moved from here ...
21896 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
21897 * include/grub/i386/pc/vbeblit.h: Moved from here ...
21898 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
21899 * include/grub/i386/pc/vbefill.h: Moved from here ...
21900 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
21901 * include/grub/i386/pc/vbeutil.h: Moved from here ...
21902 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
21903 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
21904 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
21905 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
21906 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
21907 (grub_video_adapter): Added 'get_info_and_fini'.
21908 (grub_video_get_info_and_fini): New prototype.
21909 (grub_video_set_mode): make modestring const char *.
21910 * loader/i386/linux.c (grub_linux_setup_video): Use
21911 grub_video_get_info_and_fini.
21912 (grub_linux_boot): Move modesetting just before booting.
21913 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
21914 grub_video_get_info_and_fini.
21915 * video/i386/pc/vbe.c: Moved framebuffer part ...
21916 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
21917 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
21918 grub_video_fbstd_colors and grub_video_fb_set_palette.
21919 (grub_video_vbe_init): Clear 'framebuffer' variable and use
21920 grub_video_fb_init.
21921 (grub_video_vbe_fini): Use grub_video_fb_fini.
21922 (grub_video_vbe_setup): Use framebuffer.render_target instead of
21923 render_target and use grub_video_fb_set_active_render_target and
21924 grub_video_fb_set_palette.
21925 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
21926 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
21927 (grub_video_vbe_adapter): Use framebuffer.
21928 * video/video.c (grub_video_get_info_and_fini): New function.
21929 (grub_video_set_mode): Make modestring const char *.
21930 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
21931 values are already initialised.
21932
d404ee56 219332009-08-14 Pavel Roskin <proski@gnu.org>
21934
21935 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
21936 ABS and APPLE_CC.
21937 * boot/i386/pc/diskboot.S: Likewise.
21938 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
21939 sectors allow compilation on MacOSX.
21940 * conf/i386-pc.rmk: Enable unconditional compilation of
21941 lnxboot.img.
21942
9a10df16 219432009-08-13 Colin Watson <cjwatson@ubuntu.com>
21944
21945 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
21946 * util/grub.d/00_header.in: Enter interruptible sleep if
21947 GRUB_HIDDEN_TIMEOUT is set.
21948
be3c9ca7 219492009-08-13 Yves Blusseau <blusseau@zetam.org>
21950
21951 * include/grub/symbol.h: Add the LOCAL macro.
21952 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
21953 starting with "L_".
21954
1f9e557e 219552009-08-13 Pavel Roskin <proski@gnu.org>
21956
9ca62843 21957 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
21958 any modern compilers we support.
21959
1f9e557e 21960 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
21961 Use local labels starting with "L_" so that Apple assembler
21962 knows they are local.
21963
81623db6 219642009-08-10 Robert Millan <rmh.grub@aybabtu.com>
21965
21966 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
21967 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
21968 (bsd_kernel_types): ... this enum.
21969
21970 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
21971 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
21972 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
21973
21974 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
21975 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
21976 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
21977 messages.
21978
f5d35e7a 219792009-08-08 Robert Millan <rmh.grub@aybabtu.com>
21980
21981 * util/grub-dumpdevtree: Moved from here ...
21982 * util/i386/efi/grub-dumpdevtree: ... to here.
21983 (hexify): New function. Converts a string to its hex version.
21984 Generate hex versions of "efi" and "device-properties" by calling
21985 hexify() on the ASCII strings rather than by hardcoding numbers.
21986
d1e1d527 219872009-08-08 Robert Millan <rmh.grub@aybabtu.com>
21988
21989 * fs/jfs.c: Update copyright year.
21990
1ebbe064 219912009-08-08 Felix Zielcke <fzielcke@z-51.de>
21992
21993 * util/grub.d/00_header.in: Fix a comment.
21994 * util/grub.d/10_linux.in: Likewise.
21995 * util/grub.d/10_windows.in: Likewise.
21996 * util/grub.d/10_hurd.in: Likewise.
21997
a78c8d24 219982009-08-08 Felix Zielcke <fzielcke@z-51.de>
21999
22000 * util/grub-mkconfig.in: Allow the user to specify the used font
22001 with GRUB_FONT.
22002
29a6b9e8 220032009-08-08 Pavel Roskin <proski@gnu.org>
22004
b5f16cc4 22005 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
22006 available, xfs.mod needs it now.
22007
2f5cb827 22008 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
22009 the "g" modifier in sed when the intention is to strip something
22010 once. This fixes comparison of kernels with multiple dashes.
22011
29a6b9e8 22012 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
22013 on it. Add missing space before closing bracket. Fix
22014 misleading formatting.
22015
892a3d98 220162009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22017
22018 * docs/grub.texi: Major overhaul. Remove all sections that are
22019 specific to GRUB Legacy, or mostly composed of Legacy-specific
22020 information.
22021
ed94253f 220222009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22023
22024 * docs/version.texi: New file. Provides version information for
22025 grub.texi.
22026
126d6628 220272009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22028
22029 * docs/grub.texi: Update CVS information to SVN.
22030 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
22031
998b5aa9 220322009-08-07 Felix Zielcke <fzielcke@z-51.de>
22033
22034 * util/grub-mkconfig.in: Remove a wrong `fi'.
22035
818e094a 220362009-08-07 Felix Zielcke <fzielcke@z-51.de>
22037
22038 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
22039 (grub_jfs_uuid): New function.
22040 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
22041
b969c52f 220422009-08-07 Felix Zielcke <fzielcke@z-51.de>
22043
22044 * util/grub-mkconfig_lib.in (font_path): Move the functionality
22045 of it to ...
22046 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
22047 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
22048
7a4894cc 220492009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22050
22051 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
22052 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
22053 Update all users.
22054
22055 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
22056 not just "vmlinu[zx]".
22057 Moved from here ...
22058 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
22059 all users.
22060
22061 * util/grub.d/10_linux.in (find_latest): Moved from here ...
22062 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
22063 all users.
22064
4e2171f8 220652009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22066
22067 * util/grub.d/10_freebsd.in: Use an absolute device path for
22068 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
22069
6dcfcb32 220702009-08-06 Felix Zielcke <fzielcke@z-51.de>
22071
22072 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
22073 handling of multiple abstraction modules.
22074
f56a8756 220752009-08-04 Robert Millan <rmh.grub@aybabtu.com>
22076
22077 Fix a bug resulting in black screen when loading Linux using a
22078 packed video mode.
22079
22080 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
22081 function.
22082
22083 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
22084 (grub_vbe_bios_getset_dac_palette_width): New function.
22085 (grub_vbe_bios_get_dac_palette_width)
22086 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
22087 grub_vbe_bios_getset_dac_palette_width()).
22088
22089 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
22090 check for return status.
22091 (grub_vbe_get_video_mode_info): When getting information for a packed
22092 mode (<= 8 bpp), obtain DAC palette width using
22093 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
22094 {red,green,blue}_mark_size.
22095
222671b2 220962009-08-04 Felix Zielcke <fzielcke@z-51.de>
22097
ecb1a6d9 22098 * commands/search.c (options): Fix help output to match actual code.
222671b2 22099
f84114f5 221002009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
22101
22102 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
22103 of homegrown code.
22104
bd288a20 221052009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 22106
22107 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
22108 on XFS or ReiserFS.
22109
8aab5e25 221102009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22111
22112 Support Apple partition map with sector size different from 512 bytes.
22113
22114 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
22115 (apple_partition_map_iterate): Respect 'aheader.blocksize'
22116 and 'apart.partmap_size'.
22117
6ad6258a 221182009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
221192009-08-01 Robert Millan <rmh.grub@aybabtu.com>
22120
22121 Fix cpuid command.
22122
22123 * commands/i386/cpuid.c (options): New variable.
22124 (grub_cmd_cpuid): Return real error.
22125 (GRUB_MOD_INIT(cpuid)): Declare options.
22126
67459bc6 221272009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
22128
22129 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
22130 valid.
22131
fbc6ab54 221322009-07-31 Bean <bean123ch@gmail.com>
22133
22134 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
22135 log2_inode.
22136 (grub_fshelp_node): Move inode field to the end.
22137 (grub_xfs_data): Remove inode field.
22138 (grub_xfs_inode_block): Calculate inode size using sblock.
22139 (grub_xfs_inode_offset): Likewise.
22140 (grub_xfs_read_inode): Calculate inode size using sblock.
22141 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
22142 (grub_xfs_iterate_dir): Calculate inode size using sblock.
22143 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
22144 to match inode size.
22145 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
22146 not accessible when data is null.
22147 (grub_xfs_open): Likewise.
22148
f45d6cfc 221492009-07-31 Bean <bean123ch@gmail.com>
22150
22151 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
22152 Don't change pv->disk if it's already set.
22153
22154 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
22155 (grub_raid_register): ... here.
22156 (grub_raid_rescan): Removed.
22157
22158 * include/grub/raid.h (grub_raid_rescan): Removed.
22159
22160 * util/grub-fstest.c: Remove include file <grub/raid.h>.
22161 (fstest): Replace grub_raid_rescan with module fini function followed
22162 by init function.
22163
22164 * util/grub-probe.c: Add include file <grub/raid.h>.
22165 (probe_raid_level): New function.
22166 (probe): Detect abstraction by walking the disk device, support two
22167 level of abstraction (LVM on RAID) when detecting partition map.
22168
24443b5a 221692009-07-31 Pavel Roskin <proski@gnu.org>
22170
22171 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
22172 to grub_zalloc(), it was erroneous.
22173 Reported by Bean <bean123ch@gmail.com>
22174
a275d9e7 221752009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
22176
22177 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 22178 embedding zone, not only the first one.
a275d9e7 22179
56c5a47f 221802009-07-29 Joe Auricchio <jauricchio@gmail.com>
22181
22182 * term/gfxterm.c (clear_char): New function.
22183 (grub_virtual_screen_setup): Use clear_char.
22184 (scroll_up): Likewise.
22185 (grub_virtual_screen_cls): Likewise.
22186
67bb323a 221872009-07-29 Felix Zielcke <fzielcke@z-51.de>
22188
22189 * util/deviceiter.c (get_acceleraid_disk_name): New static
22190 function.
22191 (grub_util_iterate_devices): Handle Accelraid devices.
22192 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
22193
388a7c75 221942009-07-28 Robert Millan <rmh.grub@aybabtu.com>
22195
22196 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
22197 separator for the suggested gfxpayload string (';' collides with the
22198 parser and needs escaping).
22199
3bb7abcf 222002009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
22201
22202 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
22203 Clear direction flag before jumping to OS.
22204 (grub_multiboot2_real_boot): Likewise.
22205
2ddd36d7 222062009-07-28 Felix Zielcke <fzielcke@z-51.de>
22207
22208 * util/i386/pc/grub-install: Fix parsing of --disk-module
22209 option.
22210
c521b62b 222112009-07-28 Felix Zielcke <fzielcke@z-51.de>
22212
22213 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
22214 when embedding.
22215
880e0a0c 222162009-07-26 Felix Zielcke <fzielcke@z-51.de>
22217
22218 * util/grub-mkconfig.in (package_version): New variable.
22219 Use it do display the version.
22220
2366e356 222212009-07-25 Felix Zielcke <fzielcke@z-51.de>
22222
22223 * kern/file.c (grub_file_open): Revert to previous check with
22224 grub_errno.
22225
7ad8c80e 222262009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
22227
22228 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
22229 from help line. It's out of sync with code.
22230
72b9658b 222312009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
22232
22233 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
22234 entries on failed boot.
22235
77435277 222362009-07-25 Felix Zielcke <fzielcke@z-51.de>
22237
22238 * kern/file.c (grub_file_open): Fix an error check.
22239
fcaa8b21 222402009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
22241
35d16c74 22242 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
22243 partition map couldn't be identified.
fcaa8b21 22244
48904cd1 222452009-07-23 Pavel Roskin <proski@gnu.org>
22246
ef3c317f 22247 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
22248 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
22249 case of little endian words becomes just an optimization.
22250 Respect const modifier.
ad8ea1f4 22251 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 22252
48904cd1 22253 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
22254 to avoid loss of upper bits if align is unsigned and shorter
22255 than addr.
22256
260c9a89 222572009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
22258
22259 UUID support for UFS
22260
22261 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
22262 (grub_ufs_uuid): New function.
22263 (grub_ufs_fs): add .uuid
22264
f76ce889 222652009-07-21 Pavel Roskin <proski@gnu.org>
22266
22267 * kern/dl.c (grub_dl_check_header): Make static.
22268
6a6cbcaf 222692009-07-21 Felix Zielcke <fzielcke@z-51.de>
22270
22271 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
22272 add drivemap for Vista. It breaks Windows 7.
22273
cffcddb2 222742009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
22275
22276 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
22277 128 bytes
22278
1ef44b80 222792009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22280
22281 Add BFS support
22282
22283 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
22284 (grub_fstest_SOURCES): Likewise.
22285 (pkglib_MODULES): Add befs.mod.
22286 (befs_mod_SOURCES): New variable.
22287 (befs_mod_CFLAGS): Likewise.
22288 (befs_mod_LDFLAGS): Likewise.
22289 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22290 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22291 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22292 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22293 (grub_setup_SOURCES): Likewise.
22294 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22295 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22296 (grub_setup_SOURCES): Likewise.
22297 * fs/befs.c: New file.
22298 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
22299 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
22300 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
22301 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
22302 (B_KEY_INDEX_ALIGN): New declaration.
22303 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
22304 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
22305 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
22306 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
22307 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
22308 (grub_afs_mount) [MODE_BFS]: Likewise.
22309 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
22310 (grub_afs_fs): Use GRUB_AFS_FSNAME
22311 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
22312 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
22313 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
22314 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
22315
4f253044 223162009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
22317
22318 * util/getroot.c (find_root_device): Add support for MacOSX.
22319 * util/hostdisk.c: Likewise.
22320
57a55913 223212009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22322
22323 * font/font.c (find_glyph): Check whether a font is present to avoid
22324 segmentation fault.
75421ca9 22325
223262009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 22327
22328 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
22329
e98cd0c2 223302009-07-20 Pavel Roskin <proski@gnu.org>
22331
22332 * configure.ac: Trim excessively wordy excuses.
22333
1d2d169a 223342009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22335
22336 Add symlink, mtime and label support to AtheFS.
22337
22338 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
22339 (grub_afs_iterate_dir): Handle symlinks.
22340 (grub_afs_open): Use grub_afs_read_symlink.
22341 (grub_afs_dir): Likewise.
22342 Pass mtime.
22343 (grub_afs_label): New function.
22344 (grub_afs_fs): Add grub_afs_label.
22345 (grub_afs_read_symlink): New function.
22346
186f3189 223472009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22348
22349 Fix AtheFS support.
22350
22351 * fs/afs.c: Fix comments style.
22352 (grub_afs_blockrun): Declare as packed.
22353 (grub_afs_datastream): Likewise.
22354 (grub_afs_bnode): Likewise.
22355 (grub_afs_btree): Likewise.
22356 (grub_afs_sblock): Likewise.
22357 Declare `name' as char.
22358 (grub_afs_inode): Declare as packed.
22359 Change void *vnode to grub_uint32_t unused.
22360 (grub_afs_iterate_dir): Check that key_size is positive.
22361 (grub_afs_mount): Don't read superblock twice.
75421ca9 22362 (grub_afs_dir): Don't free node in case of error,
186f3189 22363 grub_fshelp_find_file already handles this.
22364 (grub_afs_open): Likewise.
22365
5680109e 223662009-07-19 Pavel Roskin <proski@gnu.org>
22367
22368 * Makefile.in: Remove LIBLZO and enable_lzo.
22369 * conf/i386-pc.rmk: Remove lzo support.
22370 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
22371 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
22372 support.
22373 * kern/i386/pc/lzo1x.S: Remove.
22374 * kern/i386/pc/startup.S: Remove lzo support.
22375 * util/i386/pc/grub-mkimage.c: Likewise.
22376
ac70fa32 223772009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
22378
22379 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
22380 * fs/xfs.c (grub_xfs_dir): Likewise.
22381 * fs/afs.c (grub_afs_dir): Likewise.
22382 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
22383 (grub_iso9660_open): Likewise.
22384 * fs/jfs.c (grub_jfs_open): Likewise.
22385 * fs/ext2.c (grub_ext2_dir): Likewise.
22386 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
22387 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 22388
eab58da2 223892009-07-16 Pavel Roskin <proski@gnu.org>
22390
d2838156 22391 * configure.ac: Never add "-c" to CFLAGS.
22392
55c70904 22393 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
22394
43e6200c 22395 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
22396 grub_cv_cc_efiemu should be used.
22397
ce7a733d 22398 * configure.ac: Typo fixes.
22399
eab58da2 22400 * kern/mm.c (grub_zalloc): New function.
22401 (grub_debug_zalloc): Likewise.
22402 * include/grub/mm.h: Declare grub_zalloc() and
22403 grub_debug_zalloc().
22404 * util/misc.c (grub_zalloc): New function.
22405 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
22406 instead of grub_malloc(), remove unneeded initializations.
22407 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
22408 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
22409 * commands/parttool.c (grub_cmd_parttool): Likewise.
22410 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
22411 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
22412 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
22413 * disk/usbms.c (grub_usbms_finddevs): Likewise.
22414 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
22415 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
22416 (grub_cmd_efiemu_pnvram): Likewise.
22417 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
22418 * fs/iso9660.c (grub_iso9660_mount): Likewise.
22419 (grub_iso9660_iterate_dir): Likewise.
22420 * fs/jfs.c (grub_jfs_opendir): Likewise.
22421 * fs/ntfs.c (list_file): Likewise.
22422 (grub_ntfs_mount): Likewise.
22423 * kern/disk.c (grub_disk_open): Likewise.
22424 * kern/dl.c (grub_dl_load_core): Likewise.
22425 * kern/elf.c (grub_elf_file): Likewise.
22426 * kern/env.c (grub_env_context_open): Likewise.
22427 (grub_env_set): Likewise.
22428 (grub_env_set_data_slot): Likewise.
22429 * kern/file.c (grub_file_open): Likewise.
22430 * kern/fs.c (grub_fs_blocklist_open): Likewise.
22431 * loader/i386/multiboot.c (grub_module): Likewise.
22432 * loader/xnu.c (grub_xnu_create_key): Likewise.
22433 (grub_xnu_create_value): Likewise.
22434 * normal/main.c (grub_normal_add_menu_entry): Likewise.
22435 (read_config_file): Likewise.
22436 * normal/menu_entry.c (make_screen): Likewise.
22437 * partmap/sun.c (sun_partition_map_iterate): Likewise.
22438 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
22439 * script/sh/script.c (grub_script_parse): Likewise.
22440 * video/bitmap.c (grub_video_bitmap_create): Likewise.
22441 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
22442 * video/readers/png.c (grub_png_output_byte): Likewise.
22443 (grub_video_reader_png): Likewise.
22444
830afef7 224452009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 22446
22447 Enable all targets that can be built by default
22448
830afef7 22449 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 22450 grub-mkfont and grub-fstest if they can be built
22451
ee293aee 224522009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22453
22454 Fix hang and segmentation fault in grub-emu-usb
22455
22456 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
22457 * util/usb.c (grub_libusb_devices): likewise
22458 (grub_libusb_init): rename to ...
22459 (GRUB_MOD_INIT (libusb)):...this
22460 (grub_libusb_fini): rename to ..
22461 (GRUB_MOD_FINI (libusb)):...this
22462 * disk/usbms.c (grub_usbms_transfer): fix retry logic
22463 * include/grub/disk.h (grub_raid_init): removed, it's useless
22464 (grub_raid_fini): likewise
22465 (grub_lvm_init): likewise
22466 (grub_lvm_fini): likewise
22467 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
22468 by grub_init_all
22469
94414221 224702009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22471
22472 Fix libusb
22473
22474 * Makefile.in (LIBUSB): new macro
22475 * genmk.rb (Utility/print_tail): new method
22476 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
22477 (top level): call util.print_tail at the end.
22478
59ade63d 224792009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22480
22481 Make FreeBSD accept zpool.cache
22482
22483 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
22484 type is /boot/zfs/zpool.cache
22485
a58da8c7 224862009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22487
22488 Fix 64-bit efiemu
22489
22490 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
22491 correct wrong typedef
22492 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
22493
20591577 224942009-07-15 Pavel Roskin <proski@gnu.org>
22495
560ca572 22496 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
22497 * kern/disk.c (struct grub_disk_cache): Likewise.
22498
e8e8e4fd 22499 * commands/probe.c (options): Typo fix.
22500
fde24e10 22501 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
22502 Increase to 0x5a to accommodate FAT32. Adjust other offsets
22503 accordingly.
22504 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
22505
379c54c1 22506 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
22507 the end of "Error" to make the message more readable.
22508
7bd8f5bf 22509 * boot/i386/pc/boot.S (kernel_segment): Remove.
22510 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
22511 for destination.
22512
40b132c5 22513 * boot/i386/pc/boot.S (boot_version): Remove.
22514 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
22515 Remove.
22516
20591577 22517 * include/grub/i386/pc/boot.h: Sort all offsets.
22518 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
22519 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
22520 * boot/i386/pc/boot.S: Assert location of every offset listed in
22521 include/grub/i386/pc/boot.h.
22522
2df32b2c 225232009-07-13 Pavel Roskin <proski@gnu.org>
22524
44b5d879 22525 * include/grub/i386/coreboot/machine.h: Rename
22526 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
22527 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
22528 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
22529
17dc3751 22530 * kern/dl.c: Force native word size to suppress warnings when
22531 compiling grub-emu.
22532
2df32b2c 22533 * kern/device.c (grub_device_iterate): Change struct part_ent to
22534 hold the name, not a pointer to it. Use one grub_malloc() per
22535 partition, not two. Free partition_name if grub_malloc() fails.
22536 Set ents to NULL only before grub_partition_iterate() is called.
22537
75c59f59 225382009-07-11 Bean <bean123ch@gmail.com>
22539
22540 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
22541 childname.
22542
0ae1bf88 225432009-07-10 Bean <bean123ch@gmail.com>
225442009-07-10 Robert Millan <rmh.grub@aybabtu.com>
22545
22546 * kern/ieee1275/openfw.c (grub_children_iterate)
22547 (grub_devalias_iterate): Fix size evaluation for property or path
22548 strings, which was broken since r2132.
22549
8279cade 225502009-07-07 Pavel Roskin <proski@gnu.org>
22551
7d8a52d3 22552 * commands/search.c (search_file): Merge into ...
22553 (search_fs): ... this. Accept search type as argument.
22554 (grub_cmd_search): Pass search type to search_fs().
22555
25f9a05a 22556 * include/grub/util/console.h: New file.
22557 * util/console.c: Use it instead of grub/machine/console.h.
22558 * util/grub-emu.c: Likewise.
22559
8279cade 22560 * lib/arg.c (find_long_option): Remove.
22561 (find_long): Add `len' argument, make `s' const char *.
22562 (grub_arg_parse): Parse long options in place, not in a
22563 temporary buffer.
22564
4a11b60f 225652009-07-06 Pavel Roskin <proski@gnu.org>
22566
99f68041 22567 * commands/search.c (search_fs): Fix potential NULL pointer
22568 dereference.
22569
4a11b60f 22570 * commands/search.c (search_fs): Replace QUID macro with quid_fn
22571 function pointer.
22572
e110f4de 225732009-07-06 Daniel Mierswa <impulze@impulze.org>
22574
22575 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
22576 comparison.
22577
46eeb6a2 225782009-07-05 Pavel Roskin <proski@gnu.org>
22579
bab74958 22580 * include/grub/i386/linux.h (struct linux_kernel_params):
22581 Restore padding3, it's still needed.
22582
46eeb6a2 22583 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
22584 FreeBSD.
22585 * util/osdetect.lua: Likewise.
22586
b4a1dc79 225872009-07-05 Bean <bean123ch@gmail.com>
22588
22589 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
22590
22591 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
22592 (grub_lua_getenv): Likewise.
22593 (grub_lua_setenv): Likewise.
22594 (save_errno): New function.
22595 (push_result): Likewise.
22596 (grub_lua_enum_device): Likewise.
22597 (grub_lua_enum_file): Likewise.
22598 (grub_lua_file_open): Likewise.
22599 (grub_lua_file_close): Likewise.
22600 (grub_lua_file_seek): Likewise.
22601 (grub_lua_file_read): Likewise.
22602 (grub_lua_file_getline): Likewise.
22603 (grub_lua_file_getsize): Likewise.
22604 (grub_lua_file_getpos): Likewise.
22605 (grub_lua_file_eof): Likewise.
22606 (grub_lua_file_exist): Likewise.
22607 (grub_lua_add_menu): Likewise.
22608
22609 * script/lua/grub_lua.h (isupper): New inline function.
22610 (islower): Likewise.
22611 (ispunct): Likewise.
22612 (isxdigit): Likewise.
22613 (strcspn): Change to normal function.
22614 (strpbkr): New function declaration.
22615 (memchr): Likewise.
22616
22617 * script/lua/grub_main.c (scan_str): New function.
22618 (strcspn): Likewise.
22619 (strpbrk): Likewise.
22620 (memchr): Likewise.
22621
22622 * script/lua/linit.c (lualibs): Enable the string library.
22623
22624 * util/osdetect.lua: New file.
22625
2da92295 226262009-07-04 Robert Millan <rmh.grub@aybabtu.com>
22627
22628 * include/grub/i386/linux.h (struct linux_kernel_params): Add
22629 `capabilities' member.
22630
b2582ec9 226312009-07-02 Pavel Roskin <proski@gnu.org>
22632
22633 * genparttoollist.sh: Add missing newline at the end.
22634
32622956 226352009-07-01 Pavel Roskin <proski@gnu.org>
22636
87a7339e 22637 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
22638
d23af54e 22639 * util/hostdisk.c (open_device): Remove `const' from
22640 `sysctl_size', as sysctlbyname() can change it (in this case it
22641 doesn't actually happen).
22642
c94b18a9 22643 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
22644 using signed long int constants.
22645
c6cd3ef0 22646 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
22647 constant to avoid a warning on FreeBSD.
22648
0df63420 22649 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
22650 where it's needed.
22651
999577f1 22652 * Makefile.in: Install include/grub/machine symlink.
22653
6f41557f 22654 * Makefile.in: When installing symlinks, use "cp -fR", which
22655 works on FreeBSD and MacOSX.
22656 From Yves Blusseau <cl7m42e02@sneakemail.com>
22657
c8d22988 22658 * kern/dl.c (grub_dl_resolve_symbol): Make static.
22659 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
22660
1b96e952 22661 * util/misc.c: Move grub_reboot() and grub_halt() ...
22662 * util/grub-emu.c: ... here. Make main_env static.
22663 * include/grub/util/misc.h: Remove main_env.
22664
2ef0084d 22665 * kern/mm.c: Use correct format to print size_t.
22666
32622956 22667 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
22668 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
22669 * kern/powerpc/dl.c: Likewise.
22670 * kern/sparc64/dl.c: Likewise.
22671 * kern/x86_64/dl.c: Likewise.
22672
3f7f0cd0 226732009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22674
22675 Fix grub-emu build on sparc64-ieee1275.
22676
75421ca9 22677 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 22678 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
22679
211d06b5 226802009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22681
22682 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
22683 (grub_reboot, grub_halt): New functions.
22684
22685 * util/i386/pc/misc.c: Delete. Update all users.
22686 * util/sparc64/ieee1275/misc.c: Likewise.
22687 * util/powerpc/ieee1275/misc.c: Likewise.
22688
aaf53e3c 226892009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22690
22691 * conf/i386.rmk (setjmp_mod_SOURCES)
22692 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
22693 * conf/common.rmk (setjmp_mod_SOURCES)
22694 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
22695 to use $(target_cpu).
22696 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
22697 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
22698 * conf/powerpc-ieee1275.rmk: Likewise.
22699 * conf/sparc64-ieee1275.rmk: Likewise.
22700
22701 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
22702 $(target_cpu) for kern/$(target_cpu)/dl.c.
22703 * conf/i386-efi.rmk: Likewise.
22704 * conf/i386-ieee1275.rmk: Likewise.
22705 * conf/x86_64-efi.rmk: Likewise.
22706 * conf/i386-coreboot.rmk: Likewise.
22707 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
22708 $(target_cpu) for kern/$(target_cpu)/dl.c and for
22709 kern/$(target_cpu)/cache.S.
22710 * conf/sparc64-ieee1275.rmk: Likewise.
22711
a337130b 227122009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22713
22714 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
22715 type to `grub_uint8_t', and adjust `padding9' accordingly.
22716
c6fe4d53 227172009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22718
b09db61d 22719 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
22720
c6fe4d53 22721 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
22722 assembly in final jump, using register constraints.
22723
b09db61d 22724 (grub_linux_boot): For text mode, initialize `have_vga' using
22725 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
22726
22727 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
22728 right before the final jump.
22729
22730 Set `video_mode' to 0x3.
22731
22732 Document initialization of `video_page', `video_mode' and
22733 `video_ega_bx'.
22734
28333ad0 227352009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22736
22737 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
22738 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 22739 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 22740
02164e1b 227412009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22742
22743 Fix build on Debian / sparc.
22744
22745 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
22746
18b6c557 227472009-06-28 Pavel Roskin <proski@gnu.org>
22748
85f2aab6 22749 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
22750 fix a warning.
22751
18b6c557 22752 * util/grub.d/10_linux.in: Match SUSE style initrd names.
22753
ad760f81 227542009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22755
22756 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
22757 `err'.
22758
87a4623b 227592009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22760
22761 Revert r2338.
22762
22763 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
22764 file can't be opened. grub_file_open() is already supposed to set
75421ca9 22765 grub_errno / grub_errmsg appropriately.
87a4623b 22766 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22767
8231fb77 227682009-06-27 Pavel Roskin <proski@gnu.org>
227692009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22770
22771 * include/grub/dl.h: Include grub/elf.h.
22772 (struct grub_dl): Add symtab field.
22773 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
22774 GRUB_MODULES_MACHINE_READONLY.
22775 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
22776 of the header for read-only modules.
22777 (grub_dl_unload): Free mod->symtab for read-only modules.
22778 * kern/i386/dl.c: Use mod->symtab.
22779 * kern/powerpc/dl.c: Likewise.
22780 * kern/sparc64/dl.c: Likewise.
22781 * kern/x86_64/dl.c: Likewise.
22782
22783 * conf/i386-qemu.rmk: New file.
22784 * kern/i386/qemu/startup.S: Likewise.
22785 * kern/i386/qemu/mmap.c: Likewise.
22786 * boot/i386/qemu/boot.S: Likewise.
22787 * include/grub/i386/qemu/time.h: Likewise.
22788 * include/grub/i386/qemu/serial.h: Likewise.
22789 * include/grub/i386/qemu/kernel.h: Likewise.
22790 * include/grub/i386/qemu/console.h: Likewise.
22791 * include/grub/i386/qemu/boot.h: Likewise.
22792 * include/grub/i386/qemu/init.h: Likewise.
22793 * include/grub/i386/qemu/machine.h: Likewise.
22794 * include/grub/i386/qemu/loader.h: Likewise.
22795 * include/grub/i386/qemu/memory.h: Likewise.
22796
22797 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
22798 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
22799 [qemu] (pkglib_IMAGES): Add `boot.img'.
22800 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
22801 [qemu] (boot_img_FORMAT): New variables.
22802 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
22803 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
22804 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
22805 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22806 [qemu] (kernel_img_FORMAT): New variables.
22807
22808 * configure.ac: Recognise `i386-qemu'.
22809
22810 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
22811 (for no compression).
22812 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
22813 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
22814 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
22815 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
22816 ifdefs).
22817
97fe384e 228182009-06-27 Pavel Roskin <proski@gnu.org>
22819
22820 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
22821 read.
22822 * efiemu/prepare32.c: Likewise.
22823 * efiemu/prepare64.c: Likewise.
22824
c402ab17 228252009-06-26 Pavel Roskin <proski@gnu.org>
22826
22827 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
22828 * include/grub/elf.h: Define symbols without "32" or "64" based
22829 on GRUB_TARGET_WORDSIZE.
22830 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
22831 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
22832 ELF definitions.
22833 * efiemu/loadcore64.c: Likewise.
22834 * loader/i386/bsd32.c: Likewise.
22835 * loader/i386/bsd64.c: Likewise.
22836 * kern/dl.c: Remove own ELF definitions.
22837 * util/i386/efi/grub-mkimage.c: Likewise.
22838
9bbdfd4d 228392009-06-23 Robert Millan <rmh.grub@aybabtu.com>
22840
22841 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
22842 segment 0x0 unconditionally, because the reference generated by
22843 GAS is an absolute address.
22844
a42ce6e9 228452009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22846
22847 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
22848 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
22849
c952cf92 228502009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22851
22852 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
22853 indexes. Check for -f explicitly.
cc3752ad 22854 (search_file): Improve error message.
22855 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 22856
132a0a59 228572009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22858
22859 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
22860 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
22861
387a140c 228622009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22863
22864 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
22865 * conf/i386-ieee1275.rmk: Likewise.
22866 * conf/i386-coreboot.rmk: Likewise.
22867
22868 * kern/i386/pc/startup.S (grub_stop): Remove function.
22869 * kern/i386/ieee1275/startup.S: Likewise.
22870 * kern/i386/coreboot/startup.S: Likewise.
22871 * kern/i386/misc.S (grub_stop): New function.
22872
41da9665 228732009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22874
22875 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
22876 * kern/i386/realmode.S (real_to_prot): ... to here.
22877
bf337234 228782009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22879
22880 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
22881 with `kernel.img'.
22882 (kernel_elf_SOURCES): Rename to ...
22883 (kernel_img_SOURCES): ... this.
22884 (kernel_elf_HEADERS): Rename to ...
22885 (kernel_img_HEADERS): ... this. Update all users.
22886 (kernel_elf_ASFLAGS): Rename to ...
22887 (kernel_img_ASFLAGS): ... this.
22888 (kernel_elf_CFLAGS): Rename to ...
22889 (kernel_img_CFLAGS): ... this.
22890 (kernel_elf_LDFLAGS): Rename to ...
22891 (kernel_img_LDFLAGS): ... this.
22892 * conf/i386-coreboot.rmk: Likewise.
22893 * conf/powerpc-ieee1275.rmk: Likewise.
22894
22895 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
22896 with "kernel.img".
22897
f52196ff 228982009-06-21 Pavel Roskin <proski@gnu.org>
22899
c3cee413 22900 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
22901 to match nested functions.
22902 * loader/sparc64/ieee1275/linux.c: Likewise.
22903
f52196ff 22904 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
22905
58750afc 229062009-06-21 Robert Millan <rmh.grub@aybabtu.com>
22907
22908 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
22909 all i386 platforms.
22910
15355c7d 229112009-06-21 Robert Millan <rmh.grub@aybabtu.com>
22912
22913 Fix asm file handling on ELF, and remove workarounds.
22914
22915 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 22916 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 22917 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
22918 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
22919
3f3ec72b 229202009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
22921
22922 Load BSD ELF modules
22923
22924 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
22925 and loader/i386/bsd64.c
22926 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
22927 (FREEBSD_MODTYPE_ELF_MODULE): New definition
22928 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
22929 (grub_freebsd_load_elfmodule32): New declaration
22930 (grub_freebsd_load_elfmoduleobj64): Likewise
22931 (grub_freebsd_load_elf_meta32): Likewise
22932 (grub_freebsd_load_elf_meta64): Likewise
22933 (grub_freebsd_add_meta): Likewise
22934 (grub_freebsd_add_meta_module): Likewise
22935 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
22936 (grub_freebsd_add_meta_module): Likewise and move module-specific
22937 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
22938 (grub_cmd_freebsd): Add elf-kernel specific parts
22939 based on grub_freebsd_add_meta_module
22940 (grub_cmd_freebsd_module): Add type parsing moved from
22941 grub_freebsd_add_meta_module
22942 (grub_cmd_freebsd_module_elf): New function
22943 (cmd_freebsd_module_elf): New variable
22944 (GRUB_MOD_INIT): Register freebsd_module_elf
22945 * loader/i386/bsd32.c: New file
22946 * loader/i386/bsd64.c: Likewise
22947 * loader/i386/bsdXX.c: Likewise
22948 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
22949 (grub_elf64_load): Likewise
22950 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
22951 All users updated
22952 (grub_elf64_load_hook_t): Likewise
22953
0db15301 229542009-06-21 Colin Watson <cjwatson@ubuntu.com>
22955
22956 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
22957 variable.
22958 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
22959 don't write a menu entry for recovery mode.
22960
546796c1 229612009-06-20 Robert Millan <rmh.grub@aybabtu.com>
22962
22963 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
22964 after it's no longer needed.
22965
cd7310d5 229662009-06-20 Robert Millan <rmh.grub@aybabtu.com>
22967
22968 * include/grub/i386/loader.h (grub_linux_prot_size)
22969 (grub_linux_tmp_addr, grub_linux_real_addr)
22970 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
22971 GRUB_MACHINE_PCBIOS.
22972 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
22973 common grub_util_info() call to ...
22974 (generate_image): ... here.
22975 Fix use of uninitialized memory, comparison of signed with
22976 unsigned integers and memory leak.
22977 Remove bogus module address message.
22978
ab32d3b5 229792009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22980
22981 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
22982 grub_raid_register
22983 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
22984
024ef597 229852009-06-19 Pavel Roskin <proski@gnu.org>
22986
22987 * configure.ac: Remove stray AC_MSG_CHECKING.
22988
3ac72b51 229892009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
22990
22991 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 22992
e14cd814 229932009-06-18 Pavel Roskin <proski@gnu.org>
22994
22995 * conf/common.rmk: Add fs_file.mod.
22996 * disk/fs_file.c: New file.
22997 * include/grub/disk.h (enum grub_disk_dev_id): Add
22998 GRUB_DISK_DEVICE_FILE_ID.
22999
26586d98 230002009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
23001
23002 Fix build with Apple's toolchain. Part 2
23003
23004 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
23005 a fake start
23006
26de2bcd 230072009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
23008
23009 Fix build with Apple's toolchain. Part 1
23010
23011 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
23012 for long calls
23013 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 23014 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 23015 Apple's toolchain
23016
09b3490b 230172009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
23018
23019 Fix warnings
23020
23021 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
23022 (decomp_block): initialize ch
23023 use grub_memcpy instead of memcpy
23024
c22a006a 230252009-06-17 Pavel Roskin <proski@gnu.org>
23026
d3638678 23027 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
23028 version, use declarations needed to use vga_text as the startup
23029 console.
23030
c22a006a 23031 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
23032 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
23033 the kernel.
23034 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
23035 and grub_at_keyboard_fini(), it's done on module load and
23036 unload.
23037
05b129e0 230382009-06-17 Felix Zielcke <fzielcke@z-51.de>
23039
23040 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
23041 file can't be found.
23042 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
23043
cf24ed9e 230442009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
23045
23046 Fix newline handling
23047
23048 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 23049 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 23050 (grub_script_yylex): don't segfault on unterminated script
23051 newline terminates command and variable
23052
74aa8e4b 230532009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
23054
23055 avoid double grub_adjust_range call. Bug reported by David Simner
23056
23057 * kern/disk.c (grub_disk_write): change to raw disk access before
23058 calling disk_read
23059
1bd265f3 230602009-06-17 Colin Watson <cjwatson@ubuntu.com>
23061
23062 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
23063 spaces, for the benefit of help2man.
23064 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23065
a2d08c06 230662009-06-16 Pavel Roskin <proski@gnu.org>
23067
23068 * kern/i386/halt.c: Include grub/machine/init.h.
23069 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
23070
b97bcb19 230712009-06-16 Felix Zielcke <fzielcke@z-51.de>
23072
23073 * util/grub.d/30_os-prober.in: Use ${root} in the generated
23074 drivemap menuentry.
23075
0644f96c 230762009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
23077
23078 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
23079 `echo' command.
23080
3ef17a2e 230812009-06-16 Pavel Roskin <proski@gnu.org>
23082
23083 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
23084 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
23085 save %dx, we only need %dl and we never change it.
23086 * boot/i386/pc/cdboot.S: Don't set the root drive.
23087 * boot/i386/pc/pxeboot.S: Likewise.
23088 * include/grub/i386/pc/boot.h: Remove
23089 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
23090 GRUB_BOOT_MACHINE_DRIVE_CHECK.
23091 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
23092 * kern/i386/pc/init.c (make_install_device): Remove references
23093 to grub_root_drive.
23094 * kern/i386/pc/startup.S: Likewise.
23095 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
23096
693fe637 230972009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
23098
23099 xnu_uuid command
23100
23101 * commands/xnu_uuid.c: new file
23102 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
23103 (xnu_uuid_mod_SOURCES): new variable
23104 (xnu_uuid_mod_CFLAGS): likewise
23105 (xnu_uuid_mod_LDFLAGS): likewise
23106 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
23107 * conf/i386-ieee1275.rmk: likewise
23108 * conf/i386-pc.rmk: likewise
23109 * conf/powerpc-ieee1275.rmk: likewise
23110 * conf/sparc64-ieee1275.rmk: likewise
23111 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
23112
c9da87d0 231132009-06-16 Pavel Roskin <proski@gnu.org>
23114
23115 * configure.ac: Avoid '==' in test command, it's not portable.
23116
9c6f4596 231172009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
23118
23119 Probe command
23120
23121 * commands/probe.c: new file
23122 * conf/common.rmk (pkglib_MODULES): add probe.mod
23123 (probe_mod_SOURCES): new variable
23124 (probe_mod_CFLAGS): likewise
23125 (probe_mod_LDFLAGS): likewise
23126 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
23127 * conf/i386-ieee1275.rmk: likewise
23128 * conf/i386-pc.rmk: likewise
23129 * conf/powerpc-ieee1275.rmk: likewise
23130 * conf/sparc64-ieee1275.rmk: likewise
23131
70b7f9fd 231322009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
23133
23134 Fix handling of string like \"hello\" and "a
23135 b"
23136
23137 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
23138 (grub_script_yylex): fix parsing of quoting, escaping and newline
23139
71c79a6b 231402009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
23141
dd74360c 23142 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 23143 handling
dd74360c 23144
0644f96c 231452009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 23146
23147 * util/grub-mkconfig.in: Fix parsing of --output option.
23148
e40893c3 231492009-06-12 Pavel Roskin <proski@gnu.org>
23150
23151 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
23152 genmk.rb don't need to be generated or installed.
23153
3a1acfe2 231542009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23155
23156 * commands/i386/pc/drivemap_int13h.S: add more comments
23157
3a4575d4 231582009-06-11 Pavel Roskin <proski@gnu.org>
23159
0658e928 23160 * Makefile.in (uninstall): Uninstall manuals.
23161
ca0388f0 23162 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
23163 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
23164 and update-grub_lib in two places.
23165 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
23166
e3b27c39 23167 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
23168 a compiler warning.
23169
3a4575d4 23170 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
23171 `entry_lo' to fix variable shadowing.
23172
af1f4f55 231732009-06-11 Christian Franke <franke@computer.org>
23174
23175 * kern/misc.c (__enable_execute_stack): Add missing return type
23176 to prevent gcc warning.
23177
5225e649 231782009-06-11 Felix Zielcke <fzielcke@z-51.de>
23179
23180 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
23181
7d83bd47 231822009-06-11 Pavel Roskin <proski@gnu.org>
23183
c1cb63ba 23184 * Makefile.in: Don't rely on any scripts being executable.
23185 Always use $(SHELL) to run shell scripts.
23186
7d83bd47 23187 * configure.ac: Always define ___main if using -nostdlib. This
23188 fixes tests on Cygwin.
23189
948f48e7 231902009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
23191
23192 UDF fix
23193
7d83bd47 23194 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 23195 is in bytes and not in blocks
7d83bd47 23196
8ada9bc1 231972009-06-11 Pavel Roskin <proski@gnu.org>
23198
23199 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
23200 warning.
23201
25ad2323 232022009-06-11 Felix Zielcke <fzielcke@z-51.de>
23203
23204 * util/grub.d/30_os-prober.in: Fix a comment. Source
23205 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
23206 to set the root device. Place drivemap command in the generated
23207 chain entry.
23208
e65acb0c 232092009-06-11 Pavel Roskin <proski@gnu.org>
23210
23211 * configure.ac: Remove host_m32. Issues with 64-bit utilities
23212 have long been resolved.
23213
f285fe2d 232142009-06-11 Colin Watson <cjwatson@ubuntu.com>
23215
bd47b0b5 23216 * util/grub.d/10_linux.in: Capitalise "Linux".
23217
f285fe2d 23218 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
23219
a0c62e4e 232202009-06-11 Pavel Roskin <proski@gnu.org>
23221
b6783cb2 23222 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
23223 fix a gcc warning and ensure that the function won't ever exit.
23224
dde032e8 23225 * kern/i386/ieee1275/init.c: Add missing prototype for
23226 grub_stop_floppy().
23227
22cd079d 23228 * loader/ieee1275/multiboot2.c [__i386__]: Include
23229 grub/cpu/multiboot.h.
23230
a0c62e4e 23231 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
23232 casts to short - they are not portable and cause warnings. Fix
23233 use of uninitialized values in input_buf. Use ARRAY_SIZE.
23234
63963d17 232352009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
23236
23237 Drivemap fixes
23238
23239 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
23240 new function
23241 (grub_get_root_biosnumber_saved): new variable
23242 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
23243 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 23244 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 23245 %dx after the call if necessary
23246 * conf/common.rmk (pkglib_MODULES): remove boot.mod
23247 (boot_mod_SOURCES): remove
23248 (boot_mod_CFLAGS): remove
23249 (boot_mod_LDFLAGS): remove
23250 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
23251 (boot_mod_SOURCES): new variable
23252 (boot_mod_CFLAGS): likewise
23253 (boot_mod_LDFLAGS): likewise
23254 * conf/i386-efi.rmk: likewise
23255 * conf/i386-ieee1275.rmk: likewise
23256 * conf/i386-pc.rmk: likewise
23257 * conf/powerpc-ieee1275.rmk: likewise
23258 * conf/sparc64-ieee1275.rmk: likewise
23259 * conf/x86_64-efi.rmk: likewise
23260 * include/grub/i386/pc/biosnum.h: new file
23261 * lib/i386/pc/biosnum.c: likewise
23262 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
23263 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
23264 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 23265
33abf7ae 232662009-06-10 Pavel Roskin <proski@gnu.org>
23267
5ac35b35 23268 * io/gzio.c (test_header): Don't reuse one buffer for all data.
23269 Use separate variables. Read only the file size at the end, but
23270 not the checksum that we don't use.
23271
5c5215d5 23272 * kern/file.c (grub_file_read): Use void pointer for the buffer.
23273 Adjust all callers.
23274
27d5fef7 23275 * kern/ieee1275/openfw.c: Remove libc includes.
23276 * kern/ieee1275/cmain.c: Likewise.
23277 * include/grub/ieee1275/ieee1275.h: Likewise.
23278
33abf7ae 23279 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
23280 compiler warnings.
23281
19d50c2b 232822009-06-10 Felix Zielcke <fzielcke@z-51.de>
23283
23284 * Makefile.in: Remove all trailing whitespace.
23285 * conf/i386-pc.rmk: Likewise.
23286 * conf/powerpc-ieee1275.rmk: Likewise.
23287 * conf/sparc64-ieee1275.rmk: Likewise.
23288 * docs/grub.texi: Likewise.
23289 * docs/texinfo.tex: Likewise.
23290 * disk/fs_uuid.c: Likewise.
23291 * disk/lvm.c: Likewise.
23292 * disk/scsi.c: Likewise.
23293 * disk/ata.c: Likewise.
23294 * disk/ieee1275/ofdisk.c: Likewise.
23295 * disk/i386/pc/biosdisk.c: Likewise.
23296 * disk/host.c: Likewise.
23297 * disk/raid.c: Likewise.
23298 * disk/efi/efidisk.c: Likewise.
23299 * disk/usbms.c: Likewise.
23300 * disk/memdisk.c: Likewise.
23301 * disk/loopback.c: Likewise.
23302 * kern/powerpc/dl.c: Likewise.
23303 * kern/device.c: Likewise.
23304 * kern/dl.c: Likewise.
23305 * kern/sparc64/dl.c: Likewise.
23306 * kern/ieee1275/ieee1275.c: Likewise.
23307 * kern/term.c: Likewise.
23308 * kern/fs.c: Likewise.
23309 * kern/i386/dl.c: Likewise.
23310 * kern/i386/pc/startup.S: Likewise.
23311 * kern/i386/pc/init.c: Likewise.
23312 * kern/i386/pc/mmap.c: Likewise.
23313 * kern/i386/pc/lzo1x.S: Likewise.
23314 * kern/i386/ieee1275/init.c: Likewise.
23315 * kern/i386/realmode.S: Likewise.
23316 * kern/i386/tsc.c: Likewise.
23317 * kern/partition.c: Likewise.
23318 * kern/corecmd.c: Likewise.
23319 * kern/file.c: Likewise.
23320 * kern/efi/efi.c: Likewise.
23321 * kern/efi/init.c: Likewise.
23322 * kern/efi/mm.c: Likewise.
23323 * kern/main.c: Likewise.
23324 * kern/err.c: Likewise.
23325 * kern/env.c: Likewise.
23326 * kern/disk.c: Likewise.
23327 * kern/generic/millisleep.c: Likewise.
23328 * kern/generic/rtc_get_time_ms.c: Likewise.
23329 * kern/misc.c: Likewise.
23330 * kern/parser.c: Likewise.
23331 * genmk.rb: Likewise.
23332 * configure.ac: Likewise.
23333 * boot/i386/pc/diskboot.S: Likewise.
23334 * boot/i386/pc/pxeboot.S: Likewise.
23335 * boot/i386/pc/boot.S: Likewise.
23336 * boot/i386/pc/lnxboot.S: Likewise.
23337 * boot/i386/pc/cdboot.S: Likewise.
23338 * parttool/pcpart.c: Likewise.
23339 * video/readers/tga.c: Likewise.
23340 * video/video.c: Likewise.
23341 * video/bitmap.c: Likewise.
23342 * lib/envblk.c: Likewise.
23343 * lib/i386/setjmp.S: Likewise.
23344 * fs/xfs.c: Likewise.
23345 * fs/afs.c: Likewise.
23346 * fs/fat.c: Likewise.
23347 * fs/ntfs.c: Likewise.
23348 * fs/udf.c: Likewise.
23349 * fs/affs.c: Likewise.
23350 * fs/iso9660.c: Likewise.
23351 * fs/hfs.c: Likewise.
23352 * fs/fshelp.c: Likewise.
23353 * fs/ext2.c: Likewise.
23354 * fs/jfs.c: Likewise.
23355 * fs/reiserfs.c: Likewise.
23356 * fs/hfsplus.c: Likewise.
23357 * fs/minix.c: Likewise.
23358 * fs/cpio.c: Likewise.
23359 * fs/sfs.c: Likewise.
23360 * fs/ufs.c: Likewise.
23361 * efiemu/prepare.c: Likewise.
23362 * efiemu/loadcore_common.c: Likewise.
23363 * efiemu/runtime/efiemu.sh: Likewise.
23364 * efiemu/runtime/efiemu.S: Likewise.
23365 * efiemu/runtime/efiemu.c: Likewise.
23366 * efiemu/pnvram.c: Likewise.
23367 * efiemu/main.c: Likewise.
23368 * efiemu/i386/pc/cfgtables.c: Likewise.
23369 * efiemu/i386/loadcore64.c: Likewise.
23370 * efiemu/i386/loadcore32.c: Likewise.
23371 * efiemu/loadcore.c: Likewise.
23372 * efiemu/symbols.c: Likewise.
23373 * efiemu/mm.c: Likewise.
23374 * include/grub/autoefi.h: Likewise.
23375 * include/grub/datetime.h: Likewise.
23376 * include/grub/term.h: Likewise.
23377 * include/grub/hfs.h: Likewise.
23378 * include/grub/lvm.h: Likewise.
23379 * include/grub/i386/tsc.h: Likewise.
23380 * include/grub/i386/linux.h: Likewise.
23381 * include/grub/i386/xnu.h: Likewise.
23382 * include/grub/i386/efiemu.h: Likewise.
23383 * include/grub/i386/pc/biosdisk.h: Likewise.
23384 * include/grub/i386/pc/memory.h: Likewise.
23385 * include/grub/i386/pc/vbe.h: Likewise.
23386 * include/grub/parttool.h: Likewise.
23387 * include/grub/video.h: Likewise.
23388 * include/grub/memory.h: Likewise.
23389 * include/grub/fs.h: Likewise.
23390 * include/grub/partition.h: Likewise.
23391 * include/grub/xnu.h: Likewise.
23392 * include/grub/efi/api.h: Likewise.
23393 * include/grub/efi/pe32.h: Likewise.
23394 * include/grub/efi/memory.h: Likewise.
23395 * include/grub/multiboot.h: Likewise.
23396 * include/grub/usbdesc.h: Likewise.
23397 * include/grub/multiboot2.h: Likewise.
23398 * include/grub/acpi.h: Likewise.
23399 * include/grub/efiemu/efiemu.h: Likewise.
23400 * include/grub/disk.h: Likewise.
23401 * include/grub/ieee1275/ieee1275.h: Likewise.
23402 * include/grub/net.h: Likewise.
23403 * include/grub/machoload.h: Likewise.
23404 * include/grub/macho.h: Likewise.
23405 * include/multiboot.h: Likewise.
23406 * genmoddep.awk: Likewise.
23407 * normal/main.c: Likewise.
23408 * normal/menu_entry.c: Likewise.
23409 * normal/menu_viewer.c: Likewise.
23410 * normal/completion.c: Likewise.
23411 * normal/cmdline.c: Likewise.
23412 * normal/misc.c: Likewise.
23413 * normal/datetime.c: Likewise.
23414 * bus/usb/usbtrans.c: Likewise.
23415 * bus/usb/ohci.c: Likewise.
23416 * bus/usb/uhci.c: Likewise.
23417 * bus/usb/usb.c: Likewise.
23418 * mmap/efi/mmap.c: Likewise.
23419 * mmap/i386/pc/mmap_helper.S: Likewise.
23420 * mmap/i386/pc/mmap.c: Likewise.
23421 * mmap/i386/mmap.c: Likewise.
23422 * mmap/i386/uppermem.c: Likewise.
23423 * mmap/mmap.c: Likewise.
23424 * commands/acpi.c: Likewise.
23425 * commands/echo.c: Likewise.
23426 * commands/blocklist.c: Likewise.
23427 * commands/loadenv.c: Likewise.
23428 * commands/usbtest.c: Likewise.
23429 * commands/boot.c: Likewise.
23430 * commands/parttool.c: Likewise.
23431 * commands/search.c: Likewise.
23432 * commands/cat.c: Likewise.
23433 * commands/i386/pc/play.c: Likewise.
23434 * commands/i386/pc/drivemap.c: Likewise.
23435 * commands/i386/pc/vbeinfo.c: Likewise.
23436 * commands/i386/pc/acpi.c: Likewise.
23437 * commands/i386/pc/vbetest.c: Likewise.
23438 * commands/ls.c: Likewise.
23439 * commands/cmp.c: Likewise.
23440 * commands/test.c: Likewise.
23441 * commands/efi/acpi.c: Likewise.
23442 * commands/gptsync.c: Likewise.
23443 * commands/help.c: Likewise.
23444 * partmap/amiga.c: Likewise.
23445 * partmap/apple.c: Likewise.
23446 * partmap/acorn.c: Likewise.
23447 * partmap/pc.c: Likewise.
23448 * partmap/sun.c: Likewise.
23449 * partmap/gpt.c: Likewise.
23450 * script/sh/lexer.c: Likewise.
23451 * script/sh/function.c: Likewise.
23452 * font/font.c: Likewise.
23453 * font/font_cmd.c: Likewise.
23454 * loader/powerpc/ieee1275/linux.c: Likewise.
23455 * loader/efi/chainloader.c: Likewise.
23456 * loader/multiboot_loader.c: Likewise.
23457 * loader/macho.c: Likewise.
23458 * loader/i386/multiboot.c: Likewise.
23459 * loader/i386/linux.c: Likewise.
23460 * loader/i386/pc/linux.c: Likewise.
23461 * loader/i386/pc/multiboot2.c: Likewise.
23462 * loader/i386/pc/chainloader.c: Likewise.
23463 * loader/i386/pc/xnu.c: Likewise.
23464 * loader/i386/bsd_trampoline.S: Likewise.
23465 * loader/i386/efi/linux.c: Likewise.
23466 * loader/i386/multiboot_elfxx.c: Likewise.
23467 * loader/i386/bsd_helper.S: Likewise.
23468 * loader/i386/bsd.c: Likewise.
23469 * loader/i386/linux_trampoline.S: Likewise.
23470 * loader/i386/xnu_helper.S: Likewise.
23471 * loader/i386/xnu.c: Likewise.
23472 * loader/i386/bsd_pagetable.c: Likewise.
23473 * loader/i386/multiboot_helper.S: Likewise.
23474 * loader/xnu.c: Likewise.
23475 * loader/xnu_resume.c: Likewise.
23476 * io/gzio.c: Likewise.
23477 * term/efi/console.c: Likewise.
23478 * term/terminfo.c: Likewise.
23479 * term/ieee1275/ofconsole.c: Likewise.
23480 * term/i386/pc/serial.c: Likewise.
23481 * term/i386/pc/vesafb.c: Likewise.
23482 * term/i386/pc/vga.c: Likewise.
23483 * term/usb_keyboard.c: Likewise.
23484 * term/gfxterm.c: Likewise.
23485 * aclocal.m4: Likewise.
23486 * util/lvm.c: Likewise.
23487 * util/grub.d/30_os-prober.in: Likewise.
23488 * util/grub.d/10_hurd.in: Likewise.
23489 * util/console.c: Likewise.
23490 * util/grub-macho2img.c: Likewise.
23491 * util/grub-probe.c: Likewise.
23492 * util/hostfs.c: Likewise.
23493 * util/i386/pc/grub-mkimage.c: Likewise.
23494 * util/i386/pc/grub-setup.c: Likewise.
23495 * util/i386/efi/grub-mkimage.c: Likewise.
23496 * util/grub-mkconfig.in: Likewise.
23497 * util/raid.c: Likewise.
23498 * util/resolve.c: Likewise.
23499 * util/grub-mkdevicemap.c: Likewise.
23500 * util/grub-emu.c: Likewise.
23501 * util/getroot.c: Likewise.
23502 * util/hostdisk.c: Likewise.
23503 * util/usb.c: Likewise.
23504 * util/grub-editenv.c: Likewise.
23505 * util/misc.c: Likewise.
23506
d2d49665 235072009-06-10 Felix Zielcke <fzielcke@z-51.de>
23508
23509 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
23510 `genparttoollist.sh'.
23511 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
23512 Add `*.sh' to the list find searches for and change `mdate.sh'
23513 to `mdate-sh'.
23514
fe052e37 235152009-06-10 Pavel Roskin <proski@gnu.org>
23516
2763ac18 23517 * include/grub/multiboot2.h: Provide compatibility defines for
23518 multiboot2.h.
23519 * include/multiboot2.h: Include stdint.h only if needed, using
23520 angle brackets.
23521 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
23522 grub/multiboot2.h.
23523 * loader/ieee1275/multiboot2.c: Likewise.
23524 * loader/multiboot2.c: Likewise.
23525 * loader/multiboot_loader.c: Likewise.
23526
437e6adc 23527 * configure.ac: Use -nostdlib when probing for the target. It
23528 should not be required to have libc for the target.
23529
06a6836c 23530 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
23531 they fail without libc headers for the target.
23532 * include/grub/powerpc/libgcc.h: Use weak attribute for all
23533 exports.
23534 * include/grub/sparc64/libgcc.h: Likewise. Don't use
23535 preprocessor conditionals.
23536
fe052e37 23537 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
23538 build system doesn't need to be aware of the tar.c internals.
23539
afd22553 235402009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 23541
afd22553 23542 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 23543
6b787c4f 235442009-06-09 Robert Millan <rmh.grub@aybabtu.com>
23545
23546 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
23547 disk limit to 26 for IDE, Virtio, Xen and SCSI.
23548
235492009-06-09 Felix Zielcke <fzielcke@z-51.de>
23550
23551 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 23552 aren't available if ata.mod gets used.
6b787c4f 23553
473d1e45 235542009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 23555
473d1e45 23556 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 23557 initialising controller.
473d1e45 23558 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 23559
255a27d4 235602009-06-08 Felix Zielcke <fzielcke@z-51.de>
23561
23562 * util/i386/pc/grub-install.in: Add a parameter --disk-module
23563 to choose between ata and biosdisk module on i386-pc.
23564
473d1e45 235652009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 23566
d55842d8 23567 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
23568 Subclass and Programming Interface fields in terms of the 3 byte
23569 Class Code register.
23570 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
23571
fa5db0b1 23572 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
23573 interface is OHCI. Add grub_dprintf for symmetry with
23574 bus/usb/uhci.c.
23575 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
23576 interface is UHCI. Add interf variable for programming
23577 interface. Print interface with class/subclass.
23578
c0947beb 23579 * bus/usb/ohci.c: Set interf with correct field.
23580
69da8877 23581 * bus/usb/uhci.c: Remove unneeded doubled lines.
23582 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
23583 Remove whitespace inside comment.
23584
9e172e30 235852009-06-08 Robert Millan <rmh.grub@aybabtu.com>
23586
23587 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
23588 as fallback an equivalent option without depth.
23589
de65ee2b 235902009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
23591
23592 Not fail if unable to retrieve C/H/S on LBA disks
23593
473d1e45 23594 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 23595 if unable to retrieve C/H/S on LBA disks
23596
b57ea2c9 235972009-06-08 Pavel Roskin <proski@gnu.org>
23598
23599 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
23600 about aliasing.
23601
af361263 236022009-06-08 Felix Zielcke <fzielcke@z-51.de>
23603
23604 * Makefile.in (uninstall): Remove all $lib_DATA files.
23605
4c9ec6b3 236062009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
23607
23608 Bugfix: install on partitionless device
23609
23610 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
23611 is a whole disk
23612
e76fc924 236132009-06-08 Felix Zielcke <fzielcke@z-51.de>
23614
23615 * Makefile.in (uninstall): Remove all $include_DATA files.
23616
ba5a0d05 236172009-06-08 Felix Zielcke <fzielcke@z-51.de>
23618
23619 * commands/true.c: New file. Implement the true and false commands.
23620 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
23621 (true_mod_SOURCES): New variable.
23622 (true_mod_CFLAGS): Likewise.
23623 (true_mod_LDFLAGS): Likewise.
23624
c8048e32 236252009-06-05 Colin D Bennett <colin@gibibit.com>
23626
23627 Optimized font character lookup using binary search instead of linear
23628 search. Fonts now are required to have the character index ordered by
23629 code point.
23630
23631 * font/font.c (load_font_index): Verify that fonts have ordered
23632 character indices.
23633 (find_glyph): Use binary search instead of linear search to find a
23634 character in a font.
23635
408305be 236362009-06-05 Michael Scherer <misc@mandriva.org>
23637
23638 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
23639 uses case sensitive btree.
23640 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
23641 only for case insensitive filesystems.
23642
8ee1e0d9 236432009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
23644
23645 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
23646 * conf/common.rmk (search_mod_CFLAGS): likewise
23647
a9966eb1 236482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23649
473d1e45 23650 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 23651 compensate a compiler bug
23652
9e7100fb 236532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23654
473d1e45 23655 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 23656 instead of '\b'
473d1e45 23657
ede21d71 236582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23659
23660 Definitions for creating asm symbols with Apple's CC
23661
23662 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
23663 [APPLE_CC] (VARIABLE): likewise
23664
9dbf7653 236652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23666
23667 Disable lnxboot.img when compiled
23668 with Apple's CC
23669
23670 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
23671 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
23672 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
23673 [! APPLE_CC] (CODE_LENG): skip
23674 [! APPLE_CC] (setup_sects): likewise
23675 [! APPLE_CC]: skip filling
473d1e45 23676
e93cdc3d 236772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23678
23679 Address in trampolines based on 32-bit registers when compiled
23680 with Apple's CC
23681
473d1e45 23682 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 23683 for addresses
23684 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
23685
6c688477 236862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23687
23688 Avoid aliases when compiling with Apple's CC for PCBIOS machine
23689
23690 * kern/misc.c [APPLE_CC] (memcpy): new function
23691 [APPLE_CC] (memmove): likewise
23692 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 23693 (memcpy): define alias conditionally on !APPLE_CC
6c688477 23694 (memset): likewise
23695 (abort): likewise
23696 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
23697 APPLE_CC are defined
23698 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
23699 (grub_assert_fail): make prototype conditional
23700
e37ffc5c 237012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23702
23703 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
23704
473d1e45 23705 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
23706 grub-macho2img
e37ffc5c 23707 (CLEANFILES): add grub-macho2img
23708 (grub_macho2img_SOURCES): new variable
23709 * kern/i386/pc/startup.S (bss_start): new variable
23710 (bss_end): likewise
23711 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
23712 * util/grub-macho2img.c: new file
23713
cf00df31 237142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23715
23716 Use objconv when compiling with Apple's CC
23717
23718 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
23719 (efiemu64.o): likewise
23720 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
23721 when compiling with Apple's CC
23722 (efiemu64_s.o): likewise
23723 * configure.ac: check for objconv when compiling with Apple's CC
23724 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 23725
d119a20c 237262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23727
23728 Define segment as well as section when compiling with
23729 Apple's CC
23730
23731 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
23732 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
23733 (efiemu_convert_pointer): likewise
23734 (efiemu_set_virtual_address_map): likewise
23735 (efiemu_convert_pointer): likewise
23736 (efiemu_getcrc32): likewise
23737 (init_crc32_table): likewise
23738 (reflect): likewise
23739 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
23740 (GRUB_MOD_DEP): likewise
473d1e45 23741
c8600122 237422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23743
23744 Allow a compilation without -mcmodel=large
23745
23746 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
23747 when compiled without -mcmodel=large
473d1e45 23748 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 23749 without -mcmodel=large
473d1e45 23750 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 23751 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 23752
e8df1d4e 237532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23754
23755 Remove nested functions in efiemu core
23756
23757 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 23758
cc6c3ac1 237592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23760
23761 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
23762
23763 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
23764 temporary storage
473d1e45 23765 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
23766 using Apple's CC
cc6c3ac1 23767 (grub_cpu_is_tsc_supported): likewise
23768 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 23769
3e325901 237702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23771
23772 Absolute addressing through constant with Apple's cc
23773
23774 * kern/i386/pc/startup.S: Define necessary constants
23775 and address through it when using ABS with Apple's CC
23776 * boot/i386/pc/diskboot.S: likewise
23777 * boot/i386/pc/boot.S: likewise
23778 * boot/i386/pc/lnxboot.S: likewise
23779 * boot/i386/pc/cdboot.S: likewise
23780 * mmap/i386/pc/mmap_helper.S: likewise
23781 * commands/i386/pc/drivemap_int13h.S: likewise
23782
2b167a72 237832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23784
23785 Check if compiler is apple cc
23786
23787 * Makefile.in (ASFLAGS): new variable
23788 (TARGET_ASFLAGS): likewise
23789 (TARGET_MODULE_FORMAT): likewise
23790 (TARGET_APPLE_CC): likewise
23791 (OBJCONV): likewise
23792 (TARGET_IMG_CFLAGS): likewise
23793 (TARGET_CPPFLAGS): add includedir
23794 * configure.ac: call grub_apple_cc and grub_apple_target_cc
23795 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
23796 Check for linker script only if compiler isn't Apple's CC
23797 (TARGET_MODULE_FORMAT): set
23798 (TARGET_APPLE_CC): likewise
23799 (TARGET_ASFLAGS): likewise
23800 (ASFLAGS): likewise
23801 Check for objcopy only if compiler isn't Apple's CC
23802 Check for BSS symbol only if compiler isn't Apple's CC
23803 * genmk.rb: adapt nm options if we use Apple's utils
23804 * aclocal.m4 (grub_apple_cc): new test
23805 (grub_apple_target_cc): likewise
473d1e45 23806
fb14123e 238072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23808
23809 Simplify sed expressions and improve awk
23810
23811 * Makefile.in (install-local): simplify sed expression
23812 * gencmdlist.sh: likewise
23813 * genmoddep.awk: avoid adding module as a dependency of itself
23814
5b889789 238152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23816
23817 Add missing start symbols
23818
23819 * boot/i386/pc/boot.S: add start
fb14123e 23820 * boot/i386/pc/pxeboot.S: likewise
473d1e45 23821
fd2bf2e3 238222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23823
23824 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 23825
23826 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 23827 (relocate_addresses): consider both r_addend and value at offset
23828 (make_mods_section): zerofill modinfo and header
23829 (convert_elf): write prefix here
473d1e45 23830
5389763d 238312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23832
23833 Use .asciz instead of .string
23834
23835 * i386/pc/diskboot.S: use .asciz instead of .string
23836 * i386/pc/boot.S: likewise
23837 * include/grub/dl.h (GRUB_MOD_DEP): likewise
23838 (GRUB_MOD_NAME): likewise
473d1e45 23839
3eb5ed4e 238402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23841
23842 gfxpayload support
23843
23844 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
23845 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
23846 (grub_video_setup): remove
23847 (grub_video_set_mode): new prototype
23848 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
23849 (vid_mode): remove
23850 (linux_vesafb_res): compile only on PCBIOS
23851 (grub_linux_boot): support gfxpayload
23852 * loader/i386/pc/xnu.c (video_hook): new function
23853 (grub_xnu_set_video): support gfxpayload
23854 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
23855 (DEFAULT_VIDEO_HEIGHT): likewise
23856 (DEFAULT_VIDEO_FLAGS): likewise
23857 (DEFAULT_VIDEO_MODE): new definition
23858 (video_hook): new function
23859 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 23860 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 23861 loading xnu
23862 * video/video.c (grub_video_setup): removed
473d1e45 23863 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 23864 grub_video_setup
23865
4b0e1143 238662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23867
23868 Avoid calling biosdisk in drivemap
23869
23870 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
23871 (revparse_biosdisk): likewise
23872 (list_mappings): derive name from id directly
23873 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 23874
fda6cb98 238752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23876
23877 Script fixes
23878
23879 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
23880 (grub_lexer_param): add tokenonhold
23881 (grub_script_create_cmdline): remove cmdline. All callers updated
23882 (grub_script_function_create): make functionname
23883 grub_script_arg. All callers updated
23884 (grub_script_execute_argument_to_string): new prototype
23885 * kern/parser.c (state_transitions): reorder
23886 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 23887 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 23888 make global
23889 (grub_script_execute_cmdline): use new format
23890 * script/sh/function.c (grub_script_function_create): make functionname
23891 grub_script_arg. All callers updated
473d1e45 23892 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 23893 (grub_script_yylex): remove
23894 (grub_script_yylex2): renamed to ...
23895 (grub_script_yylex): ...renamed
23896 parse the expressions like a${b}c
23897 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
23898 (GRUB_PARSER_TOKEN_VAR): remove
23899 (GRUB_PARSER_TOKEN_NAME): likewise
23900 ("if"): declare as typeless
23901 ("while"): likewise
23902 ("function"): likewise
23903 ("else"): likewise
23904 ("then"): likewise
23905 ("fi"): likewise
23906 (text): remove
23907 (argument): likewise
23908 (script): accept empty scripts and make exit on error
23909 (arguments): use GRUB_PARSER_TOKEN_ARG
23910 (function): likewise
23911 (command): move error handling to script
23912 (menuentry): move grub_script_lexer_ref before
473d1e45 23913 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 23914 argument. All callers updated
23915
f4448a07 239162009-06-04 Robert Millan <rmh.grub@aybabtu.com>
23917
23918 Prevent GRUB from probing floppies during boot.
23919
23920 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
23921 * commands/search.c (options): Add --no-floppy.
23922 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
23923 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
23924 --no-floppy when searching for UUIDs.
23925
2bf5885a 239262009-06-04 Robert Millan <rmh.grub@aybabtu.com>
23927
23928 Simplify the code duplication in commands/search.c.
23929
23930 * commands/search.c (search_label, search_fs_uuid): Merge into ...
23931 (search_fs): ... this. Update all users.
23932
f6fd460a 239332009-06-03 Felix Zielcke <fzielcke@z-51.de>
23934
23935 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
23936
cbb3c83e 239372009-05-28 Pavel Roskin <proski@gnu.org>
23938
57788cfd 23939 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
23940 Remove the original symlink explicitly.
23941
cbb3c83e 23942 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
23943 just one slash. That's how grub_fshelp_find_file() does it.
23944
cd0d5e30 239452009-05-26 Pavel Roskin <proski@gnu.org>
23946
f0f8bbe2 23947 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
23948 to `str'.
23949
cd0d5e30 23950 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
23951 possibly unused.
23952
8c2cab51 239532009-05-25 Christian Franke <franke@computer.org>
23954
23955 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
23956 register.
23957 (grub_atapi_identify): Add wait after drive select.
23958 (grub_ata_identify): Do more strict status register check before
23959 calling grub_atapi_identify (). Suppress error message if status
23960 register is 0x00 after command failure. Add status register
23961 check after PIO read to avoid bogus identify due to stuck DRQ.
23962 Thanks to Pavel Roskin for testing.
23963 (grub_device_initialize): Remove unsafe status register check.
23964 Thanks to 'phcoder' for problem report and patch.
23965 Prevent sign extension in debug message.
23966
230c0ad6 239672009-05-23 Colin D Bennett <colin@gibibit.com>
23968
23969 Cleaned up `include/grub/normal.h'. Grouped prototypes by
23970 definition file, and functions defined in `normal/menu.c' have had
23971 their prototypes moved to `include/grub/menu.h' for consistency.
23972
23973 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
23974 from normal.h.
23975 (grub_menu_get_entry): Likewise.
23976 (grub_menu_get_timeout): Likewise.
23977 (grub_menu_set_timeout): Likewise.
23978 (grub_menu_execute_entry): Likewise.
23979 (grub_menu_execute_with_fallback): Likewise.
23980 (grub_menu_entry_run): Likewise.
23981
23982 * include/grub/normal.h: Re-ordered and grouped function
23983 prototypes by file that the function is defined in.
23984 (grub_menu_execute_callback): Removed; moved to menu.h.
23985 (grub_menu_get_entry): Likewise.
23986 (grub_menu_get_timeout): Likewise.
23987 (grub_menu_set_timeout): Likewise.
23988 (grub_menu_execute_entry): Likewise.
23989 (grub_menu_execute_with_fallback): Likewise.
23990 (grub_menu_entry_run): Likewise.
23991 (grub_menu_addentry): Renamed from this ...
23992 (grub_normal_add_menu_entry): ... to this.
23993
23994 * normal/main.c (grub_menu_addentry): Renamed from this ...
23995 (grub_normal_add_menu_entry): ... to this.
23996
23997 * script/sh/execute.c (grub_script_execute_menuentry): Update
23998 reference to renamed grub_menu_addentry function.
23999
861f03a5 240002009-05-23 Felix Zielcke <fzielcke@z-51.de>
24001
24002 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
24003
96b1619a 240042009-05-22 Pavel Roskin <proski@gnu.org>
24005
bf6a5fb2 24006 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
24007 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
24008 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
24009 compiling for the i386 targets, but not for the utilities.
24010
96b1619a 24011 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
24012 to grub_uint8_t.
24013 (grub_root_drive): Likewise.
24014 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
24015 remove alignment.
24016 (grub_root_drive): Change size to byte.
24017 (grub_start_addr): Remove.
24018 (grub_end_addr): Likewise.
24019 (grub_apm_bios_info): Likewise.
24020
b729776b 240212009-05-21 Felix Zielcke <fzielcke@z-51.de>
24022
24023 * normal/i386: Remove.
24024 * normal/powerpc: Likewise.
24025 * normal/sparc64: Likewise.
24026 * normal/x86_64: Likewise.
24027
0a15ce80 240282009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
24029
24030 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 24031 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 24032 * loader/i386/xnu_helper.S: Likewise
d6da58e6 24033
33db9015 240342009-05-18 Colin D Bennett <colin@gibibit.com>
24035
d6da58e6 24036 Display error messages when parsing a Lua statement fails.
24037 Previously, executing a syntactically invalid statement like
24038 ")foo" or "bar;" would silently fail.
33db9015 24039
24040 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 24041 (grub_lua_parse_line): Improved reporting of Lua parser and
24042 execution errors.
33db9015 24043
46422c89 240442009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24045
24046 Remove -Werror which causes build to fail on some systems
24047
24048 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
24049 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
24050 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 24051
22f53a96 240522009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24053
24054 trampoline for linux on 64-bit platform
24055
18f547ad 24056 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
24057 loader/i386/efi/linux_trampoline.S
24058 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 24059 declaration
d6da58e6 24060 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
24061 here
22f53a96 24062 * loader/i386/linux_trampoline.S: moved here
d6da58e6 24063 * loader/i386/efi/linux.c (allocate_pages): reserve space for
24064 trampoline
22f53a96 24065 (jumpvector): removed
24066 (grub_linux_trampoline_start): new declaration
24067 (grub_linux_trampoline_end): likewise
24068 (grub_linux_boot): use trampoline when on 64-bit platform
24069 * loader/i386/linux.c: likewise
24070
cb5a0f40 240712009-05-16 Pavel Roskin <proski@gnu.org>
24072
24073 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
24074 const to avoid a warning.
24075 (grub_lua_setenv): Likewise.
24076 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
24077 lmsg to fix a warning.
24078
334f2c28 240792009-05-16 Felix Zielcke <fzielcke@z-51.de>
24080
24081 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 24082 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
24083 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
24084 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
24085 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
24086 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
24087 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
24088 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 24089
59e5d3ec 240902009-05-16 Felix Zielcke <fzielcke@z-51.de>
24091
24092 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
24093
9d87a1ba 240942009-05-16 Bean <bean123ch@gmail.com>
24095
24096 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
24097 (lua_mod_SOURCES): New variable.
24098 (lua_mod_CFLAGS): Likewise.
24099 (lua_mod_LDFLAGS): Likewise.
24100
24101 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
24102 (setjmp_mod_SOURCES): New variable.
24103 (setjmp_mod_CFLAGS): Likewise.
24104 (setjmp_LDFLAGS): Likewise.
24105
24106 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
24107 (setjmp_mod_SOURCES): New variable.
24108 (setjmp_mod_CFLAGS): Likewise.
24109 (setjmp_LDFLAGS): Likewise.
24110
24111 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
24112 (setjmp_mod_SOURCES): New variable.
24113 (setjmp_mod_CFLAGS): Likewise.
24114 (setjmp_LDFLAGS): Likewise.
24115
24116 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
24117 (setjmp_mod_SOURCES): New variable.
24118 (setjmp_mod_CFLAGS): Likewise.
24119 (setjmp_LDFLAGS): Likewise.
24120
24121 * normal/i386/setjmp.S: Moved from here ...
24122 * lib/i386/setjmp.S: ... Moved here
24123 * normal/x86_64/setjmp.S: Moved from here ...
24124 * lib/x86_64/setjmp.S: ... Moved here
24125 * normal/powerpc/setjmp.S: Moved from here ...
24126 * lib/powerpc/setjmp.S: ... Moved here
24127 * normal/sparc64/setjmp.S: Moved from here ...
24128 * lib/sparc64/setjmp.S: ... Moved here
24129
24130 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
24131 returns_twice in mingw.
24132
24133 * script/lua/grub_lib.c: New file.
24134 * script/lua/grub_lib.h: Likewise.
24135 * script/lua/grub_lua.h: Likewise.
24136 * script/lua/grub_main.c: Likewise.
24137 * script/lua/lapi.c: Likewise.
24138 * script/lua/lapi.h: Likewise.
24139 * script/lua/lauxlib.c: Likewise.
24140 * script/lua/lauxlib.h: Likewise.
24141 * script/lua/lbaselib.c: Likewise.
24142 * script/lua/lcode.c: Likewise.
24143 * script/lua/lcode.h: Likewise.
24144 * script/lua/ldblib.c: Likewise.
24145 * script/lua/ldebug.c: Likewise.
24146 * script/lua/ldebug.h: Likewise.
24147 * script/lua/ldo.c: Likewise.
24148 * script/lua/ldo.h: Likewise.
24149 * script/lua/ldump.c: Likewise.
24150 * script/lua/lfunc.c: Likewise.
24151 * script/lua/lfunc.h: Likewise.
24152 * script/lua/lgc.c: Likewise.
24153 * script/lua/lgc.h: Likewise.
24154 * script/lua/linit.c: Likewise.
24155 * script/lua/liolib.c: Likewise.
24156 * script/lua/llex.c: Likewise.
24157 * script/lua/llex.h: Likewise.
24158 * script/lua/llimits.h: Likewise.
24159 * script/lua/lmathlib.c: Likewise.
24160 * script/lua/lmem.c: Likewise.
24161 * script/lua/lmem.h: Likewise.
24162 * script/lua/loadlib.c: Likewise.
24163 * script/lua/lobject.c: Likewise.
24164 * script/lua/lobject.h: Likewise.
24165 * script/lua/lopcodes.c: Likewise.
24166 * script/lua/lopcodes.h: Likewise.
24167 * script/lua/loslib.c: Likewise.
24168 * script/lua/lparser.c: Likewise.
24169 * script/lua/lparser.h: Likewise.
24170 * script/lua/lstate.c: Likewise.
24171 * script/lua/lstate.h: Likewise.
24172 * script/lua/lstring.c: Likewise.
24173 * script/lua/lstring.h: Likewise.
24174 * script/lua/lstrlib.c: Likewise.
24175 * script/lua/ltable.c: Likewise.
24176 * script/lua/ltable.h: Likewise.
24177 * script/lua/ltablib.c: Likewise.
24178 * script/lua/ltm.c: Likewise.
24179 * script/lua/ltm.h: Likewise.
24180 * script/lua/lua.h: Likewise.
24181 * script/lua/luaconf.h: Likewise.
24182 * script/lua/lualib.h: Likewise.
24183 * script/lua/lundump.c: Likewise.
24184 * script/lua/lundump.h: Likewise.
24185 * script/lua/lvm.c: Likewise.
24186 * script/lua/lvm.h: Likewise.
24187 * script/lua/lzio.c: Likewise.
24188 * script/lua/lzio.h: Likewise.
24189
5e898c9d 241902009-05-16 Bean <bean123ch@gmail.com>
24191
24192 * include/grub/kernel.h (grub_module_header_types): Add type
24193 OBJ_TYPE_CONFIG.
24194
24195 * kern/main.c (grub_load_config): New function.
24196 (grub_main): Call grub_load_config to read boot config.
24197
24198 * grub-mkimage (generate_image): New parameter config_path.
24199 (options): New option --config.
24200 (main): Parse --config option, and pass it to generate_image.
24201
cf353a47 242022009-05-14 Christian Franke <franke@computer.org>
24203
24204 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
24205 This fixes build on Cygwin.
24206
3834887f 242072009-05-14 Pavel Roskin <proski@gnu.org>
24208
24209 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
24210 jump. This saves two bytes, so the typical case of 2 swapped
24211 drives would fit 32 bytes.
24212
8090fc01 242132009-05-13 Pavel Roskin <proski@gnu.org>
24214
ac963883 24215 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
24216 grub_uint32_t to avoid a warning.
24217
8090fc01 24218 * loader/i386/linux.c (allocate_pages): When assigning
24219 real_mode_mem, cast through grub_size_t to fix a warning. The
24220 code already makes sure that the value would fit a pointer.
24221 (grub_linux_setup_video): Cast render_target->data to
24222 grub_size_t to fix a warning.
24223
18f547ad 242242009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 24225
24226 * commands/i386/pc/drivemap.c: New file - implement drivemap
24227 command.
24228 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
24229 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
24230
6f6a8b28 242312009-05-13 Pavel Roskin <proski@gnu.org>
24232
24233 * util/i386/pc/grub-setup.c (setup): Remove unused variable
24234 embedding_area_exists.
24235
15fbf4c4 242362009-05-13 Robert Millan <rmh.grub@aybabtu.com>
24237
24238 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
24239 it easier to understand / work with.
59978c8a 24240 Improve warning messages for cases where there's no embedding area,
24241 or when it is too small (or core.img too large).
15fbf4c4 24242
238e871f 242432009-05-13 Pavel Roskin <proski@gnu.org>
24244
0ab3a9a4 24245 * loader/i386/pc/multiboot2.c: Add necessary includes for
24246 grub_multiboot2_real_boot().
24247
a2c8c5f8 24248 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
24249 PX record is always little-endian. We only need the lower 2
24250 bytes of the mode.
24251
faec96af 24252 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
24253 facilitate code reuse.
24254 (grub_cpio_mount): Use "struct head", not a char buffer. This
24255 fixes a warning reported by gcc 4.4.
24256
238e871f 24257 * kernel/disk.c (grub_disk_read): Use void pointer for the
24258 buffer.
24259 (grub_disk_write): Use const void pointer for the buffer.
24260 Adjust all callers. Remove unnecessary casts.
24261
901d2f0c 242622009-05-10 Robert Millan <rmh.grub@aybabtu.com>
24263
24264 * util/i386/pc/grub-install.in: Update copyright year.
24265
18f547ad 242662009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 24267
24268 gptsync
24269
24270 * commands/gptsync.c: new file
24271 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
24272 (gptsync_mod_SOURCES): new variable
24273 (gptsync_mod_CFLAGS): likewise
24274 (gptsync_mod_LDFLAGS): likewise
18f547ad 24275 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 24276 new definition
24277 (GRUB_PC_PARTITION_TYPE_HFS): likewise
24278 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
24279 * conf/i386-ieee1275.rmk: likewise
24280 * conf/i386-pc.rmk: likewise
24281 * conf/powerpc-ieee1275.rmk: likewise
24282
b4ba690a 242832009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
24284
24285 Fixed grub-emu
24286
24287 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
24288 (grub_dl_ref): likewise
24289
317e1a44 242902009-05-08 Robert Millan <rmh.grub@aybabtu.com>
24291
24292 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
24293 split in two functions (one for msdos and one for gpt).
24294
041b8094 242952009-05-08 Pavel Roskin <proski@gnu.org>
24296
752473c2 24297 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
24298 not modified.
24299
041b8094 24300 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
24301 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
24302 Initialize them with -1. Add sanity check for bad1. Eliminate
24303 nerr variable.
24304
172800ce 243052009-05-08 David S. Miller <davem@davemloft.net>
24306
24307 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
24308
29aa5e81 243092009-05-06 Robert Millan <rmh.grub@aybabtu.com>
24310
24311 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 24312 existence.
29aa5e81 24313
96613b62 243142009-05-05 Felix Zielcke <fzielcke@z-51.de>
24315
24316 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 24317 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 24318
eef73c8a 243192009-05-05 David S. Miller <davem@davemloft.net>
24320
24321 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
24322
119494b5 243232009-05-05 Pavel Roskin <proski@gnu.org>
24324
24325 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
24326 of grub_dl_ref() and grub_dl_unref().
24327 * commands/parttool.c: Remove preprocessor conditionals around
24328 grub_dl_ref() and grub_dl_unref().
24329 * fs/affs.c: Likewise.
24330 * fs/afs.c: Likewise.
24331 * fs/cpio.c: Likewise.
24332 * fs/ext2.c: Likewise.
24333 * fs/fat.c: Likewise.
24334 * fs/hfs.c: Likewise.
24335 * fs/hfsplus.c: Likewise.
24336 * fs/iso9660.c: Likewise.
24337 * fs/jfs.c: Likewise.
24338 * fs/minix.c: Likewise.
24339 * fs/ntfs.c: Likewise.
24340 * fs/reiserfs.c: Likewise.
24341 * fs/sfs.c: Likewise.
24342 * fs/udf.c: Likewise.
24343 * fs/ufs.c: Likewise.
24344 * fs/xfs.c: Likewise.
24345 * include/grub/dl.h: Likewise.
24346 * loader/xnu.c: Likewise.
24347
de5fd76e 243482009-05-04 Pavel Roskin <proski@gnu.org>
24349
24350 * commands/acpi.c: Remove unused variable my_mod.
24351 * partmap/amiga.c: Likewise.
24352 * partmap/apple.c: Likewise.
24353 * partmap/gpt.c: Likewise.
24354 * partmap/pc.c: Likewise.
24355 * partmap/sun.c: Likewise.
24356 * term/gfxterm.c: Likewise.
24357 * term/i386/pc/vesafb.c: Likewise.
24358 * term/i386/pc/vga.c: Likewise.
24359
983598ad 243602009-05-04 David S. Miller <davem@davemloft.net>
24361
24362 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
24363 pointer args to grub_ieee1275_get_property().
24364
8aadec43 24365 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
24366
9554b15e 24367 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
24368 devices, and do not traverse down under controller nodes.
24369
67e23c90 24370 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
24371 (grub_ofdisk_open): Use it to un-escape "," characters.
24372 * kern/disk.c (find_part_sep): New.
24373 (grub_disk_open): Use it to find the first non-escaped ','
24374 character in the disk name.
24375 * util/ieee1275/devicemap.c (escape_of_path): New.
24376 (grub_util_emit_devicemap_entry): Use it.
24377 * util/sparc64/ieee1275/grub-install.in: Update script to
24378 strip partition specifiers properly by not triggering on
24379 '\' escaped ',' characters.
24380
74bfdd2f 243812009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24382
24383 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
24384 to 0x300.
24385 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
24386 resolutions.
24387 (linux_vesafb_modes): Add a lot of additional modes to the list (based
24388 on documentation from Wikipedia).
24389
4241d2b1 243902009-05-04 Pavel Roskin <proski@gnu.org>
24391
24392 * disk/ata.c: Spelling fixes.
24393 * disk/raid.c: Likewise.
24394 * disk/usbms.c: Likewise.
24395 * disk/dmraid_nvidia.c: Likewise.
24396 * kern/ieee1275/openfw.c: Likewise.
24397 * kern/ieee1275/init.c: Likewise.
24398 * kern/ieee1275/cmain.c: Likewise.
24399 * boot/i386/pc/cdboot.S: Likewise.
24400 * video/readers/png.c: Likewise.
24401 * video/i386/pc/vbe.c: Likewise.
24402 * fs/udf.c: Likewise.
24403 * fs/hfs.c: Likewise.
24404 * fs/reiserfs.c: Likewise.
24405 * efiemu/runtime/efiemu.c: Likewise.
24406 * efiemu/main.c: Likewise.
24407 * efiemu/mm.c: Likewise.
24408 * include/grub/elf.h: Likewise.
24409 * include/grub/xnu.h: Likewise.
24410 * include/grub/usbdesc.h: Likewise.
24411 * include/grub/usb.h: Likewise.
24412 * include/grub/script_sh.h: Likewise.
24413 * include/grub/lib/LzmaEnc.h: Likewise.
24414 * include/grub/efiemu/efiemu.h: Likewise.
24415 * include/grub/command.h: Likewise.
24416 * normal/menu.c: Likewise.
24417 * normal/main.c: Likewise.
24418 * normal/datetime.c: Likewise.
24419 * bus/usb/uhci.c: Likewise.
24420 * mmap/i386/uppermem.c: Likewise.
24421 * mmap/mmap.c: Likewise.
24422 * commands/acpi.c: Likewise.
24423 * commands/test.c: Likewise.
24424 * partmap/apple.c: Likewise.
24425 * font/font.c: Likewise.
24426 * loader/sparc64/ieee1275/linux.c: Likewise.
24427 * loader/macho.c: Likewise.
24428 * loader/i386/bsd_trampoline.S: Likewise.
24429 * loader/i386/bsd.c: Likewise.
24430 * loader/xnu.c: Likewise.
24431 * term/i386/pc/vesafb.c: Likewise.
24432 * term/usb_keyboard.c: Likewise.
24433 * util/resolve.c: Likewise.
24434 * util/getroot.c: Likewise.
24435
0cfc0083 244362009-05-04 Felix Zielcke <fzielcke@z-51.de>
24437
24438 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
24439
7c1d00cd 244402009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24441
24442 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
24443 build error.
24444
b01f0548 244452009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24446
24447 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
24448 parameter only available on BIOS.
24449
ecc3eb22 244502009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24451
24452 Removed wrong semicolon in declaration
24453
24454 * grub/misc.h (grub_dprintf): remove semicolon
24455
112972a9 244562009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24457
24458 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
24459 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
24460 is done by grub_cmd_linux() now).
24461 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
24462 restore video to text mode.
24463 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
24464 indicates lack of "vga=" parameter. "vga=0" is mapped to
24465 `GRUB_LINUX_VID_MODE_NORMAL'.
24466
afd5c115 244672009-05-04 Felix Zielcke <fzielcke@z-51.de>
24468
24469 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
24470 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
24471 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 24472 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 24473 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
24474 `grub_script.tab.c'.
24475
24476 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24477 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24478 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24479 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24480 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24481
faa517ce 24482 * Makefile.in: Remove duplicated 2008 in Copyright line.
24483
ae0c0bdc 244842009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24485
473d1e45 24486 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 24487 unconditionally.
24488 * include/grub/util/misc.h (grub_util_warn): New declaration.
24489
24490 * util/i386/pc/grub-install.in: Understand --force and pass it down
24491 to grub-setup.
24492
24493 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
24494 down to setup().
24495 (setup): Improve error messages and add warnings when requested to
24496 install in odd layouts. Refuse to install using blocklists unless
24497 --force was set.
24498
18f547ad 244992009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 24500
24501 * disk/raid.c (grub_raid_scan_device): Improve debug message.
24502
6d260daa 245032009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24504
24505 Updated copyright year
24506
24507 * fs/hfsplus.c: updated copyright year
18f547ad 24508
69f853f8 245092009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24510
24511 HFS+ UUID
24512
18f547ad 24513 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 24514 in the space previously used by unused3
24515 (grub_hfsplus_uuid): new function
24516 (grub_hfsplus_fs): added uuid field
24517
4c402e73 245182009-05-03 Pavel Roskin <proski@gnu.org>
24519
24520 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
24521 suppress warnings. It's no longer needed.
24522 * disk/host.c: Likewise.
24523 * disk/ata_pthru.c: Likewise.
24524 * disk/loopback.c: Likewise.
24525 * hook/datehook.c: Likewise.
24526 * parttool/pcpart.c: Likewise.
24527 * fs/i386/pc/pxe.c: Likewise.
24528 * fs/ntfscomp.c: Likewise.
24529 * efiemu/main.c: Likewise.
24530 * mmap/mmap.c: Likewise.
24531 * commands/crc.c: Likewise.
24532 * commands/hexdump.c: Likewise.
24533 * commands/hdparm.c: Likewise.
24534 * commands/acpi.c: Likewise.
24535 * commands/echo.c: Likewise.
24536 * commands/minicmd.c: Likewise.
24537 * commands/blocklist.c: Likewise.
24538 * commands/memrw.c: Likewise.
24539 * commands/loadenv.c: Likewise.
24540 * commands/usbtest.c: Likewise.
24541 * commands/lsmmap.c: Likewise.
24542 * commands/boot.c: Likewise.
24543 * commands/parttool.c: Likewise.
24544 * commands/configfile.c: Likewise.
24545 * commands/search.c: Likewise.
24546 * commands/ieee1275/suspend.c: Likewise.
24547 * commands/cat.c: Likewise.
24548 * commands/i386/pc/pxecmd.c: Likewise.
24549 * commands/i386/pc/play.c: Likewise.
24550 * commands/i386/pc/halt.c: Likewise.
24551 * commands/i386/pc/vbeinfo.c: Likewise.
24552 * commands/i386/pc/vbetest.c: Likewise.
24553 * commands/lspci.c: Likewise.
24554 * commands/date.c: Likewise.
24555 * commands/handler.c: Likewise.
24556 * commands/ls.c: Likewise.
24557 * commands/test.c: Likewise.
24558 * commands/cmp.c: Likewise.
24559 * commands/efi/loadbios.c: Likewise.
24560 * commands/efi/fixvideo.c: Likewise.
24561 * commands/halt.c: Likewise.
24562 * commands/help.c: Likewise.
24563 * commands/reboot.c: Likewise.
24564 * hello/hello.c: Likewise.
24565 * script/sh/main.c: Likewise.
24566 * loader/xnu.c: Likewise.
24567 * term/terminfo.c: Likewise.
24568 * term/i386/pc/serial.c: Likewise.
24569 * term/usb_keyboard.c: Likewise.
24570
515b5079 245712009-05-03 David S. Miller <davem@davemloft.net>
24572
24573 * normal/menu.c: Include grub/parser.h
24574
dfc31a22 245752009-05-03 Pavel Roskin <proski@gnu.org>
24576
2fee74f1 24577 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
24578 not char*.
24579 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
24580 Suggested by Javier Martín <lordhabbit@gmail.com>
24581
dfc31a22 24582 * util/i386/pc/grub-mkrescue.in: Allow for the case when
24583 efiemu??.o doesn't exist.
24584 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
24585 copying.
24586
18f547ad 245872009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 24588
24589 FreeBSD 64-bit support
24590
18f547ad 24591 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 24592 and loader/i386/bsd_trampoline.S
24593 (bsd_mod_ASFLAGS): new variable
24594 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
24595 (FREEBSD_MODTYPE_KERNEL64): likewise
24596 (grub_bsd64_trampoline_start): likewise
24597 (grub_bsd64_trampoline_end): likewise
24598 (grub_bsd64_trampoline_selfjump): likewise
24599 (grub_bsd64_trampoline_gdt): likewise
24600 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
24601 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
24602 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
24603 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 24604 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 24605 of "attrib" member
24606 * loader/i386/bsd_pagetable.c: new file
24607 * loader/i386/bsd_trampoline.S: likewise
24608 * loader/i386/bsd.c (ALIGN_QWORD): new macro
24609 (ALIGN_VAR): likewise
24610 (entry_hi): new variable
24611 (kern_end_mdofs): likewise
24612 (is_64bit): likewise
24613 (grub_freebsd_add_meta): use ALIGN_VAR
24614 (grub_e820_mmap): new declaration
24615 (grub_freebsd_add_mmap): new function
24616 (grub_freebsd_add_meta_module): support 64 bit kernels
24617 (grub_freebsd_list_modules): use ALIGN_VAR
24618 (gdt_descriptor): new declaration
24619 (grub_freebsd_boot): support 64 bit kernels
24620 (grub_bsd_elf64_hook): new function
24621 (grub_bsd_load_elf): support elf64
24622
038c5720 246232009-05-03 Bean <bean123ch@gmail.com>
24624
24625 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
24626 after we get the result of if statement.
24627
fc45fb58 246282009-05-03 Bean <bean123ch@gmail.com>
24629
24630 * Makefile.in (enable_efiemu): New variable.
24631
24632 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
24633 set.
24634 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
24635 path.
24636 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
24637 path, add -mno-red-zone option.
24638 (efiemu64_s.o): Likewise.
24639 (efiemu64.o): Use macro $^ for source file.
24640
24641 * configure.ac (--enable-efiemu): New option.
24642
bbee0f2b 246432009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24644
24645 xnu support
24646
24647 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
24648 (pkglib_MODULES): add xnu.mod
24649 (xnu_mod_SOURCES): new variable
24650 (xnu_mod_CFLAGS): likewise
24651 (xnu_mod_LDFLAGS): likewise
24652 (xnu_mod_ASFLAGS): likewise
24653 * conf/i386-pc.rmk: likewise
24654 * conf/x86_64-efi.rmk: likewise
7dd4a573 24655 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 24656 new declaration
24657 * include/grub/i386/macho.h: new file
24658 * include/grub/i386/xnu.h: likewise
24659 * include/grub/macho.h: likewise
24660 * include/grub/machoload.h: likewise
24661 * include/grub/x86_64/macho.h: likewise
24662 * include/grub/x86_64/xnu.h: likewise
24663 * include/grub/xnu.h: likewise
24664 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
24665 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
24666 * loader/i386/efi/xnu.c: new file
24667 * loader/i386/pc/xnu.c: likewise
24668 * loader/i386/xnu.c: likewise
24669 * loader/i386/xnu_helper.S: likewise
24670 * loader/macho.c: likewise
24671 * loader/xnu.c: likewise
24672 * loader/xnu_resume.c: likewise
24673 * util/grub-dumpdevtree: likewise
24674 * include/grub/i386/pit.h: include grub/err.h
24675 (grub_pit_wait): export
24676 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 24677
5caf964d 246782009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24679
24680 Efiemu
7dd4a573 24681
5caf964d 24682 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 24683 _linux_efi, linux_efi.
24684 new files in grub-emu
5caf964d 24685 new targets efiemu32.o and efiemu64.o
24686 * loader/linux_normal_efiemu.c: likewise
24687 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 24688 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 24689 files to copy
24690 * include/grub/autoefi.h: new file
7dd4a573 24691 * include/grub/i386/efiemu.h: likewise
5caf964d 24692 * include/grub/i386/pc/efiemu.h: likewise
24693 * include/grub/efi/api.h: add LL suffix when necessary
24694 new definitions relating to tables
24695 * include/grub/efiemu/efiemu.h: new file
24696 * include/grub/efiemu/runtime.h: likewise
24697 * efiemu/prepare.c: likewise
24698 * efiemu/loadcore_common.c: likewise
24699 * efiemu/loadcore64.c: likewise
24700 * efiemu/runtime/efiemu.sh: likewise
24701 * efiemu/runtime/efiemu.S: likewise
24702 * efiemu/runtime/efiemu.c: likewise
24703 * efiemu/runtime/config.h: likewise
24704 * efiemu/prepare32.c: likewise
24705 * efiemu/main.c: likewise
24706 * efiemu/modules/pnvram.c: likewise
24707 * efiemu/modules/i386: likewise
24708 * efiemu/modules/i386/pc: likewise
24709 * efiemu/modules/acpi.c: likewise
24710 * efiemu/i386/pc/cfgtables.c: likewise
24711 * efiemu/i386/loadcore64.c: likewise
24712 * efiemu/i386/loadcore32.c: likewise
24713 * efiemu/prepare64.c: likewise
24714 * efiemu/loadcore.c: likewise
24715 * efiemu/symbols.c: likewise
24716 * efiemu/mm.c: likewise
24717 * efiemu/loadcore32.c: likewise
7dd4a573 24718
247192009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 24720
24721 ACPI spoofing
24722
24723 * commands/acpi.c: new file
24724 * commands/i386/pc/acpi.c: likewise
24725 * commands/efi/acpi.c: likewise
24726 * include/grub/acpi.h: likewise
24727 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
24728 (acpi_mod_SOURCES): new variable
24729 (acpi_mod_CFLAGS): likewise
24730 (acpi_mod_LDFLAGS): likewise
24731 * conf/i386-efi.rmk: likewise
24732 * conf/x86_64-efi.rmk: likewise
24733
7dd4a573 247342009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 24735
24736 Missing part from mmap patch
24737
24738 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
24739 (grub_mmap_unregister)
24740 (grub_mmap_free_and_unregister): use grub_mmap_register
24741
7dd4a573 247422009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 24743
24744 Mmap services
24745
24746 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
24747 * loader/i386/linux.c (find_mmap_size): likewise
24748 (allocate_pages): likewise
24749 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
24750 (grub_fill_multiboot_mmap): likewise
24751 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
24752 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
24753 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
24754 (OPENBSD_MMAP_RESERVED): likewise
24755 * include/grub/i386/pc/memory.h: include grub/memory.h
24756 (grub_lower_mem): removed
24757 (grub_upper_mem): likewise
24758 (GRUB_MACHINE_MEMORY_ACPI): new definition
24759 (GRUB_MACHINE_MEMORY_NVS): likewise
24760 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
24761 (GRUB_MACHINE_MEMORY_HOLE): likewise
24762 (grub_machine_mmap_register): likewise
24763 (grub_machine_mmap_unregister): likewise
24764 (grub_machine_get_upper): likewise
24765 (grub_machine_get_lower): likewise
24766 (grub_machine_get_post64): likewise
24767 * include/grub/i386/efi/memory.h: new file
24768 * include/grub/x86_64/efi/memory.h: likewise
24769 * include/grub/efi/memory.h: likewise
24770 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
24771 (mmap_mod_SOURCES): new variable
24772 (mmap_mod_LDFLAGS): likewise
24773 (mmap_mod_ASFLAGS): likewise
24774 * conf/i386-coreboot.rmk: likewise
24775 * conf/i386-ieee1275.rmk: likewise
24776 * conf/i386-efi.rmk: likewise
24777 * conf/x86_64-efi.rmk: likewise
24778 * include/grub/types.h (UINT_TO_PTR): new macro
24779 (PTR_TO_UINT32): likewise
24780 (PTR_TO_UINT64): likewise
24781 * include/grub/memory.h: new file
24782 * mmap/i386/pc/mmap.c: likewise
24783 * mmap/i386/pc/mmap_helper.S: likewise
24784 * mmap/i386/uppermem.c: likewise
24785 * mmap/mmap.c: likewise
24786 * mmap/efi/mmap.c: likewise
7dd4a573 24787 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 24788 grub_upper_mem
24789 * kern/i386/pc/init.c (grub_lower_mem): removed variable
24790 (grub_upper_mem): likewise
24791 (grub_machine_init): don't use grub_upper_mem,
24792 make grub_lower_mem local
24793 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
24794 grub_mmap_iterate and grub_mmap_get_upper
24795 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
24796
d558e6b5 247972009-05-02 Bean <bean123ch@gmail.com>
24798
24799 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
24800 script/sh/parser.y.
24801 (pkglib_MODULES): Add normal.mod and sh.mod.
24802 (normal_SOURCES): New variable.
24803 (normal_mod_CFLAGS): Likewise.
24804 (normal_mod_LDFLAGS): Likewise.
24805 (sh_mod_SOURCES): Likewise.
24806 (sh_mod_CFLAGS): Likewise.
24807 (sh_mod_LDFLAGS): Likewise.
24808
24809 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
24810 script/sh/lexer.c_DEPENDENCIES.
24811 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
24812 kern/rescue_reader.c and kern/rescue_parser.c.
24813 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
24814 (grub_emu_SOURCES): Change source files.
24815 (pkglib_MODULES): Remove normal.mod.
24816 (normal_SOURCES): Removed.
24817 (normal_mod_CFLAGS): Likewise.
24818 (normal_mod_LDFLAGS): Likewise.
24819 * conf/i386-coreboot.rmk: Likewise.
24820 * conf/i386-efi.rmk: Likewise.
24821 * conf/i386-ieee1276.rmk: Likewise.
24822 * conf/powerpc-ieee1275.rmk: Likewise.
24823 * conf/sparc64-ieee1275.rmk: Likewise.
24824 * conf/x86_64-efi.rmk: Likewise.
24825
24826 * include/grub/command.h (grub_command_execute): New inline function.
24827
24828 * include/grub/menu.h (grub_menu_entry): Removed commands field.
24829
24830 * include/grub/normal.h: Remove <grub/setjmp.h>.
24831 (grub_fs_module_list): Moved to normal/autofs.c.
24832 (grub_exit_env): Removed.
24833 (grub_command_execute): Likewise.
24834 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
24835 parameter script.
24836 (read_command_list): New function declaration.
24837 (read_fs_list): Likewise.
24838
24839 * include/parser.h: Include <grub/reader.h>.
24840 (grub_parser_split_cmdline): Change type of getline parameter.
24841 (grub_parser): New structure.
24842 (grub_parser_class): New variable.
24843 (grub_parser_execute): New function declaration.
24844 (grub_register_rescue_parser): Likewise.
24845 (grub_parser_register): New inline function.
24846 (grub_parser_unregister): Likewise.
24847 (grub_parser_get_current): Likewise.
24848 (grub_parser_set_current): Likewise.
24849
24850 * include/grub/reader.h: New file.
24851 * kern/reader.c: Likewise.
24852 * kern/rescue_parser.c: Likewise.
24853 * kern/rescue_reader.c: Likewise.
24854 * normal/autofs.c: Likewise.
24855 * normal/dyncmd.c: Likewise.
24856
24857 * include/grub/rescue.h: Removed.
24858 * normal/command.h: Likewise.
24859
24860 * include/grub/script.h: Moved to ...
24861 * include/grub/script_sh.h: ... Moved here.
24862 * normal/execute.c: Moved to ...
24863 * script/sh/execute.c: ... Moved here.
24864 * normal/function.c: Moved to ...
24865 * script/sh/function.c: ... Moved here.
24866 * normal/lexer.c: Moved to ...
24867 * script/sh/lexer.c: ... Moved here.
24868 * normal/parser.y: Moved to ...
24869 * script/sh/parser.y: ... Moved here.
24870 * normal/script.c: Moved to ...
24871 * script/sh/script.c: ... Moved here.
24872
24873 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
24874 <grub/reader.h>.
24875 (grub_exit_env): Removed.
24876 (fs_module_list): Moved to normal/autofs.c.
24877 (grub_file_getline): Don't handle comment here.
24878 (free_menu): Skip removed field entry->commands.
24879 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
24880 script parameter.
24881 (read_config_file): Removed nested parameter, change getline function.
24882 (grub_enter_normal_mode): Removed.
24883 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
24884 (read_command_list): Likewise.
24885 (autoload_fs_module): Moved to normal/autofs.c.
24886 (read_fs_list): Likewise.
24887 (reader_nested): New variable.
24888 (grub_normal_execute): Run parser.sh to switch to sh parser.
24889 (grub_cmd_rescue): Removed.
24890 (cmd_normal): Removed.
24891 (grub_cmd_normal): Unregister itself at the beginning. Don't register
24892 rescue command.
24893 (grub_cmdline_run): New function.
24894 (grub_normal_reader_init): Likewise.
24895 (grub_normal_read_line): Likewise.
24896 (grub_env_write_pager): Likewise.
24897 (cmdline): New variable.
24898 (grub_normal_reader): Likewise.
24899 (GRUB_MOD_INIT): Register normal reader and set as current, register
24900 pager hook, register normal command with grub_register_command_prio,
24901 so that it won't show up in command.lst.
24902 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
24903 grub_fs_autoload_hook.
24904
24905 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
24906 (grub_menu_execute_entry): Replace grub_script_execute with
24907 grub_parser_execute, change parameter to grub_command_execute.
24908
24909 * normal/menu_text.c: Remove <grub/script.h>.
24910
24911 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
24912 and <grub/parser.h>.
24913 (run): Change editor_getline to use new parser interface. Change
24914 parameter to grub_command_execute.
24915
24916 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
24917 <grub/reader.h> and <grub/parser.h>.
24918 (grub_load_normal_mode): Execute normal command.
24919 (grub_main): Call grub_register_core_commands,
24920 grub_register_rescue_parser and grub_register_rescue_reader, use
24921 grub_reader_loop to enter input loop.
24922
7dd4a573 24923 * kern/parser.c (grub_parser_split_cmdline): Change type of
24924 getline parameter.
d558e6b5 24925 (grub_parser_class): New variable.
24926 (grub_parser_execute): New function.
24927
24928 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
24929 * loader/multiboot2.c: Likewise.
24930 * loader/sparc64/ieee1275/linux.c: Likewise.
24931
24932 * util/grub-emu.c (read_command_list): New dummy function.
24933
18db813d 249342009-05-02 Robert Millan <rmh.grub@aybabtu.com>
24935
24936 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
24937 count to 16 for CCISS and IDA.
24938
6c67de15 249392009-05-02 Robert Millan <rmh.grub@aybabtu.com>
24940
24941 * normal/menu_text.c (grub_wait_after_message): Print a newline
24942 after waiting for user input.
24943
24944 * loader/i386/linux.c: Include `<grub/normal.h>'.
24945 (grub_cmd_linux): Improve the error message about `ask' mode, by
24946 waiting for user input so it's not missed (we can do this, since
24947 user requested interaction).
24948
d9dc87b0 249492009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24950
24951 Added missing lst to grub-mkrescue
24952
24953 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
24954 and ${input_dir}/parttool.lst
24955
ac8a2baa 249562009-04-30 David S. Miller <davem@davemloft.net>
24957
ad22a610 24958 * util/hostdisk.c (device_is_wholedisk): New function.
24959 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
24960 zero only if device_is_wholedisk() returns true.
24961
6966215d 24962 * util/hostdisk.c (convert_system_partition_to_system_disk):
24963 Handle virtual disk devices named /dev/vdiskX as found on sparc
24964 and powerpc.
24965
ac8a2baa 24966 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
24967 lettered partition specifier is found, convert to numbered.
24968
979b4fb4 249692009-04-29 David S. Miller <davem@davemloft.net>
24970
e2bf39b2 24971 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
24972 * include/grub/sparc64/ieee1275/memory.h: Likewise.
24973
3c64e104 24974 * normal/command.c: Add missing newline at end of file.
24975
979b4fb4 24976 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
24977 warnings.
24978 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
24979 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
24980 grub_ofdisk_read): Likewise, and deal similarly with the fact that
24981 ihandles have a 32-bit type but need to be stored in a "void *".
24982
136d9f82 249832009-04-28 Pavel Roskin <proski@gnu.org>
24984
9459c306 24985 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
24986 not disk. Adjust all dependencies.
2e08a26a 24987 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 24988 grub_disk_close().
24989
136d9f82 24990 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
24991 parent's partition, don't copy it by reference, as it gets freed
24992 on close.
24993
7dd4a573 249942009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 24995
24996 Preboot hooks support
24997
24998 * commands/boot.c (struct grub_preboot_t): new declaration
24999 (preboots_head): new variable
25000 (preboots_tail): likewise
25001 (grub_loader_register_preboot_hook): new function
25002 (grub_loader_unregister_preboot_hook): likewise
25003 (grub_loader_set): launch preboot hooks
25004 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
25005 (grub_loader_register_preboot_hook): new declaration
25006 (grub_loader_unregister_preboot_hook): likewise
25007
5af922b5 250082009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
25009
25010 Warning fix
25011
7dd4a573 25012 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 25013 calling grub_dprintf
25014
a5562c30 250152009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
25016
25017 Bug and warning fixes
25018
7dd4a573 25019 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 25020 declaration
25021 * commands/test.c (test_parse): fixed bug with file tests and corrected
25022 declaration of find_file
25023
4006f85c 250242009-04-26 Pavel Roskin <proski@gnu.org>
25025
25026 * Makefile.in: Don't install empty manual pages if help2man is
25027 missing. Use help2man option for output, not shell redirection.
25028
5c77c3de 250292009-04-26 David S. Miller <davem@davemloft.net>
25030
25031 * util/grub-mkdevicemap.c (make_device_map): Add missing
25032 NESTED_FUNC_ATTR to process_device().
25033
033b10a8 250342009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
25035
25036 Test command
25037
25038 * commands/test.c: rewritten to use bash-like test
25039
e4343593 250402009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
25041
25042 Parttool autoloading and improvements
25043
7dd4a573 25044 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 25045 (parttool.lst): new target
25046 * genmk.rb: generate parttool-*
25047 (CLEANFILES): add #{parttool}
25048 (PARTTOOLFILES): new variable
25049 * genparttoollist.sh: new file
7dd4a573 25050 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 25051 (grub_pcpart_type): likewise
25052 * commands/parttool.c (helpmsg): new variable
25053 (grub_cmd_parttool): output help if not enough arguments are supplied
25054 autoload modules
25055 (GRUB_MOD_INIT(parttool)): use helpmsg
25056
0d312500 250572009-04-24 David S. Miller <davem@davemloft.net>
25058
7dd4a573 25059 Avoiding opening same device multiple times in device iterator.
0d312500 25060
25061 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 25062 and use it to build a list of partitions in iterate_disk() and
0d312500 25063 iterate_partition().
25064
ac20caff 25065 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
25066 on disk->data.
25067
0dcf7495 25068 * disk/ieee1275/nand.c (grub_nand_iterate): Return
25069 grub_devalias_iterate() result instead of unconditional 0.
25070 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
25071 Also, capture hook return value, either directly or via
25072 grub_children_iterate(), and propagate to caller.
25073 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
25074 grub_children_iterate): Return value is now 'int' instead of
25075 'grub_err_t'.
25076 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
25077 like a proper iterator, stopping when hooks return non-zero.
25078 (grub_devalias_iterate): Likewise.
25079
c8c08833 250802009-04-23 David S. Miller <davem@davemloft.net>
25081
25082 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
25083
f01005a8 250842009-04-22 David S. Miller <davem@davemloft.net>
25085
25086 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
25087 is larger than address_cells, use that value for address_cells too.
25088
4e8269da 25089 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
25090 IEEE1275_MAX_PATH_LEN): Define.
25091 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
25092 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
25093 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
25094 'devtype'. Explicitly NULL terminate devalias expansion.
25095
a1447506 25096 * util/sparc64/ieee1275/misc.c: New file.
25097 * util/sparc64/ieee1275/grub-setup.c: New file.
25098 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
25099 * util/sparc64/ieee1275/grub-mkimage.c: New file.
25100 * util/sparc64/ieee1275/grub-install.in: New file.
25101 * util/ieee1275/ofpath.c: New file.
25102 * util/ieee1275/devicemap.c: New file.
25103 * util/devicemap.c: New file.
25104 * util/deviceiter.c: New file.
25105 * kern/sparc64/ieee1275/init.c: New file.
25106 * include/grub/util/ofpath.h: New file.
25107 * include/grub/util/deviceiter.h: New file.
25108 * util/grub-mkdevicemap.c: Include deviceiter.h.
25109 Implement using grub_util_emit_devicemap_entry and
25110 grub_util_iterate_devices.
25111 * conf/i386-corebook.rmk: Build util/deviceiter.c and
25112 util/devicemap.c into grub-mkdevicemap
25113 * conf/i386-efi.rmk: Likewise.
25114 * conf/i386-ieee1275.rmk: Likewise.
25115 * conf/i386-pc.rmk: Likewise.
25116 * conf/powerpc-ieee1275.rmk: Likewise.
25117 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
25118 images and installation utilities. Build kernel as image
25119 instead of as elf binary. Use common rules as much as possible.
25120
7dd4a573 251212009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 25122
25123 Correct GPT definition
25124
7dd4a573 25125 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 25126 of "attrib" member
25127
c6c5219f 251282009-04-19 Felix Zielcke <fzielcke@z-51.de>
25129
25130 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
25131
0552ff9f 251322009-04-19 David S. Miller <davem@davemloft.net>
25133
25134 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
25135 (grub_rescue_cmd_linux): Rename to...
25136 (grub_cmd_linux): and fix prototype.
25137 (grub_rescue_cmd_initrd): Rename to...
25138 (grub_cmd_initrd): and fix prototype.
25139 (cmd_linux, cmd_initrd): New.
25140 (GRUB_MOD_INIT(linux)): Use grub_register_command().
25141 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
25142
d1a282fc 251432009-04-17 Pavel Roskin <proski@gnu.org>
25144
07c5039f 25145 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
25146 format.
25147 (grub_ohci_transfer): Likewise.
25148
b012002d 25149 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
25150
1bc09c35 25151 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
25152 return without a value. Fix inconsistent indentation.
25153
e0ff9126 25154 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
25155 match struct grub_fs.
25156
d1a282fc 25157 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
25158 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
25159 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
25160 * commands/lspci.c (grub_lspci_iter): Likewise.
25161
a96df3f2 251622009-04-16 Bean <bean123ch@gmail.com>
25163
25164 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
25165 value.
25166
41bb0fe9 251672009-04-15 Pavel Roskin <proski@gnu.org>
25168
25169 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
25170 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
25171 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
25172 definitions.
25173
596c6970 251742009-04-15 Felix Zielcke <fzielcke@z-51.de>
25175
25176 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 25177 that no multiple data or metadata areas are supported and `Unknown
596c6970 25178 metadata header'.
25179
7dd4a573 251802009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 25181
25182 Move loader out of the kernel
25183
25184 * kern/loader.c: moved to ...
25185 * commands/boot.c: ... moved here
25186 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
25187 * commands/boot.c (grub_cmd_boot): moved here. All users updated
25188 * include/grub/kernel.h (grub_machine_fini): export
25189 * include/grub/loader.h (grub_loader_is_loaded): update declaration
25190 (grub_loader_set): likewise
25191 (grub_loader_unset): likewise
25192 (grub_loader_boot): likewise
25193 * conf/common.rmk: new module boot.mod
25194 (pkglib_MODULES): add boot.mod
25195 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
25196 (grub_emu_SOURCES): likewise
25197 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
25198 (grub_emu_SOURCES): likewise
25199 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
25200 (grub_emu_SOURCES): likewise
25201 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
25202 (grub_emu_SOURCES): likewise
25203 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
25204 (grub_emu_SOURCES): likewise
7dd4a573 25205 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
25206 (grub_emu_SOURCES): likewise
0d5d5653 25207 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 25208 (grub_emu_SOURCES): likewise
0d5d5653 25209
7dd4a573 252102009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 25211
25212 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 25213
5999d619 25214 * kern/misc.c (grub_itoa): Removed function
25215 (grub_ltoa): likewise
25216 (grub_vsprintf): use grub_lltoa
25217
7dd4a573 252182009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 25219
25220 Restore grub-emu
25221
25222 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
25223 * conf/i386-coreboot.rmk: likewise
25224 * conf/i386-ieee1275.rmk: likewise
25225 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 25226
20318222 252272009-04-15 Felix Zielcke <fzielcke@z-51.de>
25228
25229 * INSTALL: Add that `./autogen.sh' needs to be run before
25230 `./configure.'.
25231
d05f0df3 252322009-04-14 Bean <bean123ch@gmail.com>
25233
25234 * Makefile.in (pkglib_DATA): Add handler.lst.
25235 (handler.lst): New rule.
25236
25237 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
25238 * conf/i386-coreboot.rmk: Likewise.
25239 * conf/i386-ieee1275.rmk: Likewise.
25240 * conf/i386-efi.rmk: Likewise.
25241 * conf/x86_64-efi.rmk: Likewise.
25242 * conf/powerpc-ieee1275.rmk: Likewise.
25243 * conf/sparc64-ieee1275.rmk: Likewise.
25244
25245 * genhandlerlist.sh: New file.
25246
25247 * genmk.rb: Add rules to generate handler.lst.
25248
25249 * include/grub/normal.h (grub_file_getline): New function definition.
25250 (read_handler_list): Likewise.
25251 (free_handler_list): Likewise.
25252
25253 * include/grub/term.h (grub_term_register_input): Add name parameter
25254 for auto generation of handler.lst.
25255 (grub_term_register_output): Likewise.
25256
25257 * normal/handler.c: New file.
25258
25259 * normal/main.c (get_line): Renamed to grub_file_getline.
25260 (read_config_file): Use the newly renamed grub_file_getline.
25261 (read_command_list): Likewise.
25262 (read_fs_list): Likewise.
25263 (grub_normal_execute): Call read_handler_list to parse handler.lst.
25264 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
25265
25266 * term/efi/console.c (grub_console_init): Add name parameter for auto
25267 generation of handler.lst.
25268 * term/gfxterm.c: Likewise.
25269 * term/i386/pc/at_keyboard.c: Likewise.
25270 * term/i386/pc/console.c: Likewise.
25271 * term/i386/pc/serial.c: Likewise.
25272 * term/i386/pc/vesafb.c: Likewise.
25273 * term/i386/pc/vga.c: Likewise.
25274 * term/i386/pc/vga_text.c: Likewise.
25275 * term/ieee1275/ofconsole.c: Likewise.
25276 * term/usb_keyboard.c: Likewise.
25277
33c846be 252782009-04-14 Bean <bean123ch@gmail.com>
25279
25280 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
25281 properly with null character.
25282
4484e01e 252832009-04-14 Felix Zielcke <fzielcke@z-51.de>
25284
25285 * configure: Remove.
25286 * config.h.in: Likewise.
f93d668e 25287 * stamp-h.in: Likewise.
4484e01e 25288 * DISTLIST: Likewise.
25289 * conf/common.mk: Likewise.
25290 * conf/i386-coreboot.mk: Likewise.
25291 * conf/i386-efi.mk: Likewise.
25292 * conf/i386-ieee1275.mk: Likewise.
25293 * conf/i386.mk: Likewise.
25294 * conf/i386-pc.mk: Likewise.
25295 * conf/powerpc-ieee1275.mk: Likewise.
25296 * conf/sparc64-ieee1275.mk: Likewise.
25297 * conf/x86_64-efi.mk: Likewise.
25298
25299 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
25300 develop on GRUB.
25301
7dd4a573 253022009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 25303 David S. Miller <davem@davemloft.net>
25304
25305 * util/hostdisk.c (make_device_name): Fix buffer length
25306 calculations.
25307
e25b5a8c 253082009-04-14 Felix Zielcke <fzielcke@z-51.de>
25309
25310 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
25311 <sys/param.h> and <sys/sysctl.h>.
25312 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
25313 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
25314 opening the device and reset them afterwards.
25315
1f1f580c 253162009-04-13 Pavel Roskin <proski@gnu.org>
25317
25318 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
25319 Reported by John Stanley <jpsinthemix@verizon.net>
25320
7ebc2d6b 253212009-04-13 Robert Millan <rmh@aybabtu.com>
25322
25323 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 25324 that name for menuentries when appropriate.
7ebc2d6b 25325
d8ba3667 253262009-04-13 Felix Zielcke <fzielcke@z-51.de>
25327
25328 * util/grub.d/10_freebsd.in: Add a missing `fi'.
25329
cba416eb 253302009-04-13 Robert Millan <rmh@aybabtu.com>
25331
25332 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
25333 to Linux, simply abort telling the user it's no longer supported.
25334
a547a745 253352009-04-13 Felix Zielcke <fzielcke@z-51.de>
25336
25337 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 25338 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 25339 `freebsd_loadenv' only when devices.hints exist.
25340
232a769c 253412009-04-13 Pavel Roskin <proski@gnu.org>
25342
25343 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
25344
c3012039 253452009-04-13 Felix Zielcke <fzielcke@z-51.de>
25346
25347 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
25348 partition number.
25349 (grub_drive): Likewise.
25350
234022fe 253512009-04-13 David S. Miller <davem@davemloft.net>
25352
25353 * kern/sparc64/ieee1275/ieee1275.c: New file.
25354 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
25355 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
25356 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
25357 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
25358 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
25359 grub_ieee1275_alloc_physmem): Declare new exported functions.
25360
d8e1836c 25361 * include/grub/sparc64/ieee1275/loader.h: New file.
25362 * include/grub/sparc64/ieee1275/memory.h: Likewise.
25363 * include/grub/sparc64/kernel.h: Likewise.
25364 * loader/sparc64/ieee1275/linux.c: Likewise.
25365
96bd81ec 25366 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
25367 (grub_fstest_SOURCES): Likewise.
25368
6a4737e5 25369 * util/hostdisk.c (make_device_name): Do not make any assumptions
25370 about the length of drive names.
25371
1d7a72fd 25372 * kern/dl.c (grub_dl_load_file): Close file immediately when
25373 we are done using it.
25374
56bc2471 253752009-04-12 David S. Miller <davem@davemloft.net>
25376
25377 * kern/misc.c (grub_ltoa): Fix cast when handling negative
25378 values. Noticed by Pavel Roskin.
25379
df38d0bb 25380 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
25381 target compiler.
7dd4a573 25382
e382e93a 25383 * genmk.rb: Add more flexible image type specification, also
25384 pass --strip-unneeded to objcopy.
25385 * conf/i386-pc.rmk: Use *_FORMAT.
25386 * conf/i386-pc.mk: Rebuilt.
25387
f5dbbca9 25388 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
25389 (OFDISK_HASH_SZ): Define.
25390 (ofdisk_hash): New hash table.
25391 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
25392 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
25393 instead of device phandle which is not unique.
25394
91c88b12 25395 * kern/sparc64/ieee1275/init.c: Delete, replace with...
25396 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
25397 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
25398 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
25399 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
25400 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
25401 GRUB_KERNEL_MACHINE_DATA_END): Define.
25402 (grub_kernel_image_size, grub_total_module_size): Declare.
25403
5b5d4aa5 254042009-04-12 Pavel Roskin <proski@gnu.org>
25405
7dd4a573 25406 * configure.ac: Change the logic when we check for target tools.
25407 Do it when the target is specified and it's different from the
25408 specified value of the host.
5b5d4aa5 25409
c91e1793 254102009-04-11 Felix Zielcke <fzielcke@z-51.de>
25411
25412 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
25413 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
25414 GNU/kFreeBSD. Check if a device is a character device. Use
25415 DIOCGMEDIASIZE to get the size.
25416 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
25417 support for GNU/kFreeBSD.
25418 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
25419 is a character device instead of a block device. Add support for
25420 FreeBSD device names.
25421
25422 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
25423 is a character device instead of a block device.
25424
25425 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
25426 is a character device instead of a block device.
25427
b1ac8644 254282009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
25429
25430 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
25431 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
25432 FreeBSD. Check if a device is a character device. Use
25433 DIOCGMEDIASIZE to get the size.
25434 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
25435 support for FreeBSD.
25436 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
25437 is a character device instead of a block device. Add support for
25438 FreeBSD device names.
25439
25440 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
25441 a character device instead of a block device.
25442 (grub_util_check_char_device): New function.
25443
25444 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
25445 a character device instead of a block device.
25446
25447 * include/grub/util/getroot.h (grub_util_check_char_device): New
25448 prototype.
25449
a3f7515a 254502009-04-11 David S. Miller <davem@davemloft.net>
25451
25452 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
25453 static libgcc.
25454 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
25455 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
25456 function, if present.
25457 (__bswapdi2): Likewise.
25458
0d44993d 25459 * include/grub/sparc64/ieee1275/boot.h: New file.
25460 * boot/sparc64/ieee1275/boot.S: Likewise.
25461 * boot/sparc64/ieee1275/diskboot.S: Likewise.
25462
ed3d2bc2 25463 * kern/misc.c (grub_ltoa): New function.
25464 (grub_vsprintf): Use it to format 'long' integers.
25465
d3bfb59c 254662009-04-10 David S. Miller <davem@davemloft.net>
25467
25468 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
25469 slots are of type grub_ieee1275_cell_t.
25470 (grub_nand_read): Likewise.
25471 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
25472 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
25473 macros are used to compare values in arg/ret block of the call.
25474 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
25475 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
25476 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
25477 grub_ieee1275_instance_to_path, grub_ieee1275_write,
25478 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
25479 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
25480 grub_ieee1275_close, grub_ieee1275_set_property,
25481 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
25482 grub_ieee1275_cell_t.
25483 * kern/ieee1275/openfw.c (grub_map): Likewise.
25484 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
25485 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
25486
450e2238 25487 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
25488 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
25489 (grub_devalias_iterate): Likewise.
25490
7dd4a573 254912009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 25492
25493 UFS improvements
25494
25495 * fs/ufs.c (INODE_NBLOCKS): new definition
25496 (struct grub_ufs_dirent): added fields for non-BSD dirents
25497 (grub_ufs_get_file_block): fixed double indirect handling
25498 (grub_ufs_lookup_symlink): use more robust way to determine whether
25499 symlink is inline
25500 (grub_ufs_find_file): support for non-BSD dirents
25501 (grub_ufs_dir): support for non-BSD dirents
25502
e7e6862a 255032009-04-10 Bean <bean123ch@gnail.com>
25504
25505 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
25506 attribute, otherwise the size would be wrong for i386 platform.
25507
25508 * include/grub/pci.h (grub_pci_read_word): New inline function.
25509 (grub_pci_read_byte): Likewise.
25510 (grub_pci_write): Likewise.
25511 (grub_pci_write_word): Likewise.
25512 (grub_pci_write_byte): Likewise.
25513
25514 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
25515
25516 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
25517 (find_framebuf): Scan pci to locate the frame buffer address.
25518
25519 * commands/efi/fixvideo.c: New file.
25520
25521 * commands/efi/loadbios.c: Likewise.
25522
25523 * commands/memrw.c: Likewise.
25524
25525 * util/grub-dumpbios.in: Likewise.
25526
25527 * conf/common.rmk (grub-dumpbios): New utility.
25528 (pkglib_MODULES): New module memrw.mod.
25529 (memrw_mod_SOURCE): New macro.
25530 (memrw_mod_CFLAGS): Likewise.
25531 (memrw_mod_LDFLAGS): Likewise.
25532
7dd4a573 25533 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 25534 fixvideo.mod.
25535 (loadbios_mod_SOURCE): New macro.
25536 (loadbios_mod_CFLAGS): Likewise.
25537 (loadbios_mod_LDFLAGS): Likewise.
25538 (fixvideo_mod_SOURCE): Likewise.
25539 (fixvideo_mod_CFLAGS): Likewise.
25540 (fixvideo_mod_LDFLAGS): Likewise.
25541
7dd4a573 25542 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 25543 fixvideo.mod.
25544 (loadbios_mod_SOURCE): New macro.
25545 (loadbios_mod_CFLAGS): Likewise.
25546 (loadbios_mod_LDFLAGS): Likewise.
25547 (fixvideo_mod_SOURCE): Likewise.
25548 (fixvideo_mod_CFLAGS): Likewise.
25549 (fixvideo_mod_LDFLAGS): Likewise.
25550
af63ada2 255512009-04-08 Felix Zielcke <fzielcke@z-51.de>
25552
25553 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
25554
c2cdde70 255552009-04-07 David S. Miller <davem@davemloft.net>
25556
25557 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
25558 support for R_SPARC_OLO10 relocations. Fix compile warning for
25559 R_SPARC_WDISP30 case.
ea3f72cf 25560 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 25561
761319cf 255622009-04-06 Pavel Roskin <proski@gnu.org>
25563
1007d1f5 25564 * include/grub/misc.h (ARRAY_SIZE): New macro.
25565 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
25566 New macro.
25567 * loader/i386/linux.c (allocate_pages): Use free_pages().
25568 (grub_linux_unload): Don't use free_pages().
25569 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
25570 wrong index. Treat all other modes as text modes.
25571 (grub_cmd_linux): Initialize vid_mode unconditionally to
25572 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
25573
761319cf 25574 * commands/help.c (print_command_help): Use cmd->prio, not
25575 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
25576
ea761d40 255772009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 25578
ea761d40 25579 Parttool
25580
25581 * parttool/pcpart.c: new file
25582 * commands/parttool.c: likewise
25583 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
25584 (parttool_mod_SOURCES): new variable
25585 (parttool_mod_CFLAGS): likewise
25586 (parttool_mod_LDFLAGS): likewise
25587 (pcpart_mod_SOURCES): likewise
25588 (pcpart_mod_CFLAGS): likewise
25589 (pcpart_mod_LDFLAGS): likewise
7dd4a573 25590 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 25591 and parttool/pcpart.c
25592 * conf/i386-efi.rmk: likewise
25593 * conf/i386-ieee1275.rmk: likewise
25594 * conf/i386-pc.rmk: likewise
25595 * conf/powerpc-ieee1275.rmk: likewise
25596 * conf/sparc64-ieee1275.rmk: likewise
25597 * conf/x86_64-ieee1275.rmk: likewise
25598
05aaebfb 255992009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25600
25601 Support for mtime and further expandability of dir command
25602
25603 * include/grub/lib/datetime.h: moved to ...
7dd4a573 25604 * include/grub/datetime.h: ... moved here and added
05aaebfb 25605 declaration of grub_unixtime2datetime. All users updated
7dd4a573 25606 * include/grub/fs.h: new syntax for dir and mtime functions in
25607 struct grub_fs
05aaebfb 25608 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
25609 and GRUB_FSHELP_FLAGS_MASK
25610 * commands/ls.c (grub_ls_list_files): Write mtime in long format
25611 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
25612 (grub_ext2_mtime): new function
25613 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
25614 (grub_hfsplus_mtime): new function
25615 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
25616 (GRUB_UFS_ATTR_FILE): likewise
25617 (GRUB_UFS_ATTR_LNK): likewise
25618 (struct grub_ufs_sblock): new fields mtime
25619 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
25620 all users updated
25621 (grub_ufs_dir): mtime support
25622 (grub_ufs_mtime): new function
25623 * fs/affs.c (grub_affs_dir): use new dir syntax
25624 * fs/afs.c (grub_afs_dir): likewise
25625 * fs/cpio.c (grub_cpio_dir): likewise
25626 * fs/fat.c (grub_fat_find_dir): likewise
25627 * fs/hfs.c (grub_hfs_dir): likewise
25628 * fs/iso9660.c (grub_iso9660_dir): likewise
25629 * fs/jfs.c (grub_jfs_dir): likewise
25630 * fs/minix.c (grub_minix_dir): likewise
25631 * fs/ntfs.c (grub_ntfs_dir): likewise
25632 * fs/reiserfs.c (grub_reiserfs_dir): likewise
25633 * fs/sfs.c (grub_sfs_dir): likewise
25634 * fs/xfs.c (grub_xfs_dir): likewise
25635 * util/hostfs.c (grub_hostfs_dir): likewise
25636 * lib/datetime.c: moved to ...
25637 * normal/datetime.c: ... moved here
25638 (grub_unixtime2datetime): new function
25639 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 25640 * normal/completion.c (iterate_dir): use new dir syntax
25641 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 25642 last modification time of a volume
7dd4a573 25643 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 25644 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 25645 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 25646 (normal_mod_SOURCES): likewise
25647 (datetime_mod_SOURCES): Removed lib/datetime.c
25648 * conf/i386-efi.rmk: likewise
7dd4a573 25649 * conf/i386-ieee1275.rmk: likewise
05aaebfb 25650 * conf/i386-pc.rmk: likewise
25651 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 25652 * conf/sparc64-ieee1275.rmk: likewise
25653 * conf/x86_64-efi.rmk: likewise
05aaebfb 25654
8a7e1a14 256552009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25656
25657 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 25658
25659 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 25660 on grub_fat_find_dir
25661 (grub_fat_find_dir): use grub_fat_iterate_dir
25662 (grub_fat_label): likewise
25663
04186a9c 256642009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
25665
7dd4a573 25666 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 25667 and command.h
25668 remove extraneous kernel_elf_HEADERS
25669
da4c0bb6 256702009-04-04 Bean <bean123ch@gnail.com>
25671
25672 * include/grub/util/misc.h: Add dummy function fsync for mingw.
25673
25674 * util/misc.c: Likewise.
25675
54ad9555 256762009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
25677
25678 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
25679 instead of grub_printf.
25680
7a6bf9f2 256812009-04-03 Robert Millan <rmh@aybabtu.com>
25682
25683 * loader/i386/linux.c (grub_linux_setup_video): Fill
25684 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
25685 values from `mode info' structure instead of hardcoded
25686 values.
25687
3fcc2083 256882009-04-01 Pavel Roskin <proski@gnu.org>
25689
25690 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
25691 unused now.
25692 * genmk.rb: Likewise.
25693 * configure.ac: Likewise.
25694
5ec9740b 256952009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
25696
25697 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
25698 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
25699
5270cec8 257002009-04-01 David S. Miller <davem@davemloft.net>
25701
25702 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 25703 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 25704 (grub_setjmp): Mark with 'returns_twice' attribute.
25705 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
25706 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
25707 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
25708
9c3dd854 257092009-04-01 Robert Millan <rmh@aybabtu.com>
25710
25711 Reapply fix from 2008-07-28 which was accidentally reverted; also
25712 perform the same fix to a similar check in same function.
25713
25714 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
25715 with the same number are found, just use issue a warning with
25716 grub_dprintf(), as this error has been reported to be non-fatal.
25717
0d818b7e 257182009-03-31 Pavel Roskin <proski@gnu.org>
25719
25720 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
25721 for cross-compilation.
25722
95646d92 257232009-03-30 Robert Millan <rmh@aybabtu.com>
25724
25725 Fix i386-ieee1275 build.
25726
25727 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
25728 Remove declaration.
25729
6a003ed1 257302009-03-30 Pavel Roskin <proski@gnu.org>
25731
25732 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
25733 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
25734 zero-terminated, rely only on the strlen value. Fix comparison
25735 of strings differing in length.
25736
92f33540 257372009-03-30 Robert Millan <rmh@aybabtu.com>
25738
25739 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
25740 checking for abi version. Improve error messages on BIOS to notify
25741 user about `linux16' command.
25742
a8c48fd5 257432009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
25744
f968172e 25745 Leak fixes
a8c48fd5 25746
f968172e 25747 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
25748 in case of collision
25749 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 25750
9c323f09 257512009-03-29 Robert Millan <rmh@aybabtu.com>
25752
25753 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
25754 set `vid_mode' accordingly.
25755 (grub_linux_boot): Process `vid_mode' and set video mode.
25756
ae68f423 257572009-03-29 Robert Millan <rmh@aybabtu.com>
25758
25759 * util/grub.d/10_linux.in (linux_entry): New function.
25760 Factorize generation of Linux boot entries.
25761
5709cfc4 257622009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
25763
25764 Make the format of Environment Block plain text. The boot loader
25765 part is not tested well yet.
7dd4a573 25766
5709cfc4 25767 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
25768 (buffer): Removed.
25769 (envblk): Likewise.
25770 (usage): Remove "info" and "clear". Add "unset". Update the
25771 description of "set", as this does not delete variables any
25772 longer.
25773 (create_envblk_file): Complete rewrite.
25774 (open_envblk_file): Likewise.
25775 (cmd_info): Removed.
25776 (cmd_list): Likewise.
25777 (cmd_set): Likewise.
25778 (cmd_clear): Likewise.
25779 (list_variables): New function.
25780 (write_envblk): Likewise.
25781 (set_variables): Likewise.
25782 (unset_variables): Likewise.
25783 (main): Complete rewrite.
25784
25785 * commands/loadenv.c (buffer): Removed.
25786 (envblk): Likewise.
25787 (open_envblk_file): New function.
25788 (read_envblk_file): Complete rewrite.
25789 (grub_cmd_load_env): Likewise.
25790 (grub_cmd_list_env): Likewise.
25791 (struct blocklist): New struct.
25792 (free_blocklists): New function.
25793 (check_blocklists): Likewise.
25794 (write_blocklists): Likewise.
25795 (grub_cmd_save_env): Complete rewrite.
25796
25797 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
25798 a plain text signature.
25799 (GRUB_ENVBLK_MAXLEN): Removed.
25800 (struct grub_envblk): Complete rewrite.
25801 (grub_envblk_find): Removed.
25802 (grub_envblk_insert): Likewise.
25803 (grub_envblk_open): New prototype.
25804 (grub_envblk_set): Likewise.
25805 (grub_envblk_delete): Put const to VALUE.
25806 (grub_envblk_iterate): Put const to NAME and VALUE.
25807 (grub_envblk_close): New prototype.
25808 (grub_envblk_buffer): New inline function.
25809 (grub_envblk_size): Likewise.
25810
25811 * lib/envblk.c: Include grub/mm.h.
25812 (grub_env_find): Removed.
25813 (grub_envblk_open): New function.
25814 (grub_envblk_close): Likewise.
25815 (escaped_value_len): Likewise.
25816 (find_next_line): Likewise.
25817 (grub_envblk_insert): Removed.
25818 (grub_envblk_set): New function.
25819 (grub_envblk_delete): Complete rewrite.
25820 (grub_envblk_iterate): Likewise.
25821
a9368fd3 258222009-03-28 Robert Millan <rmh@aybabtu.com>
25823
25824 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
25825 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
25826 variables. Use 16-bit loader.
25827 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
25828 loader.
25829 * kern/i386/loader.S (grub_linux_boot): Rename to ...
25830 (grub_linux16_boot): ... this. Update all users.
25831 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
25832 (grub_linux_boot): ... this. Update all users.
25833
25834 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
25835 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
25836 commands to `linux16' and `initrd16'.
25837 (GRUB_MOD_FINI(linux)): Rename to ...
25838 (GRUB_MOD_FINI(linux16)): ... this.
25839
e4dd5a7e 258402009-03-24 Pavel Roskin <proski@gnu.org>
25841
25842 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
25843 not just for compilation.
25844
c04d6e05 258452009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
25846
25847 Move multiboot helper out of kernel
25848
25849 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
25850 `loader/i386/multiboot_helper.S'.
25851 * conf/i386-coreboot.rmk: Likewise
25852 * conf/i386-ieee1275.rmk: Likewise
25853
25854 * kern/i386/loader.S: Move multiboot helpers from here...
25855 * loader/i386/multiboot_helper.S: ...moved here
25856 * include/grub/i386/loader.h: Move declarations of multiboot
25857 helpers from here...
25858 * include/grub/i386/multiboot.h: ...moved here
25859 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
25860
42a5b3fc 258612009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25862
25863 * kern/env.c (grub_env_context_open): Added an argument to specify
25864 whether a new context inherits exported variables from current
25865 one. This is useful when making a sandbox to interpret a config
25866 file.
25867 All callers updated.
25868
25869 * include/grub/env.h (grub_env_context_open): Updated the prototype.
25870
b28bbc4e 258712009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25872
25873 * kern/env.c (grub_env_context_close): Fix memory leaks.
25874
f04f02e4 258752009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25876
25877 * normal/main.c (grub_normal_execute): Added an argument
25878 BATCH to specify if an interactive interface should be provided
25879 after reading a config file.
25880 All callers updated.
25881 (read_command_list): Prevent being executed twice.
25882 (read_fs_list): Likewise.
25883
42a5b3fc 25884 * include/grub/normal.h (grub_normal_execute): Updated the
25885 prototype.
f04f02e4 25886
41473ac2 258872009-03-22 Pavel Roskin <proski@gno.org>
25888
fbc00b0c 25889 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
25890 _start.
25891 * kern/i386/pc/startup.S: Likewise.
25892 * kern/i386/efi/startup.S: Likewise.
25893 * kern/i386/ieee1275/startup.S: Likewise.
25894 * kern/i386/coreboot/startup.S: Likewise.
25895 * kern/x86_64/efi/startup.S: Likewise.
25896
41473ac2 25897 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
25898 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
25899 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
25900
2274cc8f 259012009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
25902
25903 Bugfixes in multiboot for bugs uncovered by solaris kernel.
25904
25905 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
25906 limit detection.
25907 Use vaddr of correct segment for entry_point.
25908
b1b797cb 259092009-03-21 Bean <bean123ch@gmail.com>
25910
25911 * commands/blocklist.c: Add include file <grub/command.h>, remove
25912 <grub/normal.h> and <grub/arg.h>.
25913 (grub_cmd_blocklist): Use the new command interface.
25914 (GRUB_MOD_INIT): Likewise.
25915 (GRUB_MOD_FINI): Likewise.
25916 * commands/boot.c: Likewise.
25917 * commands/cat.c: Likewise.
25918 * commands/cmp.c: Likewise.
25919 * commands/configfile.c: Likewise.
25920 * commands/crc.c: Likewise.
25921 * commands/echo.c: Likewise.
25922 * commands/halt.c: Likewise.
25923 * commands/handler.c: Likewise.
25924 * commands/hdparm.c: Likewise.
25925 * commands/help.c: Likewise.
25926 * commands/hexdump.c: Likewise.
25927 * commands/loadenv.c: Likewise.
25928 * commands/ls.c: Likewise.
25929 * commands/lsmmap.c: Likewise.
25930 * commands/lspci.c: Likewise.
25931 * commands/loadenv.c: Likewise.
25932 * commands/read.c: Likewise.
25933 * commands/reboot.c: Likewise.
25934 * commands/search.c: Likewise.
25935 * commands/sleep.c: Likewise.
25936 * commands/test.c: Likewise.
25937 * commands/usbtest.c: Likewise.
25938 * commands/videotest.c: Likewise.
25939 * commands/i386/cpuid.c: Likewise.
25940 * commands/i386/pc/halt.c: Likewise.
25941 * commands/i386/pc/play.c: Likewise.
25942 * commands/i386/pc/pxecmd.c: Likewise.
25943 * commands/i386/pc/vbeinfo.c: Likewise.
25944 * commands/i386/pc/vbetest.c: Likewise.
25945 * commands/ieee1275/suspend.c: Likewise.
25946 * disk/loopback.c: Likewise.
25947 * font/font_cmd.c: Likewise.
25948 * hello/hello.c: Likewise.
25949 * loader/efi/appleloader.c: Likewise.
25950 * loader/efi/chainloader.c: Likewise.
25951 * loader/i386/bsd.c: Likewise.
25952 * loader/i386/efi/linux.c: Likewise.
25953 * loader/i386/ieee1275/linux.c: Likewise.
25954 * loader/i386/linux.c: Likewise.
25955 * loader/i386/pc/chainloader.c: Likewise.
25956 * loader/i386/pc/linux.c: Likewise.
25957 * loader/powerpc/ieee1275/linux.c: Likewise.
25958 * loader/multiboot_loader.c: Likewise.
25959 * term/gfxterm.c: Likewise.
25960 * term/i386/pc/serial.c: Likewise.
25961 * term/terminfo.c: Likewise.
25962
25963 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
25964 * term/i386/pc/vga.c: Likewise.
25965 * video/readers/jpeg.c: Likewise.
25966 * video/readers/png.c: Likewise.
25967 * video/readers/tga.c: Likewise.
25968
25969 * util/grub-fstest (cmd_loopback): Removed.
25970 (cmd_blocklist): Likewise.
25971 (cmd_ls): Likewise.
25972 (grub_register_command): Likewise.
25973 (grub_unregister_command): Likewise.
25974 (execute_command): Use grub_command_find to locate command and execute
25975 it.
25976
25977 * include/grub/efi/chainloader.h: Removed.
25978 * loader/efi/chainloader_normal.c: Likewise.
25979 * loader/i386/bsd_normal.c: Likewise.
25980 * loader/i386/pc/chainloader_normal.c: Likewise.
25981 * loader/i386/pc/multiboot_normal.c: Likewise.
25982 * loader/linux_normal.c: Likewise.
25983 * loader/multiboot_loader_normal.c: Likewise.
25984 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
25985
25986 * gencmdlist.sh: Scan new registration command grub_register_extcmd
25987 and grub_register_command_p1.
25988
25989 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
25990 kern/command.c, lib/arg.c and commands/extcmd.c.
25991 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
25992 (minicmd_mod_SOURCES): New variable.
25993 (minicmd_mod_CFLAGS): Likewise.
25994 (minicmd_mod_LDFLAGS): Likewise.
25995 (extcmd_mod_SOURCES): Likewise.
25996 (extcmd_mod_CFLAGS): Likewise.
25997 (extcmd_mod_LDFLAGS): Likewise.
25998 (boot_mod_SOURCES): Removed.
25999 (boot_mod_CFLAGS): Likewise.
26000 (boot_mod_LDFLAGS): Likewise.
26001
26002 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
26003 kern/corecmd.c.
26004 (kernel_img_HEADERS): Add command.h.
26005 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
26006 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
26007 and lib/arg.c.
26008 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
26009 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
26010 remove the corresponding normal mode command.
26011 (normal_mod_SOURCES): Remove normal/arg.c.
26012 * conf/i386-coreboot.rmk: Likewise.
26013 * conf/i386-efi.rmk: Likewise.
26014 * conf/i386-ieee1275.rmk: Likewise.
26015 * conf/powerpc-ieee1275.rmk: Likewise.
26016 * conf/x86_64-efi.rmk: Likewise.
26017
26018 * include/grub/arg.h: Move from here ...
26019 * include/grub/lib/arg.h: ... to here.
26020
26021 * normal/arg.c: Move from here ...
26022 * lib/arg.c: ... to here.
26023
26024 * commands/extcmd.c: New file.
26025 * commands/minicmd.c: Likewise.
26026 * include/grub/command.h: Likewise.
26027 * include/grub/extcmd.h: Likewise.
26028 * kern/command.c: Likewise.
26029 * kern/corecmd.c: Likewise.
26030
26031 * kern/list.c (grub_list_iterate): Return int instead of void.
26032 (grub_list_insert): New function.
26033 (grub_prio_list_insert): Likewise.
26034
26035 * kern/rescue.c (grub_rescue_command): Removed.
26036 (grub_rescue_command_list): Likewise.
26037 (grub_rescue_register_command): Likewise.
26038 (grub_rescue_unregister_command): Likewise.
26039 (grub_rescue_cmd_boot): Move to minicmd.c
26040 (grub_rescue_cmd_help): Likewise.
26041 (grub_rescue_cmd_info): Likewise.
26042 (grub_rescue_cmd_boot): Likewise.
26043 (grub_rescue_cmd_testload): Likewise.
26044 (grub_rescue_cmd_dump): Likewise.
26045 (grub_rescue_cmd_rmmod): Likewise.
26046 (grub_rescue_cmd_lsmod): Likewise.
26047 (grub_rescue_cmd_exit): Likewise.
26048 (grub_rescue_print_devices): Moved to corecmd.c.
26049 (grub_rescue_print_files): Likewise.
26050 (grub_rescue_cmd_ls): Likewise.
26051 (grub_rescue_cmd_insmod): Likewise.
26052 (grub_rescue_cmd_set): Likewise.
26053 (grub_rescue_cmd_unset): Likewise.
7d074e3c 26054 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 26055 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 26056 commands, remove grub_rescue_register_command calls.
b1b797cb 26057
7d074e3c 26058 * normal/command.c (grub_register_command): Removed.
b1b797cb 26059 (grub_unregister_command): Likewise.
26060 (grub_command_find): Likewise.
26061 (grub_iterate_commands): Likewise.
26062 (rescue_command): Likewise.
26063 (export_command): Moved to corecmd.c.
26064 (set_command): Removed.
26065 (unset_command): Likewise.
26066 (insmod_command): Likewise.
26067 (rmmod_command): Likewise.
26068 (lsmod_command): Likewise.
26069 (grub_command_init): Likewise.
26070
26071 * normal/completion.c (iterate_command): Use cmd->prio to check for
26072 active command.
26073 (complete_arguments): Use grub_extcmd_t structure to find options.
26074 (grub_normal_do_completion): Change function grub_iterate_commands to
26075 grub_command_iterate.
26076
26077 * normal/execute.c (grub_script_execute_cmd): No need to parse
26078 argument here.
26079
26080 * normal/main.c (grub_dyncmd_dispatcher): New function.
26081 (read_command_list): Register unload commands as dyncmd.
26082 (grub_cmd_normal): Use new command interface, register rescue,
26083 unregister normal at entry, register normal, unregister rescue at exit.
26084
26085 * include/grub/list.h (grub_list_test_t): New type.
26086 (grub_list_iterate): Return int instead of void.
26087 (grub_list_insert): New function.
26088 (GRUB_AS_NAMED_LIST_P): New macro.
26089 (GRUB_AS_PRIO_LIST): Likewise.
26090 (GRUB_AS_PRIO_LIST_P): Likewise.
26091 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
26092 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
26093 (grub_prio_list): New structure.
26094 (grub_prio_list_insert): New function.
26095 (grub_prio_list_remove): New inline function.
26096
26097 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
26098 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
26099 (GRUB_COMMAND_FLAG_MENU): Likewise.
26100 (GRUB_COMMAND_FLAG_BOTH): Likewise.
26101 (GRUB_COMMAND_FLAG_TITLE): Likewise.
26102 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
26103 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
26104 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
26105 (grub_command): Likewise.
26106 (grub_register_command): Likewise.
26107 (grub_command_find): Likewise.
26108 (grub_iterate_commands): Likewise.
26109 (grub_command_init): Likewise.
26110 (grub_arg_parse): Likewise.
26111 (grub_arg_show_help): Likewise.
26112
26113 * include/grub/rescue.h (grub_rescue_register_command): Removed.
26114 (grub_rescue_unregister_command): Likewise.
26115
26116 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
26117 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
26118 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
26119
26120 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
26121 grub_rescue_cmd_initrd.
26122 * include/grub/i386/loader.h: Likewise.
26123 * include/grub/x86_64/loader.h: Likewise.
26124
26125 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
26126
1f4147aa 261272009-03-21 Bean <bean123ch@gmail.com>
26128
26129 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
26130 instead of stat in mingw environment.
26131
26132 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
26133
26134 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
26135
26136 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
26137 AC_CONFIG_LINKS.
26138
2156d5ba 261392009-03-21 Bean <bean123ch@gmail.com>
26140
26141 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
26142 out of range error.
26143
177b82ca 261442009-03-18 Michel Dänzer <michel@daenzer.net>
26145
26146 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
26147 checking inode flags for EXT4_EXTENTS_FLAG.
26148
14aad807 261492009-03-18 Robert Millan <rmh@aybabtu.com>
26150
26151 * loader/i386/linux.c: Include `<grub/video.h>' and
26152 `<grub/i386/pc/vbe.h>'..
26153 (grub_linux_setup_video): New function. Loosely based on the EFI one.
26154 (grub_linux32_boot): Attempt to configure video settings with
26155 grub_linux_setup_video().
26156 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
26157 to avoid grub_console_fini() which would step out of graphical mode
26158 unconditionally.
26159
8cf83a27 261602009-03-14 Robert Millan <rmh@aybabtu.com>
26161
26162 Fix build on powerpc.
26163 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
26164
40164e75 261652009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
26166
26167 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
26168 background image command.
26169
c58bc32a 261702009-03-12 Colin D Bennett <colin@gibibit.com>
26171
26172 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
26173 (grub_gfxterm_putchar): Extract pairs of identical calls to
26174 draw_cursor out of conditional blocks.
26175
5415144a 261762009-03-11 Pavel Roskin <proski@gnu.org>
26177
26178 * fs/hfs.c (grub_hfs_strncasecmp): New function.
26179 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
26180
6394042e 261812009-03-11 Robert Millan <rmh@aybabtu.com>
26182
26183 * loader/i386/multiboot_elfxx.c
26184 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
26185
b7b50e5f 261862009-03-11 Felix Zielcke <fzielcke@z-51.de>
26187
26188 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
26189 `kern/handler.c'.
26190
1ca7fc96 261912009-03-11 Robert Millan <rmh@aybabtu.com>
26192
26193 * loader/i386/multiboot.c (code_size): New variable.
26194 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 26195 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 26196 4-byte alignment to MBI and others by increasing
7d074e3c 26197 `boot_loader_name_length' appropriately.
1ca7fc96 26198
26199 * loader/i386/multiboot_elfxx.c
26200 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
26201
a83ea1d2 262022009-03-09 Felix Zielcke <fzielcke@z-51.de>
26203
26204 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
26205 `fs/ext2.c'.
26206
aa9f3bff 262072009-03-08 Robert Millan <rmh@aybabtu.com>
26208
26209 Make loader/i386/linux.c usable on i386-pc again.
26210
26211 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
26212 memory to heap.
26213 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
26214 `#error' stanza.
26215
d8b3b60e 262162009-03-07 Bean <bean123ch@gmail.com>
26217
26218 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
26219 allocation.
26220
b362c9e9 262212009-03-06 Robert Millan <rmh@aybabtu.com>
26222
26223 Fix display issue on terminals with screen size other than 80x25
26224 (e.g. gfxterm with resolution higher than 640x480).
26225
26226 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 26227 position relative to the center of the terminal instead of relying
b362c9e9 26228 on a hardcoded offset.
26229
9304eef1 262302009-03-04 Robert Millan <rmh@aybabtu.com>
26231
26232 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
26233 installed.
26234
26235 * Makefile.in (host_kernel): New variable.
26236 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
26237 scripts instead of just the windows one.
26238 * configure.ac: Initialize and AC_SUBST `host_kernel'.
26239
eabc95fb 262402009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 26241
26242 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
26243 `kern/handler.c'.
26244 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26245 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26246 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26247 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26248 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26249 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26250
ceb1223c 262512009-03-04 Felix Zielcke <fzielcke@z-51.de>
26252
26253 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
26254 or if there's no space for the disk label and print the partition number on a
26255 invalid magic.
26256
4910684a 262572009-03-04 Felix Zielcke <fzielcke@z-51.de>
26258
26259 * util/misc.c: Include <time.h>.
26260 (grub_millisleep): New function.
26261
7e9ca17a 262622009-03-04 Bean <bean123ch@gmail.com>
26263
26264 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
26265 another option -mno-red-zone.
26266
26267 * commands/handler.c: Change module description.
26268
26269 * kern/handler.c: Add missing space at the end of description line.
26270
26271 * kern/list.c: Likewise.
26272
f501677c 262732009-03-03 Robert Millan <rmh@aybabtu.com>
26274
26275 Move more components to the relocation area, and fix mbi pointer
26276 handling to use the destination rather than the origin (thanks to
26277 Vladimir Serbinenko for spotting).
26278
26279 * loader/i386/multiboot.c (mbi_dest): New variable.
26280 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
26281 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
26282 relocation area.
26283
9902d047 262842009-03-01 Bean <bean123ch@gmail.com>
26285
50fb7002 26286 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 26287 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
26288 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
26289 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
26290
26291 * loader/i386/efi/linux.c (acpi_guid): New variable.
26292 (acpi_guid): Likewise.
26293 (EBDA_SEG_ADDR): New constant.
26294 (LOW_MEM_ADDR): Likewise.
26295 (FAKE_EBDA_SEG): Likewise.
26296 (fake_bios_data): New function.
26297 (grub_linux_boot): Call fake_bios_data.
26298
71b9f361 262992009-03-01 Bean <bean123ch@gmail.com>
26300
26301 * commands/terminal.c: Removed.
26302
26303 * commands/handler.c: New file.
26304
26305 * include/grub/list.h: Likewise.
26306
26307 * include/grub/handler.h: Likewise.
26308
26309 * kern/list.c: Likewise.
26310
26311 * kern/handler.c: Likewise.
26312
26313 * kern/term.h: Include header file <grub/handler.h>.
26314 (grub_term_input): Move next field to the beginning.
26315 (grub_term_output): Likewise.
26316 (grub_term_input_class): New variable.
26317 (grub_term_output_class): Likewise.
26318 (grub_term_register_input): Changed to inline function.
26319 (grub_term_register_output): Likewise.
26320 (grub_term_unregister_input): Likewise.
26321 (grub_term_unregister_output): Likewise.
26322 (grub_term_set_current_input): Likewise.
26323 (grub_term_set_current_output): Likewise.
26324 (grub_term_get_current_input): Likewise.
26325 (grub_term_get_current_output): Likewise.
26326 (grub_term_iterate_input): Removed.
26327 (grub_term_iterate_output): Likewise.
26328
26329 * kern/term.c (grub_term_list_input): Removed.
26330 (grub_term_list_output): Likewise.
26331 (grub_term_input_class): New variable.
26332 (grub_term_output_class): Likewise.
50fb7002 26333 (grub_cur_term_input): Change variable as macro.
71b9f361 26334 (grub_cur_term_output): Likewise.
26335 (grub_term_register_input): Removed.
26336 (grub_term_register_output): Likewise.
26337 (grub_term_unregister_input): Likewise.
26338 (grub_term_unregister_output): Likewise.
26339 (grub_term_set_current_input): Likewise.
26340 (grub_term_set_current_output): Likewise.
26341 (grub_term_iterate_input): Likewise.
26342 (grub_term_iterate_output): Likewise.
26343 (grub_term_get_current_input): Likewise.
26344 (grub_term_get_current_output): Likewise.
26345
26346 * util/grub-editenv.c: Include header file <grub/handler.h>.
26347 (grub_term_get_current_input): Removed.
26348 (grub_term_get_current_output): Likewise.
26349 (grub_term_input_class): New variable.
50fb7002 26350 (grub_term_output_class): Likewise.
71b9f361 26351
26352 * util/grub-fstest.c (grub_term_get_current_input): Removed.
26353 (grub_term_get_current_output): Likewise.
26354 (grub_term_input_class): New variable.
50fb7002 26355 (grub_term_output_class): Likewise.
71b9f361 26356
26357 * util/grub-probe.c (grub_term_get_current_input): Removed.
26358 (grub_term_get_current_output): Likewise.
26359 (grub_term_input_class): New variable.
50fb7002 26360 (grub_term_output_class): Likewise.
71b9f361 26361
26362 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
26363 (grub_term_get_current_output): Likewise.
26364 (grub_term_input_class): New variable.
50fb7002 26365 (grub_term_output_class): Likewise.
71b9f361 26366
26367 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
26368 (terminal_mod_SOURCES): Likewise.
26369 (terminal_mod_CFLAGS): Likewise.
26370 (terminal_mod_LDFLAGS): Likewise.
26371
26372 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
26373 handler.c.
26374 (kernel_img_SOURCES): Add list.c and handler.c.
26375 (kernel_img_HEADERS): Add list.h and handler.h.
26376
26377 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
26378 handler.c.
26379 (kernel_mod_SOURCES): Add list.c and handler.c.
26380 (kernel_mod_HEADERS): Add list.h and handler.h.
26381
26382 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
26383 handler.c.
26384 (kernel_elf_SOURCES): Add list.c and handler.c.
26385 (kernel_elf_HEADERS): Add list.h and handler.h.
26386
26387 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
26388 handler.c.
26389 (kernel_elf_SOURCES): Add list.c and handler.c.
26390 (kernel_elf_HEADERS): Add list.h and handler.h.
26391
26392 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
26393 handler.c.
26394 (kernel_mod_SOURCES): Add list.c and handler.c.
26395 (kernel_mod_HEADERS): Add list.h and handler.h.
26396
26397 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
26398 handler.c.
26399 (kernel_elf_SOURCES): Add list.c and handler.c.
26400 (kernel_elf_HEADERS): Add list.h and handler.h.
26401
8a31787f 264022009-02-27 Robert Millan <rmh@aybabtu.com>
26403
26404 Factorize elf32 / elf64 code in Multiboot loader. This will
26405 prevent it from getting out of sync again.
26406
26407 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
26408 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
26409 grub_multiboot_load_elf64): Move from here ...
26410 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
26411 grub_multiboot_load_elf): ... to here (new file).
26412
51cd3dfc 264132009-02-27 Robert Millan <rmh@aybabtu.com>
26414
26415 * util/grub.d/10_linux.in: Rename "single-user mode" to
26416 "recovery mode".
26417
6e8c9c3a 264182009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
26419
26420 Don't leak in SCSI code.
26421 * disk/scsi.c (grub_scsi_close): free `scsi'.
26422
4b6bf4f9 264232009-02-27 Robert Millan <rmh@aybabtu.com>
26424
26425 * loader/i386/pc/multiboot.c: Move from here ...
26426 * loader/i386/multiboot.c: ... to here. Update all users.
26427
b9413424 264282009-02-27 Robert Millan <rmh@aybabtu.com>
26429
26430 Patch from Alexandre Bique <bique.alexandre@gmail.com>
26431 * util/i386/pc/grub-setup.c (setup): Fix directory path.
26432
50fb7002 264332009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 26434
26435 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
26436 b-tree.
26437
8cc50345 264382009-02-27 Robert Millan <rmh@aybabtu.com>
26439
26440 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
26441 `0x' qualifier as 0 when base is specified as parameter).
26442
6e09b8b7 264432009-02-24 Bean <bean123ch@gmail.com>
26444
26445 * configure.ac: Check for -mcmodel=large in x86_64 target.
26446
26447 * include/grub/efi/api.h (efi_call_10): New macro.
26448 (efi_wrap_10): New function.
26449
26450 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
26451 (GRUB_PE32_REL_BASED_HIGH): Likewise.
26452 (GRUB_PE32_REL_BASED_LOW): Likewise.
26453 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
26454 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
26455 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
26456 (GRUB_PE32_REL_BASED_SECTION): Likewise.
26457 (GRUB_PE32_REL_BASED_REL): Likewise.
26458 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
26459 (GRUB_PE32_REL_BASED_DIR64): Likewise.
26460 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
26461
26462 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
26463 issue.
26464
26465 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
26466 (efi_wrap_10): New function.
26467
26468 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
26469
26470 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
26471 MB/MBP model (NV chipset).
26472 (devdata_devs): Add devpath_5 to the list.
26473
26474 * load/i386/efi/linux.c (video_base): Remove variable.
26475 (RGB_MASK): New macro.
26476 (RGB_MAGIC): Likewise.
26477 (LINE_MIN): Likewise.
26478 (LINE_MAX): Likewise.
26479 (FBTEST_STEP): Likewise.
26480 (FBTEST_COUNT): Likewise.
26481 (fb_list): New variable.
26482 (grub_find_video_card): Remove function.
26483 (find_framebuf): New function.
26484 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
26485 line length.
26486
26487 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
26488 problem for x86_64.
26489
74b21bee 264902009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
26491
26492 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
26493
26494 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
26495 coding tool name.
26496
a455f472 264972009-02-22 Robert Millan <rmh@aybabtu.com>
26498
26499 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
26500 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
26501 in our relocation, instead of using it directly from heap. Also
26502 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
26503
6374daf3 265042009-02-21 Robert Millan <rmh@aybabtu.com>
26505
26506 Implement USB keyboard support (based on patch by Marco Gerards)
26507
26508 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
26509 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
26510 (usb_keyboard_mod_LDFLAGS): New variables.
26511
26512 * term/usb_keyboard.c: New file.
26513
8fa4ea70 265142009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26515
26516 Corrected wrong declaration
26517
26518 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
26519
353976ac 265202009-02-14 Christian Franke <franke@computer.org>
26521
26522 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
26523 (grub_lspci_iter): Print class code and programming interface byte.
26524
6aa1169b 265252009-02-14 Christian Franke <franke@computer.org>
26526
26527 * gendistlist.sh: Ignore `.svn' directories.
26528
265372ca 265292009-02-14 Felix Zielcke <fzielcke@z-51.de>
26530
26531 * fs/fat.c: Add 2009 to Copyright line.
26532
9ff516f3 265332009-02-14 Christian Franke <franke@computer.org>
26534
26535 * commands/hdparm.c: New file. Provides `hdparm' command
26536 which sends ATA commands via grub_disk_ata_pass_through ().
26537
26538 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
26539
26540 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
26541 and <grub/cpu/io.h> to include/grub/ata.h.
26542 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
26543 (GRUB_CDROM_SECTOR_SIZE): Remove.
26544 (GRUB_ATA_*): Move to include/grub/ata.h.
26545 (GRUB_ATAPI_*): Likewise.
26546 (enum grub_ata_commands): Likewise.
26547 (enum grub_ata_timeout_milliseconds): Likewise.
26548 (struct grub_ata_device): Likewise.
26549 (grub_ata_regset): Likewise.
26550 (grub_ata_regget): Likewise.
26551 (grub_ata_regset2): Likewise.
26552 (grub_ata_regget2): Likewise.
26553 (grub_ata_check_ready): Likewise.
26554 (grub_ata_wait_not_busy): Remove static, exported in
26555 include/grub/ata.h.
26556 (grub_ata_wait_drq): Likewise.
26557 (grub_ata_pio_read): Likewise.
26558
26559 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
26560 function for hdparm.mod.
26561
26562 * include/grub/ata.h: New file, contains declarations from
26563 disk/ata.c.
26564 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
26565
26566 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
26567 (grub_disk_ata_pass_through): New exported variable.
26568
26569 * kern/disk.c (grub_disk_ata_pass_through): New variable.
26570
772e23da 265712009-02-13 Colin D Bennett <colin@gibibit.com>
26572
26573 Support multiple fallback entries, and provide an API to support
26574 executing default+fallback menu entries. Renamed the `terminal' menu
26575 viewer to `text'.
26576
26577 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
26578 variable declaration.
26579 (grub_menu_execute_callback): New structure declaration.
26580 (grub_menu_execute_callback_t): New typedef.
26581 (grub_menu_execute_with_fallback): New function declaration.
26582 (grub_menu_get_entry): Likewise.
26583 (grub_menu_get_timeout): Likewise.
26584 (grub_menu_set_timeout): Likewise.
26585
26586 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
26587
26588 * normal/menu.c (grub_wait_after_message): Moved to
26589 `normal/menu_text.c'.
26590 (draw_border): Likewise.
26591 (print_message): Likewise.
26592 (print_entry): Likewise.
26593 (print_entries): Likewise.
26594 (grub_menu_init_page): Likewise.
26595 (get_entry_number): Likewise.
26596 (print_timeout): Likewise.
26597 (run_menu): Likewise.
26598 (grub_menu_execute_entry): Likewise.
26599 (show_text_menu): Likewise.
26600 (get_and_remove_first_entry_number): New function.
26601 (grub_menu_execute_with_fallback): Likewise.
26602 (get_entry): Renamed to ...
26603 (grub_menu_get_entry): .. this and made it global.
26604 (get_timeout): Renamed to ...
26605 (grub_menu_get_timeout): ... this and made it global.
26606 (set_timeout): Renamed to ...
26607 (grub_menu_set_timeout): ... this and made it global.
26608 (grub_normal_terminal_menu_viewer): Renamed to ...
26609 (grub_normal_text_menu_viewer): ... this.
26610
26611 * normal/menu_text.c: New file. Extracted text-menu-specific code
26612 from normal/menu.c.
26613
26614 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
26615 (normal_mod_SOURCES): Likewise.
26616
26617 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26618 (normal_mod_SOURCES): Likewise.
26619
26620 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26621 (normal_mod_SOURCES): Likewise.
26622
26623 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
26624 (normal_mod_SOURCES): Likewise.
26625
26626 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26627 (normal_mod_SOURCES): Likewise.
26628
26629 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26630 (normal_mod_SOURCES): Likewise.
26631
26632 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26633 (normal_mod_SOURCES): Likewise.
26634
16ac430e 266352009-02-11 Robert Millan <rmh@aybabtu.com>
26636
26637 * util/grub.d/00_header.in: Update old reference to `font' command.
26638
06ff20fc 266392009-02-10 Felix Zielcke <fzielcke@z-51.de>
26640
26641 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
26642
26643 Based on patch from Javier Martín.
26644
96da9407 266452009-02-09 Felix Zielcke <fzielcke@z-51.de>
26646
26647 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 26648 to avoid false positives with FAT.
96da9407 26649 (grub_fstest_SOURCES): Likewise.
26650 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26651 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26652 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26653 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26654 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26655 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26656
6dca6fe4 266572009-02-09 Felix Zielcke <fzielcke@z-51.de>
26658
06ff20fc 26659 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 26660 bpb.version_specific.fat12_or_fat16.fstype and
26661 bpb.version_specific.fat32.fstype.
26662
2550c62f 266632009-02-08 Robert Millan <rmh@aybabtu.com>
26664
be110b30 26665 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 26666
56978920 266672009-02-08 Robert Millan <rmh@aybabtu.com>
26668
26669 * Makefile.in (host_os, host_cpu): New variables.
26670 (target_os): Remove. Update all users.
26671
d64399b5 266722009-02-08 Marco Gerards <marco@gnu.org>
26673
26674 * Makefile.in (enable_grub_emu_usb): New variable.
26675 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
26676 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
26677 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
26678 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
26679 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
26680 `usbtest.mod' and `usbms.mod'.
26681 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
26682 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
26683 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
26684 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
26685 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
26686 variables.
26687
26688 * disk/usbms.c: New file.
26689
26690 * include/grub/usb.h: Likewise.
26691
26692 * include/grub/usbtrans.h: Likewise.
26693
26694 * include/grub/usbdesc.h: Likewise.
26695
26696 * bus/usb/usbtrans.c: Likewise.
26697
26698 * bus/usb/ohci.c: Likewise.
26699
26700 * bus/usb/uhci.c: Likewise.
26701
26702 * bus/usb/usbhub.c: Likewise.
26703
26704 * bus/usb/usb.c: Likewise.
26705
26706 * commands/usbtest.c: Likewise.
26707
26708 * util/usb.c: Likewise.
50fb7002 26709
d64399b5 26710 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
26711
26712 * configure.ac: Test for libusb presence.
50fb7002 26713
d64399b5 26714 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
26715
2b40d6bb 267162009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
26717
26718 * kern/mm.c: Add more comments.
26719
73a4ce81 267202009-02-08 Robert Millan <rmh@aybabtu.com>
26721
26722 Patch from Javier Martín.
26723 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
26724 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
26725
f821ce59 267262009-02-08 Robert Millan <rmh@aybabtu.com>
26727
26728 * fs/cpio.c: Split tar functionality to ...
26729 * fs/tar.c: ... here (new file). Update all users.
26730
aebfc4b0 267312009-02-07 Robert Millan <rmh@aybabtu.com>
26732
26733 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
26734 backward-incompatible features.
26735
26736 Based on patch from Javier Martín, with some adjustments.
26737
50fb7002 267382009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 26739
26740 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
26741
0bb5115e 267422009-02-07 Robert Millan <rmh@aybabtu.com>
26743
26744 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
26745 position of `disk/lvm.c' to ensure grub_init_all() always picks it
26746 after the RAID stuff.
26747
38a0f8e7 267482009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
26749
50fb7002 26750 Fixes problem when running vbetest command as reported by
38a0f8e7 26751 Vladimir Serbinenko <phcoder@gmail.com>.
26752
26753 * (grub_vbe_set_video_mode): Fixed problem with text modes.
26754
3143cc1c 267552009-02-04 Felix Zielcke <fzielcke@z-51.de>
26756
26757 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
26758 /dev/md/NpN style mdraid devices.
26759
9cba6fce 267602009-02-03 Felix Zielcke <fzielcke@z-51.de>
26761
26762 * util/unifont2pff.rb: Remove.
26763
e507a2c1 267642009-02-03 Felix Zielcke <fzielcke@z-51.de>
26765
26766 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
26767 `#'.
26768
d2c2b4cd 267692009-02-03 Felix Zielcke <fzielcke@z-51.de>
26770
26771 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
26772 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26773 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26774 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26775 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26776 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26777 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26778
b4315fb0 267792009-02-02 Christian Franke <franke@computer.org>
26780
26781 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
26782
de3aa260 267832009-02-01 Felix Zielcke <fzielcke@z-51.de>
26784
7c3ff286 26785 * INSTALL: Note that we now require at least autoconf 2.59 and
26786 that LZO is optional.
de3aa260 26787
825a182b 267882009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26789
26790 Base on patch on bug #24154 created by Tomas Tintera
26791 <trosos@seznam.cz>.
26792
26793 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
26794
a69ef770 267952009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26796
7c3ff286 26797 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 26798 <bero@arklinux.org>.
26799
26800 * normal/parser.y (script_init): Add missing semicolon.
26801
6fa42fa6 268022009-01-31 Colin D Bennett <colin@gibibit.com>
26803
7c3ff286 26804 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 26805 (free_menu_entry_classes): Added.
26806 (grub_normal_menu_addentry): Added class property handling.
26807 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
26808 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
26809
26810 * normal/menu_viewer.c: New file.
26811
26812 * normal/menu.c (run_menu_entry): Renamed to ...
26813 (grub_menu_execute_entry): ... this and made it as global.
26814 (grub_menu_run): Renamed to ...
26815 (show_text_menu): ... this and made it local.
26816 (show_text_menu): Adapt to new function names.
26817 (grub_normal_terminal_menu_viewer): New global variable.
26818
26819 * include/grub/menu.h: New file.
26820
26821 * include/grub/menu_viewer.h: New file.
26822
26823 * include/grub/normal.h: Added include to grub/menu.h.
26824 (grub_menu_entry): Moved to include/grub/menu.h.
26825 (grub_menu_entry_t): Likewise.
26826 (grub_menu): Likewise.
26827 (grub_menu_t): Likewise.
26828 (grub_normal_terminal_menu_viewer): Added.
26829 (grub_menu_execute_entry): Likewise.
26830 (grub_menu_run): Removed.
26831
26832 * DISTLIST: Added include/grub/menu.h.
26833 Added include/grub/menu_viewer.h.
26834 Added normal/menu_viewer.c.
26835
268362009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
26837
26838 * normal/execute.c (grub_script_execute_menuentry): Changed to use
26839 arglist for menutitle arguments.
26840
26841 * normal/main.c (grub_normal_menu_addentry): Likewise.
26842
26843 * normal/parser.y (menuentry): Likewise.
26844
26845 * normal/script.c (grub_script_create_cmdmenu): Likewise.
26846
26847 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
26848 (grub_script_create_cmdmenu): Likewise.
26849
26850 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
26851
26852 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
26853 changes.
26854
26855 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
26856
26857 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
26858
26859 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
26860
26861 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26862
26863 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26864
26865 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26866
56192c23 268672009-01-30 Christian Franke <franke@computer.org>
26868
26869 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
26870 in option help text.
26871
d72521b3 268722009-01-27 Pavel Roskin <proski@gnu.org>
26873
26874 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
26875
994b5e84 268762009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26877
26878 * commands/lsmmap.c: Add include to grub/machine/memory.h.
26879
26880 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
26881
26882 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
26883 unregister function.
26884
6a7eab2c 268852009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26886
26887 * disk/scsi.c (grub_scsi_read): Fix sign problem.
26888
26889 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
26890
26891 * util/grub-mkfont.c (usage): Fix typo.
26892
26893 * util/elf/grub-mkimage.c (load_modules): Fix warning.
26894
1806b56e 268952009-01-26 Daniel Mierswa <impulze@impulze.org>
26896
3fb18f09 26897 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
26898
336e1fb9 26899 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
26900
1806b56e 26901 * kern/misc.c (grub_strcasecmp): New function.
26902 (grub_strcasecmp): Use grub_size_t instead of int for length.
26903 Fix return value.
26904 * include/grub/misc.h: Update function prototypes.
26905
580b2a0f 269062009-01-26 Robert Millan <rmh@aybabtu.com>
26907
26908 * configure.ac: Fix cross-compilation check.
ef257b36 26909
d31c24f1 269102009-01-22 Christian Franke <franke@computer.org>
26911
26912 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
26913 (precision) digit string. Allow `.format2' without `format1' (width).
26914 Limit input chars for `%s' output to `format2' if specified. This is
26915 compatible with standard printf ().
26916
3138b44c 269172009-01-22 Christian Franke <franke@computer.org>
26918
26919 * disk/ata.c (grub_ata_wait_status): Replace by ...
26920 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
26921 other status bits may be invalid while BSY is asserted.
26922 (grub_ata_check_ready): New function.
26923 (grub_ata_cmd): Removed.
26924 (grub_ata_wait_drq): New function.
26925 (grub_ata_strncpy): Remove inline.
26926 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
26927 and error check now done by grub_ata_wait_drq ().
26928 (grub_ata_pio_write): Likewise.
26929 (grub_atapi_identify): Set DEV before check for !BSY. Use
26930 grub_ata_wait_drq () to wait for data.
26931 (grub_ata_device_initialize): Add status register check to
26932 detect missing SATA slave devices. Add debug messages.
26933 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
26934 (grub_atapi_packet): Set DEV before check for !BSY. Replace
26935 transfer loop by grub_ata_pio_write ().
26936 (grub_ata_identify): Set DEV before check for !BSY. Use
26937 grub_ata_wait_drq () to wait for data.
ef257b36 26938 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 26939 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
26940 read/write in one loop. Fix invalid command on write. Fix incomplete
26941 command on (size % batch) == 0. Add missing error check after write of
26942 last block. Add debug messages.
26943 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
26944
59a64ef6 269452009-01-19 Christian Franke <franke@computer.org>
26946
26947 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
26948 (GRUB_ATAPI_IREASON_*): Likewise.
26949 (grub_ata_pio_write): Fix timeout error return.
26950 (grub_atapi_identify): Add grub_ata_wait () after cmd.
26951 (grub_atapi_wait_drq): New function.
26952 (grub_atapi_packet): New parameter `size'.
26953 Use grub_atapi_wait_drq () and direct write instead of
26954 grub_ata_pio_write ().
26955 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
26956 reads the number of bytes requested by the device for each DRQ
26957 assertion.
26958 (grub_atapi_write): Remove old implementation, return not
26959 implemented instead.
26960
1cfe20b3 269612009-01-19 Christian Franke <franke@computer.org>
26962
26963 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
26964 of 512 to calculate data size.
26965 (grub_scsi_read12): Likewise.
26966 (grub_scsi_write10): Likewise.
26967 (grub_scsi_write12): Likewise.
26968 (grub_scsi_read): Adjust size according to blocksize.
26969 Add checks for invalid blocksize and unaligned transfer.
26970
bee5fe5d 269712009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
26972
26973 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
26974
ef257b36 26975 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 26976 width glyphs.
26977
3e643f8c 269782009-01-19 Robert Millan <rmh@aybabtu.com>
26979
26980 * config.guess: Update to latest version from config git.
26981 * config.sub: Likewise.
26982
4fa80998 269832009-01-17 Felix Zielcke <fzielcke@z-51.de>
26984
26985 * Makefile.in: Change font compilation to use new grub-mkfont instead
26986 of java version.
26987
26988 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
26989 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
26990 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26991 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26992 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
26993 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
26994 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
26995 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
26996 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
26997
7086085b 269982009-01-16 Christian Franke <franke@computer.org>
26999
27000 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
27001 (enum grub_ata_timeout_milliseconds): New enum.
27002 (grub_ata_wait_status): Add parameter milliseconds.
27003 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
27004 recovery from timed-out commands.
27005 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
27006 return grub_errno instead of REG_ERROR.
27007 (grub_ata_pio_write): Add parameter milliseconds.
27008 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
27009 Pass milliseconds to grub_ata_wait_status () and
27010 grub_ata_pio_read ().
27011 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
27012 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
27013 grub_ata_wait_status (). Fix IDENTIFY timeout check.
27014 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
27015 It is not suitable for device detection, because DEV bit is ignored,
27016 the command may run too long, and not all devices set the signature
27017 properly.
27018 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
27019 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
27020 Fix device selection, DEV bit must be set first to address the registers
27021 of the correct device.
27022 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
27023 grub_ata_pio_read/write ().
27024 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
27025 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
27026
4a412913 270272009-01-13 Carles Pina i Estany <carles@pina.cat>
27028
27029 * util/grub-editenv.c (main): Use fseeko(), not fseek().
27030
7795c55e 270312009-01-13 Bean <bean123ch@gmail.com>
d913988c 27032
27033 * util/grub-mkfont.c (write_font): forget to remove some debug code.
27034
7795c55e 270352009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 27036
27037 * Makefile.in: (enable_grub_mkfont): New variable.
27038 (freetype_cflags): Likewise.
27039 (freetype_libs): Likewise.
27040
27041 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
27042 (grub_mkfont_SOURCES): New variable.
27043 (grub_mkfont_CFLAGS): Likewise.
27044 (grub_mkfont_LDFLAGS): Likewise.
27045
27046 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
27047 library if `--enable-grub-mkfont' is requested.
27048 (enable_grub_mkfont): New variable.
27049 (freetype_cflags): Likewise.
27050 (freetype_libs): Likewise.
27051
27052 * util/grub-mkfont.c: New file.
27053
093af1fe 270542009-01-12 Christian Franke <franke@computer.org>
27055
27056 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
27057 mode check. Fix setting of compat_use[].
27058
f36cc108 270592009-01-10 Robert Millan <rmh@aybabtu.com>
27060
27061 Update a few copyright years which we forgot to do in 2008 (only for
27062 files whose changes made in 2008 were copyright-significant)
27063
27064 * Makefile.in: Add 2008 to Copyright line.
27065 * disk/ieee1275/ofdisk.c: Likewise.
27066 * disk/efi/efidisk.c: Likewise.
27067 * kern/dl.c: Likewise.
27068 * kern/sparc64/ieee1275/init.c: Likewise.
27069 * kern/mm.c: Likewise.
27070 * kern/efi/mm.c: Likewise.
27071 * boot/i386/pc/boot.S: Likewise.
27072 * genfslist.sh: Likewise.
27073 * fs/iso9660.c: Likewise.
27074 * fs/hfs.c: Likewise.
27075 * fs/jfs.c: Likewise.
27076 * fs/minix.c: Likewise.
27077 * fs/ufs.c: Likewise.
27078 * gensymlist.sh.in: Likewise.
27079 * genkernsyms.sh.in: Likewise.
27080 * include/grub/misc.h: Likewise.
27081 * include/grub/types.h: Likewise.
27082 * include/grub/symbol.h: Likewise.
27083 * include/grub/elf.h: Likewise.
27084 * include/grub/kernel.h: Likewise.
27085 * include/grub/disk.h: Likewise.
27086 * include/grub/dl.h: Likewise.
27087 * include/grub/i386/linux.h: Likewise.
27088 * include/grub/i386/pc/biosdisk.h: Likewise.
27089 * include/grub/efi/api.h: Likewise.
27090 * include/grub/efi/pe32.h: Likewise.
27091 * include/grub/util/misc.h: Likewise.
27092 * normal/execute.c: Likewise.
27093 * normal/arg.c: Likewise.
27094 * normal/completion.c: Likewise.
27095 * normal/lexer.c: Likewise.
27096 * normal/parser.y: Likewise.
27097 * normal/misc.c: Likewise.
27098 * commands/i386/pc/vbeinfo.c: Likewise.
27099 * commands/hexdump.c: Likewise.
27100 * commands/terminal.c: Likewise.
27101 * commands/ls.c: Likewise.
27102 * commands/help.c: Likewise.
27103 * partmap/pc.c: Likewise.
27104 * loader/efi/chainloader.c: Likewise.
27105 * loader/multiboot_loader.c: Likewise.
27106 * loader/i386/pc/multiboot2.c: Likewise.
27107 * term/efi/console.c: Likewise.
27108 * term/i386/pc/serial.c: Likewise.
27109 * util/lvm.c: Likewise.
27110 * util/console.c: Likewise.
27111 * util/i386/efi/grub-mkimage.c: Likewise.
27112 * util/raid.c: Likewise.
27113
7f02114b 271142009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
27115
27116 * commands/videotest.c: Removed include to grub/machine/memory.h.
27117
27118 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
27119 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
27120 (video_mod_SOURCES): Removed.
27121 (video_mod_CFLAGS): Likewise.
27122 (video_mod_LDFLAGS): Likewise.
27123 (gfxterm_mod_SOURCES): Likewise.
27124 (gfxterm_mod_CFLAGS): Likewise.
27125 (gfxterm_mod_LDFLAGS): Likewise.
27126 (videotest_mod_SOURCES): Likewise.
27127 (videotest_mod_CFLAGS): Likewise.
27128 (videotest_mod_LDFLAGS): Likewise.
27129 (bitmap_mod_SOURCES): Likewise.
27130 (bitmap_mod_CFLAGS): Likewise.
27131 (bitmap_mod_LDFLAGS): Likewise.
27132 (tga_mod_SOURCES): Likewise.
27133 (tga_mod_CFLAGS): Likewise.
27134 (tga_mod_LDFLAGS): Likewise.
27135 (jpeg_mod_SOURCES): Likewise.
27136 (jpeg_mod_CFLAGS): Likewise.
27137 (jpeg_mod_LDFLAGS): Likewise.
27138 (png_mod_SOURCES): Likewise.
27139 (png_mod_CFLAGS): Likewise.
27140 (png_mod_LDFLAGS): Likewise.
27141
27142 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
27143 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
27144 (video_mod_SOURCES): Added.
27145 (video_mod_CFLAGS): Likewise.
27146 (video_mod_LDFLAGS): Likewise.
27147 (videotest_mod_SOURCES): Likewise.
27148 (videotest_mod_CFLAGS): Likewise.
27149 (videotest_mod_LDFLAGS): Likewise.
27150 (bitmap_mod_SOURCES): Likewise.
27151 (bitmap_mod_CFLAGS): Likewise.
27152 (bitmap_mod_LDFLAGS): Likewise.
27153 (tga_mod_SOURCES): Likewise.
27154 (tga_mod_CFLAGS): Likewise.
27155 (tga_mod_LDFLAGS): Likewise.
27156 (jpeg_mod_SOURCES): Likewise.
27157 (jpeg_mod_CFLAGS): Likewise.
27158 (jpeg_mod_LDFLAGS): Likewise.
27159 (png_mod_SOURCES): Likewise.
27160 (png_mod_CFLAGS): Likewise.
27161 (png_mod_LDFLAGS): Likewise.
27162 (gfxterm_mod_SOURCES): Likewise.
27163 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 27164 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 27165
27166 * term/gfxterm.c: Removed include to grub/machine/memory.h,
27167 grub/machine/console.h.
27168
644fff97 271692009-01-04 Jerone Young <jerone@gmail.com>
27170
27171 Make on screen instructions clearer
27172
27173 Based on patch created by Jidanni <jidanni@jidanni.org>
27174
27175 * normal/menu.c: print clearer instructions on the screen
27176
1e901a75 271772009-01-02 Colin D Bennett <colin@gibibit.com>
27178
27179 New font engine.
34c44600 27180
1e901a75 27181 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
27182 build system and fixed gfxterm.c to work with different sized fonts.
27183
27184 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 27185
1e901a75 27186 * configure: Re-generated.
34c44600 27187
1e901a75 27188 * DISTLIST: Removed font/manager.c.
27189 Added font/font.c.
27190 Added font/font_cmd.c.
34c44600 27191
1e901a75 27192 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
27193 compilation.
34c44600 27194
1e901a75 27195 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 27196
27197 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 27198
27199 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 27200
1e901a75 27201 * normal/menu.c: Likewise.
34c44600 27202
1e901a75 27203 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
27204 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 27205
1e901a75 27206 * include/grub/font.h: Replaced with new file.
34c44600 27207
1e901a75 27208 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
27209 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
27210 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
27211 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
27212 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 27213 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 27214 fg_red, fg_green, fg_blue, fg_alpha.
27215 (grub_video_adapter): Removed blit_glyph.
34c44600 27216 (grub_video_blit_glyph): Removed.
27217
1e901a75 27218 * font/manager.c: Removed file.
34c44600 27219
27220 * font/font.c: New file.
27221
1e901a75 27222 * font/font_cmd.c: Likewise.
34c44600 27223
1e901a75 27224 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 27225
1e901a75 27226 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
27227 (grub_video_vbe_map_rgba): Likewise.
27228 (grub_video_vbe_unmap_color_int): Likewise.
27229 (grub_video_vbe_blit_glyph): Removed.
27230 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 27231
1e901a75 27232 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
27233 (get_pixel): Likewise.
34c44600 27234 (set_pixel): Likewise.
27235
1e901a75 27236 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 27237
1e901a75 27238 * term/gfxterm.c: Adapted to new font engine.
34c44600 27239
1e901a75 27240 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 27241
1e901a75 27242 * term/i386/pc/vga.c: Likewise.
34c44600 27243
1e901a75 27244 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 27245
1e901a75 27246 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 27247
1e901a75 27248 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 27249
1e901a75 27250 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 27251
1e901a75 27252 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 27253
1e901a75 27254 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 27255
1e901a75 27256 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 27257
1e901a75 27258 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 27259
1e901a75 27260 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
27261
27262 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 27263
1e901a75 27264 * util/grub-mkconfig_lib.in: Changed font extension.
27265
278922e8 272662008-12-28 Felix Zielcke <fzielcke@z-51.de>
27267
27268 * util/getroot.c (grub_util_get_grub_dev): Add support for
27269 /dev/md/dNNpNN style partitionable mdraid devices.
27270
3ced05cf 272712008-12-12 Alex Smith <alex@alex-smith.me.uk>
27272
27273 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
27274 at a time limit of the PXE TFTP API correctly.
27275 (grub_pxefs_close): Likewise.
27276
7fd0ee30 272772008-11-29 Robert Millan <rmh@aybabtu.com>
27278
34c44600 27279 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 27280 grub_ata_device_initialize() calls.
27281
34c44600 272822008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 27283
27284 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
27285 iteration failed.
27286 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
27287
89313780 272882008-11-28 Robert Millan <rmh@aybabtu.com>
27289
27290 Fix build on powerpc-ieee1275. Based on patch created by
27291 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
27292 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
27293 `kern/ieee1275/mmap.c'.
27294 * include/grub/powerpc/ieee1275/memory.h: New file.
27295
15257703 27296 Provide grub-install on coreboot.
27297 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
27298 (grub_install_SOURCES): New variable.
27299 * util/i386/pc/grub-install.in: Add a few condition checks to make it
27300 usable on coreboot.
27301
9fc5388a 273022008-11-25 Felix Zielcke <fzielcke@z-51.de>
27303
27304 * util/grub-fstest.c (grub_term_get_current_input): Change return type
27305 to `grub_term_input_t'.
27306 (grub_term_get_current_output): Change return type to
27307 `grub_term_output_t'.
27308
bc3a2f31 273092008-11-22 Robert Millan <rmh@aybabtu.com>
27310
34c44600 27311 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 27312 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
27313 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
27314 grub_vga_text_cls().
27315
80fc88f2 27316 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 27317 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 27318
cbf36fd3 27319 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
27320 to 0x200000 (avoids trouble with some OFW implementations, and matches
27321 with the one in Yaboot).
27322 Reported by Manoel Abranches
27323
73e8e268 273242008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 27325
27326 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
27327 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
27328
73e8e268 27329 * util/grub-mkconfig_lib.in (grub_warn): New function.
27330 (convert_system_path_to_grub_path): Use grub_warn() when issuing
27331 warnings, to obtain consistent formatting.
27332 * util/grub.d/00_header.in: Likewise.
27333 * util/update-grub_lib.in: Likewise.
27334
e94045a1 27335 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 27336 Move comment text to `#error' stanza.
e94045a1 27337
79d29fd7 27338 Harmonize ieee1275's grub_available_iterate() with the generic
27339 grub_machine_mmap_iterate() interface (fixes a recently-introduced
27340 build problem on i386-ieee1275):
27341 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
27342 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
27343 parameter `type'. Update all users of this function.
27344 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
27345 `kern/ieee1275/mmap.c'.
27346 * kern/ieee1275/init.c
27347 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
27348 with ...
27349 (grub_machine_mmap_iterate): ... this.
27350 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
27351 return type to `grub_err_t'. Update all implementations of this
27352 function prototype.
27353 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
27354 Likewise.
27355
60d6b16e 27356 Add `lsmmap' command (lists firmware-provided memory map):
27357 * commands/lsmmap.c: New file.
27358 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
27359 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
27360 variables.
27361 * conf/powerpc-ieee1275.rmk: Likewise.
27362 * conf/i386-coreboot.rmk: Likewise.
27363 * conf/i386-ieee1275.rmk: Likewise.
27364
ebaaf49b 273652008-11-19 Robert Millan <rmh@aybabtu.com>
27366
27367 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 27368 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
27369 constraints to initrd allocation (based on code from
27370 loader/i386/pc/linux.c). Without them, initrd was allocated too high
27371 for Linux to find it.
ebaaf49b 27372
dfab719f 273732008-11-14 Robert Millan <rmh@aybabtu.com>
27374
27375 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
27376 order to cope with duplicate slashes.
27377
10fc3eb9 273782008-11-14 Robert Millan <rmh@aybabtu.com>
27379
27380 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
27381 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
27382 don't want to mess with lower memory, because it is used in the Linux
27383 loader.
27384
27385 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 27386 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 27387 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
27388 is in our heap (probably as a result of it being corrupted during
2f2a3442 27389 decompression). Add #error instance with comment to explain why this
27390 loader isn't currently usable on PC/BIOS.
10fc3eb9 27391
e2e07847 273922008-11-14 Robert Millan <rmh@aybabtu.com>
27393
27394 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 27395 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 27396
fe8e8d69 273972008-11-12 Robert Millan <rmh@aybabtu.com>
27398
27399 Make loader/i386/linux.c buildable on i386-pc (although disabled).
27400
27401 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
27402 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
27403 from here ...
27404 * include/grub/i386/pc/memory.h: ... to here.
27405
976b07d0 274062008-11-12 Robert Millan <rmh@aybabtu.com>
27407
27408 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
27409 split).
27410
27411 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
27412 (grub_console_cur_color, grub_console_real_putchar)
27413 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
27414 (grub_console_setcolorstate, grub_console_setcolor)
27415 (grub_console_getcolor): Move from here ...
27416 * include/grub/i386/vga_common.h: ... to here (new file).
27417
27418 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
27419 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
27420 `<grub/i386/io.h>'.
27421 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
27422 `<grub/i386/vga_common.h>'.
27423
76679cd3 274242008-11-12 Robert Millan <rmh@aybabtu.com>
27425
27426 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
27427 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
27428 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
27429 variables.
27430 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
27431 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
27432
27433 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
27434 grub_console_init() with call to grub_vga_text_init().
27435 (grub_machine_fini): Replace call to
27436 grub_console_fini() with call to grub_vga_text_fini() and
27437 grub_at_keyboard_fini().
27438
27439 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
27440 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
27441 (grub_console_setcolorstate, grub_console_setcolor)
27442 (grub_console_getcolor): New function prototypes.
27443
27444 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
27445 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
27446 (grub_vga_text_setcursor): Static-ize.
27447 (grub_vga_text_term): New structure.
27448 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
27449
27450 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
27451 (grub_console_cur_color, grub_console_standard_color)
27452 (grub_console_normal_color, grub_console_highlight_color)
27453 (map_char, grub_console_putchar, grub_console_getcharwidth)
27454 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
27455 (grub_console_getcolor): Move from here ...
27456 * term/i386/vga_common.c: ... to here (same function names).
27457
95b841d3 274582008-11-12 Robert Millan <rmh@aybabtu.com>
27459
27460 Use newly-added Multiboot support in coreboot.
27461
27462 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
27463 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
27464
27465 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
27466 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
27467 (codestart): Store the MBI in `startup_multiboot_info' when we're
27468 being loaded using Multiboot.
27469
27470 * kern/i386/coreboot/init.c (grub_machine_init): Move
27471 grub_at_keyboard_init() call to beginning of function (useful for
27472 debugging). Call grub_machine_mmap_init() before attempting to use
27473 grub_machine_mmap_iterate().
27474 (grub_lower_mem, grub_upper_mem): Move from here ...
27475 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
27476 here (new file).
27477
27478 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
27479 function prototype.
27480
761ca975 274812008-11-12 Robert Millan <rmh@aybabtu.com>
27482
27483 Fix a regression introduced by the at_keyboard.mod split. Because
27484 some terminals are default on some platforms and non-default on
27485 others, the first terminal being registered determines which is
27486 going to be default.
27487
27488 * kern/term.c (grub_term_register_input): If this is the first
27489 terminal being registered, set it as the current one.
27490 (grub_term_register_output): Likewise.
27491
27492 * term/efi/console.c (grub_console_init): Do not call
27493 grub_term_set_current_output() or grub_term_set_current_input().
27494 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
27495 * term/i386/pc/console.c (grub_console_init): Likewise.
27496 (grub_console_fini): Do not call grub_term_set_current_input()
27497 (but leave grub_term_set_current_output() to restore text mode).
27498
6c529df7 274992008-11-10 Robert Millan <rmh@aybabtu.com>
27500
27501 * util/grub.d/00_header.in: Add backward compatibility check for
27502 versions of terminal.mod that don't understand `terminal_input' or
27503 `terminal_output'.
27504
132e4113 275052008-11-09 Robert Millan <rmh@aybabtu.com>
27506
27507 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
27508 `terminal_input' / `terminal_output', not `terminal'.
27509
ac293d50 275102008-11-08 Robert Millan <rmh@aybabtu.com>
27511
27512 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 27513 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 27514
0025933a 275152008-11-08 Robert Millan <rmh@aybabtu.com>
27516
27517 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 27518 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 27519 members. Update all users.
27520 * util/console.c (grub_ncurses_term): Split in ...
27521 (grub_ncurses_term_input): ... this, and ...
27522 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 27523 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 27524
37c86336 275252008-11-08 Robert Millan <rmh@aybabtu.com>
27526
27527 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
27528 (PKGDATA): Add $(pkgdata_SRCDIR).
27529 (pkglib_BUILDDIR): New variable.
27530 (pkgdata_SRCDIR): New variable.
27531 (build_env.mk): New target.
27532 (include_DATA): New variable.
27533 (install-local): Install $(include_DATA) files in $(includedir).
27534
b6c15a2d 275352008-11-07 Pavel Roskin <proski@gnu.org>
27536
d99d46f1 27537 * gendistlist.sh: Use C locale for sorting to ensure consistent
27538 output on all systems.
27539
b6c15a2d 27540 * util/grub.d/00_header.in: Remove incorrect space before
27541 "serial".
27542
c32ee8c9 275432008-11-07 Robert Millan <rmh@aybabtu.com>
27544
27545 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
27546 per specification.
27547 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
27548 * loader/multiboot_loader.c (find_multi_boot2_header): New function
27549 (based on find_multi_boot1_header).
27550 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
27551 using find_multi_boot2_header(), and abort if neither Multiboot or
27552 Multiboot headers were found.
27553
651c29b7 275542008-11-07 Robert Millan <rmh@aybabtu.com>
27555
27556 Modularize at_keyboard.mod:
27557
27558 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
27559 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
27560 (at_keyboard_mod_LDFLAGS): New variables.
27561
27562 Actual terminal split:
27563
27564 * include/grub/term.h (struct grub_term): Split in ...
27565 (struct grub_term_input): ... this, and ...
27566 (struct grub_term_output): ... this. Update all users.
27567 (grub_term_set_current): Split in ...
27568 (grub_term_set_current_input): ... this, and ...
27569 (grub_term_set_current_output): ... this.
27570 (grub_term_get_current): Split in ...
27571 (grub_term_get_current_input): ... this, and ...
27572 (grub_term_get_current_output): ... this.
27573 (grub_term_register): Split in ...
27574 (grub_term_register_input): ... this, and ...
27575 (grub_term_register_output): ... this.
27576 (grub_term_unregister): Split in ...
27577 (grub_term_unregister_input): ... this, and ...
27578 (grub_term_unregister_output): ... this.
27579 (grub_term_iterate): Split in ...
27580 (grub_term_iterate_input): ... this, and ...
27581 (grub_term_iterate_output): ... this.
27582
27583 * kern/term.c (grub_term_list): Split in ...
27584 (grub_term_list_input): ... this, and ...
27585 (grub_term_list_output): ... this. Update all users.
27586 (grub_cur_term): Split in ...
27587 (grub_cur_term_input): ... this, and ...
27588 (grub_cur_term_output): ... this. Update all users.
27589 (grub_term_set_current): Split in ...
27590 (grub_term_set_current_input): ... this, and ...
27591 (grub_term_set_current_output): ... this.
27592 (grub_term_get_current): Split in ...
27593 (grub_term_get_current_input): ... this, and ...
27594 (grub_term_get_current_output): ... this.
27595 (grub_term_register): Split in ...
27596 (grub_term_register_input): ... this, and ...
27597 (grub_term_register_output): ... this.
27598 (grub_term_unregister): Split in ...
27599 (grub_term_unregister_input): ... this, and ...
27600 (grub_term_unregister_output): ... this.
27601 (grub_term_iterate): Split in ...
27602 (grub_term_iterate_input): ... this, and ...
27603 (grub_term_iterate_output): ... this.
27604
27605 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
27606 a check for input and one for output (and only attempt to get keys
27607 from user when input works).
27608
27609 * util/grub-probe.c (grub_term_get_current): Split in ...
27610 (grub_term_get_current_input): ... this, and ...
27611 (grub_term_get_current_output): ... this.
27612 * util/grub-fstest.c: Likewise.
27613 * util/i386/pc/grub-setup.c: Likewise.
27614 * util/grub-editenv.c: Likewise.
27615
27616 Portability adjustments:
27617
27618 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
27619 `term/i386/pc/at_keyboard.c'.
27620 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
27621 grub_keyboard_controller_init() (now handled by terminal .init).
27622 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
27623 grub_at_keyboard_init().
27624 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
27625 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
27626 at_keyboard.mod via input terminal interface).
27627 * include/grub/i386/coreboot/console.h: Convert into a stub for
27628 `<grub/i386/pc/console.h>'.
27629
27630 Migrate full terminals to new API:
27631
27632 * term/efi/console.c (grub_console_term): Split into ...
27633 (grub_console_term_input): ... this, and ...
27634 (grub_console_term_output): ... this. Update all users.
27635 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
27636 (grub_ofconsole_init): Split into ...
27637 (grub_ofconsole_init_input): ... this, and ...
27638 (grub_ofconsole_init_output): ... this.
27639 (grub_ofconsole_term): Split into ...
27640 (grub_ofconsole_term_input): ... this, and ...
27641 (grub_ofconsole_term_output): ... this. Update all users.
27642 * term/i386/pc/serial.c (grub_serial_term): Split into ...
27643 (grub_serial_term_input): ... this, and ...
27644 (grub_serial_term_output): ... this. Update all users.
27645 * term/i386/pc/console.c (grub_console_term): Split into ...
27646 (grub_console_term_input): ... this, and ...
27647 (grub_console_term_output): ... this. Update all users.
27648 (grub_console_term_input): Only enable it on PC/BIOS platform.
27649 (grub_console_init): Remove grub_keyboard_controller_init() call.
27650
27651 Migrate input terminals to new API:
27652
27653 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
27654 `i386' and `i386/pc' to enable build on x86_64 (this driver is
27655 i386-specific anyway).
27656 (grub_console_checkkey): Rename to ...
27657 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
27658 users.
27659 (grub_keyboard_controller_orig): New variable.
27660 (grub_console_getkey): Rename to ...
27661 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
27662 users.
27663 (grub_keyboard_controller_init): Static-ize. Save original
27664 controller value so that it can be restored ...
27665 (grub_keyboard_controller_fini): ... here (new function).
27666 (grub_at_keyboard_term): New structure.
27667 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
27668 functions.
27669
27670 Migrate output terminals to new API:
27671
27672 * term/i386/pc/vga.c (grub_vga_term): Change type to
27673 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27674 members. Update all users.
27675 * term/gfxterm.c (grub_video_term): Change type to
27676 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27677 members. Update all users.
27678 * include/grub/i386/pc/console.h (grub_console_checkkey)
27679 (grub_console_getkey): Do not export (no longer needed by gfxterm,
27680 etc).
27681
27682 Migrate `terminal' command and userland tools to new API:
27683
27684 * commands/terminal.c (grub_cmd_terminal): Split into ...
27685 (grub_cmd_terminal_input): ... this, and ...
27686 (grub_cmd_terminal_output): ... this.
27687 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
27688 `terminal_input' and `terminal_output'.
27689 * util/grub.d/00_header.in: Adjust `terminal' calls to new
27690 `terminal_input' / `terminal_output' API.
27691 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
27692 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
27693 provided ${GRUB_TERMINAL}, convert it).
27694
96e5d876 276952008-11-04 Robert Millan <rmh@aybabtu.com>
27696
27697 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
27698 for FreeBSD.
27699 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
27700
556f3775 277012008-11-03 Bean <bean123ch@gmail.com>
27702
27703 * kern/elf.c (grub_elf32_load): Revert to previous code.
27704 (grub_elf64_load): Likewise.
27705
27706 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
27707
926b9823 277082008-11-01 Robert Millan <rmh@aybabtu.com>
27709
27710 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
27711 (TARGET_CPPFLAGS): Likewise.
27712 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
27713
1432e958 277142008-11-01 Carles Pina i Estany <carles@pina.cat>
27715
27716 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
27717
dba3f844 277182008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 27719
27720 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
27721 addition of objects until the code is not going to be able to fail.
27722
dba3f844 277232008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 27724
27725 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
27726 (add a missing NULL check, and correct them by moving the pointer
27727 operations after the actual check).
27728
7ab28c21 277292008-10-29 Robert Millan <rmh@aybabtu.com>
27730
27731 * util/i386/pc/grub-install.in: Handle empty string as output from
27732 make_system_path_relative_to_its_root().
27733
1b7748eb 277342008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
27735
27736 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
27737 circular metadata worst case scenario. If the metadata is circular
27738 then copy the wrap in place.
27739 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
27740 project lib/format_text/layout.h
27741 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
27742
c9618ab2 277432008-10-03 Felix Zielcke <fzielcke@z-51.de>
27744
7a36edca 27745 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 27746
bf981c62 277472008-10-03 Felix Zielcke <fzielcke@z-51.de>
27748
27749 * util/update-grub_lib.in: Mention filename in warning message.
27750
6d994591 277512008-09-29 Felix Zielcke <fzielcke@z-51.de>
27752
27753 * NEWS: Update for rename of update-grub to grub-mkconfig.
27754
18ade780 277552008-09-29 Felix Zielcke <fzielcke@z-51.de>
27756
27757 * util/update-grub_lib.in: Copy to ...
27758 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 27759 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 27760 * util/update-grub.in: Rename to ...
27761 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
27762 option. Add `--output' option to allow users to specify the generated
27763 configuration file. Default to stdout.
27764 (update_grub_dir): Rename to ...
27765 (grub_mkconfig_dir): ... this.
27766 (grub_cfg): Default to an empty string.
27767 * conf/common.rmk (update-grub): Rename to ...
27768 (grub-mkconfig): ... this.
27769 (update-grub_lib): Copy to ...
27770 (grub-mkconfig_lib): ... this.
27771 (update-grub_SCRIPTS): Copy to ...
27772 (grub-mkconfig_SCRIPTS): ... this. Update all users.
27773 (update-grub_DATA): Rename to ...
27774 (grub-mkconfig_DATA): ... this.
27775
556ce6ac 277762008-09-28 Robert Millan <rmh@aybabtu.com>
27777
27778 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
27779 to `modified'. Add the real `created' field.
27780 (grub_iso9660_uuid): Use `modified' rather than `created' for
27781 constructing the UUID.
27782
277832008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 27784
27785 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
27786 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
27787
92274e85 277882008-09-28 Bean <bean123ch@gmail.com>
27789
27790 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
27791 Thanks to Christian Franke for finding this bug.
27792
add6f17a 277932008-09-25 Robert Millan <rmh@aybabtu.com>
27794
27795 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
27796 instances of grub_util_get_disk_name() (see previous commit).
27797
d2a367b8 277982008-09-25 Robert Millan <rmh@aybabtu.com>
27799
27800 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
27801 `util/i386/get_disk_name.c'.
27802 * conf/i386-efi.rmk: Likewise.
27803 * conf/x86_64-efi.rmk: Likewise.
27804 * conf/i386-coreboot.rmk: Likewise.
27805 * conf/i386-ieee1275.rmk: Likewise.
27806 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
27807 `util/ieee1275/get_disk_name.c'.
27808 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
27809 * util/ieee1275/get_disk_name.c: Remove file.
27810 * util/i386/get_disk_name.c: Remove file.
27811 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
27812 "hd%d" for device.map entries, rather than using
27813 grub_util_get_disk_name().
27814
81a06771 278152008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 27816
27817 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
27818 warning.
27819 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
27820
5a004279 278212008-09-24 Carles Pina i Estany <carles@pina.cat>
27822
27823 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
27824 Changed to 0x5100.
27825 (GRUB_TERM_PPAGE): Changed to 0x4900.
27826
397093d3 278272008-09-24 Robert Millan <rmh@aybabtu.com>
27828
27829 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
27830 macros (they were i386-pc specific).
27831 * include/grub/sparc64/ieee1275/console.h: Likewise.
27832 * include/grub/efi/console.h: Likewise.
27833
a91b6c7c 278342008-09-22 Bean <bean123ch@gmail.com>
27835
27836 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
27837 resident and in attribute list.
27838
27839 * include/grub/ntfs.h (BMP_LEN): Removed.
27840
c40fd116 278412008-09-22 Bean <bean123ch@gmail.com>
27842
81a06771 27843 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 27844 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
27845
27846 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
27847 error occurs, as grub_disk_open will call grub_disk_close, which will
27848 call p->close (scsi).
27849
81a06771 278502008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 27851
27852 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
27853 (AC_PREREQ): Bumped to 2.59.
27854 (AC_TRY_COMPILE): Replace obsolete macro with ...
27855 (AC_COMPILE_IFELSE): ... this.
27856 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
27857 (AC_LINK_IFELSE): ... this.
27858
5dc43410 278592008-09-21 Felix Zielcke <fzielcke@z-51.de>
27860
27861 * autogen.sh: Add a call to `gendistlist.sh'.
27862
9035dce4 278632008-09-19 Christian Franke <franke@computer.org>
27864
27865 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
27866 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
27867 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
27868 Export __enable_execute_stack() to modules.
27869 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
27870 New function.
27871
7fd75377 278722008-09-09 Felix Zielcke <fzielcke@z-51.de>
27873
040030b3 27874 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
27875 Sort the list.
27876
278772008-09-09 Felix Zielcke <fzielcke@z-51.de>
27878
27879 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 27880 #include <grub/util/hostdisk.h>.
27881
89d5ffcf 278822008-09-08 Robert Millan <rmh@aybabtu.com>
27883
27884 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
27885 segments when their filesz is zero (grub_file_read() interprets
81a06771 27886 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 27887 Use `lowest_segment' rather than 0 for calculating the current
27888 segment load address.
27889
40da438f 278902008-09-08 Robert Millan <rmh@aybabtu.com>
27891
27892 * util/hostdisk.c (open_device): Replace a grub_util_info() call
27893 with grub_dprintf("hostdisk", ...), as it was so verbose that it
27894 clobbered useful information.
27895
ddbf5556 278962008-09-08 Robert Millan <rmh@aybabtu.com>
27897
27898 * include/grub/util/biosdisk.h: Move to ...
27899 * include/grub/util/hostdisk.h: ... here. Update all users.
27900 * util/biosdisk.c: Move to ...
27901 * util/hostdisk.c: ... here. Update all users.
27902
783d0f48 279032008-09-07 Robert Millan <rmh@aybabtu.com>
27904
27905 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
27906 variables.
27907 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
27908 and length can be stored directly in the `mbi->mmap_addr' and
27909 `mbi->mmap_length' struct fields.
27910
548e2ea5 279112008-09-07 Robert Millan <rmh@aybabtu.com>
27912
27913 * conf/i386.rmk: New file. Provides declaration for building
27914 `cpuid.mod'.
27915 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
27916 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
27917 variables.
27918 Include `conf/i386.mk'.
27919 * conf/i386-efi.rmk: Likewise.
27920 * conf/x86_64-efi.rmk: Likewise.
27921 * conf/i386-coreboot.rmk: Likewise.
27922 * conf/i386-ieee1275.rmk: Likewise.
27923
0ea85a37 279242008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
27925
27926 Based on patch created by Colin D Bennett <colin@gibibit.com>.
27927 Adds optimization support for BGR based modes.
27928
27929 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
27930 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
27931 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27932 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27933 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27934 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27935 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27936 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27937 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27938 (grub_video_i386_vbeblit_index_index): Likewise.
27939 (grub_video_i386_vbeblit_replace_directN): Added.
27940 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
27941 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
27942 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
27943 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
27944 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
27945 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 27946 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 27947 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
27948 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
27949 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
27950 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
27951 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
27952 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
27953
27954 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
27955 (grub_video_i386_vbefill_R8G8B8): Likewise.
27956 (grub_video_i386_vbefill_index): Likewise.
27957 (grub_video_i386_vbefill_direct32): Added.
27958 (grub_video_i386_vbefill_direct24): Likewise.
27959 (grub_video_i386_vbefill_direct16): Likewise.
27960 (grub_video_i386_vbefill_direct8): Likewise.
27961
81a06771 27962 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 27963 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
27964 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
27965 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
27966 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
27967 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 27968
0ea85a37 27969 * video/video.c (grub_video_get_blit_format): Updated to use new
27970 blit formats. Added handling for 16 bit color modes.
81a06771 27971
27972 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 27973 fillers.
27974 (common_blitter): Updated to use new blitters.
27975
27976 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
27977 Removed.
27978 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
27979 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27980 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27981 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27982 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27983 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27984 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27985 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27986 (grub_video_i386_vbeblit_index_index): Likewise.
27987 (grub_video_i386_vbeblit_replace_directN): Added.
27988 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
27989 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
27990 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
27991 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
27992 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
27993 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
27994 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
27995 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
27996 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
27997 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
27998 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
27999 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
28000 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 28001
0ea85a37 28002 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
28003 (grub_video_i386_vbefill_R8G8B8): Likewise.
28004 (grub_video_i386_vbefill_index): Likewise.
28005 (grub_video_i386_vbefill_direct32): Added.
28006 (grub_video_i386_vbefill_direct24): Likewise.
28007 (grub_video_i386_vbefill_direct16): Likewise.
28008 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 28009
0ea85a37 28010 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
28011 types.
81a06771 28012
0ea85a37 28013 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
28014 types.
81a06771 28015
0ea85a37 28016 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
28017 blitter types.
81a06771 28018
0ea85a37 28019 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
28020 types.
28021
e8a83df6 280222008-09-06 Felix Zielcke <fzielcke@z-51.de>
28023
28024 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
28025 RAID level 1.
28026
6bcd8ee5 280272008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 28028
6bcd8ee5 28029 * fs/iso9660.c (grub_iso9660_date): New structure.
28030 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
28031 (grub_iso9660_uuid): New function.
c375ae58 28032
59261157 280332008-09-05 Bean <bean123ch@gmail.com>
28034
28035 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
28036
28037 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
28038 insensitive bit for names in Win32 and Win32 & DOS namespace.
28039
28040 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
28041
28042 * include/grub/types.h (LONG_MAX): Likewise.
28043
58b6645a 280442008-09-04 Felix Zielcke <fzielcke@z-51.de>
28045
4ee55921 28046 * util/getroot.c: Include <config.h>.
28047 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
28048 add support for /dev/md/N devices and handle LVM double dash escaping.
28049
280502008-09-04 Felix Zielcke <fzielcke@z-51.de>
28051
28052 * config.guess: Update to latest version from config git.
28053 * config.sub: Likewise.
58b6645a 28054
9124f65d 280552008-09-03 Robert Millan <rmh@aybabtu.com>
28056
28057 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
28058 `disk->total_sectors'.
28059
81a06771 280602008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 28061
28062 * include/grub/normal.h: Fixed incorrect comment for
28063 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
28064
81a06771 280652008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 28066
28067 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
28068 values with defines.
28069
28070 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
28071 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
28072 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
28073 (GRUB_VBE_MODEATTR_COLOR): Likewise.
28074 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
28075 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
28076 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
28077 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
28078 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
28079 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
28080 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
28081 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
28082 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
28083 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
28084 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
28085 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
28086 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
28087 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
28088 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
28089
93d5cbf8 280902008-08-31 Robert Millan <rmh@aybabtu.com>
28091
28092 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
28093 declaration.
28094 (grub_multiboot): Fix a few warnings.
28095
21751d50 280962008-08-31 Robert Millan <rmh@aybabtu.com>
28097
28098 * loader/i386/pc/multiboot.c: Update comment not to say that
28099 boot_device support is unimplemented.
28100
e27a75c5 281012008-08-31 Robert Millan <rmh@aybabtu.com>
28102
28103 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
28104 or memory map support are unimplemented.
28105
81a06771 281062008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 28107
28108 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
28109
81a06771 281102008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 28111
28112 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
28113 total video memory in 'vbeinfo' output; show color format details for
28114 each video mode.
28115
7c5d8d95 281162008-08-30 Pavel Roskin <proski@gnu.org>
28117
28118 * util/genmoddep.c: Remove for real this time.
28119 * DISTLIST: Remove util/genmoddep.c.
28120
4cebd25a 281212008-08-30 Robert Millan <rmh@aybabtu.com>
28122
28123 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
28124 as required by Multiboot spec (it was already 4-byte aligned, but
28125 only by chance).
28126
b497a269 281272008-08-29 Pavel Roskin <proski@gnu.org>
28128
e3925185 28129 * kern/powerpc/ieee1275/crt0.S: Rename to ...
28130 * kern/powerpc/ieee1275/startup.S: ... this.
28131 * conf/powerpc-ieee1275.rmk: Adjust for the above.
28132 * DISTLIST: Likewise.
28133
b497a269 28134 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
28135 grub/cpu/kernel.h. Add start label for consistency with other
28136 platforms. Add grub_prefix immediately after start. Add jump
28137 to the code after grub_prefix.
28138 * include/grub/powerpc/kernel.h: Provide valid values for
28139 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
28140
6e5a42fe 281412008-08-29 Bean <bean123ch@gmail.com>
28142
28143 * configure.ac: Change host_os to cygwin for mingw.
28144 (asprintf): New check for function.
28145
28146 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
28147 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
28148
28149 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 28150 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 28151 sync, sleep and grub_util_get_disk_size for mingw.
28152
28153 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
28154 to get size in mingw.
28155 (open_device): Use flag O_BINARY if it's defined.
28156 (find_root_device): Add dummy code for mingw.
28157
28158 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
28159 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
28160 (get_scsi_disk_name): Return 0 for mingw.
28161
28162 * util/hostfs.c: #include <grub/util/misc.h>.
28163 (grub_hostfs_open): Use "rb" flag to open file, use
28164 grub_util_get_disk_size to get disk size for mingw.
28165
28166 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
28167 (asprintf): New function if HAVE_ASPRINTF is not set.
28168 (sync): New function for mingw.
28169 (sleep): Likewise.
28170 (grub_util_get_disk_size): Likewise.
28171
ab3f2673 281722008-08-28 Pavel Roskin <proski@gnu.org>
28173
28174 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28175 kern/time.c.
28176
1c282483 281772008-08-28 Robert Millan <rmh@aybabtu.com>
28178
28179 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
28180
678e849c 281812008-08-28 Robert Millan <rmh@aybabtu.com>
28182
28183 Change find_grub_drive() syntax so it doesn't prevent it from
28184 detecting NULL names as errors.
28185
28186 * util/biosdisk.c (find_grub_drive): Move free slot search code
28187 from here ...
28188 (find_free_slot): ... to here.
28189 (read_device_map): Use find_free_slot() to search for free slots.
28190
965c75ca 281912008-08-27 Marco Gerards <marco@gnu.org>
28192
28193 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
28194 (scsi_mod_SOURCES): New variable.
28195 (scsi_mod_CFLAGS): Likewise
28196 (scsi_mod_LDFLAGS): Likewise.
28197
28198 * disk/scsi.c: New file.
28199
28200 * include/grub/scsi.h: Likewise.
28201
28202 * include/grub/scsicmd.h: Likewise.
28203
28204 * disk/ata.c: Include <grub/scsi.h>.
28205 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
28206 instead.
28207 (grub_ata_iterate): Skip ATAPI devices.
28208 (grub_ata_open): Only handle ATAPI devices.
28209 (struct grub_atapi_read): Removed.
28210 (grub_atapi_readsector): Likewise.
28211 (grub_ata_read): No longer handle ATAPI devices.
28212 (grub_ata_write): Likewise.
28213 (grub_atapi_iterate): New function.
28214 (grub_atapi_read): Likewise.
28215 (grub_atapi_write): Likewise.
28216 (grub_atapi_open): Likewise.
28217 (grub_atapi_close): Likewise.
28218 (grub_atapi_dev): New variable.
28219 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
28220 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
28221
28222 * include/grub/disk.h (enum grub_disk_dev_id): Add
28223 `GRUB_DISK_DEVICE_SCSI_ID'.
28224
c07ae501 282252008-08-26 Robert Millan <rmh@aybabtu.com>
28226
28227 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
28228 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
28229 descriptive.
28230
5ed20adc 282312008-08-23 Bean <bean123ch@gmail.com>
28232
28233 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
28234 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
28235 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
28236 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
28237 dm_nv.mod.
28238 (raid5rec_mod_SOURCES): New macro.
28239 (raid5rec_mod_CFLAGS): Likewise.
28240 (raid5rec_mod_LDFLAGS): Likewise.
28241 (raid6rec_mod_SOURCES): Likewise.
28242 (raid6rec_mod_CFLAGS): Likewise.
28243 (raid6rec_mod_LDFLAGS): Likewise.
28244 (mdraid_mod_SOURCES): Likewise.
28245 (mdraid_mod_CFLAGS): Likewise.
28246 (mdraid_mod_LDFLAGS): Likewise.
28247 (dm_nv_mod_SOURCES): Likewise.
28248 (dm_nv_mod_CFLAGS): Likewise.
28249 (dm_nv_mod_LDFLAGS): Likewise.
28250
28251 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
28252 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
28253 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
28254
28255 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
28256 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
28257
28258 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28259
28260 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28261
28262 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28263
28264 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28265
28266 * disk/raid5_recover.c: New file.
28267
28268 * disk/raid6_recover.c: Likewise.
28269
28270 * disk/mdraid_linux.c: Likewise.
28271
28272 * disk/dmraid_nvidia.c: Likewise.
28273
28274 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
28275 ULONG_MAX.
28276
28277 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
28278 calculate the size of raid device.
28279 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
28280 different layout of raid5.
28281 (grub_raid_scan_device): Remove code specific to mdraid.
28282 (grub_raid_list): New variable.
28283 (free_array): New function.
28284 (grub_raid_register): Likewise.
28285 (grub_raid_unregister): Likewise.
28286 (grub_raid_rescan): Likewise.
28287 (GRUB_MOD_INIT): Don't iterate device here.
28288 (GRUB_MOD_FINI): Use free_array to release resource.
28289
28290 * include/grub/raid.h: Remove macro and structure specific to mdraid.
28291 (grub_raid5_recover_func_t): New function variable type.
28292 (grub_raid6_recover_func_t): Likewise.
28293 (grub_raid5_recover_func): New variable.
28294 (grub_raid6_recover_func): Likewise.
28295 (grub_raid_register): New function.
28296 (grub_raid_unregister): Likewise.
28297 (grub_raid_rescan): Likewise.
28298 (grub_raid_block_xor): Likewise.
28299
28300 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
28301 (CMD_CRC): New macro.
28302 (part): Removed.
28303 (read_file): Handle device as well as file.
28304 (cmd_crc): New function.
28305 (fstest): Handle multiple disks.
28306 (options): Remove part, raw and long, add root and diskcount.
28307 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 28308 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 28309 add handling for the new options, support multiple disks.
28310
28311 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
28312
29c18915 283132008-08-23 Bean <bean123ch@gmail.com>
28314
28315 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
28316
28317 * genfslist.sh: Ignore kernel.mod.
28318
28319 * genpartmaplist.sh: Likewise.
28320
8415f261 283212008-08-23 Robert Millan <rmh@aybabtu.com>
28322
28323 * util/getroot.c (find_root_device): Skip anything that starts with
28324 a dot, not just directories. This avoids things like /dev/.tmp.md0.
28325
d5a7dc5b 283262008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 28327
d5a7dc5b 28328 * util/update-grub.in (GRUB_GFXMODE): Export variable.
28329 * util/grub.d/00_header.in: Allow the administrator to change default
28330 gfxmode via ${GRUB_GFXMODE}.
28331
380cfbb4 283322008-08-21 Felix Zielcke <fzielcke@z-51.de>
28333
28334 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
28335
c9baafe7 283362008-08-21 Robert Millan <rmh@aybabtu.com>
28337
28338 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
28339 loader.
28340 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
28341 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
28342
e290bef2 283432008-08-20 Carles Pina i Estany <carles@pina.cat>
28344
28345 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
28346 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
28347
f9dbfc96 283482008-08-19 Robert Millan <rmh@aybabtu.com>
28349
28350 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
28351 (struct grub_virtual_screen): Remove `cursor_color'.
28352 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
28353 initialization.
28354 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
28355
dd6bd6ab 283562008-08-18 Robert Millan <rmh@aybabtu.com>
28357
28358 Unify (identical) linux_normal.c files.
28359 * loader/i386/efi/linux_normal.c: Move from here ...
28360 * loader/linux_normal.c: ... to here. Update all users.
28361 * loader/i386/pc/linux_normal.c: Delete. Update all users.
28362 * loader/i386/ieee1275/linux_normal.c: Likewise.
28363
7f42f83e 283642008-08-18 Robert Millan <rmh@aybabtu.com>
28365
28366 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
28367 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
28368 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
28369 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
28370 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
28371 New macros.
28372 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
28373 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
28374 (GRUB_LINUX_CL_END_OFFSET): ... to here.
28375 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
28376 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
28377 (GRUB_EFI_CL_END_OFFSET): Rename to ...
28378 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
28379 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
28380 Initialize `params->video_cursor_x' and `params->video_cursor_y'
28381 portably using grub_getxy().
28382 Replace `-EFI' with `-bzImage' in boot message.
28383
38487ddb 283842008-08-17 Robert Millan <rmh@aybabtu.com>
28385
28386 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
28387
deceb3ec 283882008-08-17 Robert Millan <rmh@aybabtu.com>
28389
28390 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
28391
28392 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
28393 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
28394 (grub_machine_mmap_iterate): New function declaration.
28395 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
28396 structure.
28397 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
28398 macros.
28399
28400 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
28401 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
28402 Move e820 parsing from here ...
28403 * kern/i386/pc/mmap.c: New file.
28404 (grub_machine_mmap_iterate): ... to here.
28405
28406 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
28407 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
28408 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
28409 (grub_available_iterate): Redeclare to return `void', and redeclare
28410 its hook to use grub_uint64_t as addr and size parameters, and rename
28411 to ...
28412 (grub_machine_mmap_iterate): ... this. Update all users.
28413
28414 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
28415 to make it more readable. Rename to ...
28416 (grub_machine_mmap_iterate): ... this.
28417
28418 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
28419 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
28420 (grub_multiboot): Allocate an extra region after the payload, and fill
28421 it with a Multiboot memory map. Adjust a.out loader to calculate size
28422 with the extra space.
28423 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
28424 with the extra space.
28425
f8aa0f43 284262008-08-17 Carles Pina i Estany <carles@pina.cat>
28427
9807deb9 28428 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 28429
605f5bb6 284302008-08-17 Felix Zielcke <fzielcke@z-51.de>
28431
28432 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
28433 mdate-sh to the list `find' searches for.
28434 * DISTLIST: Regenerated.
28435
210db6c6 284362008-08-16 Felix Zielcke <fzielcke@z-51.de>
28437
28438 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
28439 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 28440 genmoddep.awk, gensymlist.sh.in.
28441 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 28442 * DISTLIST: Regenerated.
48cdbfd4 28443 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 28444
1082b929 284452008-08-16 Robert Millan <rmh@aybabtu.com>
28446
28447 * disk/raid.c (grub_raid_init): Handle/report errors set by
28448 grub_device_iterate().
28449 * disk/lvm.c (grub_lvm_init): Likewise.
28450
42ce5170 284512008-08-15 Bean <bean123ch@gmail.com>
28452
28453 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28454 and datehook.mod.
28455 (datetime_mod_SOURCES): New macro.
28456 (datetime_mod_CFLAGS): Likewise.
28457 (datetime_mod_LDFLAGS): Likewise.
28458 (date_mod_SOURCES): Likewise.
28459 (date_mod_CFLAGS): Likewise.
28460 (date_mod_LDFLAGS): Likewise.
28461 (datehook_mod_SOURCES): Likewise.
28462 (datehook_mod_CFLAGS): Likewise.
28463 (datehook_mod_LDFLAGS): Likewise.
28464
28465 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28466 and datehook.mod.
28467 (datetime_mod_SOURCES): New macro.
28468 (datetime_mod_CFLAGS): Likewise.
28469 (datetime_mod_LDFLAGS): Likewise.
28470 (date_mod_SOURCES): Likewise.
28471 (date_mod_CFLAGS): Likewise.
28472 (date_mod_LDFLAGS): Likewise.
28473 (datehook_mod_SOURCES): Likewise.
28474 (datehook_mod_CFLAGS): Likewise.
28475 (datehook_mod_LDFLAGS): Likewise.
28476
28477 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28478 and datehook.mod.
28479 (datetime_mod_SOURCES): New macro.
28480 (datetime_mod_CFLAGS): Likewise.
28481 (datetime_mod_LDFLAGS): Likewise.
28482 (date_mod_SOURCES): Likewise.
28483 (date_mod_CFLAGS): Likewise.
28484 (date_mod_LDFLAGS): Likewise.
28485 (datehook_mod_SOURCES): Likewise.
28486 (datehook_mod_CFLAGS): Likewise.
28487 (datehook_mod_LDFLAGS): Likewise.
28488
28489 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28490 and datehook.mod.
28491 (datetime_mod_SOURCES): New macro.
28492 (datetime_mod_CFLAGS): Likewise.
28493 (datetime_mod_LDFLAGS): Likewise.
28494 (date_mod_SOURCES): Likewise.
28495 (date_mod_CFLAGS): Likewise.
28496 (date_mod_LDFLAGS): Likewise.
28497 (datehook_mod_SOURCES): Likewise.
28498 (datehook_mod_CFLAGS): Likewise.
28499 (datehook_mod_LDFLAGS): Likewise.
28500
28501 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28502 and datehook.mod.
28503 (datetime_mod_SOURCES): New macro.
28504 (datetime_mod_CFLAGS): Likewise.
28505 (datetime_mod_LDFLAGS): Likewise.
28506 (date_mod_SOURCES): Likewise.
28507 (date_mod_CFLAGS): Likewise.
28508 (date_mod_LDFLAGS): Likewise.
28509 (datehook_mod_SOURCES): Likewise.
28510 (datehook_mod_CFLAGS): Likewise.
28511 (datehook_mod_LDFLAGS): Likewise.
28512
28513 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
28514
28515 * commands/date.c: New file.
28516
28517 * hook/datehook.c: Likewise.
28518
28519 * include/grub/lib/datetime.h: Likewise.
28520
28521 * include/grub/i386/cmos.h: Likewise.
28522
28523 * lib/datetime.c: Likewise.
28524
28525 * lib/i386/datetime.c: Likewise.
28526
28527 * lib/efi/datetime.c: Likewise.
28528
0e9242da 285292008-08-14 Robert Millan <rmh@aybabtu.com>
28530
28531 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
28532 (grub_mkelfimage_SOURCES): New variable.
28533 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
28534
28535 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
28536 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
28537 * conf/powerpc-ieee1275.rmk: Likewise.
28538 * conf/i386-ieee1275.rmk: Likewise.
28539
28540 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
28541 * kern/i386/coreboot/init.c: Likewise.
28542
28543 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
28544 with `<grub/cpu/kernel.h>'.
28545 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
28546 to ...
28547 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
28548 * kern/i386/coreboot/startup.S: Likewise.
28549
28550 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
28551 (GRUB_MOD_GAP): Remove.
28552 * include/grub/powerpc/kernel.h: New file.
28553 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
28554 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
28555 * include/grub/i386/kernel.h: New file.
28556 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
28557 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
28558 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
28559
28560 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
28561 `grub-mkelfimage'.
28562 Use --directory when invoking grub_mkimage.
28563
28564 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
28565 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
28566 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
28567 and GRUB_KERNEL_CPU_PREFIX.
28568
b86408f8 285692008-08-14 Felix Zielcke <fzielcke@z-51.de>
28570
d5e619ca 28571 * include/grub/err.h (grub_err_printf): New function prototype.
28572 * util/misc.c (grub_err_printf): New function.
28573 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
28574 grub_printf.
28575 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 28576
7161f0e0 285772008-08-13 Robert Millan <rmh@aybabtu.com>
28578
28579 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
28580
a1967522 285812008-08-13 Robert Millan <rmh@aybabtu.com>
28582
28583 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
28584 boot entry.
28585
371458b5 285862008-08-12 Robert Millan <rmh@aybabtu.com>
28587
28588 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
28589 of the relocation code from here ...
28590 (grub_multiboot): ... to here.
28591 (forward_relocator, backward_relocator): Move from here ...
28592 * kern/i386/loader.S (grub_multiboot_forward_relocator)
28593 (grub_multiboot_backward_relocator): ... to here.
28594 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
28595 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
28596 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
28597 (grub_multiboot_forward_relocator_end)
28598 (grub_multiboot_backward_relocator)
28599 (grub_multiboot_backward_relocator_end): New variables.
28600
05f9452b 286012008-08-12 Bean <bean123ch@gmail.com>
28602
28603 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
28604
20024ab0 286052008-08-11 Robert Millan <rmh@aybabtu.com>
28606
28607 * kern/i386/linuxbios/startup.S: Move from here ...
28608 * kern/i386/coreboot/startup.S: ... to here.
28609
28610 * kern/i386/linuxbios/init.c: Move from here ...
28611 * kern/i386/coreboot/init.c: ... to here.
28612
28613 * kern/i386/linuxbios/table.c: Move from here ...
28614 * kern/i386/coreboot/mmap.c: ... to here.
28615
28616 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
28617
e352e9cd 286182008-08-11 Robert Millan <rmh@aybabtu.com>
28619
28620 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
28621 errors. Leave it to the upper layer to handle them.
28622
2d05bc6a 286232008-08-09 Christian Franke <franke@computer.org>
28624
28625 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
28626 * conf/common.rmk: Install `grub-pe2elf' only if requested.
28627 Install `grub.d/10_windows' only on Cygwin.
28628 * configure.ac: Add subst of `target_os'.
28629 Check `target_os' also before setting TARGET_OBJ2ELF.
28630 Add `--enable-grub-pe2elf'.
28631
042bd419 286322008-08-08 Robert Millan <rmh@aybabtu.com>
28633
28634 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28635 (grub_last_time): Change type to grub_uint64_t.
28636 (grub_disk_open): Migrate code from to using grub_get_time_ms().
28637 (grub_disk_close): Likewise.
28638
28639 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28640 (run_menu): Migrate code from to using grub_get_time_ms().
28641
28642 * util/misc.c (grub_get_time_ms): New function.
28643
7f280db5 286442008-08-08 Marco Gerards <marco@gnu.org>
28645
28646 * disk/ata.c (grub_ata_regget): Change return type to
28647 `grub_uint8_t'.
28648 (grub_ata_regget2): Likewise.
28649 (grub_ata_wait_status): New function.
28650 (grub_ata_wait_busy): Removed function, updated all users to use
28651 `grub_ata_wait_status'.
28652 (grub_ata_wait_drq): Likewise.
28653 (grub_ata_cmd): New function.
28654 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
28655 error handling.
28656 (grub_ata_pio_write): Add error handling.
28657 (grub_atapi_identify): Likewise.
28658 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
28659 handling.
28660 (grub_ata_identify): Use `grub_ata_cmd' and improve error
28661 handling. Actually use the detected registers. Reorder the
28662 detection logic such that it is easier to read.
28663 (grub_ata_pciinit): Do not assign the same ID to each controller.
28664 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
28665 handling.
28666 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
28667
28668 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
28669
1fbc5e66 286702008-08-08 Marco Gerards <marco@gnu.org>
28671
28672 * NEWS: Update.
28673
819ce6c0 286742008-08-07 Bean <bean123ch@gmail.com>
28675
28676 * include/grub/x86_64/pci.h: New file.
28677
5c41d44d 286782008-08-07 Christian Franke <franke@computer.org>
28679
28680 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
28681 (TIMER2_GATE): Likewise.
28682 (grub_pit_wait): Add enable/disable of the timer2 gate
28683 bit of port 0x61. This fixes a possible infinite loop.
28684
5ebc275d 286852008-08-07 Bean <bean123ch@gmail.com>
28686
28687 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
28688 kern/i386/tsc.c and kern/i386/pit.c.
28689
28690 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
28691 x86_64 platform.
28692
28693 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
28694 <grub/i386/tsc.h>.
28695
28696 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
28697
e383b3d0 286982008-08-07 Bean <bean123ch@gmail.com>
28699
28700 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
28701
28702 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
28703
28704 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
28705 multiple inclusion. Add #include <grub/types.h>.
28706
1cbb58ac 287072008-08-06 Christian Franke <franke@computer.org>
28708
28709 * conf/common.rmk: Build and install `10_windows'.
28710 * util/grub.d/10_windows.in: New script.
28711
337f5a1e 287122008-08-06 Pavel Roskin <proski@gnu.org>
28713
28714 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
28715
057bc4ac 287162008-08-06 Robert Millan <rmh@aybabtu.com>
28717
28718 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
28719 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
28720
2b99f123 287212008-08-06 Bean <bean123ch@gmail.com>
28722
28723 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
28724 (grub_pxefs_fs_int): Remove dummy definition.
28725 (grub_pxefs_open): Use data->block_size to store the current block
28726 size setting.
28727 (grub_pxefs_read): Use block size stored in data->block_size. As the
28728 value of grub_pxe_blksize can be changed after the file is opened.
28729
9f0234cb 287302008-08-06 Bean <bean123ch@gmail.com>
28731
28732 * fs/i386/pc/pxe.c (curr_file): new variable.
28733 (grub_pxefs_open): Simply the handling of pxe file system. Don't
28734 require the dummy internal file system anymore.
28735 (grub_pxefs_read): Removed.
28736 (grub_pxefs_close): Likewise.
28737 (grub_pxefs_fs_int): Likewise.
28738 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
28739 connection when we switch file.
28740 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
28741
a55d42e0 287422008-08-06 Robert Millan <rmh@aybabtu.com>
28743
28744 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
28745 `halt.mod'.
28746 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
28747 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
28748
28749 * kern/i386/halt.c: New file.
28750 * kern/i386/reboot.c: Likewise.
28751 * include/grub/i386/reboot.h: Likewise.
28752 * include/grub/i386/halt.h: Likewise.
28753
28754 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
28755 Include `<grub/cpu/halt.h>'.
28756 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
28757 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
28758
28759 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
28760 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
28761 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
28762 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
28763 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
28764 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
28765 from here ...
28766 * include/grub/i386/at_keyboard.h: ... to here.
28767
24371d26 287682008-08-05 Robert Millan <rmh@aybabtu.com>
28769
28770 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
28771 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
28772 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
28773 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28774 `kern/generic/millisleep.c'.
28775
28776 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
28777 instead of grub_get_rtc().
28778 (grub_tsc_init): Initialize `tsc_boot_time'.
28779
28780 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
28781 (grub_machine_init): Use grub_tsc_init() rather than
28782 installing an RTC-based handler via grub_install_get_time_ms().
28783
28784 * kern/i386/pit.c: New file.
28785 * include/grub/i386/pit.h: Likewise.
28786
9e7007b3 287872008-08-05 Bean <bean123ch@gmail.com>
28788
28789 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
28790
28791 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
28792 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
28793 (pxe_mod_SOURCES): New macro.
28794 (pxe_mod_CFLAGS): Likewise.
28795 (pxe_mod_LDFLAGS): Likewise.
28796 (pxecmd_mod_SOURCES): Likewise.
28797 (pxecmd_mod_CFLAGS): Likewise.
28798 (pxecmd_mod_LDFLAGS): Likewise.
28799
28800 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
28801 (grub_pxe_call): Likewise.
28802
28803 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
28804
28805 * commands/i386/pc/pxecmd.c: New file.
28806
9f0234cb 28807 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 28808
28809 * include/grub/i386/pc/pxe.h: Likewise.
28810
6977d49f 288112008-08-05 Bean <bean123ch@gmail.com>
28812
28813 * util/console.c (grub_console_cur_color): New variable.
28814 (grub_console_standard_color): Likewise.
28815 (grub_console_normal_color): Likewise.
28816 (grub_console_highlight_color): Likewise.
28817 (color_map): Likewise.
28818 (use_color): Likewise.
28819 (NUM_COLORS): New macro.
28820 (grub_ncurses_setcolorstate): Handle color properly.
28821 (grub_ncurses_setcolor): Don't change color here, just remember the
28822 settings, color will be set in grub_ncurses_setcolorstate.
28823 (grub_ncurses_getcolor): New function.
28824 (grub_ncurses_init): Initialize color pairs.
28825 (grub_ncurses_term): New member grub_ncurses_getcolor.
28826
9c2ff3ee 288272008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 28828
9c2ff3ee 28829 High resolution timer support. Implemented for x86 CPUs using TSC.
28830 Extracted generic grub_millisleep() so it's linked in only as needed.
28831 This requires a Pentium compatible CPU; if the RDTSC instruction is
28832 not supported, then it falls back on the generic grub_get_time_ms()
28833 implementation that uses the machine's RTC.
28834
28835 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
28836 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28837 `kern/generic/millisleep.c'.
28838
28839 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
28840 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
28841
28842 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
28843 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
28844
28845 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28846
28847 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28848 `kern/generic/millisleep.c'.
28849
28850 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28851
28852 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
28853
28854 * kern/generic/rtc_get_time_ms.c: New file.
28855
28856 * kern/generic/millisleep.c: New file.
337f5a1e 28857
9c2ff3ee 28858 * kern/misc.c: Don't include
28859 <kern/time.h> anymore.
28860 (grub_millisleep_generic): Removed.
28861
28862 * commands/sleep.c (grub_interruptible_millisleep): Uses
28863 grub_get_time_ms() instead of grub_get_rtc().
28864
28865 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
28866 function.
28867 (grub_cpu_is_cpuid_supported): New inline function.
28868 (grub_cpu_is_tsc_supported): New inline function.
28869 (grub_tsc_init): New function prototype.
28870 (grub_tsc_get_time_ms): New function prototype.
28871
28872 * kern/i386/tsc.c (grub_get_time_ms): New file.
28873
28874 * include/grub/time.h: Include <grub/types.h.
28875 (grub_millisleep_generic): Removed.
28876 (grub_get_time_ms): New prototype.
28877 (grub_install_get_time_ms): New prototype.
28878 (grub_rtc_get_time_ms): New prototype.
28879
28880 * kern/time.c (grub_get_time_ms): New function.
28881 (grub_install_get_time_ms): New function.
28882
28883 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
28884 <grub/time.h> anymore.
28885 (grub_millisleep): Removed.
28886 (grub_machine_init): Call grub_tsc_init.
28887
28888 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
28889 get_time_ms() implementation.
28890
28891 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
28892 (ieee1275_get_time_ms): New function.
28893 (grub_machine_init): Install get_time_ms() implementation.
28894
28895 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
28896 (grub_machine_init): Call grub_tsc_init().
28897 (grub_millisleep): Removed.
bf06a93f 28898
9c2ff3ee 28899 * kern/ieee1275/init.c (grub_millisleep): Removed.
28900 (grub_machine_init): Install ieee1275_get_time_ms()
28901 implementation.
28902 (ieee1275_get_time_ms): New function.
28903 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
28904 real work.
28905
9ec92aaf 289062008-08-05 Marco Gerards <marco@gnu.org>
28907
28908 * disk/ata.c: Include <grub/pci.h>.
28909 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
28910 (grub_ata_initialize): Rewritten.
28911 (grub_ata_device_initialize): New function.
28912
8d23f507 289132008-08-04 Pavel Roskin <proski@gnu.org>
28914
28915 * kern/main.c: Include grub/mm.h.
28916
5e15ee3d 289172008-08-04 Robert Millan <rmh@aybabtu.com>
28918
28919 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
28920 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
28921 corruption problem).
28922
a9053f8f 289232008-08-04 Robert Millan <rmh@aybabtu.com>
28924
28925 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
28926 warnings introduced in my last commit.
28927
dd19c7d7 289282008-08-03 Robert Millan <rmh@aybabtu.com>
28929
28930 Make PCI available on all i386 architectures.
28931
28932 * include/grub/i386/pc/pci.h: Move from here ...
28933 * include/grub/i386/pci.h: ... to here.
28934
28935 * include/grub/i386/pc/pci.h: Remove.
28936 * include/grub/i386/efi/pci.h: Remove.
28937 * include/grub/x86_64/efi/pci.h: Remove.
28938
28939 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
28940 `<grub/cpu/pci.h>'.
28941
28942 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
28943 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
28944 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
28945
28946 * conf/i386-ieee1275.rmk: Likewise.
28947
e14a6184 289482008-08-03 Robert Millan <rmh@aybabtu.com>
28949
28950 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
28951 (grub_console_setcursor): Make it possible to set cursor off.
28952
52768e37 289532008-08-03 Robert Millan <rmh@aybabtu.com>
28954
28955 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
28956 of modules instead of assuming which platform provides what.
28957 * util/update-grub.in: Likewise.
28958
2d52f57f 289592008-08-03 Robert Millan <rmh@aybabtu.com>
28960
28961 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
28962 instead of `grub_install_dos_part' to determine whether a drive needs
28963 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 28964 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 28965
2a5cd121 289662008-08-02 Robert Millan <rmh@aybabtu.com>
28967
28968 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
28969
93808428 289702008-08-02 Robert Millan <rmh@aybabtu.com>
28971
28972 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
28973 of informational grub_dprintf() calls.
28974
3bd0a12a 289752008-08-02 Robert Millan <rmh@aybabtu.com>
28976
28977 * disk/memdisk.c (memdisk_size): Don't initialize.
28978 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
28979
28980 * include/grub/i386/pc/kernel.h
28981 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
28982 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
28983 (grub_memdisk_image_size, grub_arch_memdisk_addr)
28984 (grub_arch_memdisk_size): Remove.
28985
28986 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
28987 field (was only used to transfer a constant). Add `type' field to
28988 support multiple module types.
28989 (grub_module_iterate): New function.
28990
28991 * kern/device.c (grub_device_open): Do not hide error messages
28992 when grub_disk_open() fails. Use grub_print_error() instead.
28993
28994 * kern/i386/pc/init.c (grub_arch_modules_addr)
28995 (grub_arch_memdisk_size): Remove functions.
28996 (grub_arch_modules_addr): Return the module address in high memory
28997 (now that it isn't copied anymore).
28998
28999 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
29000 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
29001 decompression routine (grub_total_module_size already includes that
29002 now). Don't copy modules back to low memory.
29003
29004 * kern/main.c: Include `<grub/mm.h>'.
29005 (grub_load_modules): Split out (and use) ...
29006 (grub_module_iterate): ... this function, which iterates through
29007 module objects and runs a hook.
29008 Comment out grub_mm_init_region() call, as it would cause non-ELF
29009 modules to be overwritten.
29010
29011 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
29012 the memdisk image in its own region, make it part of the module list.
29013 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
29014 (main): Parse --memdisk|-m option, and pass user-provided path as
29015 parameter to generate_image().
29016 (add_segments): Pass `memdisk_path' down to load_modules().
29017 (load_modules): Embed memdisk image in module section when requested.
29018 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
29019 `header.type' instead of `header.offset'.
29020
29021 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
29022 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
29023 (memdisk_mod_LDFLAGS): New variables.
29024 * conf/i386-coreboot.rmk: Likewise.
29025 * conf/i386-ieee1275.rmk: Likewise.
29026
a927cc73 290272008-08-02 Robert Millan <rmh@aybabtu.com>
29028
29029 * loader/i386/pc/multiboot.c (playground, forward_relocator)
29030 (backward_relocator): New variables. Used to allocate and relocate
29031 the payload, respectively.
29032 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 29033 address, install the appropriate relocator code in each bound of
a927cc73 29034 the payload, and set the entry point such that
29035 grub_multiboot_real_boot() will jump to one of them.
29036
29037 * kern/i386/loader.S (grub_multiboot_payload_size)
29038 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
29039 (grub_multiboot_payload_entry_offset): New variables.
29040 (grub_multiboot_real_boot): Set cpu context to what the relocator
29041 expects, and jump to the relocator instead of the payload.
29042
29043 * include/grub/i386/loader.h (grub_multiboot_payload_size)
29044 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
29045 (grub_multiboot_payload_entry_offset): Export.
29046
b15d8a0c 290472008-08-01 Bean <bean123ch@gmail.com>
29048
29049 * normal/menu_entry.c (editor_getline): Don't return the original
29050 string as result, as it will be released by lexer once it has done
29051 using it.
29052
cdfb3d22 290532008-08-01 Robert Millan <rmh@aybabtu.com>
29054
29055 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
29056 within menuentries, not before them.
29057 util/grub.d/10_hurd.in: Likewise.
29058
9175e93d 290592008-08-01 Bean <bean123ch@gmail.com>
29060
29061 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
29062 (bufio_mod_SOURCES): New macro.
29063 (bufio_mod_CFLAGS): Likewise.
29064 (bufio_mod_LDFLAGS): Likewise.
29065
29066 * include/grub/bufio.h: New file.
29067
29068 * io/bufio.c: Likewise.
29069
29070 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
29071 (grub_video_reader_png): Use grub_buffile_open to open file.
29072
29073 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
29074 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
29075
29076 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
29077 (grub_video_reader_tga): Use grub_buffile_open to open file.
29078
29079 * font/manager.c: Include <grub/bufio.h>.
29080 (add_font): Use grub_buffile_open to open file.
29081
3d8383e7 290822008-07-31 Robert Millan <rmh@aybabtu.com>
29083
29084 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
29085 ELF segments, use a macro for arbitrarily accessing any of them instead
29086 of preparing a pointer that allows access to one at a time.
29087 (grub_multiboot_load_elf64): Likewise.
29088
16e641b6 290892008-07-31 Bean <bean123ch@gmail.com>
29090
29091 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
29092 GRUB_KERNEL_MACHINE_DATA_END.
29093
59198b72 290942008-07-30 Robert Millan <rmh@aybabtu.com>
29095
29096 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
29097 Increase from 0x50 to 0x60.
29098 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
29099 use UUIDs to identify the root drive for them. If that's not
29100 possible, abort.
29101 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
29102 check, for cross-disk installs.
29103
ae88bca3 291042008-07-30 Robert Millan <rmh@aybabtu.com>
29105
29106 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
29107 is non-empty, use it to set the `prefix' environment variable instead
29108 of the usual approach.
29109 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
29110 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
29111 environment variable instead of dummy make_install_device().
29112
29113 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
29114 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 29115 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 29116
29117 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
29118 New variable reference.
29119 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
29120 New macro. Defines offset of `grub_prefix' within startup.S (relative
29121 to `start').
29122 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
29123 section within startup.S (relative to `start').
29124 * include/grub/i386/coreboot/kernel.h: Likewise.
29125
29126 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
29127 Overwrite grub_prefix with its contents, at the beginning of the
29128 first segment.
29129 (main): Understand -p|--prefix.
29130
14f41dd1 291312008-07-30 Robert Millan <rmh@aybabtu.com>
29132
29133 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
29134
4ca049a3 291352008-07-30 Robert Millan <rmh@aybabtu.com>
29136
29137 * term/i386/pc/vga_text.c (grub_console_cls): Use
29138 grub_console_gotoxy() to go back to beginning of the screen.
29139 Found by Patrick Georgi <patrick.georgi@coresystems.de>
29140
2921d337 291412008-07-29 Christian Franke <franke@computer.org>
29142
29143 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
29144 Add conversion of emulated mount points on Cygwin.
29145
b609876d 291462008-07-29 Christian Franke <franke@computer.org>
29147
29148 * util/update-grub.in: Add a check for admin
29149 group on Cygwin.
29150 Remove old `grub.cfg.new' before creation.
29151 Add `-f' to `mv' to handle the different filesystem
29152 semantics of Windows.
29153
e93e4679 291542008-07-29 Bean <bean123ch@gmail.com>
29155
29156 * normal/main.c (get_line): Fix buffer overflow bug.
29157
41694fd0 291582008-07-28 Robert Millan <rmh@aybabtu.com>
29159
29160 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
29161 (struct grub_apple_header): New struct. Describes the layout of
29162 the partmap header.
29163 (apple_partition_map_iterate): Check the header magic as well as the
29164 partition magic (which was already being checked).
29165
cfd0b4e6 291662008-07-28 Pavel Roskin <proski@gnu.org>
29167
29168 * genmk.rb: Add a warning to the beginning of the output that
29169 it's a generated file and should not be edited.
29170
93cce016 291712008-07-28 Robert Millan <rmh@aybabtu.com>
29172
29173 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
29174 with the same number are found, just use issue a warning with
29175 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 29176
cd1df915 291772008-07-27 Robert Millan <rmh@aybabtu.com>
29178
29179 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
29180 information.
29181
b70a8427 291822008-07-27 Bean <bean123ch@gmail.com>
29183
29184 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
29185 (grub_fat_find_dir): Ignore case when comparing filename.
29186
8f5e379f 291872008-07-27 Bean <bean123ch@gmail.com>
29188
29189 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
29190 smallino, as it's more descriptive, and i8count can be confused with
29191 the other field count.
29192 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
29193 inode type.
29194
a85cd5a0 291952008-07-27 Bean <bean123ch@gmail.com>
29196
29197 * commands/crc.c: New file.
29198
29199 * lib/crc.c: Likewise.
29200
29201 * include/grub/lib/crc.h: Likewise.
29202
29203 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
29204
29205 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
29206 (hexdump): Move this function to ...
29207
29208 * lib/hexdump.c: ... here.
29209
29210 * include/grub/hexdump.h: Renamed to ...
29211
29212 * include/grub/lib/hexdump.h: ... this.
29213
29214 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
29215
29216 * util/grub-editenv.c: Likewise.
29217
29218 * include/envblk.h: Renamed to ...
29219
29220 * include/lib/envblk.h: ... this.
29221
29222 * util/envblk.c: Renamed to ...
29223
29224 * lib/envblk.c: ... this.
29225
29226 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
29227 lib/hexdump.c.
29228 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
29229 (pkglib_MODULES): Add crc.mod.
29230 (hexdump_mod_SOURCES): Add lib/hexdump.c.
29231 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
29232 (crc_mod_SOURCES): New macro.
29233 (crc_mod_CFLAGS): Likewise.
29234 (crc_mod_LDFLAGS): Likewise.
29235
29236 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
29237
29238 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29239
29240 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29241
29242 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29243
29244 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29245
c298def0 292462008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 29247
29248 * commands/help.c: Include <grub/term.h>.
29249 (TERM_WIDTH): Removed. Updated all users.
29250
cc349fb3 292512008-07-27 Pavel Roskin <proski@gnu.org>
29252
29253 * util/getroot.c (find_root_device): Rephrase a comment to avoid
29254 spurious warnings about a comment within a comment.
29255
9051607e 292562008-07-25 Robert Millan <rmh@aybabtu.com>
29257
29258 * util/getroot.c (find_root_device): Skip devices that match
29259 /dev/dm-[0-9]. This lets the real device be found for any type of
29260 abstraction (LVM, EVMS, RAID..).
29261 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
29262 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
29263 device is found first, find_root_device() will now skip it.
29264
01453bfc 292652008-07-24 Pavel Roskin <proski@gnu.org>
29266
29267 * include/grub/types.h: Use __builtin_bswap32() and
29268 __builtin_bswap64() with gcc 4.3 and newer.
29269
6af9849f 292702008-07-24 Christian Franke <franke@computer.org>
29271
3a0fa256 29272 * util/i386/pc/grub-install.in: If `--debug' is specified,
29273 pass `--verbose' to grub-setup.
29274 Abort script if make_system_path_relative_to_its_root() fails.
29275
7810e747 292762008-07-24 Bean <bean123ch@gmail.com>
29277
29278 * configure.ac: Fixed a bug caused by the previous cygwin patch,
29279 variable `target_platform' should be `platform'.
29280
42290e17 292812008-07-24 Bean <bean123ch@gmail.com>
29282
51cc5193 29283 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 29284 (grub_png_init_fixed_block): New function.
29285 (grub_png_decode_image_data): Handle fixed huffman code compression.
29286
2a8a80e4 292872008-07-24 Bean <bean123ch@gmail.com>
29288
29289 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
29290 (grub_pe2elf_SOURCES): New macro.
29291 (CLEANFILES): Add grub-pe2elf.
29292
29293 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
29294 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
29295 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
29296 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
29297 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
29298 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
29299 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
29300 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
29301 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
29302 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
29303 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
29304 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
29305 (GRUB_PE32_DT_FUNCTION): Likewise.
29306 (GRUB_PE32_REL_I386_DIR32): Likewise.
29307 (GRUB_PE32_REL_I386_REL32): Likewise.
29308 (grub_pe32_symbol): New structure.
29309 (grub_pe32_reloc): Likewise.
29310
29311 * util/grub-pe2elf.c: New file.
29312
29313 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
29314 start symbol in non pc platform.
29315
29316 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
29317
29318 The following patches are from Christian Franke.
29319
29320 * include/grub/dl.h: Remove .previous, gas supports this only
29321 for ELF format.
29322
29323 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
29324 Remove .type, gas supports this only for ELF format.
29325
29326 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
29327 nullbytes in symbol table. This fixes an infinite loop if table is
29328 zero filled.
29329
29330 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
29331 TARGET_IMG_LDFLAGS and EXEEXT.
29332
29333 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
29334 TARGET_IMG_LDFLAGS_AC.
29335 (grub_CHECK_STACK_ARG_PROBE): New function.
29336
29337 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
29338
29339 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
29340
29341 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
29342 to set TARGET_IMG_LD* accordingly.
29343 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
29344 Add call to grub_CHECK_STACK_ARG_PROBE.
29345 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
29346
29347 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
29348
29349 * genmk.rb: Add EXEEXT to CLEANFILES.
29350
12ccdb75 293512008-07-23 Robert Millan <rmh@aybabtu.com>
29352
29353 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
29354 define the codes for arrows and lines used for the menu).
29355 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
29356 as well.
29357
29358 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
29359 fonts, because the latter are too slow.
29360
18eeaf04 293612008-07-21 Bean <bean123ch@gmail.com>
29362
29363 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
29364 a20. Run keyboard test last, as it will cause macbook to halt.
29365
b095e2ad 293662008-07-18 Pavel Roskin <proski@gnu.org>
29367
29368 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
29369 load foreign architecture modules correctly anyway. Keep
29370 support for loading host architecture modules, whether we
29371 compile them or not.
29372
737feb35 293732008-07-17 Pavel Roskin <proski@gnu.org>
29374
3f4ce737 29375 * configure.ac: Use -m32 or -m64 regardless of whether we had to
29376 change target_cpu. The compiler default can mismatch target_cpu
29377 in any case.
29378
4ad2d049 29379 * disk/efi/efidisk.c: Fix format warnings on x86_64.
29380 * kern/efi/efi.c: Likewise.
29381
f6130a12 29382 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
29383 target compiler is functional.
29384 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
29385 are set up.
29386
58393a2d 29387 * configure.ac: Default to efi platform for x86_64-apple. Allow
29388 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
29389 adjustments from the rest, only do them if target is not
29390 explicitly given. Merge other adjustments with the final sanity
29391 check. Remove an extraneous check for supported CPU. Be
29392 specific which CPU and which platform is not supported.
29393
737feb35 29394 * configure.ac: Default to pc platform for x86_64.
29395
546f966a 293962008-07-17 Robert Millan <rmh@aybabtu.com>
29397
29398 Partial LinuxBIOS -> Coreboot rename.
29399
29400 * conf/i386-linuxbios.rmk: Renamed to ...
29401 * conf/i386-coreboot.rmk: ... this.
29402 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
29403 * configure.ac: Accept "coreboot" as input platform (but maintain
29404 compatibility with "linuxbios").
29405 * include/grub/i386/linuxbios: Renamed to ...
29406 * include/grub/i386/coreboot: ... this.
29407
20011694 294082008-07-17 Bean <bean123ch@gmail.com>
29409
29410 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 29411 (appleldr_mod_SOURCE): New variable.
20011694 29412 (appleldr_mod_CFLAGS): Likewise.
29413 (appleldr_mod_LDFLAGS): Likewise.
29414 (pci_mod_SOURCES): Likewise.
29415 (pci_mod_CFLAGS): Likewise.
29416 (pci_mod_LDFLAGS): Likewise.
29417 (lspci_mod_SOURCES): Likewise.
29418 (lspci_mod_CFLAGS): Likewise.
29419 (lspci_mod_LDFLAGS): Likewise.
29420
29421 * conf/x86_64-efi.rmk: New file.
29422
29423 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
29424 macro.
29425 (grub_efidisk_write): Likewise.
29426
29427 * include/efi/api.h (efi_call_0): New macro.
29428 (efi_call_1): Likewise.
29429 (efi_call_2): Likewise.
29430 (efi_call_3): Likewise.
29431 (efi_call_4): Likewise.
29432 (efi_call_5): Likewise.
29433 (efi_call_6): Likewise.
29434
29435 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
29436 grub_rescue_cmd_chainloader.
29437
29438 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
29439 (grub_pe32_optional_header): Change some fields based on i386 or
29440 x86_64 platform.
29441 (GRUB_PE32_PE32_MAGIC): Likewise.
29442
29443 * include/grub/efi/uga_draw.h: New file.
29444
29445 * include/grub/elf.h (STN_ABS): New constant.
29446 (R_X86_64_NONE): Relocation constant for x86_64.
29447 (R_X86_64_64): Likewise.
29448 (R_X86_64_PC32): Likewise.
29449 (R_X86_64_GOT32): Likewise.
29450 (R_X86_64_PLT32): Likewise.
29451 (R_X86_64_COPY): Likewise.
29452 (R_X86_64_GLOB_DAT): Likewise.
29453 (R_X86_64_JUMP_SLOT): Likewise.
29454 (R_X86_64_RELATIVE): Likewise.
29455 (R_X86_64_GOTPCREL): Likewise.
29456 (R_X86_64_32): Likewise.
29457 (R_X86_64_32S): Likewise.
29458 (R_X86_64_16): Likewise.
29459 (R_X86_64_PC16): Likewise.
29460 (R_X86_64_8): Likewise.
29461 (R_X86_64_PC8): Likewise.
29462
29463 * include/grub/i386/efi/pci.h: New file.
29464
29465 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
29466 Change it value based on platform.
29467 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
29468 (GRUB_E820_RAM): Likewise.
29469 (GRUB_E820_RESERVED): Likewise.
29470 (GRUB_E820_ACPI): Likewise.
29471 (GRUB_E820_NVS): Likewise.
29472 (GRUB_E820_EXEC_CODE): Likewise.
29473 (GRUB_E820_MAX_ENTRY): Likewise.
29474 (grub_e820_mmap): New structure.
29475 (linux_kernel_header): Change the efi field according to different
29476 kernel version, also field from linux_kernel_header.
29477
29478 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
29479
29480 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
29481 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
29482 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
29483 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
29484 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
29485 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
29486 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
29487 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
29488 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
29489 (GRUB_PCI_ADDR_IO_MASK): Likewise.
29490
29491 * include/grub/x86_64/efi/kernel.h: New file.
29492
29493 * include/grub/x86_64/efi/loader.h: Likewise.
29494
29495 * include/grub/x86_64/efi/machine.h: Likewise.
29496
29497 * include/grub/x86_64/efi/pci.h: Likewise.
29498
29499 * include/grub/x86_64/efi/time.h: Likewise.
29500
29501 * include/grub/x86_64/linux.h: Likewise.
29502
29503 * include/grub/x86_64/setjmp.h: Likewise.
29504
29505 * include/grub/x86_64/time.h: Likewise.
29506
29507 * include/grub/x86_64/types.h: Likewise.
29508
29509 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
29510 GRUB_TARGET_SIZEOF_VOID_P.
29511
29512 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
29513 (grub_efi_locate_handle): Likewise.
29514 (grub_efi_open_protocol): Likewise.
29515 (grub_efi_set_text_mode): Likewise.
29516 (grub_efi_stall): Likewise.
29517 (grub_exit): Likewise.
29518 (grub_reboot): Likewise.
29519 (grub_halt): Likewise.
29520 (grub_efi_exit_boot_services): Likewise.
29521 (grub_get_rtc): Likewise.
29522
29523 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
29524 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
29525 (grub_efi_allocate_pages): Wrap efi calls.
29526 (grub_efi_free_pages): Wrap efi calls.
29527 (grub_efi_get_memory_map): Wrap efi calls.
29528
29529 * kern/x86_64/dl.c: New file.
29530
29531 * kern/x86_64/efi/callwrap.S: Likewise.
29532
29533 * kern/x86_64/efi/startup.S: Likewise.
29534
29535 * loader/efi/appleloader.c: Likewise.
29536
29537 * loader/efi/chainloader.c (cmdline): New variable.
29538 (grub_chainloader_unload): Wrap efi calls.
29539 (grub_chainloader_boot): Likewise.
29540 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
29541 command line.
29542
29543 * loader/efi/chainloader_normal.c (chainloader_command):
29544 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
29545 command line.
29546
29547 * loader/i386/efi/linux.c (allocate_pages): Change allocation
29548 method.
29549 (grub_e820_add_region): New function.
29550 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
29551 booting.
29552 (grub_find_video_card): New function.
29553 (grub_linux_setup_video): New function.
29554 (grub_rescue_cmd_linux): Probe for video information.
29555
29556 * normal/x86_64/setjmp.S: New file.
29557
29558 * term/efi/console.c (map_char): New function.
29559 (grub_console_putchar): Map unicode char.
29560 (grub_console_checkkey): Wrap efi calls.
29561 (grub_console_getkey): Likewise.
29562 (grub_console_getwh): Likewise.
29563 (grub_console_gotoxy): Likewise.
29564 (grub_console_cls): Likewise.
29565 (grub_console_setcolorstate): Likewise.
29566 (grub_console_setcursor): Likewise.
29567
29568 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
29569
59652a20 295702008-07-16 Pavel Roskin <proski@gnu.org>
29571
ef294055 29572 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
29573 format strings.
29574
59652a20 29575 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
29576 pointer, not an integer. This fixes a warning and prevents
29577 precision loss on 64-bit systems.
29578 (relocate_addresses): Remove unneeded cast.
29579
afc3b5d7 295802008-07-15 Pavel Roskin <proski@gnu.org>
29581
506b2b3e 29582 * kern/i386/ieee1275/init.c: Include grub/cache.h.
29583
62ead89c 29584 * term/ieee1275/ofconsole.c: Disable code unused on i386.
29585
c4cd51d7 29586 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
29587 Fix comparison between signed and unsigned.
29588
0d3d8f28 29589 * include/grub/i386/ieee1275/console.h: Declare
29590 grub_console_init() and grub_console_fini().
29591
8804b286 29592 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
29593 It's empty and unused.
29594
ee01cf35 29595 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
29596 beginning to avoid warnings with some compilers.
29597
afc3b5d7 29598 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
29599 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
29600
e4e8eaa5 296012008-07-14 Pavel Roskin <proski@gnu.org>
29602
407aceb4 29603 * kern/env.c (grub_register_variable_hook): Don't copy empty
29604 string, it leaks memory. Pass "" to grub_env_set(), it should
29605 handle constant strings.
29606
e4e8eaa5 29607 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
29608 * commands/cmp.c (grub_cmd_cmp): Likewise.
29609 * kern/dl.c (grub_dl_flush_cache): Likewise.
29610 (grub_dl_load_core): Likewise.
29611 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
29612 (grub_elf64_load_phdrs): Likewise.
29613
d4e2dad3 296142008-07-13 Pavel Roskin <proski@gnu.org>
29615
29616 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
29617 between signed and unsigned.
29618 (LzmaEnc_Finish): Fix warning about an unused parameter.
29619
aa24b516 296202008-07-13 Bean <bean123ch@gmail.com>
29621
29622 * Makefile.in (enable_lzo): New rule.
29623
29624 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
29625
29626 * configure.ac (ENABLE_LZO): New option --enable-lzo.
29627
29628 * boot/i386/pc/lnxboot.S: #include <config.h>.
29629
29630 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 29631 its value according to the compression algorithm used, lzo or lzma.
aa24b516 29632
29633 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
29634 compression algorithm according to configure macro.
29635
29636 * kern/i386/pc/startup.S (codestart): Likewise.
29637
29638 * kern/i386/pc/lzma_decode.S: New file.
29639
29640 * include/grub/lib/LzFind.h: Likewise.
29641
29642 * include/grub/lib/LzHash.h: Likewise.
29643
29644 * include/grub/lib/LzmaDec.h: Likewise.
29645
29646 * include/grub/lib/LzmaEnc.h: Likewise.
29647
29648 * include/grub/lib/LzmaTypes.h: Likewise.
29649
29650 * lib/LzFind.c: Likewise.
29651
29652 * lib/LzmaDec.c: Likewise.
29653
29654 * lib/LzmaEnc.c: Likewise.
29655
4ae821ac 296562008-07-13 Bean <bean123ch@gmail.com>
29657
29658 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
29659 (grub_ext4_extent_header): New structure.
29660 (grub_ext4_extent): Likewise.
29661 (grub_ext4_extent_idx): Likewise.
29662 (grub_ext4_find_leaf): New function.
29663 (grub_ext2_read_block): Handle extents.
29664
9a745147 296652008-07-12 Robert Millan <rmh@aybabtu.com>
29666
29667 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
29668
d49a4cf6 296692008-07-11 Robert Millan <rmh@aybabtu.com>
29670
29671 * util/grub.d/40_custom.in: New file. Example on how to add custom
29672 entries to /etc/grub.d.
29673 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
29674 40_custom (implicitly, by merging all the grub.d rules).
29675
947414b4 296762008-07-11 Pavel Roskin <proski@gnu.org>
29677
0059cf6f 29678 * commands/read.c (grub_getline): Fix invalid memory access.
29679 Don't add newline to the variable value.
29680
947414b4 29681 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
29682 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
29683 (serial_hw_get_port): Check validity of the port number.
29684 (grub_cmd_serial): Check return value of serial_hw_get_port().
29685
62a02d00 296862008-07-07 Pavel Roskin <proski@gnu.org>
29687
29688 * boot/i386/pc/diskboot.S (notification_string): Replace
29689 "Loading kernel" with just "loading". This is shorter, less
29690 confusing and saves a few bytes for possible future changes.
29691
3e5581b0 296922008-07-05 Pavel Roskin <proski@gnu.org>
29693
ea387a48 29694 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
29695 size for ATAPI devices, they are undefined. Output sector
29696 number in decimal form.
29697
3e5581b0 29698 * disk/ata.c: Use named constants for status bits.
29699
fdecb8fd 297002008-07-04 Pavel Roskin <proski@gnu.org>
29701
bcd35b90 29702 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
29703 grub_addr_t before casting it to the void pointer to fix a
29704 warning. Non-addressable regions are discarded earlier.
29705 (grub_arch_modules_addr): Cast _end to grub_addr_t.
29706 * kern/i386/linuxbios/table.c: Include grub/misc.h.
29707 (check_signature): Don't shadow table_header.
29708 (grub_linuxbios_table_iterate): Cast numeric constants to
29709 grub_linuxbios_table_header_t.
29710 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
29711 grub_stop().
29712
af58ab3d 29713 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
29714 prevent warnings.
29715
1759aa57 29716 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
29717 pointer, which can cause warnings. Support 64-bit addresses.
29718
fdecb8fd 29719 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
29720 of sizeof(long). This fixes PowerPC image generation on x86_64.
29721
8516d2a8 297222008-07-04 Robert Millan <rmh@aybabtu.com>
29723
29724 This fixes a performance issue when pc & gpt partmap iterators
29725 didn't abort iteration even after our hook found what it was
fe987087 29726 looking for (often causing expensive probes of non-existent drives).
8516d2a8 29727
29728 Some callers relied on previous buggy behaviour, since they would
34c44600 29729 raise an error when their own hooks caused early abortion of its
8516d2a8 29730 iteration.
29731
29732 * kern/device.c (grub_device_open): Improve error message.
29733 * disk/lvm.c (grub_lvm_open): Likewise.
29734 * disk/raid.c (grub_raid_open): Likewise.
29735
29736 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
29737 when hook requests it, independently of grub_errno.
29738 (pc_partition_map_probe): Do not fail when find_func() caused
29739 early abortion of pc_partition_map_iterate().
29740
29741 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
29742 when hook requests it, independently of grub_errno.
29743 (gpt_partition_map_probe): Do not fail when find_func() caused
29744 early abortion of gpt_partition_map_iterate().
29745
29746 * kern/partition.c (grub_partition_iterate): Abort parent iteration
29747 when hook requests it, independently of grub_errno. Do not fail when
29748 part_map_iterate_hook() caused early abortion of p->iterate().
29749
29750 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
29751 when grub_partition_iterate() returned with non-zero.
29752
277d0de9 297532008-07-03 Pavel Roskin <proski@gnu.org>
29754
29755 * disk/ata.c (grub_ata_pio_write): Check status before writing,
29756 like we do in grub_ata_pio_read().
29757 (grub_ata_readwrite): Always write individual sectors. Fix the
29758 sector count for the remainder.
29759 (grub_ata_write): Enable writing to ATA devices. Correctly
29760 report error for ATAPI devices.
29761
d4c9b428 297622008-07-02 Pavel Roskin <proski@gnu.org>
29763
e43fc690 29764 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
29765 warning.
29766
f707af42 29767 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
29768 for every read sector, we already increment it for the whole
29769 batch. This fixes reading more than 256 sectors at once.
29770
11e16b15 29771 * util/grub-editenv.c (cmd_info): Cast argument to long
29772 explicitly. ptrdiff_t reduces to int on i386.
29773
cbabfdd4 29774 * util/grub-editenv.c (main): Be specific which parameter is
29775 missing.
29776
b8fbce0a 29777 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
29778 (memdisk): Make memdisk_orig_addr a pointer.
29779
c9c8e606 29780 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
29781 for file offsets, use grub_off_t instead. Fix printf format
29782 warnings.
29783
ca62e598 29784 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
29785 there. Real unexpected warnings should not drown in the noise
29786 about known problems.
29787
ce8d1766 29788 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
29789 grub_disk_addr_t for memory addresses.
29790
00c7a56a 29791 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
29792 explicitly to fix a warning.
29793
08d3ef09 29794 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
29795
cb71ba20 29796 * Makefile.in (MODULE_LDFLAGS): New variable.
29797 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
29798 the linker accepts --build-id=none.
29799 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
29800 MODULE_LDFLAGS.
29801 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
29802
d4c9b428 29803 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
29804 those in Linux XFS code. Provide a way to access 64-bit parent
29805 inode.
29806 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
29807 the end of struct grub_xfs_dir_header.
29808
d4156eee 298092008-07-02 Bean <bean123ch@gmail.com>
29810
29811 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
29812 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29813 and GRUB_IEEE1275_FLAG_NO_ANSI.
29814
29815 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
29816 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29817 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
29818
29819 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
29820 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
29821
29822 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
29823 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
29824
29825 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
29826 esc sequence on non ANSI terminal.
29827 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
29828
29829 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
29830 beginning of file.
29831
2270f77b 298322008-07-02 Bean <bean123ch@gmail.com>
29833
29834 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
29835 (grub_editenv_SOURCES): New variable.
29836 (pkglib_MODULES): Add loadenv.mod.
29837 (loadenv_mod_SOURCES): New variable.
29838 (loadenv_mod_CFLAGS): Likewise.
29839 (loadenv_mod_LDFLAGS): Likewise.
29840
29841 * include/grub/envblk.h: New file.
29842
29843 * util/envblk.c: New file.
29844
29845 * util/grub-editenv.c: New file.
29846
29847 * commands/loadenv.c: New file.
29848
0e9e51ec 298492008-07-01 Pavel Roskin <proski@gnu.org>
29850
d89b7634 29851 * include/multiboot2.h (struct multiboot_tag_module): Use char,
29852 not unsigned char. This fixes warnings and is consistent with
29853 other tags.
29854
bf1835b1 29855 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
29856
8222a04b 29857 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
29858
6a42d99d 29859 * term/tparm.c (analyze): Always set *popcount.
29860
10b159d1 29861 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
29862 cast to fix a warning.
29863
b8789f6c 29864 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
29865 cast to suppress a warning.
29866
29d7e38a 29867 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
29868 grub_fshelp_read_file() expects.
29869
f341f669 29870 * fs/fat.c: Fix UUID calculation on big-endian systems. We
29871 write uuid as a 32-bit value in CPU byte order, so declare and
29872 use it as such.
29873
0e9e51ec 29874 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
29875 long if the format specifier expects it.
29876 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
29877 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29878 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
29879 long to fix a warning.
29880 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
29881 grub_dprintf() arguments to fix warnings.
29882
3aefa857 298832008-06-30 Pavel Roskin <proski@gnu.org>
29884
56c7668b 29885 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
29886 install_bsd_part immediately before core.img is embedded or
29887 modified on disk. This fixes core.img verification if core.img
29888 cannot be embedded.
29889
3aefa857 29890 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
29891 core_path to calculate the blocklist.
29892 Patch from Javier Martín <lordhabbit@gmail.com>
29893
5444088d 298942008-06-29 Robert Millan <rmh@aybabtu.com>
29895
29896 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
29897 block to disk block.
29898 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
29899 Patch from Niels Böhm <bitbucket@arcor.de>
29900
674835c8 299012008-06-29 Robert Millan <rmh@aybabtu.com>
29902
29903 * util/update-grub_lib.in (font_path): Search for fonts in
29904 /boot/grub first, which is more likely to be readable (we aren't
29905 deciding where fonts live, just looking for them).
29906
f527dbc8 299072008-06-26 Pavel Roskin <proski@gnu.org>
29908
6c2d8df6 29909 * util/biosdisk.c (read_device_map): Don't leave dead map
29910 entries for devices failing stat() check.
29911
f527dbc8 29912 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
29913 core_path_dev for the core.img path on the target device.
29914
aebe3d13 299152008-06-26 Robert Millan <rmh@aybabtu.com>
29916
29917 * disk/fs_uuid.c: New file.
29918 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
29919 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
29920 (fs_uuid_mod_LDFLAGS): New variables.
29921 * include/grub/disk.h (grub_disk_dev_id): Add
29922 `GRUB_DISK_DEVICE_UUID_ID'.
29923 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
29924 implement iterate().
29925
37aaf354 299262008-06-26 Robert Millan <rmh@aybabtu.com>
29927
29928 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
29929 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
29930 Linux image includes no initrd.
29931
25ff262a 299322008-06-21 Javier Martín <lordhabbit@gmail.com>
29933
29934 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
29935 call to resolve the core image location that effectively appended the
29936 name twice.
29937
76a2bd44 299382008-06-21 Robert Millan <rmh@aybabtu.com>
29939
29940 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
29941 call from here ...
29942
29943 * util/grub.d/10_hurd.in: ... to here ...
29944 * util/grub.d/10_linux.in: ... and here.
29945
650e1c79 299462008-06-19 Robert Millan <rmh@aybabtu.com>
29947
fe987087 29948 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 29949 after it has been set by grub_machine_set_prefix().
29950
6ce63911 299512008-06-19 Robert Millan <rmh@aybabtu.com>
29952
29953 * commands/search.c (search_label, search_fs_uuid, search_file): Print
29954 search result when not saving to variable, not the other way around.
29955 When saving to variable, abort iteration as soon as a match is found.
29956
73940cec 299572008-06-19 Robert Millan <rmh@aybabtu.com>
29958
29959 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
29960 check for partition that provides /boot/grub. Its logic is flawed,
29961 as it prevents prepare_grub_to_access_device() from being called
29962 multiple times.
29963
3c62a39d 299642008-06-19 Robert Millan <rmh@aybabtu.com>
29965
29966 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
29967 "insmod" command directly when abstraction modules are needed,
fe987087 29968 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 29969 since it had already been processed).
29970
47395a42 299712008-06-19 Pavel Roskin <proski@gnu.org>
29972
29973 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
29974 changed. This is needed in case GRUB_LIBDIR changes.
29975 * conf/i386-ieee1275.rmk: Likewise.
29976 * conf/i386-linuxbios.rmk: Likewise.
29977 * conf/i386-pc.rmk: Likewise.
29978 * conf/powerpc-ieee1275.rmk: Likewise.
29979
a145ac2d 299802008-06-18 Pavel Roskin <proski@gnu.org>
29981
29982 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
29983 kernel_elf_symlist.c to symlist.c for consistency with other
29984 architectures. Update all users.
29985 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
29986
7847c51e 299872008-06-18 Robert Millan <rmh@aybabtu.com>
29988
29989 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
29990 it in prefix.
29991
29992 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
29993 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
29994 a RAID device, run setup() for all members independently on whether
29995 LVM abstraction is being used.
29996 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
29997 If grub-mkimage has set `*install_dos_part == -2', don't override this
29998 value.
29999 Perform *install_dos_part adjustments independently on whether
30000 we're embedding or not.
30001 Clarify error message when image is too big for embedding.
30002 Remove duplicate *install_dos_part stanza.
30003
b23e5644 300042008-06-17 Robert Millan <rmh@aybabtu.com>
30005
30006 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
30007 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
30008 variables.
30009 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
30010 values in grub_ofconsole_normal_color and
30011 grub_ofconsole_highlight_color (they're not directly related to
30012 background and foreground).
30013 (grub_ofconsole_setcolorstate): Extract background and foreground
30014 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
30015
0aac2f79 300162008-06-17 Robert Millan <rmh@aybabtu.com>
30017
30018 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
30019 /boot/grub for the check in last commit, not /boot (they could be
30020 different partitions).
30021
3cca7ef3 300222008-06-16 Robert Millan <rmh@aybabtu.com>
30023
30024 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
30025 asked to setup access for the same partition that provides /boot,
30026 don't bother using UUIDs since our root already has the value we
30027 want.
30028
347396d8 300292008-06-16 Robert Millan <rmh@aybabtu.com>
30030
30031 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
30032 I2O devices.
30033 Patch from Sven Mueller <sven@debian.org>.
30034
991477f8 300352008-06-16 Robert Millan <rmh@aybabtu.com>
30036
30037 * util/update-grub.in: Check for $EUID instead of $UID.
30038 Reported by Vincent Zweije.
30039
d31a32a1 300402008-06-16 Bean <bean123ch@gmail.com>
30041
fe987087 30042 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 30043 (grub_ext2_read_block): Likewise.
30044 (grub_ext2_read_inode): Likewise.
30045 (grub_ext2_mount): Likewise.
30046 (grub_ext2_close): Likewise.
30047 (grub_ext3_get_journal): Removed.
30048
fe987087 30049 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 30050 (grub_reiserfs_read_symlink): Likewise.
30051 (grub_reiserfs_mount): Likewise.
30052 (grub_reiserfs_open): Likewise.
30053 (grub_reiserfs_read): Likewise.
30054 (grub_reiserfs_close): Likewise.
30055 (grub_reiserfs_get_journal): Removed.
30056
30057 * fs/fshelp.c (grub_fshelp_read): Removed.
30058 (grub_fshelp_map_block): Likewise.
30059
30060 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
30061 (grub_fshelp_journal): Likewise.
30062 (grub_fshelp_read): Likewise.
30063 (grub_fshelp_map_block): Likewise.
30064
3540a760 300652008-06-16 Pavel Roskin <proski@gnu.org>
30066
30067 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
30068 floating point anymore.
30069 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
30070
95614c84 300712008-06-15 Pavel Roskin <proski@gnu.org>
30072
30073 * commands/ls.c (grub_ls_list_files): Use integer calculations
30074 for human readable format, avoid floating point use.
30075 * kern/misc.c (grub_ftoa): Remove.
30076 (grub_vsprintf): Remove floating point support.
30077
50465dd6 300782008-06-15 Robert Millan <rmh@aybabtu.com>
30079
fe6b695a 30080 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 30081 devices.
30082 Reported by Max Vozeler.
30083
a9207284 300842008-06-15 Robert Millan <rmh@aybabtu.com>
30085
30086 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
30087 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
30088 skipped later.
30089 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
30090 the beginning of the prefix.
30091
30092 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
30093 It is assumed that if we have a memdisk, grub-mkimage has set
30094 grub_prefix to include the "(memdisk)" drive in it.
30095
a7cbd45a 300962008-06-15 Robert Millan <rmh@aybabtu.com>
30097
30098 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
30099 Initialize keyboard controller after registering the terminal, so that
30100 grub_printf() can be called from grub_keyboard_controller_init().
30101
21cf716a 301022008-06-15 Robert Millan <rmh@aybabtu.com>
30103
30104 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
30105 extent-btree which is written as big endian on disk.
30106 Reported by Alain Greppin <al@chilibi.org>.
30107
23a64d8e 301082008-06-14 Robert Millan <rmh@aybabtu.com>
30109
30110 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
30111 * util/i386/pc/grub-install.in (modules): Likewise.
30112
d687651c 301132008-06-13 Pavel Roskin <proski@gnu.org>
30114
30115 * commands/ls.c (grub_ls_list_files): Fix format warnings.
30116
dfe9ddd4 301172008-06-13 Bean <bean123ch@gmail.com>
30118
30119 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
30120
30121 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
30122
30123 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
30124 to indicate sparse block.
30125
16ae7781 301262008-06-12 Pavel Roskin <proski@gnu.org>
30127
e6d1a308 30128 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
30129 number, grub_fshelp_read() does it for us.
30130
16ae7781 30131 * fs/fshelp.c (grub_fshelp_read): New function. Implement
30132 linear disk read with journal translation.
30133 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
30134 * include/grub/fshelp.h: Declare grub_fshelp_read().
30135
40fd3a2b 301362008-06-09 Pavel Roskin <proski@gnu.org>
30137
30138 * fs/minix.c (grub_minix_mount): Handle error reading
30139 superblock.
30140
f5679726 301412008-06-08 Robert Millan <rmh@aybabtu.com>
30142
30143 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
30144 don't append the RAID prefix afterwards.
30145 Reported by Clint Adams.
30146
ce525529 301472008-06-08 Robert Millan <rmh@aybabtu.com>
30148
30149 Based on description from Pavel:
30150 * kern/disk.c (grub_disk_check_range): Rename to ...
30151 (grub_disk_adjust_range): ... this. Add a comment explaining the
30152 tasks performed by this function.
30153
ad4936a0 301542008-06-08 Robert Millan <rmh@aybabtu.com>
30155
30156 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
30157 `num_serial' (for consistency with other variables).
30158 (struct grub_ntfs_data): Add `uuid' member.
30159 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
30160 (grub_ntfs_uuid): New function.
30161 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
30162
dc20b0f9 301632008-06-07 Pavel Roskin <proski@gnu.org>
30164
30165 * util/biosdisk.c (open_device): Revert last change to the
30166 function, it broke installation. The sector needs to be
30167 different dependent on which device is opened.
30168
c5e3cfba 301692008-06-06 Robert Millan <rmh@aybabtu.com>
30170
30171 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
30172 rest of GRUB, and breakage doesn't happen if its value were modified.
30173
30174 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
30175 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
30176 a constant (same value).
30177 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
30178 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
30179
26a1f8c4 301802008-06-06 Robert Millan <rmh@aybabtu.com>
30181
30182 * util/biosdisk.c (open_device): Do not modify sector offset when
30183 accessing a partition. kern/disk.c already handles this for us.
30184
25d6b327 301852008-06-06 Robert Millan <rmh@aybabtu.com>
30186
30187 * util/grub-emu.c (grub_machine_init): Move code in this function from
30188 here ...
30189 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
30190 segfault in case grub_printf() is called).
30191
30192 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
30193 grub_probe. Update all users not to explicitly add it again.
30194 (grub_device): New variable; contains corresponding device for grubdir.
30195 (fs_module, partmap_module, devabstraction_module): Pass
30196 `--device ${grub_device}' to grub_probe to avoid traversing /dev
30197 every time.
30198
9ece62fb 301992008-06-05 Robert Millan <rmh@aybabtu.com>
30200
30201 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
30202 is found, print it (same layout as with labels).
30203
1ad36d37 302042008-06-04 Robert Millan <rmh@aybabtu.com>
30205
30206 * util/biosdisk.c (get_drive): Rename to ...
30207 (find_grub_drive): ... this. Update all users.
30208
30209 (get_os_disk): Rename to ...
30210 (convert_system_partition_to_system_disk): ... this. Update all users.
30211
30212 (find_drive): Rename to ...
30213 (find_system_device): ... this. Update all users.
30214
e6a30859 302152008-06-04 Robert Millan <rmh@aybabtu.com>
30216
30217 * util/biosdisk.c (get_os_disk): Handle IDA devices.
30218 * util/grub-mkdevicemap.c (get_mmc_disk_name)
30219 (make_device_map): Likewise.
30220
00c108a4 302212008-06-01 Robert Millan <rmh@aybabtu.com>
30222
30223 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
30224 before dereferencing it.
30225
30226 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
30227 union with fat12/fat16-specific ones. Add some new fields, including
30228 `num_serial' for both versions.
30229 (struct grub_fat_data): Add `uuid' member.
30230 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
30231 names. Initialize `data->uuid' using `num_serial'.
30232 (grub_fat_uuid): New function.
30233 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
30234
30235 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
30236 (grub_reiserfs_uuid): New function.
30237 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
30238 member.
30239
30240 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
30241 (grub_xfs_uuid): New function.
30242 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
30243
1385c5bb 302442008-06-01 Robert Millan <rmh@aybabtu.com>
30245
30246 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
30247 code that is backward compatible with pre-uuid search command.
30248
c682dfd7 302492008-05-31 Robert Millan <rmh@aybabtu.com>
30250
30251 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
30252 floppies after everything else, to ensure floppy drive isn't accessed
30253 unnecessarily (patch from Bean).
30254
b7db5d47 302552008-05-31 Robert Millan <rmh@aybabtu.com>
30256
30257 * commands/search.c (search_label, search_fs_uuid, search_file): Do
30258 not print device names when we were asked to set a variable.
30259
6e037aa9 302602008-05-31 Robert Millan <rmh@aybabtu.com>
30261
30262 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
30263 using "cursor-on" and "cursor-off" commands (understood at least by
30264 the Open Firmware flavour on OLPC).
30265
41305bc8 302662008-05-31 Michael Gorven <michael@gorven.za.net>
30267
30268 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
30269 on and off sequences.
30270
69ba137e 302712008-05-31 Robert Millan <rmh@aybabtu.com>
30272
30273 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
30274 * util/update-grub.in: Likewise.
30275
520ae21b 302762008-05-30 Pavel Roskin <proski@gnu.org>
30277
30278 * util/biosdisk.c (linux_find_partition): Simplify logic and
30279 make the code more universal. Keep special processing for
30280 devfs, but use a simple rule for all other devices. If the
30281 device ends with a number, append 'p' and the partition number.
30282 Otherwise, append only the partition number.
30283
5786569b 302842008-05-30 Robert Millan <rmh@aybabtu.com>
30285
30286 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
30287 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
30288 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
30289 the `root' parameter to Linux.
30290
51500452 302912008-05-30 Robert Millan <rmh@aybabtu.com>
30292
30293 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
30294 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
30295 --fs_uuid with --fs-uuid.
30296 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
30297 all filesystems support them).
30298
811d3878 302992008-05-30 Robert Millan <rmh@aybabtu.com>
30300
30301 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 30302 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 30303
cab63c95 303042008-05-30 Robert Millan <rmh@aybabtu.com>
30305
30306 * util/grub.d/00_header.in: Remove obsolete comment referencing
30307 convert_system_path_to_grub_path().
30308 * util/update-grub.in: Likewise.
30309 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
30310 (convert_system_path_to_grub_path): Add a warning message explaining
30311 that this function is deprecated. Rely on is_path_readable_by_grub()
30312 for the readability checks.
30313 (font_path): Use is_path_readable_by_grub() for the readability
30314 check rather than convert_system_path_to_grub_path().
30315
972e2f7a 303162008-05-30 Robert Millan <rmh@aybabtu.com>
30317
30318 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
30319 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
30320 converting it first.
30321 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
30322 grub.cfg for access to font file, and afterwards call it again to set
30323 the root device.
30324
62191274 303252008-05-30 Robert Millan <rmh@aybabtu.com>
30326
30327 * commands/search.c (options): Add --fs_uuid option.
30328 (search_fs_uuid): New function.
30329 (grub_cmd_search): Fix --set argument passing.
30330 Use search_fs_uuid() when requested via --fs_uuid.
30331 (grub_search_init): Update help message.
30332 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
30333 and redeclare it as an array of 16-bit words.
30334 (grub_ext2_uuid): New function.
30335 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
30336 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
30337 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
30338 (GRUB_DEVICE_BOOT_UUID): New variables.
30339 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
30340 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
30341 whenever possible.
30342 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
30343 just assume `root' variable has the right value.
30344 * util/grub.d/10_linux.in: Likewise.
30345 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
30346 via PRINT_FS_UUID.
30347 (main): Recognise `-t fs_uuid' argument.
30348
01b73ec8 303492008-05-30 Robert Millan <rmh@aybabtu.com>
30350
30351 * util/biosdisk.c (map): Redefine structure to hold information
30352 about GRUB drive name.
fe6b695a 30353 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 30354 drive names.
30355 (call_hook): Remove.
30356 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
30357 member. Assume drive has partitions.
30358 (grub_util_biosdisk_open): Access device names via `.device' struct
30359 member.
30360 (open_device): Likewise.
30361 (find_drive): Likewise.
30362 (read_device_map): Adjust map[] usage to match the new struct
30363 definition. Don't check for duplicates (still possible, but not cheap
30364 anymore).
30365 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
30366 (make_device_name): Remove assumption of BIOS-like drive names.
30367
22f16596 303682008-05-30 Pavel Roskin <proski@gnu.org>
30369
30370 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
30371 compiling execute.c doesn't need grub_script.tab.h anymore.
30372 (normal/command.c_DEPENDENCIES): Likewise.
30373 (normal/function.c_DEPENDENCIES): Likewise.
30374 * conf/i386-ieee1275.rmk: Likewise.
30375 * conf/i386-linuxbios.rmk: Likewise.
30376 * conf/i386-pc.rmk: Likewise.
30377 * conf/powerpc-ieee1275.rmk: Likewise.
30378 * conf/sparc64-ieee1275.rmk: Likewise.
30379
528ad8f2 303802008-05-29 Pavel Roskin <proski@gnu.org>
30381
d1dff95d 30382 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
30383 when scanning metadata for volume group name.
30384
528ad8f2 30385 * include/grub/script.h: Don't include grub_script.tab.h. It's
30386 a generated file, which may only be included from the files with
30387 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
30388 use union YYSTYPE, as the later allows forward declaration.
30389 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
30390
47248e08 303912008-05-29 Robert Millan <rmh@aybabtu.com>
30392
30393 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
30394 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
30395 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
30396 (grub_console_checkkey): Add grub_dprintf() call to report unknown
30397 scan codes.
30398
ee632529 303992008-05-29 Robert Millan <rmh@aybabtu.com>
30400
30401 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
30402 control key combinations.
30403
eee96e08 304042008-05-29 Robert Millan <rmh@aybabtu.com>
30405
30406 * util/powerpc/ieee1275/grub-install.in: Move from here ...
30407 * util/ieee1275/grub-install.in: ... to here.
30408 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
30409 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
30410 (grub_install_SOURCES): Likewise.
30411
da9a6a94 304122008-05-29 Robert Millan <rmh@aybabtu.com>
30413
30414 * fs/affs.c: Update copyright year.
30415 * fs/ext2.c: Likewise.
30416 * fs/fshelp.c: Likewise.
30417 * fs/hfsplus.c: Likewise.
30418 * fs/ntfs.c: Likewise.
30419 * fs/xfs.c: Likewise.
30420 * include/grub/fshelp.h: Likewise.
30421 * util/grub-mkdevicemap.c: Likewise.
30422
12e65f3a 304232008-05-28 Robert Millan <rmh@aybabtu.com>
30424
30425 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
30426 might need to be fatfs to support some firmware implementations
30427 (e.g. OFW or EFI).
30428
23023641 304292008-05-28 Robert Millan <rmh@aybabtu.com>
30430
30431 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
30432 devices.
30433 * util/grub-mkdevicemap.c (get_mmc_disk_name)
30434 (make_device_map): Likewise.
30435
887d2619 304362008-05-20 Bean <bean123ch@gmail.com>
30437
30438 * fs/fshelp.c (grub_fshelp_map_block): New function.
30439 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
30440 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
30441
30442 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
30443 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
30444 (grub_fshelp_journal): New structure.
30445 (grub_fshelp_map_block): New function prototype.
30446 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
30447 (grub_fshelp_map_block): Likewise.
30448
30449 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
30450 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
30451 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
30452 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
30453 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
30454 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
30455 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
30456 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
30457 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
30458 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
30459 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
30460 (grub_ext2_sblock): New members for journal support.
30461 (grub_ext3_journal_header): New structure.
30462 (grub_ext3_journal_revoke_header): Likewise.
30463 (grub_ext3_journal_block_tag): Likewise.
30464 (grub_ext3_journal_sblock): Likewise.
30465 (grub_fshelp_node): New members logfile and journal.
30466 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
30467 grub_fshelp_map_block to get real block number.
30468 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
30469 number.
30470 (grub_ext2_read_inode): Likewise.
30471 (grub_ext3_get_journal): New function.
30472 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
30473 (grub_ext2_close): Release memory used by journal.
30474
30475 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
30476 (REISERFS_MAGIC_DESC_BLOCK): New macro.
30477 (grub_reiserfs_transaction_header): Renamed to
30478 grub_reiserfs_description_block, replace field data with real_blocks.
30479 (grub_reiserfs_commit_block): New structure.
30480 (grub_reiserfs_data): New member journal.
30481 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
30482 number.
30483 (grub_reiserfs_read_symlink): Likewise.
30484 (grub_reiserfs_iterate_dir): Likewise.
30485 (grub_reiserfs_open): Likewise.
30486 (grub_reiserfs_read): Likewise.
30487 (grub_reiserfs_get_journal): New function.
30488 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
30489 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
30490 using grub_reiserfs_get_journal.
30491 (grub_reiserfs_close): Release memory used by journal.
30492
30493 * fs/affs.c (grub_affs_read_block): Change block type to
30494 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
30495
30496 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
30497
30498 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
30499
30500 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
30501
30502 * fs/udf.c (grub_udf_read_block): Change block type to
30503 grub_disk_addr_t. Use type cast to avoid warning.
30504
30505 * fs/xfs.c (grub_xfs_read_block): Likewise.
30506
b7c6bed5 305072008-05-16 Christian Franke <franke@computer.org>
30508
30509 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
30510 to ensure that break with ESC will always work.
30511 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
30512 Remove ESC from keyboard queue.
30513
eedf167f 305142008-05-16 Christian Franke <franke@computer.org>
30515
30516 * util/biosdisk.c: [__CYGWIN__] Add includes.
30517 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
30518 (get_os_disk): Move variable declarations to OS specific
30519 parts to avoid warning.
30520 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
30521 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
30522 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
30523 Cygwin.
30524 * util/getroot.c: [__CYGWIN__] Add includes.
30525 (strip_extra_slashes): Fix "/" case.
30526 [__CYGWIN__] (get_win32_path): New function.
30527 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
30528 [__CYGWIN__] (find_root_device): Disable.
30529 [__CYGWIN__] (get_bootsec_serial): New function.
30530 [__CYGWIN__] (find_cygwin_root_device): Likewise.
30531 [__linux__] (grub_guess_root_device): Add early returns to simplify
30532 structure.
30533 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
30534 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
30535 check for Linux only.
30536
a079699e 305372008-05-15 Bean <bean123ch@gmail.com>
30538
30539 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
30540 keyboard hang problem in apple's intel mac.
30541
1cf4059a 305422008-05-09 Robert Millan <rmh@aybabtu.com>
30543
30544 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
30545 devices.
30546 * util/grub-mkdevicemap.c (get_virtio_disk_name)
30547 (make_device_map): Likewise.
30548 Reported by Aurelien Jarno <aurel32@debian.org>
30549
ed759390 305502008-05-07 Ian Campbell <ijc@hellion.org.uk>
30551
30552 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
30553 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
30554 (make_device_map): Output entries for xvd type disks.
30555
b56c4eaa 305562008-05-07 Robert Millan <rmh@aybabtu.com>
30557
30558 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
30559 devices.
30560 * util/grub-mkdevicemap.c (get_cciss_disk_name)
30561 (make_device_map): Likewise.
30562 Reported by Roland Dreier <rdreier@cisco.com>
30563
7f8866ed 305642008-05-07 Robert Millan <rmh@aybabtu.com>
30565
30566 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
30567 grub_strstr() call. Correct a few mistakes in failure path handling.
30568
b0346e0f 305692008-05-06 Robert Millan <rmh@aybabtu.com>
30570
30571 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
30572 Do not print a trailing slash (therefore, the root directory is an
30573 empty string).
30574 (convert_system_path_to_grub_path): Do not remove trailing slash
30575 from make_system_path_relative_to_its_root() output.
30576
30577 * util/i386/pc/grub-install.in: Add trailing slash to output from
30578 make_system_path_relative_to_its_root().
30579
6cf12cbd 305802008-05-06 Robert Millan <rmh@aybabtu.com>
30581
30582 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
30583 ensures that output lines aren't intermangled with those sent to
30584 stderr (via grub_util_info()).
30585 * util/grub-probe.c (grub_refresh): Likewise.
30586 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
30587
0fbb3117 305882008-05-05 Christian Franke <franke@computer.org>
30589
30590 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
30591 Add Cygwin device names.
30592 (get_ide_disk_name) [__CYGWIN__]: Likewise.
30593 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
30594 (check_device): Return error instead of success on empty name.
30595 (make_device_map): Move label inside linux specific code to
30596 prevent compiler warning.
30597
8124cdb7 305982008-04-30 Robert Millan <rmh@aybabtu.com>
30599
30600 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
30601 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
30602 first boot option.
30603 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
30604
094c01d0 306052008-04-29 Robert Millan <rmh@aybabtu.com>
30606
30607 * docs/grub.cfg: New file (example GRUB configuration).
30608
f4b1fc02 306092008-04-26 Robert Millan <rmh@aybabtu.com>
30610
329ce2a5 30611 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
30612 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
30613 and `disk/ieee1275/nand.c'.
f4b1fc02 30614
25f16ec1 306152008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 30616
25f16ec1 30617 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
30618 i386-linuxbios.
30619
30620 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
30621 change the buffer size to 4096 for cdrom device.
30622
30623 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
30624 and nand.mod.
30625 (_linux_mod_SOURCES): New variable.
30626 (_linux_mod_CFLAGS): Likewise.
30627 (_linux_mod_LDFLAGS): Likewise.
30628 (linux_mod_SOURCES): Likewise.
30629 (linux_mod_CFLAGS): Likewise.
30630 (linux_mod_LDFLAGS): Likewise.
30631 (nand_mod_SOURCES): Likewise.
30632 (nand_mod_CFLAGS): Likewise.
30633 (nand_mod_LDFLAGS): Likewise.
30634
30635 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
30636 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
30637 type property. (nand device in olpc don't have this property)
30638
30639 * include/grub/disk.h (grub_disk_dev_id): New macro
30640 GRUB_DISK_DEVICE_NAND_ID.
30641
30642 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
30643 function prototype.
30644 (grub_rescue_cmd_initrd): Likewise.
30645
30646 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
30647 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
30648 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 30649
25f16ec1 30650 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
30651 GRUB_MACHINE_IEEE1275 is defined.
30652
30653 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
30654 Use NESTED_FUNC_ATTR attribute on the hook parameter.
30655
30656 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
30657 on nested function heap_init.
30658 (grub_upper_mem): New variable for i386-ieee1275.
30659 (grub_get_extended_memory): New function for i386-ieee1275.
30660 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
30661
30662 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
30663 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
30664 property.
f19dbdb7 30665
25f16ec1 30666 * loader/i386/ieee1275/linux.c: New file.
30667
30668 * loader/i386/ieee1275/linux_normal.c: New file.
30669
30670 * disk/ieee1275/nand.c: New file.
30671
e89d61e9 306722008-04-18 Thomas Schwinge <tschwinge@gnu.org>
30673
30674 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
30675 value.
30676 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
30677
602566f6 306782008-04-18 Robert Millan <rmh@aybabtu.com>
30679
30680 Restructures early code path on ieee1275 to unify grub_main() as
30681 the first C function that is executed in every platform.
30682
30683 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
30684 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
30685 cmain().
30686 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
30687 * kern/ieee1275/cmain.c (cmain): Rename to ...
30688 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
30689 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
30690 at the beginning.
30691
57490c2b 306922008-04-18 Robert Millan <rmh@aybabtu.com>
30693
30694 * util/update-grub.in: Fix syntax error when setting
30695 `GRUB_PRELOAD_MODULES'.
30696 Reported by Stephane Chazelas <stephane@artesyncp.com>
30697
1977517d 306982008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
30699
30700 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
30701 section into account, newer toolchains generate unique build ids
30702 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 30703 we want build ids to be preserved
1977517d 30704 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
30705 far from other sections don't cause the raw binary images grow
30706 size
30707
bfb1f1a2 307082008-04-15 Robert Millan <rmh@aybabtu.com>
30709
30710 * disk/lvm.c: Update copyright year.
30711 * kern/misc.c: Likewise.
30712
01979850 307132008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30714
30715 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 30716 there is no memory left for physical volume name.
01979850 30717
0a1150e2 307182008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30719
30720 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
30721 volume name mapping to support bigger than 9 character names properly.
30722
82ead3fe 307232008-04-13 Robert Millan <rmh@aybabtu.com>
30724
30725 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
30726 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
30727
e54a72f5 307282008-04-13 Christian Franke <franke@computer.org>
30729
30730 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
30731 to create a floppy emulation boot CD when non emulation mode
30732 does not work.
30733 Enable Joliet CD filesystem extension.
30734
9fe86034 307352008-04-13 Robert Millan <rmh@aybabtu.com>
30736
30737 * kern/misc.c (grub_strncat): Fix off-by-one error.
30738 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
30739
30740 * kern/env.c (grub_env_context_close): Clear current context, not
30741 previous one.
30742 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
30743
30744 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
30745
7ceeee39 307462008-04-13 Robert Millan <rmh@aybabtu.com>
30747
30748 Improve robustness when handling LVM.
30749
30750 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 30751 (and leave `*p' unmodified).
7ceeee39 30752 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
30753 through it.
30754 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
30755 iterating through it.
30756 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
30757 through it.
fe6b695a 30758 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 30759 when due) on each grub_lvm_getvalue() or grub_strstr() call.
30760 Don't assume `vg->pvs != NULL' when iterating through it.
30761
58cd3d85 307622008-04-13 Robert Millan <rmh@aybabtu.com>
30763
30764 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
30765 * genmk.rb (partmap): New variable.
30766 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
30767 (#{partmap}): New target rule.
30768 * genpartmaplist.sh: New file.
30769 * Makefile.in (pkglib_DATA): Add partmap.lst.
30770 (partmap.lst): New target rule.
30771 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
30772 modules (including all partition maps), instead of preloading them.
30773
78b51059 307742007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
30775
30776 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
30777 `linux-boot-prober' (if installed) to detect other operating
30778 systems which are installed on the computer and add them to
30779 the boot menu.
30780 * conf/common.rmk: Build and install 30_os-prober.
30781
a91627b4 307822008-04-12 Robert Millan <rmh@aybabtu.com>
30783
30784 * kern/powerpc/ieee1275/init.c: Move from here ...
30785 * kern/ieee1275/init.c: ... to here. Update all users.
30786
30787 * kern/powerpc/ieee1275/cmain.c: Move from here ...
30788 * kern/ieee1275/cmain.c: ... to here. Update all users.
30789
30790 * kern/powerpc/ieee1275/openfw.c: Move from here ...
30791 * kern/ieee1275/openfw.c: ... to here. Update all users.
30792
30793 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
30794 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
30795
322562ea 307962008-04-10 Pavel Roskin <proski@gnu.org>
30797
30798 * configure.ac: Always use "_cv_" in cache variables for
30799 compatibility with Autoconf 2.62.
30800
a02a73c5 308012008-04-07 Robert Millan <rmh@aybabtu.com>
30802
30803 Revert grub/machine/init.h addition by Pavel (since it breaks on
30804 i386-ieee1275 and others):
30805 * util/i386/pc/misc.c: Remove grub/machine/init.h.
30806 * util/powerpc/ieee1275/misc.c: Likewise.
30807
25c024b1 308082008-04-07 Robert Millan <rmh@aybabtu.com>
30809
30810 * util/grub-probe.c (probe): Improve error message.
30811
3cbd2f98 308122008-04-07 Robert Millan <rmh@aybabtu.com>
30813
30814 * util/biosdisk.c (read_device_map): Skip devices that don't exist
30815 (this prevents the presence of a bogus entry from ruining the whole
30816 thing).
30817
87a297bf 308182008-04-06 Pavel Roskin <proski@gnu.org>
30819
36747a62 30820 * util/biosdisk.c: Include grub/util/biosdisk.h.
30821 * util/grub-fstest.c (execute_command): Make static.
30822 * util/grub-mkdevicemap.c (check_device): Likewise.
30823 * util/i386/pc/misc.c: Include grub/machine/init.h.
30824 * util/powerpc/ieee1275/misc.c: Likewise.
30825 * util/lvm.c: Include grub/util/lvm.h.
30826 * util/misc.c: Include grub/kernel.h, grub/misc.h and
30827 grub/cache.h.
30828 * util/raid.c: Include grub/util/raid.h.
30829 (grub_util_getdiskname): Make static.
30830
87a297bf 30831 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
30832 grub_hostfs_fini(), as they are called from grub_init_all() and
30833 grub_fini_all() respectively. This fixes an infinite loop in
30834 grub-fstest due to double registration of hostfs.
30835 Reported by Christian Franke <Christian.Franke@t-online.de>
30836
f6ce7629 308372008-04-05 Pavel Roskin <proski@gnu.org>
30838
30839 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
30840 all 8 functions. Otherwise, probe function 0 only.
30841
070e49e4 308422008-04-04 Pavel Roskin <proski@gnu.org>
30843
8b088a4c 30844 * commands/lspci.c (grub_lspci_iter): Print the bus number
30845 correctly.
30846
4f657021 30847 * commands/lspci.c (grub_pci_classes): Fix typos.
30848 (grub_lspci_iter): Don't print func twice. Print vendor ID
30849 before device ID, as it's normally done.
30850
070e49e4 30851 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
30852 Fix signedness warnings.
30853 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
30854 Likewise.
30855 * util/ieee1275/get_disk_name.c: Include config.h so that
30856 _GNU_SOURCE is defined and getline() is declared. Mark an
30857 unused argument as such. Fix a signedness warning.
30858
ba7328dc 308592008-04-02 Pavel Roskin <proski@gnu.org>
30860
26887f22 30861 * genkernsyms.sh.in: Use more robust assignments for CC and
30862 srcdir. Quote srcdir.
30863 * gensymlist.sh.in: Likewise. Assert at the compile time that
30864 the symbol table is not empty.
30865
ba7328dc 30866 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
30867 * fs/cpio.c (grub_cpio_read): Likewise.
30868
0f582c6b 308692008-04-01 Pavel Roskin <proski@gnu.org>
30870
4b6e1995 30871 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
30872 * disk/host.c (grub_host_open): Likewise.
30873 * disk/loopback.c (grub_loopback_open): Likewise.
30874 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
30875 disk->id as in disk/host.c, not a multi-character constant.
30876
828a2768 30877 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
30878 later is obsolete, potentially dangerous and sets a bad example.
30879 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
30880 * util/misc.c (grub_util_get_image_size): Likewise.
30881
2bb4fb47 30882 * disk/loopback.c (options): Improve help for "--partitions".
30883
0f582c6b 30884 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
30885 options to align them with the short options, e.g. "echo -e".
30886
a33224e0 308872008-03-31 Bean <bean123ch@gmail.com>
30888
30889 * video/reader/png.c (grub_png_data): New member is_16bit and
30890 image_data.
30891 (grub_png_decode_image_header): Detect 16 bit png image.
30892 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
30893 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
30894 (grub_video_reader_png): Release memory occupied by image_data.
30895
30896 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
30897 4096 bytes.
30898 (grub_nfs_mount): Skip the test for sector per cluster.
30899
30900 * include/grub/ntfs.h (MAX_SPC): Removed.
30901
86cb4f54 309022008-03-31 Bean <bean123ch@gmail.com>
30903
30904 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
30905 (grub_probe_SOURCES): Add fs/afs.c.
30906 (grub_fstest_SOURCES): Likewise.
30907 (afs_mod_SOURCES): New variable.
30908 (afs_mod_CFLAGS): Likewise.
30909 (afs_mod_LDFLAGS): Likewise.
30910
30911 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
30912 (grub_emu_SOURCES): Likewise.
30913
30914 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30915
30916 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30917
30918 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30919
30920 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30921
30922 * fs/afs.c: New file.
30923
17c74c21 309242008-03-30 Pavel Roskin <proski@gnu.org>
30925
4cb68e89 30926 * disk/host.c: Include grub/misc.h to fix a warning.
30927 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
30928 warnings about implicit declarations.
30929
8790bb04 30930 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
30931 variable.
30932 * include/grub/i386/loader.h: Change declaration of
30933 grub_linux_boot() to match what grub_loader_set() expects.
30934 * util/getroot.c (grub_guess_root_device): Return const char* to
30935 fix a warning.
30936 * util/grub-probe.c (probe): Fix a warning about uninitialized
30937 abstraction_name variable.
30938 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
30939 second argument as unused to fix a warning.
30940
9a3f3296 30941 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
30942 missing grub_error() call.
30943
0ecef90d 30944 * util/update-grub_lib.in: Define datarootdir, since Autoconf
30945 2.60 and newer uses it to define datadir.
30946
0bf6d401 30947 * commands/sleep.c: Fix warning about implicit declaration.
30948 * disk/memdisk.c: Likewise.
30949 * loader/aout.c: Likewise.
30950 * loader/i386/bsd_normal.c: Likewise.
30951 * util/grub-probe.c: Likewise.
30952
7cdacf97 30953 * commands/i386/cpuid.c (has_longmode): Make static.
30954 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
30955 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
30956
17c74c21 30957 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
30958 GDT. This is more robust, as %ds can change.
30959 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
30960 calling real_to_prot().
30961 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
30962
80a3e68b 309632008-03-28 Pavel Roskin <proski@gnu.org>
30964
30965 * kern/i386/pc/startup.S: Assert that uncompressed functions
30966 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
30967 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
30968 code, as they push parts of the code (error handlers) beyond
30969 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
30970 code as correctness and size.
30971
77bcd272 309722008-03-28 Pavel Roskin <proski@gnu.org>
30973
30974 * kern/i386/pc/startup.S
30975 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
30976 data block address to the real mode, keep offset minimal. This
30977 works around a bug in AWARD BIOS on old Athlon systems, which
30978 makes CD detection hang.
30979
c5dfd43b 309802008-03-26 Pavel Roskin <proski@gnu.org>
30981
30982 * normal/color.c (grub_parse_color_name_pair): Make `name' a
30983 const.
30984 * include/grub/normal.h: Add grub_parse_color_name_pair()
30985 declaration.
30986
bf962df2 309872008-03-24 Bean <bean123ch@gmail.com>
30988
30989 * disk/i386/pc/biosdisk.c (cd_start): Removed.
30990 (cd_count): Removed.
30991 (cd_drive): New variable.
30992 (grub_biosdisk_get_drive): Don't check for (cdN) device.
30993 (grub_biosdisk_call_hook): Likewise.
30994 (grub_biosdisk_iterate): Change cdrom detection method.
30995 (grub_biosdisk_open): Replace cd_start with cd_drive.
30996 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
30997 detect cdrom device.
30998
30999 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
31000 Removed.
31001 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
31002 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
31003 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
31004 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
31005 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
31006 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
31007 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
31008 (grub_biosdisk_cdrp): New structure.
31009 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
31010
31011 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
31012
31013 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
31014 device.
31015
31016 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
31017 New function.
31018
68e7fc7a 310192008-03-20 Robert Millan <rmh@aybabtu.com>
31020
31021 Remove 2 TiB limit in ata.mod.
31022 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
31023 (grub_ata_dumpinfo): Print sector count with 0x%llx.
31024 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
31025 grub_uint64_t instead of grub_uint32_t.
31026
38ad2cf5 310272008-03-05 Bean <bean123ch@gmail.com>
31028
31029 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
31030 (grub_multiboot): Set boot device.
31031
31032 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
31033
2b89344e 310342008-03-02 Bean <bean123ch@gmail.com>
31035
31036 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
31037 symlink_buffer.
31038
87a95d1f 310392008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
31040
31041 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
31042 texinfo.tex.
31043
31044 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
31045 modified.
31046
31047 * docs/fdl.texi: New file.
f19dbdb7 31048
87a95d1f 31049 * docs/mdate-sh: New file. Copied from gnulib.
31050 * docs/texinfo.tex: Likewise.
31051
31052 * config.guess: Updated from gnulib.
31053 * install-sh: Likewise.
31054
7dc15d8e 310552008-02-28 Robert Millan <rmh@aybabtu.com>
31056
31057 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
31058 (aout_mod_SOURCES): New variable.
31059 (aout_mod_CFLAGS): Likewise.
31060 (aout_mod_LDFLAGS): Likewise.
31061
31062 * conf/i386-ieee1275.rmk: Likewise.
31063
b00ab696 310642008-02-28 Robert Millan <rmh@aybabtu.com>
31065
31066 * util/update-grub.in: Reorganise terminal validity check. Accept
31067 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
31068 Based on suggestion by Franklin PIAT.
31069
79ca2d78 310702008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
31071
31072 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
31073 function.
31074 * util/getroot.c (grub_util_check_block_device): New function that
31075 returns the given argument if it is a block device and returns NULL else.
31076 * util/grub-probe.c (argument_is_device): New variable.
31077 (probe): Promote device_name from a variable to an argument. Receive
31078 device_name from grub_util_check_block_device() if path is NULL and from
31079 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 31080 (options): Introduce new parameter '-d, --device'.
79ca2d78 31081 (main): Add description of the new parameter to the help screen.
31082 Rename path variable to argument. Set argument_is_device if the '-d'
31083 option is given. Pass argument to probe() depending on
31084 argument_is_device.
31085
0d16e571 310862008-02-24 Bean <bean123ch@gmail.com>
31087
31088 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
31089 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
31090 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
31091 (GRUB_ISO9660_VOLDESC_PART): Likewise.
31092 (GRUB_ISO9660_VOLDESC_END): Likewise.
31093 (grub_iso9660_primary_voldesc): New member escape.
31094 (grub_iso9660_data): New member joliet.
31095 (grub_iso9660_convert_string): New function.
31096 (grub_iso9660_mount): Detect joliet extension.
31097 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
31098 (grub_iso9660_iso9660_label): Likewise.
31099
31100 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
31101 (grub_setup_SOURCES): Add fs/udf.c.
31102 (grub_fstest_SOURCES): Likewise.
31103 (udf_mod_SOURCES): New variable.
31104 (udf_mod_CFLAGS): Likewise.
31105 (udf_mod_LDFLAGS): Likewise.
31106
31107 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
31108 (grub_emu_SOURCES): Likewise.
31109
31110 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31111
31112 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31113
31114 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31115
31116 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31117
31118 * fs/udf.c: New file.
31119
8a594a17 311202008-02-24 Robert Millan <rmh@aybabtu.com>
31121
31122 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
31123 (normal/lexer.c_DEPENDENCIES): New variables.
31124 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
31125 (normal/lexer.c_DEPENDENCIES): Likewise.
31126 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
31127 (normal/lexer.c_DEPENDENCIES): Likewise.
31128 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
31129 (normal/lexer.c_DEPENDENCIES): Likewise.
31130 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
31131 (normal/lexer.c_DEPENDENCIES): Likewise.
31132 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
31133 (normal/lexer.c_DEPENDENCIES): Likewise.
31134
2dc33c03 311352008-02-23 Robert Millan <rmh@aybabtu.com>
31136
31137 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
31138 since they were intended to be in hex. This didn't break previously
31139 because of a bug in gpt_partition_map_iterate() (see below).
31140
31141 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
31142 when checking the validity of GPT header.
31143 Remove `partno', since it always provides the same information as `i'.
31144
f6f4cfb0 311452008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
31146
31147 * include/grub/efi/time.h: Fix a wrong comment.
31148
79ff665f 311492008-02-19 Pavel Roskin <proski@gnu.org>
31150
31151 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
31152 message.
31153
d38e24c2 311542008-02-19 Bean <bean123ch@gmail.com>
31155
31156 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
31157 (aout_mod_SOURCES): New variable.
31158 (aout_mod_CFLAGS): Likewise.
31159 (aout_mod_LDFLAGS): Likewise.
31160 (_bsd_mod_SOURCES): New variable.
31161 (_bsd_mod_CFLAGS): Likewise.
31162 (_bsd_mod_LDFLAGS): Likewise.
31163 (bsd_mod_SOURCES): New variable.
31164 (bsd_mod_CFLAGS): Likewise.
31165 (bsd_mod_LDFLAGS): Likewise.
31166
31167 * include/grub/aout.h: New file.
31168
31169 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
31170
31171 * include/grub/i386/bsd.h: New file.
31172
31173 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
31174 to make it public.
31175
31176 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
31177 function is called, so that it's possible to change it inside the hook.
31178 (grub_elf64_load): Likewise.
31179 (grub_elf_file): Don't close the file if elf header is not found.
31180 (grub_elf_close): Close the file if grub_elf_file fails (The new
31181 grub_elf_file won't close it).
31182 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
31183 (grub_elf64_size): Likewise.
31184
31185 * kern/i386/loader.S (grub_unix_real_boot): New function.
31186
31187 * loader/aout.c: New file.
31188
31189 * loader/i386/bsd.c: New file.
31190
31191 * loader/i386/bsd_normal.c: New file.
31192
31193 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
31194
31195 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 31196 can test other formats.
d38e24c2 31197
b93bdb0f 311982008-02-19 Robert Millan <rmh@aybabtu.com>
31199
31200 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
31201 (grub_gpt_partition_type_empty): Redefine with macro from
31202 `<grub/gpt_partition.h>'.
31203 (gpt_partition_map_iterate): Adjust partition type comparison.
31204
31205 Export `entry' as partmap-specific `part.data' struct.
31206 (grub_gpt_header, grub_gpt_partentry): Move from here ...
31207
31208 * include/grub/gpt_partition.h (grub_gpt_header)
31209 (grub_gpt_partentry): ... to here (new file).
31210
31211 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
31212
31213 (grub_gpt_partition_type_bios_boot): New const variable, defined
31214 with macro from `<grub/gpt_partition.h>'.
31215
31216 (setup): Replace `first_start' with `embed_region', which keeps
31217 track of the embed region (and is partmap-agnostic).
31218
31219 Replace find_first_partition_start() with find_usable_region(),
31220 which finds a usable region for embedding using partmap-specific
31221 knowledge (supports PC/MSDOS and GPT).
31222
31223 Fix all assumptions that the embed region start at sector 1, using
31224 `embed_region.start' from now on. Similarly, use `embed_region.end'
31225 rather than `first_start' to calculate available size.
31226
31227 In grub_util_info() message, replace "into after the MBR" with an
31228 indication of the specific sector our embed region starts at.
31229
66cb40f6 312302008-02-19 Robert Millan <rmh@aybabtu.com>
31231
31232 * DISTLIST: Replace `commands/ieee1275/halt.c' and
31233 `commands/ieee1275/reboot.c' with `commands/halt.c' and
31234 `commands/reboot.c'.
31235 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
31236 (halt_mod_SOURCES): Likewise.
31237 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
31238 (halt_mod_SOURCES): Likewise.
31239
b7202015 312402008-02-17 Christian Franke <franke@computer.org>
31241
31242 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
31243
32b0fc49 312442008-02-17 Robert Millan <rmh@aybabtu.com>
31245
31246 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
31247 set `first_start' to 0 for non-PC/MSDOS partition maps.
31248
aca63502 312492008-02-16 Robert Millan <rmh@aybabtu.com>
31250
31251 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
31252 do not assume partition map is PC/MSDOS before performing checks that
31253 are specific to that layout.
31254
0de8be86 312552008-02-13 Robert Millan <rmh@aybabtu.com>
31256
31257 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
31258 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
31259 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
31260
c3db8364 312612008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
31262
31263 * configure.ac: Only a cosmetic change on the handling of
31264 -fno-stack-protector.
31265
f714229e 312662008-02-12 Alexandre Boeglin <alex@boeglin.org>
31267
c3db8364 31268 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
31269 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
31270 reboot.c.
f714229e 31271 (grub_install_SOURCES): Add halt.mod and reboot.mod.
31272 (halt_mod_SOURCES): New variable.
31273 (halt_mod_CFLAGS): Likewise.
31274 (halt_mod_LDFLAGS): Likewise.
31275 (reboot_mod_SOURCES): Likewise.
31276 (reboot_mod_CFLAGS): Likewise.
31277 (reboot_mod_LDFLAGS): Likewise.
31278
c3db8364 31279 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
31280 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
31281 reboot.c.
f714229e 31282 (halt_mod_SOURCES): Likewise.
31283 (reboot_mod_SOURCES): Likewise.
31284
c3db8364 31285 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
31286 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 31287 (reboot_mod_SOURCES): Likewise.
31288
31289 * commands/i386/pc/reboot.c: merge this file ...
31290
31291 * commands/ieee1275/reboot.c: ... and this file ...
31292
31293 * commands/reboot.c: ... to this file.
c3db8364 31294 Add some precompiler directive to include the correct header for
31295 each machine.
f714229e 31296
31297 * commands/ieee1275/halt.c: move this file ...
31298
31299 * commands/halt.c: ... to here.
c3db8364 31300 Add some precompiler directive to include the correct header for
31301 each machine.
f714229e 31302
31303 * include/grub/efi/efi.h (grub_reboot): New function declaration.
31304 (grub_halt): Likewise.
31305
31306 * kern/efi/efi.c (grub_reboot): New function.
31307 (grub_halt): Likewise.
31308
c74493e0 313092008-02-12 Robert Millan <rmh@aybabtu.com>
31310
31311 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
31312 /dev (like it is done for /dev/mapper). This doesn't provide support
31313 for EVMS, but at least it is now easy to identify the problem when it
31314 arises.
31315
d0db4b04 313162008-02-11 Robert Millan <rmh@aybabtu.com>
31317
31318 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
31319 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
31320 comparing it with -1, not 0.
31321
bf748642 313222008-02-10 Robert Millan <rmh@aybabtu.com>
31323
31324 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
31325 `disk/lvm.c'.
31326 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31327 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
31328
31329 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
31330 `disk/lvm.c' to the end of the list.
31331 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31332 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31333
b5db202a 313342008-02-10 Robert Millan <rmh@aybabtu.com>
31335
31336 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
31337 grub_print_error() instead. This will let user know why we're entering
31338 rescue mode.
31339 Based on suggestions from Sam Morris.
31340
83abee31 313412008-02-10 Alexandre Boeglin <alex@boeglin.org>
31342
31343 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
31344 on remaining N args, instead of "--" arg N times.
31345
78d5a08b 313462008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
31347
31348 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
31349 (fill_with_default_glyph): Changed to use unknown_glyph for fill
31350 pattern for unknown glyphs.
31351
68807e5f 313522008-02-09 Robert Millan <rmh@aybabtu.com>
31353
31354 * configure.ac: Probe for `help2man'.
31355 * Makefile.in (builddir): New variable.
31356 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
31357 or otherwise add a few flags/options to it.
31358 (install-local): For every executable utility or script that is
31359 installed, invoke $(HELP2MAN) to install a manpage based on --help
31360 output.
31361
31362 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
31363 that it doesn't prevent --help from working in build tree.
31364
31365 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
31366 with `bug-grub@gnu.org'.
31367 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
31368 * util/update-grub.in (usage): New function.
31369 Implement proper argument check, with support for --help and --version
31370 (as well as existing -y).
31371
313722008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 31373
31374 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
31375 avoid overwriting previous output.
31376 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
31377
c1962162 313782008-02-09 Robert Millan <rmh@aybabtu.com>
31379
31380 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
31381 drawing the menu.
31382
3dac2e3f 313832008-02-09 Robert Millan <rmh@aybabtu.com>
31384
31385 * commands/sleep.c: New file.
31386 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
31387 (sleep_mod_SOURCES): New variable.
31388 (sleep_mod_CFLAGS): Likewise.
31389 (sleep_mod_LDFLAGS): Likewise.
31390
7a634e08 313912008-02-09 Robert Millan <rmh@aybabtu.com>
31392
31393 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
31394 situations in which we can deduce the RAID size and the superblock
31395 doesn't match it.
31396
b92f0c18 313972008-02-09 Robert Millan <rmh@aybabtu.com>
31398
31399 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
31400 and return a grub_diskmemberlist_t composed of LVM physical volumes.
31401 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
31402
31403 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
31404 and return a grub_diskmemberlist_t composed of physical array members.
31405 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
31406
31407 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
31408 prototype.
31409 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
31410 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
31411 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
31412
31413 * util/grub-probe.c (probe): Move partmap probing code from here ...
31414 (probe_partmap): ... to here.
31415 (probe): Use probe_partmap() once for the disk we're probing, and
31416 additionally, when such disk contains a memberlist() struct member,
31417 once for each disk that is contained in the structure returned by
31418 memberlist().
31419
91a4bf68 314202008-02-09 Robert Millan <rmh@aybabtu.com>
31421
31422 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
31423 environment variable to 'all' in order to obtain debug output from
31424 non-util/ code.
31425 * util/i386/pc/grub-setup.c (main): Likewise.
31426
a96f9caa 314272008-02-08 Robert Millan <rmh@aybabtu.com>
31428
31429 * disk/raid.c (grub_raid_scan_device): Check for
31430 `array->device[sb.this_disk.number]' rather than for
31431 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 31432 guaranteed to be accessible.
a96f9caa 31433
b37a9222 314342008-02-08 Robert Millan <rmh@aybabtu.com>
31435
31436 * disk/raid.c: Update copyright.
31437 * fs/cpio.c: Likewise.
31438 * include/grub/raid.h: Likewise.
31439 * loader/i386/pc/multiboot.c: Likewise.
31440 * util/hostfs.c: Likewise.
31441
5626aee1 314422008-02-08 Robert Millan <rmh@aybabtu.com>
31443
31444 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
31445 to a grub_disk_t array.
31446 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
31447 `device[x]'.
31448 (grub_raid_scan_device): Replace `device[x].name' accesses with
31449 `device[x]->name'. Simplify initialization of `array->device[x]'.
31450
554f0187 314512008-02-08 Robert Millan <rmh@aybabtu.com>
31452
31453 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
31454 grub_dprintf() calls.
31455 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
31456 error message.
31457
1ec8425d 314582008-02-07 Christian Franke <franke@computer.org>
31459
31460 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
31461 instead of fseek and ftell to support large files.
31462 (grub_hostfs_read): Likewise.
31463
f2156fda 314642008-02-07 Robert Millan <rmh@aybabtu.com>
31465
31466 Patch from Jeroen Dekkers.
31467 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 31468 failure, since successfully reading all array members might not be
f2156fda 31469 required.
31470
9216e0e7 314712008-02-06 Robert Millan <rmh@aybabtu.com>
31472
31473 * util/grub-probe.c (probe): Simplify partmap probing (with the
31474 assumption that the first word up to the underscore equals to
31475 the module name).
31476
b0dfd29a 314772008-02-06 Christian Franke <franke@computer.org>
31478
31479 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
31480 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
31481 last block of a cpio or tar stream.
31482 Check for "TRAILER!!!" instead of any empty data
31483 block to detect last block of a cpio stream.
31484 (grub_cpio_dir): Fix constness of variable np.
31485 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
31486 cpio or tar trailer is detected. This fixes a crash
31487 on open of a non existing file.
31488
c32865bf 314892008-02-05 Bean <bean123ch@gmail.com>
31490
31491 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
31492 address of entry.
31493 (grub_multiboot_load_elf64): Likewise.
31494 (grub_multiboot): Initialize mbi structure.
31495
31496 * util/grub-fstest.c: Don't include unused header file script.h.
31497
fe6b695a 31498 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 31499 of file.
31500 (grub_fstest_SOURCES): Likewise.
31501
409480b7 315022008-02-05 Robert Millan <rmh@aybabtu.com>
31503
31504 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
31505 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
31506 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
31507 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
31508
31509 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
31510 (translation_table): Replace hardcoded values with macros
31511 provided by `<grub/term.h>'.
31512
31513 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
31514 (keyboard_map): Correct/add a few values, with macros provided
31515 by `<grub/term.h>'.
31516 (keyboard_map_shift): Zero values that don't differ from their
31517 `keyboard_map' equivalents.
31518 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
31519 Discard the second scan code that is always sent by Caps lock.
31520 Only use `keyboard_map_shift' when it provides a non-zero value,
31521 otherwise fallback to `keyboard_map'.
31522
99fadbaa 315232008-02-04 Bean <bean123ch@gmail.com>
31524
31525 * Makefile.in (enable_grub_fstest): New variable.
31526
31527 * conf/common.rmk (grub_fstest_init.lst): New rule.
31528 (grub_fstest_init.h): Likewise.
31529 (grub_fstest_init.c): Likewise.
31530 (util/grub-fstest.c_DEPENDENCIES): New variable.
31531 (grub_fstest_SOURCES): Likewise.
31532
31533 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
31534
31535 * util/grub-fstest.c: New file.
31536
bf567c50 315372008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31538
31539 Make grub-setup handle a separate root device.
f19dbdb7 31540
bf567c50 31541 * util/i386/pc/grub-setup.c (setup): Always open the root device,
31542 so that the root device can be compared with the destination
31543 device.
31544 When embedding the core image, if the root and destination devices
31545 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
31546 0xFF.
31547 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 31548
9be6b98b 315492008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31550
31551 Add support for having a grub directory in a different drive. This
31552 is still only the data handling part.
f19dbdb7 31553
9be6b98b 31554 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
31555 (codestart): Save %dh in GRUB_ROOT_DRIVE.
31556 (grub_root_drive): New variable.
31557
31558 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
31559 instead of GRUB_BOOT_DRIVE to construct a device name. Set
31560 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
31561 as it was.
31562
31563 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
31564
31565 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
31566 macro.
31567 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
31568
31569 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
31570 is bogus, because PXE booting does not specify any drive
31571 correctly.
31572
31573 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
31574 am not sure if this is really correct.
31575
31576 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
31577 is always identical to the boot drive when booting from a CD.
31578
31579 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
31580 longer.
31581 (root_drive): New variable.
31582 (real_start): Unconditionally set %dh to ROOT_DRIVE.
31583 (setup_sectors): Push %dx right after popping it, because %dh will
31584 be modified later.
31585 (copy_buffer): Restore %dx.
31586
e0ca0677 315872008-02-03 Robert Millan <rmh@aybabtu.com>
31588
31589 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
31590 use `cdboot.img' for cdrom images.
31591
3b3f6629 315922008-02-03 Robert Millan <rmh@aybabtu.com>
31593
31594 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
31595 only setup gfxterm when `font' command has succeeded.
31596
d42b3672 315972008-02-03 Robert Millan <rmh@aybabtu.com>
31598
31599 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
31600 (grub_rescue_cmd_multiboot_loader)
31601 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
31602
fa370ea6 316032008-02-03 Pavel Roskin <proski@gnu.org>
31604
e0c5dacb 31605 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 31606 %edx and %esi from stack only after grub_gate_a20() is called.
31607 grub_gate_a20() clobbers %edx.
31608
f2a76e1d 316092008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31610
31611 * configure.ac (AC_INIT): Bumped to 1.96.
31612
31613 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
31614 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
31615 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
31616 video/readers/png.c.
31617
90fd32d1 316182008-02-03 Bean <bean123ch@gmail.com>
9be665dd 31619
31620 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
31621 (cdboot_img_SOURCES): New variable.
31622 (cdboot_img_ASFLAGS): New variable.
31623 (cdboot_img_LDFLAGS): New variable.
31624
31625 * boot/i386/pc/cdboot.S: New file.
31626
31627 * disk/i386/pc/biosdisk.c (cd_start): New variable.
31628 (cd_count): Likewise.
31629 (grub_biosdisk_get_drive): Add support for cd device.
31630 (grub_biosdisk_call_hook): Likewise.
31631 (grub_biosdisk_iterate): Likewise.
31632 (grub_biosdisk_open): Likewise.
31633 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
31634 (grub_biosdisk_rw): Support reading from cd device.
31635 (GRUB_MOD_INIT): Iterate cd devices.
31636
31637 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
31638 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
31639 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
31640
31641 * kern/i386/pc/init.c (make_install_device): Check for cd device.
31642
4020aa53 316432008-02-02 Robert Millan <rmh@aybabtu.com>
31644
31645 * commands/read.c: New file.
31646 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
31647 (read_mod_SOURCES): New variable.
31648 (read_mod_CFLAGS): Likewise.
31649 (read_mod_LDFLAGS): Likewise.
31650
e03a1132 316512008-02-02 Robert Millan <rmh@aybabtu.com>
31652
31653 * normal/main.c (grub_normal_execute): Check for `menu->size' when
31654 determining whether menu has to be displayed.
31655
58c69220 316562008-02-02 Marco Gerards <marco@gnu.org>
31657
31658 * bus/pci.c: New file.
31659
31660 * include/grub/pci.h: Likewise.
31661
31662 * include/grub/i386/pc/pci.h: Likewise.
31663
31664 * commands/lspci.c: Likewise.
31665
31666 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
31667 `lspci.mod'.
31668 (pci_mod_SOURCES): New variable.
31669 (pci_mod_CFLAGS): Likewise.
31670 (pci_mod_LDFLAGS): Likewise.
31671 (lspci_mod_SOURCES): Likewise.
31672 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 31673 (lspci_mod_LDFLAGS): Likewise.
58c69220 31674
c004e1b4 316752008-02-02 Bean <bean123ch@gmail.com>
31676
31677 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
31678 (grub_ufs_get_file_block): Fix indirect block calculation problem.
31679
31680 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
31681 (grub_xfs_btree_node): New structure.
31682 (grub_xfs_btree_root): New structure.
31683 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
31684 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
31685 (GRUB_XFS_EXTENT_BLOCK): Likewise.
31686 (GRUB_XFS_EXTENT_SIZE): Likewise.
31687 (grub_xfs_read_block): Support btree format type.
31688 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
31689 Use directory block as basic unit.
31690
31691 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
31692
31693 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
31694 __attribute__ ((__regparm__ (1))).
31695
f95562bf 316962008-02-01 Robert Millan <rmh@aybabtu.com>
31697
31698 Correct a mistake in previous commit.
31699
31700 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
31701 top.
31702 (normal/command.c_DEPENDENCIES): New variable.
31703
7d31f41f 317042008-02-01 Robert Millan <rmh@aybabtu.com>
31705
31706 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
31707 top.
31708 (normal/command.c_DEPENDENCIES): New variable.
31709 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
31710 * conf/i386-ieee1275.rmk: Likewise.
31711 * conf/i386-linuxbios.rmk: Likewise.
31712 * conf/i386-pc.rmk: Likewise.
31713 * conf/sparc64-ieee1275.rmk: Likewise.
31714 * conf/powerpc-ieee1275.rmk: Likewise.
31715 (grub_emu_SOURCES): Add `fs/fshelp.c'.
31716
31717 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
31718
60b6be74 317192008-02-01 Robert Millan <rmh@aybabtu.com>
31720
31721 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
31722 call at beginning of function.
31723
078522ab 317242008-01-31 Pavel Roskin <proski@gnu.org>
31725
31726 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 31727 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
31728 (grub_mkrescue_SOURCES): Likewise.
078522ab 31729 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
31730
ccaa8a5f 317312008-01-30 Robert Millan <rmh@aybabtu.com>
31732
31733 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
31734 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
31735 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
31736 (grub_probe_SOURCES): ... to here.
31737
31738 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
31739 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
31740 * conf/i386-ieee1275.rmk: Likewise.
31741 * conf/i386-linuxbios.rmk: Likewise.
31742 * conf/powerpc-ieee1275.rmk: Likewise.
31743
ae5a9cd7 317442008-01-30 Tristan Gingold <gingold@free.fr>
31745
31746 * kern/rescue.c: Silently accept empty lines.
31747
70bc2ef2 317482008-01-29 Bean <bean123ch@gmail.com>
31749
31750 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
31751 (real_code_2): Code cleanup and change comment style.
31752 (move_memory): Avoid using 32-bit address mode.
31753
6a4d50ea 317542008-01-29 Bean <bean123ch@gmail.com>
31755
31756 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
31757 (png_mod_SOURCES): New variable.
31758 (png_mod_CFLAGS): Likewise.
31759 (png_mod_LDFLAGS): Likewise.
31760
31761 * video/readers/png.c: New file.
31762
11cc30ac 317632008-01-28 Robert Millan <rmh@aybabtu.com>
31764
31765 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
31766 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
31767 `ifndef GRUB_MOD_GAP' hack.
31768 * util/elf/grub-mkimage.c (add_segments): Likewise.
31769
3abc589f 317702008-01-27 Robert Millan <rmh@aybabtu.com>
31771
31772 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
31773 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 31774 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 31775
e1907778 317762008-01-27 Robert Millan <rmh@aybabtu.com>
31777
31778 Get grub-emu to build again (including parallel builds).
31779
31780 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
31781 Split into ...
31782 (util/grub-emu.c_DEPENDENCIES): ... this, ...
31783 (normal/execute.c_DEPENDENCIES): ... this, ...
31784 (grub-emu_DEPENDENCIES): ... and this.
31785
31786 * conf/i386-efi.rmk: Likewise.
31787 * conf/i386-linuxbios.rmk: Likewise.
31788 * conf/i386-ieee1275.rmk: Likewise.
31789 * conf/powerpc-ieee1275.rmk: Likewise.
31790 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
31791
2216b101 317922008-01-27 Robert Millan <rmh@aybabtu.com>
31793
31794 * NEWS: Add a few items.
31795
f75172d9 317962008-01-27 Robert Millan <rmh@aybabtu.com>
31797
31798 Fix parallel builds with grub-emu. Based on earlier commit for
31799 grub-probe and grub-setup.
31800
31801 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31802 (util/grub-emu.c_DEPENDENCIES): ... this.
31803 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31804 (util/grub-emu.c_DEPENDENCIES): ... this.
31805 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31806 (util/grub-emu.c_DEPENDENCIES): ... this.
31807 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31808 (util/grub-emu.c_DEPENDENCIES): ... this.
31809 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31810 (util/grub-emu.c_DEPENDENCIES): ... this.
31811
3f51de77 318122008-01-27 Pavel Roskin <proski@gnu.org>
31813
31814 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
31815 to create a gap between _end and the modules added to the image
31816 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
31817 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
31818 * util/elf/grub-mkimage.c (add_segments): Likewise.
31819
2033f53e 318202008-01-26 Pavel Roskin <proski@gnu.org>
31821
31822 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
31823 just return an error.
31824
22da1f6f 318252008-01-26 Bean <bean123ch@gmail.com>
31826
31827 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
31828 (grub_reiserfs_get_item): Save offset of the next item.
31829 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
31830
2a9525e6 318312008-01-25 Robert Millan <rmh@aybabtu.com>
31832
31833 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
31834 make all filesystem sources appear together (possibly fixing omissions
31835 while at it).
31836 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31837 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31838 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31839 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31840
31841 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
31842 add `kern/file.c'.
31843 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
31844 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31845 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
31846 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31847
31848 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
31849 (probe): Add a sanity check to make sure of our ability to read
31850 requested files when probing for filesystem type.
31851
31852 * genmk.rb: Update copyright year (2007).
31853
31854 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
31855 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
31856 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
31857 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
31858 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
31859 : Remove function prototypes.
31860
b95f71b5 318612008-01-25 Robert Millan <rmh@aybabtu.com>
31862
31863 Revert my previous commits (based on wrong assumption of how grub_errno
31864 works).
31865
fe6b695a 31866 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 31867 * kern/file.c (grub_file_open): Likewise.
31868
d08bbb49 318692008-01-24 Pavel Roskin <proski@gnu.org>
31870
31871 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
31872 that hang if GRUB tries to setup colors.
31873 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
31874 colors for firmwares that don't support it.
31875 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
31876 Recognize Open Hack'Ware, set flags to work around its
31877 limitations.
31878
605e36ed 318792008-01-24 Robert Millan <rmh@aybabtu.com>
31880
31881 * kern/file.c (grub_file_open): Do not account previous failures of
31882 unrelated functions when grub_errno is checked for.
31883 Reported by Oleg Strikov.
31884
bac332a1 318852008-01-24 Bean <bean123ch@gmail.com>
31886
31887 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
31888 (grub_ufs_sblock): New member volume name.
31889 (grub_ufs_find_file): Fix string copy bug.
31890 (grub_ufs_label): Implement this function properly.
31891
31892 * fs/hfs.c (grub_hfs_cnid_type): New enum.
31893 (grub_hfs_iterate_records): Use the correct file number for extents
31894 and catalog file. Fix problem in next index calculation.
31895 (grub_hfs_find_node): Replace recursive function call with loop.
31896 (grub_hfs_iterate_dir): Replace recursive function call with loop.
31897
15c80c09 318982008-01-23 Robert Millan <rmh@aybabtu.com>
31899
31900 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
31901 `<grub/symbol.h>' and `<grub/multiboot.h>'.
31902 (grub_multiboot2_real_boot): New function prototype.
31903
31904 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
31905 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
31906
31907 * kern/i386/ieee1275/init.c (grub_os_area_addr)
31908 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
31909
305338fd 319102008-01-23 Robert Millan <rmh@aybabtu.com>
31911
31912 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
31913 #ifdef'ed out grub_printf().
31914
3ea52685 319152008-01-23 Robert Millan <rmh@aybabtu.com>
31916
31917 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
31918 grub_dprintf calls, since they make "debug=all" mode unusable.
31919 (grub_console_checkkey): Likewise.
31920
5882ae4b 319212008-01-23 Robert Millan <rmh@aybabtu.com>
31922
31923 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
31924 `term/i386/pc/at_keyboard.c'.
31925 (pkglib_MODULES): Add `serial.mod'.
31926 (serial_mod_SOURCES): New variable.
31927 (serial_mod_CFLAGS): Likewise.
31928 (serial_mod_LDFLAGS): Likewise.
31929
31930 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
31931 `<grub/powerpc/ieee1275/console.h>'.
31932 (grub_keyboard_controller_init): New function prototype.
31933 (grub_console_checkkey): Likewise.
31934 (grub_console_getkey): Likewise.
31935
31936 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
31937 keyboard on i386.
31938
31939 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
31940 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
31941
06ab5303 319422008-01-23 Robert Millan <rmh@aybabtu.com>
31943
31944 * kern/i386/pc/init.c (make_install_device): When memdisk image is
31945 present, "(memdisk)/boot/grub" becomes the default prefix.
31946
31947 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
31948 a memdisk tarball with all the modules. Add --overlay=DIR option that
31949 allows users to overlay additional files into the image.
31950
dbb475a4 319512008-01-23 Robert Millan <rmh@aybabtu.com>
31952
31953 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
31954 and `machine/memory.h'.
31955 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
31956 (_multiboot_mod_SOURCES): New variable.
31957 (_multiboot_mod_CFLAGS): Likewise.
31958 (_multiboot_mod_LDFLAGS): Likewise.
31959 (multiboot_mod_SOURCES): Likewise.
31960 (multiboot_mod_CFLAGS): Likewise.
31961 (multiboot_mod_LDFLAGS): Likewise.
31962
31963 * include/grub/i386/ieee1275/loader.h: New file.
31964
31965 * include/grub/i386/ieee1275/machine.h: Likewise.
31966
31967 * include/grub/i386/ieee1275/memory.h: Likewise.
31968
31969 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
31970 variable declaration.
31971 (grub_os_area_size): Likewise.
31972
31973 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
31974 (grub_lower_mem, grub_upper_mem): New variables.
31975 (grub_stop_floppy): New function (just to make
31976 grub_multiboot2_real_boot() happy).
31977
31978 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
31979 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
31980 (grub_stop): New function.
31981 Include `"../realmode.S"' and `"../loader.S"'.
31982
31983 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
31984 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
31985
31986 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
31987 rely on grub_multiboot2_real_boot() for final boot.
31988
25638629 319892008-01-22 Robert Millan <rmh@aybabtu.com>
31990
31991 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
31992 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
31993 device that doesn't look like an SD card.
31994 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
31995 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
31996 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
31997 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
31998 found.
31999
9dad816d 320002008-01-22 Robert Millan <rmh@aybabtu.com>
32001
32002 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
32003 avoid claiming over our own code.
32004
34842f2d 320052008-01-22 Bean <bean123ch@gmail.com>
32006
32007 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
32008 (jpeg_mod_SOURCES): New variable.
32009 (jpeg_mod_CFLAGS): Likewise.
32010 (jpeg_mod_LDFLAGS): Likewise.
32011
32012 * video/readers/jpeg.c : New file.
32013
44023a28 320142008-01-22 Bean <bean123ch@gmail.com>
32015
32016 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
32017 there are no more items.
32018
bc2d8ac6 320192008-01-21 Robert Millan <rmh@aybabtu.com>
32020
32021 * kern/mm.c (grub_mm_init_region): Improve debug message.
32022
261bd4bc 320232008-01-21 Robert Millan <rmh@aybabtu.com>
32024
32025 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
32026 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
32027 address.
32028 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
32029 a C macro.
32030 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
32031 Indicates start of upper memory.
32032 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
32033 (generate_image): Abort when image size is big enough to corrupt
32034 upper memory.
32035
32036 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
32037 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
32038 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
32039 instead of hardcoding 0xA0000.
32040 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
32041 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
32042 instead of hardcoding 0xA0000.
32043
f970b55e 320442008-01-21 Robert Millan <rmh@aybabtu.com>
32045
32046 * disk/memdisk.c (memdisk_size): New variable.
32047 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
32048 `memdisk_size'.
32049 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
32050 image to dynamic memory.
32051 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
32052 `memdisk_size'. Free memdisk block.
32053
1a8b0526 320542008-01-21 Robert Millan <rmh@aybabtu.com>
32055
32056 Fix detection of very small filesystems (like tar).
32057
32058 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
32059 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
32060 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
32061 a problem with this disk).
32062
6e9b4aab 320632008-01-21 Robert Millan <rmh@aybabtu.com>
32064
32065 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
32066 on grub_biosdisk_rw_standard() error.
32067
0d8837b2 320682008-01-21 Robert Millan <rmh@aybabtu.com>
32069
32070 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
32071 recent changes.
32072 * kern/elf.c: Likewise.
32073 * kern/ieee1275/ieee1275.c: Likewise.
32074 * kern/powerpc/ieee1275/openfw.c: Likewise.
32075 * term/ieee1275/ofconsole.c: Likewise.
32076
ffd36e34 320772008-01-21 Robert Millan <rmh@aybabtu.com>
32078
32079 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
32080
3f0093d0 32081 * include/grub/kernel.h (grub_arch_memdisk_addr)
32082 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 32083
3f0093d0 32084 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
32085 (grub_arch_memdisk_size): ... to here.
ffd36e34 32086
6c391b21 320872008-01-21 Robert Millan <rmh@aybabtu.com>
32088
32089 Mostly based on bugfix from Bean.
32090
32091 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
32092 attribute with hook() parameter.
32093 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
32094 declaration.
32095 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
32096 attribute with hook() parameter.
32097 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
32098 declaration.
32099
55a581dc 321002008-01-21 Robert Millan <rmh@aybabtu.com>
32101
32102 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
32103 (pkglib_MODULES): Add `memdisk.mod'.
32104 (memdisk_mod_SOURCES): New variable.
32105 (memdisk_mod_CFLAGS): Likewise.
32106 (memdisk_mod_LDFLAGS): Likewise.
32107
32108 * disk/memdisk.c: New file.
32109
32110 * include/grub/disk.h (grub_disk_dev_id): Add
32111 `GRUB_DISK_DEVICE_MEMDISK_ID'.
32112
32113 * include/grub/i386/pc/kernel.h
32114 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
32115 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
32116 (grub_kernel_image_size): New variable declaration.
32117 (grub_total_module_size): Likewise.
32118 (grub_memdisk_image_size): Likewise.
32119
32120 * include/grub/i386/pc/memory.h
32121 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
32122
32123 * include/grub/kernel.h: Include `<grub/symbol.h>'.
32124 (grub_arch_memdisk_addr): New variable declaration.
32125 (grub_arch_memdisk_size): Likewise.
32126
32127 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
32128 (grub_arch_memdisk_size): Likewise.
32129
32130 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
32131 (codestart): Replace hardcoded `0x100000' with
32132 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
32133
32134 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
32135 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
32136 not NULL, append the contents of the file it refers to, at the end of
32137 the compressed kernel image. Initialize `grub_memdisk_image_size'
32138 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
32139 (options): Add "memdisk"|'m' option.
32140 (main): Parse --memdisk|-m option, and pass user-provided path as
32141 parameter to generate_image().
32142
3d7f54c9 321432008-01-20 Robert Millan <rmh@aybabtu.com>
32144
32145 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
32146 grub_dprintf() calls from here ...
32147 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
32148
0bf74728 321492008-01-20 Robert Millan <rmh@aybabtu.com>
32150
32151 Fix detection of "real mode" when /options/real-mode? doesn't exist.
32152
32153 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
32154 declaration.
32155 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
32156 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
32157 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 32158 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 32159 property).
32160 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
32161 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
32162
33bf70a7 321632008-01-19 Robert Millan <rmh@aybabtu.com>
32164
fe6b695a 32165 Get rid of confusing function (superseded by
33bf70a7 32166 `grub_ieee1275_get_integer_property')
32167 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
32168 prototype.
32169 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
32170 function.
32171 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
32172 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 32173 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 32174
e2da7d26 321752008-01-19 Robert Millan <rmh@aybabtu.com>
32176
32177 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
32178 command after "shut-down", since implementations differ on which
32179 the command for halt is.
32180
59f1fd8d 321812008-01-19 Robert Millan <rmh@aybabtu.com>
32182
32183 * include/grub/i386/linuxbios/console.h: Add header protection.
32184 (grub_keyboard_controller_init): New function prototype.
32185 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
32186 (KEYBOARD_COMMAND_READ): Likewise.
32187 (KEYBOARD_COMMAND_WRITE): Likewise.
32188 (KEYBOARD_SCANCODE_SET1): Likewise.
32189 (grub_keyboard_controller_write): New function.
32190 (grub_keyboard_controller_read): Likewise.
32191 (grub_keyboard_controller_init): Likewise.
32192
32193 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
32194 (grub_console_init): On coreboot/LinuxBIOS, call
32195 grub_keyboard_controller_init().
32196
5f5a7c15 321972008-01-19 Robert Millan <rmh@aybabtu.com>
32198
32199 PowerPC changes provided by Pavel Roskin.
32200
32201 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
32202 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
32203 don't rely on cmain() doing it.
32204 * kern/i386/ieee1275/startup.S (_start): Store %eax in
32205 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
32206
1210e168 322072008-01-16 Robert Millan <rmh@aybabtu.com>
32208
32209 * include/grub/i386/linuxbios/memory.h
32210 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
32211 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
32212 receive `table_header' as argument. Instead, probe for it in the
32213 known memory ranges where it can be present.
32214 (grub_available_iterate): Do not pass a fixed `table_header' address
32215 to grub_linuxbios_table_iterate().
32216
3d04eab8 322172008-01-15 Robert Millan <rmh@aybabtu.com>
32218
32219 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
32220 * conf/i386-ieee1275.rmk: New file.
32221 * include/grub/i386/ieee1275/console.h: Likewise.
32222 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
32223 * include/grub/i386/ieee1275/kernel.h: Likewise.
32224 * include/grub/i386/ieee1275/time.h: Likewise.
32225 * kern/i386/ieee1275/init.c: Likewise.
32226 * kern/i386/ieee1275/startup.S: Likewise.
32227
d1bc1b73 322282008-01-15 Robert Millan <rmh@aybabtu.com>
32229
32230 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
32231 when pointers are 32-bit (but still do set it to one when they are
32232 64-bit).
32233
66a65807 322342008-01-15 Robert Millan <rmh@aybabtu.com>
32235
32236 * include/grub/ieee1275/ieee1275.h
32237 (grub_ieee1275_get_integer_property): New function prototype.
32238
32239 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
32240 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 32241 grub_ieee1275_get_property() to handle endianness.
66a65807 32242
32243 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
32244 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 32245 where appropriate.
66a65807 32246 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
32247 (grub_map): Likewise.
32248 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
32249
a83ccafd 322502008-01-15 Bean <bean123ch@gmail.com>
32251
32252 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
32253 (grub_script_execute_cmdline): Reset grub_errno.
32254
32255 * normal/main.c (read_config_file): Reset grub_errno.
32256
32257 * normal/parse.y (script_init): New.
32258 (script): Move function and menuentry here.
32259 (delimiter): New.
32260 (command): Add delimiter at the end of command.
32261 (commands): Adjust to match the new command.
32262 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 32263 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 32264 (if): Use the new commands.
32265
32266 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
32267
df6ecfc6 322682008-01-15 Robert Millan <rmh@aybabtu.com>
32269
32270 * normal/menu.c (run_menu): Move timeout message from here ...
32271 (print_timeout): ... to here.
32272 (run_menu): Use print_timeout() once during initial draw to print
32273 the whole message, and again in every clock tick to update only
32274 the number of seconds.
32275
87ae25eb 322762008-01-15 Robert Millan <rmh@aybabtu.com>
32277
32278 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
32279 actual size of `available' from grub_ieee1275_get_property(), and
32280 restrict parsing to that bound.
32281
47bf09a4 322822008-01-15 Christian Franke <franke@computer.org>
32283
32284 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
32285 (argp_program_version): Remove variable.
32286 (argp_program_bug_address): Likewise.
32287 (options): Convert from struct argp_option to struct option.
32288 (struct arguments): Remove.
32289 (parse_opt): Remove.
32290 (usage): New function.
32291 (main): Replace struct args members by simple variables.
32292 Replace argp_parse() by getopt_long().
32293 Add switch to evaluate options.
32294 Add missing "(...)" around root_dev in prefix string.
32295
c86f1469 322962008-01-14 Robert Millan <rmh@aybabtu.com>
32297
32298 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
32299 for grub_ieee1275_exit(), in order to improve portability.
32300
e622c559 323012008-01-14 Robert Millan <rmh@aybabtu.com>
32302
32303 * util/grub.d/10_linux.in (prefix): Define.
32304 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
32305
44cb1ec8 323062008-01-13 Pavel Roskin <proski@gnu.org>
32307
32308 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
32309 grub_errno if no errors have been detected.
32310
1eb8c802 323112008-01-12 Robert Millan <rmh@aybabtu.com>
32312
32313 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
32314 (grub_util_get_dev_abstraction): New function prototype.
32315
32316 * util/getroot.c: Include `<grub/util/getroot.h>'
32317 (grub_util_get_grub_dev): Move detection of abstraction type to ...
32318 (grub_util_get_dev_abstraction): ... here (new function).
32319
32320 * util/grub-probe.c: Convert PRINT_* to an enum. Add
32321 `PRINT_ABSTRACTION'.
32322 (probe): Probe for abstraction type when requested.
32323 (main): Understand `--target=abstraction'.
32324
32325 * util/i386/efi/grub-install.in: Add abstraction module to core
32326 image when it is found to be necessary.
32327 * util/i386/pc/grub-install.in: Likewise.
32328 * util/powerpc/ieee1275/grub-install.in: Likewise.
32329
32330 * util/update-grub_lib.in (font_path): Return system path without
32331 converting to GRUB path.
32332 * util/update-grub.in: Convert system path returned by font_path()
32333 to a GRUB path. Use `grub-probe -t abstraction' to determine what
32334 abstraction module is needed for loading fonts (if any). Export
32335 that as `GRUB_PRELOAD_MODULES'.
32336 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
32337 insmod commands).
32338
52bd3de9 323392008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
32340
32341 Remove some unused code from reiserfs.
f19dbdb7 32342
52bd3de9 32343 * fs/reiserfs.c (struct grub_reiserfs_key)
32344 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
32345 (struct grub_reiserfs_node_body): Removed.
32346 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
32347 Likewise.
32348 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32349 Likewise.
32350 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32351 Likewise.
32352 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32353 Likewise.
32354 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
32355 Likewise.
32356 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
32357 Likewise.
32358 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32359 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32360 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32361
2f80039d 323622008-01-10 Robert Millan <rmh@aybabtu.com>
32363
32364 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
32365 Determines if a file is garbage left by packaging systems, etc.
32366 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
32367 for processing /etc/grub.d scripts.
32368 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
32369 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
32370 as a condition for processing Linux images.
32371
87888032 323722008-01-10 Pavel Roskin <proski@gnu.org>
32373
32374 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
32375 to compile reiserfs.c on PowerPC.
32376
7e54fced 323772008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 32378
32379 * kern/device.c (grub_device_iterate): Do not abort device iteration
32380 when one of the devices cannot be opened.
32381 * kern/disk.c (grub_disk_open): Do not account previous failures of
32382 unrelated functions when grub_errno is checked for.
32383
5aa541e6 323842008-01-08 Robert Millan <rmh@aybabtu.com>
32385
32386 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
32387 `! grub_linux_is_bzimage', change order of address comparison to make
32388 it more intuitive, and improve "too big zImage" error message.
32389
7076340d 323902008-01-08 Robert Millan <rmh@aybabtu.com>
32391
32392 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
32393 `$(update-grub_DATA)'.
32394 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
32395 targets.
32396
9ca70333 323972008-01-07 Robert Millan <rmh@aybabtu.com>
32398
32399 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
32400 which instruction is modified by grub-setup during installation
32401 (since it wasn't obvious by only looking at this file).
32402
38ccf575 324032008-01-07 Robert Millan <rmh@aybabtu.com>
32404
32405 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
32406 listing actual TODO items.
32407
f5db4291 324082008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32409
868967cf 32410 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
32411 correctly.
32412 (grub_reiserfs_get_key_offset): Likewise.
32413 (grub_reiserfs_set_key_offset): Likewise.
32414 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 32415 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 32416
32417 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
32418 better to remove the bitfield version completely.
f19dbdb7 32419
868967cf 324202008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 32421
f5db4291 32422 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
32423 allocated from the heap, due to the fshelp implementation.
32424 (grub_reiserfs_dir): Free NODE, due to the same reason.
32425
492e6d9d 324262008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32427
32428 Mostly from Vincent Pelletier:
f19dbdb7 32429
492e6d9d 32430 * fs/reiserfs.c: New file.
f19dbdb7 32431
492e6d9d 32432 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
32433 (reiserfs_mod_SOURCES): New variable.
32434 (reiserfs_mod_CFLAGS): Likewise.
32435 (reiserfs_mod_LDFLAGS): Likewise.
32436
32437 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
32438 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
32439 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
32440 normal/color.c.
32441
9ce3e7c1 324422008-01-06 Robert Millan <rmh@aybabtu.com>
32443
32444 * normal/color.c: Remove `<grub/env.h>'.
32445
f3b58148 324462008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
32447
32448 * include/grub/normal.h: Include <grub/env.h>.
32449
7ac3bcfa 324502008-01-05 Robert Millan <rmh@aybabtu.com>
32451
32452 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
32453 usage example with `(hd0,1)'.
fb358190 32454 Reported by Samuel Thibault.
7ac3bcfa 32455
c8ee99d7 324562008-01-05 Robert Millan <rmh@aybabtu.com>
32457
32458 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
32459 (grub_linux_boot_zimage): Rename to ...
32460 (grub_linux_boot): ... this.
32461 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
32462 (grub_linux_boot_zimage): Conditionalize zImage copy.
32463
32464 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
32465 (grub_linux_boot_bzimage): Remove prototype.
32466 (grub_linux_boot_zimage): Rename to ...
32467 (grub_linux_boot): ... this.
32468
32469 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
32470 (grub_linux_boot): Remove function.
32471
0ece25b1 324722008-01-05 Robert Millan <rmh@aybabtu.com>
32473
32474 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
32475 (grub_env_write_color_highlight): Likewise.
32476 (grub_wait_after_message): Likewise.
32477
32478 * normal/color.c: New file.
32479
32480 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32481 (normal_mod_DEPENDENCIES): Likewise.
32482
32483 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32484 (normal_mod_DEPENDENCIES): Likewise.
32485
32486 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32487 (normal_mod_DEPENDENCIES): Likewise.
32488
32489 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32490 (normal_mod_DEPENDENCIES): Likewise.
32491
32492 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
32493 for waiting after a message is printed.
32494 * normal/main.c (read_config_file): Likewise.
32495 (grub_normal_init): Register grub_env_write_color_normal() and
32496 grub_env_write_color_highlight() hooks. Mark `color_normal' and
32497 `color_highlight' variables as global.
32498
32499 * normal/menu.c (grub_wait_after_message): New function.
32500 (grub_color_menu_normal): New variable. Replaces ...
32501 (GRUB_COLOR_MENU_NORMAL): ... this macro.
32502 (grub_color_menu_highlight): New variable. Replaces ...
32503 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
32504 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
32505 `GRUB_TERM_COLOR_STANDARD'.
32506 (print_message): Use `grub_setcolorstate' to reload colors. Rename
32507 `normal_code' and `highlight_code' to `old_color_normal' and
32508 `old_color_highlight', respectively.
32509 (grub_menu_init_page): Update colors when drawing the menu, based on
32510 `menu_color_normal' and `menu_color_highlight' variables.
32511 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
32512 a message is printed.
32513
182dd4e5 325142008-01-05 Robert Millan <rmh@aybabtu.com>
32515
32516 * kern/env.c (grub_env_context_open): Propagate hooks for global
32517 variables to new context.
32518
32519 * kern/main.c (grub_set_root_dev): Export `root' variable.
32520
ddf8f6ad 325212008-01-05 Robert Millan <rmh@aybabtu.com>
32522
32523 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 32524 discs unconditionally, since udev and others have options to provide
ddf8f6ad 32525 them.
32526
d8b43d9b 325272008-01-05 Robert Millan <rmh@aybabtu.com>
32528
32529 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
32530
2bff2de3 325312008-01-04 Christian Franke <franke@computer.org>
32532
32533 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
32534 of eisa_mmap.
32535
97eab917 325362008-01-03 Pavel Roskin <proski@gnu.org>
32537
32538 * kern/i386/linuxbios/init.c: Put "void" to all function
32539 declarations with no arguments.
32540 * kern/powerpc/ieee1275/init.c: Likewise.
32541 * term/i386/pc/at_keyboard.c: Likewise.
32542 * term/i386/pc/vga_text.c: Likewise.
32543 * util/grub-mkdevicemap.c: Likewise.
32544
b9416d00 325452008-01-02 Robert Millan <rmh@aybabtu.com>
32546
32547 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
32548 message when loaded image is out of bounds.
32549 (grub_multiboot_load_elf64): Likewise.
32550
92695df9 325512008-01-02 Pavel Roskin <proski@gnu.org>
32552
32553 * util/grub.d/10_linux.in: Try version without ".old" when
32554 looking for initrd. It's better to use initrd from the newer
32555 kernel of the same version than no initrd at all.
32556
d98d9cad 325572008-01-01 Robert Millan <rmh@aybabtu.com>
32558
32559 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
32560
dbfdce36 325612008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
32562
f19dbdb7 32563 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 32564 grub_video_get_active_render_target.
32565 (grub_video_adapter): Added unmap_color and get_active_render_target.
32566
f19dbdb7 32567 * video/video.c: Added grub_video_unmap_color and
dbfdce36 32568 grub_video_get_active_render_target.
32569 (grub_video_get_info): Changed method to accept NULL pointer as an
32570 argument to allow detection of active video adapter.
32571
32572 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
32573 grub_video_vbe_unmap_color_int.
32574 Added grub_video_vbe_unmap_color and
32575 grub_video_vbe_get_active_render_target.
32576 (grub_video_vbe_adapter): Added unmap_color and
32577 get_active_render_target.
32578
f19dbdb7 32579 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 32580 with grub_video_vbe_unmap_color_int.
32581
32582 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
32583 (DEFAULT_NORMAL_COLOR): Likewise.
32584 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
32585 (DEFAULT_FG_COLOR): Removed.
32586 (DEFAULT_BG_COLOR): Likewise.
32587 (DEFAULT_CURSOR_COLOR): Changed value.
32588 (grub_virtual_screen): Added standard_color_setting,
32589 normal_color_setting, highlight_color_setting and term_color.
32590 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
32591 (bitmap_width): Added.
32592 (bitmap_height): Likewise.
32593 (bitmap): Likewise.
32594 (set_term_color): Likewise.
32595 (grub_virtual_screen_setup): Changed to use new terminal coloring
32596 settings.
32597 (grub_gfxterm_init): Added init for bitmap.
32598 (grub_gfxterm_fini): Added destroy for bitmap.
32599 (redraw_screen_rect): Updated to use background bitmap and new
32600 terminal coloring.
32601 (scroll_up): Added optimization for case when there is no bitmap.
32602 (grub_gfxterm_cls): Fixed to use correct background color.
32603 (grub_virtual_screen_setcolorstate): Changed to use new terminal
32604 coloring.
32605 (grub_virtual_screen_setcolor): Likewise.
32606 (grub_virtual_screen_getcolor): Added.
32607 (grub_gfxterm_background_image_cmd): Likewise.
32608 (grub_video_term): Added setcolor and getcolor.
32609 (MOD_INIT): Added registration of background_image command.
32610 (MOD_TERM): Added unregistration for background_image command.
32611
c3c20931 326122007-12-30 Pavel Roskin <proski@gnu.org>
32613
32614 * loader/multiboot_loader.c: Fix multiboot command
32615 unregistration. Fix all typos in the word "multiboot".
32616
df266716 326172007-12-29 Pavel Roskin <proski@gnu.org>
94239199 32618
32619 * util/grub.d/10_linux.in: Refactor search for initrd. Add
32620 support for initrd names used in Fedora.
32621
fc6e896c 326222007-12-26 Bean <bean123ch@gmail.com>
32623
32624 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
32625 (cpio_mod_SOURCES): New variable.
32626 (cpio_mod_CFLAGS): Likewise.
32627 (cpio_mod_LDFLAGS): Likewise.
32628
32629 * fs/cpio.c: New file.
32630
32631 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
32632
32633 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32634
32635 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32636
32637 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32638
533110ad 326392007-12-25 Robert Millan <rmh@aybabtu.com>
32640
32641 * include/grub/term.h (struct grub_term): Add `getcolor' function.
32642 (grub_getcolor): New function.
32643
32644 * kern/term.c (grub_getcolor): New function.
32645 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
32646 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
32647 (print_entry): Set normal and highlight colors to
32648 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
32649 respectively, before printing and restore them to old
32650 values afterwards.
32651 (grub_menu_init_page): Likewise. Fill an additional colored space
32652 that would otherwise be left blank.
32653
32654 * term/efi/console.c (grub_console_getcolor): New function.
32655 (struct grub_console_term.getcolor): New variable.
32656 * term/i386/pc/console.c (grub_console_getcolor): New function.
32657 (struct grub_console_term.getcolor): New variable.
32658 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
32659 (struct grub_console_term.getcolor): New variable.
32660
32661 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
32662 (struct grub_console_term.setcolor): Remove variable.
32663 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
32664 (struct grub_console_term.setcolor): Remove variable.
32665 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
32666 (struct grub_console_term.setcolor): Remove variable.
32667 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
32668 (struct grub_console_term.setcolor): Remove variable.
32669
4931827f 326702007-12-25 Robert Millan <rmh@aybabtu.com>
32671
32672 * configure.ac: Search for possible unifont.hex locations, and
32673 define UNIFONT_HEX if found.
32674
32675 * Makefile.in (UNIFONT_HEX): Define variable.
32676 (DATA): Rename to ...
32677 (PKGLIB): ... this. Update all users.
32678 (PKGDATA): New variable.
32679 (pkgdata_IMAGES): Rename to ...
32680 (pkglib_IMAGES): ... this. Update all users.
32681 (pkgdata_MODULES): Rename to ...
32682 (pkglib_MODULES): ... this. Update all users.
32683 (pkgdata_PROGRAMS): Rename to ...
32684 (pkglib_PROGRAMS): ... this. Update all users.
32685 (pkgdata_DATA): Rename to ...
32686 (pkglib_DATA): ... this. Update all users.
32687 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
32688 (unicode.pff, ascii.pff): New rules.
32689 (all-local): Add `$(PKGDATA)' dependency.
32690 (install-local): Process `$(PKGDATA)'.
32691
32692 * util/update-grub_lib.in (font_path): Search for *.pff files in
32693 a few more locations, including `${pkgdata}'.
32694
57e57e31 326952007-12-23 Robert Millan <rmh@aybabtu.com>
32696
32697 Patch from Bean <bean123ch@gmail.com>:
32698 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
32699 `size'.
32700
4bc72aa9 327012007-12-21 Bean <bean123ch@gmail.com>
32702
32703 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
32704 (ntfscomp_mod_SOURCES): New variable.
32705 (ntfscomp_mod_CFLAGS): Likewise.
32706 (ntfscomp_mod_LDFLAGS): Likewise.
32707
32708 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
32709 (grub_probe_SOURCES): Likewise.
32710 (grub_emu_SOURCES): Likewise.
32711
32712 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32713 (grub_emu_SOURCES): Likewise.
32714
32715 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32716 (grub_emu_SOURCES): Likewise.
32717
32718 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32719 (grub_emu_SOURCES): Likewise.
32720
32721 * fs/ntfs.c (grub_ntfscomp_func): New variable.
32722 (read_run_list): Renamed to grub_ntfs_read_run_list.
32723 (decomp_nextvcn): Moved to ntfscomp.c.
32724 (decomp_getch): Likewise.
32725 (decomp_get16): Likewise.
32726 (decomp_block): Likewise.
32727 (read_block): Likewise.
32728 (read_data): Partially moved to ntfscomp.c.
32729 (fixup): Change unsigned to grub_uint16_t.
32730 (read_mft): Change unsigned long to grub_uint32_t.
32731 (read_attr): Likewise.
32732 (read_data): Likewise.
32733 (read_run_data): Likewise.
32734 (read_run_list): Likewise.
32735 (read_mft): Likewise.
32736
32737 * fs/ntfscomp.c: New file.
32738
32739 * include/grub/ntfs.h: New file.
32740
af680a87 327412007-12-16 Robert Millan <rmh@aybabtu.com>
32742
32743 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
32744 IDE disk check, since Linux is known to support 20 IDE disks.
32745 Reported by Colin Watson.
32746
84be7599 327472007-12-15 Bean <bean123ch@gmail.com>
32748
32749 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
32750 (lnxboot_img_SOURCES): New variable.
32751 (lnxboot_img_ASFLAGS): Likewise.
32752 (lnxboot_img_LDFLAGS): Likewise.
32753
32754 * boot/i386/pc/lnxboot.S: New file.
32755
6af9db01 327562007-11-24 Pavel Roskin <proski@gnu.org>
32757
32758 * configure.ac: Test if '--build-id=none' is supported by the
32759 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
32760 objcopy to generate incorrect binary files (binutils
32761 2.17.50.0.18-1 as shipped by Fedora 8).
32762 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
32763 linking, so that build ID doesn't break the test.
32764
7361cfe6 327652007-11-24 Pavel Roskin <proski@gnu.org>
32766
32767 * include/grub/i386/time.h: use "void" in the argument list
32768 of grub_cpu_idle().
32769 * include/grub/powerpc/time.h: Likewise.
32770 * include/grub/sparc64/time.h: Likewise.
32771
1593e10c 327722007-11-18 Christian Franke <franke@computer.org>
32773
32774 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
32775 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
32776 This fixes the problem that function keys did not work in grub-emu.
32777
3b8db1a8 327782007-11-18 Christian Franke <franke@computer.org>
32779
32780 * disk/host.c (grub_host_open): Remove attribute unused from
32781 name parameter. Add check for "host". This fixes the problem
32782 that grub-emu does not find partitions.
32783
2e29408d 327842007-11-18 Christian Franke <franke@computer.org>
32785
32786 * util/hostfs.c (is_dir): New function.
32787 (grub_hostfs_dir): Handle missing dirent.d_type case.
32788 (grub_hostfs_read): Add missing fseek().
32789 (grub_hostfs_label): Clear label pointer. This fixes a crash
32790 of grub-emu on "ls (host)".
32791
398cd047 327922007-11-18 Christian Franke <franke@computer.org>
32793
32794 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
32795 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
32796 to 64 bit boundary by default.
32797
c405c391 327982007-11-18 Bean <bean123ch@gmail.com>
32799
32800 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
32801 (hexdump_mod_SOURCES): New variable.
32802 (hexdump_mod_CFLAGS): Likewise.
32803 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 32804
c405c391 32805 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32806
32807 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32808
32809 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32810
32811 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32812
32813 * include/grub/hexdump.h: New file.
32814
32815 * commands/hexdump.c: New file.
32816
5cced7fd 328172007-11-10 Robert Millan <rmh@aybabtu.com>
32818
32819 * commands/i386/pc/play.c (beep_off): Switch order of arguments
32820 in grub_outb() calls.
32821 (beep_on): Likewise.
32822
8b714eb0 328232007-11-10 Christian Franke <franke@computer.org>
32824
32825 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
32826 (grub_menu_run): Likewise.
32827
ce0f1839 328282007-11-10 Robert Millan <rmh@aybabtu.com>
32829
32830 * include/grub/i386/efi/machine.h: New file.
32831 * include/grub/i386/linuxbios/machine.h: Likewise.
32832 * include/grub/i386/pc/machine.h: Likewise.
32833 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32834 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32835
32836 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
32837 (serial_hw_io_addr): New variable.
32838 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
32839 instead of `(unsigned short *) 0x400'.
32840
270c237d 328412007-11-10 Bean <bean123ch@gmail.com>
32842
32843 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
32844
a87783bf 328452007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32846
32847 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
32848 (vga_mod_SOURCES): Added.
32849 (vga_mod_CFLAGS): Likewise.
32850 (vga_mod_LDFLAGS): Likewise.
32851
32852 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
32853 grub_outb() calls.
32854 (set_map_mask): Likewise.
32855 (set_read_map): Likewise.
32856 (set_read_address): Likewise.
32857 (vga_font): Removed variable.
32858 (get_vga_glyph): Removed function.
32859 (invalidate_char): Likewise.
32860 (write_char): Changed to use grub_font_get_glyph() for font
32861 information.
32862 (grub_vga_putchar): Likewise.
32863 (grub_vga_getcharwidth): Likewise.
32864
6433b448 328652007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32866
32867 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
32868 flags.
32869 (pxeboot_img_LDFLAGS): Likewise.
32870 (diskboot_img_LDFLAGS): Likewise.
32871 (kernel_img_LDFLAGS): Likewise.
32872
49178511 328732007-11-06 Robert Millan <rmh@aybabtu.com>
32874
32875 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
32876 in grub_outb() calls.
32877 (serial_hw_init): Likewise.
32878
53b052de 328792007-11-05 Robert Millan <rmh@aybabtu.com>
32880
32881 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
32882 spaces. Skip non-regular files.
32883
5ab33bba 328842007-11-05 Robert Millan <rmh@aybabtu.com>
32885
32886 * kern/disk.c (grub_disk_firmware_fini)
32887 (grub_disk_firmware_is_tainted): New variables.
32888
32889 * include/grub/disk.h (grub_disk_firmware_fini)
32890 (grub_disk_firmware_is_tainted): Likewise.
32891
32892 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
32893 (grub_disk_biosdisk_fini): ... to here.
32894 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
32895 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
32896 is set. Register grub_disk_biosdisk_fini() in
32897 `grub_disk_firmware_fini'.
32898
32899 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
32900 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
32901 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
32902 to finish existing firmware disk interface.
32903
32904 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
32905 (ata_mod_SOURCES): New variable.
32906 (ata_mod_CFLAGS): Likewise.
32907 (ata_mod_LDFLAGS): Likewise.
32908
0149ab7c 329092007-11-05 Robert Millan <rmh@aybabtu.com>
32910
32911 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
32912 (grub_ata_wait): Reimplement using grub_millisleep().
32913
32914 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
32915 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
32916
be7ac41e 329172007-11-03 Marco Gerards <marco@gnu.org>
32918
32919 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
32920 (CRTC_ADDR_PORT): New macro.
32921 (CRTC_DATA_PORT): Likewise.
32922 (CRTC_CURSOR): Likewise.
32923 (CRTC_CURSOR_ADDR_HIGH): Likewise.
32924 (CRTC_CURSOR_ADDR_LOW): Likewise.
32925 (update_cursor): New function.
32926 (grub_console_real_putchar): Call `update_cursor'.
32927 (grub_console_gotoxy): Likewise.
32928 (grub_console_cls): Set the default color when clearing the
32929 screen.
32930 (grub_console_setcursor): Implemented.
32931
bb06ab2e 329322007-11-03 Marco Gerards <marco@gnu.org>
32933
32934 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
32935 become activate.
32936 (grub_ata_pio_write): Likewise.
32937
32938 (grub_atapi_identify): Wait after issuing an ATA command.
32939 (grub_atapi_packet): Likewise.
32940 (grub_ata_identify): Likewise.
32941 (grub_ata_readwrite): Likewise.
32942
cf8f780b 329432007-11-03 Marco Gerards <marco@gnu.org>
32944
32945 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
32946 (grub_ata_pio_write): Likewise.
32947 (grub_ata_readwrite): Use `grub_error', instead of
32948 returning `grub_errno'.
32949
ed649e54 329502007-11-03 Marco Gerards <marco@gnu.org>
32951
32952 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
32953 grub_ata_pio_write once for every single sector, instead of for
32954 multiple sectors.
32955
ca25d8f0 329562007-10-31 Robert Millan <rmh@aybabtu.com>
32957
32958 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
32959
32960 * conf/i386-linuxbios.rmk: New file.
32961
32962 * kern/i386/pc/hardware.c: Likewise.
32963 * term/i386/pc/at_keyboard.c: Likewise.
32964 * term/i386/pc/vga_text.c: Likewise.
32965
32966 * include/grub/i386/linuxbios/boot.h: Likewise.
32967 * include/grub/i386/linuxbios/console.h: Likewise.
32968 * include/grub/i386/linuxbios/init.h: Likewise.
32969 * include/grub/i386/linuxbios/kernel.h: Likewise.
32970 * include/grub/i386/linuxbios/loader.h: Likewise.
32971 * include/grub/i386/linuxbios/memory.h: Likewise.
32972 * include/grub/i386/linuxbios/serial.h: Likewise.
32973 * include/grub/i386/linuxbios/time.h: Likewise.
32974
32975 * kern/i386/linuxbios/init.c: Likewise.
32976 * kern/i386/linuxbios/startup.S: Likewise.
32977 * kern/i386/linuxbios/table.c: Likewise.
32978
e911ecc1 329792007-10-31 Marco Gerards <marco@gnu.org>
32980
32981 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
32982 (ata_mod_SOURCES): New variable.
32983 (ata_mod_CFLAGS): Likewise.
32984 (ata_mod_LDFLAGS): Likewise.
32985
32986 * disk/ata.c: New file.
32987
32988 * include/grub/disk.h (grub_disk_dev_id): Add
32989 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 32990
7f66d0e0 329912007-10-31 Robert Millan <rmh@aybabtu.com>
32992
32993 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
32994 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
32995
32996 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
32997 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
32998
32999 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
33000 `<grub/types.h>'.
33001
33002 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
33003
5cd7dd46 330042007-10-27 Robert Millan <rmh@aybabtu.com>
33005
3236ca65 33006 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 33007
2ebfc90f 330082007-10-22 Robert Millan <rmh@aybabtu.com>
33009
33010 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
33011 `"../realmode.S"'.
33012 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
33013
73fcb0f3 330142007-10-22 Robert Millan <rmh@aybabtu.com>
33015
33016 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
33017 (pkgdata_MODULES): Add `biosdisk.mod'.
33018 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
33019 variables.
33020
33021 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
33022 (grub_biosdisk_init): Replace with ...
33023 (GRUB_MOD_INIT(biosdisk)): ... this.
33024 (grub_biosdisk_fini): Replace with ...
33025 (GRUB_MOD_FINI(biosdisk)): ... this.
33026
33027 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
33028 (grub_machine_init): Remove call to grub_biosdisk_init().
33029 (grub_machine_fini): Remove call to grub_machine_fini().
33030
33031 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
33032
3381d274 330332007-10-22 Robert Millan <rmh@aybabtu.com>
33034
33035 * include/grub/time.h: New file.
33036 * include/grub/i386/time.h: Likewise.
33037 * include/grub/powerpc/time.h: Likewise.
33038 * include/grub/sparc64/time.h: Likewise.
33039
33040 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
33041 instances to ...
33042 (KERNEL_MACHINE_TIME_HEADER): ... this.
33043 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
33044 instances to ...
33045 (KERNEL_MACHINE_TIME_HEADER): ... this.
33046 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
33047 instances to ...
33048 (KERNEL_MACHINE_TIME_HEADER): ... this.
33049
33050 * kern/i386/efi/init.c: Include `<grub/time.h>'.
33051 (grub_millisleep): New function.
33052 * kern/i386/pc/init.c: Include `<grub/time.h>'.
33053 (grub_millisleep): New function.
33054 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
33055 Remove `grub/machine/time.h' include.
33056 (grub_millisleep): New function.
33057 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
33058 Remove `grub/machine/time.h' include.
33059 (grub_millisleep): New function.
33060
33061 * include/grub/misc.h (grub_div_roundup): New function.
33062
33063 * kern/misc.c: Include `<grub/time.h>'.
33064 (grub_millisleep_generic): New function.
33065
33066 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
33067 Add `time.h'.
33068 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
33069 Add `time.h'.
33070 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
33071 `machine/time.h'. Add `time.h'.
33072 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
33073
a39a0312 330742007-10-21 Robert Millan <rmh@aybabtu.com>
33075
33076 * include/grub/misc.h (grub_max): New function.
33077
2aad70e2 330782007-10-21 Robert Millan <rmh@aybabtu.com>
33079
33080 * util/misc.c (grub_util_info): Call fflush() before returning.
33081
54b71c4b 330822007-10-20 Robert Millan <rmh@aybabtu.com>
33083
33084 * genmk.rb (Image): Copy `extra_flags' from here ...
33085 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
33086
33087 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
33088 to `argc' and `args' arguments.
33089
a979f513 330902007-10-17 Robert Millan <rmh@aybabtu.com>
33091
33092 * kern/i386/loader.S: New file.
33093
33094 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
33095 * kern/i386/loader.S (grub_linux_prot_size)... to here.
33096 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
33097 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
33098 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
33099 * kern/i386/loader.S (grub_linux_real_addr)... to here.
33100 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
33101 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
33102 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
33103 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
33104 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
33105 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
33106 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
33107 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
33108
33109 * kern/i386/realmode.S: New file.
33110
33111 * kern/i386/pc/startup.S (protstack): Moved from here ...
33112 * kern/i386/realmode.S (protstack)... to here.
33113 * kern/i386/pc/startup.S (gdt): Moved from here ...
33114 * kern/i386/realmode.S (gdt)... to here.
33115 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
33116 * kern/i386/realmode.S (prot_to_real)... to here.
33117
33118 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
33119 `kern/i386/realmode.S'.
33120
825fc8fd 331212007-10-17 Robert Millan <rmh@aybabtu.com>
33122
33123 * include/grub/i386/loader.h: New file.
33124
33125 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
33126 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
33127 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
33128 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
33129 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
33130 * include/grub/i386/loader.h (grub_linux_prot_size)
33131 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
33132 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
33133 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
33134 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
33135
33136 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
33137
e179b2f4 331382007-10-15 Robert Millan <rmh@aybabtu.com>
33139
33140 * normal/misc.c (grub_normal_print_device_info): Do not probe for
33141 filesystem when dev->disk is unset.
33142 Do probe for filesystem even when dev->disk->has_partitions is set.
33143 In case a filesystem is found, always report it.
33144 In case it isn't, if dev->disk->has_partitions is set, report that
33145 a partition table was found instead of reporting that no filesystem
33146 could be identified.
33147
5db82af6 331482007-10-12 Robert Millan <rmh@aybabtu.com>
33149
33150 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
33151 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
33152
68f6ac74 33153 * include/grub/types.h (grub_host_to_target16): New macro.
33154 (grub_host_to_target32): Likewise.
33155 (grub_host_to_target64): Likewise.
33156 (grub_target_to_host16): Likewise.
33157 (grub_target_to_host32): Likewise.
33158 (grub_target_to_host64): Likewise.
5db82af6 33159
33160 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
33161 Renamed from to ...
33162 (GRUB_MOD_ALIGN): ...this. Update all users.
33163
68f6ac74 33164 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
33165 grub_host_to_target32.
33166 Replace grub_be_to_cpu32 with grub_target_to_host32.
33167 (load_modules): Likewise.
33168 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
33169 Replace grub_be_to_cpu32 with grub_target_to_host32.
33170 Replace grub_cpu_to_be16 with grub_host_to_target16.
33171 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 33172
3cf497cc 331732007-10-12 Robert Millan <rmh@aybabtu.com>
33174
33175 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
33176 * util/elf/grub-mkimage.c: ... here.
33177
33178 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
33179 `util/powerpc/ieee1275/grub-mkimage.c'.
33180
c8cc3692 331812007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 33182
c8cc3692 33183 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
33184 and make it easier to figure out.
33185 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
33186 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
33187 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
33188 leave us with less than HEAP_MIN_SIZE total heap.
33189 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 33190
5c58b791 331912007-10-03 Robert Millan <rmh@aybabtu.com>
33192
33193 * include/grub/i386/io.h: New file.
33194 * commands/i386/pc/play.c (inb): Removed.
33195 (outb): Removed.
33196 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
33197 with grub_outb().
afcd2ef8 33198 * term/i386/pc/serial.c (inb): Removed.
33199 (outb): Removed.
33200 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
33201 with grub_outb().
33202 * term/i386/pc/vga.c (inb): Removed.
33203 (outb): Removed.
33204 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
33205 with grub_outb().
5c58b791 33206
1a477ed6 332072007-10-02 Robert Millan <rmh@aybabtu.com>
33208
33209 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
33210 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33211 Reported by Marcin Kurek.
33212
6b5d80fa 332132007-09-07 Robert Millan <rmh@aybabtu.com>
33214
33215 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
33216 SmartFirmware version updates (as released by Sven Luther), and avoid
33217 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
33218 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
33219 known broken.
33220
5618afbf 332212007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33222
33223 From Hitoshi Ozeki:
33224 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
33225 when merging two regions.
33226
6139dcd9 332272007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33228
508e39ee 33229 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
33230 * normal/completion.c (grub_normal_do_completion): Likewise.
33231 Reported by Hitoshi Ozeki.
33232
332332007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 33234
6139dcd9 33235 Do not use devices at boot in chainloading.
f19dbdb7 33236
6139dcd9 33237 * loader/i386/pc/chainloader.c (boot_drive): New variable.
33238 (boot_part_addr): Likewise.
33239 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
33240 with BOOT_DRIVE and BOOT_PART_ADDR.
33241 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
33242 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
33243
38da6516 332442007-08-29 Robert Millan <rmh@aybabtu.com>
33245
33246 Patch from Simon Peter <dn.tlp@gmx.net>:
33247 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
33248 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
33249 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
33250 util/i386/pc/grub-setup.c_DEPENDENCIES.
33251 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
33252 util/grub-probe.c_DEPENDENCIES.
33253 * conf/powerpc-ieee1275.rmk: Likewise.
33254
29d0928c 332552007-08-28 Robert Millan <rmh@aybabtu.com>
33256
33257 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
33258 to tell grub-mkdevicemap how to name devices.
33259 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
33260 feature).
33261
33262 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
33263 util/i386/get_disk_name.c.
33264 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
33265 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
33266 util/ieee1275/get_disk_name.c.
33267
33268 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
33269
33270 * DISTLIST: Add util/i386/get_disk_name.c and
33271 util/ieee1275/get_disk_name.c.
33272
33273 * util/grub-mkdevicemap.c: Replace device naming logic with
33274 grub_util_get_disk_name() calls.
33275
5a0d3cca 332762007-08-20 Robert Millan <rmh@aybabtu.com>
33277
33278 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
33279 (so that it works for both plural and singular quantities).
33280
8b72db2f 332812007-08-05 Robert Millan <rmh@aybabtu.com>
33282
33283 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
33284 so that [xz] isn't taken into account when determining order.
33285
352466bf 332862007-08-02 Marco Gerards <marco@gnu.org>
33287
33288 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
33289 `include/multiboot2.h', `include/grub/elfload.h',
33290 `include/multiboot.h', `include/grub/multiboot.h',
33291 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
33292 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
33293 `kern/elf.c', `loader/multiboot_loader.c',
33294 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
33295 `loader/i386/pc/multiboot2.c',
33296 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
33297 `util/i386/pc/grub-mkrescue.in'. Remove
33298 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
33299 `include/grub/i386/pc/util/biosdisk.h' and
33300 `include/grub/powerpc/ieee1275/multiboot.h'.
33301
8f096014 333022007-08-02 Bean <bean123ch@gmail.com>
33303
33304 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
33305 (ntfs_mod_SOURCES): New variable.
33306 (ntfs_mod_CFLAGS): Likewise.
33307 (ntfs_mod_LDFLAGS): Likewise.
33308
33309 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
33310 (grub_probe_SOURCES): Likewise.
33311 (grub_emu_SOURCES): Likewise.
33312
33313 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
33314 (grub_emu_SOURCES): Likewise.
33315
33316 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
33317 (grub_emu_SOURCES): Likewise.
f19dbdb7 33318
8f096014 33319 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
33320
33321 * fs/ntfs.c: New file.
33322
9959f7db 333232007-08-02 Bean <bean123ch@gmail.com>
33324
33325 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
33326
33327 * file.h (grub_file): Likewise.
33328
33329 * fshelp.h (grub_fshelp_read_file): Likewise.
33330
33331 * util/i386/pc/grub-setup.c (setup): Likewise.
33332 (save_first_sector): Likewise.
33333 (save_blocklists): Likewise.
f19dbdb7 33334
9959f7db 33335 * fs/affs.c (grub_affs_read_file): Likewise.
33336
33337 * fs/ext2.c (grub_ext2_read_file): Likewise.
33338
33339 * fs/fat.c (grub_fat_read_data): Likewise.
33340
33341 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
33342
33343 * fs/hfs.c (grub_hfs_read_file): Likewise.
33344
33345 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
33346
33347 * fs/jfs.c (grub_jfs_read_file): Likewise.
33348
33349 * fs/minix.c (grub_minix_read_file): Likewise.
33350
33351 * fs/sfs.c (grub_sfs_read_file): Likewise.
33352
33353 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 33354
9959f7db 33355 * fs/xfs.c (grub_xfs_read_file): Likewise.
33356
33357 * command/blocklist.c (read_blocklist): Likewise.
33358 (print_blocklist): Likewise.
33359
0a203f83 333602007-08-02 Marco Gerards <marco@gnu.org>
33361
33362 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
33363 `util/hostfs.c'.
33364
33365 * disk/host.c: New file.
33366
33367 * util/hostfs.c: Likewise.
33368
33369 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
33370 return `GRUB_ERR_BAD_FS'.
33371 * fs/sfs.c (grub_sfs_mount): Likewise.
33372 * fs/xfs.c (grub_xfs_mount): Likewise.
33373
33374 * include/grub/disk.h (enum grub_disk_dev_id): Add
33375 `GRUB_DISK_DEVICE_HOST_ID'.
33376
33377 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
33378
e5dfe777 333792007-07-24 Jerone Young <jerone@gmail.com>
33380
f19dbdb7 33381 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 33382 modules for compilation.
33383 * conf/powerpc-ieee1275.rmk: Likewise.
33384
33385 * include/multiboot.h: Move multiboot definitions to one file. Rename
33386 many definitions to not get grub specific.
33387 * include/multiboot2.h: Create header with multiboot 2 definitions.
33388 * include/grub/multiboot.h: Header for grub specific function
33389 prototypes and definitions.
33390 * include/grub/multiboot2.h: Likewise.
33391 * include/grub/multiboot_loader.h: Likewise.
33392 * include/grub/i386/pc/multiboot.h: Removed.
33393 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
33394
33395 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
33396 and 2 to allow for one multiboot and module commands.
33397 * loader/multiboot2.c: Add multiboot2 functionality.
33398 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
33399 and definition names.
33400 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
33401 2 functions.
33402 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
33403 ieee1275 specific multiboot2 code.
33404
33405 * kern/i386/pc/startup.S: Change headers and definition names for
33406 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
33407
daf0f0ba 334082007-07-22 Robert Millan <rmh@aybabtu.com>
33409
33410 * geninitheader.sh: Process file specified in first parameter rather
33411 than hardcoding grub_modules_init.lst.
fe6b695a 33412 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 33413 than hardcoding grub_modules_init.h.
33414
33415 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
33416 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
33417 grub_probe_init.[ch] and grub_setup_init.[ch].
33418
33419 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
33420 grub_modules_init.h with grub_emu_init.h.
33421 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
33422 grub_probe_init.[ch] files.
33423 * conf/i386-efi.rmk: Likewise.
33424 * conf/i386-pc.rmk: Likewise.
33425 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
33426 grub_setup_init.[ch] files.
33427
33428 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
33429 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
33430 to initialize modules rather than a list of hardcoded functions.
33431 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
33432 grub_init_all() to initialize modules rather than a list of hardcoded
33433 functions.
33434
54cdc1cc 334352007-07-22 Robert Millan <rmh@aybabtu.com>
33436
33437 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
33438 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
33439
ad0686cc 334402007-07-22 Robert Millan <rmh@aybabtu.com>
33441
33442 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
33443 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
33444 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
33445 flag when running on SmartFirmware.
33446 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
33447 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
33448 was set.
33449
33450 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
33451 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
33452 rather than decreasing it.
33453
33454 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
33455 there's not enough space to do it, fail in the same way as when it
33456 can't be done because there are no partitions.
33457
33458 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
33459 when nvsetenv failed.
33460
969c02ec 334612007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
33462
33463 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
33464 because this rule is automatically generated.
33465 (grub-mkrescue): Removed for the same reason as above.
33466
5a79f472 334672007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
33468
33469 Migrate to GNU General Public License Version 3.
f19dbdb7 33470
5a79f472 33471 * COPYING: Replaced with the plain text version of GPLv3.
33472
33473 * config.guess: Updated from gnulib.
33474 * config.sub: Likewise.
33475
33476 * geninit.sh: Output a GPLv3 copyright notice.
33477 * geninitheader.sh: Likewise.
33478 * genmodsrc.sh: Likewise.
33479 * gensymlist.sh.in: Likewise.
33480
33481 * boot/i386/pc/boot.S: Upgraded to GPLv3.
33482 * boot/i386/pc/diskboot.S: Likewise.
33483 * boot/i386/pc/pxeboot.S: Likewise.
33484 * commands/blocklist.c: Likewise.
33485 * commands/boot.c: Likewise.
33486 * commands/cat.c: Likewise.
33487 * commands/cmp.c: Likewise.
33488 * commands/configfile.c: Likewise.
33489 * commands/echo.c: Likewise.
33490 * commands/help.c: Likewise.
33491 * commands/ls.c: Likewise.
33492 * commands/search.c: Likewise.
33493 * commands/terminal.c: Likewise.
33494 * commands/test.c: Likewise.
33495 * commands/videotest.c: Likewise.
33496 * commands/i386/cpuid.c: Likewise.
33497 * commands/i386/pc/halt.c: Likewise.
33498 * commands/i386/pc/play.c: Likewise.
33499 * commands/i386/pc/reboot.c: Likewise.
33500 * commands/i386/pc/vbeinfo.c: Likewise.
33501 * commands/i386/pc/vbetest.c: Likewise.
33502 * commands/ieee1275/halt.c: Likewise.
33503 * commands/ieee1275/reboot.c: Likewise.
33504 * commands/ieee1275/suspend.c: Likewise.
33505 * disk/loopback.c: Likewise.
33506 * disk/lvm.c: Likewise.
33507 * disk/raid.c: Likewise.
33508 * disk/efi/efidisk.c: Likewise.
33509 * disk/i386/pc/biosdisk.c: Likewise.
33510 * disk/ieee1275/ofdisk.c: Likewise.
33511 * font/manager.c: Likewise.
33512 * fs/affs.c: Likewise.
33513 * fs/ext2.c: Likewise.
33514 * fs/fat.c: Likewise.
33515 * fs/fshelp.c: Likewise.
33516 * fs/hfs.c: Likewise.
33517 * fs/hfsplus.c: Likewise.
33518 * fs/iso9660.c: Likewise.
33519 * fs/jfs.c: Likewise.
33520 * fs/minix.c: Likewise.
33521 * fs/sfs.c: Likewise.
33522 * fs/ufs.c: Likewise.
33523 * fs/xfs.c: Likewise.
33524 * hello/hello.c: Likewise.
33525 * include/grub/acorn_filecore.h: Likewise.
33526 * include/grub/arg.h: Likewise.
33527 * include/grub/bitmap.h: Likewise.
33528 * include/grub/boot.h: Likewise.
33529 * include/grub/cache.h: Likewise.
33530 * include/grub/device.h: Likewise.
33531 * include/grub/disk.h: Likewise.
33532 * include/grub/dl.h: Likewise.
33533 * include/grub/elfload.h: Likewise.
33534 * include/grub/env.h: Likewise.
33535 * include/grub/err.h: Likewise.
33536 * include/grub/file.h: Likewise.
33537 * include/grub/font.h: Likewise.
33538 * include/grub/fs.h: Likewise.
33539 * include/grub/fshelp.h: Likewise.
33540 * include/grub/gzio.h: Likewise.
33541 * include/grub/hfs.h: Likewise.
33542 * include/grub/kernel.h: Likewise.
33543 * include/grub/loader.h: Likewise.
33544 * include/grub/lvm.h: Likewise.
33545 * include/grub/misc.h: Likewise.
33546 * include/grub/mm.h: Likewise.
33547 * include/grub/net.h: Likewise.
33548 * include/grub/normal.h: Likewise.
33549 * include/grub/parser.h: Likewise.
33550 * include/grub/partition.h: Likewise.
33551 * include/grub/pc_partition.h: Likewise.
33552 * include/grub/raid.h: Likewise.
33553 * include/grub/rescue.h: Likewise.
33554 * include/grub/script.h: Likewise.
33555 * include/grub/setjmp.h: Likewise.
33556 * include/grub/symbol.h: Likewise.
33557 * include/grub/term.h: Likewise.
33558 * include/grub/terminfo.h: Likewise.
33559 * include/grub/tparm.h: Likewise.
33560 * include/grub/types.h: Likewise.
33561 * include/grub/video.h: Likewise.
33562 * include/grub/efi/api.h: Likewise.
33563 * include/grub/efi/chainloader.h: Likewise.
33564 * include/grub/efi/console.h: Likewise.
33565 * include/grub/efi/console_control.h: Likewise.
33566 * include/grub/efi/disk.h: Likewise.
33567 * include/grub/efi/efi.h: Likewise.
33568 * include/grub/efi/pe32.h: Likewise.
33569 * include/grub/efi/time.h: Likewise.
33570 * include/grub/i386/linux.h: Likewise.
33571 * include/grub/i386/setjmp.h: Likewise.
33572 * include/grub/i386/types.h: Likewise.
33573 * include/grub/i386/efi/kernel.h: Likewise.
33574 * include/grub/i386/efi/loader.h: Likewise.
33575 * include/grub/i386/efi/time.h: Likewise.
33576 * include/grub/i386/pc/biosdisk.h: Likewise.
33577 * include/grub/i386/pc/boot.h: Likewise.
33578 * include/grub/i386/pc/chainloader.h: Likewise.
33579 * include/grub/i386/pc/console.h: Likewise.
33580 * include/grub/i386/pc/init.h: Likewise.
33581 * include/grub/i386/pc/kernel.h: Likewise.
33582 * include/grub/i386/pc/loader.h: Likewise.
33583 * include/grub/i386/pc/memory.h: Likewise.
33584 * include/grub/i386/pc/multiboot.h: Likewise.
33585 * include/grub/i386/pc/serial.h: Likewise.
33586 * include/grub/i386/pc/time.h: Likewise.
33587 * include/grub/i386/pc/vbe.h: Likewise.
33588 * include/grub/i386/pc/vbeblit.h: Likewise.
33589 * include/grub/i386/pc/vbefill.h: Likewise.
33590 * include/grub/i386/pc/vbeutil.h: Likewise.
33591 * include/grub/i386/pc/vga.h: Likewise.
33592 * include/grub/ieee1275/ieee1275.h: Likewise.
33593 * include/grub/ieee1275/ofdisk.h: Likewise.
33594 * include/grub/powerpc/libgcc.h: Likewise.
33595 * include/grub/powerpc/setjmp.h: Likewise.
33596 * include/grub/powerpc/types.h: Likewise.
33597 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
33598 * include/grub/powerpc/ieee1275/console.h: Likewise.
33599 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
33600 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
33601 * include/grub/powerpc/ieee1275/loader.h: Likewise.
33602 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
33603 * include/grub/powerpc/ieee1275/time.h: Likewise.
33604 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
33605 * include/grub/sparc64/libgcc.h: Likewise.
33606 * include/grub/sparc64/setjmp.h: Likewise.
33607 * include/grub/sparc64/types.h: Likewise.
33608 * include/grub/sparc64/ieee1275/console.h: Likewise.
33609 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
33610 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
33611 * include/grub/sparc64/ieee1275/time.h: Likewise.
33612 * include/grub/util/biosdisk.h: Likewise.
33613 * include/grub/util/getroot.h: Likewise.
33614 * include/grub/util/lvm.h: Likewise.
33615 * include/grub/util/misc.h: Likewise.
33616 * include/grub/util/raid.h: Likewise.
33617 * include/grub/util/resolve.h: Likewise.
33618 * io/gzio.c: Likewise.
33619 * kern/device.c: Likewise.
33620 * kern/disk.c: Likewise.
33621 * kern/dl.c: Likewise.
33622 * kern/elf.c: Likewise.
33623 * kern/env.c: Likewise.
33624 * kern/err.c: Likewise.
33625 * kern/file.c: Likewise.
33626 * kern/fs.c: Likewise.
33627 * kern/loader.c: Likewise.
33628 * kern/main.c: Likewise.
33629 * kern/misc.c: Likewise.
33630 * kern/mm.c: Likewise.
33631 * kern/parser.c: Likewise.
33632 * kern/partition.c: Likewise.
33633 * kern/rescue.c: Likewise.
33634 * kern/term.c: Likewise.
33635 * kern/efi/efi.c: Likewise.
33636 * kern/efi/init.c: Likewise.
33637 * kern/efi/mm.c: Likewise.
33638 * kern/i386/dl.c: Likewise.
33639 * kern/i386/efi/init.c: Likewise.
33640 * kern/i386/efi/startup.S: Likewise.
33641 * kern/i386/pc/init.c: Likewise.
33642 * kern/i386/pc/lzo1x.S: Likewise.
33643 * kern/i386/pc/startup.S: Likewise.
33644 * kern/ieee1275/ieee1275.c: Likewise.
33645 * kern/powerpc/cache.S: Likewise.
33646 * kern/powerpc/dl.c: Likewise.
33647 * kern/powerpc/ieee1275/cmain.c: Likewise.
33648 * kern/powerpc/ieee1275/crt0.S: Likewise.
33649 * kern/powerpc/ieee1275/init.c: Likewise.
33650 * kern/powerpc/ieee1275/openfw.c: Likewise.
33651 * kern/sparc64/cache.S: Likewise.
33652 * kern/sparc64/dl.c: Likewise.
33653 * kern/sparc64/ieee1275/init.c: Likewise.
33654 * kern/sparc64/ieee1275/openfw.c: Likewise.
33655 * loader/efi/chainloader.c: Likewise.
33656 * loader/efi/chainloader_normal.c: Likewise.
33657 * loader/i386/efi/linux.c: Likewise.
33658 * loader/i386/efi/linux_normal.c: Likewise.
33659 * loader/i386/pc/chainloader.c: Likewise.
33660 * loader/i386/pc/chainloader_normal.c: Likewise.
33661 * loader/i386/pc/linux.c: Likewise.
33662 * loader/i386/pc/linux_normal.c: Likewise.
33663 * loader/i386/pc/multiboot.c: Likewise.
33664 * loader/i386/pc/multiboot_normal.c: Likewise.
33665 * loader/powerpc/ieee1275/linux.c: Likewise.
33666 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
33667 * normal/arg.c: Likewise.
33668 * normal/cmdline.c: Likewise.
33669 * normal/command.c: Likewise.
33670 * normal/completion.c: Likewise.
33671 * normal/execute.c: Likewise.
33672 * normal/function.c: Likewise.
33673 * normal/lexer.c: Likewise.
33674 * normal/main.c: Likewise.
33675 * normal/menu.c: Likewise.
33676 * normal/menu_entry.c: Likewise.
33677 * normal/misc.c: Likewise.
33678 * normal/parser.y: Likewise.
33679 * normal/script.c: Likewise.
33680 * normal/i386/setjmp.S: Likewise.
33681 * normal/powerpc/setjmp.S: Likewise.
33682 * normal/sparc64/setjmp.S: Likewise.
33683 * partmap/acorn.c: Likewise.
33684 * partmap/amiga.c: Likewise.
33685 * partmap/apple.c: Likewise.
33686 * partmap/gpt.c: Likewise.
33687 * partmap/pc.c: Likewise.
33688 * partmap/sun.c: Likewise.
33689 * term/gfxterm.c: Likewise.
33690 * term/terminfo.c: Likewise.
33691 * term/efi/console.c: Likewise.
33692 * term/i386/pc/console.c: Likewise.
33693 * term/i386/pc/serial.c: Likewise.
33694 * term/i386/pc/vesafb.c: Likewise.
33695 * term/i386/pc/vga.c: Likewise.
33696 * term/ieee1275/ofconsole.c: Likewise.
33697 * util/biosdisk.c: Likewise.
33698 * util/console.c: Likewise.
33699 * util/genmoddep.c: Likewise.
33700 * util/getroot.c: Likewise.
33701 * util/grub-emu.c: Likewise.
33702 * util/grub-mkdevicemap.c: Likewise.
33703 * util/grub-probe.c: Likewise.
33704 * util/lvm.c: Likewise.
33705 * util/misc.c: Likewise.
33706 * util/raid.c: Likewise.
33707 * util/resolve.c: Likewise.
33708 * util/update-grub.in: Likewise.
33709 * util/update-grub_lib.in: Likewise.
33710 * util/grub.d/00_header.in: Likewise.
33711 * util/grub.d/10_hurd.in: Likewise.
33712 * util/grub.d/10_linux.in: Likewise.
33713 * util/i386/efi/grub-install.in: Likewise.
33714 * util/i386/efi/grub-mkimage.c: Likewise.
33715 * util/i386/pc/grub-install.in: Likewise.
33716 * util/i386/pc/grub-mkimage.c: Likewise.
33717 * util/i386/pc/grub-mkrescue.in: Likewise.
33718 * util/i386/pc/grub-setup.c: Likewise.
33719 * util/i386/pc/misc.c: Likewise.
33720 * util/powerpc/ieee1275/grub-install.in: Likewise.
33721 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
33722 * util/powerpc/ieee1275/misc.c: Likewise.
33723 * video/bitmap.c: Likewise.
33724 * video/video.c: Likewise.
33725 * video/i386/pc/vbe.c: Likewise.
33726 * video/i386/pc/vbeblit.c: Likewise.
33727 * video/i386/pc/vbefill.c: Likewise.
33728 * video/i386/pc/vbeutil.c: Likewise.
33729 * video/readers/tga.c: Likewise.
33730
3572d015 337312007-07-02 Robert Millan <rmh@aybabtu.com>
33732
33733 * conf/i386-efi.rmk: Replace obsolete reference to
33734 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
33735 with util/getroot.c.
33736 * conf/powerpc-ieee1275.rmk: Likewise.
33737 * conf/sparc64-ieee1275.rmk: Likewise.
33738
33739 * util/grub-emu.c (main): Fix unchecked pointer handling.
33740
2c2a681b 337412007-07-02 Robert Millan <rmh@aybabtu.com>
33742
33743 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
33744 invocation to fail, in order to support partition-less media.
33745
33746 * util/i386/pc/grub-install.in: Likewise.
33747
33748 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
33749 which fs or partmap modules are needed (akin to its sister scripts).
33750
33751 Also use grub-probe to get rid of unportable /proc/mounts check.
33752
33753 Print the same informational message that the other scripts do, before
fe6b695a 33754 exiting.
2c2a681b 33755
6193defe 337562007-06-23 Robert Millan <rmh@aybabtu.com>
33757
fe6b695a 33758 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 33759 a font file can be found and, if so, echo the GRUB path to it.
33760
33761 * util/update-grub.in: Handle multiple terminals depending on user
33762 input, platform availability and font file presence. Propagate
33763 variables of our findings to /etc/grub.d/ children.
33764
33765 * util/grub.d/00_header.in: Handle multiple terminals, based on
33766 environment setup by update-grub.
33767
eface1dc 337682007-06-23 Robert Millan <rmh@aybabtu.com>
33769
ba50d28f 33770 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 33771
bf697e28 337722007-06-21 Robert Millan <rmh@aybabtu.com>
33773
33774 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
33775 indicate end of data section in kernel image.
33776 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
33777 GRUB_KERNEL_MACHINE_DATA_END.
33778
33779 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
33780 space for it.
33781 * kern/i386/efi/startup.S: Likewise.
33782
33783 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
33784 during image generation. Implement --prefix option to override this
33785 patch.
33786 * util/i386/efi/grub-mkimage.c: Likewise.
33787
33788 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
33789 code to make path relative to its root into a separate function.
33790
33791 * util/i386/pc/grub-install.in: Use newly provided
33792 make_system_path_relative_to_its_root() to convert ${grubdir}, then
33793 pass the result to grub-install --prefix.
33794
baa574b4 337952007-06-13 Robert Millan <rmh@aybabtu.com>
33796
33797 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
33798 DEFAULT_DEVICE_MAP.
33799 * util/grub-emu.c: Use above definitions from misc.h instead of
33800 defining them.
33801 * util/grub-mkdevicemap.c: Likewise.
33802 * util/i386/pc/grub-setup.c: Likewise.
33803 * util/grub-probe.c: Likewise.
33804 (probe): Abort with grub_util_error() when either
33805 grub_guess_root_device or grub_util_get_grub_dev fails.
33806
0215dcbf 338072007-06-12 Robert Millan <rmh@aybabtu.com>
33808
33809 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
33810 "pager" assignment.
33811 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
33812 "pcdata".
33813 * util/grub-probe.c (probe): Likewise for "drive_name".
33814
8af2ab7b 338152007-06-11 Robert Millan <rmh@aybabtu.com>
33816
33817 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
33818 not just the cdrom one.
33819
59d31694 338202007-06-11 Robert Millan <rmh@aybabtu.com>
33821
33822 * util/i386/pc/grub-mkrescue.in: Add "set -e".
33823 Add --pkglibdir=DIR option to override pkglibdir.
33824 Mention --image-type=TYPE in help output.
33825 Fix --grub-mkimage (it was a no-op).
fe6b695a 33826 Abort gracefully when no parameter is given.
59d31694 33827
7ee367e4 338282007-06-11 Robert Millan <rmh@aybabtu.com>
33829
33830 * util/i386/pc/grub-mkrescue.in: New file.
33831 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
33832 * Makefile.in: Handle bin_SCRIPTS.
33833
29b0ed46 338342007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
33835
33836 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
33837 list of video modes.
33838
c0f90770 338392007-06-06 Robert Millan <rmh@aybabtu.com>
33840
33841 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
33842 file doesn't exist, or if it is in a filesystem grub can't read.
33843
33844 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
33845 not abort if GRUB_DRIVE could not be defined. Rearrange generated
33846 header comment to fit in 80 columns when the variables are resolved.
33847
33848 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
33849 could be identified by update-grub. Remove redundant check for
fe6b695a 33850 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 33851 handles that).
33852
fb36dc26 338532007-06-04 Robert Millan <rmh@aybabtu.com>
33854
33855 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
33856
33857 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
33858
33859 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
33860
0c68c93e 338612007-06-04 Robert Millan <rmh@aybabtu.com>
33862
33863 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
33864
33865 * include/grub/partition.h: Declare grub_apple_partition_map_init and
33866 grub_apple_partition_map_fini.
33867
33868 * util/biosdisk.c
33869 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
33870 to access >2 TiB disks).
33871
33872 Print disk->total_sectors with %llu instead of %lu, since this
33873 variable is always 64-bit (prevents wrong disk size from being displayed
33874 on either >2 TiB disk or big-endian CPU).
33875
33876 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
33877 into a generic case that supports all (sane) partition maps.
33878
33879 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
33880 breaks big-endian.
33881
33882 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
33883 and grub_apple_partition_map_fini() after that.
33884
0f23eb74 338852007-06-01 Robert Millan <rmh@aybabtu.com>
33886
33887 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
33888
33889 * util/grub.d/00_header.in: Only enable gfxterm when
33890 convert_system_path_to_grub_path() succeeds.
33891
42c71976 338922007-05-20 Robert Millan <rmh@aybabtu.com>
33893
33894 * util/update-grub_lib.in: New file.
33895 * DISTLIST: Add update-grub_lib.in.
33896 * conf/common.rmk: Generate update-grub_lib and install it in
33897 $(lib_DATA).
33898 * Makefile.in: Add install routine for $(lib_DATA).
33899
33900 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
33901 function provided by update-grub_lib to support arbitrary paths of
33902 unifont.pff.
33903 * util/update-grub.in: Use convert_system_path_to_grub_path() to
33904 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
33905
5beb2291 339062007-05-19 Robert Millan <rmh@aybabtu.com>
33907
33908 * commands/i386/cpuid.c: New module.
33909 * DISTLIST: Add it.
33910 * conf/i386-efi.rmk: Enable cpuid.mod.
33911 * conf/i386-pc.rmk: Likewise.
33912
7262eca1 339132007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
33914
33915 * kern/disk.c (grub_disk_read): Check return value of
33916 grub_realloc().
33917
260ba823 339182007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
33919
33920 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
33921 arrays.
33922 * disk/raid.c (grub_raid_open): Likewise.
33923
1ecb6cf2 339242007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
33925
33926 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
33927 stack instead of on the heap.
33928
33929 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
33930 before doing a read on it.
33931
33932 * configure.ac: Only use -fno-stack-protector for the target
33933 environment.
f19dbdb7 33934
21c8cbb1 339352007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
33936
33937 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
33938 __attribute_ ((unused)) to mode_type argument.
33939
33940 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 33941
21c8cbb1 33942 * kern/misc.c (memcmp): Fix prototype.
33943
33944 * include/grub/partition.h [GRUB_UTIL]
33945 (grub_gpt_partition_map_init): Add prototype.
33946 (grub_gpt_partition_map_fini): Likewise.
33947
33948 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
33949 at the right place.
33950
33951 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
33952 (grub_fat_read_data): Likewise.
33953 (grub_fat_find_dir): Likewise.
33954
33955 * font/manager.c (find_glyph): Make table a const.
33956 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 33957
849d55d3 339582007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
33959
33960 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
33961 code, first search for device in /dev/mapper, then in /dev.
33962 (grub_util_get_grub_dev): New function.
33963 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
33964 prototype.
33965 * util/grub-probe.c (probe): Remove check for RAID, call
33966 grub_util_get_grub_dev() instead of
33967 grub_util_biosdisk_get_grub_dev().
33968 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
33969 grub_util_biosdisk_get_grub_dev().
33970 * util/i386/pc/grub-setup.c (main): Likewise.
33971
8fff7c2f 339722007-05-16 Robert Millan <rmh@aybabtu.com>
33973
33974 * DISTLIST: Update for the latest changes.
33975 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
33976 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
33977 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
33978 grub/util/biosdisk.h.
33979 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
33980 grub/util/biosdisk.h.
33981
48e12b52 339822007-05-16 Robert Millan <rmh@aybabtu.com>
33983
33984 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
33985
46b9d128 339862007-05-16 Robert Millan <rmh@aybabtu.com>
33987
33988 * util/i386/efi/grub-install.in: New.
33989 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
33990 newly added grub-install.
33991 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
33992 include.
33993 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
33994 grub/util/biosdisk.h.
33995 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
33996 grub/util/biosdisk.h.
33997
2d1a40a9 339982007-05-16 Robert Millan <rmh@aybabtu.com>
33999
34000 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
34001 * include/grub/util/biosdisk.h: ... here.
34002 * util/i386/pc/biosdisk.c: Moved to ...
34003 * util/biosdisk.c: ... here.
34004 * util/i386/pc/getroot.c: Moved to ...
34005 * util/getroot.c: ... here.
34006 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
34007 * util/grub-mkdevicemap.c: ... here.
34008 * util/i386/pc/grub-probe.c: Moved to ...
34009 * util/grub-probe.c: ... here.
34010
9e26e3bc 340112007-05-15 Robert Millan <rmh@aybabtu.com>
34012
34013 * util/update-grub.in: Remove duplicated line in grub.cfg header
34014 message.
34015
57f96397 340162007-05-13 Robert Millan <rmh@aybabtu.com>
34017
34018 * util/update-grub.in: Fix a few assumptions about the devices holding
34019 /, /boot and /boot/grub being the same.
34020 * util/grub.d/00_header.in: Likewise.
34021 * util/grub.d/10_hurd.in: Likewise.
34022 * util/grub.d/10_linux.in: Likewise.
34023
34024 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
34025 patterns. Use that to define the `.old' suffix as older than `'.
34026
34027 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
34028
34029 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
34030 the grub.cfg header message.
34031
2e610d62 340322007-05-11 Robert Millan <rmh@aybabtu.com>
34033
34034 * util/update-grub.in: Create device.map if it doesn't already exist,
34035 before attempting to run grub-probe.
34036 Check for grub-probe and grub-mkdevicemap with the same code
34037 grub-install is using.
34038 Remove test mode.
34039
3f6a10ef 340402007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
34041
34042 * Makefile.in: Add the datarootdir autoconf variable.
34043
02e7b75e 340442007-05-09 Robert Millan <rmh@aybabtu.com>
34045
34046 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 34047 fail gracefully if dev->disk->partition == NULL.
02e7b75e 34048
75f396cc 340492007-05-07 Robert Millan <rmh@aybabtu.com>
34050
34051 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
34052 determine partition map module.
34053 * util/i386/pc/grub-install.in: Use this feature to decide which
34054 partition module to load, instead of hardcoding pc and gpt.
34055
da65cb36 340562007-05-07 Robert Millan <rmh@aybabtu.com>
34057
34058 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
34059 source directory differs from build directory.
34060
b57d6a91 340612007-05-05 Robert Millan <rmh@aybabtu.com>
34062
34063 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
34064 initialisation.
34065
509d00f1 340662007-05-05 Robert Millan <rmh@aybabtu.com>
34067
34068 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
34069
c48f23ef 340702007-05-05 Robert Millan <rmh@aybabtu.com>
34071
34072 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
34073 command-line arguments via ${GRUB_CMDLINE_LINUX}.
34074
20b97658 340752007-05-05 Robert Millan <rmh@aybabtu.com>
34076
34077 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
34078 (grub_probe_SOURCES): Likewise.
34079 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
34080 GPT and initialize dos_part and bsd_part accordingly.
34081 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
34082 install_bsd_part.
34083 (main): Activate gpt module for use during partition identification,
34084 and deactivate it afterwards.
34085 * util/i386/pc/grub-install.in: Add gpt module to core.img.
34086 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
34087 partition identification, and deactivate it afterwards.
34088
99123174 340892007-05-05 Robert Millan <rmh@aybabtu.com>
34090
34091 * term/i386/pc/console.c (grub_console_fini): Call
34092 grub_term_set_current() before grub_term_unregister().
34093
ebd97f6e 340942007-05-04 Robert Millan <rmh@aybabtu.com>
34095
34096 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
34097 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
34098 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
34099 and update-grub_DATA.
34100 * conf/common.rmk: Build and install update-grub components.
34101 * conf/common.mk: Regenerate.
34102 * util/update-grub.in: New. Core of update-grub.
34103 * util/grub.d/00_header.in: New. Generates grub.cfg header.
34104 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
34105 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
34106 * util/grub.d/README: New. Document grub.d directory layout.
34107
b06a264d 341082007-05-01 Robert Millan <rmh@aybabtu.com>
34109
34110 * util/grub-emu.c: Move initialization functions
34111 grub_util_biosdisk_init() and grub_init_all() before
34112 grub_util_biosdisk_get_grub_dev(), which relies on them.
34113
41f0050e 341142007-04-19 Robert Millan <rmh@aybabtu.com>
34115
34116 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
34117 it is used later.
34118
04582bb3 341192007-04-18 Jerone Young <jerone@gmail.com>
34120
f19dbdb7 34121 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 34122 stanza.
34123
08db4632 341242007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 34125
08db4632 34126 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
34127 continue on and look for device node with real device name.
34128
801b76be 341292007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 34130
fe6b695a 34131 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 34132 ability.
34133 * Makefile.in: Add autoconf package transformation code.
34134 * util/i386/pc/grub-install.in: Likewise.
34135 * util/powerpc/ieee1275/grub-install.in: Likewise.
34136
6795c4e1 341372007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
34138
34139 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
34140 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
34141 (EXT2_REVISION): Likewise.
34142 (EXT2_INODE_SIZE): Likewise.
34143 (struct grub_ext2_block_group): Added a missing member
34144 "used_dirs".
34145 (grub_ext2_read_inode): Divide by the inode size in a superblock
34146 instead of 128 to obtain INODES_PER_BLOCK.
34147 Use the macro EXT2_INODE_SIZE instead of directly using
34148 SBLOCK->INODE_SIZE.
34149
d70af616 341502007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
34151
34152 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
34153 superblock instead of the structure size to compute an
34154 offset. This fixes the problem that GRUB could not read a
34155 filesystem when inode size is different from 128-byte.
34156
3b801603 341572007-03-05 Marco Gerards <marco@gnu.org>
34158
34159 * normal/main.c (read_config_file): When "menu" is not set, create
34160 an initial context.
34161
4785bfe4 341622007-02-21 Hollis Blanchard <hollis@penguinppc.org>
34163
34164 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
34165 (HEAP_LIMIT): New macro.
34166 (grub_claim_heap): Claim memory up to `heaplimit'.
34167
a0cbb023 341682007-02-21 Hollis Blanchard <hollis@penguinppc.org>
34169
34170 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
34171 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
34172 (_start): Likewise.
34173 (grub_arch_modules_addr): Return address after `_end'.
34174 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
34175 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
34176 (add_segments): Calculate `_end' from phdr size and location.
34177 (ALIGN_UP): Moved to ...
34178 * include/grub/misc.h: here.
34179 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
34180 New macro.
34181 (GRUB_IEEE1275_MODULE_BASE): Removed.
34182
fd7d8eba 341832007-02-20 Hollis Blanchard <hollis@penguinppc.org>
34184
34185 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
34186 loop boundary.
34187
9b09e6fc 341882007-02-20 Hollis Blanchard <hollis@penguinppc.org>
34189
34190 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
34191 All users updated.
34192 (grub_elf64_load_hook_t): Likewise.
34193 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
34194 debug output.
34195
3ce27299 341962007-02-20 Hollis Blanchard <hollis@penguinppc.org>
34197
34198 * kern/mm.c: Update copyright.
34199 (grub_mm_debug): Correct syntax error.
34200 (grub_mm_dump_free): New function.
34201 (grub_debug_free): Call `grub_free'.
34202 * include/grub/mm.h: Update copyright.
34203 (grub_mm_dump_free): Add declaration.
34204
077d5fee 342052007-02-12 Hollis Blanchard <hollis@penguinppc.org>
34206
34207 * include/grub/ieee1275/ieee1275.h: Update copyright.
34208 * kern/powerpc/ieee1275/init.c: Likewise.
34209 * kern/powerpc/ieee1275/openfw.c: Likewise.
34210
34211 * loader/powerpc/ieee1275/linux.c: Likewise.
34212 * include/grub/elfload.h: Likewise.
34213 * kern/elf.c: Likewise.
34214 (grub_elf32_load): Pass `base' and `size' parameters. Update all
34215 callers.
34216 (grub_elf64_load): Likewise.
34217 (grub_elf32_load_segment): Move to a nested function.
34218 (grub_elf64_load_segment): Likewise.
34219
dc946850 342202007-02-12 Hollis Blanchard <hollis@penguinppc.org>
34221
34222 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
34223 prototype.
34224 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
34225 (grub_heap_len): Likewise.
34226 (HEAP_SIZE): New macro.
34227 (grub_claim_heap): New function.
34228 (grub_machine_init): Don't claim heap directly. Call
34229 `grub_claim_heap'.
34230 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
34231 (grub_available_iterate): New function.
34232
baa2a121 342332007-02-03 Thomas Schwinge <tschwinge@gnu.org>
34234
34235 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
34236 * configure.ac: Use it for testing the HOST and TARGET compilers.
34237
4fe9862e 342382006-12-13 Thomas Schwinge <tschwinge@gnu.org>
34239
34240 * Makefile.in (enable_grub_emu): New variable.
34241 * configure.ac (--enable-grub-emu): New option.
34242 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
34243 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
34244 * conf/i386-pc.rmk: Likewise.
34245 * conf/powerpc-ieee1275.rmk: Likewise.
34246 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
34247
a8aa5762 342482006-12-12 Marco Gerards <marco@gnu.org>
34249
34250 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
34251
34252 * kern/env.c (grub_env_unset): Don't free the member `value' when
34253 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
34254 pointer.
34255
34256 * normal/main.c (current_menu): Removed.
34257 (free_menu): Unset the `menu' environment variable.
34258 (grub_normal_menu_addentry): Make use of the environment variable
34259 `menu', instead of using the global `current_menu'. Allocate
34260 memory for the sourcecode of this entry.
34261 (read_config_file): New argument `nested', changed all callers.
34262 Only in the case of a new context, initialize a new menu. Set the
34263 `menu' environment variable.
34264 (grub_normal_execute): Don't set and unset the environment
34265 variable `menu' here anymore. Only free the menu when leaving the
34266 context.
34267
34268 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
34269 leak.
34270
957b3a3e 342712006-12-11 Marco Gerards <marco@gnu.org>
34272
34273 * normal/menu_entry.c (run): Fix off by one bug so the last line
34274 is executed. Move the loader check to outside the loop.
34275
ef875714 342762006-12-08 Hollis Blanchard <hollis@penguinppc.org>
34277
34278 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
34279
4e739985 342802006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
34281
34282 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
34283 the number of sectors. Reported by Andrey Shuvikov
34284 <mr_hyro@yahoo.com>.
f19dbdb7 34285
790707f2 342862006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
34287
34288 * kern/disk.c (grub_disk_read): When there is a read error, always
34289 try to read only the necessary data.
f19dbdb7 34290
790707f2 34291 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
34292 disk/raid.c.
34293 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
34294 prototype.
34295 [GRUB_UTIL] (grub_raid_fini): Likewise.
34296 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 34297 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 34298 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
34299 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
34300 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
34301 and grub_raid_fini().
f19dbdb7 34302
03e58196 343032006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
34304
34305 * include/grub/types.h (__unused): Rename to UNUSED.
34306 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
34307 (grub_elf64_size): Likewise.
f19dbdb7 34308
ae4f23bf 343092006-11-03 Hollis Blanchard <hollis@penguinppc.org>
34310
34311 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
34312 grub_error_push and grub_error_pop in the error-handling path.
34313 (grub_elf32_load_segment): Only call grub_file_read with non-zero
34314 length.
34315
2166cc83 343162006-11-03 Hollis Blanchard <hollis@penguinppc.org>
34317
34318 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
34319 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34320 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34321 (kernel_elf_SOURCES): Likewise.
34322 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
34323 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
34324 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34325 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34326 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
34327 (elf_mod_SOURCES): New variable.
34328 (elf_mod_CFLAGS): Likewise.
34329 (elf_mod_LDFLAGS): Likewise.
34330 * include/grub/types.h (__unused): New macro.
34331 * include/grub/elfload.h: New file.
34332 * kern/elf.c: Likewise.
34333 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
34334 (ELF32_LOADMASK): New macro.
34335 (ELF64_LOADMASK): Likewise.
34336 (vmlinux): Removed.
34337 (grub_linux_load32): New function.
34338 (grub_linux_load64): Likewise.
34339 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
34340 Use grub_elf_t instead of grub_file_t.
34341
a09d5aa5 343422006-11-02 Hollis Blanchard <hollis@penguinppc.org>
34343
34344 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
34345 `catch_result' to struct set_color_args.
34346
d976fc51 343472006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
34348
34349 * normal/menu.c: Include grub/script.h.
34350 * normal/menu_entry.c: Likewise.
34351 * include/grub/normal.h: Do not include grub/script.h.
34352
67507549 343532006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34354
34355 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
34356
69203a99 343572006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34358
34359 * kern/disk.c (grub_disk_open): Print debug messages when opening a
34360 disk.
34361 (grub_disk_close): Print debug messages when closing a disk.
34362 (grub_disk_read): Print debug messages when disk read fails.
34363 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
34364 filesystem type.
34365 * kern/partition.c: Include misc.h.
34366 (grub_partition_iterate): Print debug messages when detecting
34367 partition type.
34368
e2b8278c 343692006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34370
34371 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
34372 is negative.
34373 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
34374
97b2f2ff 343752006-10-26 Hollis Blanchard <hollis@penguinppc.org>
34376
34377 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
34378 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
34379
6555d655 343802006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
34381
34382 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
34383 instead of sizeof(lv). Patch by Michael Guntsche.
34384
4d42b77f 343852006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
34386
34387 * disk/lvm.c: Rename VGS to VG_LIST.
34388 (grub_lvm_iterate): Change VGS->LV to VG-LV.
34389 (grub_lvm_open): Likewise.
34390 Thanks to Michael Guntsche for finding this bug.
34391
5d74d927 343922006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34393
34394 * configure.ac (AC_INIT): Bumped to 1.95.
34395
a1bb27e4 343962006-10-14 Robert Millan <rmh@aybabtu.com>
34397
34398 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
34399 with "/dev/.static/dev/md".
34400
e0994b8b 344012006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
34402
34403 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
34404 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
34405 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
34406 DRIVE_NAME are always freed.
34407
34408 * util/i386/pc/biosdisk.c (make_device_name): Add one into
34409 DOS_PART, as a DOS partition is counted from one instead of zero
34410 now. Reported by Robert Millan.
34411
ddd5cee9 344122006-10-14 Robert Millan <rmh@aybabtu.com>
34413
34414 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
34415 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
34416 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
34417 string returned by grub_guess_root_device.
34418 * util/i386/pc/grub-setup.c: Likewise.
34419 * util/i386/pc/grub-probefs.c: Likewise.
34420
34421 * util/i386/pc/grub-probefs.c: Rename to ...
34422 * util/i386/pc/grub-probe.c: ... this.
34423 * DISTLIST: Remove grub-probefs, add grub-probe.
34424 * conf/i386-efi.rmk: Likewise.
34425 * conf/i386-pc.rmk: Likewise.
34426 * util/i386/pc/grub-install.in: Likewise.
34427
34428 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
34429 choose which information we want to print.
34430
2b002173 344312006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
34432
34433 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
34434 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
34435 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
34436 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
34437 video/readers/tga.c and video/i386/pc/vbeutil.c.
34438
344392006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
34440
34441 Added support for RAID and LVM.
f19dbdb7 34442
2b002173 34443 * disk/lvm.c: New file.
34444 * disk/raid.c: Likewise.
34445 * include/grub/lvm.h: Likewise.
f19dbdb7 34446 * include/grub/raid.h: Likewise.
2b002173 34447 * include/grub/util/lvm.h: Likewise.
34448 * include/grub/util/raid.h: Likewise.
34449 * util/lvm.c: Likewise.
34450 * util/raid.c: Likewise.
34451
34452 * include/grub/disk.h (grub_disk_dev_id): Add
34453 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
34454 (grub_disk_get_size): New prototype.
34455 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
34456 returns a partition.
34457 (grub_disk_get_size): New function.
f19dbdb7 34458
2b002173 34459 * kern/i386/pc/init.c (make_install_device): Copy the prefix
34460 verbatim if grub_install_dos_part is -2.
34461
34462 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
34463 and LVM devices.
34464
34465 * util/i386/pc/grub-setup.c (setup): New argument
34466 MUST_EMBED. Force embedding of GRUB when the argument is
34467 true. Close FILE before returning.
34468 (main): Add support for RAID and LVM.
f19dbdb7 34469
2b002173 34470 * conf/common.rmk: Add RAID and LVM modules.
34471 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
34472 util/lvm.c.
34473 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
34474
34475 * kern/misc.c (grub_strstr): New function.
34476 * include/grub/misc.h (grub_strstr): New prototype.
34477
050548d0 344782006-10-10 Tristan Gingold <tristan.gingold@bull.net>
34479
34480 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
34481
da849d2d 344822006-10-05 Tristan Gingold <tristan.gingold@bull.net>
34483
34484 * kern/misc.c (grub_strtoull): Guess the base only if not
34485 specified.
34486
97b2f2ff 344872006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 34488
34489 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
34490 PowerMac support.
34491
97b2f2ff 344922006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 34493
34494 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
34495
34496 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
34497 Remove `flags' argument. All callers changed.
34498 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
34499 (IEEE1275_IHANDLE_INVALID): New variable.
34500 (IEEE1275_CELL_INVALID): New variable.
34501 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
34502 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
34503 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
34504 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
34505 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
34506 codes from Open Firmware. All callers updated.
34507 (grub_ieee1275_next_property): Directly return Open Firmware return
34508 code.
34509 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
34510 Standardize error checking from `grub_ieee1275_get_property'.
34511 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
34512 `devalias' to `aliases'. Correct comments. Consolidate error paths.
34513
97b2f2ff 345142006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 34515
34516 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
34517 `instance_to_package_args' to `instance_to_path_args'.
34518
34519 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
34520 `grub_ieee1275_chosen'.
34521
34522 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
34523 `grub_ieee1275_interpret'.
34524
97b2f2ff 345252006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 34526
34527 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
34528
97b2f2ff 345292006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 34530
34531 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
34532 (__cmpdi): Likewise.
34533
34534 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
34535 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
34536 `grub_ssize_t'.
34537
02bb8acc 34538 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 34539
34540 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
34541 to type `grub_ssize_t'.
34542 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
34543
7f9a8531 345442006-09-22 Marco Gerards <marco@gnu.org>
34545
34546 * normal/script.c (grub_script_create_cmdmenu): Skip leading
34547 newlines.
34548
b5ef1102 345492006-09-22 Marco Gerards <marco@gnu.org>
34550
34551 * commands/echo.c: New file.
34552
34553 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
34554
34555 * conf/common.rmk (echo_mod_SOURCES): New variable.
34556 (echo_mod_CFLAGS): Likewise.
34557 (echo_mod_LDFLAGS): Likewise.
34558
2cff3677 345592006-09-22 Marco Gerards <marco@gnu.org>
34560
34561 * normal/main.c (get_line): Malloc memory instead of using
34562 preallocated memory. Removed the arguments `cmdline' and
34563 `max_len'. Updated all callers.
34564
6ba4688b 345652006-09-22 Marco Gerards <marco@gnu.org>
34566
34567 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
34568 (normal_mod_DEPENDENCIES): Likewise.
34569
34570 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
34571 (normal_mod_DEPENDENCIES): Likewise.
34572
34573 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
34574
e02ac02c 345752006-09-22 Johan Rydberg <jrydberg@gnu.org>
34576
34577 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
34578 programs.
34579 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
34580 (normal_mod_DEPENDENCIES): Likewise.
34581 * conf/i386-pc.mk: Regenerate.
34582 * conf/i386-efi.mk: Likewise
34583 * conf/common.mk: Likewise.
34584 * conf/powerpc-ieee1275.mk: Likewise.
34585 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 34586
8d252e44 345872006-09-22 Robert Millan <rmh@aybabtu.com>
34588
34589 Sync with i386 version.
34590 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
34591 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
34592
209bf7ac 345932006-09-21 Robert Millan <rmh@aybabtu.com>
34594
34595 Import from GRUB Legacy (lib/device.c):
34596 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
34597 (init_device_map) [__linux__]: Add support for I2O devices.
34598
6b146090 345992006-09-14 Marco Gerards <marco@gnu.org>
34600
34601 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
34602 `-melf_i386'.
34603
e38600a8 346042006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 34605
34606 * util/i386/pc/grub-install.in: Skip menu.lst when removing
34607 /boot/grub/*.lst.
78fa1790 34608
2952da5d 34609 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 34610
2952da5d 34611 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
34612 before adding it to device.map.
34613
01b82a64 346142006-08-15 Johan Rydberg <jrydberg@gnu.org>
34615
fe6b695a 34616 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 34617 compiles a file; using the -MD option.
34618 * conf/common.mk: Regenerate.
34619 * conf/i386-pc.mk: Likewise.
34620 * conf/i386-efi.mk: Likewise.
34621 * conf/powerpc-ieee1275.mk: Likewise.
34622 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 34623
1064790d 346242006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
34625
34626 Move the prototypes of grub_setjmp and grub_longjmp to
34627 cpu/setjmp.h, so that each architecture may specify different
34628 attributes.
f19dbdb7 34629
1064790d 34630 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
34631 (grub_longjmp): Likewise.
34632 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
34633 (grub_longjmp): Likewise.
34634 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
34635 (grub_longjmp): Likewise.
34636
34637 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
34638 [!GRUB_UTIL] (grub_longjmp): Removed.
34639
29dda3ed 346402006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
34641
34642 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
34643 "color!" method does not return any value.
34644
ad2a06ed 346452006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34646
34647 * include/grub/bitmap.h: New file.
34648
34649 * include/grub/i386/pc/vbeutil.h: Likewise.
34650
34651 * video/bitmap.c: Likewise.
34652
34653 * video/readers/tga.c: Likewise.
34654
34655 * video/i386/pc/vbeutil.c: Likewise.
34656
34657 * commands/videotest.c: Code cleanup and updated to reflect to new
34658 video API.
34659
34660 * term/gfxterm.c: Likewise.
34661
34662 * video/video.c: Likewise.
34663
34664 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
34665 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
34666 (bitmap_mod_SOURCES): New entry.
34667 (bitmap_mod_CFLAGS): Likewise.
34668 (bitmap_mod_LDFLAGS): Likewise.
34669 (tga_mod_SOURCES): Likewise.
34670 (tga_mod_CFLAGS): Likewise.
34671 (tga_mod_LDFLAGS): Likewise.
34672
34673 * include/grub/video.h (grub_video_blit_operators): New enum type.
34674 (grub_video_render_target): Changed as forward declaration and moved
34675 actual definition to be video driver specific.
34676 (grub_video_adapter.blit_bitmap): Added blitting operator.
34677 (grub_video_adapter.blit_render_target): Likewise.
34678 (grub_video_blit_bitmap): Likewise.
34679 (grub_video_blit_render_target): Likewise.
34680
34681 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
34682 driver specific render target definition.
34683 (grub_video_vbe_map_rgba): Added driver internal helper.
34684 (grub_video_vbe_unmap_color): Updated to use
34685 grub_video_i386_vbeblit_info.
34686 (grub_video_vbe_get_video_ptr): Likewise.
34687
34688 * include/grub/i386/pc/vbeblit.h
34689 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
34690 grub_video_i386_vbeblit_info.
34691 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34692 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34693 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34694 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34695 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34696 (grub_video_i386_vbeblit_index_index): Likewise.
34697 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
34698 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34699 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34700 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
34701 operator.
34702 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
34703 operator.
34704
34705 * video/i386/pc/vbeblit.c: Updated to reflect changes on
34706 include/grub/i386/pc/vbeblit.h.
34707
34708 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
34709 Updated to use grub_video_i386_vbeblit_info.
34710 (grub_video_i386_vbefill_R8G8B8): Likewise.
34711 (grub_video_i386_vbefill_index): Likewise.
34712 (grub_video_i386_vbefill): Added generic filler.
34713
34714 * video/i386/pc/vbefill.c: Updated to reflect changes on
34715 include/grub/i386/pc/vbefill.h.
34716
34717 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
34718 grub_video_i386_vbeblit_info.
34719 (grub_video_vbe_unmap_color): Likewise.
34720 (grub_video_vbe_blit_glyph): Likewise.
34721 (grub_video_vbe_scroll): Likewise.
34722 (grub_video_vbe_draw_pixel): Removed function.
34723 (grub_video_vbe_get_pixel): Likewise.
34724 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
34725 updated code to use it.
34726 (common_blitter): Added common blitter for render target and bitmap.
34727 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
34728 (grub_video_vbe_blit_render_target): Likewise.
34729
bc8c036d 347302006-07-30 Johan Rydberg <jrydberg@gnu.org>
34731
34732 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
34733 is in text mode if there is no console control protocol instance
34734 available.
34735
684a8eff 347362006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34737
34738 * include/grub/video.h: Code cleanup.
34739
34740 * include/grub/i386/pc/vbe.h: Likewise.
34741
34742 * video/i386/pc/vbe.c: Likewise.
34743
34744 * video/i386/pc/vbeblit.c: Likewise.
34745
34746 * video/i386/pc/vbefill.c: Likewise.
34747
34748 * video/video.c: Likewise. Also added more comments.
34749
5915059b 347502006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34751
34752 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
34753 (struct grub_biosdisk_dap): Likewise.
34754
34755 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
34756 linkage settings for all functions.
34757
90ce5d56 347582006-07-12 Marco Gerards <marco@gnu.org>
34759
34760 * configure.ac (--enable-mm-debug): Fix typo.
34761
34762 * genkernsyms.sh.in: Use proper quoting for `CC'.
34763
43e7f879 347642006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
34765
34766 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
34767 (normal_mod_ASFLAGS): Remove "-m32".
34768
4889bdec 347692006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
34770
34771 * util/misc.c: Include config.h.
34772 [!HAVE_MEMALIGN]: Do not include malloc.h.
34773 (grub_memalign): Use posix_memalign, if present. Then, use
34774 memalign, if present. Otherwise, emit an error.
34775
34776 * util/grub-emu.c: Do not include malloc.h.
34777
34778 * include/grub/util/misc.h: Include unistd.h. This is required for
34779 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
34780 D. Eades III <hde@foobar-qux.org>.
34781
34782 * configure.ac (AC_GNU_SOURCE): Added.
34783 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
34784 type.
34785
fd39d4da 347862006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
34787
34788 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
34789 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
34790
b786f3b5 347912006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
34792
34793 * include/grub/types.h (grub_host_addr_t): Rename to
34794 grub_target_addr_t.
34795 (grub_host_off_t): Rename to grub_target_off_t.
34796 (grub_host_size_t): Rename to grub_target_size_t.
34797 (grub_host_ssize_t): Rename to grub_target_ssize_t.
34798 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
34799
34800 * include/grub/kernel.h (struct grub_module_header): Change type
34801 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
34802 (grub_module_info): Likewise.
f19dbdb7 34803
051988bb 348042006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34805
34806 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
34807 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
34808 Velazquez <jesus.velazquez@gmail.com>.
34809
deae281b 348102006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34811
34812 Count partitions from 1 instead of 0 in the string representation
34813 of partitions. Still use 0-based internally.
f19dbdb7 34814
deae281b 34815 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
34816 (sun_partition_map_iterate): Use grub_partition_t instead of
34817 struct grub_partition *. Cast DESC->START_CYLINDER to
34818 grub_uint64_t after converting the endian.
34819 (sun_partition_map_probe): Subtract 1 for PARTNUM.
34820 (sun_partition_map_get_name): Add 1 to P->INDEX.
34821
34822 * partmap/pc.c (grub_partition_parse): Subtract 1 for
34823 PCDATA->DOS_PART.
34824 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
34825
34826 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
34827 zero instead of one.
34828 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
34829 (gpt_partition_map_get_name): Add 1 into P->INDEX.
34830
34831 * partmap/apple.c (apple_partition_map_iterate): Change the type
34832 of POS to unsigned.
34833 (apple_partition_map_probe): Subtract 1 for PARTNUM.
34834 (apple_partition_map_get_name): Add 1 into P->INDEX.
34835
34836 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
34837 of POS to unsigned.
34838 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
34839 calculate the offset of a partition.
34840 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
34841 (amiga_partition_map_get_name): Add 1 into P->INDEX.
34842
34843 * partmap/acorn.c (acorn_partition_map_find): Change the type of
34844 SECTOR to grub_disk_addr_t.
34845 (acorn_partition_map_iterate): Likewise.
34846 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
34847 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
34848 top.
34849 (acorn_partition_map_get_name): Add 1 into P->INDEX.
34850
34851 * kern/i386/pc/init.c (make_install_device): Add 1 into
34852 GRUB_INSTALL_DOS_PART.
34853
34854 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
34855 conditional.
34856
524a1e6a 348572006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
34858
34859 Clean up the code to support 64-bit addressing in disks and
34860 files. This change is not enough for filesystems yet.
f19dbdb7 34861
524a1e6a 34862 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
34863 type of "start" to grub_uint64_t.
34864 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
34865 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
34866 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
34867 convert addresses.
34868
34869 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
34870 to grub_disk_addr_t.
34871
34872 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
34873 string.
34874
34875 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34876
34877 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
34878 to char *.
34879
34880 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
34881
34882 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
34883
34884 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
34885
34886 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
34887 to grub_off_t, to detect an error from grub_file_seek.
34888 (grub_multiboot_load_elf32): Likewise.
34889
34890 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
34891 maximum unsigned long value when an overflow is detected.
34892 (grub_strtoull): New function.
34893 (grub_divmod64): Likewise.
34894 (grub_lltoa): use grub_divmod64.
34895
34896 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
34897 grub_disk_addr_t.
34898 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
34899 the pointer to next character. Use grub_strtoull instead of
34900 grub_strtoul.
34901 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
34902 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
34903 respectively.
34904
fe6b695a 34905 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 34906 return value is signed.
34907 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
34908 test if OFFSET is less than zero, as OFFSET is unsigned now.
34909
34910 * kern/disk.c (struct grub_disk_cache): Change the type of
34911 "sector" to grub_disk_addr_t.
34912 (grub_disk_cache_get_index): Change the type of SECTOR to
34913 grub_disk_addr_t. Calculate the hash with SECTOR casted to
34914 unsigned after shifting.
34915 (grub_disk_cache_invalidate): Change the type of SECTOR to
34916 grub_disk_addr_t.
34917 (grub_disk_cache_unlock): Likewise.
34918 (grub_disk_cache_store): Likewise.
34919 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
34920 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
34921 grub_disk_addr_t and grub_uint64_t, respectively.
34922 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
34923 body, as the value of OFFSET is tweaked by
34924 grub_disk_check_range. Change the types of START_SECTOR, LEN and
34925 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
34926 respectively.
34927 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
34928 body, as the value of OFFSET is tweaked by
34929 grub_disk_check_range. Change the types of LEN and N to
34930 grub_size_t.
34931
34932 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
34933 and "saved_offset" to grub_off_t.
34934 (test_header): Cast BUF to char *.
34935 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
34936 to char *.
34937 (grub_gzio_read): Change the types of OFFSET and SIZE to
34938 grub_off_t and grub_size_t, respectively.
34939
34940 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
34941 Removed.
34942 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
34943 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
34944 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
34945 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
34946 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
34947
34948 * include/grub/types.h (grub_off_t): Unconditionally set to
34949 grub_uint64_t.
34950 (grub_disk_addr_t): Changed to grub_uint64_t.
34951
34952 * include/grub/partition.h (struct grub_partition): Change the
34953 types of "start", "len" and "offset" to grub_disk_addr_t,
34954 grub_uint64_t and grub_disk_addr_t, respectively.
34955 (grub_partition_get_start): Return grub_disk_addr_t.
34956 (grub_partition_get_len): Return grub_uint64_t.
34957
34958 * include/grub/misc.h (grub_strtoull): New prototype.
34959 (grub_divmod64): Likewise.
34960
34961 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
34962 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
34963 grub_off_t, respectively.
34964 All callers and references changed.
34965
34966 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
34967 grub_size_t in "read".
34968 All callers and references changed.
34969
34970 * include/grub/file.h (struct grub_file): Change the types of
34971 "offset" and "size" to grub_off_t and grub_off_t,
34972 respectively. Change the type of SECTOR to grub_disk_addr_t in
34973 "read_hook".
34974 (grub_file_read): Change the type of LEN to grub_size_t.
34975 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
34976 grub_off_t.
34977 (grub_file_size): Return grub_off_t.
34978 (grub_file_tell): Likewise.
34979 All callers and references changed.
34980
34981 * include/grub/disk.h (struct grub_disk_dev): Change the types of
34982 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
34983 "write".
34984 (struct grub_disk): Change the type of "total_sectors" to
34985 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 34986 "read_hook".
524a1e6a 34987 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
34988 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
34989 (grub_disk_write): Likewise.
34990 All callers and references changed.
34991
34992 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
34993 char * for grub_strncmp to silence gcc.
34994 (grub_iso9660_mount): Likewise.
34995 (grub_iso9660_mount): Likewise.
34996 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
34997 return statement.
34998 (grub_iso9660_iterate_dir): Likewise.
34999 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
35000
35001 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
35002 LEN to grub_disk_addr_t and grub_size_t, respectively.
35003
35004 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
35005
35006 * fs/jfs.c (grub_jfs_read_file): Likewise.
35007
35008 * fs/minix.c (grub_jfs_read_file): Likewise.
35009
35010 * fs/sfs.c (grub_jfs_read_file): Likewise.
35011
35012 * fs/ufs.c (grub_jfs_read_file): Likewise.
35013
35014 * fs/xfs.c (grub_jfs_read_file): Likewise.
35015
35016 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
35017 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
35018 respectively.
35019
35020 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
35021 BLKNR to -1 instead of returning GRUB_ERRNO.
35022 (grub_ext2_read_file): Change the types of SECTOR and
35023 LEN to grub_disk_addr_t and grub_size_t, respectively.
35024
35025 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
35026 LEN to grub_disk_addr_t and grub_size_t, respectively.
35027
35028 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
35029 grub_file_read.
35030
35031 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
35032 string. Do not cast SECTOR explicitly.
35033
35034 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
35035 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
35036 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
35037 grub_disk_addr_t and grub_size_t, respectively. If the sector is
35038 over 2TB and LBA mode is not supported, raise an error.
35039 (get_safe_sectors): New function.
35040 (grub_biosdisk_read): Use get_safe_sectors.
35041 (grub_biosdisk_write): Likewise.
35042
35043 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
35044 (grub_efidisk_write): Likewise.
35045
35046 * disk/loopback.c (delete_loopback): Cosmetic changes.
35047 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
35048 correctly.
35049 (grub_loopback_open): Likewise.
35050 (grub_loopback_read): Likewise. Also, change the type of POS to
35051 grub_off_t, and fix the usage of grub_memset.
35052
35053 * commands/i386/pc/play.c: Include grub/machine/time.h.
35054
35055 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
35056 print FILE->SIZE.
35057
35058 * commands/configfile.c: Include grub/env.h.
35059
35060 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
35061 GRUB_ERRNO directly instead. Change the type of POS to
35062 grub_off_t. Follow the coding standard.
35063
35064 * commands/blocklist.c: Include grub/partition.h.
35065 (grub_cmd_blocklist): Return an error if the underlying device is
35066 not a disk. Take the starting sector of a partition into account,
35067 if a partition is used.
35068
35069 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
35070 a length field.
35071 (lba_mode): Support 64-bit addresses.
35072 (chs_mode): Likewise.
35073 (copy_buffer): Adapted to the new offsets of a length field and a
35074 segment field.
35075 (blocklist_default_start): Allocate 64-bit space.
35076
35077 * boot/i386/pc/boot.S (force_lba): Removed.
35078 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 35079 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 35080 space.
35081 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
35082 is useless.
35083 (lba_mode): Refactored to support a 64-bit address. More size
35084 optimization.
35085 (setup_sectors): Likewise.
35086
53af98ad 350872006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
35088
35089 * DISTLIST: Added include/grub/i386/linux.h. Removed
35090 include/grub/i386/pc/linux.h
35091
35092 * configure.ac (AC_INIT): Bumped to 1.94.
35093
35094 * config.guess: Updated from gnulib.
35095 * config.sub: Likewise.
35096 * install-sh: Likewise.
35097 * mkinstalldirs: Likewise.
35098
b4c1940a 350992006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
35100
35101 * conf/common.rmk (grub_modules_init.lst): Depended on
35102 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
35103 MODSRCFILES.
35104
35105 * genmk.rb (PModule::rule): Reverted the previous change.
35106
cfca1cfd 351072006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
35108
35109 * conf/common.rmk (grub_modules_init.lst): Depends on
35110 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
35111 that the target does not exist before producing.
35112 (grub_modules_init.h): Remove the target before generating.
35113 (grub_emu_init.c): Likewise.
35114
35115 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
35116
aa6d7826 351172006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
35118
35119 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
35120 for the target-specific tests. Make sure that we also have the
35121 up-to-date target variables for those tests.
35122
26c607b9 351232006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
35124
35125 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
35126 (PModule::rule): Likewise.
35127
0162321a 351282006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
35129
35130 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
35131 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
35132 target-specific flags should be prefixed.
35133 (PModule::rule): Likewise.
35134
6c826348 351352006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
35136
35137 * configure.ac (CMP): Check if cmp is available explicitly.
35138
b977bf01 351392006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
35140
35141 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
35142 (target_cpu): New variable.
35143 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 35144
b977bf01 35145 * util/i386/pc/grub-install.in (host_cpu): Removed.
35146 (target_cpu): New variable.
35147 (pkglibdir): Use target_cpu instead of host_cpu.
35148
35149 * util/genmoddep.c: Removed.
f19dbdb7 35150
b977bf01 35151 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
35152 instead of GRUB_HOST_SIZEOF_VOID_P.
35153 * kern/dl.c: Likewise.
35154
35155 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
35156 ...
35157 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
35158 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
35159 (GRUB_TARGET_SIZEOF_LONG): ... this.
35160 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
35161 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
35162 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
35163 to ...
35164 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
35165 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
35166 (GRUB_TARGET_SIZEOF_LONG): ... this.
35167 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
35168 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
35169 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
35170 to ...
35171 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
35172 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
35173 (GRUB_TARGET_SIZEOF_LONG): ... this.
35174 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
35175 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
35176
35177 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
35178 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
35179 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
35180 instead of GRUB_HOST_SIZEOF_LONG.
35181 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
35182 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
35183 GRUB_CPU_WORDS_BIGENDIAN.
35184 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
35185 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
35186 grub_host_ssize_t.
35187
35188 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
35189 (genmoddep_SOURCES): Likewise.
35190 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
35191 (genmoddep_SOURCES): Likewise.
35192 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
35193 (genmoddep_SOURCES): Likewise.
35194 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
35195 Likewise.
35196 (genmoddep_SOURCES): Likewise.
35197
35198 * genmoddep.awk: New file.
35199
35200 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
35201 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
35202 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
35203 (PModule::rule): Likewise.
35204 (Program::rule): Likewise.
35205 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
35206 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
35207 respectively.
35208
35209 * configure.ac: Rewritten intensively to use host and target
35210 instead of build and host, respectively.
35211
35212 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
35213 (host_cpu): Removed.
35214 (target_cpu): New variable.
35215 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
35216 (BUILD_CC): Removed.
35217 (BUILD_CFLAGS): Likewise.
35218 (BUILD_CPPFLAGS): Likewise.
35219 (TARGET_CC): New variable.
35220 (TARGET_CFLAGS): Likewise.
35221 (TARGET_CPPFLAGS): Likewise.
35222 (TARGET_LDFLAGS): Likewise.
35223 (AWK): Likewise.
35224 (include): Use target_cpu instead of host_cpu.
35225 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 35226
b977bf01 35227 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
35228
f09771a1 352292006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
35230
35231 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
35232 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
35233 field 'false' to 'exec_on_false'.
35234 (grub_script_create_cmdif): Renamed argument names to reflect above
35235 changes.
35236
35237 * normal/execute.c (grub_script_execute_cmdif): Likewise.
35238
35239 * normal/script.c (grub_script_create_cmdif): Likewise.
35240
118f4fb3 352412006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
35242
35243 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
35244 top.
35245 (grub_hfsplus_btree_recptr): Likewise.
35246 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
35247 FILEBLOCK both to pass a block number and store next block
35248 number.
35249 (grub_hfsplus_read_block): Rewritten heavily to support an extent
35250 overflow file correctly. Specify errors appropriately, because
35251 fshelp expects that GRUB_ERRNO is set when fails. Reuse
35252 grub_hfsplus_btree_recptr to get the pointer to a found key.
35253 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
35254 is found.
35255
35256 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
35257 linux.mod.
35258 (_linux_mod_SOURCES): New variable.
35259 (_linux_mod_CFLAGS): Likewise.
35260 (_linux_mod_LDFLAGS): Likewise.
35261 (linux_mod_SOURCES): Likewise.
35262 (linux_mod_CFLAGS): Likewise.
35263 (linux_mod_LDFLAGS): Likewise.
35264
35265 * DISTLIST: Added loader/i386/efi/linux.c,
35266 loader/i386/efi/linux_normal.c and
35267 include/grub/i386/efi/loader.h.
35268
35269 * loader/i386/efi/linux.c: New file.
35270 * loader/i386/efi/linux_normal.c: Likewise.
35271 * include/grub/i386/efi/loader.h: Likewise.
35272
89a7d726 352732006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
35274
35275 * commands/blocklist.c: New file.
35276
35277 * DISTLIST: Added commands/blocklist.c.
35278
35279 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 35280 color for the background, and a darker color for the foreground.
89a7d726 35281 (grub_console_checkkey): Return READ_KEY.
35282 (grub_console_cls): Set the background to
35283 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
35284
35285 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
35286
35287 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
35288 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
35289
35290 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
35291 prototype.
35292
35293 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
35294 BG. The spec is wrong again.
35295
35296 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
35297 prototype.
35298 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
35299
35300 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35301 commands/blocklist.c.
35302 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 35303
89a7d726 35304 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
35305 (blocklist_mod_SOURCES): New variable.
35306 (blocklist_mod_CFLAGS): Likewise.
35307 (blocklist_mod_LDFLAGS): Likewise.
35308
75c8f258 353092006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
35310
35311 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
35312 duplication.
35313 (lba_mode): Use %eax more intensively to reduce the code size.
35314
da2eb181 353152006-05-20 Marco Gerards <marco@gnu.org>
35316
35317 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
35318
35319 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
35320 for `menuentry'.
35321 (script): Accept leading newlines.
35322 (newlines): New rule to describe 0 or more newlines.
35323 (commands): Accept `command' with trailing newline. Fixed the
35324 order in which arguments were passed to `grub_script_add_cmd'.
35325 Accept commands separated by newlines.
35326 (function): Changed to accept newlines.
35327 (menuentry) Rewritten.
35328
35329 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
35330 front of the list, instead of to the end.
35331
577b4050 353322006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
35333
35334 * util/i386/pc/grub-install.in (bindir): New variable.
35335 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
35336 Shaver <lbgwjl@gmail.com>.
35337
0d6e1189 353382006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
35339
35340 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
35341 grub/machine/linux.h
35342 * loader/i386/pc/linux.c: Likewise.
35343
35344 * include/grub/i386/pc/linux.h: Moved to ...
35345 * include/grub/i386/linux.h: ... here.
35346
35347 * include/grub/i386/linux.h (struct linux_kernel_params): New
35348 struct.
f19dbdb7 35349
31b86e9f 353502006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
35351
35352 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
35353 checking.
35354 (grub_video_vbe_blit_glyph): Likewise.
35355 (grub_video_vbe_blit_bitmap): Likewise.
35356 (grub_video_vbe_blit_render_target): Likewise.
35357
83b984de 353582006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
35359
35360 * configure.ac (--with-platform): Properly quote the square
35361 brackets.
35362
5f0413bd 353632006-05-08 Marco Gerards <marco@gnu.org>
35364
35365 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
35366 this...
35367 (kernel_elf_HEADERS): ...to this. Updated all users.
35368 (grubof_symlist.c): Renamed from this...
35369 (kernel_elf_symlist.c): ...to this. Updated all users.
35370 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
35371 (grubof_SOURCES): Renamed from this...
35372 (kernel_elf_SOURCES): ...to this.
35373 (grubof_HEADERS): Renamed from this...
35374 (kernel_elf_HEADERS): ...to this.
35375 (grubof_CFLAGS): Renamed from this...
35376 (kernel_elf_CFLAGS): ...to this.
35377 (grubof_ASFLAGS): Renamed from this...
35378 (kernel_elf_ASFLAGS): ...to this.
35379 (grubof_LDFLAGS): Renamed from this...
35380 (kernel_elf_LDFLAGS): ...to this.
35381
35382 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
35383 this...
35384 (kernel_elf_HEADERS): ...to this. Updated all users.
35385 (grubof_symlist.c): Renamed from this...
35386 (kernel_elf_symlist.c): ...to this. Updated all users.
35387 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
35388 (grubof_SOURCES): Renamed from this...
35389 (kernel_elf_SOURCES): ...to this.
35390 (grubof_HEADERS): Renamed from this...
35391 (kernel_elf_HEADERS): ...to this.
35392 (grubof_CFLAGS): Renamed from this...
35393 (kernel_elf_CFLAGS): ...to this.
35394 (grubof_ASFLAGS): Renamed from this...
35395 (kernel_elf_ASFLAGS): ...to this.
35396 (grubof_LDFLAGS): Renamed from this...
35397 (kernel_elf_LDFLAGS): ...to this.
35398
35399 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
35400 `kernel.elf' instead of `grubof'.
35401
05568c2e 354022006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
35403
35404 Add --with-platform to configure. Use pkglibdir instead of
35405 pkgdatadir. This is reported by Roger Leigh.
35406
35407 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
35408 (host_vendor): Likewise.
35409 (host_os): Likewise.
35410 (pkgdatadir): Likewise.
35411 (platform): New variable.
35412 (pkglibdir): Likewise.
35413 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 35414
05568c2e 35415 * util/i386/pc/grub-install.in (datadir): Removed.
35416 (host_vendor): Likewise.
35417 (host_os): Likewise.
35418 (pkgdatadir): Likewise.
35419 (platform): New variable.
35420 (pkglibdir): Likewise.
35421 Use PKGLIBDIR instead of PKGDATADIR.
35422
35423 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
35424 instead of GRUB_DATADIR.
35425 (main): Likewise.
35426 * util/i386/pc/grub-mkimage.c (usage): Likewise.
35427 (main): Likewise.
35428 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35429 (main): Likewise.
35430
35431 * configure.ac (--with-platform): New option.
35432 Use PLATFORM instead of HOST_VENDOR to specify a platform.
35433
35434 * Makefile.in: Include a makefile based on PLATFORM instead of
35435 HOST_VENDOR.
35436 (pkgdatadir): Not appended by the machine type.
35437 (pkglibdir): Appended by the machine type.
35438 (host_vendor): Removed.
35439 (platform): New variable.
35440 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
35441 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
35442 (uninstall): Likewise.
35443
4e93851c 354442006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
35445
35446 Use the environment context in the menu. Remove the commands
35447 "default" and "timeout", and use variables instead.
f19dbdb7 35448
4e93851c 35449 * normal/menu.c: Include grub/env.h.
35450 (print_entry): Cast TITLE to silence gcc.
35451 (get_timeout): New function.
35452 (set_timeout): Likewise.
35453 (get_entry_number): Likewise.
35454 (run_menu): Use a default entry, a fallback entry and a timeout
35455 in the environment variables "default", "fallback" and
35456 "timeout". Also, tweak the default entry if it is not within the
35457 current menu entries.
35458 (grub_menu_run): Use a fallback entry in the environment variable
35459 "fallback".
35460
35461 * normal/main.c (read_config_file): Do not initialize
35462 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
35463 NEWMENU->TIMEOUT.
35464 (grub_normal_execute): Use a data slot to store the menu.
35465
35466 * include/grub/normal.h (struct grub_menu): Removed default_entry,
35467 fallback_entry and timeout.
35468 (struct grub_menu_list): Removed.
35469 (grub_menu_list_t): Likewise.
35470 (struct grub_context): Likewise.
35471 (grub_context_t): Likewise.
35472 (grub_context_get): Likewise.
35473 (grub_context_get_current_menu): Likewise.
35474 (grub_context_push_menu): Likewise.
35475 (grub_context_pop_menu): Likewise.
35476 (grub_default_init): Likewise.
35477 (grub_default_fini): Likewise.
35478 (grub_timeout_init): Likewise.
35479 (grub_timeout_fini): Likewise.
35480
35481 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
35482 and timeout.mod.
35483 (normal_mod_SOURCES): Removed normal/context.c.
35484
35485 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
35486 commands/default.c, commands/timeout.c and normal/context.c.
35487 (normal_mod_SOURCES): Removed normal/context.c.
35488
35489 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
35490 commands/timeout.c and normal/context.c.
35491 (normal_mod_SOURCES): Removed normal/context.c.
35492
35493 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
35494 commands/default.c, commands/timeout.c and normal/context.c.
35495 (normal_mod_SOURCES): Removed normal/context.c.
35496
35497 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
35498 timeout.mod.
35499 (default_mod_SOURCES): Removed.
35500 (default_mod_CFLAGS): Likewise.
35501 (default_mod_LDFLAGS): Likewise.
35502 (timeout_mod_SOURCES): Removed.
35503 (timeout_mod_CFLAGS): Likewise.
35504 (timeout_mod_LDFLAGS): Likewise.
35505
35506 * DISTLIST: Removed commands/default.c, commands/timeout.c and
35507 normal/context.c.
35508
35509 * commands/default.c: Removed.
35510 * commands/timeout.c: Likewise.
35511 * normal/context.c: Likewise.
35512
1eb9cc1d 355132006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
35514
35515 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
35516
385bd9c1 355172006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
35518
35519 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
35520 "next" to "prev" for readability.
35521 (struct grub_env_sorted_var): New struct.
35522 (grub_env_context): Renamed to ...
35523 (initial_context): ... this.
35524 (grub_env_var_context): Renamed to ...
35525 (current_context): ... this.
35526 (grub_env_find): Look only at CURRENT_CONTEXT.
35527 (grub_env_context_open): Rewritten to copy exported variables from
35528 previous context.
35529 (grub_env_context_close): Rewritten according to the new
35530 scheme. Also, add an assertion to prevent the initial context from
35531 removed.
35532 (grub_env_insert): Removed the code for the sorted list.
35533 (grub_env_remove): Likewise.
35534 (grub_env_export): Simply mark the variable with
35535 GRUB_ENV_VAR_GLOBAL.
35536 (grub_env_set): A cosmetic change for naming consistency.
35537 (grub_env_get): Likewise.
35538 (grub_env_unset): Likewise.
35539 (grub_env_iterate): Rewritten to sort variables within this
35540 function.
35541 (grub_register_variable_hook): Fixed for naming consistency. Call
35542 grub_env_find again, only if NAME is not found at the first time.
35543 (mangle_data_slot_name): New function.
35544 (grub_env_set_data_slot): Likewise.
35545 (grub_env_get_data_slot): Likewise.
35546 (grub_env_unset_data_slot): Likewise.
35547
35548 * include/grub/env.h (grub_env_var_type): New enum.
35549 (GRUB_ENV_VAR_LOCAL): New constant.
35550 (GRUB_ENV_VAR_GLOBAL): Likewise.
35551 (GRUB_ENV_VAR_DATA): Likewise.
35552 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
35553 "type".
35554 (grub_env_set): Replace VAR with NAME for consistency.
35555 (grub_register_variable_hook): Likewise.
35556 (grub_env_export): Specify the name of the argument.
35557 (grub_env_set_data_slot): New prototype.
35558 (grub_env_get_data_slot): Likewise.
35559 (grub_env_unset_data_slot): Likewise.
35560
7f362539 355612006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
35562
35563 Extend the loader so that GRUB can accept a loader which comes
35564 back to GRUB when a loaded image exits. Also, this change adds
35565 support for a chainloader on EFI.
f19dbdb7 35566
7f362539 35567 * term/efi/console.c: Include grub/misc.h.
35568 (grub_console_checkkey): Display a scan code on the top for
35569 debugging. This will be removed once the EFI port gets stable.
35570 Correct the scan code mapping.
35571
35572 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
35573 allocate memory from larger regions, in order to reduce the number
35574 of allocated regions. Otherwise, the MacOSX loader panics.
35575 (filter_memory_map): Avoid less than 1MB for compatibility with
35576 other loaders.
35577 (add_memory_regions): Allocate from the tail of a region, if
35578 possible, to avoid allocating a region near to 1MB, for the MacOSX
35579 loader.
35580
35581 * kern/efi/init.c (grub_efi_set_prefix): Specify
35582 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
35583
35584 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
35585 argument IMAGE_HANDLE and specify it to get a loaded image.
35586 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
35587 grub_efi_get_loaded_image.
fe6b695a 35588 (grub_efi_get_filename): Divide the length by the size of
7f362539 35589 grub_efi_char16_t.
35590 (grub_efi_get_device_path): New function.
35591 (grub_efi_print_device_path): Print End Device Path nodes. Divide
35592 the length by the size of grub_efi_char16_t for a file path device
35593 path node.
35594
35595 * kern/loader.c (grub_loader_noreturn): New variable.
35596 (grub_loader_set): Accept a new argument NORETURN. Set
35597 GRUB_LOADER_NORETURN to NORETURN.
35598 All callers changed.
35599 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
35600 grub_machine_fini.
35601
35602 * include/grub/efi/efi.h (grub_efi_get_device_path): New
35603 prototype.
35604 (grub_efi_get_loaded_image): Take an argument to specify an image
35605 handle.
35606
35607 * include/grub/loader.h (grub_loader_set): Added one more argument
35608 NORETURN.
35609
35610 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
35611 instead of grub_efi_open_protocol.
35612 (grub_efidisk_get_device_name): Likewise.
35613 (grub_efidisk_close): Print a newline.
35614 (grub_efidisk_get_device_handle): Fixed to use
35615 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
35616 GRUB_EFI_DEVICE_PATH_TYPE.
35617
35618 * disk/efi/efidisk.c (device_path_guid): Moved to ...
35619 * kern/efi/efi.c (device_path_guid): ... here.
35620
35621 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
35622 chain.mod.
35623 (kernel_mod_HEADERS): Added efi/disk.h.
35624 (_chain_mod_SOURCES): New variable.
35625 (_chain_mod_CFLAGS): Likewise.
35626 (_chain_mod_LDFLAGS): Likewise.
35627 (chain_mod_SOURCES): Likewise.
35628 (chain_mod_CFLAGS): Likewise.
35629 (chain_mod_LDFLAGS): Likewise.
35630
35631 * DISTLIST: Added include/grub/efi/chainloader.h,
35632 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
35633
35634 * include/grub/efi/chainloader.h: New file.
35635 * loader/efi/chainloader.c: Likewise.
35636 * loader/efi/chainloader_normal.c: Likewise.
35637
c0111d6e 356382006-04-30 Marco Gerards <marco@gnu.org>
35639
35640 * commands/configfile.c (grub_cmd_source): New function.
35641 (GRUB_MOD_INIT): Register the commands `source' and `.'.
35642 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
35643
df5341da 356442006-04-30 Marco Gerards <marco@gnu.org>
35645
35646 * normal/execute.c (grub_script_execute_cmd): Change the return
35647 type to `grub_err_t'. Correctly return the error.
35648 (grub_script_execute_cmdline): In case a command line is not a
35649 command or a function, try to interpret it as an assignment.
35650
f85934bd 356512006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
35652
35653 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
35654 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
35655 skip a node whose name is obviously invalid as UTF-16,
35656 i.e. contains a NUL character. Stop the iteration when the last
35657 directory entry is found. Instead of using the return value of
35658 grub_hfsplus_btree_iterate_node, store the value in RET and use
35659 it, because the iterator can be stopped by the last directory
35660 entry.
35661
8f8a2cf8 356622006-04-30 Marco Gerards <marco@gnu.org>
35663
35664 * include/grub/env.h (grub_env_export): New prototype. Reported
35665 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
35666
a27e84ce 356672006-04-30 Marco Gerards <marco@gnu.org>
35668
35669 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
35670 size of the extents in a catalog file record.
35671
eaef0553 356722006-04-29 Marco Gerards <marco@gnu.org>
35673
35674 * commands/configfile.c (grub_cmd_configfile): Execute the
35675 configfile within its own context.
35676
35677 * include/grub/env.h (grub_env_context_open): New prototype.
35678 (grub_env_context_close): Likewise.
35679
35680 * kern/env.c (grub_env): Removed.
35681 (grub_env_sorted): Likewise.
35682 (grub_env_context): New variable.
35683 (grub_env_var_context): Likewise.
35684 (grub_env_find): Search both the active context and the global
35685 context.
35686 (grub_env_context_open): New function.
35687 (grub_env_context_close): Likewise.
35688 (grub_env_insert): Likewise.
35689 (grub_env_remove): Likewise.
35690 (grub_env_export): Likewise.
35691 (grub_env_set): Changed to use helper functions to avoid code
35692 duplication.
35693 (grub_env_iterate): Rewritten so both the current context and the
35694 global context are being used.
35695
35696 * normal/command.c (export_command): New function.
35697 (grub_command_init): Register the `export' function.
35698
7b455f4d 356992006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
35700
35701 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
35702 explicitly to suppress gcc's warnings.
35703 * fs/fat.c (grub_fat_find_dir): Likewise.
35704 (grub_fat_label): Likewise.
35705 * fs/xfs.c (grub_xfs_read_inode): Likewise.
35706 (grub_xfs_mount): Likewise.
35707 (grub_xfs_label): Likewise.
35708 * fs/affs.c (grub_affs_mount): Likewise.
35709 (grub_affs_label): Likewise.
35710 (grub_affs_iterate_dir): Likewise.
35711 * fs/sfs.c (grub_sfs_mount): Likewise.
35712 (grub_sfs_iterate_dir): Likewise.
35713 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
35714 * fs/hfs.c (grub_hfs_mount): Likewise.
35715 (grub_hfs_cmp_catkeys): Likewise.
35716 (grub_hfs_find_dir): Likewise.
35717 (grub_hfs_dir): Likewise.
35718 (grub_hfs_label): Likewise.
35719 * fs/jfs.c (grub_jfs_mount): Likewise.
35720 (grub_jfs_opendir): Likewise.
35721 (grub_jfs_getent): Likewise.
35722 (grub_jfs_lookup_symlink): Likewise.
35723 (grub_jfs_label): Likewise.
35724 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
35725 (grub_hfsplus_iterate_dir): Likewise.
35726 (grub_hfsplus_btree_iterate_node): Made static.
35727
35728 * util/grub-emu.c (prefix): New variable.
35729 (grub_machine_set_prefix): New function.
35730 (main): Do not set the environment variable "prefix" here. Only
35731 set PREFIX, which is used later by grub_machine_set_prefix.
35732
35733 * include/grub/video.h: Do not include grub/symbol.h.
35734 (grub_video_register): Not exported. This symbol is not defined in
35735 the kernel.
35736 (grub_video_unregister): Likewise.
35737 (grub_video_iterate): Likewise.
35738 (grub_video_setup): Likewise.
35739 (grub_video_restore): Likewise.
35740 (grub_video_get_info): Likewise.
35741 (grub_video_get_blit_format): Likewise.
35742 (grub_video_set_palette): Likewise.
35743 (grub_video_get_palette): Likewise.
35744 (grub_video_set_viewport): Likewise.
35745 (grub_video_get_viewport): Likewise.
35746 (grub_video_map_color): Likewise.
35747 (grub_video_map_rgb): Likewise.
35748 (grub_video_map_rgba): Likewise.
35749 (grub_video_fill_rect): Likewise.
35750 (grub_video_blit_glyph): Likewise.
35751 (grub_video_blit_bitmap): Likewise.
35752 (grub_video_blit_render_target): Likewise.
35753 (grub_video_scroll): Likewise.
35754 (grub_video_swap_buffers): Likewise.
35755 (grub_video_create_render_target): Likewise.
35756 (grub_video_delete_render_target): Likewise.
35757 (grub_video_set_active_render_target): Likewise.
35758
35759 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
35760 Undefined.
35761 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
35762
35763 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
35764 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35765 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35766 instead of $(srcdir)/genkernsyms.sh.
35767
35768 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
35769 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35770 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35771 instead of $(srcdir)/genkernsyms.sh.
35772
35773 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
35774 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35775 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35776 instead of $(srcdir)/genkernsyms.sh.
35777
35778 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
35779 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35780 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35781 instead of $(srcdir)/genkernsyms.sh.
35782
35783 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
35784 genkernsyms.sh.
35785
35786 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
35787 genkernsyms.sh.
35788 (gensymlist.sh): New target.
35789 (genkernsyms.sh): Likewise.
35790
35791 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
35792 genkernsyms.sh.in and gensymlist.sh.in.
35793
35794 * genkernsyms.sh: Removed.
35795 * gensymlist.sh: Likewise.
f19dbdb7 35796
7b455f4d 35797 * genkernsyms.sh.in: New file.
35798 * gensymlist.sh.in: Likewise.
35799
1885bb27 358002006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35801
35802 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
35803 clobber "prefix", since we may have already set it manually.
35804
71538dff 358052006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35806
35807 * kern/misc.c (abort): New alias for grub_abort.
35808
2965c7cc 358092006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
35810
35811 A new machine-specific function "grub_machine_set_prefix" is
35812 defined. This is called after loading modules, so that a prefix
35813 initialization can use modules. Also, this change adds an
35814 intensive debugging feature for the memory manager via the
35815 configure option "--enable-mm-debug".
f19dbdb7 35816
2965c7cc 35817 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
35818 PART.LEN.
35819
35820 * kern/sparc64/ieee1275/init.c (abort): Removed.
35821 (grub_stop): Likewise.
35822 (grub_exit): New function.
35823 (grub_set_prefix): Renamed to ...
35824 (grub_machine_set_prefix): ... this.
35825 (grub_machine_init): Do not call grub_set_prefix.
35826
35827 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
35828 (grub_machine_set_prefix): ... this.
35829 (grub_machine_init): Do not call grub_set_prefix.
35830
35831 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
35832 (grub_machine_init): Do not set the prefix here.
35833
35834 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
35835
35836 * kern/efi/init.c: Include grub/mm.h.
35837 (grub_efi_set_prefix): New function.
35838
35839 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
35840 (grub_efi_get_filename): New function.
35841 (grub_print_device_path): Renamed to ...
35842 (grub_efi_print_device_path): ... this.
35843
35844 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
35845 [MM_DEBUG] (grub_realloc): Likewise.
35846 [MM_DEBUG] (grub_free): Likewise.
35847 [MM_DEBUG] (grub_memalign): Likewise.
35848 [MM_DEBUG] (grub_mm_debug): New variable.
35849 [MM_DEBUG] (grub_debug_malloc): New function.
35850 [MM_DEBUG] (grub_debug_free): New function.
35851 [MM_DEBUG] (grub_debug_realloc): New function.
35852 [MM_DEBUG] (grub_debug_memalign): New function.
35853
35854 * kern/misc.c (grub_abort): Print a newline to distinguish
35855 the message.
35856
35857 * kern/main.c (grub_main): Call grub_machine_set_prefix and
35858 grub_set_root_dev after loading modules. This is necessary when
35859 setting a prefix depends on modules.
35860
35861 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
35862 (grub_efi_print_device_path): ... this.
35863 (grub_efi_get_filename): New prototype.
35864 (grub_efi_set_prefix): Likewise.
35865
35866 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
35867 and grub/disk.h.
35868 (grub_efidisk_get_device_handle): New prototype.
35869 (grub_efidisk_get_device_name): Likewise.
35870
35871 * include/grub/mm.h: Include config.h.
35872 (MM_DEBUG): Removed.
35873 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
35874 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
35875 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
35876 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
35877 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
35878 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
35879 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
35880 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
35881 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
35882
35883 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
35884
35885 * disk/efi/efidisk.c: Include grub/partition.h.
35886 (iterate_child_devices): New function.
35887 (add_device): First, compare only last device path nodes, so that
35888 devices are sorted by the types.
35889 (grub_efidisk_get_device_handle): New function.
35890 (grub_efidisk_get_device_name): Likewise.
35891
35892 * configure.ac (--enable-mm-debug): New option to enable the
35893 memory manager debugging feature. This makes the binary much
35894 bigger, so is disabled by default.
35895
9cacaa17 358962006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
35897
35898 Use grub_abort instead of grub_stop, and grub_exit must be
35899 define in each architecture now. Also, this change adds support
35900 for EFI disks.
f19dbdb7 35901
9cacaa17 35902 * util/i386/pc/grub-probefs.c: Include grub/term.h.
35903 (grub_getkey): New function.
35904 (grub_term_get_current): Likewise.
35905
35906 * util/i386/pc/grub-setup.c: Include grub/term.h.
35907 (grub_getkey): New function.
35908 (grub_term_get_current): Likewise.
35909
35910 * util/misc.c (grub_stop): Renamed to ...
35911 (grub_exit): ... this.
35912
35913 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
35914 (grub_exit): ... this.
35915 (grub_machine_init): Use grub_abort instead of abort.
35916 (grub_stop): Removed.
35917
35918 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
35919 abort.
35920
35921 * kern/i386/pc/startup.S (grub_exit): New function.
35922 (cold_reboot): New label.
35923
35924 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
35925 (grub_efi_init): Call grub_efidisk_init.
35926 (grub_efi_fini): Call grub_efidisk_fini.
35927
35928 * kern/efi/efi.c: Include grub/mm.h.
35929 (grub_efi_console_control_guid): Renamed to ...
35930 (console_control_guid): ... this.
35931 (grub_efi_loaded_image_guid): Renamed to ...
35932 (loaded_image_guid): ... this.
35933 (grub_efi_locate_handle): New function.
35934 (grub_efi_open_protocol): Likewise.
35935 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
35936 GRUB_EFI_CONSOLE_CONTROL_GUID.
35937 (grub_efi_exit): Removed.
35938 (grub_stop): Likewise.
35939 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
35940 (grub_exit): New function.
35941 (grub_print_device_path): Likewise.
35942
35943 * kern/rescue.c (grub_rescue_cmd_exit): New function.
35944 (grub_enter_rescue_mode): Register "exit".
35945
35946 * kern/misc.c (grub_real_dprintf): A cosmetic change.
35947 (grub_abort): New function.
35948
35949 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
35950
35951 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
35952
35953 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
35954
35955 * include/grub/efi/efi.h (grub_efi_exit): Removed.
35956 (grub_print_device_path): New prototype.
35957 (grub_efi_locate_handle): Likewise.
35958 (grub_efi_open_protocol): Likewise.
35959
35960 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
35961 * disk/efi/efidisk.c: Likewise.
35962
35963 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
35964
35965 * include/grub/efi/console_control.h
35966 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
35967
35968 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
35969 last 8 bytes as an array.
35970 (GRUB_EFI_DISK_IO_GUID): New macro.
35971 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
35972 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
35973 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
35974 grub_uint8_t.
35975 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
35976 (struct grub_efi_device_path): Rename the member "sub_type" to
35977 "subtype".
35978 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
35979 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
35980 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
35981 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
35982 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
35983 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
35984 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
35985 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
35986 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
35987 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
35988 (struct grub_efi_pci_device_path): New structure.
35989 (grub_efi_pci_device_path_t): New type.
35990 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
35991 (struct grub_efi_pccard_device_path): New structure.
35992 (grub_efi_pccard_device_path_t): New type.
35993 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
35994 (struct grub_efi_memory_mapped_device_path): New structure.
35995 (grub_efi_memory_mapped_device_path_t): New type.
35996 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
35997 (struct grub_efi_vendor_device_path): New structure.
35998 (grub_efi_vendor_device_path_t): New type.
35999 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
36000 (struct grub_efi_controller_device_path): New structure.
36001 (grub_efi_controller_device_path_t): New type.
36002 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
36003 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
36004 (struct grub_efi_acpi_device_path): New structure.
36005 (grub_efi_acpi_device_path_t): New type.
36006 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
36007 (struct grub_efi_expanded_acpi_device_path): New structure.
36008 (grub_efi_expanded_acpi_device_path_t): New type.
36009 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
36010 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
36011 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
36012 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
36013 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
36014 (struct grub_efi_atapi_device_path): New structure.
36015 (grub_efi_atapi_device_path_t): New type.
36016 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
36017 (struct grub_efi_fibre_channel_device_path): New structure.
36018 (grub_efi_fibre_channel_device_path_t): New type.
36019 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
36020 (struct grub_efi_1394_device_path): New structure.
36021 (grub_efi_1394_device_path_t): New type.
36022 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
36023 (struct grub_efi_usb_device_path): New structure.
36024 (grub_efi_usb_device_path_t): New type.
36025 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
36026 (struct grub_efi_usb_class_device_path): New structure.
36027 (grub_efi_usb_class_device_path_t): New type.
36028 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
36029 (struct grub_efi_i2o_device_path): New structure.
36030 (grub_efi_i2o_device_path_t): New type.
36031 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
36032 (struct grub_efi_mac_address_device_path): New structure.
36033 (grub_efi_mac_address_device_path_t): New type.
36034 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
36035 (struct grub_efi_ipv4_device_path): New structure.
36036 (grub_efi_ipv4_device_path_t): New type.
36037 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
36038 (struct grub_efi_ipv6_device_path): New structure.
36039 (grub_efi_ipv6_device_path_t): New type.
36040 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
36041 (struct grub_efi_infiniband_device_path): New structure.
36042 (grub_efi_infiniband_device_path_t): New type.
36043 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
36044 (struct grub_efi_uart_device_path): New structure.
36045 (grub_efi_uart_device_path_t): New type.
36046 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
36047 (struct grub_efi_vendor_messaging_device_path): New structure.
36048 (grub_efi_vendor_messaging_device_path_t): New type.
36049 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
36050 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
36051 (struct grub_efi_hard_drive_device_path): New structure.
36052 (grub_efi_hard_drive_device_path_t): New type.
36053 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
36054 (struct grub_efi_cdrom_device_path): New structure.
36055 (grub_efi_cdrom_device_path_t): New type.
36056 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
36057 (struct grub_efi_vendor_media_device_path): New structure.
36058 (grub_efi_vendor_media_device_path_t): New type.
36059 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
36060 (struct grub_efi_file_path_device_path): New structure.
36061 (grub_efi_file_path_device_path_t): New type.
36062 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
36063 (struct grub_efi_protocol_device_path): New structure.
36064 (grub_efi_protocol_device_path_t): New type.
36065 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
36066 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
36067 (struct grub_efi_bios_device_path): New structure.
36068 (grub_efi_bios_device_path_t): New type.
36069 (struct grub_efi_disk_io): New structure.
36070 (grub_efi_disk_io_t): New type.
36071 (struct grub_efi_block_io_media): New structure.
36072 (grub_efi_block_io_media_t): New type.
36073 (struct grub_efi_block_io): New structure.
36074 (grub_efi_block_io_t): New type.
36075
36076 * include/grub/misc.h (grub_stop): Removed.
36077 (grub_exit): New prototype.
36078 (grub_abort): Likewise.
36079
36080 * include/grub/disk.h (enum grub_disk_dev_id): Added
36081 GRUB_DISK_DEVICE_EFIDISK_ID.
36082
36083 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
36084 disk/efi/efidisk.c.
36085 (kernel_syms.lst): Remove the target if an error occurs.
36086
49986a9f 360872006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
36088
36089 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
36090 as it was simply too buggy.
36091
970d3b8a 360922006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
36093
36094 * kern/misc.c (grub_lltoa): New function.
36095 (grub_vsprintf): Added support for the long long suffix,
36096 i.e. "ll".
36097
ff04ec24 360982006-04-20 Hollis Blanchard <hollis@penguinppc.org>
36099
36100 * Makefile.in (LDFLAGS): Add variable.
36101 (LD): Remove variable.
36102 * configure.ac: Add -m32 to LDFLAGS.
36103 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
36104 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
36105 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
36106 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
36107 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
36108 variables.
36109 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
36110 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
36111 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
36112
37e5e1a4 361132006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
36114
36115 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
36116 length for unknown glyph.
36117
c352d8dd 361182006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
36119
2eab1c0d 36120 Add support for pre-loaded modules into the EFI port.
f19dbdb7 36121
2eab1c0d 36122 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
36123 completely. Accept one more argument DIR. The caller has changed.
36124
36125 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
36126
36127 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
36128 (grub_efi_loaded_image_guid): New variable.
36129 (grub_efi_get_loaded_image): New function.
36130 (grub_arch_modules_addr): Likewise.
36131
36132 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
36133 prototype.
36134
36135 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
36136 (struct grub_efi_loaded_image): New structure.
36137 (grub_efi_loaded_image_t): New type.
36138
361392006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 36140
c352d8dd 36141 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
36142 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
36143 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
36144
6d01d6b4 361452006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
36146
36147 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
36148
976a4ea0 361492006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
36150
36151 * DISTLIST: Added include/grub/efi/console.h,
36152 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
36153 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
36154
36155 * include/grub/efi/console.h: New file.
36156 * include/grub/efi/time.h: Likewise.
36157 * include/grub/i386/efi/kernel.h: Likewise.
36158 * kern/efi/init.c: Likewise.
36159 * kern/efi/mm.c: Likewise.
36160 * term/efi/console.c: Likewise.
f19dbdb7 36161
976a4ea0 36162 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
36163 (grub_stop): Removed.
36164 (grub_get_rtc): Likewise.
36165 (grub_machine_init): Simply call grub_efi_init.
36166 (grub_machine_fini): Call grub_efi_fini.
36167
36168 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
36169 (grub_efi_output_string): Removed.
36170 (grub_efi_stall): New function.
36171 (grub_stop): Likewise.
36172 (grub_get_rtc): Likewise.
36173
36174 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
36175 (grub_efi_stall): New prototype.
36176 (grub_efi_allocate_pages): Likewise.
36177 (grub_efi_free_pages): Likewise.
36178 (grub_efi_get_memory_map): Likewise.
36179 (grub_efi_mm_init): Likewise.
36180 (grub_efi_mm_fini): Likewise.
36181 (grub_efi_init): Likewise.
36182 (grub_efi_fini): Likewise.
36183
36184 * include/grub/i386/efi/time.h: Do not include
36185 grub/symbol.h. Include grub/efi/time.h.
36186 (GRUB_TICKS_PER_SECOND): Removed.
36187 (grub_get_rtc): Likewise.
36188
36189 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
36190 Added padding. The EFI spec is buggy.
36191 (GRUB_EFI_BLACK): New macro.
36192 (GRUB_EFI_BLUE): Likewise.
36193 (GRUB_EFI_GREEN): Likewise.
36194 (GRUB_EFI_CYAN): Likewise.
36195 (GRUB_EFI_RED): Likewise.
36196 (GRUB_EFI_MAGENTA): Likewise.
36197 (GRUB_EFI_BROWN): Likewise.
36198 (GRUB_EFI_LIGHTGRAY): Likewise.
36199 (GRUB_EFI_BRIGHT): Likewise.
36200 (GRUB_EFI_DARKGRAY): Likewise.
36201 (GRUB_EFI_LIGHTBLUE): Likewise.
36202 (GRUB_EFI_LIGHTGREEN): Likewise.
36203 (GRUB_EFI_LIGHTCYAN): Likewise.
36204 (GRUB_EFI_LIGHTRED): Likewise.
36205 (GRUB_EFI_LIGHTMAGENTA): Likewise.
36206 (GRUB_EFI_YELLOW): Likewise.
36207 (GRUB_EFI_WHITE): Likewise.
36208 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
36209 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
36210 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
36211 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
36212 (GRUB_EFI_BACKGROUND_RED): Likewise.
36213 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
36214 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
36215 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
36216 (GRUB_EFI_TEXT_ATTR): Likewise.
36217
36218 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
36219 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
36220 (kernel_mod_HEADERS): Added efi/time.h.
36221
83709125 362222006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
36223
36224 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
36225 include/grub/efi/api.h, include/grub/efi/console_control.h,
36226 include/grub/efi/efi.h, include/grub/efi/pe32.h,
36227 include/grub/i386/efi/time.h, kern/efi/efi.c,
36228 kern/i386/efi/init.c, kern/i386/efi/startup.S,
36229 and util/i386/efi/grub-mkimage.c.
36230
36231 * Makefile.in (RMKFILES): Added i386-efi.rmk.
36232
36233 * genmk.rb (PModule#rule): Do not export symbols if
36234 #{prefix}_EXPORTS is set to "no".
36235
36236 * conf/i386-efi.mk: New file.
36237 * conf/i386-efi.rmk: Likewise.
36238 * include/grub/efi/api.h: Likewise.
36239 * include/grub/efi/console_control.h: Likewise.
36240 * include/grub/efi/efi.h: Likewise.
36241 * include/grub/efi/pe32.h: Likewise.
36242 * include/grub/i386/efi/time.h: Likewise.
36243 * kern/efi/efi.c: Likewise.
36244 * kern/i386/efi/init.c: Likewise.
36245 * kern/i386/efi/startup.S: Likewise.
36246 * util/i386/efi/grub-mkimage.c: Likewise.
36247
362482006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 36249
36250 * include/grub/script.h: Include <grub/parser.h> and
36251 "grub_script.tab.h".
36252 (struct grub_lexer_param): New struct.
36253 (struct grub_parser_param): Likewise.
36254 (grub_script_create_arglist): Pass the state in an argument.
36255 (grub_script_add_arglist): Likewise.
36256 (grub_script_create_cmdline): Likewise.
36257 (grub_script_create_cmdblock): Likewise.
36258 (grub_script_create_cmdif): Likewise.
36259 (grub_script_create_cmdmenu): Likewise.
36260 (grub_script_add_cmd): Likewise.
36261 (grub_script_arg_add): Likewise.
36262 (grub_script_lexer_ref): Likewise.
36263 (grub_script_lexer_deref): Likewise.
36264 (grub_script_lexer_record_start): Likewise.
36265 (grub_script_lexer_record_stop): Likewise.
36266 (grub_script_mem_record): Likewise.
36267 (grub_script_mem_record_stop): Likewise.
36268 (grub_script_malloc): Likewise.
36269 (grub_script_yylex): Likewise.
36270 (grub_script_yyparse): Likewise.
36271 (grub_script_yyerror): Likewise.
36272 (grub_script_yylex): Likewise.
36273 (grub_script_lexer_init): Return the state.
36274
36275 * normal/lexer.c (grub_script_lexer_state): Removed variable.
36276 (grub_script_lexer_done): Likewise.
36277 (grub_script_lexer_getline): Likewise.
36278 (grub_script_lexer_refs): Likewise.
36279 (script): Likewise.
36280 (newscript): Likewise.
36281 (record): Likewise.
36282 (recording): Likewise.
36283 (recordpos): Likewise.
36284 (recordlen): Likewise.
36285 (grub_script_lexer_init): Return the state instead of setting
36286 global variables.
36287 (grub_script_lexer_ref): Use the newly added argument for state
36288 instead of globals.
36289 (grub_script_lexer_deref): Likewise.
36290 (grub_script_lexer_record_start): Likewise.
36291 (grub_script_lexer_record_stop): Likewise.
36292 (recordchar): Likewise.
36293 (nextchar): Likewise.
36294 (grub_script_yylex2): Likewise.
36295 (grub_script_yylex): Likewise.
36296 (grub_script_yyerror): Likewise.
36297
36298 * normal/parser.y (func_mem): Removed variable.
36299 (menu_entry): Likewise.
36300 (err): Likewise.
36301 (%lex-param): New parser option.
36302 (%parse-param): Likewise.
36303 (script): Always return the AST.
36304 (argument): Pass the state around.
36305 (arguments): Likewise.
36306 (grubcmd): Likewise.
36307 (commands): Likewise.
36308 (function): Likewise.
36309 (menuentry): Likewise.
36310 (if_statement): Likewise.
36311 (if): Likewise.
36312
36313 * normal/script.c (grub_script_memused): Removed variable.
36314 (grub_script_parsed): Likewise.
36315 (grub_script_malloc): Added a state argument. Use that instead of
36316 global variables.
36317 (grub_script_mem_record): Likewise.
36318 (grub_script_mem_record_stop): Likewise.
36319 (grub_script_arg_add): Likewise.
36320 (grub_script_add_arglist): Likewise.
36321 (grub_script_create_cmdline): Likewise.
36322 (grub_script_create_cmdif): Likewise.
36323 (grub_script_create_cmdmenu): Likewise.
36324 (grub_script_add_cmd): Likewise.
36325 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 36326
e2a8c904 363272006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 36328
36329 * normal/command.c (grub_command_init): Remove the title command.
36330
36331 * normal/lexer.c (grub_script_yylex): Renamed from this...
36332 (grub_script_yylex2): ... to this.
36333 (grub_script_yylex): New function. Temporary
36334 introduced to filter some tokens.
36335 (grub_script_yyerror): Print a newline.
36336
36337 * normal/main.c (read_config_file): Output information about the
36338 lines that contain errors. Wait for a key after all lines have
36339 been processed. Don't return an empty menu.
36340
36341 * normal/parser.y (func_mem): Don't initialize.
36342 (menu_entry): Likewise.
36343 (err): New variable.
36344 (script): Don't return anything when an error was encountered.
36345 (ws, returns): Removed rules.
36346 (argument): Disabled concatenated variable support.
36347 (arguments): Remove explicit separators.
36348 (grubcmd): Likewise.
36349 (function): Likewise.
36350 (menuentry): Likewise.
36351 (if): Likewise.
36352 (commands): Likewise. Add error handling.
36353
36354 * normal/script.c (grub_script_create_cmdline): If
36355 `grub_script_parsed' is 0, assume the parser encountered an error.
36356
c9a86192 363572006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
36358
36359 * configure.ac: Add support for EFI. Fix the typo
36360 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
36361
70f3b243 363622006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
36363
36364 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
36365 foreign multibyte characters should be shown correctly.
36366
65f201ad 363672006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
36368
36369 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
36370 calculation.
36371 (read_config_file): Made it to close file before returning.
36372
b4b93674 363732006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
36374
36375 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
36376 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
36377 video/i386/pc/vbefill.c.
36378
36379 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
36380 video/i386/pc/vbefill.c.
36381
36382 * include/grub/video.h (grub_video_blit_format): New enum.
36383 (grub_video_mode_info): Added new member blit_format.
36384 (grub_video_get_blit_format): New function prototype.
36385
36386 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
36387 function prototype.
36388 (grub_video_vbe_map_rgb): Likewise.
36389 (grub_video_vbe_unmap_color): Likewise.
36390
36391 * include/grub/i386/pc/vbeblit.h: New file.
36392
36393 * include/grub/i386/pc/vbefill.h: New file.
36394
36395 * video/video.c (grub_video_get_blit_format): New function.
36396 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
36397 (grub_video_vbe_map_rgb): Likewise.
36398 (grub_video_vbe_unmap_color): Likewise.
36399
36400 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
36401 optimized fills.
36402 (grub_video_vbe_blit_render_target): Changed to use more optimized
36403 blits.
36404 (grub_video_vbe_setup): Added detection for optimized settings.
36405 (grub_video_vbe_create_render_target): Likewise.
36406
36407 * video/i386/pc/vbeblit.c: New file.
36408
36409 * video/i386/pc/vbefill.c: New file.
36410
c2379b9c 364112006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
36412
36413 * font/manager.c (grub_font_get_glyph): Removed font fixup from
36414 here...
36415
36416 * util/unifont2pff.rb: ... and moved it to here. Improved argument
36417 parsing to support both hex and dec ranges. If filename was missing
36418 show usage information.
36419
bd0d7896 364202006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
36421
36422 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
36423 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
36424
36425 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
36426 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
36427 (video_mod_SOURCES): Added.
36428 (video_mod_CFLAGS): Likewise.
36429 (video_mod_LDFLAGS): Likewise.
36430 (gfxterm_mod_SOURCES): Likewise.
36431 (gfxterm_mod_CFLAGS): Likewise.
36432 (gfxterm_mod_LDFLAGS): Likewise.
36433 (videotest_mod_SOURCES): Likewise.
36434 (videotest_mod_CFLAGS): Likewise.
36435 (videotest_mod_LDFLAGS): Likewise.
36436 (vesafb_mod_SOURCES): Removed.
36437 (vesafb_mod_CFLAGS): Likewise.
36438 (vesafb_mod_LDFLAGS): Likewise.
36439 (vga_mod_SOURCES): Likewise.
36440 (vga_mod_CFLAGS): Likewise.
36441 (vga_mod_LDFLAGS): Likewise.
36442
36443 * commands/videotest.c: New file.
36444
36445 * font/manager.c (fill_with_default_glyph): Modified to use
36446 grub_font_glyph.
36447 (grub_font_get_glyph): Likewise.
36448 (fontmanager): Renamed from this...
36449 (font_manager): ... to this.
36450
36451 * include/grub/font.h (grub_font_glyph): Added new structure.
36452 (grub_font_get_glyph): Modified to use grub_font_glyph.
36453
36454 * include/grub/misc.h (grub_abs): Added as inline function.
36455
36456 * include/grub/video.h: New file.
36457
36458 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
36459 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
36460 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
36461 (grub_vbe_get_controller_info): Renamed from this...
36462 (grub_vbe_bios_get_controller_info): ... to this.
36463 (grub_vbe_get_mode_info): Renamed from this...
36464 (grub_vbe_bios_get_mode_info): ... to this.
36465 (grub_vbe_set_mode): Renamed from this...
36466 (grub_vbe_bios_set_mode): ... to this.
36467 (grub_vbe_get_mode): Renamed from this...
36468 (grub_vbe_bios_get_mode): ... to this.
36469 (grub_vbe_set_memory_window): Renamed from this...
36470 (grub_vbe_bios_set_memory_window): ... to this.
36471 (grub_vbe_get_memory_window): Renamed from this...
36472 (grub_vbe_bios_get_memory_window): ... to this.
36473 (grub_vbe_set_scanline_length): Renamed from this...
36474 (grub_vbe_set_scanline_length): ... to this.
36475 (grub_vbe_get_scanline_length): Renamed from this...
36476 (grub_vbe_bios_get_scanline_length): ... to this.
36477 (grub_vbe_set_display_start): Renamed from this...
36478 (grub_vbe_bios_set_display_start): ... to this.
36479 (grub_vbe_get_display_start): Renamed from this...
36480 (grub_vbe_bios_get_display_start): ... to this.
36481 (grub_vbe_set_palette_data): Renamed from this...
36482 (grub_vbe_bios_set_palette_data): ... to this.
36483 (grub_vbe_set_pixel_rgb): Removed.
36484 (grub_vbe_set_pixel_index): Likewise.
36485
36486 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
36487 from this...
36488 (grub_vbe_bios_get_controller_info): ... to this.
36489 (grub_vbe_get_mode_info): Renamed from this...
36490 (grub_vbe_bios_get_mode_info): ... to this.
36491 (grub_vbe_set_mode): Renamed from this...
36492 (grub_vbe_bios_set_mode): ... to this.
36493 (grub_vbe_get_mode): Renamed from this...
36494 (grub_vbe_bios_get_mode): ... to this.
36495 (grub_vbe_set_memory_window): Renamed from this...
36496 (grub_vbe_bios_set_memory_window): ... to this.
36497 (grub_vbe_get_memory_window): Renamed from this...
36498 (grub_vbe_bios_get_memory_window): ... to this.
36499 (grub_vbe_set_scanline_length): Renamed from this...
36500 (grub_vbe_set_scanline_length): ... to this.
36501 (grub_vbe_get_scanline_length): Renamed from this...
36502 (grub_vbe_bios_get_scanline_length): ... to this.
36503 (grub_vbe_set_display_start): Renamed from this...
36504 (grub_vbe_bios_set_display_start): ... to this.
36505 (grub_vbe_get_display_start): Renamed from this...
36506 (grub_vbe_bios_get_display_start): ... to this.
36507 (grub_vbe_set_palette_data): Renamed from this...
36508 (grub_vbe_bios_set_palette_data): ... to this.
36509 (grub_vbe_bios_get_controller_info): Fixed problem with registers
36510 getting corrupted after calling it. Added more pushes and pops.
36511 (grub_vbe_bios_set_mode): Likewise.
36512 (grub_vbe_bios_get_mode): Likewise.
36513 (grub_vbe_bios_get_memory_window): Likewise.
36514 (grub_vbe_bios_set_scanline_length): Likewise.
36515 (grub_vbe_bios_get_scanline_length): Likewise.
36516 (grub_vbe_bios_get_display_start): Likewise.
36517 (grub_vbe_bios_set_palette_data): Likewise.
36518
36519 * normal/cmdline.c (cl_set_pos): Refresh the screen.
36520 (cl_insert): Likewise.
36521 (cl_delete): Likewise.
36522
36523 * term/gfxterm.c: New file.
36524
36525 * term/i386/pc/vesafb.c: Removed file.
36526
36527 * video/video.c: New file.
36528
36529 * video/i386/pc/vbe.c (real2pm): Added new function.
36530 (grub_video_vbe_draw_pixel): Likewise.
36531 (grub_video_vbe_get_video_ptr): Likewise.
36532 (grub_video_vbe_get_pixel): Likewise
36533 (grub_video_vbe_init): Likewise.
36534 (grub_video_vbe_fini): Likewise.
36535 (grub_video_vbe_setup): Likewise.
36536 (grub_video_vbe_get_info): Likewise.
36537 (grub_video_vbe_set_palette): Likewise.
36538 (grub_video_vbe_get_palette): Likewise.
36539 (grub_video_vbe_set_viewport): Likewise.
36540 (grub_video_vbe_get_viewport): Likewise.
36541 (grub_video_vbe_map_color): Likewise.
36542 (grub_video_vbe_map_rgb): Likewise.
36543 (grub_video_vbe_map_rgba): Likewise.
36544 (grub_video_vbe_unmap_color): Likewise.
36545 (grub_video_vbe_fill_rect): Likewise.
36546 (grub_video_vbe_blit_glyph): Likewise.
36547 (grub_video_vbe_blit_bitmap): Likewise.
36548 (grub_video_vbe_blit_render_target): Likewise.
36549 (grub_video_vbe_scroll): Likewise.
36550 (grub_video_vbe_swap_buffers): Likewise.
36551 (grub_video_vbe_create_render_target): Likewise.
36552 (grub_video_vbe_delete_render_target): Likewise.
36553 (grub_video_vbe_set_active_render_target): Likewise.
36554 (grub_vbe_set_pixel_rgb): Remove function.
36555 (grub_vbe_set_pixel_index): Likewise.
36556 (index_color_mode): Remove static variable.
36557 (active_mode): Likewise.
36558 (framebuffer): Likewise.
36559 (bytes_per_scan_line): Likewise.
36560 (grub_video_vbe_adapter): Added new static variable.
36561 (framebuffer): Likewise.
36562 (render_target): Likewise.
36563 (initial_mode): Likewise.
36564 (mode_in_use): Likewise.
36565 (mode_list): Likewise.
36566
5f97350b 365672006-03-10 Marco Gerards <marco@gnu.org>
36568
36569 * configure.ac (AC_INIT): Bumped to 1.93.
36570
36571 * DISTLIST: Added `include/grub/hfs.h'.
36572
a3c5c6f8 365732006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
36574
36575 * boot/i386/pc/boot.S (general_error): Before looping, try INT
36576 18H, which might help the BIOS falling back to next boot media.
36577
6de53d26 365782006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
36579
36580 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
36581 Poe Chen <poe.poechen@gmail.com>.
36582
77c4a393 365832006-01-17 Marco Gerards <marco@gnu.org>
36584
36585 * include/grub/normal.h: Include <grub/script.h>.
36586 (grub_command_list): Removed struct.
36587 (grub_command_list_t): Removed type.
36588 (grub_menu_entry): Remove members `num' and `command_list'. Add
36589 members `commands' and `sourcecode'.
36590 * include/grub/script.h: Add inclusion guards.
36591 (grub_script_cmd_menuentry): New struct.
36592 (grub_script_execute_menuentry): New prototype.
36593 (grub_script_lexer_record_start): Likewise.
36594 (grub_script_lexer_record_stop): Likewise.
36595 * normal/execute.c (grub_script_execute_menuentry): New function.
36596 * normal/lexer.c (record, recording, recordpos, recordlen): New
36597 variables.
36598 (grub_script_lexer_record_start): New function.
36599 (grub_script_lexer_record_stop): Likewise.
36600 (recordchar): Likewise.
36601 (nextchar): Likewise.
36602 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
36603 2048 as the buffer size. Add the tokens `menuentry' and `@'.
36604 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
36605 (current_menu): New variable.
36606 (free_menu): Mainly rewritten.
36607 (grub_normal_menu_addentry): New function.
36608 (read_config_file): Rewritten.
36609 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 36610 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 36611 the menu entry.
36612 (run): Mainly rewritten.
36613 * normal/parser.y (menu_entry): New variable.
36614 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
36615 (menuentry): New rule.
36616 (command): Add `menuentry'.
36617 (if_statement): Allow additional returns before `fi'.
36618 * normal/script.c (grub_script_create_cmdmenu): New function.
36619
144f1f98 366202006-01-03 Marco Gerards <marco@gnu.org>
36621
36622 * INSTALL: GNU Bison is required.
36623 * configure.ac: Rewritten the test to detect Bison.
36624 * Makefile.in (YACC): New variable. Reported by Xun Sun
36625 <xun.sun.cn@gmail.com>.
36626
af4b2d89 366272006-01-03 Marco Gerards <marco@gnu.org>
36628
36629 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
36630 the HFS+ filesystem to filesystem blocks.
36631 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
36632 GCC warning is silenced.
36633
15643b71 366342006-01-03 Marco Gerards <marco@gnu.org>
36635
36636 * partmap/apple.c (apple_partition_map_iterate): Convert the data
36637 read from disk from big endian to host byte order.
36638
00905879 366392006-01-03 Hollis Blanchard <hollis@penguinppc.org>
36640
36641 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
36642 documentation.
36643 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
36644 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
36645 embedded HFS+ filesystem.
36646 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
36647 (grub_hfs_sblock): Move from here...
36648 * include/grub/hfs.h: To here... New file.
36649 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
36650 documentation.
36651 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
36652 New macros.
36653 (grub_hfsplus_volheader): Change type of member `magic' to
36654 `grub_uint16_t'.
36655 (grub_hfsplus_data): Add new member `embedded_offset'.
36656 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
36657 returned block.
36658 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
36659 Calculate the offset.
36660
8899bc3e 366612005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36662
36663 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
36664 Removed.
36665 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
36666
ae8c0277 366672005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36668
36669 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
36670 ENV->NAME is NULL after allocating ENV->VALUE.
36671
07084456 366722005-12-25 Marco Gerards <marco@gnu.org>
36673
36674 * kern/env.c (grub_env_set): Rewritten the error handling code.
36675
4750f5f1 366762005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36677
36678 * geninit.sh: Made more robust, and more portable.
36679
50214199 366802005-12-25 Marco Gerards <marco@gnu.org>
36681
36682 Add support for Apple HFS+ filesystems.
f19dbdb7 36683
50214199 36684 * fs/hfsplus.c: New file.
36685
36686 * DISTLIST: Added `fs/hfsplus.c'.
36687
36688 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
36689 (hfsplus_mod_SOURCES): New variable.
36690 (hfsplus_mod_CFLAGS): Likewise.
36691 (hfsplus_mod_LDFLAGS): Likewise.
36692 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
36693 (grub_setup_SOURCES): Likewise.
36694 (grub_mkdevicemap_SOURCES): Likewise.
36695 (grub_emu_SOURCES): Likewise.
36696 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36697
36698 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
36699
36700 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
36701
befaed6c 367022005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36703
36704 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
36705 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
36706 include/grub/parser.h, include/grub/script.h, kern/parser.c,
36707 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
36708 normal/lexer.c, normal/parser.y, normal/script.c, and
36709 partmap/gpt.c.
36710 Removed kern/sparc64/cache.c.
36711
36712 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
36713 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
36714 grub_emu_init.c.
36715
36716 * configure.ac (AC_INIT): Bumped to 1.92.
36717
6a124103 367182005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
36719
36720 * kern/err.c (grub_error_push): Added new function to support error
36721 stacks.
36722 (grub_error_pop): Likewise.
36723 (grub_error_stack_items): New local variable to support error stacks.
36724 (grub_error_stack_pos): Likewise.
36725 (grub_error_stack_assert): Likewise.
36726 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
36727 stack depth.
36728 (grub_print_error): Added support to print errors from error stack.
36729
36730 * include/grub/err.h (grub_error_push): Added function prototype.
36731 (grub_error_pop): Likewise.
36732
be973c1b 367332005-12-09 Hollis Blanchard <hollis@penguinppc.org>
36734
36735 * configure.ac: Accept `powerpc64' as host_cpu.
36736 (amd64): Rename to `biarch32'.
36737
36738 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
36739 non-cacheline-aligned addresses.
36740
36741 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
36742 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
36743 if `size' is non-zero.
36744
b04216ab 367452005-12-03 Marco Gerards <mgerards@xs4all.nl>
36746
36747 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
36748 and `cd' to make sure the filename is not prefixed with a
36749 directory name.
36750 (pkgdata_MODULES): Add `gpt.mod'.
36751 (gpt_mod_SOURCES): New variable.
36752 (gpt_mod_CFLAGS): Likewise.
36753 (gpt_mod_LDFLAGS): Likewise.
36754
36755 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
36756
36757 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
36758 New macro.
36759
36760 * partmap/gpt.c: New file.
36761
36762 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
36763 GPT partition map is detected.
36764
41730ed9 367652005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
36766
36767 * commands/i386/pc/play.c: New file.
36768 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
36769 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
36770 macros.
f19dbdb7 36771
95dc3643 367722005-11-27 Marco Gerards <mgerards@xs4all.nl>
36773
36774 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
36775 ((unused))' to silence gcc warning.
36776
1569ec51 367772005-11-26 Hollis Blanchard <hollis@penguinppc.org>
36778
36779 * configure.ac: Correct `AC_PROG_YACC' test.
36780
9abde152 367812005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36782
36783 * util/powerpc/ieee1275/grub-install.in: Run the mount point
36784 check before installing files.
36785
44b83271 367862005-11-22 Mike Small <smallm@panix.com>
36787
36788 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
36789 number regex so multidigit numbers are recognized correctly.
36790
367912005-11-22 Mike Small <smallm@panix.com>
36792
36793 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
36794 debugging message before attempting to claim memory.
36795 (grub_rescue_cmd_initrd): Add a claim debugging message and try
36796 multiple addresses in case of failure.
36797
9c12956b 367982005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36799
36800 * term/tparm.c (get_space): Remove empty `if' statement.
36801
36802 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
36803
36804 * kern/parser.c (check_varstate): Rename `state' to 's'.
36805
aeaf81d9 368062005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36807
36808 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
36809 variable definitions to the beginning of each function. Sort stack
36810 variables by size.
36811 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
36812 `buf' argument to `char *'.
36813
79bbb63f 368142005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36815
36816 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
36817 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 36818 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 36819 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36820 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36821 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36822 configfile.mod, search.mod, gzio.mod and test.mod.
36823 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36824 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36825 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36826 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36827 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36828 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36829 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36830 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36831 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36832 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36833 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36834 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36835 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36836 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36837 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36838 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36839 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36840 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36841 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36842 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36843 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36844 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36845 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
36846
36847 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
36848 `grep --include'.
36849 (pkgdata_MODULES): Add test.mod.
36850
233b1628 368512005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36852
36853 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
36854 appending to variables with "+=".
36855 (PModule): Use full pathname to generate *.lst filenames.
36856
36857 * Makefile.in: Fixed list rules moved from genmk.rb.
36858 (.DELETE_ON_ERROR): New special target.
36859 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
36860
36861 * conf/i386-pc.rmk: Include conf/common.mk.
36862 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 36863 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 36864 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36865 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36866 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36867 configfile.mod, search.mod, gzio.mod and test.mod.
36868 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36869 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36870 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36871 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36872 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36873 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36874 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36875 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36876 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36877 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36878 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36879 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36880 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36881 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36882 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36883 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36884 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36885 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36886 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36887 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36888 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36889 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36890 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
36891 here...
36892 * conf/common.rmk: ... to here. New file.
36893
36894 * conf/common.mk: New file.
36895
16f820c8 368962005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
36897
36898 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
36899 (grub_script.tab.c): ... here.
36900
36901 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
36902 (grub_script.tab.c): ... here.
36903
36904 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
36905 (grub_script.tab.c): ... here.
36906
36907 * normal/command.c (grub_command_find): Fixed a memory leak of
36908 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
36909
63ba1554 369102005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36911
36912 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
36913 "@" which marks the start of a comment on ARM.
36914 (VARIABLE): Likewise.
36915
7f67dc13 369162005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36917
79bbb63f 36918 Add support for Linux/ADFS partition tables.
7f67dc13 36919
36920 * partmap/acorn.c: New file.
36921
36922 * include/grub/acorn_filecore.h: Likewise.
36923
36924 * DISTLIST: Added `partmap/acorn.c' and
36925 `include/grub/acorn_filecore.h'.
f19dbdb7 36926
7f67dc13 36927 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36928 `partmap/acorn.c'.
36929 (pkgdata_MODULES): Add `acorn.mod'.
36930 (acorn_mod_SOURCES): New variable.
36931 (acorn_mod_CFLAGS): Likewise.
36932
36933 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
36934 `partmap/acorn.c'.
36935 (pkgdata_MODULES): Add `acorn.mod'.
36936 (acorn_mod_SOURCES): New variable.
36937 (acorn_mod_CFLAGS): Likewise.
36938
36939 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
36940 (pkgdata_MODULES): Add `acorn.mod'.
36941 (acorn_mod_SOURCES): New variable.
36942 (acorn_mod_CFLAGS): Likewise.
36943 (acorn_mod_LDFLAGS): Likewise.
36944
36945 * include/types.h (grub_disk_addr_t): New typedef.
36946
6d099807 369472005-11-13 Marco Gerards <mgerards@xs4all.nl>
36948
36949 * geninit.sh: New file.
36950
36951 * geninitheader.sh: Likewise.
36952
36953 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
36954 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
36955 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
36956 * commands/configfile.c (grub_configfile_init)
36957 (grub_configfile_fini): Likewise.
36958 * commands/default.c (grub_default_init, grub_default_fini):
36959 Likewise.
36960 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
36961 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
36962 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
36963 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
36964 Likewise.
36965 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
36966 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
36967 Likewise.
36968 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 36969 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 36970 Likewise.
36971 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
36972 Likewise.
fe6b695a 36973 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 36974 Likewise.
36975 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
36976 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
36977 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
36978 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
36979 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
36980 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
36981 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
36982 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
36983 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
36984 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
36985 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
36986 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
36987 * partmap/amiga.c (grub_amiga_partition_map_init)
36988 (grub_amiga_partition_map_fini): Likewise.
36989 * partmap/apple.c (grub_apple_partition_map_init)
36990 (grub_apple_partition_map_fini): Likewise.
36991 * partmap/pc.c (grub_pc_partition_map_init)
36992 (grub_pc_partition_map_fini): Likewise.
36993 * partmap/sun.c (grub_sun_partition_map_init,
36994 grub_sun_partition_map_fini): Likewise.
36995 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
36996 Likewise.
36997
36998 * util/grub-emu.c: Include <grub_modules_init.h>.
36999 (main): Don't initialize and de-initialize any modules directly,
37000 use `grub_init_all' and `grub_fini_all' instead.
37001
37002 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
37003 `grub_vesafb_mod_init'.
37004 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
37005 all users.
37006 * term/i386/pc/vga.c (grub_vga_init): Renamed to
37007 `grub_vga_mod_init'. Updated all users.
37008 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 37009
6d099807 37010 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
37011 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
37012 rules.
37013
37014 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
37015 Generate a function to initialize the module in utilities.
37016 Updated all callers.
37017 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
37018 initialize the module in utilities. Updated all callers.
37019
9046bcf0 370202005-11-09 Hollis Blanchard <hollis@penguinppc.org>
37021
37022 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
37023 escape sequence and a literal ^L to clear the screen.
37024
37025 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
37026 when returning from Open Firmware.
37027
d13ea639 370282005-11-09 Hollis Blanchard <hollis@penguinppc.org>
37029
37030 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
37031 (grub_ofconsole_height): Likewise.
37032 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
37033 manually insert a '\n'.
37034 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
37035 `grub_ofconsole_height'. Return early if these are already set.
37036
a8fcf206 370372005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
37038
37039 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
37040 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
37041 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
37042 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
37043 and `normal/script.c'.
37044 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
37045 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
37046 (test_mod_SOURCES): New variable.
37047 (test_mod_CFLAGS): Likewise.
37048 (test_mod_LDFLAGS): Likewise.
37049 (pkgdata_MODULES): Add `test.mod'.
37050 (grub_script.tab.c): New rule.
37051 (grub_script.tab.h): Likewise.
37052
b6b32745 370532005-11-07 Marco Gerards <mgerards@xs4all.nl>
37054
37055 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
37056 `commands/test.c', `normal/execute.c', `normal/lexer.c',
37057 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
37058 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
37059 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
37060 (test_mod_SOURCES): New variable.
37061 (test_mod_CFLAGS): Likewise.
37062 (pkgdata_MODULES): Add `test.mod'.
37063 (grub_script.tab.c): New rule.
37064 (grub_script.tab.h): Likewise.
37065
daac212a 370662005-11-06 Marco Gerards <mgerards@xs4all.nl>
37067
37068 Add initial scripting support.
37069
37070 * commands/test.c: New file.
37071 * include/grub/script.h: Likewise.
37072 * normal/execute.c: Likewise.
37073 * normal/function.c: Likewise.
37074 * normal/lexer.c: Likewise.
37075 * normal/parser.y: Likewise.
37076 * normal/script.c: Likewise.
37077
37078 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 37079
daac212a 37080 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
37081 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
37082 `normal/function.c' and `normal/script.c'.
37083 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
37084 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 37085 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
37086 variables.
daac212a 37087 (pkgdata_MODULES): Add `test.mod'.
37088 (grub_script.tab.c): New rule.
37089 (grub_script.tab.h): Likewise.
37090
37091 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
37092
37093 * include/grub/normal.h (grub_test_init): New prototype.
37094 (grub_test_fini): Likewise.
f19dbdb7 37095
daac212a 37096 * normal/command.c: Include <grub/script.h>.
37097 (grub_command_execute): Rewritten.
f19dbdb7 37098
daac212a 37099 * util/grub-emu.c (main): Call `grub_test_init' and
37100 `grub_test_fini'.
37101
77500b2b 371022005-11-03 Hollis Blanchard <hollis@penguinppc.org>
37103
37104 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
37105 to 0.
37106 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
37107 there are no pending characters.
37108
e45deb9e 371092005-11-03 Hollis Blanchard <hollis@penguinppc.org>
37110
37111 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
37112 `grub_strndup' to drop device arguments. Replace unnecessary
37113 `grub_strndup' with `grub_strdup'.
37114
4ce32619 371152005-11-03 Hollis Blanchard <hollis@penguinppc.org>
37116
37117 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
37118 `debug' environment variable has been set.
37119
371202005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 37121
4ce32619 37122 * Makefile.in (install-local): Use $(DATA).
37123 (uninstall): Likewise.
37124 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
37125 (sbin_UTILITIES): ... to here.
37126 (sbin_SCRIPTS): New variable.
37127 (grub_install_SOURCES): New variable.
37128 * util/powerpc/ieee1275/grub-install.in: New file.
37129 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
37130 variable.
37131 (add_segments): Call `grub_util_get_path'.
37132
25fe6f03 371332005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
37134
37135 From Timothy Baldwin:
37136 * commands/ls.c (grub_ls_list_files): Close FILE with
37137 grub_file_close.
37138 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
37139
04ccf3ec 371402005-10-24 Marco Gerards <mgerards@xs4all.nl>
37141
37142 * include/grub/parser.h: New file.
37143
37144 * kern/parser.c: Likewise.
37145
37146 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
37147 (grub_setup_SOURCES): Likewise.
37148 (grub_probefs_SOURCES): Likewise.
37149 (grub_emu_SOURCES): Likewise.
37150 (kernel_img_HEADERS): Add `parser.h'.
37151
37152 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
37153 (grub_emu_SOURCES): Add `kern/parser.c'.
37154 (grubof_SOURCES): Likewise.
37155
37156 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
37157 (grubof_SOURCES): Add `kern/parser.c'.
37158
37159 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
37160
37161 * kern/misc.c (grub_split_cmdline): Removed function.
37162
37163 * kern/rescue.c: Include <grub/parser.h>.
37164 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
37165 of `grub_split_cmdline'.
37166
37167 * normal/command.c: Include <grub/parser.h>.
37168 (grub_command_execute): Use `grub_parser_split_cmdline' instead
37169 of `grub_split_cmdline'.
37170
37171 * normal/completion.c: Include <grub/parser.h>.
37172 (cmdline_state): New variable.
37173 (iterate_dir): End the filename with a quote depending on the
37174 command line state.
37175 (get_state): new function.
37176 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
37177 split the arguments and determine the current argument. When the
37178 argument string is not quoted, escape all spaces.
37179
6d8f4b0e 371802005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
37181
37182 * normal/sparc64/setjmp.S: New file.
37183
15cf03ed 371842005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
37185
37186 * include/grub/sparc64/libgcc.h: New file.
37187 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
37188 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
37189 normal/sparc64/setjmp.c.
37190
03e8661a 371912005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
37192
37193 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
37194 * kern/sparc64/cache.S: New file.
37195 * kern/sparc64/cache.c: Removed.
37196 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
37197 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
37198 -mtune=ultrasparc.
37199 (COMMON_LDFLAGS): Add -melf64_sparc.
37200 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
37201 (grubof_SOURCES): Use cache.S instead of cache.c.
37202 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
37203 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
37204 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
37205 commented though.
37206 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
37207 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
37208 (linux_mod_CFLAGS): Commented out.
37209 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
37210 out because module isn't built.
37211 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
37212 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
37213 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
37214 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
37215 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
37216 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
37217 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
37218 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
37219 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
37220 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
37221 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
37222 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
37223 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
37224 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
37225
34eeec8a 372262005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
37227
37228 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
37229 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
37230 longer, because HFS should not be used on PC.
37231
708367a3 372322005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37233
37234 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
37235 consistently within the loop.
37236
6fa1251a 372372005-10-15 Marco Gerards <mgerards@xs4all.nl>
37238
37239 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
37240 directory can not be read.
37241
4801580b 372422005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37243
37244 * configure.ac (AC_INIT): Increase the version number to 1.91.
37245
37246 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
37247 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
37248 term/i386/pc/serial.c.
37249
219ad426 372502005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37251
37252 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
37253 file size must be permitted.
37254
37255 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
37256 between %ah and %al.
37257
688e5699 372582005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37259
37260 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
37261 grub_uint64_t.
37262 Call the hook with a NUL-terminated filename.
37263 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
37264 grub_cpu_to_be32.
37265
37266 * kern/term.c (cursor_state): New variable.
37267 (grub_term_set_current): Reset the cursor state on a new
37268 terminal.
37269 (grub_setcursor): Rewritten to use CURSOR_STATE.
37270 (grub_getcursor): New function.
37271
37272 * include/grub/term.h (grub_getcursor): New prototype.
37273
37274 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
37275 integers on ARM. Reported by Timothy Baldwin
37276 <T.E.Baldwin99@members.leeds.ac.uk>.
37277
bb34586c 372782005-10-11 Marco Gerards <mgerards@xs4all.nl>
37279
37280 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
37281 allocated.
37282 (grub_sfs_dir): Likewise.
37283
9a909877 372842005-10-09 Marco Gerards <mgerards@xs4all.nl>
37285
37286 Add support for the SFS filesystem.
37287
37288 * fs/sfs.c: New file.
37289
37290 * DISTLIST: Added `fs/sfs.c'.
37291
37292 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
37293 (grub_probefs_SOURCES): Likewise.
37294 (grub_emu_SOURCES): Likewise.
37295 (pkgdata_MODULES): Add `sfs.mod'.
37296 (sfs_mod_SOURCES): New variable.
37297 (sfs_mod_CFLAGS): Likewise.
37298 (sfs_mod_LDFLAGS): Likewise.
37299
37300 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
37301 (pkgdata_MODULES): Add `sfs.mod'.
37302 (sfs_mod_SOURCES): New variable.
37303 (sfs_mod_CFLAGS): Likewise.
37304
37305 * util/grub-emu.c (main): Call `grub_sfs_init' and
37306 `grub_sfs_fini'.
37307
37308 * include/grub/fs.h (grub_sfs_init): New prototype.
37309 (grub_sfs_fini): Likewise.
37310
57bdbde3 373112005-10-07 Marco Gerards <mgerards@xs4all.nl>
37312
37313 Add support for the AFFS filesystem.
37314
37315 * fs/affs.c: New file.
37316
37317 * DISTLIST: Added `fs/affs.c'.
37318
37319 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
37320 (grub_probefs_SOURCES): Likewise.
37321 (grub_emu_SOURCES): Likewise.
37322 (pkgdata_MODULES): Add `affs.mod'.
37323 (affs_mod_SOURCES): New variable.
37324 (affs_mod_CFLAGS): Likewise.
37325 (affs_mod_LDFLAGS): Likewise.
37326
37327 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
37328 (pkgdata_MODULES): Add `affs.mod'.
37329 (affs_mod_SOURCES): New variable.
37330 (affs_mod_CFLAGS): Likewise.
37331
37332 * util/grub-emu.c (main): Call `grub_affs_init' and
37333 `grub_affs_fini'.
37334
37335 * include/grub/fs.h (grub_affs_init): New prototype.
37336 (grub_affs_fini): Likewise.
37337
047b67e0 373382005-10-01 Marco Gerards <mgerards@xs4all.nl>
37339
37340 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
37341
59b8208a 373422005-10-01 Marco Gerards <mgerards@xs4all.nl>
37343
37344 * configure.ac: Accept `x86_64' as host_cpu. In that case add
37345 `-m32' to CFLAGS.
37346
37347 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
37348 linking.
f19dbdb7 37349
59b8208a 37350 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
37351 (COMMON_LDFLAGS): New variable.
37352 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
37353 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
37354 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
37355 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
37356 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
37357 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
37358 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
37359 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
37360 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
37361 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
37362 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
37363 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
37364 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
37365 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
37366 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
37367 variables.
37368 (normal_mod_ASFLAGS): Add `-m32'.
37369
37370 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
37371 (grub_host_size_t, grub_host_ssize_t): New types.
37372 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 37373 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 37374 `GRUB_HOST_SIZEOF_VOID_P'.
37375
37376 * include/grub/kernel.h (struct grub_module_header): Type of
37377 member offset changed to `grub_host_off_t'. Type of member size
37378 changed to `grub_host_size_t'.
37379 (struct grub_module_info): Type of member offset changed to
37380 `grub_host_off_t'. Type of member size changed to
37381 `grub_host_size_t'.
37382
b4093103 373832005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
37384
37385 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 37386
b4093103 37387 * kern/i386/pc/startup.S (multiboot_header): New label.
37388 (multiboot_entry): Likewise.
37389 (multiboot_trampoline): Likewise.
37390
37391 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
37392 Increased to 0x4A0.
37393
37394 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
37395 put parentheses after a question mark.
37396 [!GRUB_UTIL] (my_mod): New variable.
37397
37398 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
37399
b2499b29 374002005-09-28 Marco Gerards <mgerards@xs4all.nl>
37401
37402 Adds support for the XFS filesystem. Btrees are not supported
37403 yet.
37404
37405 * fs/xfs.c: New file.
37406
37407 * DISTLIST: Added `fs/xfs.c'.
37408
37409 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
37410 (grub_probefs_SOURCES): Likewise.
37411 (grub_emu_SOURCES): Likewise.
37412 (pkgdata_MODULES): Add `xfs.mod'.
37413 (xfs_mod_SOURCES): New variable.
37414 (xfs_mod_CFLAGS): Likewise.
37415
37416 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
37417 (pkgdata_MODULES): Add `xfs.mod'.
37418 (xfs_mod_SOURCES): New variable.
37419 (xfs_mod_CFLAGS): Likewise.
37420
37421 * util/grub-emu.c (main): Call `grub_xfs_init' and
37422 `grub_xfs_fini'.
37423
37424 * include/grub/fs.h (grub_xfs_init): New prototype.
37425 (grub_xfs_fini): Likewise.
37426
f19dbdb7 37427
83d37a62 374282005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
37429
37430 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
37431 color modes, allow greater than 16 colors to be configured as
37432 a default palette.
37433
47d2d65e 374342005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37435
37436 * normal/completion.c (complete_arguments): Add the qualifier
37437 const into OPTIONS.
37438
37439 From Omniflux <omniflux+lists@omniflux.com>:
37440 * include/grub/terminfo.h: New file.
37441 * include/grub/tparm.h: Likewise.
37442 * include/grub/i386/pc/serial.h: Likewise.
37443 * term/terminfo.c: Likewise.
37444 * term/tparm.c: Likewise.
37445 * term/i386/pc/serial.c: Likewise.
37446 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
37447 serial.mod.
37448 (terminfo_mod_SOURCES): New variable.
37449 (terminfo_mod_CFLAGS): Likewise.
37450 (serial_mod_SOURCES): Likewise.
37451 (serial_mod_CFLAGS): Likewise.
37452
48b671ff 374532005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
37454
37455 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
37456 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
37457 and kern/powerpc/ieee1275/cmain.c, respectively.
37458
37459 * boot/powerpc/ieee1275/crt0.S: Moved to ...
37460 * kern/powerpc/ieee1275/crt0.S: ... here.
37461
37462 * boot/powerpc/ieee1275/cmain.c: Moved to ...
37463 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 37464
48b671ff 37465 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
37466 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
37467 instead of boot/powerpc/ieee1275/crt0.S and
37468 boot/powerpc/ieee1275/cmain.c, respectively.
37469
37470 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
37471 sectors. It was not used anyway.
37472
09fc77a7 374732005-08-30 Hollis Blanchard <hollis@penguinppc.org>
37474
37475 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
37476 `unused parameter' warning.
37477
003789c7 374782005-08-30 Hollis Blanchard <hollis@penguinppc.org>
37479
37480 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
37481 function.
37482 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
37483 getcharwidth.
37484
67f44c86 374852005-08-28 Marco Gerards <metgerards@student.han.nl>
37486
37487 * include/grub/normal.h (enum grub_completion_type): Added
37488 `GRUB_COMPLETION_TYPE_ARGUMENT'.
37489
37490 * normal/cmdline.c (print_completion): Handle
37491 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
37492 * normal/menu_entry.c (store_completion): Likewise.
37493
37494 * normal/completion.c (complete_arguments): New function.
37495 (grub_normal_do_completion): Call `complete_arguments' when the
37496 current words start with a dash.
37497
0b5abe02 374982005-08-27 Marco Gerards <metgerards@student.han.nl>
37499
37500 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
37501 `gzio.mod' instead of `io.mod').
37502
d9864ee1 375032005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
37504
37505 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
37506 (DISTDIRS): Added io and video.
37507 Rewrite the search routine to make an output consistently.
37508
37509 * DISTLIST: Added conf/sparc64-ieee1275.mk,
37510 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
37511 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
37512 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
37513 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
37514 util/powerpc/ieee1275/misc.c.
f19dbdb7 37515
d9864ee1 37516 * include/grub/gzio.h: New file.
37517 * io/gzio.c: Likewise.
f19dbdb7 37518
d9864ee1 37519 * kern/file.c (grub_file_close): Call grub_device_close only if
37520 FILE->DEVICE is not NULL.
37521
37522 * include/grub/mm.h [!NULL] (NULL): New macro.
37523
37524 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
37525
37526 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
37527 (pkgdata_MODULES): Added gzio.mod.
37528 (gzio_mod_SOURCES): New variable.
37529 (gzio_mod_CFLAGS): Likewise.
37530
37531 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
37532 (pkgdata_MODULES): Added gzio.mod.
37533 (gzio_mod_SOURCES): New variable.
37534 (gzio_mod_CFLAGS): Likewise.
37535
37536 * commands/cat.c: Include grub/gzio.h.
37537 (grub_cmd_cat): Use grub_gzfile_open instead of
37538 grub_file_open.
f19dbdb7 37539
d9864ee1 37540 * commands/cmp.c: Include grub/gzio.h.
37541 (grub_cmd_cmp): Use grub_gzfile_open instead of
37542 grub_file_open.
37543
37544 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
37545 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
37546 grub_file_open.
37547 (grub_rescue_cmd_module): Likewise.
37548
fa46f4b5 375492005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
37550
37551 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
37552 kern/sparc64/ieee1275/init.c because it contains _start.
37553 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
37554
e9211b5d 375552005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
37556
37557 * configure.ac: Add support for sparc64 host with ieee1275
37558 firmware.
37559 * configure: Generated from configure.ac.
37560 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
37561 instead of int.
37562 (grub_ofdisk_read): Likewise.
37563 (grub_ofdisk_open): Use %p to print pointer values, and cast the
37564 pointers as (void *) to remove a warning.
37565 (grub_ofdisk_close): Likewise.
37566 (grub_ofdisk_read): Likewise.
37567 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
37568 returns, so make it return void to remove a warning.
37569 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
37570 Corresponding prototype change.
37571 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
37572 values, and cast the pointers as (void *) to remove a warning.
37573 (grub_mm_dump): Likewise.
37574 * conf/sparc64-ieee1275.mk: New file.
37575 * conf/sparc64-ieee1275.rmk: Likewise.
37576 * include/grub/sparc64/setjmp.h: Likewise.
37577 * include/grub/sparc64/types.h: Likewise.
37578 * include/grub/sparc64/ieee1275/console.h: Likewise.
37579 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
37580 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
37581 * include/grub/sparc64/ieee1275/time.h: Likewise.
37582 * kern/sparc64/cache.c: Likewise.
37583 * kern/sparc64/dl.c: Likewise.
37584 * kern/sparc64/ieee1275/init.c: Likewise.
37585 * kern/sparc64/ieee1275/openfw.c: Likewise.
37586
385c6a92 375872005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
37588
37589 * util/console.c (grub_ncurses_putchar): If C is greater than
37590 0x7f, set C to a question mark.
37591 (grub_ncurses_getcharwidth): New function.
37592 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
37593 getcharwidth.
37594
37595 * normal/menu.c (print_entry): Made aware of Unicode. First,
37596 convert TITLE to UCS-4, and predict the cursor position by
37597 grub_getcharwidth.
37598
37599 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
37600 const to SRC.
37601 * kern/misc.c (grub_utf16_to_utf8): Likewise.
37602
16ccb8b1 376032005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37604
37605 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
37606 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
37607 grub_strcat.
37608
37609 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
37610 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
37611 grub_strcpy and grub_strlen. Take it into account that a space
37612 character is inserted as a delimiter.
37613
6a85ce79 376142005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37615
37616 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 37617 invalid magic in the error.
6a85ce79 37618
37619 * commands/search.c: New file.
f19dbdb7 37620
6a85ce79 37621 * util/grub-emu.c (main): Call grub_search_init and
37622 grub_search_fini.
37623
37624 * kern/rescue.c (grub_rescue_print_disks): Removed.
37625 (grub_rescue_print_devices): New function.
37626 (grub_rescue_cmd_ls): Use grub_device_iterate with
37627 grub_rescue_print_devices instead of grub_disk_dev_iterate with
37628 grub_rescue_print_disks.
37629
37630 * kern/partition.c (grub_partition_iterate): Return the result of
37631 PARTMAP->ITERATE instead of GRUB_ERRNO.
37632
37633 * kern/device.c: Include grub/partition.h.
37634 (grub_device_iterate): New function.
37635
37636 * include/grub/partition.h (grub_partition_iterate): Return int
37637 instead of grub_err_t.
37638
37639 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
37640 prototype.
37641 [GRUB_UTIL] (grub_search_fini): Likewise.
37642
37643 * include/grub/device.h (grub_device_iterate): New prototype.
37644
37645 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37646 commands/search.c.
37647 (pkgdata_MODULES): Added search.mod.
37648 (search_mod_SOURCES): New variable.
37649 (search_mod_CFLAGS): Likewise.
37650
37651 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
37652 (pkgdata_MODULES): Added search.mod.
37653 (search_mod_SOURCES): New variable.
37654 (search_mod_CFLAGS): Likewise.
37655
37656 * commands/ls.c (grub_ls_list_disks): Renamed to ...
37657 (grub_ls_list_devices): ... this, and use grub_device_iterate.
37658 All callers changed.
37659
37660 * DISTLIST: Added commands/search.c.
37661
ef095434 376622005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37663
37664 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
37665 conversion.
37666 (grub_getcharwidth): New function.
37667
37668 * kern/misc.c (grub_utf8_to_ucs4): New function.
37669
37670 * include/grub/term.h (struct grub_term): Added a new member
37671 "getcharwidth".
37672 (grub_getcharwidth): New prototype.
37673
37674 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
37675
37676 * term/i386/pc/console.c (map_char): New function. Segregated from
37677 grub_console_putchar.
37678 (grub_console_putchar): Use map_char.
37679 (grub_console_getcharwidth): New function.
37680 (grub_console_term): Specified grub_console_getcharwidth as
37681 getcharwidth.
37682
37683 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
37684 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
37685
37686 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
37687 GRUB_ERRNO.
37688 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
37689 on grub_strtoul completely.
37690 (write_char): Declare local variables in the beginning of the
37691 function.
37692 (grub_vesafb_getcharwidth): New function.
37693 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
37694 getcharwidth.
37695
1f0a95e4 376962005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
37697
37698 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
37699 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
37700 commands/i386/pc/vbetest.c.
37701
37702 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
37703 call grub_vbe_get_controller_info again, because the returned
37704 information is volatile.
37705 (grub_vbe_set_video_mode): Mostly rewritten.
37706 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
37707 grub_vbe_status_t correctly.
37708 (grub_vbe_get_video_mode_info): Likewise.
37709 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
37710 several if statements.
37711
37712 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
37713 * commands/i386/pc/vbeinfo.c: ... this.
37714
37715 * commands/i386/pc/vbe_test.c: Renamed to ...
37716 * commands/i386/pc/vbetest.c: ... this.
37717
37718 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
37719 ...
37720 (grub_cmd_vbeinfo): ... this. Save video modes before
37721 iterating. Skip a video mode, if it is not available, not enough
37722 information is given or it is monochrome. Show the memory
37723 model. Leave the interpretation of MODEVAR to grub_strtoul
37724 completely.
37725 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
37726 (GRUB_MOD_FINI): Likewise.
37727
37728 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
37729 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
37730 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
37731 duplicated grub_env_get. Leave the interpretation of MODEVAR to
37732 grub_strtoul completely.
37733 (real2pm): Removed.
37734 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
37735 (GRUB_MOD_FINI): Likewise.
37736
37737 * normal/misc.c: Include grub/mm.h.
37738
37739 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
37740 vbe_list_modes with vbetest.mod and vbeinfo.mod.
37741 (vbe_list_modes_mod_SOURCES): Removed.
37742 (vbe_list_modes_mod_CFLAGS): Likewise.
37743 (vbe_test_mod_SOURCES): Likewise.
37744 (vbe_test_mod_CFLAGS): Likewise.
37745 (vbeinfo_mod_SOURCES): New variable.
37746 (vbeinfo_mod_CFLAGS): Likewise.
37747 (vbetest_mod_SOURCES): Likewise.
37748 (vbetest_mod_CFLAGS): Likewise.
37749
992ffbbe 377502005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
37751
37752 * normal/misc.c: New file.
37753
37754 * DISTLIST: Added normal/misc.c.
f19dbdb7 37755
992ffbbe 37756 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
37757 DISK to HOOK. Call HOOK with DISK.
37758 * partmap/apple.c (apple_partition_map_iterate): Likewise.
37759 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37760 * partmap/sun.c (sun_partition_map_iterate): Likewise.
37761
37762 * normal/menu_entry.c (struct screen): Added a new member
37763 "completion_shown".
37764 (completion_buffer): New global variable.
37765 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
37766 (store_completion): New function.
37767 (complete): Likewise.
37768 (clear_completions): Likewise.
37769 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
37770 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
37771 a tab, call complete.
37772
37773 * normal/completion.c (disk_dev): Removed.
37774 (print_simple_completion): Likewise.
37775 (print_partition_completion): Likewise.
37776 (print_func): New global variable.
37777 (add_completion): Do not take the arguments WHAT or PRINT any
37778 longer. Added a new argument TYPE. Instead of printing directly,
37779 call PRINT_FUNC if not NULL.
37780 All callers changed.
37781 (complete_device): Use a local variable DEV instead of
37782 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
37783 (grub_normal_do_completion): Take a new argument HOOK. Do not
37784 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
37785 empty string, return NULL instead.
37786 All callers changed.
37787
37788 * normal/cmdline.c (print_completion): New function.
37789
37790 * kern/partition.c (grub_partition_iterate): Add an argument DISK
37791 to HOOK.
37792 All callers changed.
37793
37794 * kern/disk.c (grub_print_partinfo): Removed.
37795
37796 * include/grub/partition.h (struct grub_partition_map): Add a new
37797 argument DISK into HOOK of ITERATE.
37798 (grub_partition_iterate): Add a new argument DISK to HOOK.
37799
37800 * include/grub/normal.h (enum grub_completion_type): New enum.
37801 (grub_completion_type_t): New type.
37802 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
37803 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
37804 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
37805 (GRUB_COMPLETION_TYPE_FILE): Likewise.
37806 (grub_normal_do_completion): Added a new argument HOOK.
37807 (grub_normal_print_device_info): New prototype.
37808
37809 * include/grub/disk.h (grub_print_partinfo): Removed.
37810
37811 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
37812 (normal_mod_SOURCES): Likewise.
37813 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37814 (normal_mod_SOURCES): Likewise.
37815
37816 * commands/ls.c (grub_ls_list_disks): Use
37817 grub_normal_print_device_info instead of grub_print_partinfo. Free
37818 PNAME.
37819 (grub_ls_list_files): Use grub_normal_print_device_info instead of
37820 duplicating the code.
37821
0bd41162 378222005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37823
37824 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 37825 follow GCS more precisely.
37826 * commands/i386/pc/vbe_test.c: Likewise.
37827 * include/grub/i386/pc/vbe.h: Likewise.
37828 * term/i386/pc/vesafb.c: Likewise.
37829 * video/i386/pc/vbe.c: Likewise.
0bd41162 37830
6323696a 378312005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37832
37833 * DISTLIST: Added term/i386/pc/vesafb.c
37834 DISTLIST: Added video/i386/pc/vbe.c
37835 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
37836 DISTLIST: Added commands/i386/pc/vbe_test.c.
37837 * commands/i386/pc/vbe_list_modes.c: New file.
37838 * commands/i386/pc/vbe_test.c: Likewise.
37839 * term/i386/pc/vesafb.c: Likewise.
37840 * video/i386/pc/vbe.c: Likewise.
37841 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
37842 (grub_vbe_probe) Added prototype.
37843 (grub_vbe_set_video_mode) Likewise.
37844 (grub_vbe_get_video_mode) Likewise.
37845 (grub_vbe_get_video_mode_info) Likewise.
37846 (grub_vbe_set_pixel_rgb) Likewise.
37847 (grub_vbe_set_pixel_index) Likewise.
37848 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
37849 (pkgdata_MODULES): Added vesafb.mod.
37850 (pkgdata_MODULES): Added vbe_list_modes.mod.
37851 (pkgdata_MODULES): Added vbe_test.mod.
37852 (vbe_mod_SOURCES): Added.
37853 (vbe_mod_CFLAGS): Likewise.
37854 (vesafb_mod_SOURCES): Likewise.
37855 (vesafb_mod_CFLAGS): Likewise.
37856 (vbe_list_modes_mod_SOURCES): Likewise.
37857 (vbe_list_modes_mod_CFLAGS): Likewise.
37858 (vbe_test_mod_SOURCES): Likewise.
37859 (vbe_test_mod_CFLAGS): Likewise.
37860
0a74e62f 378612005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
37862
0a74e62f 37863 * normal/command.c (grub_command_execute): If INTERACTIVE is
37864 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
37865 CMDLINE. Disable the pager if INTERACTIVE is true.
37866 All callers are changed.
37867
37868 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
37869 before reading a config file.
37870 * normal/main.c (read_config_file): Even if a command is not
37871 found, register it if it is within an entry.
37872
37873 * util/grub-emu.c: Include sys/types.h and unistd.h.
37874 (options): Added --hold.
37875 (struct arguments): Added a new member "hold".
37876 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
37877 missing.
37878 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
37879 cleared by a debugger, if it is not zero.
37880
37881 * include/grub/normal.h (grub_command_execute): Add an argument
37882 INTERACTIVE.
37883
e51f85ae 378842005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
37885
37886 * DISTLIST: Added include/grub/i386/pc/vbe.h.
37887
e9c6f39b 378882005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
37889
37890 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
37891 program with another one, because the old one didn't detect a bug
37892 in gcc-3.4. Always use regparm 2, because the new test is still
37893 not enough for gcc-4.0. Someone must investigate a simple test
37894 case which detects a bug in gcc-4.0.
37895
8de3495c 378962005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
37897
37898 * DISTLIST: Added normal/completion.c.
37899
37900 * normal/completion.c: New file.
f19dbdb7 37901
8de3495c 37902 * term/i386/pc/console.c (grub_console_getwh): New function.
37903 (grub_console_term): Assign grub_console_getwh to getwh.
37904
37905 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
37906 function is defined in normal/completion.c as
37907 grub_normal_do_completion.
37908 (grub_cmdline_get): Use grub_normal_do_completion instead of
37909 grub_tab_complete.
37910
37911 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
37912 returns non-zero, otherwise return 0.
37913 (grub_partition_iterate): First, probe the partition map. Then,
37914 call ITERATE only for this partition map.
37915
37916 * kern/misc.c (grub_strncmp): Rewritten.
37917
37918 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
37919 returns non-zero. Otherwise return 0.
37920
37921 * include/grub/partition.h (grub_partition_map_iterate): Return
37922 int instead of void.
37923
37924 * include/grub/normal.h (grub_normal_do_completion): New prototype.
37925
37926 * include/grub/misc.h (grub_strncmp): Change the type of N to
37927 grub_size_t.
37928
37929 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
37930 of void.
37931
37932 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 37933 unsigned explicitly before comparing it with I.
8de3495c 37934
37935 * kern/main.c (grub_env_write_root): Add the attribute unused into
37936 VAR.
37937
37938 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37939 normal/completion.c.
37940 (normal_mod_SOURCES): Likewise.
37941 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37942 (normal_mod_SOURCES): Likewise.
37943
37944 * normal/command.c (grub_iterate_commands): If ITERATE returns
37945 non-zero, return one immediately.
37946
e85e144b 379472005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
37948
37949 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
37950 * kern/i386/pc/startup.S: Updated Global Descriptor table's
37951 descriptions.
37952 (grub_vbe_get_controller_info): New function.
37953 (grub_vbe_get_mode_info): Likewise.
37954 (grub_vbe_set_mode): Likewise.
37955 (grub_vbe_get_mode): Likewise.
37956 (grub_vbe_set_memory_window): Likewise.
37957 (grub_vbe_get_memory_window): Likewise.
37958 (grub_vbe_set_scanline_length): Likewise.
37959 (grub_vbe_get_scanline_length): Likewise.
37960 (grub_vbe_set_display_start): Likewise.
37961 (grub_vbe_get_display_start): Likewise.
37962 (grub_vbe_set_palette_data): Likewise.
37963 * include/grub/i386/pc/vbe.h: New file.
37964
c46153d2 379652005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37966
37967 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
37968 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
37969 * DISTLIST: Likewise.
37970 * kern/ieee1275/of.c: Moved to ...
37971 * kern/ieee1275/ieee1275.c: ... here.
37972
0cb90c45 379732005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37974
37975 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
37976 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
37977 Pass 0 as `end' parameter to grub_strtoul().
37978
a19fb360 379792005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37980
37981 * include/grub/powerpc/ieee1275/console.h: Do not include
37982 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
37983 ifdef.
37984 (grub_console_cur_color): Remove i386-specific prototype.
37985 (grub_console_real_putchar): Likewise.
37986 (grub_console_checkkey): Likewise.
37987 (grub_console_getkey): Likewise.
37988 (grub_console_getxy): Likewise.
37989 (grub_console_gotoxy): Likewise.
37990 (grub_console_cls): Likewise.
37991 (grub_console_setcursor): Likewise.
37992 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
37993 Include <grub/machine/console.h>.
37994 * term/ieee1275/ofconsole.c: Likewise.
37995
4ac9bd04 379962005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
37997
37998 * Makefile.in (LIBLZO): New variable.
37999
38000 * configure.ac: Check for LZO version 2.
38001
38002 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
38003 lzo/lzo1x.h instead of lzo1x.h.
38004
38005 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
38006 of -llzo.
38007
38008 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
38009 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
38010
38011 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
38012 copying the data from PARTITION to P.
38013
f4917dfd 380142005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
38015
38016 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
38017 negative, unload the module.
38018
38019 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
38020 map is "pc_partition_map" but not "pc".
38021 (usage): Fix the description. The options are --boot-image and
38022 --core-image but not --boot-file or --core-file.
38023 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
38024 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
38025 DEFAULT_DIRECTORY.
38026
38027 * util/i386/pc/grub-install.in: Do not specify --boot-file or
38028 --core-file. Specify INSTALL_DEVICE as an argument.
38029
38030 * util/console.c: Include config.h.
38031 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
38032 [HAVE_NCURSES_H]: Include ncurses.h.
38033 [HAVE_CURSES_H]: Include curses.h.
38034 [!A_NORMAL] (A_NORMAL): Defined as zero.
38035 [!A_STANDOUT] (A_STANDOUT): Likewise.
38036
38037 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
38038 -lncurses.
38039 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
38040
38041 * configure.ac: Check for curses libraries and headers.
38042
38043 * Makefile.in (LIBCURSES): New variable.
38044
38045 * genmk.rb (Script::rule): Set the executable bits.
38046
38047 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
38048 name of the PC partition map is "pc_partition_map" but not "pc".
38049
0e143073 380502005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
38051
38052 * util/i386/pc/grub-install.in (grub_probefs): New variable.
38053 (modules): Likewise.
38054 (usage): Added descriptions for --modules and --grub-probefs.
38055 Handle --modules and --grub-probefs. Save the arguments in MODULES
38056 and GRUB_PROBEFS, respectively.
38057 Auto-detect a filesystem module against GRUBDIR. If the result is
38058 empty and modules are not specified explicitly, abort the
38059 installation. Add the result to MODULES.
38060
38061 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
38062 disk/powerpc/ieee1275/ofdisk.c,
38063 include/grub/powerpc/ieee1275/init.h and
38064 term/powerpc/ieee1275/ofconsole.c.
38065 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
38066 term/ieee1275/ofconsole.c.
38067
38068 * include/grub/powerpc/ieee1275/console.h: Resurrected.
38069
38070 * COPYING: Upgraded to the latest version. Only the address of the
38071 FSF office has changed.
f19dbdb7 38072
efd6e6d5 380732005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
38074
38075 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
38076 kern/ieee1275.c with kern/ieee1275/of.c.
38077
38078 * kern/ieee1275.c: Moved to ...
38079 * kern/ieee1275/of.c: ... here.
38080
8ceafda2 380812005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
38082
38083 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 38084 readability.
8ceafda2 38085
38086 * config.guess: Updated to the latest version from gnulib.
38087 * config.sub: Likewise.
38088 * install.sh: Likewise.
38089 * mkinstalldirs: Likewise.
38090
38091 * include/grub/console.h: Removed. This file is arch-specific. Do
38092 not put this in include/grub.
38093
38094 * include/grub/i386/pc/console.h: Resurrected.
38095
38096 * util/console.c: Include grub/machine/console.h instead of
38097 grub/console.h.
38098 * util/grub-emu.c: Likewise.
38099
267f6cd9 381002005-08-04 Marco Gerards <metgerards@student.han.nl>
38101
38102 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
38103 hardcoded value.
f19dbdb7 38104
267f6cd9 38105 From Vincent Pelletier <subdino2004@yahoo.fr>
38106 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
38107 Redefined to use grub_getwh.
38108 (grub_term): New member named getwh.
38109 (grub_getwh): New prototype.
38110 * kern/term.c (grub_getwh): New function.
38111 * term/i386/pc/console.c (grub_console_getwh): New function.
38112 (grub_console_term): New member `getwh'.
38113 * term/i386/pc/vga.c (grub_vga_getwh): New function.
38114 (grub_vga_term): New member `getwh'.
0b5abe02 38115 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 38116 grub_ssize_t.
38117 (grub_ofconsole_getw): New function.
38118 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
38119 (grub_ofconsole_term): New field named getwh and new initial
38120 value.
38121
3be7266d 381222005-08-03 Hollis Blanchard <hollis@penguinppc.org>
38123
38124 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
38125 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
38126 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
38127 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
38128 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
38129 of <grub/machine/ieee1275.h>.
38130 * commands/ieee1275/reboot.c: Likewise.
38131 * boot/powerpc/ieee1275/ieee1275.c: Move ...
38132 * kern/ieee1275.c: ... to here. All users updated. Change all
38133 parameter structs to use new type `grub_ieee1275_cell_t'.
38134 * term/powerpc/ieee1275/ofconsole.c: Move ...
38135 * term/ieee1275/ofconsole.c: ... to here. All users updated.
38136 * disk/powerpc/ieee1275/ofdisk.c: Move ...
38137 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
38138 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
38139 to return int.
38140 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
38141 Remove unused prototypes. All users updated.
38142 * include/grub/powerpc/ieee1275/console.h: Removed.
38143 * include/grub/powerpc/ieee1275/ieee1275.h: Define
38144 `grub_ieee1275_cell_t'.
38145 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
38146 Cast comparisons with -1 to the correct type.
38147 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
38148 type to match `grub_ieee1275_entry_fn'.
38149
8b5f3938 381502005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
38151
38152 * DISTLIST: Added util/i386/pc/grub-probefs.c.
38153
38154 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
38155 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
38156 partmap/sun.c.
38157 (grub_probefs_SOURCES): New variable.
38158
38159 * util/i386/pc/grub-probefs.c: New file.
38160
38161 * util/i386/pc/grub-setup.c (main): Call
38162 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
38163 grub_hfs_init and grub_jfs_init to initialize the system. Call
38164 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
38165 grub_pc_partition_map_fini to finish the system.
38166
ea409713 381672005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
38168
38169 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
38170 function.
38171 (grub_multiboot_load_elf32): Likewise.
38172 (grub_multiboot_is_elf64): Likewise.
38173 (grub_multiboot_load_elf64): Likewise.
38174 (grub_multiboot_load_elf): Likewise.
38175 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
38176 an ELF32 or ELF64 file.
38177 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
38178
38179 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
38180 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
38181 NULL before calling FS->LABEL.
38182 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
38183 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
38184 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
38185 before calling FS->LABEL.
38186
141a288b 381872005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
38188
38189 * util/i386/pc/grub-install.in (datadir): New variable.
38190 (libdir): Removed.
38191 (pkgdatadir): New variable.
38192 (pkglibdir): Removed.
38193
0d5f8a54 381942005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
38195
38196 * DISTLIST: Added util/i386/pc/grub-install.in.
38197
38198 * util/i386/pc/grub-install.in: New file.
38199
38200 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
38201 (grub_install_SOURCES): Likewise.
38202
38203 * genmk.rb: Added support for scripts.
38204 (Script): New class.
38205 (scripts): New variable.
38206
38207 * Makefile.in (install-local): Install sbin_SCRIPTS by
38208 INSTALL_SCRIPT.
38209 (uninstall): Remove sbin_SCRIPTS.
38210
38211 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
38212 device, try to get a GRUB device by
38213 grub_util_biosdisk_get_grub_dev.
38214 Free DEST_DEV.
38215
38216 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
38217 description for --device-map.
38218
5f968e1e 382192005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
38220
38221 Change the semantics of variable hooks. They now return strings
38222 instead of error values.
f19dbdb7 38223
5f968e1e 38224 * util/i386/pc/grub-setup.c: Include grub/env.h.
38225 (setup): Use grub_device_set_root instead of grub_env_set.
38226
38227 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
38228 grub_env_get instead of grub_device_set_root and
38229 grub_device_get_root, respectively.
38230
38231 * kern/main.c (grub_env_write_root): New function.
38232 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
38233 grub_env_set instead of grub_device_set_root.
38234
38235 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
38236 many variables.
38237 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
38238 rather than calling ENV->WRITE_HOOK afterwards.
38239 (grub_env_get): Return the result of ENV->READ_HOOK rather than
38240 passing a pointer of a pointer.
38241 (grub_register_variable_hook): Change the types of "read_hook" and
38242 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
38243 respectively.
38244 Allocate the default empty string on the heap, because this string
38245 may be freed later.
38246
38247 * kern/device.c: Include grub/env.h.
38248 (grub_device_set_root): Removed.
38249 (grub_device_get_root): Likewise.
38250 (grub_device_open): Use grub_env_get instead of
38251 grub_device_get_root.
38252
38253 * include/grub/env.h (grub_env_read_hook_t): New type.
38254 (grub_env_write_hook_t): Likewise.
38255 (grub_env_var): Change the types of "read_hook" and "write_hook"
38256 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
38257 (grub_register_variable_hook): Likewise.
38258
38259 * include/grub/device.h (grub_device_set_root): Removed.
38260 (grub_device_set_root): Likewise.
38261
38262 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
38263 make sure that DIRNAME terminates with '/', so that
38264 grub_fat_find_dir will fail if PATH is not a directory.
38265
38266 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
38267 from DIRNAME.
38268 Use the qualifier auto for print_files and print_files_long.
38269 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
38270 as a regular file.
38271 Put a newline only if there is no error.
38272 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
38273 used.
38274
896f0afd 382752005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
38276
38277 * kern/partition.c (grub_partition_probe): Initialize PART to
38278 NULL. Otherwise, when no partition map is registered, this returns
38279 a garbage.
38280
b28b81b2 382812005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
38282
38283 * partmap/apple.c (apple_partition_map_iterate): Check if POS
38284 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
38285 valid.
38286
5f3607e0 382872005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
38288
38289 * commands/ls.c (grub_ls_list_disks): Print the filesystem
38290 information on each device, if it does not have partitions. Print
38291 "Device" instead of "Disk", because this function is not specific
38292 to disk devices.
38293
38294 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
38295 static to ensure that it is put on the memory rather than a
38296 register.
38297
502c87e8 382982005-07-17 Yoshinori Okuji <okuji@enbug.org>
38299
38300 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
38301 (grub_cat_init): Likewise.
38302 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
38303 (options): Likewise.
38304 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
38305 (grub_configfile_init): Likewise.
38306 * font/manager.c (GRUB_MOD_INIT): Likewise.
38307 * commands/help.c (GRUB_MOD_INIT): Likewise.
38308 (grub_help_init): Likewise.
38309 * normal/command.c (grub_command_init): Likewise.
38310 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
38311 * disk/loopback.c (grub_loop_init): Likewise.
38312 (GRUB_MOD_INIT): Likewise.
38313 * commands/ls.c (grub_ls_init): Likewise.
38314 (GRUB_MOD_INIT): Likewise.
38315 (options): Likewise.
38316 * commands/boot.c (grub_boot_init): Likewise.
38317 (GRUB_MOD_INIT): Likewise.
38318 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
38319 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
38320 (GRUB_MOD_INIT): Likewise.
38321 * commands/cmp.c (grub_cmp_init): Likewise.
38322 (GRUB_MOD_INIT): Likewise.
38323
38324 * normal/arg.c: Use <> instead of "" to include header files.
38325 (SHORT_ARG_HELP): New macro.
38326 (SHORT_ARG_USAGE): Likewise.
38327 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
38328 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
38329 descriptions.
38330 (find_short): Check if C is 'h' or 'u' explicitly.
38331 (grub_arg_show_help): Use space characters instead of tabs. Treat
38332 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
38333 are shown with --help and --usage only if they are not used for
38334 the command itself.
38335 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
38336 'h' and 'u'.
38337
38338 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
38339 const into "longarg". Change the type of "shortarg" to int.
38340
f806d18e 383412005-07-17 Yoshinori Okuji <okuji@enbug.org>
38342
38343 * boot/i386/pc/boot.S (boot_drive_check): New label.
38344
38345 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
38346 macro.
38347
38348 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
38349 which do not pass a boot drive correctly. Copied from GRUB Legacy.
38350
e293232b 383512005-07-17 Yoshinori Okuji <okuji@enbug.org>
38352
38353 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
38354 When turning off Gate A20, skip the check and return immediately,
38355 because this is not fatal usually.
38356
ebedfd00 383572005-07-17 Yoshinori Okuji <okuji@enbug.org>
38358
38359 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
38360 be 0x7C00 instead of 0x8000.
38361
38362 * boot/i386/pc/pxeboot.S: Rewritten.
38363
38364 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
38365 EXT_C.
38366 (gate_a20_check_state): Read a byte from 0x108000. Invert the
38367 result.
38368
654fc59f 383692005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
38370
38371 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
38372 robustness. This routine now supports a BIOS call and System
38373 Control Port A to modify the gate A20.
38374
38375 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
38376 Increased to 0x440.
38377
09f9923f 383782005-07-12 Hollis Blanchard <hollis@penguinppc.org>
38379
38380 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
38381 device path and resulting ihandle.
38382 (grub_ofdisk_close): dprintf the ihandle being closed.
38383 (grub_ofdisk_read): dprintf function parameters.
38384 * kern/mm.c (grub_mm_init_region): Likewise.
38385 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
38386 (grub_linux_boot): dprintf the Linux entry point, initrd address and
38387 size, and boot arguments.
38388 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
38389 before loading into memory.
38390 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
38391 before loading into memory.
38392
7ef504d8 383932005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
38394
38395 * kern/mm.c: Added much documentation.
38396 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
38397 8, set to 5 instead of 8.
38398
e0f050c2 383992005-07-10 Yoshinori Okuji <okuji@enbug.org>
38400
38401 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
38402
38403 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
38404 (grub_mkdevicemap_SOURCES): New variable.
38405
38406 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
38407 lib/device.c of GRUB Legacy.
38408
7224189a 384092005-07-10 Yoshinori Okuji <okuji@enbug.org>
38410
38411 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
38412 instead of PATH is NULL.
38413
68c864eb 384142005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
38415
38416 * commands/cmp.c (BUFFER_SIZE): New macro.
38417 (grub_cmd_cmp): Close the right file at the right time. Compare
38418 only data just read. Don't report files of different size as
38419 identical. Dynamically allocate buffers. Move variable
38420 declarations at the beginning of function.
38421
e6f3e614 384222005-07-09 Yoshinori Okuji <okuji@enbug.org>
38423
38424 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
38425 reverse.
38426
f8f1559a 384272004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
38428
38429 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
38430 when backspace is pressed at beginning of line.
38431
39c9d41d 384322005-07-03 Yoshinori Okuji <okuji@enbug.org>
38433
38434 * DISTLIST: Added genfslist.sh.
38435
38436 * normal/main.c (fs_module_list): New variable.
38437 (autoload_fs_module): New function.
38438 (read_fs_list): Likewise.
38439 (grub_normal_execute): Call read_fs_list.
38440
38441 * kern/fs.c (grub_fs_autoload_hook): New variable.
38442 (grub_fs_probe): Added support for auto-loading.
38443
38444 * include/grub/normal.h (struct grub_fs_module_list): New struct.
38445 (grub_fs_module_list_t): New type.
38446
38447 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
38448 (grub_fs_autoload_hook): New prototype.
38449
38450 * genfslist.sh: New file.
f19dbdb7 38451
39c9d41d 38452 * genmk.rb: Added a rule to generate a filesystem list.
38453
121c1d83 384542005-06-30 Marco Gerards <metgerards@student.han.nl>
38455
38456 * configure.ac: Fix the test for cross-compiling.
38457
38458 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
38459 define GRUB_UTIL anymore.
38460
38461 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
38462 so this function works on other systems than just big endian.
38463 (load_modules): Likewise.
38464 (add_segments): Likewise.
38465
e75d76e1 384662005-06-23 Hollis Blanchard <hollis@penguinppc.org>
38467
38468 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
38469 contains `l' modifier, get a long from va_arg().
38470
50b5a0a7 384712005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
38472
38473 * kern/mm.c (grub_free): If the next free block which is being
38474 merged is the first free block, set the first block to the block
38475 being freed.
38476 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
38477
89371b20 384782005-05-08 Hollis Blanchard <hollis@penguinppc.org>
38479
38480 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
38481 `grub_ieee1275_chosen'.
38482
168d6e58 384832005-05-08 Hollis Blanchard <hollis@penguinppc.org>
38484
38485 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
38486 (grub_ieee1275_chosen): New variable.
38487 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
38488 `chosen'.
38489 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
38490 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
38491 Rename first argument to `phandle' for consistency.
38492 (grub_ieee1275_get_property_length): Likewise.
38493 (grub_ieee1275_next_property): Likewise. Change type of first argument
38494 to grub_ieee1275_phandle_t.
38495 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
38496 Move export next to declaration.
38497 (grub_ieee1275_chosen): New variable.
38498 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
38499 Correct cosmetic typo.
38500 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
38501 `grub_ieee1275_chosen'.
38502 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
38503 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
38504 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
38505 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
38506 `grub_ieee1275_chosen'.
38507
ca5baa3f 385082005-05-10 Hollis Blanchard <hollis@penguinppc.org>
38509
38510 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
38511 /chosen/bootargs.
38512 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
38513 /chosen/bootargs as "variable=value" pairs.
38514
708b345f 385152005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
38516
38517 * include/grub/misc.h (grub_dprintf): New macro.
38518 (grub_real_dprintf): New prototype.
38519 (grub_strword): Likewise.
38520 (grub_iswordseparator): Likewise.
38521 * kern/misc.c (grub_real_dprintf): New function.
38522 (grub_strword): Likewise.
38523 (grub_iswordseparator): Likewise.
38524
f4c5e67c 385252005-04-30 Hollis Blanchard <hollis@penguinppc.org>
38526
38527 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
38528 (roundup): Remove macro.
38529 (grub_ieee1275_flags): Make static.
38530 (grub_ieee1275_realmode): Remove.
38531 (grub_ieee1275_test_flag): New function.
38532 (grub_ieee1275_set_flag): Likewise.
38533 (find_options): Rename to `grub_ieee1275_find_options'; update
38534 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
38535 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
38536 (cmain): New prototype.
38537 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
38538 `grub_ieee1275_flags' directly.
38539 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
38540 machine/biosdisk.h.
38541 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
38542 Don't include grub/machine/init.h.
38543 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
38544 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
38545 Remove prototype.
38546 (grub_ieee1275_realmode): Likewise.
38547 (grub_ieee1275_flag): New enum.
38548 (grub_ieee1275_test_flag): New prototype.
38549 (grub_ieee1275_set_flag): New prototype.
38550 * include/grub/powerpc/ieee1275/init.h: Remove file.
38551 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
38552 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
38553 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
38554 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
38555 comment.
38556 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
38557 `grub_ieee1275_test_flag'.
38558 (grub_ieee1275_encode_devname): Likewise.
38559
ed16607e 385602005-04-21 Hollis Blanchard <hollis@penguinppc.org>
38561
38562 * include/grub/powerpc/ieee1275/ieee1275.h
38563 (grub_ieee1275_encode_devname): New prototype.
38564 (grub_ieee1275_get_filename): Likewise.
38565 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
38566 function.
38567 (grub_set_prefix): Likewise.
38568 (grub_machine_init): Call grub_set_prefix.
38569 * kern/powerpc/ieee1275/openfw.c: Fix typos.
38570 (grub_parse_type): New enum.
38571 (grub_ieee1275_get_devargs): New function.
38572 (grub_ieee1275_get_devname): Likewise.
38573 (grub_ieee1275_parse_args): Likewise.
38574 (grub_ieee1275_get_filename): Likewise.
38575 (grub_ieee1275_encode_devname): Likewise.
38576
be369920 385772005-03-30 Marco Gerards <metgerards@student.han.nl>
38578
38579 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
38580 `grub_loader_unset'.
38581
a5ce3a4a 385822005-03-26 Hollis Blanchard <hollis@penguinppc.org>
38583
38584 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
38585 instead of grub_ieee1275_interpret.
38586 (grub_halt_init): New function.
38587 (grub_halt_fini): Likewise.
38588 (GRUB_MOD_INIT): Correct message grammar.
38589 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
38590 instead of grub_ieee1275_interpret.
38591 (grub_reboot_init): New function.
38592 (grub_reboot_fini): Likewise.
38593 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
38594 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
38595 util/i386/pc/misc.c with commands/ieee1275/halt.c,
38596 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
38597 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
38598 function.
38599 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
38600 Add prototype.
38601 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
38602 prototype.
38603 (grub_halt): Likewise.
38604 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
38605 (cmain): Remove __attribute__((unused)).
38606 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
38607 (grub_heap_len): Likewise.
38608 (grub_machine_fini): New function.
38609 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
38610 (grub_halt): Likewise.
38611 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
38612 function.
38613 * util/powerpc/ieee1275/misc.c: New file.
38614
0058f771 386152005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
38616
38617 * DISTLIST: New file.
38618 * gendistlist.sh: Likewise.
f19dbdb7 38619
0058f771 38620 * Makefile.in (COMMON_DISTFILES): Removed.
38621 (BOOT_DISTFILES): Likewise.
38622 (CONF_DISTFILES): Likewise.
38623 (DISK_DISTFILES): Likewise.
38624 (FS_DISTFILES): Likewise.
38625 (INCLUDE_DISTFILES): Likewise.
38626 (KERN_DISTFILES): Likewise.
38627 (LOADER_DISTFILES): Likewise.
38628 (TERM_DISTFILES): Likewise.
38629 (UTIL_DISTFILES): Likewise.
38630 (DISTFILES): Likewise.
38631 (uninstall): Uninstall files in $(pkgdata_DATA).
38632 (DISTLIST): New target.
38633 (distdir): Use the contents of the file DISTLIST to get a list of
38634 distributed files.
38635
46b3b8a5 386362005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
38637
38638 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
38639 descriptor. This is ported from GRUB Legacy.
38640
38641 * gencmdlist.sh: Added an extra semicolon to make it work with
38642 old sed versions. Reported by Robert Bihlmeyer
38643 <robbe@orcus.priv.at>.
38644
5822ff87 386452005-03-08 Yoshinori Okuji <okuji@enbug.org>
38646
38647 Automatic loading of commands is supported.
f19dbdb7 38648
5822ff87 38649 * normal/main.c (read_command_list): New function.
38650 (grub_normal_execute): Call read_command_list.
38651
38652 * normal/command.c (grub_register_command): Return zero or CMD.
38653 Allocate CMD->NAME from the heap.
38654 Initialize CMD->MODULE_NAME to zero.
38655 Find the same name as well. If the same command is found and it is
38656 a dummy command, overwrite members. If it is not a dummy command,
38657 return zero.
38658 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
38659 (grub_command_find): If a dummy command is found, load a module
38660 and retry to find a command only once.
38661
38662 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
38663 make sure that each command is loaded.
38664
38665 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
38666 macro.
38667 (struct grub_command): Remove const from the member `name'.
38668 Add a new member `module_name'.
38669 (grub_register_command): Return grub_command_t.
38670
38671 * commands/help.c (grub_cmd_help): Call grub_command_find to make
38672 sure that each command is loaded.
38673
38674 * genmk.rb (PModule::rule): Specify a module name without the
38675 suffix ".mod" to gencmdlist.sh.
38676
7b1f4b57 386772005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
38678
38679 * gencmdlist.sh: New file.
f19dbdb7 38680
7b1f4b57 38681 * genmk.rb (PModule::rule): Generate a rule for a command list.
38682 Clean command.lst.
38683 Generate command.lst from $(COMMANDFILES).
38684
38685 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
38686 (DATA): Added $(pkgdata_DATA).
38687 (install-local): Install files in $(pkgdata_DATA).
38688
062aaf39 386892005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
38690
38691 * term/i386/pc/vga.c (debug_command): Removed.
38692 (GRUB_MOD_INIT): Do not register the command "debug".
38693
38694 From Hollis Blanchard:
38695 * commands/configfile.c: New file.
38696 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38697 commands/configfile.c.
38698 (pkgdata_MODULES): Added configfile.mod.
38699 (configfile_mod_SOURCES): New variable.
38700 (configfile_mod_CFLAGS): Likewise.
38701 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
38702 commands/configfile.c.
38703 (pkgdata_MODULES): Added configfile.mod.
38704 (configfile_mod_SOURCES): New variable.
38705 (configfile_mod_CFLAGS): Likewise.
38706 * util/grub-emu.c (main): Call grub_configfile_init and
38707 grub_configfile_fini.
38708 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
38709 prototype.
38710 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 38711
cee01aa6 387122005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38713
38714 * normal/arg.c (grub_arg_show_help): Do not show the bug report
38715 address.
38716
38717 * commands/help.c (grub_cmd_help): Do not print newlines after
38718 the last command in print_command_help.
38719
93f3a1d8 387202005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38721
38722 * commands/default.h: New file.
38723 * commands/timeout.h: Likewise.
38724 * normal/context.c: Likewise.
f19dbdb7 38725
93f3a1d8 38726 * util/misc.c: Do not include sys/times.h.
38727 Include sys/time.h and grub/machine/time.h.
38728 (grub_get_rtc): Rewritten with gettimeofday.
38729
38730 * util/grub-emu.c (main): Call grub_default_init and
38731 grub_timeout_init before grub_normal_init, and call
38732 grub_timeout_fini and grub_default_fini after grub_main.
38733
38734 * util/console.c (grub_ncurses_checkkey): Return the read
38735 character or -1.
38736
38737 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
38738 timeouts.
38739
38740 * normal/main.c (read_config_file): Push MENU. If this fails,
38741 print an error and wait for a user input.
38742 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
38743 If a menu is empty or an error occurs, pop MENU.
38744 (grub_normal_execute): Pop and free MENU after grub_menu_run
38745 returns.
38746
38747 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
38748
38749 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
38750 include time.h.
38751 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38752 without GRUB_UTIL.
38753 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
38754 time.h.
38755 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38756 without GRUB_UTIL.
38757
38758 * include/grub/normal.h (struct grub_menu_list): New struct.
38759 (grub_menu_list_t): New type.
38760 (struct grub_context): New struct.
38761 (grub_context_t): New type.
38762 (grub_register_command): Got rid of EXPORT_FUNC.
38763 (grub_unregister_command): Likewise.
38764 (grub_context_get): New prototype.
38765 (grub_context_get_current_menu): Likewise.
38766 (grub_context_push_menu): Likewise.
38767 (grub_context_pop_menu): Likewise.
38768 [GRUB_UTIL] (grub_default_init): Likewise.
38769 [GRUB_UTIL] (grub_default_fini): Likewise.
38770 [GRUB_UTIL] (grub_timeout_init): Likewise.
38771 [GRUB_UTIL] (grub_timeout_fini): Likewise.
38772
38773 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
38774 commands/timeout.c and normal/context.c.
38775 (pkgdata_MODULES): Added default.mod and timeout.mod.
38776 (normal_mod_SOURCES): Added normal/context.c.
38777 (default_mod_SOURCES): New variable.
38778 (default_mod_CFLAGS): Likewise.
38779 (timeout_mod_SOURCES): Likewise.
38780 (timeout_mod_CFLAGS): Likewise.
38781 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
38782 conf/i386-pc.rmk.
38783 (pkgdata_MODULES): Added default.mod and timeout.mod.
38784 (normal_mod_SOURCES): Added normal/context.c.
38785 (default_mod_SOURCES): New variable.
38786 (default_mod_CFLAGS): Likewise.
38787 (timeout_mod_SOURCES): Likewise.
38788 (timeout_mod_CFLAGS): Likewise.
38789
38790 * Makefile.in (all-local): Added $(MKFILES).
38791
4ed2e1dd 387922005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
38793
38794 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
38795 (grub_emu_SOURCES): Likewise.
38796 (pkgdata_MODULES): Add `sun.mod'.
38797 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38798 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38799 `partmap/sun.c'.
38800 (pkgdata_MODULES): Add `sun.mod'.
38801 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38802 * include/grub/partition.h (grub_sun_partition_map_init): New
38803 prototype.
38804 (grub_sun_partition_map_fini): Likewise.
38805 * partmap/sun.c: New file.
38806 * util/grub-emu.c (main): Initialize and de-initialize the sun
38807 partitionmap support.
38808
4d4e372e 388092005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
38810
38811 This implements an Emacs-like menu entry editor.
f19dbdb7 38812
4d4e372e 38813 * normal/menu_entry.c: New file.
f19dbdb7 38814
4d4e372e 38815 * util/console.c (grub_ncurses_putchar): Translate some Unicode
38816 characters to ASCII.
38817 (saved_char): New variable.
38818 (grub_ncurses_checkkey): Rewritten completely.
38819 (grub_ncurses_getkey): Likewise.
38820 (grub_ncurses_init): Call raw instead of cbreak.
38821
38822 * normal/menu.c (print_entry): Do not put a space.
38823 (init_page): Renamed to ...
38824 (grub_menu_init_page): ... this. All callers changed.
38825 (edit_menu_entry): Removed.
38826 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
38827
38828 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
38829
38830 * kern/misc.c (grub_vprintf): Call grub_refresh.
38831
38832 * normal/menu.c (DISP_LEFT): Renamed to ...
38833 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
38834 * normal/menu.c (DISP_UP): Renamed to ...
38835 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
38836 * normal/menu.c (DISP_RIGHT): Renamed to ...
38837 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
38838 * normal/menu.c (DISP_DOWN): Renamed to ...
38839 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
38840 * normal/menu.c (DISP_HLINE): Renamed to ...
38841 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
38842 * normal/menu.c (DISP_VLINE): Renamed to ...
38843 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
38844 * normal/menu.c (DISP_UL): Renamed to ...
38845 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
38846 * normal/menu.c (DISP_UR): Renamed to ...
38847 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
38848 * normal/menu.c (DISP_LL): Renamed to ...
38849 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
38850 * normal/menu.c (DISP_LR): Renamed to ...
38851 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
38852 * normal/menu.c (TERM_WIDTH): Renamed to ...
38853 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
38854 * normal/menu.c (TERM_HEIGHT): Renamed to ...
38855 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
38856 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
38857 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
38858 * normal/menu.c (TERM_MARGIN): Renamed to ...
38859 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
38860 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
38861 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
38862 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
38863 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
38864 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
38865 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
38866 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
38867 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
38868 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
38869 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
38870 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
38871 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
38872 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
38873 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
38874 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
38875 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
38876 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
38877 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
38878 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
38879 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
38880 All callers changed.
38881
38882 * include/grub/normal.h: New prototype.
38883
38884 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38885 normal/menu_entry.c.
38886 (normal_mod_SOURCES): Likewise.
38887 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38888 (normal_mod_SOURCES): Likewise.
38889
e6b92c8a 388902005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
38891
38892 * include/grub/normal.h (grub_halt_init): New prototype.
38893 (grub_halt_fini): Likewise.
38894 (grub_reboot_init): Likewise.
38895 (grub_reboot_fini): Likewise.
38896
38897 * util/grub-emu.c: Include signal.h.
38898 (main_env): New global variable.
38899 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
38900 catch C-c.
38901 (grub_machine_fini): New function.
38902 (main): Call grub_halt_init and grub_reboot_init before
38903 grub_main, and grub_reboot_fini and grub_halt_fini after it.
38904 Call setjmp with MAIN_ENV to go back afterwards.
38905 Call grub_machine_fini right before return.
38906
38907 * include/grub/util/misc.h: Include setjmp.h.
38908 (main_env): New prototype.
38909
38910 * include/grub/kernel.h (grub_machine_fini): New prototype.
38911 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
38912 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
38913
38914 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
38915 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
38916 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 38917
e6b92c8a 38918 * util/i386/pc/misc.c: New file.
f19dbdb7 38919
e6b92c8a 38920 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38921 util/i386/pc/misc.c, commands/i386/pc/halt.c and
38922 commands/i386/pc/reboot.c.
38923
c642636f 389242005-02-14 Guillem Jover <guillem@hadrons.org>
38925
38926 * include/grub/dl.h (grub_dl_check_header): New prototype.
38927 (grub_arch_dl_check_header): Change return type to grub_err_t,
38928 remove size parameter and export function. Update all callers.
38929 * kern/dl.c (grub_dl_check_header): New function.
38930 (grub_dl_load_core): Use `grub_dl_check_header' instead of
38931 `grub_arch_dl_check_header'. Check ELF type. Check if sections
38932 are inside the core.
38933 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
38934 independent ELF header checks.
38935 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
38936 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
38937 `grub_dl_check_header' instead of explicit checks. Check for the
38938 ELF type.
38939 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
38940 `grub_dl_check_header' instead of explicit checks. Remove arch
38941 specific ELF header checks.
38942
e6b92c8a 38943 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
38944 argument SIZE.
38945
5eabe94b 389462005-02-13 Hollis Blanchard <hollis@penguinppc.org>
38947
38948 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
38949 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
38950
1b14a681 389512005-02-12 Hollis Blanchard <hollis@penguinppc.org>
38952
38953 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 38954 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 38955 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 38956 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 38957 * partmap/amiga.c (amiga_partition_map_iterate): Return
38958 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
38959 * partmap/apple.c (apple_partition_map_iterate): Likewise.
38960
aca108aa 389612005-02-01 Guillem Jover <guillem@hadrons.org>
38962
38963 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
38964 help info.
38965
c9f9c556 389662005-01-31 Marco Gerards <metgerards@student.han.nl>
38967
38968 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
38969 Removed prototype.
38970 (grub_rescue_cmd_linux): New prototype.
38971 (grub_rescue_cmd_initrd): Likewise.
38972 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
38973 `bi_rec'.
38974 (grub_linux_release_mem): Release the memory for the initrd.
38975 (grub_load_linux): Renamed from this...
38976 (grub_rescue_cmd_linux): ...To this. Changed all callers.
38977 Changed `entry' not to be static. Loop over memory regions to
38978 find another one when the default fails.
38979 (grub_rescue_cmd_initrd): New function.
38980 (grub_linux_init): Remove function.
38981 (grub_linux_fini): Likewise.
38982 (GRUB_MOD_INIT): Register `initrd'.
38983 (GRUB_MOD_FINI): Unregister `initrd'.
38984 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
38985 Function removed.
38986 (grub_linux_normal_fini): Likewise.
38987 (GRUB_MOD_INIT): Register `initrd'.
38988 (GRUB_MOD_FINI): Unregister `initrd'.
38989
990cf3aa 389902005-01-31 Marco Gerards <metgerards@student.han.nl>
38991
38992 * commands/help.c: New file.
38993 * normal/arg.c (show_help): Renamed to...
38994 (grub_arg_show_help): ... this.
38995 * commands/i386/pc/halt.c: New file.
38996 * commands/i386/pc/reboot.c: Likewise.
38997 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
38998 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
38999 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
39000 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
39001 variables.
39002 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
39003 `commands/help.c'.
39004 (pkgdata_MODULES): Add `help.mod'.
39005 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
39006 * grub/i386/pc/init.h (grub_reboot): New prototype.
39007 (grub_halt): Likewise.
39008 * include/grub/normal.h (grub_arg_show_help): New prototype.
39009 (grub_help_init): Likewise.
39010 (grub_help_fini): Likewise.
39011 * util/grub-emu.c (main): Initialize and deinitialize the help
39012 command.
39013
39014 * normal/cmdline.c (grub_cmdline_get): Doc fix.
39015
39016 * normal/command.c (grub_command_init): Fixed the description of
39017 the `set' and `unset' commands.
39018
390192005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 39020
39021 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
39022 function.
39023 * commands/ieee1275/halt.c: New file.
39024 * commands/ieee1275/reboot.c: Likewise.
39025 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
39026 `__attribute__ ((unused))'. Some GCS related fixed.
39027 (grub_suspend_init) [GRUB_UTIL]: Function removed.
39028 (grub_suspend_fini): Likewise.
39029 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
39030 and `halt.mod'.
39031 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
39032 (halt_mod_CFLAGS): New variables.
39033 * include/grub/powerpc/ieee1275/ieee1275.h
39034 (grub_ieee1275_interpret): New prototype.
39035
1ab09cc7 390362005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
39037
39038 * include/grub/misc.h (memmove): New prototype.
39039 (memcpy): Likewise.
39040
8b8cbdb2 390412005-01-22 Hollis Blanchard <hollis@penguinppc.org>
39042
39043 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
39044 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
39045
e3741a27 390462005-01-22 Marco Gerards <metgerards@student.han.nl>
39047
39048 * kern/misc.c (grub_strndup): Function rewritten.
39049
776bd780 390502005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
39051
39052 * normal/menu.c (TERM_WIDTH): Macro redefined.
39053 (TERM_TOP_BORDER_Y): Likewise.
39054 (draw_border): Replaced while-loop by a for-loop. Make the number
39055 of lines consistent with the number of lines displayed in
39056 print_entries. Added a margin below the rectangle.
39057 (print_entry): Make the entry fit in the rectangle.
39058 (print_entries): Display the scroll arrows next to the right
39059 border.
39060
78026bce 390612005-01-21 Marco Gerards <metgerards@student.han.nl>
39062
39063 * fs/minix.c (grub_minix_find_file): Reserve more space for
39064 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
39065 `grub_strncpy' to copy `path' into it.
39066
67bbaf0f 390672005-01-21 Marco Gerards <metgerards@student.han.nl>
39068
39069 Add the loopback device, a device via which files can be accessed
39070 as devices.
f19dbdb7 39071
67bbaf0f 39072 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
39073 (pkgdata_MODULES): Add loopback.mod.
39074 (loopback_mod_SOURCES): New variable.
39075 (loopback_mod_CFLAGS): Likewise.
39076 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
39077 `disk/loopback.c'.
39078 (pkgdata_MODULES): Add loopback.mod.
39079 (loopback_mod_SOURCES): New variable.
39080 (loopback_mod_CFLAGS): Likewise.
39081 * disk/loopback.c: new file.
39082 * include/grub/normal.h (grub_loop_init): New prototype.
39083 (grub_loop_fini): New prototype.
39084 * util/grub-emu.c (main): Initialize and de-initialize loopback
39085 support.
39086 * include/grub/disk.h (grub_disk_dev_id): Add
39087 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
39088
6f1c18bd 390892005-01-20 Hollis Blanchard <hollis@penguinppc.org>
39090
39091 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
39092 function.
39093 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
39094 (suspend_mod_SOURCES): New variable.
39095 (suspend_mod_CFLAGS): Likewise.
39096 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
39097 New prototype.
39098 * commands/ieee1275/suspend.c: New file.
39099
b38551da 391002005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39101
39102 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 39103 ((unused))' to `__attribute__ ((used))'.
b38551da 39104 (GRUB_MOD_FINI): Likewise.
39105 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
39106 * genmk.rb (PModule): Assign space to common symbols when linking
39107 modules.
39108
777aff39 391092005-01-20 Marco Gerards <metgerards@student.han.nl>
39110
39111 * include/grub/mm.h (grub_mm_init_region): Change the type of the
39112 `unsigned' arguments to `grub_size_t'.
39113 (grub_malloc): Likewise.
39114 (grub_realloc): Likewise.
39115 (grub_memalign): Likewise.
39116 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
39117 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
39118 * util/misc.c (grub_malloc): Likewise.
39119 (grub_realloc): Likewise.
39120 * kern/mm.c (get_header_from_pointer): Change the casts to
39121 `unsigned' into a cast to `grub_size_t'.
39122
39123 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
39124 point to `currnode' when `currnode' is changed.
39125
39126 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
39127 Schottelius <nico-linux@schottelius.org>.
39128
d0ff18e1 391292005-01-09 Hollis Blanchard <hollis@penguinppc.org>
39130
39131 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
39132 (note_path): Remove variable.
39133 (GRUB_IEEE1275_NOTE_NAME): New macro.
39134 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
39135 (grub_ieee1275_note_hdr): New structure.
39136 (grub_ieee1275_note_desc): Likewise.
39137 (grub_ieee1275_note): Likewise.
39138 (load_note): Remove `dir' argument. All callers updated. Remove
39139 `note_img' and `path'. Do not load a file from `note_path'.
39140 Initialize a struct grub_ieee1275_note and write that to `out'.
39141 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
39142
4ca7004c 391432005-01-05 Marco Gerards <metgerards@student.han.nl>
39144
39145 * util/misc.c (grub_util_read_image): Revert last change. It
39146 called `grub_util_read_at', which seeks from the beginning of the
39147 file.
39148
0b412211 391492005-01-04 Hollis Blanchard <hollis@penguinppc.org>
39150
39151 * TODO: Add note about endianness in grub-mkimage.
39152 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
39153 section.
39154 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
39155 (grub_mkimage_SOURCES): New target.
39156 * include/grub/kernel.h (grub_start_addr): Remove variable.
39157 (grub_end_addr): Likewise.
39158 (grub_total_module_size): Likewise.
39159 (grub_kernel_image_size): Likewise.
39160 (GRUB_MODULE_MAGIC): New constant.
39161 (grub_module_info): New structure.
39162 (grub_arch_modules_addr): New prototype.
39163 (grub_get_end_addr): Remove prototype.
39164 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
39165 * include/grub/powerpc/ieee1275/kernel.h: New file.
39166 * include/grub/util/misc.h (grub_util_get_fp_size): New
39167 prototype.
39168 (grub_util_read_at): Likewise.
39169 (grub_util_write_image_at): Likewise.
39170 * kern/main.c (grub_get_end_addr): Remove function.
39171 (grub_load_modules): Call grub_arch_modules_addr instead of using
39172 grub_end_addr. Look for a grub_module_info struct in memory. Use
39173 the grub_module_info fields instead of calling grub_get_end_addr
39174 as loop conditions. Move grub_add_unused_region code here.
39175 (grub_add_unused_region): Remove function.
39176 * kern/i386/pc/init.c: Include grub/cache.h.
39177 (grub_machine_init): Remove call to grub_get_end_addr. Remove
39178 one call to add_mem_region.
39179 (grub_arch_modules_addr): New function.
39180 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
39181 (grub_total_module_size): Likewise.
39182 Include grub/machine/kernel.h.
39183 (grub_arch_modules_addr): New function.
39184 * util/grub-emu.c (grub_end_addr): Remove variable.
39185 (grub_total_module_size): Likewise.
39186 (grub_arch_modules_addr): New function.
39187 * util/misc.c: Include unistd.h.
39188 (grub_util_get_fp_size): New function.
39189 (grub_util_read_at): Likewise.
39190 (grub_util_write_image_at): Likewise.
39191 (grub_util_read_image): Call grub_util_read_at.
39192 (grub_util_write_image): Call grub_util_write_image_at.
39193 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
39194 additional memory in kernel_img for a struct grub_module_info.
39195 Fill in that grub_module_info.
39196 * util/powerpc/ieee1275/grub-mkimage.c: New file.
39197
458786f8 391982005-01-03 Hollis Blanchard <hollis@penguinppc.org>
39199
39200 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
39201 New function.
39202 * include/grub/powerpc/ieee1275/ieee1275.h
39203 (grub_ieee1275_milliseconds): New prototype.
39204 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
39205 Change to 1000.
39206 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
39207 grub_ieee1275_milliseconds.
39208
ac507d1b 392092005-01-03 Hollis Blanchard <hollis@penguinppc.org>
39210
39211 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
39212 variable.
39213 (find_options): New function.
39214 (cmain): Call find_options.
39215 * include/grub/powerpc/ieee1275/ieee1275.h
39216 (grub_ieee1275_realmode): New extern variable.
39217 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
39218 grub_map if grub_ieee1275_realmode is false.
39219
6b8fd1c4 392202004-12-29 Marco Gerards <metgerards@student.han.nl>
39221
39222 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
39223 lines are inserted and make it work like readline. Reported by
39224 Vincent Pelletier <subdino2004@yahoo.fr>.
39225
8514a1e0 392262004-12-28 Marco Gerards <metgerards@student.han.nl>
39227
39228 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
39229
39230 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
39231 `kern/powerpc/cache.S'.
39232
924b6140 392332004-12-27 Marco Gerards <metgerards@student.han.nl>
39234
39235 * genmk.rb: Handle the `Program' class in the main loop. Written
39236 by Johan Rydberg <jrydberg@gnu.org>.
39237 (Program): New class.
39238 (programs): New variable.
39239 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
39240 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
39241 instead of "grub/kernel.h". Include <grub/machine/init.h>.
39242 (help_arch): Function removed.
39243 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
39244 `powerpc/libgcc.h' and `loader.h'.
39245 (pkgdata_PROGRAMS): New variable.
39246 (sbin_UTILITIES): Variable removed.
39247 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
39248 (grubof_SOURCES): Variable re-defined so it only includes the
39249 core functionality.
39250 (grubof_CFLAGS): Remove `-DGRUBOF'.
39251 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
39252 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
39253 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
39254 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
39255 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
39256 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
39257 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
39258 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
39259 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
39260 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
39261 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
39262 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
39263 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
39264 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
39265 (pc_mod_CFLAGS): New variables.
39266 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
39267 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
39268 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
39269 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
39270 Moved from here...
39271 * include/grub/i386/pc/init.h (grub_os_area_addr)
39272 (rub_os_area_size): ... to here.
39273 * include/grub/powerpc/ieee1275/ieee1275.h
39274 (grub_ieee1275_entry_fn): Export symbol.
39275 * include/grub/powerpc/ieee1275/init.h: New file.
39276 * include/grub/powerpc/libgcc.h: Likewise.
39277 * include/grub/cache.h: Likewise.
39278 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
39279 <hollis@penguinppc.org>.
39280 * kern/dl.c: Include <grub/cache.h>.
39281 (grub_dl_flush_cache): New function.
39282 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
39283 for this module.
39284 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
39285 (grub_console_init): Removed prototypes.
39286 (grub_machine_init): Don't initialize the modules anymore.
39287 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
39288 static.
39289 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
39290 Macro undef removed.
39291 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
39292 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
39293 relocation `R_PPC_REL32'. Return an error when the relocation is
39294 unknown.
39295 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
39296 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
39297 * util/misc.c (grub_arch_sync_caches): Likewise.
39298
e4b47e0c 392992004-12-19 Marco Gerards <metgerards@student.han.nl>
39300
39301 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
39302 `symlist.c', add `grubof_symlist.c'.
39303 (symlist.c): Variable removed.
39304 (grubof_HEADERS): Variable added.
39305 (grubof_symlist.c): New target.
39306 (kernel_syms.lst): Use `grubof_HEADERS' instead of
39307 `kernel_img_HEADERS'.
39308 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
39309 * kern/powerpc/dl.c: New file.
39310 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
39311 Function removed.
39312 (grub_arch_dl_relocate_symbols): Likewise.
39313 (grub_register_exported_symbols): Likewise.
39314
4ceb3636 393152004-12-13 Marco Gerards <metgerards@student.han.nl>
39316
39317 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
39318 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
39319 to fail instead. Reported by Vincent Pelletier
39320 <subdino2004@yahoo.fr>.
39321
39322 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
39323 it is not allocated. Reported by Vincent Pelletier
39324 <subdino2004@yahoo.fr>.
39325
39326 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
39327 output so the output looks better.
f19dbdb7 39328
3f1578fe 393292004-12-04 Marco Gerards <metgerards@student.han.nl>
39330
39331 Modulize the partition map support and add support for the amiga
39332 partition map.
f19dbdb7 39333
3f1578fe 39334 * commands/ls.c: Include <grub/partition.h> instead of
39335 <grub/machine/partition.h>.
39336 * kern/disk.c: Likewise.
39337 * kern/rescue.c: Likewise.
39338 * loader/i386/pc/chainloader.c: Likewise.
39339 * normal/cmdline.c: Likewise.
39340 * kern/powerpc/ieee1275/init.c: Likewise.
39341 (grub_machine_init): Call `grub_pc_partition_map_init',
39342 `grub_amiga_partition_map_init' and
39343 `grub_apple_partition_map_init'.
39344 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
39345 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
39346 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
39347 `partition.h' and `pc_partition.h'.
39348 (grub_setup_SOURCES): Remove
39349 `disk/i386/pc/partition.c'. Add `kern/partition.c',
39350 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
39351 (grub_emu_SOURCES): Likewise.
39352 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
39353 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
39354 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
39355 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
39356 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
39357 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
39358 (grubof_SOURCES): Likewise.
39359 * disk/i386/pc/partition.c: File removed.
39360 * disk/powerpc/ieee1275/partition.c: Likewise.
39361 * include/grub/powerpc/ieee1275/partition.h: Likewise.
39362 * include/grub/i386/pc/partition.h: Likewise.
39363 * kern/partition.c: New file.
39364 * partmap/amiga.c: Likewise.
39365 * partmap/apple.c: Likewise.
39366 * partmap/pc.c: Likewise.
39367 * include/grub/partition.h: Likewise..
39368 * include/grub/pc_partition.h: Likewise.
39369 * util/grub-emu.c: Include <grub/partition.h> instead of
39370 <grub/machine/partition.h>.
39371 (main): Call `grub_pc_partition_map_init',
39372 `grub_amiga_partition_map_init' and
39373 `grub_apple_partition_map_init' and deinitialize afterwards.
39374 * util/i386/pc/biosdisk.c: Include `#include
39375 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
39376 `<grub/machine/partition.h>'.
39377 * util/i386/pc/grub-setup.c: Likewise.
39378 * util/i386/pc/biosdisk.c: Likewise.
39379 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
39380 partition information in case of a PC partition.
39381 * util/i386/pc/grub-setup.c: Include `#include
39382 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
39383 `<grub/machine/partition.h>'.
39384 (setup): Only access the PC specific partition information in case
39385 of a PC partition.
39386
0ef4ced9 393872004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 39388
0ef4ced9 39389 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
39390 (grub_longjmp): Likewise.
39391 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
39392 20.
39393 * normal/powerpc/setjmp.S: New file.
39394 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39395 `normal/powerpc/setjmp.S'.
39396 (grubof_CFLAGS): Add `-DGRUBOF'.
39397 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
39398 [GRUB_UTIL && !GRUBOF].
f19dbdb7 39399
19950e29 394002004-11-16 Marco Gerards <metgerards@student.han.nl>
39401
39402 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
39403 property named `name'. Correctly handle the error returned by
39404 `grub_ieee1275_finddevice' if a device can not be opened.
39405
a2fea427 394062004-11-02 Hollis Blanchard <hollis@penguinppc.org>
39407
39408 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
39409 `actual' for negativity.
39410 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
39411 kern/fshelp.c.
39412
41ea0ea3 394132004-11-01 Marco Gerards <metgerards@student.han.nl>
39414
39415 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
39416 (PAGE_OFFSET): New macro.
39417 (CRTC_ADDR_PORT): Likewise.
39418 (CRTC_DATA_PORT): Likewise.
39419 (START_ADDR_HIGH_REGISTER): Likewise.
39420 (START_ADDR_LOW_REGISTER): Likewise.
39421 (GRAPHICS_ADDR_PORT): Likewise.
39422 (GRAPHICS_DATA_PORT): Likewise.
39423 (READ_MAP_REGISTER): Likewise.
39424 (INPUT_STATUS1_REGISTER): Likewise.
39425 (INPUT_STATUS1_VERTR_BIT): Likewise.
39426 (page): New variable.
39427 (wait_vretrace): New function.
39428 (set_read_map): Likewise.
39429 (set_start_address): Likewise.
39430 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
39431 the right page.
39432 (check_vga_mem): Take the page into account.
39433 (write_char): Likewise.
39434 (write_cursor): Likewise.
39435 (scroll_up): Likewise. Copy the page to the page that is not
39436 shown and switch between both pages.
39437 (grub_vga_putchar): Fix off by one error.
39438 (grub_vga_cls): Wait for the vertical retrace. Take the page into
39439 account.
39440
ad0bd20b 394412004-11-01 Marco Gerards <metgerards@student.han.nl>
39442
39443 Add support for iso9660 (including rockridge).
f19dbdb7 39444
ad0bd20b 39445 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
39446 (iso9660_mod_SOURCES): New variable.
39447 (iso9660_mod_CFLAGS): Likewise.
39448 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
39449 * include/grub/fs.h (grub_iso9660_init): New prototype.
39450 * util/grub-emu.c (main): Call `grub_iso9660_init'.
39451 * fs/iso9660.c: New file.
39452
39453 * include/grub/misc.h (grub_strncat): New prototype.
39454 * kern/misc.c (grub_strncat): New function.
f19dbdb7 39455
ad0bd20b 39456 * fs/hfs.c (grub_hfs_mount): Translate the error
39457 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
39458 * fs/jfs.c (grub_jfs_mount): Likewise.
39459 * fs/ufs.c (grub_ufs_mount): Likewise.
39460
a5477a59 394612004-10-28 Hollis Blanchard <hollis@penguinppc.org>
39462
39463 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
39464 which initialized BAT registers.
39465 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
39466 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
39467 Move from here...
39468 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
39469 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
39470 ... to here.
39471 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
39472 (grub_mapclaim): Likewise.
39473 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
39474 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
39475 hand.
39476
9304c1f8 394772004-10-19 Hollis Blanchard <hollis@penguinppc.org>
39478
39479 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
39480 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
39481 -ffreestanding and -msoft-float.
39482
86f4ae25 394832004-10-15 Hollis Blanchard <hollis@penguinppc.org>
39484
39485 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
39486 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
39487 set in grub_ieee1275_flags.
39488
38912228 394892004-10-14 Hollis Blanchard <hollis@penguinppc.org>
39490
39491 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
39492 prototype.
39493 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
39494 grub_console_init first.
39495 Change the memory range used for grub_ieee1275_claim and
39496 grub_mm_init_region.
39497 Print an error message if the claim fails.
39498 Include <grub/misc.h>.
39499
d1923dc8 395002004-10-13 Hollis Blanchard <hollis@penguinppc.org>
39501
39502 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
39503 Call grub_children_iterate for device nodes of type `scsi',
39504 `ide', or `ata'.
39505 (grub_ofdisk_open): Remove manual device alias resolution.
39506 Fix memory leak when device cannot be opened.
f19dbdb7 39507 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 39508 (grub_children_iterate): New prototype.
39509 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
39510 New function.
39511 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
39512 Return -1 if args.size was -1.
39513
4512e4f3 395142004-10-11 Hollis Blanchard <hollis@penguinppc.org>
39515
39516 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
39517 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
39518 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
39519 Open Firmware's memory for it; claim memory from _start to _end.
39520 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
39521 (_end): New extern.
39522 (_start): Zero BSS from __bss_start to _end.
39523 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
39524 New extern.
39525 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
39526
4d61feb0 395272004-10-11 Hollis Blanchard <hollis@penguinppc.org>
39528
ad0bd20b 39529 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
39530 -1 if args.base was -1.
4d61feb0 39531
026fa2f9 395322004-10-08 Hollis Blanchard <hollis@penguinppc.org>
39533
39534 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
39535 escape sequence instead of a literal ^L. Also call
39536 grub_ofconsole_gotoxy.
39537
9f2220ef 395382004-10-03 Hollis Blanchard <hollis@penguinppc.org>
39539
39540 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
39541 void * arguments to grub_addr_t. All callers updated. Also make
39542 the `result' argument optional.
39543 (grub_ieee1275_release): change void * arguments to grub_addr_t.
39544 All callers updated.
39545
8a572cd7 395462004-09-22 Hollis Blanchard <hollis@penguinppc.org>
39547
39548 * commands/ls.c (grub_ls_list_files): Use the string following the
39549 initial ')', if present, as the filesystem path.
39550 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
39551
39552 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
39553
18aa81f2 395542004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
39555
39556 Make the source code of the menu interface more readable.
f19dbdb7 39557
18aa81f2 39558 * normal/menu.c: Include grub/mm.h.
39559 (TERM_WIDTH): New macro.
39560 (TERM_HEIGHT): Likewise.
39561 (TERM_INFO_HEIGHT): Likewise.
39562 (TERM_MARGIN): Likewise.
39563 (TERM_SCROLL_WIDTH): Likewise.
39564 (TERM_TOP_BORDER_Y): Likewise.
39565 (TERM_LEFT_BORDER_X): Likewise.
39566 (TERM_BORDER_WIDTH): Likewise.
39567 (TERM_MESSAGE_HEIGHT): Likewise.
39568 (TERM_BORDER_HEIGHT): Likewise.
39569 (TERM_NUM_ENTRIES): Likewise.
39570 (TERM_FIRST_ENTRY_Y): Likewise.
39571 (TERM_ENTRY_WIDTH): Likewise.
39572 (TERM_CURSOR_X): Likewise.
39573 (draw_border): Use macros instead of magic numbers.
39574 (print_entry): Likewise.
39575 (print_entries): Likewise.
39576 (run_menu): Likewise. Also, handle the key 'e'.
39577 (run_menu_entry): Ignore empty command lines.
39578 (print_message): Added a new argument EDIT. If EDIT is true,
39579 print a different message.
39580 (init_page): Likewise.
39581 (edit_menu_entry): New function. Not implemented yet.
39582
b47efe30 395832004-09-17 Marco Gerards <metgerards@student.han.nl>
39584
39585 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
39586 can be loaded from normal mode.
f19dbdb7 39587
b47efe30 39588 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
39589 `multiboot.mod'.
39590 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
39591 (multiboot_mod_CFLAGS): New variables.
39592 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 39593 * loader/i386/pc/multiboot_normal.c: Likewise.
39594
b47efe30 39595 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
39596 attribute `unused'.
f19dbdb7 39597
b47efe30 39598 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
39599 `fdiro' to read the mode information from instead of `diro'.
39600
39601 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
39602 looking up a symlink.
39603
39604 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
39605 macro.
39606 * normal/command.c (grub_command_execute): Don't parse the
39607 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
39608 flags of the command.
39609
39610 * normal/menu.c (grub_menu_run): Fix typo.
39611
da75ac71 396122004-09-14 Hollis Blanchard <hollis@penguinppc.org>
39613
39614 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
39615
39616 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
39617 `y + 1' instead of `y - 1'.
39618
39619 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 39620
062b24c2 396212004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
39622
39623 From Hollis Blanchard <hollis@penguinppc.org>:
39624 * kern/misc.c (memmove): New alias for grub_memmove.
39625 (memcmp): New alias for grub_memcmp.
39626 (memset): New alias for grub_memset.
f19dbdb7 39627 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 39628 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 39629 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 39630 (grub_ieee1275_get_property): Likewise.
f19dbdb7 39631
8ddad845 396322004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
39633
39634 Added normal mode command `chainloader' as module chain.mod, which
39635 depends on normal.mod and _chain.mod.
f19dbdb7 39636
8ddad845 39637 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
39638 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
39639 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
39640 Deleted prototype.
39641 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
39642 but arguments parsing moved to ...
39643 (grub_chainloader_cmd): ... here. New function.
39644 * include/grub/i386/pc/chainloader.h: New file.
39645 * loader/i386/pc/chainloader_normal.c: Likewise.
39646
2c1f4ce3 396472004-09-11 Marco Gerards <metgerards@student.han.nl>
39648
39649 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
39650 (grub_mkimage_LDFLAGS): Likewise.
39651 (grub_emu_SOURCES): Likewise.
39652 (kernel_img_HEADERS): Added fshelp.h.
39653 * fs/ext2.c: Include <grub/fshelp.h>.
39654 (FILETYPE_REG): New macro.
39655 (FILETYPE_INO_REG): Likewise.
39656 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
39657 Changed all users.
39658 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
39659 all users.
39660 (grub_fshelp_node): New struct.
39661 (grub_ext2_data): Added member `diropen'. Changed member `inode'
39662 to a pointer.
39663 (grub_ext2_get_file_block): Removed function.
39664 (grub_ext2_read_block): New function.
39665 (grub_ext2_read_file): Replaced parameter `data' by `node'.
39666 This function was written.
39667 (grub_ext2_mount): Read the root inode. Create a diropen struct.
39668 (grub_ext2_find_file): Removed function.
39669 (grub_ext2_read_symlink): New function.
39670 (grub_ext2_iterate_dir): Likewise.
39671 (grub_ext2_open): Rewritten.
39672 (grub_ext2_dir): Rewritten.
39673 * include/grub/fshelp.h: New file.
39674 * fs/fshelp.c: Likewise.
39675
3c52136a 396762004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
39677
39678 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
39679 (print_message): Add a missing newline.
39680 (run_menu): Added timeout support.
39681 (run_menu_entry): New local function.
39682 (grub_menu_run): Added support for booting.
39683
39684 * kern/loader.c (grub_loader_is_loaded): New function.
39685
39686 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
39687 (grub_get_rtc): Exported.
39688
39689 * include/grub/i386/pc/time.h: Include grub/symbol.h.
39690 (grub_get_rtc): Exported.
39691
39692 * include/grub/normal.h (struct grub_command_list): Remove
39693 constant from the member `command'.
39694
39695 * include/grub/loader.h (grub_loader_is_loaded): Declared.
39696
39697 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
39698
39699 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
39700
aa033560 397012004-08-28 Marco Gerards <metgerards@student.han.nl>
39702
39703 Add support for the JFS filesystem.
39704
39705 * fs/jfs.c: New file.
39706 * include/grub/fs.h (grub_jfs_init): New prototype.
39707 (grub_jfs_fini): New prototype.
39708 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
39709 (grub_emu_SOURCES): Likewise.
39710 (pkgdata_MODULES): Add jfs.mod.
39711 (jfs_mod_SOURCES): New variable.
39712 (jfs_mod_CFLAGS): Likewise.
39713 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
39714 (grubof_SOURCES): Likewise.
39715 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
39716
39717 * fs/fat.c (grub_fat_find_dir): Convert the filename little
39718 endian to the host endian.
39719 (grub_fat_utf16_to_utf8): Move function from there...
39720 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 39721 the endianness of the source string anymore.
aa033560 39722 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
39723
94bc45af 397242004-08-24 Marco Gerards <metgerards@student.han.nl>
39725
39726 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
39727 (grub_boot_fini) [GRUB_UTIL]: Likewise.
39728 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
39729 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 39730
94bc45af 39731 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
39732 (grub_hfs_iterate_dir): Make the function static. Add prototypes
39733 for `node_found' and `it_dir'.
39734 (grub_hfs_dir): Add prototype for `dir_hook'.
39735
39736 * fs/minix.c (grub_minix_get_file_block): Add prototype for
39737 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
39738 and `indir32' to silence a gcc warning.
39739
39740 * include/grub/fs.h (grub_hfs_init): New prototype.
39741 (grub_hfs_fini): Likewise.
f19dbdb7 39742
39743
97543f08 397442004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
39745
39746 Each disk device has its own id now. This is useful to make use
39747 of multiple disk devices.
f19dbdb7 39748
97543f08 39749 * include/grub/disk.h (grub_disk_dev_id): New enum.
39750 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
39751 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
39752
39753 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
39754 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39755
39756 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
39757 GRUB_DISK_DEVICE_OFDISK_ID as an id.
39758
39759 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
39760 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39761
39762 * include/grub/disk.h (struct grub_disk_dev): Added a new member
39763 "id" which is used by the cache manager.
39764
39765 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
39766 of just "GRUB".
39767
64372eb4 397682004-08-18 Marco Gerards <metgerards@student.han.nl>
39769
39770 * fs/hfs.c: New file.
39771 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
39772 (grub_emu_SOURCES): Likewise.
39773 (pkgdata_MODULES): Add hfs.mod.
39774 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
39775 (grubof_SOURCES): Likewise.
39776 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
39777
39778 * include/grub/misc.h (grub_strncasecmp): Add prototype.
39779 * kern/misc.c (grub_strncasecmp): Add function.
39780
cc61b58f 397812004-08-14 Marco Gerards <metgerards@student.han.nl>
39782
39783 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
39784 with parentheses.
39785
39786 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
39787 (grub_ext2_dir): In case the directory entry type is unknown, read
39788 it from the inode.
39789
0ef123f6 397902004-08-02 Peter Bruin <pjbruin@dds.nl>
39791
39792 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
39793 grub_load_linux instead of grub_rescue_cmd_linux as second
39794 argument of grub_rescue_register_command.
39795
39796 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
39797
a447c5df 397982004-07-27 Marco Gerards <metgerards@student.han.nl>
39799
39800 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
39801 function.
39802 * commands/boot.c: Remove the check for `GRUB_UTIL'.
39803 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39804 `loader/powerpc/ieee1275/linux.c',
39805 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
39806 * include/grub/powerpc/ieee1275/ieee1275.h
39807 (grub_ieee1275_release): New prototype.
39808 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
39809 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
39810 normal, boot, linux and linux_normal.
39811 * loader/powerpc/ieee1275/linux.c: New file.
39812 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39813
5a9e3546 398142004-07-12 Marco Gerards <metgerards@student.han.nl>
39815
39816 * normal/arg.c (grub_arg_parse): Correct error handling after
39817 reallocating the argumentlist (check if `argl' is not null instead
39818 of checking if `args' is not null).
39819 * kern/mm.c (grub_realloc): Return the same pointer when using the
39820 same region, instead of returning the header address.
39821
e15199cb 398222004-07-11 Marco Gerards <metgerards@student.han.nl>
39823
39824 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
39825 one block instead of two when looking for the initial partition.
39826 (grub_partition_probe): Initialize the local variable `p' with 0.
39827 Use base 10 for the grub_strtoul call.
39828 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
39829 need for one local variable.
39830 (grub_strtoul): Don't add the new value to `num', instead of that
39831 just assign it.
39832
020616c2 398332004-07-11 Marco Gerards <metgerards@student.han.nl>
39834
39835 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
39836 (pxeboot_img_SOURCES): New variable.
39837 (pxeboot_img_ASFLAGS): Likewise.
39838 (pxeboot_img_LDFLAGS): Likewise.
39839 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
39840 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
39841 <lode_leroy@hotmail.com>.
39842
6c51eb64 398432004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39844
39845 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
39846 there was no input.
39847
cfb12aff 398482004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39849
39850 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
39851 the history buffer logic.
39852
6eabba74 398532004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39854
39855 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
39856 (FILETYPE_INO_SYMLINK): New macros.
39857 (grub_ext2_find_file): Check if the node is a directory using the
39858 inode stat information instead of using the filetype in the
39859 dirent. Exclude the first character of an absolute symlink.
39860 (grub_ext2_dir): Mask out the filetype part of the mode member of
39861 the inode.
39862
66e19ef8 398632004-05-24 Marco Gerards <metgerards@student.han.nl>
39864
39865 Add support for UFS version 1 and 2. Add support for the minix
39866 filesystem version 1 and 2, both the variants with 14 and 30 long
39867 filenames.
f19dbdb7 39868
66e19ef8 39869 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
39870 fs/minix.c.
39871 (grub_emu_SOURCES): Likewise.
39872 (pkgdata_MODULES): Add ufs.mod and minix.mod.
39873 (ufs_mod_SOURCES): New variable.
39874 (ufs_mod_CFLAGS): Likewise.
39875 (minix_mod_SOURCES): Likewise.
39876 (minix_mod_CFLAGS): Likewise.
39877 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
39878 fs/minix.c.
39879 (grubof_SOURCES): Likewise.
39880 * fs/ufs.c: New file.
39881 * fs/minix.c: New file.
39882 * include/grub/fs.h (grub_ufs_init): New prototype.
39883 (grub_ufs_fini): Likewise.
39884 (grub_minix_init): Likewise.
39885 (grub_minix_fini): Likewise.
39886 * util/grub-emu.c (main): Initialize and deinitialize UFS and
39887 minix fs.
39888
cc2e748a 398892004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
39890
39891 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
39892 commands/ls.c, commands/terminal.c, commands/boot.c,
39893 commands/cmp.c and commands/cat.c.
39894 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
39895
39896 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
39897 "env.h"
39898
4b13b216 398992004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39900
39901 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
39902 and grub_, respectively. Because the conversion is trivial and
39903 mechanical, I omit the details here. Please refer to the CVS
39904 if you need more information.
39905
6a142551 399062004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39907
39908 * include/pupa: Renamed to ...
39909 * include/grub: ... this.
39910 * util/i386/pc/pupa-mkimage.c: Renamed to ...
39911 * util/i386/pc/grub-mkimage.c: ... this.
39912 * util/i386/pc/pupa-setup.c: Renamed to ...
39913 * util/i386/pc/grub-setup.c: ... this.
39914 * util/pupa-emu.c: Renamed to ...
39915 * util/grub-emu.c: ... this.
39916
e56cdf21 399172004-03-29 Marco Gerards <metgerards@student.han.nl>
39918
39919 Add support for the newworld apple macintosh (PPC). This has been
39920 tested on the powerbook 2000 only. It only adds support for
39921 generic ieee1275 functions, console and disk support. This should
39922 be easy to port to other architectures with support for Open
39923 Firmware.
f19dbdb7 39924
e56cdf21 39925 * configure.ac: Accept the powerpc as host_cpu. In the case of
39926 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
39927 specific tests are only executed while building for the i386.
39928 Inverse test for crosscompile.
39929 * genmk.rb (Utility): Allow assembler files.
39930 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
39931 * conf/powerpc-ieee1275.rmk: New file.
39932 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
39933 * disk/powerpc/ieee1275/partition.c: Likewise.
39934 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
39935 * include/pupa/powerpc/ieee1275/console.h: Likewise.
39936 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
39937 * include/pupa/powerpc/ieee1275/time.h: Likewise.
39938 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
39939 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
39940 * include/pupa/powerpc/ieee1275/loader.h
39941 * include/pupa/powerpc/setjmp.h: Likewise.
39942 * include/pupa/powerpc/types.h: Likewise.
39943 * kern/powerpc/ieee1275/init.c: Likewise.
39944 * kern/powerpc/ieee1275/openfw.c: Likewise.
39945 * term/powerpc/ieee1275/ofconsole.c: Likewise.
39946
39947 These files were written by Johan Rydberg
39948 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 39949
e56cdf21 39950 * boot/powerpc/ieee1275/cmain.c: New file.
39951 * boot/powerpc/ieee1275/crt0.S: Likewise.
39952 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
39953 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
39954
8c8cc205 399552004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
39956
39957 * Makefile.in: Update copyright.
39958 * genmodsrc.sh: Likewise.
39959 * gensymlist.sh: Likewise.
39960 * term/i386/pc/vga.c: Indent correctly.
39961
39962 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
39963 bugreporting address.
39964 * util/i386/pc/pupa-setup.c (usage): Likewise,
39965 (main): Call pupa_ext2_init and pupa_ext2_fini.
39966
f19dbdb7 39967 * fs/fat.c (log2): Renamed to ...
8c8cc205 39968 (fat_log2): ... this.
39969 All callers changed.
39970 * kern/misc.c (memcpy): Alias to pupa_memmove.
39971 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
39972 lvalue cast.
39973 * util/console.c (pupa_ncurses_fini): Return 0.
39974
39975 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
39976 Move fail label here.
39977 [__GNU__]: Don't warn when using stat.
39978 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
39979 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
39980 long int. Use strtol instead of strtoul.
f19dbdb7 39981
db1771cf 399822004-03-14 Marco Gerards <metgerards@student.han.nl>
39983
39984 * commands/boot.c: New file.
39985 * commands/cat.c: Likewise.
39986 * commands/cmp.c: Likewise.
39987 * commands/ls.c: Likewise.
39988 * commands/terminal.c: Likewise.
39989 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
39990 (pupa_register_command): Changed interface to match the new
39991 argument parser.
39992 (pupa_command_execute): Changed (almost rewritten) so it uses
39993 pupa_split_command. Added support for setting variables using the
39994 syntax `foo=bar'.
39995 (rescue_command): Changed to work with the new argument parser.
39996 (terminal_command): Moved from here to commands/terminal.c.
39997 (set_command): New function.
39998 (unset_command): New function.
39999 (insmod_command): New function.
40000 (rmmod_command): New function.
40001 (lsmod_command): New function.
40002 (pupa_command_init): Don't initialize the command terminal
40003 anymore. Initialize the commands set, unset, insmod, rmmod and
40004 lsmod.
40005 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
40006 (kernel_img_HEADERS): Add arg.h and env.h.
40007 (pupa_mkimage_LDFLAGS): Add kern/env.c.
40008 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
40009 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
40010 normal/arg.c.
40011 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
40012 terminal.mod.
40013 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
40014 (boot_mod_SOURCES): New variable.
40015 (terminal_mod_SOURCES): Likewise.
40016 (ls_mod_SOURCES): Likewise.
40017 (cmp_mod_SOURCES): Likewise.
40018 (cat_mod_SOURCES): Likewise.
40019
40020 * normal/arg.c: New file.
40021 * kern/env.c: Likewise.
40022 * include/pupa/arg.h: Likewise.
40023 * include/pupa/env.h: Likewise.
40024 * font/manager.c (font_command): Changed to match argument parsing
40025 interface changes.
40026 (PUPA_MOD_INIT): Likewise.
40027 * hello/hello.c (pupa_cmd_hello): Likewise.
40028 (PUPA_MOD_INIT): Likewise.
40029 * include/pupa/disk.h: Include <pupa/device.h>.
40030 (pupa_print_partinfo): New prototype.
40031 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
40032 (pupa_dl_get_prefix): Likewise.
40033 * include/pupa/misc.h: Include <pupa/err.h>.
40034 (pupa_isgraph): New prototype.
40035 (pupa_isdigit): Likewise.
40036 (pupa_split_cmdline): Likewise.
40037 * include/pupa/normal.h: Include <pupa/arg.h>.
40038 (pupa_command): Changed the prototype of the member `func' to
40039 match the argument parsing interface. Added member `options'.
40040 (pupa_register_command): Updated to match function.
40041 (pupa_arg_parse): New prototype.
40042 (pupa_hello_init) [PUPA_UTIL]: New prototype.
40043 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
40044 (pupa_ls_init) [PUPA_UTIL]: Likewise.
40045 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
40046 (pupa_cat_init) [PUPA_UTIL]: Likewise.
40047 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
40048 (pupa_boot_init) [PUPA_UTIL]: Likewise.
40049 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
40050 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
40051 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
40052 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
40053 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
40054 * kern/disk.c: Include <pupa/file.h>.
40055 (pupa_print_partinfo): New function.
40056 * kern/dl.c: Include <pupa/env.h>.
40057 (pupa_dl_dir): Variable removed.
40058 (pupa_dl_load): Use the environment variable `prefix' instead of
40059 the variable pupa_dl_dir.
40060 (pupa_dl_set_prefix): Function removed.
40061 (pupa_dl_get_prefix): Likewise.
40062 * kern/i386/pc/init.c: Include <pupa/env.h>.
40063 (pupa_machine_init): Use the environment variable `prefix' instead of
40064 using pupa_dl_set_prefix to set the prefix.
40065 * kern/main.c: Include <pupa/env.h>.
40066 (pupa_set_root_dev): Use the environment variable `prefix' instead of
40067 using pupa_dl_get_prefix to get the prefix.
40068 * kern/misc.c: Include <pupa/env.h>.
40069 (pupa_isdigit): New function.
40070 (pupa_isgraph): Likewise.
40071 (pupa_ftoa): Likewise.
40072 (pupa_vsprintf): Added support for printing values of the type
40073 `double'. Make it possible to format variable output when using
40074 formatting like `%1.2%f'.
40075 (pupa_split_cmdline): New function.
40076 * kern/rescue.c: Include <pupa/env.h>.
40077 (next_word): Removed function.
40078 (pupa_rescue_cmd_prefix): Likewise.
40079 (pupa_rescue_cmd_set): New function.
40080 (pupa_rescue_cmd_unset): New function.
40081 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
40082 split the command line instead of splitting it here. Added
40083 support for setting variables using the syntax `foo=bar'. Don't
40084 initialize the prefix command anymore. Initialized the set and
40085 unset commands.
40086 * normal/cmdline.c: Include <pupa/env.h>.
40087 (pupa_tab_complete): Added prototypes for print_simple_completion,
40088 print_partition_completion, add_completion, iterate_commands,
40089 iterate_dev, iterate_part and iterate_dir. Moved code to print
40090 partition information from here to kern/disk.c.
fe6b695a 40091 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 40092 * normal/main.c: Include <pupa/env.h>.
40093 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
40094 instead of using pupa_dl_get_prefix to get the prefix.
40095 * term/i386/pc/vga.c: Include <pupa/arg.h>.
40096 (check_vga_mem): Cast pointers to `void *' to silence a gcc
40097 warning.
40098 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
40099 (pupa_vga_setcolor): Declare unused variables with `__attribute__
40100 ((unused))' to silence a gcc warning.
40101 (pupa_vga_setcolor): Likewise.
40102 (debug_command): Changed to match argument parsing
40103 interface changes.
40104 * util/pupa-emu.c: Include <pupa/env.h>.
40105 (options): Added 0's for unused fields to silence a gcc warning.
40106 (argp): Likewise.
40107 (main): Use the environment variable `prefix' instead of using
40108 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
40109 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
40110 and terminal.
40111
40112 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
40113 * util/misc.c: Include <malloc.h>.
40114 (pupa_malloc): Rewritten so errors are correctly reported.
40115 (pupa_realloc): Likewise.
40116 (pupa_memalign): Likewise.
40117 (pupa_mm_init_region): Declare unused variables with
40118 `__attribute__ ((unused))' to silence a gcc warning.
40119 * normal/i386/setjmp.S: Remove tab at the end of the file to
40120 silence a gcc warning.
40121 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
40122 variables with `__attribute__ ((unused))' to silence a gcc
40123 warning.
40124 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
40125 local variable i unsigned to silence a gcc warning.
40126
40127 * kern/term.c: Include <pupa/misc.h>.
40128 (pupa_more_lines): New variable.
40129 (pupa_more): Likewise.
40130 (pupa_putcode): When the pager is active pause at the end of every
40131 screen.
40132 (pupa_set_more): New function.
40133 * include/pupa/term.h (pupa_set_more): New prototype.
40134
40135
3b1139cb 401362004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
40137
40138 Now this project is GRUB 2 rather than PUPA. The location of
40139 the CVS repository was moved to GRUB's.
f19dbdb7 40140
3b1139cb 40141 * configure.ac: Use bug-grub as the reporting address.
40142 Use GRUB instead of PUPA.
40143 Change the version number to 1.90.
40144
8367695c 401452004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
40146
40147 * genkernsyms.sh: Updated copyright information.
40148 * genmk.rb: Likewise.
40149 * genmodsrc.sh: Likewise.
40150 * gensymlist.sh: Likewise.
40151 * boot/i386/pc/boot.S: Likewise.
40152 * boot/i386/pc/diskboot.S: Likewise.
40153 * disk/i386/pc/biosdisk.c: Likewise.
40154 * disk/i386/pc/partition.c: Likewise.
40155 * font/manager.c: Likewise.
40156 * fs/ext2.c: Likewise.
40157 * fs/fat.c: Likewise.
40158 * include/pupa/boot.h: Likewise.
40159 * include/pupa/device.h: Likewise.
40160 * include/pupa/disk.h: Likewise.
40161 * include/pupa/dl.h: Likewise.
40162 * include/pupa/elf.h: Likewise.
40163 * include/pupa/err.h: Likewise.
40164 * include/pupa/file.h: Likewise.
40165 * include/pupa/font.h: Likewise.
40166 * include/pupa/fs.h: Likewise.
40167 * include/pupa/kernel.h: Likewise.
40168 * include/pupa/loader.h: Likewise.
40169 * include/pupa/misc.h: Likewise.
40170 * include/pupa/mm.h: Likewise.
40171 * include/pupa/net.h: Likewise.
40172 * include/pupa/normal.h: Likewise.
40173 * include/pupa/rescue.h: Likewise.
40174 * include/pupa/setjmp.h: Likewise.
40175 * include/pupa/symbol.h: Likewise.
40176 * include/pupa/term.h: Likewise.
40177 * include/pupa/types.h: Likewise.
40178 * include/pupa/i386/setjmp.h: Likewise.
40179 * include/pupa/i386/types.h: Likewise.
40180 * include/pupa/i386/pc/biosdisk.h: Likewise.
40181 * include/pupa/i386/pc/boot.h: Likewise.
40182 * include/pupa/i386/pc/console.h: Likewise.
40183 * include/pupa/i386/pc/init.h: Likewise.
40184 * include/pupa/i386/pc/kernel.h: Likewise.
40185 * include/pupa/i386/pc/linux.h: Likewise.
40186 * include/pupa/i386/pc/loader.h: Likewise.
40187 * include/pupa/i386/pc/memory.h: Likewise.
40188 * include/pupa/i386/pc/multiboot.h: Likewise.
40189 * include/pupa/i386/pc/partition.h: Likewise.
40190 * include/pupa/i386/pc/time.h: Likewise.
40191 * include/pupa/i386/pc/vga.h: Likewise.
40192 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
40193 * include/pupa/util/getroot.h: Likewise.
40194 * include/pupa/util/misc.h: Likewise.
40195 * include/pupa/util/resolve.h: Likewise.
40196 * kern/device.c: Likewise.
40197 * kern/disk.c: Likewise.
40198 * kern/dl.c: Likewise.
40199 * kern/err.c: Likewise.
40200 * kern/file.c: Likewise.
40201 * kern/fs.c: Likewise.
40202 * kern/loader.c: Likewise.
40203 * kern/main.c: Likewise.
40204 * kern/misc.c: Likewise.
40205 * kern/mm.c: Likewise.
40206 * kern/rescue.c: Likewise.
40207 * kern/term.c: Likewise.
40208 * kern/i386/dl.c: Likewise.
40209 * kern/i386/pc/init.c: Likewise.
40210 * kern/i386/pc/lzo1x.S: Likewise.
40211 * kern/i386/pc/startup.S: Likewise.
40212 * loader/i386/pc/chainloader.c: Likewise.
40213 * loader/i386/pc/linux.c: Likewise.
40214 * loader/i386/pc/multiboot.c: Likewise.
40215 * normal/cmdline.c: Likewise.
40216 * normal/command.c: Likewise.
40217 * normal/main.c: Likewise.
40218 * normal/menu.c: Likewise.
40219 * normal/i386/setjmp.S: Likewise.
40220 * term/i386/pc/console.c: Likewise.
40221 * term/i386/pc/vga.c: Likewise.
40222 * util/console.c: Likewise.
40223 * util/genmoddep.c: Likewise.
40224 * util/misc.c: Likewise.
40225 * util/pupa-emu.c: Likewise.
40226 * util/resolve.c: Likewise.
40227 * util/unifont2pff.rb: Likewise.
40228 * util/i386/pc/biosdisk.c: Likewise.
40229 * util/i386/pc/getroot.c: Likewise.
40230 * util/i386/pc/pupa-mkimage.c: Likewise.
40231 * util/i386/pc/pupa-setup.c: Likewise.
40232
e6eced71 402332004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
40234
40235 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
40236 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
40237 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
40238 reading and reset it after reading.
40239 (pupa_ext2_close): Return PUPA_ERR_NONE.
40240
40241 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
40242 Correct value.
40243 (struct linux_kernel_header): Add kernel_version and
40244 initrd_addr_max.
40245 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
40246 pupa_file_read succeeds.
40247 (pupa_rescue_cmd_initrd): Implement.
40248
5aded270 402492003-12-03 Marco Gerards <metgerards@student.han.nl>
40250
40251 * fs/ext2.c (pupa_ext2_label): New function.
40252 (pupa_ext2_fs): Added label.
40253 * fs/fat.c (pupa_fat_label): New function.
40254 (pupa_fat_fs): Added label.
40255 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
40256
40257 * kern/misc.c (pupa_strndup): New function.
40258 * include/pupa/misc.h (pupa_strndup): New prototype.
40259
40260 * include/pupa/normal.h: Include <pupa/err.h>.
40261 (pupa_set_history): New prototype.
40262 (pupa_iterate_commands): New prototype.
40263 * normal/cmdline.c: Include <pupa/machine/partition.h>,
40264 <pupa/disk.h>, <pupa/file.h>.
40265 (hist_size): New variable.
40266 (hist_lines): Likewise.
40267 (hist_end): Likewise.
40268 (hist_used): Likewise.
40269 (pupa_set_history): New function.
40270 (pupa_history_get): Likewise.
40271 (pupa_history_add): Likewise.
40272 (pupa_history_replace): Likewise.
40273 (pupa_tab_complete): Likewise.
40274 (pupa_cmdline_run): Added tab completion and history buffer. Tab
40275 completion shows partitionnames while completing partitions, this
40276 feature was suggested by Jeff Bailey.
40277 * normal/command.c (pupa_iterate_commands): New function.
40278 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
40279 (pupa_normal_init): Initialize history buffer.
40280 (PUPA_MOD_INIT): Likewise.
40281 (pupa_normal_fini): Free the history buffer.
40282 (PUPA_MOD_FINI): Likewise.
40283
40284 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
40285 key.
40286
40287 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
40288 * configure.ac [i386]: Check for regparam bug.
40289 (NESTED_FUNC_ATTR) [! i386]: Defined.
40290
1f7315a3 402912003-11-17 Marco Gerards <metgerards@student.han.nl>
40292
40293 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
40294 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
40295 (pupa_emu_SOURCES): New variable.
40296 (pupa_emu_LDFLAGS): Likewise.
40297 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
40298 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
40299 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
40300 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
40301 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
40302 (pupa_jmp_buf): New typedef.
40303 (pupa_setjmp) [PUPA_UTIL]: New macro.
40304 (pupa_longjmp) [PUPA_UTIL]: Likewise.
40305 * include/pupa/term.h (struct pupa_term): New member `refresh'.
40306 (pupa_refresh): New prototype.
40307 * include/pupa/util/getroot.h: New file.
40308 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
40309 it.
40310 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
40311 (pupa_rescue_cmd_cat): Likewise.
40312 (pupa_rescue_cmd_ls): Likewise.
40313 (pupa_rescue_cmd_testload): Likewise.
40314 (pupa_rescue_cmd_lsmod): Likewise.
40315 * normal/cmdline.c (pupa_cmdline_get): Likewise.
40316 * normal/menu.c (run_menu): Likewise.
40317 * kern/term.c (pupa_cls): Likewise.
40318 (pupa_refresh): New function.
40319 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
40320 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
40321 * util/console.c: New file.
f19dbdb7 40322
1f7315a3 40323 * util/i386/pc/getroot.c: New file.
40324 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
40325 (pupa_putchar): New function.
40326 (pupa_refresh): Likewise.
40327 (xgetcwd): Function moved to ...
40328 (strip_extra_slashes): Likewise.
40329 (get_prefix): Likewise.
f19dbdb7 40330 * util/i386/pc/getroot.c: ... here.
1f7315a3 40331 (find_root_device): Function moved and renamed to...
40332 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
40333 Changed all callers.
40334 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
40335 and renamed to...
40336 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
40337 Changed all callers.
40338 * util/misc.c (pupa_memalign): New function.
40339 (pupa_mm_init_region): Likewise.
40340 (pupa_register_exported_symbols): Likewise.
40341 (pupa_putchar): Function removed.
40342 * util/pupa-emu.c: New file.
40343
9a5c1ade 403442003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
40345
40346 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
40347 (_multiboot_mod_SOURCES): New variable.
40348 (_multiboot_mod_CFLAGS): Likewise.
40349 * loader/i386/pc/multiboot.c: New file.
40350 * include/pupa/i386/pc/multiboot.h: Likewise.
40351 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
40352 (pupa_multiboot_real_boot): New function.
40353 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
40354 (pupa_multiboot_real_boot): New prototype.
40355 (pupa_rescue_cmd_multiboot): Likewise
40356 (pupa_rescue_cmd_module): Likewise.
40357
40358 * kern/loader.c (pupa_loader_set): Continue when
40359 pupa_loader_unload_func() fails.
40360 (pupa_loader_unset): New function.
40361 * include/pupa/loader.h (pupa_loader_unset): New prototype.
40362
40363 * kern/misc.c (pupa_stpcpy): New function.
40364 * include/pupa/misc.h (pupa_stpcpy): New prototype.
40365
8e72a9c0 403662003-11-12 Marco Gerards <metgerards@student.han.nl>
40367
40368 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
40369 for available extensions.
40370
40371 * include/pupa/i386/pc/time.h: New file.
40372 * kern/disk.c: Include <pupa/machine/time.h>.
40373 (PUPA_CACHE_TIMEOUT): New macro.
40374 (pupa_last_time): New variable.
40375 (pupa_disk_open): Flush the cache when there was a timeout.
40376 (pupa_disk_close): Reset the timer.
40377 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
40378 pupa_currticks.
40379 * util/misc.c: Include <sys/times.h>
40380 (pupa_get_rtc): New function.
40381
c4adbd32 403822003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40383
40384 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
40385 as blocks.
40386 (pupa_ext2_get_file_block): Use blocks member.
40387
40388 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
40389 first block. Return -1 instead of pupa_errno on error.
40390
bfd30f06 403912003-10-27 Marco Gerards <metgerards@student.han.nl>
40392
40393 * README: In the pupa-mkimage example use _chain instead of chain
40394 and ext2 instead of fat.
40395 * TODO: Replace ext2fs with jfs as an example. Add an item for
40396 adding journal playback for ext2fs.
40397 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
40398 (pkgdata_MODULES): Added ext2.mod.
40399 (ext2_mod_SOURCES): New variable.
40400 (ext2_mod_CFLAGS): Likewise.
40401 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
40402 * include/pupa/misc.h (pupa_strncpy): New prototype.
40403 (pupa_strcat): Likewise.
40404 (pupa_strncmp): Likewise.
40405 * kern/misc.c (pupa_strcat): Enable function.
40406 (pupa_strncpy): New function.
40407 (pupa_strncmp): Likewise.
40408 * fs/ext2.c: New file.
f19dbdb7 40409
bfd30f06 40410 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
40411 when the read failed before retrying.
40412 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
40413 (_FILE_OFFSET_BITS): Likewise.
40414 * configure.ac: Added AC_SYS_LARGEFILE.
40415
98d15063 404162003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
40417
40418 * genmk.rb (PModule#rule): Make sure to get only symbol names
40419 from the output of nm.
59cad637 40420 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 40421
18d9c7cd 404222003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
40423
40424 I forgot to check in these changes for a long time. This adds
40425 incomplete support for VGA console, and this is still very
40426 buggy. Also, a lot of consideration is required for I18N,
40427 UNICODE, and VGA font issues. Therefore, assume that this is
40428 such that "better than nothing".
f19dbdb7 40429
18d9c7cd 40430 * font/manager.c: New file.
40431 * include/pupa/font.h: Likewise.
40432 * include/pupa/i386/pc/vga.h: Likewise.
40433 * term/i386/pc/vga.c: Likewise.
40434 * util/unifont2pff.rb: Likewise.
40435
40436 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
40437 (pkgdata_MODULES): Added vga.mod and font.mod.
40438 (vga_mod_SOURCES): New variables.
40439 (vga_mod_CFLAGS): Likewise.
40440 (font_mod_SOURCES): Likewise.
40441 (font_mod_CFLAGS): Likewise.
40442
40443 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
40444
40445 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 40446 (struct pupa_term): Added init and fini.
18d9c7cd 40447 Changed the argument of putchar to pupa_uint32_t.
40448
40449 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
40450 (pupa_console_real_putchar): New prototype.
40451 (pupa_console_putchar): Removed.
40452 (pupa_console_checkkey): Exported.
40453 (pupa_console_getkey): Likewise.
40454
40455 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
40456 characters.
40457
40458 * kern/term.c (pupa_term_set_current): Rewritten.
40459 (pupa_putchar): Likewise.
40460 (pupa_putcode): New function.
40461
40462 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
40463 (pupa_console_real_putchar): ... this.
40464 (pupa_vga_set_mode): New function.
40465 (pupa_vga_get_font): Likewise.
40466
40467 * normal/command.c: Include pupa/term.h.
40468 (terminal_command): New function.
40469 (pupa_command_init): Register the command "terminal".
40470
40471 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
40472 (DISP_UP): Likewise.
40473 (DISP_RIGHT): Likewise.
40474 (DISP_DOWN): Likewise.
40475 (DISP_HLINE): Likewise.
40476 (DISP_VLINE): Likewise.
40477 (DISP_UL): Likewise.
40478 (DISP_UR): Likewise.
40479 (DISP_LL): Likewise.
40480 (DISP_LR): Likewise.
40481
40482 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 40483
977329f5 404842003-02-08 NIIBE Yutaka <gniibe@m17n.org>
40485
40486 * util/resolve.c (pupa_util_resolve_dependencies): BUG
40487 FIX. Reverse the path_list.
40488
40489 * include/pupa/normal.h: Export pupa_register_command and
40490 pupa_unregister_command.
40491
40492 * hello/hello.c (pupa_cmd_hello): New module.
40493 * conf/i386-pc.rmk: Added hello.mod.
40494
1f5ab428 404952003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
40496
40497 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 40498
1f5ab428 40499 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
40500 (compress_kernel): New variable.
40501 (generate_image): Heavily modified to support compressing a
40502 large part of the core image.
40503
40504 * util/misc.c (pupa_util_read_image): Fix a file descriptor
40505 leak.
40506 (pupa_util_load_image): New function.
40507
40508 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
40509 (pupa_compressed_size): New variable.
40510 (codestart): Enable Gate A20 here.
40511 Decompress the compressed part of the core image.
40512 Rearrange the code to put functions and variables which are
40513 required for initialization in the non-compressed part.
40514 Include lzo1x.S.
40515
40516 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
40517 here.
40518
40519 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
40520
f19dbdb7 40521 * include/pupa/i386/pc/kernel.h
1f5ab428 40522 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
40523 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
40524 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40525 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40526 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
40527
40528 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
40529
40530 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
40531 (Utility#rule): Likewise.
40532
40533 * configure.ac: Check if LZO is available.
40534
ce5bf700 405352003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
40536
40537 * include/pupa/normal.h: New file.
40538 * include/pupa/setjmp.h: Likewise.
40539 * include/pupa/i386/setjmp.h: Likewise.
40540 * normal/cmdline.c: Likewise.
40541 * normal/command.c: Likewise.
40542 * normal/main.c: Likewise.
40543 * normal/menu.c: Likewise.
40544 * normal/i386/setjmp.S: Likewise.
f19dbdb7 40545
ce5bf700 40546 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
40547 (pupa_rescue_cmd_initrd): Likewise.
40548
40549 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
40550 Likewise.
40551
40552 * kern/i386/pc/startup.S (translation_table): New variable.
40553 (translate_keycode): New function.
40554 (pupa_console_getkey): Call translate_keycode.
40555
40556 * kern/rescue.c (attempt_normal_mode): New function.
40557 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
40558 it failed, print a message.
40559
40560 * kern/mm.c (pupa_real_malloc): Print more information when a
40561 free magic is broken.
40562 (pupa_free): If the first free header is not free actually, set
40563 it to P.
40564
40565 * kern/main.c (pupa_load_normal_mode): Just load the module
40566 "normal".
40567 (pupa_main): Don't print the message
40568 "Entering into rescue mode..." here.
40569
40570 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
40571 Declared.
40572 (pupa_rescue_cmd_initrd): Likewise.
40573 (pupa_rescue_cmd_initrd): Likewise.
40574
40575 * include/pupa/symbol.h (FUNCTION): Specify the type.
40576 (VARIABLE): Likewise.
40577
40578 * include/pupa/err.h (pupa_err_t): Added
40579 PUPA_ERR_UNKNOWN_COMMAND.
40580
40581 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
40582 (pupa_dl_get_prefix): Likewise.
40583
40584 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
40585 Added _chain.mod and _linux.mod instead of chain.mod and
40586 linux.mod.
40587 (chain_mod_SOURCES): Renamed to ...
40588 (_chain_mod_SOURCES): ... this.
40589 (chain_mod_CFLAGS): Renamed to ...
40590 (_chain_mod_CFLAGS): ... this.
40591 (linux_mod_SOURCES): Renamed to ...
40592 (_linux_mod_SOURCES): ... this.
40593 (linux_mod_CFLAGS): Renamed to ...
40594 (_linux_mod_CFLAGS): ... this.
40595 (normal_mod_SOURCES): New variable.
40596 (normal_mod_CFLAGS): Likewise.
40597 (normal_mod_ASFLAGS): Likewise.
40598
405992003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
40600
40601 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
40602 possible.
40603
fe6b695a 40604 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 40605 recursively.
40606 (pupa_dl_unref): Unrefer depending modules recursively.
40607 Don't call pupa_dl_unload implicitly, because PUPA can crash if
40608 a module is unloaded before one depending on that module is
40609 unloaded.
40610 (pupa_dl_unload): Unload depending modules explicitly,
40611 if possible.
40612
c04da074 406132003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
40614
40615 * include/pupa/i386/pc/linux.h: New file.
40616 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 40617
c04da074 40618 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
40619 Removed.
40620 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
40621 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
40622 of PUPA_CHAINLOADER_BOOT_SECTOR.
40623
40624 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
40625 (pupa_linux_prot_size): New variable.
40626 (pupa_linux_tmp_addr): Likewise.
40627 (pupa_linux_real_addr): Likewise.
40628 (pupa_linux_boot_zimage): New function.
40629 (pupa_linux_boot_bzimage): Likewise.
40630
40631 * kern/i386/pc/init.c (struct mem_region): New structure.
40632 (MAX_REGIONS): New macro.
40633 (mem_regions): New variable.
40634 (num_regions): Likewise.
40635 (pupa_os_area_addr): Likewise.
40636 (pupa_os_area_size): Likewise.
40637 (pupa_lower_mem): Likewise.
40638 (pupa_upper_mem): Likewise.
40639 (add_mem_region): New function.
40640 (compact_mem_regions): Likewise.
40641 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
40642 the size of the conventional memory and that of so-called upper
40643 memory (before the first memory hole).
40644 Instead of adding each found region to free memory, use
40645 add_mem_region and add them after removing overlaps.
40646 Also, add only 1/4 of the upper memory to free memory. The rest
40647 is used for loading OS images. Maybe this is ad hoc, but this
40648 makes it much easier to relocate OS images when booting.
40649
40650 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
40651 (pupa_enter_rescue_mode): Don't register initrd and module.
40652
40653 * kern/mm.c: Include pupa/dl.h.
40654
40655 * kern/main.c: Include pupa/file.h and pupa/device.h.
40656
40657 * kern/loader.c (pupa_loader_load_module_func): Removed.
40658 (pupa_loader_load_module): Likewise.
40659
40660 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
40661 ``.o''.
40662
40663 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
40664 (pupa_linux_tmp_addr): Likewise.
40665 (pupa_linux_real_addr): Likewise.
40666 (pupa_linux_boot_zimage): Likewise.
40667 (pupa_linux_boot_bzimage): Likewise.
40668
40669 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
40670 (pupa_upper_mem): Likewise.
40671 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
40672 module is too dangerous.
40673
40674 * include/pupa/loader.h (pupa_os_area_addr): Declared.
40675 (pupa_os_area_size): Likewise.
40676 (pupa_loader_set): Remove the first argument. Loader doesn't
40677 manage modules or initrd any longer.
40678 (pupa_loader_load_module): Removed.
40679
40680 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
40681 (linux_mod_SOURCES): New variable.
40682 (linux_mod_CFLAGS): Likewise.
40683
a13f9237 406842003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
40685
40686 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
40687 the length of a blocklist correctly.
40688
40689 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
40690 Use ioctl only if the OS file is a block device.
40691 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
40692 not very useful for normal files.
40693
40694 * kern/main.c (pupa_set_root_dev): New function.
40695 (pupa_load_normal_mode): Likewise.
40696 (pupa_main): Call those above.
40697
40698 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
40699 pupa_uint16_t.
40700
40701 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
40702
a5ffe966 407032003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40704
40705 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
40706 (setup): Configure the installed partition information and the
40707 dl prefix.
40708
40709 * loader/i386/pc/chainloader.c (my_mod): New variable.
40710 (pupa_chainloader_unload): New function.
40711 (pupa_rescue_cmd_chainloader): Refer itself.
40712 (PUPA_MOD_INIT): Save its own module in MY_MOD.
40713
40714 * kern/i386/pc/startup.S (install_partition): Removed.
40715 (version_string): Likewise.
40716 (config_file): Likewise.
40717 (pupa_install_dos_part): New variable.
40718 (pupa_install_bsd_part): Likewise.
40719 (pupa_prefix): Likewise.
40720 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
40721
40722 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
40723 and pupa/misc.h.
40724 (make_install_device): New function.
40725 (pupa_machine_init): Set the dl prefix.
40726
40727 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
40728 (buf): Renamed to ...
40729 (linebuf): ... this.
40730 (pupa_rescue_cmd_prefix): New function.
40731 (pupa_rescue_cmd_insmod): Likewise.
40732 (pupa_rescue_cmd_rmmod): Likewise.
40733 (pupa_rescue_cmd_lsmod): Likewise.
40734 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
40735 rmmod and lsmod.
40736
40737 * kern/mm.c (pupa_memalign): If failed even after invalidating
40738 disk caches, unload unneeded modules and retry.
40739
40740 * kern/misc.c (pupa_memmove): New function.
40741 (pupa_memcpy): Removed.
40742 (pupa_strcpy): New function.
40743 (pupa_itoa): Made static.
40744
40745 * kern/dl.c (pupa_dl_iterate): New function.
40746 (pupa_dl_ref): Likewise.
40747 (pupa_dl_unref): Likewise.
40748 (pupa_dl_unload): Return if succeeded or not.
40749 (pupa_dl_unload_unneeded): New function.
40750 (pupa_dl_unload_all): Likewise.
40751 (pupa_dl_init): Renamed to ...
40752 (pupa_dl_set_prefix): ... this.
40753 (pupa_dl_get_prefix): New function.
40754
40755 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
40756 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
40757 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40758 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40759 (pupa_install_dos_part): Declared.
40760 (pupa_install_bsd_part): Likewise.
40761 (pupa_prefix): Likewise.
40762 (pupa_boot_drive): Likewise.
40763
40764 * include/pupa/types.h: Fix a typo.
40765
40766 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
40767 pupa_memmove.
40768 (pupa_memmove): Declared.
40769 (pupa_strcpy): Likewise.
40770
40771 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
40772 pupa_mod_init takes one argument, its own module.
40773 (pupa_dl_unload_unneeded): Declared.
40774 (pupa_dl_unload_all): Likewise.
40775 (pupa_dl_ref): Likewise.
40776 (pupa_dl_unref): Likewise.
40777 (pupa_dl_iterate): Likewise.
40778 (pupa_dl_init): Renamed to ...
40779 (pupa_dl_set_prefix): ... this.
40780 (pupa_dl_get_prefix): Declared.
40781
40782 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 40783 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 40784 unloaded.
40785 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
40786 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
40787
40788 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
40789 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
40790
012d7999 407912003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40792
40793 * util/i386/pc/pupa-setup.c (setup): Define the internal
40794 function find_first_partition_start at the top level, because GCC
40795 3.0.x cannot compile internal functions in deeper scopes
40796 correctly.
40797 (find_root_device): Use lstat instead of stat.
40798 Don't follow symbolic links.
40799 Fix the path-constructing code.
40800
40801 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
40802 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
40803 by a BLKGETSIZE ioctl first, because block devices don't fill
40804 the member st_mode of the structure stat on Linux.
40805 [__linux__] (linux_find_partition): Use a temporary buffer
40806 REAL_DEV for the working space. Copy it to DEV before returning.
40807 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
40808 buffer cache consistent.
40809 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
40810 strncmp. The previous value was merely wrong.
40811 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
40812
40813 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
40814 FAT size is 12. The previous value was merely wrong.
40815
40816 * kern/main.c (pupa_main): Don't split the starting message from
40817 newlines.
40818
40819 * kern/term.c (pupa_putchar): Put CR after LF instead of before
40820 LF, because BIOS goes crazy about character attributes in this
40821 case.
40822
1cc73a62 408232003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40824
40825 * include/i386/pc/util/biosdisk.h: New file.
40826 * util/i386/pc/biosdisk.c: Likewise.
40827 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 40828
1cc73a62 40829 * Makefile.in (INCLUDE_DISTFILES): Added
40830 include/pupa/i386/pc/util/biosdisk.h.
40831 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
40832 directory util/i386/pc.
40833 (install-local): Added a rule for sbin_UTILITIES.
40834 (uninstall): Likewise.
40835
40836 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
40837
40838 * util/misc.c (xrealloc): New function.
40839 (pupa_malloc): Likewise.
40840 (pupa_free): Likewise.
40841 (pupa_realloc): Likewise.
40842 (pupa_stop): Likewise.
40843 (pupa_putchar): Likewise.
40844
40845 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
40846
40847 * include/pupa/util/misc.h (xrealloc): Declared.
40848
40849 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
40850 macro.
40851 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
40852 (PUPA_BOOT_MACHINE_BPB_END): ... this.
40853
40854 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
40855 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40856
40857 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
40858 way should be implemented.
40859 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40860
40861 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
40862 the size of NAME for safety.
40863 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
40864 0x88.
40865
40866 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
40867 (pupa_setup_SOURCES): Likewise.
40868
40869 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
40870
08b70fe8 408712002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40872
40873 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
40874 bunch of pushl's from pusha, because this destroys the return
40875 value.
40876
62ddcc8f 408772002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40878
40879 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
40880 This means that any missing prototypes could be fatal. Also, you
40881 must take care when writing assembly code. See the comments at
40882 the beginning of startup.S, for more details.
f19dbdb7 40883
62ddcc8f 40884 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
40885 compilation mechanism.
40886 (pupa_chainloader_real_boot): Likewise.
40887 (pupa_biosdisk_rw_int13_extensions): Likewise.
40888 (pupa_biosdisk_rw_standard): Likewise.
40889 (pupa_biosdisk_check_int13_extensions): Likewise.
40890 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
40891 (pupa_biosdisk_get_diskinfo_standard): Likewise.
40892 (pupa_get_memsize): Likewise.
40893 (pupa_get_mmap_entry): Likewise.
40894 (pupa_console_putchar): Likewise.
40895 (pupa_console_setcursor): Likewise.
40896 (pupa_getrtsecs): Use pushl instead of push.
40897
40898 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
40899 memory instead of the stack for a mmap entry, because some
40900 BIOSes may ignore the maximum size and overflow.
40901
40902 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
40903
40904 * genmk.rb (PModule#rule): Compile automatically generated
40905 sources with module-specific CFLAGS as well as other sources.
40906
9962ed99 409072002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40908
40909 * configure.ac: Check ld.
40910 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
40911 respectively, before checking endianness and sizes.
40912
40913 * Makefile.in (LD): New variable.
f19dbdb7 40914
abdfc3c5 409152002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40916
40917 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
40918
6a161fa9 409192002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40920
40921 * Changelog: New file.
40922