]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* grub-core/gnulib/regcomp.c (regerror): Don't use abort on
[grub2.git] / ChangeLog
1 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
4 unexpected error.
5 (optimize_utf8): Likewise.
6 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
7
8 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
9
10 * grub-core/boot/i386/pc/lnxboot.S: Use
11 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
12 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
13 location.
14 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
15 definition.
16 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
17
18 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
19
20 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
21 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
22 now to avoid double free.
23 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
24 hostdisk.
25 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
26 * util/grub-probe.c (escape_of_path): Always return a new copy.
27 (print_full_name): Escape path.
28 (probe): Don't call grub_util_devname_to_ofpath on NULL.
29 Fix hints on abstractions.
30
31 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
32
33 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
34 Don't add "root" line if no compatibility hont is available.
35 Suggested by: Seth Goldberg.
36
37 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
38
39 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
40 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
41 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
42 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
43
44 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
45
46 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
47
48 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
49
50 * util/grub-pe2elf.c (ehdr): Make static.
51 (shdr): Likewise.
52 (num_sections): Likewise.
53 (offset): Likewise.
54
55 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
56
57 Eliminate ofpath limits and possible overflows.
58
59 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
60 (OF_PATH_MAX): Removed.
61 (MAX_DISK_CAT): New const.
62 (find_obppath): Use allocated rather than preallocated buffer.
63 Return result. Argument of_path removed. All users updated.
64 Add missing fdstat.
65 (xrealpath): New function.
66 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
67 Allocate rather than use preallocated buffer. All users updated.
68 (__of_path_common): Use allocated rather than preallocatecd buffer.
69 Return result. Argument of_path removed. All users updated.
70 (vendor_is_ATA): Read only needed part form the file.
71 (check_sas): Allocate depending on contents rather than fixed.
72 (main) [STANDALONE]: Handle NULL result.
73
74 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
75
76 * grub-core/normal/completion.c (iterate_dev): Close the disk.
77
78 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
79
80 Cryptodisk write support.
81
82 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
83 (grub_cryptodisk_decrypt): Moved logic to ...
84 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
85 (grub_cryptodisk_write): Implement.
86 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
87 (grub_util_fd_write): ... this. Make global.
88 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
89
90 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
91
92 * include/grub/list.h (grub_list_remove): Don't crash if element is
93 removed twice.
94
95 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
96
97 Rename ofconsole to console.
98
99 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
100 as sysnonym to console.
101 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
102 * grub-core/term/ieee1275/console.c: ... this. All users updated.
103 Rename grub_ofconsole_ to grub_console_. All users updated
104 (grub_console_term_output): Rename "ofconsole" to "console".
105 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
106 as "console".
107
108 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
109
110 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
111 handling.
112 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
113 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
114 GRUB_DISK_DEVICE_FILE_ID.
115
116 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
117
118 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
119 and improve performance.
120
121 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
122
123 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
124 missing ieee1275/ prefix on whole disk.
125
126 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
127
128 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
129 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
130
131 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
132
133 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
134
135 2012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
136
137 Merge common RAID and LVM logic to an abstract diskfilter.
138 Add LDM support using the same framework.
139
140 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
141 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
142 (libgrubmods): Remove grub-core/disk/raid.c and
143 grub-core/partmap/gpt.c.
144 * grub-core/Makefile.core.def (ldm): New module.
145 (raid): Renamed to diskfilter. All users updated.
146 * grub-core/disk/raid.c: Moved to ...
147 * grub-core/disk/diskfilter.c: ... here.
148 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
149 (lv_num): New var.
150 (find_array): Renamed to ...
151 (find_lv): ... this. Support multi-LV. Skip nameless LVs
152 (grub_is_array_readable): Renamed to ...
153 (grub_is_lv_readable): ... this. Support multinode hierarchy.
154 (insert_array): New argument id.
155 (is_node_readable): New function.
156 (scan_device): Rename to ...
157 (scan_disk): .. this. Restrict to one disk.
158 (scan_devices): New function.
159 (grub_diskfilter_iterate): Support multi-LV.
160 Skip invisible and nameless LVs.
161 (grub_diskfilter_memberlist): Support multi-LV.
162 (grub_diskfilter_read_node): New function.
163 (grub_raid_read): Most of logic moved to ...
164 (read_segment): ... here
165 (read_lv): New function.
166 (grub_diskfilter_get_vg_by_uuid): New function.
167 (grub_diskfilter_make_raid): Likewise.
168 * grub-core/disk/ldm.c: New file.
169 * grub-core/disk/lvm.c (vg_list): Removed.
170 (lv_count): Likewise.
171 (scan_depth): Likewise.
172 (is_lv_readable): Likewise.
173 (grub_lvm_getvalue): Advance pointer past the number.
174 (find_lv): Removed.
175 (do_lvm_scan): Refactored into ...
176 (grub_lvm_detect): ... this. Support raid.
177 (grub_lvm_iterate): Removed.
178 (grub_lvm_memberlist): Likewise.
179 (grub_lvm_open): Likewise.
180 (grub_lvm_close): Likewise.
181 (read_lv): Likewise.
182 (read_node): Likewise.
183 (is_node_readable): Likewise.
184 (is_lv_readable): Likewise.
185 (grub_lvm_read): Likewise.
186 (grub_lvm_write): Likewise.
187 (grub_lvm_dev): Use diskfilter
188 (GRUB_MOD_INIT): Likewise.
189 (GRUB_MOD_FINI): Likewise.
190 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
191 new interface.
192 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
193 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
194 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
195 grub_diskfilter_read_node.
196 Fix a bug with xor.
197 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
198 grub_diskfilter_read_node.
199 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
200 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
201 (grub_disk_dev_iterate): Move from here...
202 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
203 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
204 Make global.
205 (grub_hostdisk_find_partition_start): Likewise.
206 (grub_hostdisk_os_dev_to_grub_drive): New function.
207 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
208 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
209 * util/getroot.c (make_device_name): ... here.
210 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
211 Move to ...
212 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
213 * grub-core/kern/emu/hostdisk.c
214 (convert_system_partition_to_system_disk): Move to ...
215 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
216 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
217 * util/getroot.c (device_is_wholedisk): ... here.
218 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
219 * util/getroot.c (find_system_device): ... here.
220 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
221 Move to ...
222 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
223 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
224 Move to ...
225 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
226 Handle LDM.
227 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
228 Move to ...
229 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
230 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
231 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
232 DISKFILTER.
233 * include/grub/raid.h: Renamed to ...
234 * include/grub/diskfilter.h: ... this.
235 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
236 (GRUB_RAID_LAYOUT_*): Make into array.
237 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
238 (grub_diskfilter_vg): New struct.
239 (grub_diskfilter_pv_id): Likewise.
240 (grub_raid_member): Removed.
241 (grub_raid_array): Likewise.
242 (grub_diskfilter_pv): New struct.
243 (grub_diskfilter_lv): Likewise.
244 (grub_diskfilter_segment): Likewise.
245 (grub_diskfilter_node): Likewise.
246 (grub_diskfilter_get_vg_by_uuid): New proto.
247 (grub_raid_register): Inline.
248 (grub_diskfilter_unregister): Likewise.
249 (grub_diskfilter_make_raid): New proto.
250 (grub_diskfilter_vg_register): Likewise.
251 (grub_diskfilter_read_node): Likewise.
252 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
253 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
254 (grub_util_is_ldm): Likewise.
255 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
256 (grub_hostdisk_find_partition_start): Likewise.
257 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
258 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
259 New definition.
260 (grub_gpt_partition_map_iterate): New proto.
261 * include/grub/lvm.h (grub_lvm_vg): Removed.
262 (grub_lvm_pv): Likewise.
263 (grub_lvm_lv): Likewise.
264 (grub_lvm_segment): Likewise.
265 (grub_lvm_node): Likewise.
266 * util/getroot.c [...]
267 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
268 (probe_abstraction): Likewise.
269 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
270 (main): Remove dead logic.
271
272 2012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
273
274 Simplify root device discover and don't fail when trying to open
275 incorrect devices.
276
277 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
278 function.
279 (get_diskname_from_path): Likewise.
280 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
281 of iterating.
282
283 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
284
285 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
286
287 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
288
289 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
290 pastthe end.
291
292 2012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
293
294 * util/grub-install.in: Add missing \.
295 Reported by: gentoofan
296
297 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
298
299 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
300 (direct_read): Use correct compressed size.
301 (grub_squash_read_data): Likewise.
302
303 2012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
304
305 * docs/grub.texi (Platform limitations): New section.
306 (Platform-specific operations): Likewise.
307 * docs/grub-dev.texi (Porting): Likewise.
308
309 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
310
311 IEEE1275 disk write support.
312
313 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
314 const void *.
315 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
316 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
317 and seek loginc to ...
318 (grub_ofdisk_prepare): ... here.
319 (grub_ofdisk_write): Implement.
320
321 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
322
323 ARC disk write support.
324
325 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
326 (reopen): New argument writable. All users updated.
327 Handle required access mode.
328 (grub_arcdisk_write): Implement.
329 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
330 (grub_arc_firmware_vector): Make buffer to write a const buffer.
331
332 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
333
334 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
335 (read_sblock): Don't attempt to read superblocks outside the disk size.
336
337 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
338
339 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
340 first superblock to find the second one when possible.
341
342 2012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
343
344 * util/grub-install.in: Fix an ARC bug.
345 Print a warning if no platform-specific setup is available.
346
347 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
348
349 Use static allocation rather than scratch pointer in reed_solomon.
350 It decreases its size significantly and avoids a variable in .text.
351
352 * grub-core/lib/reed_solomon.c (scratch): Removed.
353 (chosenstat): New const or static array.
354 (sigma): Likewise.
355 (errpot): Likewise.
356 (errpos): Likewise.
357 (sy): Likewise.
358 (mstat): Likewise.
359 (errvals): Likewise.
360 (eqstat): Likewise.
361 (pol_evaluate): Replace x with log_x argument. All users updated.
362 (syndroms): Removed.
363 (gauss_solve): Use statically allocated arrays.
364 (rs_recover): Likewise.
365 Calculate syndroms directly.
366 (decode_block): Use statically allocated arrays.
367 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
368 (main) [TEST]: Allow -DTEST -DSTANDALONE.
369
370 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
371
372 Eliminate fixed limit on reed solomon decoder length.
373
374 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
375 rather than hardcoding the address.
376 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
377 no_reed_solomon_length.
378 Move gate_a20 to no-reed-solomon part.
379 Don't force a particular size of no reed-solomon part.
380 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
381 Removed.
382 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
383 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
384
385 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
386
387 * grub-core/commands/wildcard.c (match_files): Handle filenames
388 without explicit device.
389 (wildcard_expand): Don't add explicit device if not already present.
390 * tests/grub_script_echo1.in: Add a new expansion test.
391
392 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
393
394 Replace single-linked with double-linked lists. It results in more
395 compact and more efficient code.
396
397 * grub-core/kern/list.c (grub_list_push): Moved from here ...
398 * include/grub/list.h (grub_list_push): ... to here. Set prev.
399 (grub_list_remove): Moved from here ...
400 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
401 (grub_prio_list_insert): Set prev.
402 * include/grub/list.h (grub_list): Add prev. All users updated.
403
404 2012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
405
406 Handle newer autotools. Add some missing quotes while on it.
407
408 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
409 (pkglib_DATA): Move grub-mkconfig_lib from here ...
410 (pkgdata_DATA): ... here.
411 * Makefile.util.def (update-grub_lib): Removed.
412 * conf/Makefile.common (pkglib_DATA): Removed.
413 (pkglib_SCRIPTS): Likewise.
414 (pkgdata_DATA): New variable.
415 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
416 needed.
417 Add missing quotes.
418 Remove unused variable while on it.
419 * tests/util/grub-shell.in: Likewise.
420 * util/grub-install.in: Likewise.
421 * util/grub-mkconfig.in: Likewise.
422 * util/grub-mknetdir.in: Likewise.
423 * util/grub-mkrescue.in: Likewise.
424 * util/grub-mkstandalone.in: Likewise.
425 * util/grub.d/00_header.in: Likewise.
426 * util/grub.d/10_hurd.in: Likewise.
427 * util/grub.d/10_illumos.in: Likewise.
428 * util/grub.d/10_kfreebsd.in: Likewise.
429 * util/grub.d/10_linux.in: Likewise.
430 * util/grub.d/10_netbsd.in: Likewise.
431 * util/grub.d/10_windows.in: Likewise.
432 * util/grub.d/20_linux_xen.in: Likewise.
433 * util/grub.d/30_os-prober.in: Likewise.
434 * util/update-grub_lib.in: Removed.
435
436 2012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
437
438 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
439 a workaround for intel problem.
440
441 2012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
442 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
443 2012-01-23 pfsmorigo
444
445 * util/grub-install.in: Support dd'in into PreP partition.
446 * util/grub-probe.c (probe): Support discovering partition type.
447 (main): Support -t msdos_parttype.
448
449 2012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
450
451 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
452 infinite recursion using counter.
453 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
454 init to skip it if the magic check fails.
455 (dec_stream_header): Init s->crc32.
456
457 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
458 2012-01-22 Zachary Bedell <pendorbound@gmail.com>
459 2012-01-22 Richard Laager <rlaager@wiktel.com>
460
461 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
462 All users updated.
463 (find_bestub): Determine correct size.
464 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
465 (scan_disk): Align the size down.
466 Call check pool before find_bestub to have ashift.
467
468 2012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
469
470 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
471 dprintf in no-malloc zone.
472
473 2012-01-22 Mario Limonciello <mario_limonciello@dell.com>
474
475 * configure.ac: Add back in test for limits.h.
476
477 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
478
479 Support 4K-sector NTFS.
480
481 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
482 (grub_ntfs_data): Remove blocksize.
483 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
484 Remove data argument. All users updated.
485
486 2012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
487
488 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
489 being in .text to avoid dprel references.
490 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
491 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
492 (grub_arch_highmemsize): Likewise.
493 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
494 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
495 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
496
497 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
498
499 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
500
501 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
502 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
503
504 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
505
506 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
507 GRUB_UTIL.
508 (grub_set_datetime_cmos): Likewise.
509
510 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
511
512 Make XZ compression parameters dependent on target and not host CPU.
513
514 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
515 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
516
517 2012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
518
519 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
520 set but not used variable.
521
522 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
523
524 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
525 created when no uuid support is compiled into mkfs.reiser.
526
527 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
528
529 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
530 (utf8_to_macroman): Do the opposite.
531 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
532
533 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
534
535 * configure.ac: Refise build qemu_mips w/o unifont.
536
537 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
538
539 Eliminate grub_min/grub_max prone to overflow usage.
540
541 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
542 (poll_nonroot_hub): Likewise.
543 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
544 (grub_affs_label): Likewise.
545 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
546 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
547 (grub_hfs_label): Likewise.
548 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
549 * grub-core/fs/zfs/zfs.c (MIN): Remove.
550 (zap_leaf_array_equal): Use grub_size. Remove MIN.
551 (zap_leaf_array_get): Likewise.
552 (dnode_get_path): Likewise.
553 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
554 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
555 * grub-core/script/execute.c (grub_script_break): Likewise.
556 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
557 grub_max.
558 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
559 * include/grub/misc.h (grub_min): Removed.
560 (grub_max): Likewise.
561
562 2012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
563
564 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
565 direct.inode = 0.
566
567 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
568
569 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
570
571 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
572
573 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
574
575 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
576
577 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
578 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
579
580 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
581
582 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
583 rather than a hack for grub_strncasemap.
584
585 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
586
587 Support multiple initrds
588 Note: part of this was accidently committed in r3739.
589
590 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
591 initrd.
592 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
593 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
594 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
595 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
596 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
597
598 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
599
600 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
601 disks with unknown size.
602 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
603
604 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
605
606 Remove defines pertaining to arbitrary limits not affecting GRUB
607 anymore.
608
609 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
610 (EXT2_MAX_SYMLINKCNT): Likewise.
611 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
612 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
613 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
614 (GRUB_PXE_MAX_BLKSIZE): Likewise.
615 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
616 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
617 (DN_MAX_OBJECT_SHIFT): Likewise.
618 (DN_MAX_OFFSET_SHIFT): Likewise.
619 (DN_MAX_OBJECT): Likewise.
620 (DNODES_PER_LEVEL_SHIFT): Likewise.
621 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
622 (SPA_MAXBLOCKSIZE): Likewise.
623 (SPA_BLOCKSIZES): Likewise.
624 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
625 (MZAP_MAX_BLKSZ): Likewise.
626
627 2012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
628
629 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
630 handle NULL appropriately.
631 Remove MIN.
632
633 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
634
635 Fix efiemu.
636
637 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
638 cpu/types.h.
639 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
640 * configure.ac: Fix efiemu check.
641
642 2012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
643
644 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
645 grub_probe.
646 Reported by: adamwill
647
648 2012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
649
650 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
651
652 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
653
654 Fix handling of wide characters in gfxterm.
655
656 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
657 (clear_char): Likewise.
658 (paint_char): Skip code == NULL chars.
659 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
660
661 2012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
662
663 * grub-core/normal/charset.c: Move comment to right place.
664
665 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
666
667 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
668 (GRUB_AFFS_FLAG_FFS): Put back where it was.
669 (grub_affs_mount): Revert the correct version checking.
670
671 2012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
672
673 * docs/grub.texi (Unicode): Mention several other unsupported features.
674
675 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
676
677 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
678 case statements as compile-time one.
679 (direct_read): Prevent spurious warnings.
680 (grub_squash_read_data): Likewise.
681
682 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
683
684 Various squash4 fixes and LZO and XZ support.
685
686 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
687 Add xzembed source files.
688 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
689 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
690 (grub_squash_inode): New subtype long_dir.
691 (SQUASH_TYPE_LONG_DIR): New inode type.
692 (COMPRESSION): New enum.
693 (XZBUFSIZ): New const.
694 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
695 (read_chunk): Use data->decompress.
696 (zlib_decompress): New function.
697 (lzo_decompress): Likewise.
698 (xz_decompress): Likewise.
699 (squash_mount): Set new data fields.
700 (grub_squash_iterate_dir): Handle long dir.
701 (squash_unmount): Free xzdec and xzbuf.
702 (grub_squash_open): Check ino type.
703 (direct_read): Stylistic fixes. Use data->decompress.
704 (grub_squash_read_data): Likewise.
705 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
706 (get_byte): Likewise.
707 (grub_zlib_disk_read): Removed.
708 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
709 (GRUB_POSIX_BOOL_DEFINED): New define.
710 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
711 * grub-core/lib/xzembed/xz.h: Addmissing includes.
712 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
713 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
714
715 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
716
717 Don't override more informative errors.
718
719 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
720 * grub-core/font/font.c (open_section): Likewise.
721 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
722 filename. Don't override errors.
723 (grub_cmd_openbsd_ramdisk): Don't override errors.
724 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
725 (grub_cmd_initrd): Likewise.
726 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
727 (grub_cmd_initrd): Likewise.
728 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
729 (grub_cmd_linux): Likewise.
730 (grub_cmd_initrd): Likewise.
731 (grub_cmd_payload): Likewise.
732 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
733 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
734 (grub_cmd_module): Likewise.
735 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
736 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
737 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
738 (grub_cmd_xnu_mkext): Likewise.
739 (grub_cmd_xnu_ramdisk): Likewise.
740 (grub_xnu_check_os_bundle_required): Likewise.
741 (grub_xnu_load_kext_from_dir): Likewise.
742 (grub_cmd_xnu_kextdir): Likewise.
743 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
744
745 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
746
747 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
748 as 1024 in block size field. Found on one of my test images.
749 Small optimisation while on it.
750
751 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
752
753 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
754 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
755 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
756 performance fixes while on it.
757 (grub_sfs_close): Fix memory leak while on it.
758 (grub_sfs_label): Convert Latin1 to UTF-8.
759
760 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
761
762 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
763 space to avoid overflows.
764 (grub_hfs_label): Convert from macroman to UTF-8.
765
766 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
767
768 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
769
770 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
771
772 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
773
774 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * unicode: Import Unicode 6.0 data.
777
778 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
779
780 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
781 outside of range.
782
783 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
784
785 Avoid cutting in the middle of UTF-8 character.
786
787 * include/grub/charset.h (grub_getend): New function.
788 * grub-core/script/function.c (grub_script_function_find): Use
789 grub_getend.
790 * grub-core/normal/completion.c (add_completion): Likewise.
791
792 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
793
794 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
795 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
796 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
797 (GRUB_UNICODE_TAG_END): Likewise.
798 (GRUB_UNICODE_LAST_VALID): Likewise.
799
800 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
801
802 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
803 len and make it smaller. All users updated.
804 * util/import_unicode.py: Put length and not end character.
805 Check length.
806
807 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
808
809 Make better Unicode-compliant and unify some UTF-8 code pathes.
810
811 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
812 valid character.
813 (grub_is_valid_utf8): Use grub_utf8_process.
814 Check resulting code range.
815 (grub_utf8_to_ucs4): Use grub_utf8_process.
816 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
817 valid character.
818
819 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
820
821 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
822
823 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
824
825 * docs/grub.texi (Filesystems): Mention AFS.
826
827 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
828
829 * docs/grub.texi (Filesystems): Clarify restrictions.
830 (Regexp): Mention non-Unicode regexp behaviour.
831 (Other): Mention non-Unicode matching behaviour.
832
833 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
834
835 Make HFS implementation use MacRoman.
836
837 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
838 (macroman): New const array.
839 (macroman_to_utf8): New function.
840 (utf8_to_macroman): Likewise.
841 (grub_hfs_find_dir): Use utf8_to_macroman.
842 (grub_hfs_dir): Use macroman_to_utf8.
843 Set case_insensitive.
844
845 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
846
847 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
848
849 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
850
851 Integrate hints into autogeneration scripts.
852
853 * docs/grub.texi (Filesystems): Add a hostdisk example.
854 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
855 (grub-probe): Add ofpath.
856 * gentpl.py: Remove group nosparc64.
857 * grub-core/commands/search.c (cache_entry): New struct.
858 (cache): New var.
859 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
860 * grub-core/commands/search_wrap.c (options): Add platform-specific
861 hint options.
862 (grub_cmd_search): Handle platform-specific hints.
863 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
864 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
865 (grub_util_biosdisk_data): Likewise.
866 (grub_util_biosdisk_open): Set device_map.
867 (read_device_map): Handle "" as indication of no map.
868 Set device_map.
869 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
870 (grub_util_biosdisk_get_compatibility_hint): New function.
871 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
872 * include/grub/emu/hostdisk.h
873 (grub_util_biosdisk_get_compatibility_hint): New proto.
874 * util/grub-install.in: Don't call grub-mkdevicemap.
875 Add platform-specific hint to load.cfg.
876 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
877 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
878 hints. Set root preliminary to compatibility hint, not to OS name.
879 * util/grub-probe.c (PRINT_*): Add hints.
880 (print): Make static.
881 (escape_of_path): New function.
882 (guess_bios_drive): Likewise.
883 (guess_efi_drive): Likewise.
884 (guess_baremetal_drive): Likewise.
885 (print_full_name): Likewise.
886 (probe): Handle hints.
887 (main): Likewise.
888 * util/ieee1275/devicemap.c: Removed.
889 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
890 updated.
891 (grub_util_devname_to_ofpath): Return NULL on failure.
892
893 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
894 resource leak.
895 * util/getroot.c (grub_util_pull_device): Fix memory leak.
896
897 * po/POTFILES.in: Regenerated.
898
899 Allow purely long options
900
901 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
902 (SHORT_ARG_USAGE): Likewise.
903 (grub_arg_show_help): Compare opt with help_options.
904 (parse_option): Receive opt as argument. If makes big simplificatons.
905 All users updated
906
907 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
908
909 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
910 Restructure to avoid warning.
911
912 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
913
914 * util/grub-install.in: Account for possible escaped comma in device
915 name.
916
917 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
920 channel.
921
922 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
923
924 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
925 allocation and zero-setting.
926 (grub_ieee1275_get_devname): Check that alias is complete.
927
928 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
929
930 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
931 unaligned segments.
932
933 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
934
935 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
936 prefix.
937 (grub_ofdisk_open): Check and discard ieee1275 prefix.
938 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
939 Add ieee1275 prefix.
940
941 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
942
943 * docs/grub.texi (Filesystems): Update.
944
945 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
946
947 Support odc, newc and bigendian cpio formats.
948
949 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
950 * grub-core/Makefile.core.def (newc): New module.
951 (odc): Likewise.
952 (cpio_be): Likewise.
953 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
954 (MAGIC): Likewise.
955 (MAGIC2): Likewise.
956 (head) [MODE_ODC]: Adapt for the format.
957 (head) [MODE_NEWC]: Likewise.
958 (head) [!MODE_*]: Write fields of interest as arrays.
959 (MAGIC_USTAR): Removed.
960 (read_number) [MODE_NEWC]: Change to hex.
961 (read_number) [!MODE_*]: Parse binary arrays.
962 (grub_cpio_find_file): Factor out the code for better structure and
963 always use read_number.
964 (grub_cpio_mount): Use MAGIC and MAGIC2.
965 (grub_cpio_dir): Exit on first hook non-0 return.
966 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
967 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
968 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
969 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
970 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
971 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
972 * grub-core/fs/newc.c: New file.
973 * grub-core/fs/odc.c: Likewise.
974 * grub-core/fs/cpio_be.c: Likewise.
975
976 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
977
978 Fix handling of tar numbers occupying the whole field.
979
980 * grub-core/fs/cpio.c (read_number): New function.
981 (grub_cpio_find_file): Use read_number instead of strtoull.
982
983 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
984
985 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
986 occupying the whole field size.
987
988 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
989
990 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
991
992 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
993
994 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
995
996 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
997
998 * grub-core/Makefile.core.def (lzma_decompress): Add missing
999 TARGET_IMG_LDFLAGS.
1000
1001 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1002
1003 * util/getroot.c (ESCAPED_PATH_MAX): New define.
1004 (mountinfo_entry): Increase the field size to take escaping into
1005 account.
1006 (find_root_device_from_libzfs): Add one byte to size of strings for
1007 security.
1008
1009 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1010
1011 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
1012 an assert.
1013 * util/grub-setup.c (setup): Likewise.
1014
1015 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
1016
1017 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
1018 _LzmaDecodeA.
1019
1020 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1021
1022 * docs/grub.texi (Internationalisation): New section.
1023
1024 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
1025
1026 * docs/grub.texi (Loopback booting): New section.
1027
1028 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
1029
1030 * util/grub-mkstandalone.in: Fix minor typo errors.
1031
1032 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
1033
1034 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
1035
1036 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
1037 net/icmp.c and net/icmp6.c.
1038 (http): New module.
1039 (priority_queue): Likewise.
1040 * grub-core/io/bufio.c: Rewritten.
1041 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
1042 TYPE_WITH_CONFIGFILE_OPTION.
1043 (legacy_commands): Add bootp and dhcp.
1044 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
1045 (grub_legacy_parse): Likewise.
1046 * grub-core/lib/priority_queue.c: New file.
1047 * grub-core/net/arp.c: Add missing license header.
1048 (arp_find_entry): Removed.
1049 (arp_find_entry): Likewise.
1050 (grub_net_arp_resolve): Rename to ...
1051 (grub_net_arp_send_request): ...this.
1052 (grub_net_arp_receive): New card argument.
1053 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
1054 Set router and DNS server.
1055 (grub_net_configure_by_dhcp_ack): Handle routing information.
1056 (grub_cmd_bootp): Set checksum.
1057 (grub_bootp_init): Remove net_dhcp.
1058 * grub-core/net/dns.c: New file.
1059 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
1060 completion.
1061 (get_card_packet): Handle allocation.
1062 (grub_efinet_findcards): Set mtu.
1063 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
1064 (get_card_packet): Handle allocation.
1065 (emucard): Set mtu.
1066 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
1067 (GRUB_MOD_INIT): Set mtu.
1068 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
1069 mtu.
1070 (get_card_packet): Handle allocation.
1071 (grub_ofnet_findcards): Set mtu.
1072 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
1073 assert.
1074 (grub_net_recv_ethernet_packet): Handle IPv6.
1075 * grub-core/net/http.c: New file.
1076 * grub-core/net/icmp.c: Likewise.
1077 * grub-core/net/icmp6.c: Likewise.
1078 * grub-core/net/ip.c (ip6addr): New type.
1079 (ip6hdr): Likewise.
1080 (reassemble): Likewise.
1081 (cmp): New function.
1082 (reassembles): New variable.
1083 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
1084 (id): New variable.
1085 (send_fragmented): New function.
1086 (grub_net_send_ip_packet): Rename to ...
1087 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
1088 Handle non-UDP.
1089 (grub_net_recv_ip_packets): Rename to ...
1090 (handle_dgram): ... this. Check checksum. Handle non-UDP.
1091 (free_rsm): New function.
1092 (free_old_fragments): Likewise.
1093 (grub_net_recv_ip4_packets): New function.
1094 (grub_net_send_ip6_packet): Likewise.
1095 (grub_net_send_ip_packet): Likewise.
1096 (grub_net_recv_ip6_packets): Likewise.
1097 (grub_net_recv_ip_packets): Likewise.
1098 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
1099 (LINK_LAYER_CACHE_SIZE): New const.
1100 (link_layer_find_entry): New function.
1101 (grub_net_link_layer_add_address): Likewise.
1102 (grub_net_link_layer_resolve_check): Likewise.
1103 (grub_net_link_layer_resolve): Likewise.
1104 (grub_net_ipv6_get_slaac): Likewise.
1105 (grub_net_ipv6_get_link_local): Likewise.
1106 (grub_cmd_ipv6_autoconf): Likewise.
1107 (parse_ip): Handle one number representation.
1108 (parse_ip6): New functoion.
1109 (match_net): Handle IPv6.
1110 (grub_net_resolve_address): Handle IPv6 and DNS.
1111 (grub_net_resolve_net_address): Handle IPv6.
1112 (route_cmp): New function.
1113 (grub_net_route_address): Find best route.
1114 (grub_net_addr_to_str): Handle IPv6.
1115 (grub_net_addr_cmp): New function.
1116 (grub_net_add_addr): Register local route.
1117 (print_net_address): Handle net address.
1118 (grub_net_poll_cards): Retransmit TCP.
1119 (grub_net_poll_cards_idle_real): Likewise.
1120 (have_ahead): New function.
1121 (grub_net_seek_real): Use underlying seek.
1122 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
1123 * grub-core/net/tcp.c: New file.
1124 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
1125 (cmp): New function.
1126 (ack): Likewise.
1127 (tftp_receive): Handle unordered input.
1128 (destroy_pq): New function.
1129 (tftp_close): Close pq.
1130 * grub-core/net/udp.c: Put missing license header.
1131 (grub_net_udp_socket): New function.
1132 (udp_socket_register): Likewise.
1133 (grub_net_udp_close): Likewise.
1134 (grub_net_recv_udp_packet): Check checksum.
1135 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
1136 * include/grub/misc.h (grub_memchr): New function.
1137 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
1138 (grub_net_card_driver): Return buf in recv.
1139 (grub_net_slaac_mac_list): New struct.
1140 (grub_network_level_protocol_id): Add ipv6.
1141 (grub_net_network_level_addr): Likewise.
1142 (grub_net_network_level_net_addr): Likewise.
1143 (grub_net_app_protocol): Add seek.
1144 (grub_net_socket): Removed.
1145 (grub_net_sockets): Likewise.
1146 (grub_net_socket_register): Likewise.
1147 (grub_net_socket_unregister): Likewise.
1148 (FOR_NET_SOCKETS): Likewise.
1149 (grub_net_add_addr): Add const.
1150 (GRUB_NET_BOOTP_*): New enum.
1151 (grub_net_addr_cmp): New proto.
1152 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
1153 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
1154 (grub_net_hwaddr_to_str): NEw proto.
1155 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
1156 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
1157 (grub_dns_init): New proto.
1158 (grub_dns_fini): Likewise.
1159 (grub_net_tcp_retransmit): Likewise.
1160 (grub_net_link_layer_add_address): Likewise.
1161 (grub_net_link_layer_resolve_check): Likewise.
1162 (grub_net_link_layer_resolve): Likewise.
1163 (grub_net_dns_lookup): Likewise.
1164 (grub_net_add_dns_server): Likewise.
1165 (grub_net_remove_dns_server): Likewise.
1166 (GRUB_NET_TRIES): New const.
1167 (GRUB_NET_INTERVAL): Likewise.
1168 * include/grub/net/arp.h: Mostly rewritten.
1169 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
1170 * include/grub/net/ip.h: Mostly rewritten.
1171 * include/grub/net/netbuff.h: Indent.
1172 * include/grub/net/tcp.h: New file.
1173 * include/grub/net/udp.h: Mostly rewritten.
1174 * include/grub/priority_queue.h: New file.
1175 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
1176 (grub_swap_bytes64_compile_time): Likewise.
1177 (grub_cpu_to_be16_compile_time): Likewise.
1178 (grub_cpu_to_be32_compile_time): Likewise.
1179 (grub_cpu_to_be64_compile_time): Likewise.
1180 (grub_be_to_cpu64_compile_time): Likewise.
1181
1182 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
1183
1184 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
1185 UINT_TO_PTR with cast.
1186
1187 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1188
1189 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
1190 don't use them.
1191
1192 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
1195 already there.
1196
1197 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
1200 confusing ipxe.
1201
1202 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
1205 Add missing const attribute.
1206 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
1207 Likewise.
1208 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
1209 Likewise.
1210
1211 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1212
1213 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
1214 misaligned access.
1215 (serpent_setkey): Likewise.
1216 (serpent_encrypt_internal): Likewise.
1217 (serpent_decrypt_internal): Likewise.
1218 (serpent_encrypt): Don't put an alignment-increasing cast.
1219 (serpent_decrypt): Likewise.
1220 (serpent_test): Likewise.
1221
1222 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1223
1224 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
1225
1226 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1227
1228 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
1229
1230 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
1231 grub_addr_t casts.
1232 (PTR_TO_UINT64): Likewise.
1233 (PTR_TO_UINT32): Likewise.
1234
1235 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1236
1237 * util/grub-mkimage.c (generate_image): Decrease the higher limit
1238 because of stack.
1239 * util/grub-setup.c (setup): Don't add redundancy past the higher load
1240 limit.
1241
1242 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1243
1244 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
1245 text_width > available width a bit more gracefully.
1246
1247 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1248
1249 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
1250 current address calculation.
1251
1252 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1253
1254 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
1255 stack.
1256 (encode_block): Likewise.
1257
1258 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1259
1260 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
1261 certainety.
1262
1263 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1264
1265 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
1266 non-RS part to avoid RS messing with GDT.
1267 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
1268 Increase to suit in realmode routines.
1269
1270 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
1271
1272 * grub-core/kern/i386/realmode.S: Increase alignment.
1273 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
1274
1275 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
1278 be deterministic.
1279 (syndroms): Compute 0 syndrom.
1280 (rs_recover): Use 0 syndrom.
1281
1282 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1283
1284 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
1285
1286 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1287
1288 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
1289 brackets.
1290
1291 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1292
1293 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
1294 account.
1295 (get_top_pad): Likewise.
1296 (get_right_pad): Likewise.
1297 (get_bottom_pad): Likewise.
1298
1299 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1300
1301 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
1302
1303 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1304
1305 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
1306 attribute as the structure isn't guaranteed to be properly aligned.
1307 (grub_efi_pci_device_path): Likewise.
1308 (grub_efi_pccard_device_path): Likewise.
1309 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
1310 specify the size of `memory_type'.
1311 (grub_efi_vendor_device_path): Likewise.
1312 (grub_efi_controller_device_path): Likewise.
1313 (grub_efi_acpi_device_path): Likewise.
1314 (grub_efi_expanded_acpi_device_path): Likewise.
1315 (grub_efi_atapi_device_path): Likewise.
1316 (grub_efi_scsi_device_path): Likewise.
1317 (grub_efi_fibre_channel_device_path): Likewise.
1318 (grub_efi_1394_device_path): Likewise.
1319 (grub_efi_usb_device_path): Likewise.
1320 (grub_efi_usb_class_device_path): Likewise.
1321 (grub_efi_i2o_device_path): Likewise.
1322 (grub_efi_mac_address_device_path): Likewise.
1323 (grub_efi_ipv4_device_path): Likewise.
1324 (grub_efi_ipv6_device_path): Likewise.
1325 (grub_efi_infiniband_device_path): Likewise.
1326 (grub_efi_uart_device_path): Likewise.
1327 (grub_efi_vendor_messaging_device_path): Likewise.
1328 (grub_efi_hard_drive_device_path): Likewise.
1329 (grub_efi_cdrom_device_path): Likewise.
1330 (grub_efi_vendor_media_device_path): Likewise.
1331 (grub_efi_file_path_device_path): Likewise.
1332 (grub_efi_protocol_device_path): Likewise.
1333 (grub_efi_piwg_device_path): Likewise.
1334 (grub_efi_bios_device_path): Likewise.
1335
1336 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1337
1338 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
1339 (grub_ucs4_to_utf8_alloc): Likewise.
1340 (grub_ucs4_to_utf8): Likewise.
1341 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
1342 (grub_ucs4_to_utf8_alloc): Likewise.
1343
1344 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 AFFS never uses unicode.
1347
1348 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
1349 (grub_latin1_to_utf8): New inline function.
1350 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
1351
1352 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1353
1354 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
1355 overflow.
1356
1357 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1358
1359 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
1360 (grub_squash_dirent_header): Likewise.
1361 (read_chunk): Don't double swap.
1362 (grub_squash_iterate_dir): Fix swap sizes.
1363
1364 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1365
1366 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
1367
1368 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1369
1370 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
1371 (grub_hfs_iterate_dir): Likewise.
1372
1373 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1374
1375 Fix video on platforms where unaligned access is forbidden.
1376 Make several optimisations while on it.
1377
1378 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
1379 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1380 (grub_video_fbblit_replace_32bit_1bit): Likewise.
1381 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
1382 Disable.
1383 (grub_video_fbblit_replace_16bit_1bit):
1384 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1385 (grub_video_fbblit_replace_8bit_1bit): Likewise.
1386 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
1387 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
1388 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
1389 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
1390 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
1391 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
1392 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
1393 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
1394 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
1395 (grub_video_fbblit_replace_index_RGB888): Likewise.
1396 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
1397 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
1398 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
1399 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
1400 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
1401 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
1402 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
1403 Disable.
1404 (grub_video_fbblit_blend_XXX565_1bit):
1405 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
1406 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
1407 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
1408 void *.
1409 * grub-core/video/fb/video_fb.c (common_blitter)
1410 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
1411 (grub_video_fb_create_render_target_from_pointer)
1412 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
1413 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
1414 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
1415 definition.
1416 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
1417
1418 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1419
1420 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
1421 HH22 and HM10 relocations.
1422
1423 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1424
1425 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
1426
1427 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1428
1429 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
1430 allocation succeeded.
1431
1432 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1433
1434 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
1435 argument a u8 pointer. All users updated.
1436 Handle unaligned buffers.
1437
1438 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1439
1440 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
1441 add_part to workaround compiler bug.
1442
1443 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1444
1445 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
1446
1447 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1448
1449 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
1450 Reserve alignment invariants.
1451 (grub_multiboot_load): Likewise.
1452 (retrieve_video_parameters): Likewise.
1453 (grub_multiboot_make_mbi): Likewise.
1454
1455 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1456
1457 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
1458 incorrect pointer.
1459
1460 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1461
1462 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
1463 (grub_pata_pio_write): Likewise.
1464
1465 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1466
1467 Add noreturn attributes and remove unreachable code.
1468
1469 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
1470 code.
1471 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
1472 code. Mark as noreturn.
1473 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
1474 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
1475 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
1476 unreachable code.
1477 * grub-core/kern/main.c (grub_main): Mark as noreturn.
1478 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
1479 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
1480 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
1481 * include/grub/kernel.h (grub_main): Mark as noreturn.
1482 * include/grub/reader.h (grub_rescue_run): Likewise.
1483
1484 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1485
1486 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
1487 redundant declaration.
1488
1489 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1490
1491 * include/grub/net.h (grub_net_network_level_interfaces): Remove
1492 redundant declaration.
1493 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
1494
1495 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1496
1497 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
1498 to ensure alignment.
1499 (grub_hdparm_print_identify): Make argument uint16 * to ensure
1500 alignment. Ensure tmp alignment.
1501 (grub_cmd_hdparm): Ensure buf alignment.
1502 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
1503 to ensure alignment.
1504 (grub_ata_dumpinfo): Ensure text alignment.
1505 (grub_atapi_identify): Preserve alignment invariant.
1506 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
1507
1508 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1509
1510 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
1511 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
1512 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
1513 * include/grub/misc.h (grub_reboot)
1514 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
1515 (grub_halt) [__mips__]: Likewise.
1516
1517 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
1520 Remove redundant declaration.
1521 (grub_mmap_get_post64): Likewise.
1522 (grub_mmap_get_upper): Likewise.
1523 (grub_mmap_get_lower): Likewise.
1524
1525 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
1528 uint32_t * to ensure alignment.
1529 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
1530
1531 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1532
1533 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
1534 uint16_t * to ensure alignment.
1535 (sun_pc_partition_map_iterate): Make `block' a union to ensure
1536 alignment.
1537
1538 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1539
1540 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
1541 to ensure alignment.
1542 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
1543
1544 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1545
1546 * grub-core/fs/ntfs.c (u16at): Make into inline function.
1547 Handle unaligned pointers.
1548 (u32at): Likewise.
1549 (u64at): Likewise.
1550 (fixup): Use byte access instead of v16at.
1551 (find_attr): Fix imporper usage of v32at.
1552 (read_data): Likewise.
1553 (list_file): Handle byte-swapping and unaligned strings.
1554 (grub_ntfs_label): Likewise.
1555
1556 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
1559 as it's not necessarily aligned.
1560
1561 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
1564 redundant declaration.
1565 (grub_serial_init): Likewise.
1566 (grub_terminfo_init): Likewise.
1567
1568 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1569
1570 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
1571 function.
1572 (ZAP_HASH_IDX): Likewise.
1573 (ZAP_LEAF_HASH_SHIFT): Likewise.
1574 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
1575 (LEAF_HASH): Likewise.
1576 (ZAP_LEAF_NUMCHUNKS): Likewise.
1577 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
1578 alignment invariants. Return pointer. All users updated.
1579 (ZAP_LEAF_ENTRY): Make into inline function.
1580 (NBBY): Removed.
1581 (xor): LIkewise.
1582 (xor_out): Use grub_crypto_xor.
1583 (dnode_get_path): Use grub_get_unaligned.
1584 (nvlist_find_value): Likewise.
1585 (grub_zfs_nvlist_lookup_uint64): Likewise.
1586 (grub_zfs_nvlist_lookup_string): Likewise.
1587 (get_nvlist_size): Likewise.
1588 (grub_zfs_open): Likewise.
1589 (fill_fs_info): Likewise.
1590 (grub_zfs_dir): Likewise.
1591 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
1592 alignment invariants.
1593 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
1594 necessarily aligned.
1595
1596 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1597
1598 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
1599
1600 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1601
1602 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
1603 arithmetic to conserve alignment invariants.
1604
1605 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
1608 redundant declaration.
1609 (grub_efiemu_mm_obtain_request): Likewise.
1610 (grub_efiemu_prepare): Likewise.
1611
1612 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1613
1614 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
1615 to match types.
1616
1617 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
1620 case of aunaligned recptr.
1621 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
1622 alignment.
1623 (grub_hfsplus_btree_search): Handle unaligned index.
1624
1625 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1626
1627 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
1628 to get freetag and skip.
1629
1630 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1631
1632 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
1633 array.
1634 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
1635 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
1636
1637 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1638
1639 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
1640 name for checksum and fix allocation algorithm.
1641
1642 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 * include/grub/types.h (grub_properly_aligned_t): New type.
1645 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
1646 (grub_get_unaligned16): Add explicit casts.
1647 (grub_get_unaligned32): Likewise.
1648 (grub_get_unaligned64): Likewise.
1649 (grub_set_unaligned16): New function.
1650 (grub_set_unaligned32): Likewise.
1651
1652 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1653
1654 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
1655
1656 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1657
1658 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
1659 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
1660 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
1661
1662 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1663
1664 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
1665 conditionals.
1666
1667 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1668
1669 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
1670 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
1671
1672 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1673
1674 Unify and improve RAID and crypto xor.
1675
1676 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
1677 changed to grub_crypto_xor
1678 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
1679 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
1680 Use bigger types when possible.
1681
1682 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1683
1684 * grub-core/disk/raid.c (scan_devices): Fix condition.
1685
1686 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1687
1688 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
1689 Make name a const ptr.
1690
1691 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1692
1693 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
1694 first argument a const pointer.
1695 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
1696 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
1697 proto.
1698 (grub_children_iterate): Likewise.
1699 (grub_machine_mmap_iterate): Remove redundant declaration.
1700
1701 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1702
1703 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
1704 (grub_cmd_acpi) [!x86]: Disable EBDA.
1705
1706 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1707
1708 Enable UTF8 in gnulib regexp.
1709
1710 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
1711 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
1712 (isupper): Use grub_isupper.
1713 (isascii): New inline function.
1714 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
1715 * grub-core/lib/posix_wrap/wctype.h: Likewise.
1716 * grub-core/normal/charset.c (grub_utf8_process): New function.
1717 (grub_utf8_to_utf16): Use grub_utf8_process.
1718 (grub_encode_utf8_character): New function.
1719 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
1720 * include/grub/charset.h (grub_utf8_process): New declaration.
1721 (grub_encode_utf8_character): Likewise.
1722 * include/grub/misc.h (grub_islower): New inline function.
1723 (grub_isupper): Likewise.
1724 (grub_strchrsub): Moved down to fix the definitions.
1725
1726 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
1729 specification.
1730
1731 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1732
1733 * include/grub/loader.h (grub_loader_register_preboot_hook):
1734 Use struct preboot * and not void * for handle. All users updated.
1735 (grub_loader_unregister_preboot_hook): Likewise.
1736
1737 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
1738
1739 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
1740 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
1741 UTF-16-BE. All users updated.
1742 (grub_hfsplus_cmp_catkey): Fix unicode handling.
1743 (grub_hfsplus_iterate_dir): Likewise.
1744 (grub_hfsplus_label): Likewise.
1745
1746 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
1747
1748 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
1749
1750 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1751
1752 Add missing const qualifiers.
1753
1754 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
1755 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
1756 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
1757 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
1758 (grub_lvm_check_flag): Likewise.
1759 * grub-core/efiemu/i386/coredetect.c
1760 (grub_efiemu_get_default_core_name): Likewise
1761 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
1762 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
1763 * grub-core/fs/ntfs.c (fixup): Likewise.
1764 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
1765 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
1766 (fzap_lookup): Likewise.
1767 (zap_lookup): Likewise.
1768 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
1769 * grub-core/lib/legacy_parse.c (check_option): Likewise.
1770 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
1771 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
1772 (grub_freebsd_add_meta_module): Likewise.
1773 (grub_cmd_freebsd_module): Likewise.
1774 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
1775 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
1776 (grub_xnu_writetree_get_size): Likewise.
1777 (grub_xnu_writetree_toheap_real): Likewise.
1778 (grub_xnu_find_key): Likewise.
1779 (grub_xnu_create_key): Likewise.
1780 (grub_xnu_create_value): Likewise.
1781 (grub_xnu_register_memory): Likewise.
1782 (grub_xnu_check_os_bundle_required): Likewise.
1783 (grub_xnu_scan_dir_for_kexts): Likewise.
1784 (grub_xnu_load_kext_from_dir): Likewise.
1785 * grub-core/normal/color.c (color_list): Likewise.
1786 * grub-core/normal/completion.c (current_word): Likewise.
1787 * grub-core/normal/menu_entry.c (insert_string): Likewise.
1788 * grub-core/term/serial.c (grub_serial_find): Likewise.
1789 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
1790 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
1791 Likewise.
1792 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
1793 (grub_freebsd_add_meta_module): Likewise.
1794 * include/grub/lib/arg.h (grub_arg_option): Likewise.
1795 * include/grub/net.h (grub_net_card_driver): Likewise.
1796 (grub_net_card): Likewise.
1797 (grub_net_app_protocol): Likewise.
1798 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
1799 * include/grub/serial.h (grub_serial_find): Likewise.
1800 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
1801 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
1802 (grub_xnu_create_value): Likewise.
1803 (grub_xnu_find_key): Likewise.
1804 (grub_xnu_scan_dir_for_kexts): Likewise.
1805 (grub_xnu_load_kext_from_dir): Likewise.
1806
1807 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
1808 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
1809 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
1810 Moved from here ...
1811 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
1812
1813 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
1814
1815 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
1816
1817 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1818
1819 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
1820 (read_device): Fix size calculation.
1821
1822 2011-11-25 Robert Millan <rmh@gnu.org>
1823
1824 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
1825 (find_root_device_from_libzfs): Add zpool output parser to be used
1826 as fallback when libzfs isn't available.
1827
1828 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
1829
1830 * po/Makefile.in.in: Add missing escape-continuation.
1831
1832 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1833
1834 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
1835
1836 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1837
1838 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
1839
1840 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1841
1842 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
1843
1844 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1845
1846 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
1847
1848 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 * grub-core/lib/adler32.c: Add missing license specification.
1851 * grub-core/lib/crc64.c: Likewise.
1852 * grub-core/loader/i386/pc/plan9.c: Likewise.
1853 * grub-core/partmap/plan.c: Likewise.
1854
1855 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
1856
1857 Add facility to debug GRUB with gdb under qemu.
1858
1859 * grub-core/gdb_grub.in: New file.
1860 * grub-core/gmodule.pl.in: Likewise.
1861 * grub-core/Makefile.core.def (gmodule.pl): New script.
1862 (gdb_grub): Likewise.
1863
1864 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1865
1866 * util/grub-mount.c (argp_parser): Accept relative pathes.
1867 * util/grub-fstest.c (argp_parser): Likewise.
1868
1869 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1870
1871 Plan9 support.
1872
1873 * Makefile.util.def (libgrubmods): Add
1874 grub-core/partmap/plan.c.
1875 * docs/grub.texi: Notice Plan9 support.
1876 * grub-core/Makefile.core.def (plan9): New module.
1877 (part_plan): Likewise.
1878 * grub-core/loader/i386/pc/plan9.c: New file.
1879 * grub-core/partmap/plan.c: Likewise.
1880 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
1881 define.
1882 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
1883 * include/grub/mm.h (grub_extend_alloc): New inline function.
1884
1885 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1886
1887 Make Reed-Solomon faster by using power of generator representation of
1888 GF(256)*.
1889
1890 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
1891 (gf_double_t): Likewise.
1892 (gf_invert): Removed.
1893 (gf_powx): New array.
1894 (gf_powx_inv): Likewise.
1895 (scratch): Move higher.
1896 (gf_reduce): Removed.
1897 (gf_mul): Use powx.
1898 (gf_invert): Likewise.
1899 (init_inverts): Replaced with ...
1900 (init_powx): ...this. All users updated.
1901 (pol_evaluate): Replace multiplications with additions.
1902 (rs_encode): Likewise.
1903 (gauss_eliminate): Call gf_invert.
1904 (grub_reed_solomon_add_redundancy): Call init_powx.
1905 (grub_reed_solomon_recover): Call init_powx unconditionally.
1906
1907 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1908
1909 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
1910
1911 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1912
1913 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
1914 disk->partiton for safety.
1915
1916 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1917
1918 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
1919 Fix a memory leak.
1920 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
1921
1922 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
1925
1926 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1927
1928 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
1929
1930 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1931
1932 Fix spaces handling in proc/self/mountinfo.
1933
1934 * util/getroot.c (unescape): New function.
1935 (grub_find_root_device_from_mountinfo): Use unescape.
1936
1937 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1938
1939 Support ZFS embedding.
1940
1941 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
1942 (grub_zfs_fs): Register grub_zfs_embed.
1943
1944 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1945
1946 Fix MIPS compilation.
1947
1948 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
1949 * include/grub/offsets.h: Rename decompressor fields from
1950 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
1951 * util/grub-mkimage.c (image_targets): Use new names.
1952
1953 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1954
1955 Defer multiboot device parsing until we're in compressed part.
1956
1957 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
1958 bsd_part. setdevice has fallen into disuse.
1959 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
1960 (bsd_part): Likewise.
1961 (boot_dev): New variable.
1962 (multiboot_trampoline): Don't parse multiboot device.
1963 Pass multiboot device in %edx.
1964 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
1965 grub_boot_device.
1966 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
1967 Likewise.
1968 * grub-core/kern/i386/pc/startup.S: Save edx.
1969 (grub_boot_drive): Removed.
1970 (grub_install_dos_part): Likewise.
1971 (grub_install_bsd_part): Likewise.
1972 (grub_boot_device): New variable.
1973 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
1974 (grub_install_bsd_part): Likewise.
1975 (grub_boot_drive): Likewise.
1976 (grub_boot_device): New variable.
1977 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
1978 Removed.
1979 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
1980 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
1981 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
1982 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
1983 * util/grub-install.in: Remove redundant condition.
1984
1985 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1986
1987 Fix bug introduced by previous commit.
1988
1989 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
1990
1991 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1992
1993 Use decompressors framework on i386-pc. It increases core size
1994 by 46 bytes but improves compatibility and maintainability.
1995
1996 * grub-core/Makefile.core.def (lzma_decompress): New image.
1997 (kernel): Add i386_pc_ldflags.
1998 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
1999 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
2000 to real_to_prot, prot_to_real and device info.
2001 * include/grub/offsets.h: Renamed decompressor offsets.
2002 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
2003 (image_target_desc): Remove raw_size and rename decompressor fields.
2004 (compress_kernel): Handle lzma.
2005 (generate_image): Handle decompressors on i386-pc.
2006
2007 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2008
2009 * configure.ac: Add -fno-asynchronous-unwind-tables.
2010
2011 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2012
2013 Move assembly code to C by using intwrap. It increases core size
2014 by 88 bytes but improves compatibility and maintainability.
2015
2016 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
2017 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
2018 ... here. Translated to C.
2019 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
2020 * grub-core/term/i386/pc/console.c (grub_console_getkey):
2021 ... here. Translated to C.
2022 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
2023 * grub-core/term/i386/pc/console.c (grub_console_getxy):
2024 ... here. Translated to C.
2025 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
2026 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
2027 ... here. Translated to C.
2028 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
2029 * grub-core/term/i386/pc/console.c (grub_console_cls):
2030 ... here. Translated to C.
2031 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
2032 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
2033 ... here. Translated to C.
2034 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
2035 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
2036 Translated to C.
2037 * grub-core/term/i386/pc/console.c (int10_9): New function.
2038 (grub_console_putchar): Likewise.
2039 * include/grub/i386/pc/console.h: Removed the not anymore shared
2040 functions.
2041
2042 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2043
2044 Move grub_chainloader_real_boot out of the kernel.
2045
2046 * grub-core/Makefile.am: Remove machine/loader.h.
2047 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
2048 Removed.
2049 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
2050 variable.
2051 (grub_relocator16_keep_a20_enabled): Likewise.
2052 (grub_relocator16_boot): Fill new variables.
2053 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
2054 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
2055 relocator.
2056 (grub_chainloader_unload): Likewise.
2057 (grub_chainloader_cmd): Likewise.
2058 * include/grub/i386/pc/loader.h: Removed.
2059 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
2060 and esi. All initialisers updated.
2061
2062 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
2063 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
2064
2065 * Makefile.util.def (grub-mount): New util.
2066 * .bzrignore: Add grub-mount.
2067 * configure.ac: Check for fuse and enable grub-mount if available.
2068 * docs/man/grub-mount.h2m: New file.
2069 * util/grub-mount.c: Likewise.
2070
2071 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2072
2073 * grub-core/commands/efi/fixvideo.c: Gettextize.
2074 * grub-core/commands/hashsum.c: Likewise.
2075 * grub-core/commands/i386/cmostest.c: Likewise.
2076 * grub-core/commands/i386/pc/drivemap.c: Likewise.
2077 * grub-core/commands/i386/pc/lsapm.c: Likewise.
2078 * grub-core/commands/i386/pc/sendkey.c: Likewise.
2079 * grub-core/commands/lsmmap.c: Likewise.
2080 * grub-core/commands/menuentry.c: Likewise.
2081 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
2082 * grub-core/commands/setpci.c: Likewise.
2083 * grub-core/loader/i386/bsd.c: Likewise.
2084 * grub-core/loader/i386/linux.c: Likewise.
2085 * util/getroot.c: Likewise.
2086 * util/grub-editenv.c: Likewise.
2087 * util/grub-fstest.c: Likewise.
2088 * util/grub-mkfont.c: Likewise.
2089 * util/grub-mkimage.c: Likewise.
2090 * util/grub-mkpasswd-pbkdf2.c: Likewise.
2091 * util/grub-pe2elf.c: Likewise.
2092 * util/grub-probe.c: Likewise.
2093 * util/grub-setup.c: Likewise.
2094 * util/ieee1275/ofpath.c: Likewise.
2095 * util/misc.c: Likewise.
2096 * util/raid.c: Likewise.
2097
2098 2011-11-11 Robert Millan <rmh@gnu.org>
2099
2100 * util/getroot.c (grub_util_get_geom_abstraction): Remove
2101 __attribute__((unused)) from `os_dev', which *is* being used.
2102
2103 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2104
2105 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
2106 forgotten define.
2107 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
2108 GRUB_IA64_DL_GOT_ALIGN.
2109 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
2110 GRUB_IA64_DL_TRAMP_ALIGN.
2111
2112 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2113
2114 Replace grub_fatal with normal errors in i386 linux loader.
2115
2116 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
2117 (allocate_pages): Check find_efi_mmap_size return value.
2118 (grub_e820_add_region): Return error.
2119 (grub_linux_boot): Check mmap return value.
2120
2121 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2122
2123 * grub-core/commands/acpihalt.c: Gettextized.
2124 * grub-core/commands/cacheinfo.c: Likewise.
2125 * grub-core/commands/cmp.c: Likewise.
2126 * grub-core/commands/efi/loadbios.c: Likewise.
2127 * grub-core/commands/gptsync.c: Likewise.
2128 * grub-core/commands/ieee1275/suspend.c: Likewise.
2129 * grub-core/commands/legacycfg.c: Likewise.
2130 * grub-core/commands/memrw.c: Likewise.
2131 * grub-core/commands/minicmd.c: Likewise.
2132 * grub-core/commands/parttool.c: Likewise.
2133 * grub-core/commands/time.c: Likewise.
2134 * grub-core/commands/videoinfo.c: Likewise.
2135 * grub-core/disk/geli.c: Likewise.
2136 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
2137 * grub-core/disk/luks.c: Likewise.
2138 * grub-core/disk/lvm.c: Likewise.
2139 * grub-core/font/font_cmd.c: Likewise.
2140 * grub-core/fs/zfs/zfscrypt.c: Likewise.
2141 * grub-core/fs/zfs/zfsinfo.c: Likewise.
2142 * grub-core/gfxmenu/view.c: Likewise.
2143 * grub-core/kern/emu/hostdisk.c: Likewise.
2144 * grub-core/kern/emu/main.c: Likewise.
2145 * grub-core/kern/emu/misc.c: Likewise.
2146 * grub-core/kern/emu/mm.c: Likewise.
2147 * grub-core/kern/mips/arc/init.c: Likewise.
2148 * grub-core/kern/mips/loongson/init.c: Likewise.
2149 * grub-core/kern/partition.c: Likewise.
2150 * grub-core/lib/i386/halt.c: Likewise.
2151 * grub-core/lib/mips/arc/reboot.c: Likewise.
2152 * grub-core/lib/mips/loongson/reboot.c: Likewise.
2153 * grub-core/loader/i386/pc/chainloader.c: Likewise.
2154 * grub-core/loader/i386/xnu.c: Likewise.
2155 * grub-core/loader/multiboot.c: Likewise.
2156 * grub-core/net/bootp.c: Likewise.
2157 * grub-core/net/net.c: Likewise.
2158 * grub-core/normal/term.c: Likewise.
2159 * grub-core/partmap/bsdlabel.c: Likewise.
2160 * grub-core/parttool/msdospart.c: Likewise.
2161 * grub-core/term/gfxterm.c: Likewise.
2162 * grub-core/term/terminfo.c: Likewise.
2163 * grub-core/video/i386/pc/vbe.c: Likewise.
2164 * util/grub-menulst2cfg.c: Likewise.
2165 * util/grub-mkdevicemap.c: Likewise.
2166 * util/grub-mklayout.c: Likewise.
2167 * util/grub-mkrelpath.c: Likewise.
2168 * util/grub-script-check.c: Likewise.
2169 * util/ieee1275/grub-ofpathname.c: Likewise.
2170 * util/resolve.c: Likewise.
2171
2172 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 Support %1$d syntax.
2175
2176 * tests/printf_unit_test.c: New file.
2177 * Makefile.util.def (printf_test): New test.
2178 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
2179
2180 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2181
2182 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
2183 fix.
2184
2185 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
2188 dprintf.
2189 * grub-core/font/font.c (grub_font_load): Likewise.
2190
2191 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2192
2193 * util/grub-macho2img.c: Add comment concerning gettext.
2194 * grub-core/lib/legacy_parse.c: Likewise.
2195
2196 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2197
2198 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
2199 (grub_xvasprintf): Likewise.
2200
2201 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2202
2203 Add const keyword to grub_env_get and gettextize week days.
2204
2205 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
2206 (grub_read_hook_datetime): Return const char *.
2207 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
2208 updated.
2209 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
2210 Mark for gettext.
2211 (grub_get_weekday_name): Return const char *. Call gettext.
2212 * grub-core/script/argv.c (grub_script_argv_append): Receive const
2213 char * and len as the argument. All users updated.
2214 (grub_script_argv_split_append): Receive const char *.
2215 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
2216 * include/grub/env.h (grub_env_get): Likewise.
2217 (grub_env_read_hook_t): Return const char *.
2218 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
2219 (grub_script_argv_split_append): Likewise.
2220
2221 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2222
2223 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
2224
2225 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2226
2227 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
2228 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
2229
2230 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
2233 Fix prototype.
2234
2235 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2236
2237 Fix mips compilation.
2238
2239 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
2240 normal decoder.
2241 (hashes): Use in embed decoder as well (for sizes).
2242 (dec_stream_header): Fix embed decompressor logic.
2243 (dec_stream_footer): Likewise.
2244
2245 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2246
2247 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
2248 an error and not a fatal on unrecognised relocation types.
2249
2250 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2251
2252 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
2253 Issue error rather than printf on unknown arguments.
2254
2255 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2256
2257 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
2258 Make buf a const.
2259
2260 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2261
2262 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
2263 Fix module name.
2264
2265 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2266
2267 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
2268 leftover debug printf.
2269
2270 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2271
2272 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
2273
2274 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2275
2276 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
2277 A stylistic fix.
2278
2279 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
2280
2281 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
2282
2283 2011-11-10 Shea Levy <slevy@tieronedesign.com>
2284
2285 Allow all modules to perform serial IO
2286
2287 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
2288 * include/grub/serial.h (grub_serial_port_configure): New inline
2289 function.
2290 (grub_serial_port_fetch): Likewise.
2291 (grub_serial_port_put): Likewise.
2292 (grub_serial_port_fini): Likewise.
2293 (grub_serial_find): New proto.
2294
2295 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2296
2297 Put symlink at the end of the node and fix a potential
2298 memory corruption.
2299
2300 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
2301 Make symlink into an array.
2302 (set_rockridge): Set have_symlink and alloc_dirents.
2303 (grub_iso9660_read_symlink): Use new layout.
2304 (grub_iso9660_iterate_dir): Fix memory corruption.
2305 Use new layout.
2306 (grub_iso9660_dir): Set have_symlink.
2307 (grub_iso9660_open): Likewise.
2308
2309 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2310
2311 Remove local keyword.
2312
2313 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
2314 (version_test_gt): Likewise.
2315 (version_find_latest): Likewise.
2316 (gettext_printf): Likewise.
2317 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
2318
2319 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2320
2321 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
2322
2323 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2324
2325 Fix ZFS memory and resource leaks.
2326
2327 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
2328 All users updated.
2329 Free type on exit.
2330 (fill_vdev_info): New parameter inserted. All users updated.
2331 (check_pool_label): Likewise.
2332 (scan_disk): Likewise.
2333 (scan_devices): Close non-inserted disks.
2334 (fzap_iterate): Free l.
2335 (unmount_device): Free children descripto memory.
2336
2337 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2338
2339 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
2340 argument (access out of bounds).
2341
2342 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2343
2344 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
2345 >= 6 drives.
2346
2347 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
2348
2349 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
2350 Fix declaration.
2351
2352 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 Fix several memory leaks.
2355
2356 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
2357 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
2358 (grub_cpio_dir): Likewise.
2359 * grub-core/fs/fat.c (grub_fat_label): Likewise.
2360 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
2361 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
2362 (grub_romfs_label): Likewise.
2363 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
2364 (squash_unmount): New function.
2365 (grub_squash_dir): Fix memory leak.
2366 (grub_squash_open): Likewise.
2367 (grub_squash_read): Likewise.
2368 (grub_squash_mtime): Likewise.
2369 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
2370 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
2371 * util/grub-fstest.c (fstest): Likewise.
2372
2373 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
2376 avoid accessing beyond the array.
2377
2378 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2379
2380 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
2381
2382 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 Several AFFS fixes.
2385
2386 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
2387 (GRUB_AFFS_FLAG_FFS): Removed.
2388 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
2389 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
2390 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
2391 (grub_fshelp_node): Make block 32-bit.
2392 Add block_cache and last_block_cache.
2393 (grub_affs_read_block): Fill and use block cache.
2394 (grub_affs_read_file): Removed.
2395 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
2396 boot block.
2397 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
2398 safety.
2399 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
2400 space.
2401 (grub_affs_close): Free block cache.
2402 (grub_affs_read): Use grub_fshelp_read_file directly.
2403
2404 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2405
2406 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
2407 with no error set.
2408
2409 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2410
2411 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
2412 used variable.
2413 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
2414 Likewise.
2415
2416 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2417
2418 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
2419
2420 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
2421 byteswap when needed.
2422
2423 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2424
2425 Fix FreeBSD compilation.
2426
2427 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
2428 to avoid circular dependency.
2429 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
2430 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
2431 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
2432
2433 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2434
2435 Fix ZFS crypto error types.
2436
2437 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
2438 (grub_gcm_decrypt): Likewise.
2439 (grub_zfs_load_key_real): Fix error code type. Handle possible error
2440 from PBKDF2.
2441
2442 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2443
2444 Illumos support.
2445
2446 * Makefile.util.def (10_illumos): New script.
2447 * configure.ac: Set COND_HOST_ILLUMOS.
2448 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
2449 Support Illumos calls.
2450 (find_partition_start) [__sun__]: Likewise.
2451 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
2452 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
2453 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
2454 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
2455 device.
2456 * util/grub-probe.c (probe) [__sun__]: Do character check.
2457 * util/grub.d/10_illumos.in: New file.
2458
2459 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2460
2461 Support escaped commas in hostdisk.
2462
2463 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
2464 (find_grub_drive): Use unescape_cmp.
2465 (make_device_name): Escape commas.
2466
2467 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2468
2469 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
2470
2471 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2472
2473 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
2474 variable.
2475
2476 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
2477
2478 Support trampoline jumps on powerpc.
2479
2480 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
2481 __ia64__ path.
2482 (grub_dl_load_segments): Set mod->sz.
2483 (grub_dl_flush_cache): Flush whole space occupied by module, not just
2484 segments.
2485 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
2486 (jump): Likewise.
2487 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
2488 function.
2489 (trampoline): New struct.
2490 (trampoline_template): New const.
2491 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
2492 * include/grub/dl.h (grub_dl): Add sz element.
2493 [__powerpc__]: Follow __ia64__.
2494 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
2495 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
2496 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
2497 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
2498
2499 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 ZFS crypto support.
2502
2503 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
2504 * grub-core/Makefile.core.def (zfscrypt): New module.
2505 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
2506 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
2507 it. All users updated.
2508 (grub_zfs_decrypt): New var.
2509 (grub_zfs_load_key): Likewise.
2510 (zio_checksum_functions): Add SHA256+MAC.
2511 (zio_checksum_verify): Handle incomplete comparison due to MAC.
2512 (zio_read): Handle encrypted blocks.
2513 (zap_verify): Remove incorrect check.
2514 (fzap_iterate): Handle non-standard fzap.
2515 (zap_iterate): Likewise.
2516 (zap_iterate_u64): New function.
2517 (dnode_get_fullpath): Load keys.
2518 * grub-core/fs/zfs/zfscrypt.c: New file.
2519 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
2520 (grub_crypto_ecb_encrypt): Make input const.
2521 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
2522 (grub_crypto_ecb_encrypt): Make input const.
2523 (GRUB_CIPHER_AES): New macro.
2524 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
2525 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
2526 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
2527 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
2528 prefix. All users updated.
2529 (grub_zfs_add_key): New proto.
2530 (grub_zfs_decrypt): Likewise.
2531 (grub_zfs_load_key): Likewise.
2532 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
2533 * util/grub-fstest.c (options): Add -K option.
2534 (argp_parser): Likewise.
2535
2536 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2537
2538 Support zle compression on ZFS.
2539
2540 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
2541 (decomp_table): Add zle.
2542 * include/grub/zfs/zio.h (zio_compress): Add zle.
2543
2544 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 Support BtrFS embedding.
2547
2548 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
2549 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
2550 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
2551 * util/grub-setup.c (setup): Use fs embedding if available.
2552 Add additional sanity check.
2553
2554 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
2555
2556 * util/grub-install.in: Fix condition for config_opt.
2557
2558 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2559
2560 Support third redundancy strip on raidz3.
2561
2562 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
2563 Return error on singularity. All users updated.
2564 (read_device): Don't stop on 3rd failure on raidz3.
2565
2566 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2567
2568 Support case-insensitive ZFS subvolumes.
2569
2570 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
2571 All users updated.
2572 (zap_hash): Likewise.
2573 (name_cmp): New function.
2574 (zap_leaf_array_equal): New parameter case_insensitive.
2575 All users updated.
2576 (zap_leaf_lookup): Likewise.
2577 (fzap_lookup): Likewise.
2578 (zap_lookup): Likewise.
2579 (dnode_get_path): New parameter case_insensitive. Retrieve case
2580 sensitiviness of a volume. All users updated.
2581 (dnode_get_fullpath): New parameter case_insensitive.
2582 All users updated.
2583 (grub_zfs_dir): Set info.case_insensitiveness.
2584
2585 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2586
2587 Support second redundancy strip on raidz(2,3).
2588
2589 * grub-core/fs/zfs/zfs.c (powx): New array.
2590 (powx_inv): Likewise.
2591 (poly): New const.
2592 (xor_out): New function.
2593 (gf_mul): Likewise.
2594 (recovery): Likewise.
2595 (read_device): Use second redundancy strip.
2596
2597 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2598
2599 Use a power of generator representation of GF(256) multiplication group
2600 to save space time and complexity.
2601
2602 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
2603 (raid6_table2): Likewise.
2604 (powx): New array.
2605 (powx_inv): Likewise.
2606 (poly): New const.
2607 (grub_raid_block_mul): Replace with ...
2608 (grub_raid_block_mulx): ...this.
2609 (grub_raid6_init_table): Rewritten.
2610 (grub_raid6_recover): Use power of generator representation.
2611
2612 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2613
2614 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
2615 for the right device.
2616
2617 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
2620 expected by grub-mkimage and it's more clear since there is no implicit
2621 padding.
2622
2623 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
2624
2625 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
2626 disk.
2627 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2628
2629 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
2630
2631 * util/grub-mkrescue.in: Fix handling xorriso option.
2632
2633 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2634
2635 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
2636 NULL.
2637
2638 2011-11-03 crocket <crockabiscuit@gmail.com>
2639
2640 * util/grub.d/10_linux.in: Add Slackware initrd naming.
2641
2642 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2643
2644 XZ CRC64 and SHA256 support.
2645
2646 * Makefile.util.def (libgrubmods): Add crc64.c.
2647 * grub-core/Makefile.core.def (crc64): New module.
2648 * grub-core/lib/crc64.c: New file.
2649 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
2650 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
2651 Fix the type.
2652 (MAX_HASH_SIZE): New define.
2653 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
2654 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
2655 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
2656 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
2657 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
2658 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
2659 Handle non-crc32 hashes.
2660 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
2661 (dec_stream_header): Handle non-crc32 hashes.
2662 (dec_stream_footer): Likewise.
2663 (dec_block_header): Likewise.
2664 (dec_main): Likewise.
2665 (xz_dec_init): Likewise.
2666 (xz_dec_reset): Likewise.
2667 (xz_dec_end): Likewise.
2668 * util/import_gcry.py: Add CRC64 line.
2669
2670 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2671
2672 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
2673 as well.
2674
2675 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2676
2677 Make reiserfs label retrieval similar to other *_label functions.
2678
2679 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
2680 (REISERFS_MAX_LABEL_LENGTH): Removed.
2681 (REISERFS_LABEL_OFFSET): Likewise.
2682 (grub_reiserfs_label): Rewritten.
2683
2684 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2685
2686 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
2687 field.
2688
2689 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
2690
2691 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
2692
2693 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
2696 drive failure on both raidz and raidz2.
2697
2698 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
2699
2700 Fix RAIDZ(2) for >= 5 devices.
2701
2702 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
2703 asize argument. All users updated.
2704
2705 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 Fix RAIDZ(2).
2708
2709 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
2710 (fill_vdev_info_real): Set ashift.
2711 (read_device): Rewrite RAIDZ part based on reverse engineering.
2712
2713 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2714
2715 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
2716 don't report potentially unavialiable fields in debug output.
2717 (find_path): Fix double-free and memory leak.
2718
2719 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2720
2721 Read label on UFS1.
2722
2723 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
2724 (grub_ufs_fs): Always set .label.
2725
2726 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2727
2728 Use shifts in UFS.
2729
2730 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
2731 (grub_ufs_data): New field log2_blksz.
2732 (grub_ufs_read_file): Use shifts.
2733 (grub_ufs_mount): Check block size and logarithm it.
2734
2735 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
2738 long symlinks.
2739
2740 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 Handle symlinks and long names on tar and cpio.
2743
2744 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
2745 (ATTR_FILE): Likewise.
2746 (ATTR_DIR): Likewise.
2747 (ATTR_LNK): Likewise.
2748 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
2749 (grub_cpio_find_file): Fill mode, handle linkname field as well as
2750 L and K entries.
2751 (grub_cpio_mount): Zero-fill data.
2752 (handle_symlink): New function.
2753 (grub_cpio_dir): Handle symlinks.
2754 (grub_cpio_open): Likewise.
2755 (grub_cpio_close) [MODE_USTAR]: Free linkname.
2756
2757 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2758
2759 Fix iso9660 filename limitations and fix memory leaks.
2760
2761 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
2762 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
2763
2764 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2765
2766 Fix JFS file name length limitations.
2767
2768 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
2769 (grub_jfs_diropen): Fix maximum filename length.
2770 (grub_jfs_getent): Fix filename length.
2771 (grub_jfs_lookup_symlink): Fix size checks.
2772
2773 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2774
2775 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
2776 string.
2777
2778 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2779
2780 Leverage BFS implementation to read AFS.
2781
2782 * Makefile.util.def (libgrubmods): Add afs.c.
2783 * grub-core/Makefile.core.def (afs): New module
2784 * grub-core/fs/afs.c: New file.
2785 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
2786
2787 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2788
2789 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
2790
2791 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2792
2793 * grub-core/fs/bfs.c: Run indent.
2794
2795 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2796
2797 BFS implementation based on the specification.
2798
2799 * grub-core/fs/bfs.c: New file.
2800 * Makefile.util.def (libgrubmods): Add bfs.c.
2801 * grub-core/Makefile.core.def (bfs): New module.
2802
2803 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2804
2805 * util/grub-fstest.c (cmd_cp): Clarify error message.
2806 (cmd_cmp): Likewise.
2807
2808 2011-10-30 Yves Blusseau <blusseau@zetam.org>
2809
2810 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
2811 and befs_be.
2812
2813 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
2814
2815 Remove afs and befs because of copyright problem.
2816
2817 * grub-core/fs/afs.c: Removed.
2818 * grub-core/fs/afs_be.c: Removed.
2819 * grub-core/fs/befs.c: Removed.
2820 * grub-core/fs/befs_be.c: Removed.
2821 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
2822 * grub-core/Makefile.core.def (afs): Removed.
2823 (afs_be): Likewise.
2824 (befs): Likewise.
2825 (befs_be): Likewise.
2826
2827 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2828
2829 Prefer rockridge over Joliet.
2830
2831 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
2832 to ...
2833 (set_rockridge): ... here.
2834 (grub_iso9660_mount): Check rockridge on the primary label when
2835 discovering. Ignore Joliet if Rockridge is present.
2836
2837 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 Use shifts in nilfs2.
2840
2841 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
2842 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
2843 (grub_nilfs2_palloc_entries_per_group): Replace with ...
2844 (grub_nilfs2_log_palloc_entries_per_group): ... this.
2845 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
2846 (grub_nilfs2_entries_per_block): Replaced with ...
2847 (grub_nilfs2_log_entries_per_block_log): ... this.
2848 (grub_nilfs2_blocks_per_group): Replaced with ...
2849 (grub_nilfs2_blocks_per_group_log): ... this.
2850 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
2851 (grub_nilfs2_blocks_per_desc_block_log): ... this.
2852 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
2853 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
2854 (grub_nilfs2_palloc_entry_offset): Replaced ...
2855 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
2856 (grub_nilfs2_dat_translate): Use shifts.
2857 (grub_nilfs2_read_inode): Likewise.
2858 (GRUB_MOD_INIT): Ensure that logs are correct.
2859
2860 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2861
2862 Use shifts in minix filesystem.
2863
2864 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
2865 (GRUB_MINIX_ZONE2SECT): Likewise.
2866 (grub_minix_data): Replace block_size with log_block_size.
2867 (grub_minix_read_file): Use shifts.
2868 (grub_minix_mount): Check block size and take a logarithm.
2869
2870 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2871
2872 Use shifts in squash4.
2873
2874 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
2875 (squash_mount): Check block size and take logarithm.
2876 (direct_read): Use shifts.
2877
2878 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2879
2880 Correct befs block counting logic.
2881
2882 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
2883 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
2884 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
2885 (grub_afs_read_inode): Use block_shift.
2886 (RANGE_SHIFT): New definition.
2887 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
2888 unexpected conditions, use shifts and appropriate types.
2889 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
2890
2891 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2892
2893 * grub-core/disk/raid.c (scan_devices): Check partition.
2894 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2895
2896 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2897
2898 Support BFS (befs) UUID.
2899
2900 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
2901 (grub_afs_small_data_element_header): New struct.
2902 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
2903 (grub_afs_read_attribute) [MODE_BFS]: New function.
2904 (grub_afs_iterate_dir): Allocate for complete inode.
2905 (grub_afs_mount): Likewise.
2906 (grub_afs_uuid) [MODE_BFS]: New function.
2907 (grub_afs_fs) [MODE_BFS]: Add .uuid.
2908
2909 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
2912 (zfs_unmount): Fix memory leak.
2913
2914 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2915
2916 Support NTFS reparse points.
2917
2918 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
2919 (symlink_descriptor): New struct.
2920 (grub_ntfs_read_symlink): New function.
2921 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
2922 (grub_ntfs_open): Likewise.
2923
2924 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2925
2926 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
2927
2928 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2929
2930 fstest xnu_uuid subcommand.
2931
2932 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
2933 grub-core/commands/xnu_uuid.c.
2934 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
2935 (fstest): Handle xnu_uuid.
2936 (options): Document xnu_uuid.
2937 (argp_parser): Parse xnu_uuid.
2938
2939 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2940
2941 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
2942 -l argument. Add newline at the end if printing.
2943 (GRUB_MOD_INIT): Document -l.
2944
2945 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
2948
2949 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 ZFS multi-device and version 33 support.
2952
2953 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
2954 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
2955 (grub_zfs_data): Add multidev-ice-related fields.
2956 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
2957 (dva_get_offset): Make dva const.
2958 (zfs_fetch_nvlist): New function.
2959 (fill_vdev_info_real): Likewise.
2960 (fill_vdev_info): Likewise.
2961 (check_pool_label): Likewise.
2962 (scan_disk): Likewise.
2963 (scan_devices): Likewise.
2964 (read_device): Likewise.
2965 (read_dva): Likewise.
2966 (zio_read_gang): Use read_dva.
2967 (zio_read_data): Likewise.
2968 (zap_leaf_lookup): Add missing endian conversion.
2969 (zap_verify): Add missing endian conversion. All users updated.
2970 (fzap_lookup): Likewise.
2971 (fzap_iterate): Likewise.
2972 (dnode_get_path): Handle SA bonus.
2973 (nvlist_find_value): Make input const. All users updated.
2974 (unmount_device): New function.
2975 (zfs_unmount): Use unmount_device.
2976 (zfs_mount): Use scan_disk.
2977 (zfs_mtime): New function.
2978 (grub_zfs_open): Handle system attributes.
2979 (fill_fs_info): Likewise.
2980 (grub_zfs_dir): Likewise.
2981 (grub_zfs_fs): Add mtime.
2982 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
2983 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
2984 (SA_MTIME_OFFSET): Likewise.
2985 (SA_SYMLINK_OFFSET): Likewise.
2986 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
2987 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
2988 (fstest): Support zfsinfo.
2989 (argp_parser): Likewise.
2990
2991 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2992
2993 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
2994 error.
2995
2996 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2997
2998 ZFS fixes.
2999
3000 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
3001 sharing the same block. Iterate over correct number of indices.
3002 (dnode_get_path): Handle symlinks correctly.
3003
3004 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3005
3006 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
3007
3008 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3009
3010 Read label on HFS+.
3011
3012 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
3013 (grub_hfsplus_btree_search): Fix types.
3014 (grub_hfsplus_label): Implement.
3015
3016 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3017
3018 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
3019
3020 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3021
3022 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
3023
3024 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3025
3026 Fix symlink handling on iso9660.
3027
3028 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
3029 All users updated.
3030 (grub_iso9660_susp_iterate): Accept zero-size iterate.
3031 (grub_iso9660_read_symlink): Moved most of code ...
3032 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
3033
3034 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3037 Use union to avoid breaking strict-aliasing rules.
3038
3039 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3040
3041 Support multi-extent iso files.
3042
3043 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
3044 Add node.
3045 (grub_fshelp_node): Revamp. All users updated.
3046 (FLAG_*): New enum.
3047 (read_node): New function.
3048 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
3049 All users updated.
3050 (grub_iso9660_mount): Don't attempt to read sua when there is none.
3051 (get_node_size): New function.
3052 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
3053 entries.
3054 Fix memory leak on . and ..
3055 (grub_iso9660_read): Use read_node.
3056 (grub_iso9660_close): Free node.
3057
3058 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3059
3060 Fix tar 4G limit and handle paths containing dot.
3061
3062 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
3063 (canonicalize): New function.
3064 (grub_cpio_find_file): Use canonicalize. Store offs in
3065 grub_disk_addr_t.
3066 (grub_cpio_dir): Use grub_disk_addr_t.
3067 (grub_cpio_open): Likewise.
3068
3069 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3070
3071 Fix handling of uncompressed blocks on squashfs and break 4G limit.
3072
3073 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
3074 unused flags.
3075 (grub_squash_inode): Add long_file and block_size.
3076 (grub_squash_cache_inode): New struct.
3077 (grub_squash_dirent): Make types into enum.
3078 (SQUASH_TYPE_LONG_REGULAR): New type.
3079 (grub_squash_frag_desc): Add field size.
3080 (SQUASH_BLOCK_FLAGS): New enum.
3081 (grub_squash_data): Use grub_squash_cache_inode.
3082 (grub_fshelp_node): Make ino_chunk 64-bit.
3083 (read_chunk): Minor argument change. All users updated.
3084 (squash_mount): Use correct le_to_cpu.
3085 (grub_squash_open): Handle LONG_REGULAR.
3086 (direct_read): New function.
3087 (grub_squash_read_data): Handle blocks correctly.
3088
3089 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3090
3091 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
3092
3093 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
3094
3095 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
3096
3097 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
3098
3099 Fix 2G limit on ZFS.
3100
3101 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
3102 types.
3103 (uberblock_verify): Likewise.
3104 (dmu_read): Likewise.
3105 (grub_zfs_read): Likewise. Remove invalid cast.
3106
3107 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
3108
3109 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
3110 (grub_jfs_blkno): Fix incorrect shift.
3111 (grub_jfs_read_file): Use more appropriate types.
3112
3113 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 Support triple indirect on minix2 and minix3.
3116
3117 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
3118 Declare triple_indir_zone.
3119 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
3120 indirect.
3121
3122 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
3123
3124 Minix FS fixes.
3125
3126 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
3127 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
3128 Rename ctime to mtime. All users updated.
3129 (grub_minix_get_file_block): Fix types and double indirect computations.
3130
3131 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3132
3133 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
3134 if no label is found.
3135 (grub_fat_iterate_dir): Fix file size type.
3136 (grub_fat_iterate_dir): Likewise.
3137
3138 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3139
3140 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
3141 save some space.
3142 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
3143 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
3144
3145 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
3148
3149 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3150
3151 * util/import_gcry.py: Accept space between # and include.
3152
3153 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3154
3155 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
3156
3157 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3158
3159 Fine grainely disable warnings on lexer. Remove Wno-error on it.
3160
3161 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
3162 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
3163 yylex_strncpy.
3164 * grub-core/script/yylex.l: Add fine-grained #pragma.
3165
3166 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3167
3168 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
3169 New inline function.
3170 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
3171 Likewise.
3172 (memset) [GRUB_UTIL]: Likewise.
3173 (memcmp) [GRUB_UTIL]: Likewise.
3174
3175 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3176
3177 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
3178 inline function rather than a define.
3179
3180 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3181
3182 * util/grub-setup.c: Add missing include.
3183
3184 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3185
3186 * util/ieee1275/grub-ofpathname.c: Add missing include.
3187
3188 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3189
3190 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
3191 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
3192 Likewise.
3193
3194 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
3197 grub_memcmp usage.
3198
3199 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 * util/grub-install.in: Add datarootdir as per automake manual
3202 suggestion.
3203 * util/grub-mknetdir.in: Likewise.
3204
3205 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
3206
3207 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
3208 suggestion.
3209 * util/grub.d/10_kfreebsd.in: Likewise.
3210 * util/grub.d/10_linux.in: Likewise.
3211 * util/grub.d/10_netbsd.in: Likewise.
3212 * util/grub.d/10_windows.in: Likewise.
3213 * util/grub.d/20_linux_xen.in: Likewise.
3214
3215 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
3216
3217 Remove redundant grub_kernel_image_size.
3218
3219 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
3220 _edata and _start.
3221 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
3222 the small code. It moves it only by few bytes but simplifies the code.
3223 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
3224 _start.
3225 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
3226 (grub_kernel_image_size): Removed.
3227 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
3228 (grub_kernel_image_size): Removed.
3229 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
3230 compiled with Apple toolchain.
3231 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
3232 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
3233 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
3234 (grub_total_module_size): Likewise.
3235 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
3236 Removed.
3237 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
3238 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
3239 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
3240 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
3241 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
3242 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
3243 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
3244 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
3245 Removed.
3246 (grub_total_module_size): Removed.
3247 * util/grub-mkimage.c (image_target_desc): Remove image_size.
3248 (image_targets): Likewise.
3249 Set .compressed_size to no field on sparc.
3250 (generate_image): Remove kernel_image_size handling.
3251
3252 2011-10-19 Szymon Janc <szymon@janc.net.pl>
3253
3254 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
3255 NULL pointer dereference.
3256
3257 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3258
3259 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
3260 done with a dedicated section.
3261
3262 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
3263 Ensure the correct position of boot_path.
3264 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
3265 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
3266 other fields.
3267 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
3268 * include/grub/boot.h: Removed. All references removed.
3269 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
3270 Removed.
3271 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
3272
3273 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3274
3275 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
3276 name.
3277
3278 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
3281
3282 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3283
3284 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
3285 Don't add the bogus brackets.
3286
3287 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3288
3289 ExFAT support.
3290
3291 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
3292 * grub-core/Makefile.core.def (exfat): New module.
3293 * grub-core/fs/exfat.c: New file.
3294 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
3295 (GRUB_FAT_ATTR_*): Make into an enum.
3296 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
3297 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
3298 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
3299 (GRUB_FAT_MAXFILE): Removed.
3300 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
3301 (grub_current_fat_bpb_t): New type.
3302 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
3303 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
3304 (grub_fat_dir_node_t): New type.
3305 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
3306 (fat_log2) [MODE_EXFAT]: Removed.
3307 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
3308 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
3309 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
3310 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
3311 (grub_fat_label) [MODE_EXFAT]: New function.
3312 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
3313 reserved_first_sector to 0.
3314
3315 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
3316
3317 Move grub_reboot out of the kernel.
3318
3319 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
3320 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
3321 * grub-core/lib/efi/reboot.c: ... here.
3322 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
3323 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
3324 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
3325 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
3326 * grub-core/lib/i386/reboot_trampoline.S: ... here.
3327 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
3328 * grub-core/lib/ieee1275/reboot.c: ... here.
3329 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
3330 * grub-core/lib/mips/arc/reboot.c: ... here.
3331 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
3332 * grub-core/lib/mips/loongson/reboot.c: ...here.
3333 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
3334 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
3335 * include/grub/emu/misc.h (grub_reboot): New function declaration.
3336 * include/grub/i386/reboot.h: New file.
3337 * include/grub/mips/loongson/ec.h: Fix includes.
3338 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
3339 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
3340 * grub-core/lib/i386/reboot.c: New file.
3341
3342 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
3343
3344 Make grub_prefix into module to fix the arbitrary limit and save
3345 some space.
3346
3347 * grub-core/kern/emu/main.c (grub_prefix): Removed.
3348 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
3349 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
3350 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
3351 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
3352 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
3353 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
3354 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
3355 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
3356 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
3357 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
3358 * include/grub/ia64/efi/kernel.h: Removed.
3359 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
3360 (grub_prefix): Removed.
3361 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
3362 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
3363 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
3364 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
3365 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
3366 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
3367 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
3368 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
3369 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
3370 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
3371 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
3372 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
3373 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
3374 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
3375 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
3376 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
3377 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
3378 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
3379 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
3380 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
3381 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
3382 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
3383 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
3384 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
3385 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
3386 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
3387 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
3388 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
3389 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
3390 from module.
3391 * util/grub-mkimage.c (image_target_desc): Removed prefix and
3392 prefix_end.
3393 (image_targets): Likewise.
3394 (generate_image): Put prefix as a module.
3395
3396 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3397
3398 Replace grub_module_iterate with FOR_MODULES.
3399
3400 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
3401 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
3402 (grub_efi_modules_addr): ...this.
3403 * grub-core/kern/efi/init.c (grub_modbase): New variable.
3404 (grub_efi_init): Set grub_modbase.
3405 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
3406 (grub_modbase): New variable.
3407 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
3408 (grub_modbase): New variable.
3409 (grub_machine_init): Set grub_modbase.
3410 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
3411 (grub_modbase): New variable.
3412 (grub_machine_init): Set grub_modbase.
3413 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
3414 (grub_modbase): New variable.
3415 (grub_machine_init): Set grub_modbase.
3416 * grub-core/kern/main.c (grub_module_iterate): Remove.
3417 (grub_modules_get_end): Use grub_modbase.
3418 (grub_load_modules): Use FOR_MODULES.
3419 (grub_load_config): Likewise.
3420 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
3421 (grub_modbase): New variable.
3422 (grub_machine_init): Set grub_modbase.
3423 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
3424 (grub_modbase): New variable.
3425 (grub_machine_init): Set grub_modbase.
3426 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
3427 Removed.
3428 (grub_modbase): New variable.
3429 (grub_machine_init): Set grub_modbase.
3430 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
3431 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
3432 (grub_module_iterate): Likewise.
3433 (grub_modbase): New variable declaration.
3434 (FOR_MODULES): New macro.
3435
3436 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3437
3438 * configure.ac: Check for __ctzdi2 and __ctzsi2.
3439 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
3440
3441 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3442
3443 Fix few obvious type discrepancies.
3444
3445 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
3446 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
3447 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
3448 variable.
3449 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
3450 and connected types.
3451 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
3452 offset.
3453 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
3454 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
3455 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
3456 and connected types.
3457
3458 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 Fix python 3.x incompatibilities.
3461
3462 * gentpl.py: Put brackets around print strings.
3463 * util/import_gcry.py: Open explicitly as utf-8.
3464 Use in instead of has_key.
3465
3466 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
3467
3468 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
3469 (GRUB_XFS_INO_AGBITS): Make into inline function.
3470 (GRUB_XFS_INO_INOINAG): Likewise.
3471 (GRUB_XFS_INO_AG): Likewise.
3472 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
3473 (GRUB_XFS_EXTENT_OFFSET): Likewise.
3474 (GRUB_XFS_EXTENT_BLOCK): Likewise.
3475 (GRUB_XFS_EXTENT_SIZE): Likewise.
3476 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
3477 (GRUB_XFS_NEXT_DIRENT): Likewise.
3478 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
3479 (grub_xfs_read_file): Fix offset type.
3480
3481 2011-10-15 Robert Millan <rmh@gnu.org>
3482
3483 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
3484
3485 2011-10-15 Robert Millan <rmh@gnu.org>
3486
3487 Fix build problem on FreeBSD and GNU/kFreeBSD.
3488
3489 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
3490
3491 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3492
3493 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
3494
3495 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
3496 types.
3497 (grub_hfsplus_btree_recoffset): Likewise.
3498 (grub_hfsplus_btree_recptr): Likewise.
3499 (grub_hfsplus_find_block): Likewise.
3500 (grub_hfsplus_btree_search): Likewise.
3501 (grub_hfsplus_read_block): Likewise.
3502 (grub_hfsplus_read_file): Likewise.
3503 (grub_hfsplus_mount): Likewise.
3504 (grub_hfsplus_btree_iterate_node): Likewise.
3505 (grub_hfsplus_btree_search): Likewise.
3506 (grub_hfsplus_iterate_dir): Likewise.
3507 (grub_hfsplus_read): A small code simplification.
3508
3509 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3510
3511 * grub-core/kern/emu/hostdisk.c
3512 (convert_system_partition_to_system_disk): Don't assume that children
3513 of mapper nodes are mapper nodes.
3514
3515 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
3516
3517 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
3518 * include/grub/misc.h (grub_isxdigit): New function.
3519 * grub-core/video/colors.c (my_isxdigit): Removed. All users
3520 switched to grub_isxdigit.
3521 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
3522 number starting with a letter.
3523
3524 2011-10-09 Robert Millan <rmh@gnu.org>
3525
3526 LVM support for FreeBSD and GNU/kFreeBSD.
3527
3528 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
3529 GNU/kFreeBSD.
3530 (LVM_DEV_MAPPER_STRING): Move from here ...
3531 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
3532 * util/getroot.c: Include `<grub/util/lvm.h>'.
3533 (grub_util_get_dev_abstraction): Enable
3534 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
3535 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
3536 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
3537 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
3538 support it.
3539 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
3540 GNU/kFreeBSD.
3541 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
3542 when LVM abstraction is required for ${GRUB_DEVICE}.
3543
3544 2011-10-06 Szymon Janc <szymon@janc.net.pl>
3545
3546 Add support for LZO compression in GRUB:
3547 - import of minilzo library,
3548 - LZO decompression for btrfs,
3549 - lzop files decompression.
3550
3551 * grub-core/io/lzopio.c: New file.
3552 * grub-core/lib/adler32.c: Likewise.
3553 * grub-core/lib/minilzo/lzoconf.h: Likewise.
3554 * grub-core/lib/minilzo/lzodefs.h: Likewise.
3555 * grub-core/lib/minilzo/minilzo.c: Likewise.
3556 * grub-core/lib/minilzo/minilzo.h: Likewise.
3557 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
3558 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
3559 grub-core/lib/minilzo/minilzo.c to common.
3560 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
3561 cflags in cppflags.
3562 * grub-core/Makefile.core.def (btrfs): Likewise.
3563 * grub-core/Makefile.core.def (lzopio): New module.
3564 (adler32): Likewise.
3565 * grub-core/fs/btrfs.c: Include minilzo.h.
3566 (GRUB_BTRFS_COMPRESSION_LZO): New define.
3567 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
3568 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
3569 (grub_btrfs_lzo_decompress): New function.
3570 (grub_btrfs_extent_read): Add support for LZO compression type.
3571 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
3572 (GRUB_USHRT_MAX): Likewise.
3573 (GRUB_UINT_MAX): Likewise.
3574 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
3575 (UINT_MAX): Likewise.
3576 (CHAR_BIT): Likewise.
3577 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
3578 grub-core/lib/posix_wrap/limits.h
3579 (UCHAR_MAX): Likewise.
3580 * include/grub/file.h (grub_file_filter_id): New compression filter
3581 GRUB_FILE_FILTER_LZOPIO.
3582 * include/grub/file.h (grub_file_filter_id): Set
3583 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
3584 * include/grub/types.h (grub_get_unaligned16): New function.
3585 (grub_get_unaligned32): Likewise.
3586 (grub_get_unaligned64): Likewise.
3587 * util/import_gcry.py (cryptolist): Add adler32.
3588
3589 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
3590
3591 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
3592 in perspective decreases the complexity of build system and fixes
3593 compilation right now.
3594
3595 2011-10-01 Ales Nesrsta <starous@volny.cz>
3596
3597 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
3598 (fixed problem related to using UHCI with coreboot).
3599
3600 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
3601
3602 * gentpl.py: Use Autogen macros so that the output template file
3603 (Makefile.tpl) size is reduced.
3604
3605 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
3606
3607 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
3608 extra_dist.
3609
3610 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3611
3612 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
3613 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
3614
3615 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3616
3617 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
3618 _fullpath.
3619
3620 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
3621
3622 Remove extra declaration of sleep for mingw32.
3623
3624 * util/misc.c (sleep) [__MINGW32__]: Removed.
3625 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
3626
3627 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
3628
3629 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
3630 type and packname.
3631 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
3632 Resurrected.
3633 (NETBSD_BTINFO_BOOTWEDGE): New definition.
3634 (grub_netbsd_btinfo_bootwedge): New struct.
3635 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
3636 New function.
3637 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
3638
3639 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
3640
3641 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
3642 loader.
3643
3644 2011-09-28 Andreas Born <futur.andy@googlemail.com>
3645
3646 Fix incorrect identifiers in bash-completion.
3647
3648 * util/bash-completion.d/grub-completion.bash.in
3649 (_grub_mkpasswd-pbkdf2): Rename to ...
3650 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
3651 (_grub_script-check): Rename to ...
3652 (_grub_script_check): ... this. All users updated.
3653
3654 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
3655
3656 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
3657 Return 0 if disk isn't biosdisk.
3658
3659 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
3660
3661 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
3662 on NetBSD.
3663 * Makefile.util.def (grub-fstest): Likewise.
3664
3665 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
3666
3667 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
3668 Get sector size from disk label.
3669
3670 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
3671
3672 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
3673 */README* as well as README*.
3674 Reported by: Axel Beckert.
3675
3676 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
3679 case of less than 256 MiB of RAM.
3680
3681 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 * grub-core/commands/wildcard.c (make_regex): Handle @.
3684
3685 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * util/grub-install.in: Move cryptodisk logic to appropriate place.
3688
3689 2011-08-21 Szymon Janc <szymon@janc.net.pl>
3690
3691 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
3692 AC_LANG_CONFTEST macros.
3693
3694 2011-08-20 Szymon Janc <szymon@janc.net.pl>
3695
3696 Add grub-fstest option to uncompress data for commands.
3697
3698 * util/grub-fstest.c (uncompress): New var.
3699 (options): New option -u.
3700
3701 2011-08-20 Szymon Janc <szymon@janc.net.pl>
3702
3703 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
3704 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
3705
3706 2011-08-20 Szymon Janc <szymon@janc.net.pl>
3707
3708 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
3709 file type was not recognized correctly (not gzip or corrupted).
3710
3711 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3712
3713 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
3714 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
3715
3716 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3717
3718 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
3719 loongson.
3720 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
3721 video_radeon_fuloong2e.
3722 * grub-core/video/radeon_fuloong2e.c: New file.
3723 * include/grub/video.h (grub_video_id_t): Add new ID
3724 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
3725
3726 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3727
3728 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
3729 define.
3730 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
3731 that PRID matches the detected subplatform and reset the subplatform
3732 if it doesn't.
3733
3734 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3735
3736 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
3737
3738 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3739
3740 Fix PCI iterating on functions >= 4.
3741
3742 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
3743 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
3744 Removed.
3745 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
3746 (grub_pci_read): Fix bitmask.
3747 (grub_pci_read_word): Likewise.
3748 (grub_pci_read_byte): Likewise.
3749 (grub_pci_write): Likewise.
3750 (grub_pci_write_word): Likewise.
3751 (grub_pci_write_byte): Likewise.
3752
3753 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3754
3755 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
3756 can still be specified in TARGET_CFLAGS)
3757
3758 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3759
3760 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
3761
3762 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
3763 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
3764 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
3765 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
3766 (FULOONG): Rename to ...
3767 (FULOONG2F): ... this. All users updated.
3768 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
3769 (machtype_fuloong2f_str): ... this.
3770 (machtype_fuloong2e_str): New string.
3771 Check for machtype_fuloong2e_str.
3772 * grub-core/loader/mips/linux.c (loongson_machtypes)
3773 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
3774 * grub-core/term/serial.c (loongson_defserial)
3775 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
3776 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
3777 loongson_defserial.
3778 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
3779 Rename to ...
3780 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
3781 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
3782 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
3783 to IMAGE_FULOONG2F_FLASH. All users updated.
3784 (image_targets): Rename images.
3785 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
3786
3787 2011-08-19 Szymon Janc <szymon@janc.net.pl>
3788
3789 Make enable of disk cache statistics code configurable.
3790
3791 * configure.ac: --enable-cache-stats added.
3792 * config.h.in (DISK_CACHE_STATS): New define.
3793 * grub-core/Makefile.core.def (cacheinfo): New command.
3794 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
3795 * grub-core/commands/cacheinfo.c: New file.
3796 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
3797 moved to cacheinfo.c.
3798 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
3799 debug code.
3800 * include/grub/disk.h: Likewise.
3801
3802 2011-08-19 Szymon Janc <szymon@janc.net.pl>
3803
3804 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
3805 * grub-core/Makefile.am: Likewise.
3806
3807 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3808
3809 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
3810 non-zero pull.
3811
3812 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3813
3814 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
3815 All users updated.
3816 (grub_jfs_lookup_symlink): Use correct starting inode.
3817
3818 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3819
3820 * util/grub-setup.c (main): Add missing gcry initialisation.
3821
3822 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3823
3824 Don't accept text modes on EFI when booting Linux.
3825
3826 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
3827 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
3828
3829 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
3830 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
3831
3832 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
3833 use of "/path/.." as in grub-install for EFI as well as handling
3834 symlinks correctly.
3835 Fixes Debian bug #637768.
3836
3837 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
3838
3839 * util/grub-probe.c: Remove duplicate #include.
3840
3841 2011-08-10 Robert Millan <rmh@gnu.org>
3842
3843 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
3844
3845 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
3846 function.
3847 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
3848 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
3849
3850 2011-08-03 Robert Millan <rmh@gnu.org>
3851
3852 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
3853 la_array as packed.
3854 Reported by: Zachary Bedell
3855
3856 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
3857
3858 * configure.ac: The Loongson port requires grub-mkfont due to its
3859 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
3860 be built.
3861
3862 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
3863
3864 * util/grub-install.in: Don't source grub-mkconfig_lib until after
3865 processing arguments (otherwise help2man fails when GRUB has not yet
3866 been installed).
3867
3868 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3869
3870 New script grub-mkstandalone.
3871
3872 * Makefile.util.def (grub-mkstandalone): New script.
3873 * docs/man/grub-mkstandalone.h2m: New file.
3874 * util/grub-mkstandalone.in: Likewise.
3875
3876 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3877
3878 Support ATA disks with 4K sectors.
3879
3880 * include/grub/ata.h (grub_ata): New member log_sector_size.
3881 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
3882 (grub_ata_identify): Read sector size.
3883 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
3884
3885 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3886
3887 * util/grub-install.in: Don't use uhci outside of x86.
3888
3889 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3890
3891 * util/grub-mkrescue.in: Add missing quotes.
3892
3893 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3894
3895 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
3896 dereference.
3897
3898 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3899
3900 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
3901
3902 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3903
3904 * include/grub/video.h: add missing EXPORT_FUND on
3905 grub_video_edid_checksum and grub_video_edid_preferred_mode.
3906
3907 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 * include/grub/mips/kernel.h: Fix define conflict.
3910
3911 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3912
3913 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
3914 all four ways.
3915
3916 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
3917
3918 Preferred resolution detection for VBE.
3919
3920 * grub-core/video/video.c (grub_video_edid_checksum): New function.
3921 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
3922 the Flat Panel extension, in line with the X.org VESA driver.
3923 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
3924 New function.
3925 (grub_vbe_bios_get_ddc_capabilities): Likewise.
3926 (grub_vbe_bios_read_edid): Likewise.
3927 (grub_vbe_get_preferred_mode): Likewise.
3928 (grub_video_vbe_setup): When the mode is "auto", try to get the
3929 preferred mode from VBE, and use the largest mode that is no larger
3930 than the preferred mode (some BIOSes expose a preferred mode that is
3931 not in their mode list!). If this fails, fall back to 640x480 as a
3932 safe conservative choice.
3933 (grub_video_vbe_get_edid): New function.
3934 (grub_video_vbe_adapter): Add get_edid.
3935 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
3936 (struct grub_video_adapter): Add get_edid.
3937 (grub_video_edid_checksum): Add prototype.
3938 (grub_video_edid_preferred_mode): Likewise.
3939 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
3940 structure.
3941
3942 * grub-core/commands/videoinfo.c (print_edid): New function.
3943 (grub_cmd_videoinfo): Print EDID if available.
3944
3945 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
3946 is more appropriate on a wider range of platforms than 640x480.
3947 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
3948 documentation.
3949
3950 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3951
3952 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
3953
3954 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3955
3956 * po/POTFILES.in: Regenerate.
3957
3958 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3959
3960 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
3961 incorrect memory usage.
3962
3963 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3964
3965 * util/grub-install.in: Source grub-mkconfig_lib.
3966
3967 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3968
3969 Remove getroot.c from core on emu platform.
3970
3971 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
3972 kern/emu/raid.c.
3973 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
3974 useless.
3975 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
3976 * util/getroot.c (get_win32_path): ... here.
3977 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
3978 * util/getroot.c (fini_libzfs): ... here.
3979 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
3980 * util/getroot.c (grub_get_libzfs_handle): ... here.
3981 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
3982 Moved from here...
3983 * util/getroot.c (grub_find_zpool_from_dir): ... here.
3984 * grub-core/kern/emu/misc.c
3985 (grub_make_system_path_relative_to_its_root): Moved from here...
3986 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
3987 * grub-core/kern/emu/getroot.c: Moved from here ...
3988 * util/getroot.c: ... here. All users updated.
3989 * grub-core/kern/emu/raid.c: Moved from here ...
3990 * util/raid.c: ... here. All users updated.
3991
3992 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3993
3994 * po/POTFILES.in: Regenerate.
3995
3996 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3997
3998 Fix compilation on GNU/Linux.
3999
4000 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
4001 Disable geli.
4002 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
4003 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
4004 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
4005
4006 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4007 2011-07-07 Michael Gorven <michael@gorven.za.net>
4008 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
4009
4010 LUKS and GELI support.
4011
4012 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
4013 grub-core/disk/luks.c, grub-core/disk/geli.c,
4014 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
4015 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
4016 grub-core/lib/arg.c.
4017 (libgrubmods.a): Remove gcrypts cflags and cppflags.
4018 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
4019 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
4020 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
4021 (grub-bin2h): Add libgcry.a.
4022 (grub-mkimage): Likewise.
4023 (grub-mkrelpath): Likewise.
4024 (grub-script-check): Likewise.
4025 (grub-editenv): Likewise.
4026 (grub-mkpasswd-pbkdf2): Likewise.
4027 (grub-pe2elf): Likewise.
4028 (grub-fstest): Likewise.
4029 (grub-mkfont): Likewise.
4030 (grub-mkdevicemap): Likewise.
4031 (grub-probe): Likewise.
4032 (grub-ofpath): Likewise.
4033 (grub-mklayout): Likewise.
4034 (example_unit_test): Likewise.
4035 (grub-menulst2cfg): Likewise.
4036 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
4037 * grub-core/Makefile.core.def (cryptodisk): New module.
4038 (luks): Likewise.
4039 (geli): Likewise.
4040 * grub-core/disk/AFSplitter.c: New file.
4041 * grub-core/disk/cryptodisk.c: Likewise.
4042 * grub-core/disk/geli.c: Likewise.
4043 * grub-core/disk/luks.c: Likewise.
4044 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
4045 grub_util_is_lvm.
4046 (grub_util_get_dm_abstraction): New function.
4047 (grub_util_follow_gpart_up): Likewise.
4048 (grub_util_get_geom_abstraction): Likewise.
4049 (grub_util_get_dev_abstraction): Use new functions.
4050 (grub_util_pull_device): Pull GELI and LUKS.
4051 (grub_util_get_grub_dev): Handle LUKS and GELI.
4052 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
4053 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
4054 (follow_geom_up): Removed.
4055 (grub_util_fd_seek): New function.
4056 (open_device): Use grub_util_fd_seek.
4057 (nread): Rename to ..
4058 (grub_util_fd_read): ... this. All users updated.
4059 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
4060 (grub_crypto_cbc_decrypt): Likewise.
4061 (grub_crypto_hmac_write): Likewise.
4062 (grub_crypto_hmac_buffer): Likewise.
4063 (grub_password_get): Extend to util.
4064 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
4065 New member modname.
4066 (gcry_md_spec) [GRUB_UTIL]: Likewise.
4067 * include/grub/cryptodisk.h: New file.
4068 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
4069 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
4070 LUKS and GELI.
4071 (grub_util_follow_gpart_up): New proto.
4072 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
4073 (grub_util_fd_read): Likewise.
4074 (grub_cryptodisk_cheat_mount): Likewise.
4075 (grub_util_cryptodisk_print_uuid): Likewise.
4076 (grub_util_get_fd_sectors): Likewise.
4077 * util/grub-fstest.c (mount_crypt): New var.
4078 (fstest): Mount crypto if requested.
4079 (options): New option -C.
4080 (argp_parser): Parse -C.
4081 (main): Init and fini gcry.
4082 * util/grub-install.in: Support cryptodisk install.
4083 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
4084 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
4085 cryptodisk.
4086 (prepare_grub_to_access_device): Likewise.
4087 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
4088 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
4089 (probe_cryptodisk_uuid): New function.
4090 (probe_abstraction): Likewise.
4091 (probe): Use new functions.
4092 * util/import_gcry.py: Create Makefile.utilgcry.def.
4093 Add modname member.
4094
4095 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
4096
4097 Lazy device scanning.
4098
4099 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
4100 (grub-setup): Remove util/raid.c.
4101 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
4102 * grub-core/disk/lvm.c (scan_depth): New variable.
4103 (grub_lvm_iterate): Rescan if necessary.
4104 (find_lv): New function based on grub_lvm_open.
4105 (grub_lvm_open): Use find_lv. Rescan on error.
4106 (is_node_readable): New function.
4107 (is_lv_readable): Likewise.
4108 (grub_lvm_scan_device): Skip already found disks.
4109 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
4110 Stop if searched device is found and readable.
4111 * grub-core/disk/raid.c (inscnt): New variable.
4112 (scan_depth): Likewise.
4113 (scan_devices): New function based on grub_raid_register. Abort if
4114 looked for device is found.
4115 (grub_raid_iterate): Rescan if needed.
4116 (find_array): NEw function based on -grub_raid_open.
4117 (grub_raid_open): Use find_array and rescan.
4118 (insert_array): Set became_readable_at.
4119 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
4120 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
4121 New function.
4122 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
4123 (grub_util_pull_device): New function.
4124 (grub_util_get_grub_dev): Call grub_util_pull_device.
4125 * util/raid.c: Moved to ..
4126 * grub-core/kern/emu/raid.c: ... here.
4127 (grub_util_raid_getmembers): New parameter "bootable".
4128 All users updated. Support 1.x.
4129 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
4130 All users updated.
4131 * include/grub/disk.h (grub_disk_pull_t): New enum.
4132 (grub_disk_dev): Change iterate prototype.
4133 All users updated.
4134 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
4135 New proto.
4136 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
4137 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
4138 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
4139 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
4140 All users updated.
4141 * include/grub/util/raid.h: Removed.
4142
4143 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
4144
4145 * po/POTFILES.in: Regenerate.
4146
4147 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
4148
4149 Unify sparc init with other ieee1275.
4150
4151 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
4152 instead of kern/sparc64/ieee1275/init.c.
4153 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
4154 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
4155 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
4156 grub/machine/kernel.h.
4157 (grub_ieee1275_original_stack) [__sparc__]: New variable.
4158 (grub_claim_heap) [__sparc__]: Use sparc version.
4159 (grub_machine_init): Moved args parsing to
4160 (grub_parse_cmdline): ...this.
4161 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
4162 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
4163 New definition.
4164 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
4165
4166 Move BOOTP to separate file.
4167
4168 * grub-core/Makefile.core.def (net): Add net/bootp.c.
4169 * grub-core/net/net.c: Move all BOOTP functions to
4170 * grub-core/net/bootp.c: ... here.
4171
4172 Use frame interface on PXE.
4173
4174 * grub-core/Makefile.core.def (pxecmd): Removed.
4175 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
4176 * grub-core/commands/i386/pc/pxecmd.c: Removed.
4177 * grub-core/i386/pc/pxe.c: Moved from here ...
4178 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
4179 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
4180 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
4181
4182 EFI network support.
4183
4184 * grub-core/Makefile.core.def (efinet): New module.
4185 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
4186 here...
4187 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
4188 All users updated.
4189 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
4190 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
4191 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
4192 * grub-core/net/drivers/efi/efinet.c: New file.
4193 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
4194 (grub_efi_net_config): New extern var.
4195
4196 Various cleanups and bugfixes.
4197
4198 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
4199 error.
4200 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
4201 disk declared as partition.
4202 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
4203 leak on failure.
4204 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
4205 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
4206 (grub_debug_zalloc): Likewise.
4207 (grub_debug_realloc): Likewise.
4208 (grub_debug_memalign): Likewise.
4209 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
4210 Check that target is IPv4.
4211 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
4212 local-mac-address as fallback.
4213 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
4214 memory leak.
4215 * grub-core/net/ip.c (ipchksum): Rename to ...
4216 (grub_net_ip_chksum): ... this. All users updated.
4217 (grub_net_recv_ip_packets): Special handling for DHCP.
4218 * util/grub-mkimage.c (generate_image): Zero-out aout header.
4219
4220 Unify prefix handling
4221
4222 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
4223 (grub_machine_get_bootlocation): ... this.
4224 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
4225 (grub_machine_get_bootlocation): ... this.
4226 (grub_prefix): New variable.
4227 (prefix): Removed.
4228 (root_dev): New variable.
4229 (dir): Likewise.
4230 (main): Use new variables.
4231 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
4232 Revamped into ...
4233 (grub_machine_get_bootlocation): ... this.
4234 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
4235 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
4236 (grub_machine_get_bootlocation): ... this.
4237 (grub_machine_set_prefix): Removed.
4238 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
4239 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
4240 Revamped into ...
4241 (grub_machine_get_bootlocation): ... this.
4242 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
4243 (grub_set_prefix_and_root): ... this. All users updated.
4244 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
4245 Revamped into ...
4246 (grub_machine_get_bootlocation): ... this.
4247 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
4248 (grub_machine_get_bootlocation): New proto.
4249 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
4250
4251 Less intrusive and more reliable seek on network implementation.
4252
4253 * grub-core/kern/file.c (grub_file_net_seek): Removed.
4254 (grub_file_seek): Don't call grub_file_net_seek.
4255 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
4256 (grub_net_fs_read_real): .. this.
4257 (grub_net_seek_real): Use net->offset.
4258 (grub_net_fs_read): Seek if necessary.
4259
4260 Unify IEEE1275 netwotk config with the other platforms.
4261
4262 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
4263 New variable.
4264 (grub_machine_get_bootlocation): Support network.
4265 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
4266 Support type and device parsing.
4267 (grub_ieee1275_get_device_type): New function.
4268 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
4269 into ...
4270 (grub_ieee1275_net_config_real): ... this.
4271 (grub_ofnet_probecards): Removed.
4272 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
4273 * include/grub/ieee1275/ofnet.h: Removed.
4274 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
4275 extern var.
4276 (grub_ieee1275_get_device_type): New function.
4277
4278 Unify network device closing across platforms and make more robust.
4279
4280 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
4281 grub_grubnet_fini.
4282 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
4283 already.
4284 * grub-core/net/net.c (grub_net_network_level_interface_register):
4285 Update num_ifaces.
4286 (grub_net_card_unregister): Close all interfaces.
4287 (receive_packets): Don't poll if no iterfaces are registered.
4288 Open if necessary.
4289 (grub_net_fini_hw): New function.
4290 (grub_net_restore_hw): Likewise.
4291 (fini_hnd): New variable.
4292 (GRUB_MOD_INIT): Register preboot hook.
4293 (GRUB_MOD_FINI): Run and unregister preboot hook.
4294
4295 Poll network cards when idle.
4296
4297 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
4298 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
4299 * grub-core/net/net.c (receive_packets): Save last poll time.
4300 (grub_net_poll_cards_idle_real): New function.
4301 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
4302 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
4303 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
4304
4305 Rename ofnet interfaces.
4306
4307 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
4308 (grub_ofnet_findcards): Use ofnet_%s names.
4309
4310 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
4311
4312 Cleanup socket opening.
4313
4314 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
4315 (grub_net_fs_close): Likewise.
4316 (grub_net_fs_read_real): Use eof member.
4317 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
4318 (+grub_net_udp_close): New inline function.
4319
4320 * include/grub/net/tftp.h: Moved to the top of ...
4321 * grub-core/net/tftp.c: ... here.
4322 * include/grub/net/ip.h: Moved mostly to the top of ...
4323 * grub-core/net/ip.c: ... here.
4324 * include/grub/net/ethernet.h: Moved mostly to the top of ...
4325 * grub-core/net/ethernet.c: ... here.
4326
4327 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
4328
4329 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
4330 FS name.
4331
4332 * include/grub/net/ip.h (ipv4_ini): Removed.
4333 (ipv4_fini): Likewise.
4334
4335 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
4336 (grub_net_send_ip_packets): Likewise.
4337
4338 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4339
4340 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
4341 grub_read_cmos prototype.
4342
4343 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4344
4345 VGA text support in qemu-mips
4346
4347 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
4348 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
4349 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
4350 text.
4351 * grub-core/kern/i386/qemu/init.c: Renamed to ...
4352 * grub-core/kern/vga_init.c: ... this.
4353 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
4354 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
4355 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
4356 Adjust.
4357 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
4358 GRUB_MACHINE_PCI_IO_BASE.
4359
4360 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4361
4362 MIPS qemu flash support.
4363
4364 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
4365 magic.
4366 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
4367 (grub_machine_init): Probe memory if its size isn't known.
4368 * util/grub-mkimage.c (image_targets): Add flash targets.
4369 (generate_image): Handle flash targets.
4370
4371 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4372
4373 MIPS qemu at_keyboard support.
4374
4375 * gentpl.py (videoinkernel): Add qemu-mips.
4376 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
4377 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
4378 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
4379 modules.
4380 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
4381 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
4382 * grub-core/term/serial.c (grub_serial_register)
4383 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
4384
4385 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
4386
4387 CMOS support on sparc.
4388
4389 * gentpl.py (cmos): Add powerpc and sparc.
4390 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
4391 powerpc and sparc.
4392 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
4393 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
4394 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
4395 grub_set_datetime_cmos.
4396 * grub-core/lib/ieee1275/cmos.c: New file.
4397 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
4398 (find_rtc): Set no_ieee1275_rtc on error.
4399 (grub_get_datetime): Call grub_get_datetime_cmos on error.
4400 (grub_set_datetime): Call grub_set_datetime_cmos on error.
4401 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
4402 fail. Move value to argument. All users updated
4403 (grub_cmos_write): Likewise.
4404 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
4405 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
4406 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
4407 grub_get_datetime_cmos and grub_set_datetime_cmos.
4408
4409 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
4410
4411 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
4412 sourcing grub-mkconfig_lib.
4413 * util/update-grub_lib.in: Likewise.
4414 * util/grub.d/00_header.in: Likewise.
4415 * util/grub.d/10_hurd.in: Likewise.
4416 * util/grub.d/10_kfreebsd.in: Likewise.
4417 * util/grub.d/10_linux.in: Likewise.
4418 * util/grub.d/10_netbsd.in: Likewise.
4419 * util/grub.d/10_windows.in: Likewise.
4420 * util/grub.d/20_linux_xen.in: Likewise.
4421 * util/grub.d/30_os-prober.in: Likewise.
4422
4423 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
4424
4425 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
4426 default_bg_color rather than black.
4427 (grub_gfxterm_fullscreen): Likewise.
4428 (grub_gfxterm_background_color_cmd): Save new background color in
4429 default_bg_color.
4430
4431 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4432
4433 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
4434
4435 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4436
4437 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
4438 mismerge.
4439
4440 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4441
4442 Chainloading on coreboot support.
4443
4444 * grub-core/Makefile.core.def (chain): Add coreboot.
4445 * grub-core/loader/i386/coreboot/chainloader.c: New file.
4446
4447 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4448
4449 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
4450 if it happens.
4451
4452 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4453
4454 Implement time command.
4455
4456 * grub-core/Makefile.core.def (time): New module.
4457 * grub-core/commands/time.c: New file.
4458 * grub-core/script/parser.y: Remove "time" keyword.
4459 * grub-core/script/yylex.l: Likewise.
4460
4461 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4462
4463 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
4464
4465 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4466
4467 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
4468 when handling leftovers.
4469
4470 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4471
4472 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
4473 so that help2man doesn't fail.
4474
4475 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4476
4477 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
4478 type in pointers on sparc64.
4479 (get_card_packet): Likewise.
4480
4481 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
4482
4483 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
4484 with `*'.
4485 (grub_cmd_videoinfo): Fetch current video mode.
4486
4487 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4488
4489 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
4490 because of underlying system restrictions.
4491
4492 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4493
4494 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
4495 necessary.
4496
4497 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4498
4499 Coreboot video support.
4500
4501 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
4502 (vbe): Likewise.
4503 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
4504 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
4505 here ...
4506 * grub-core/kern/i386/int.S: ... here.
4507 * grub-core/video/i386/pc/vbe.c: Updated includes.
4508 * grub-core/video/i386/pc/vga.c: Likewise.
4509 * include/grub/i386/coreboot/memory.h
4510 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
4511 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
4512 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
4513 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
4514 Disable interrupts.
4515 * include/grub/i386/pc/vga.h: Removed. All users updated.
4516
4517 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4518
4519 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
4520 definitions for dprintf.
4521 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
4522
4523 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4524
4525 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
4526 prototype.
4527 (get_card_packet): Likewise.
4528
4529 2011-06-26 Yves Blusseau <blusseau@zetam.org>
4530
4531 Display the path of the file when file is not found
4532
4533 * grub-core/fs/fat.c: Display the filename when file is not found.
4534 * grub-core/fs/fshelp.c: Likewise.
4535 * grub-core/fs/hfs.c: Likewise.
4536 * grub-core/fs/jfs.c: Likewise.
4537 * grub-core/fs/minix.c: Likewise.
4538 * grub-core/fs/ufs.c: Likewise.
4539 * grub-core/fs/btrfs.c: Likewise.
4540 * grub-core/commands/i386/pc/play.c: Likewise.
4541
4542 2011-06-26 Szymon Janc <szymon@janc.net.pl>
4543
4544 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
4545 pointer checks before calling grub_free().
4546 * grub-core/commands/wildcard.c (match_devices): Likewise.
4547 * grub-core/commands/wildcard.c (match_files): Likewise.
4548 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
4549 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
4550 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
4551 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
4552 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
4553 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
4554 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
4555 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
4556 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
4557
4558 2011-06-25 Patrick <p55@mailinator.com>
4559
4560 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
4561
4562 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
4563
4564 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
4565 (grub_pxe_send): Likewise.
4566 (GRUB_MOD_INIT): Fix types.
4567
4568 2011-06-24 Szymon Janc <szymon@janc.net.pl>
4569
4570 * grub-core/io/xzio.c: Fix code style issues
4571
4572 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4573 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
4574
4575 Network infrastructure.
4576 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
4577
4578 * include/grub/net/arp.h: New file.
4579 * include/grub/net/device.h: Likewise.
4580 * include/grub/net/ethernet.h: Likewise.
4581 * include/grub/net/ip.h: Likewise.
4582 * include/grub/net/netbuff.h: Likewise.
4583 * include/grub/net/tftp.h: Likewise.
4584 * include/grub/net/udp.h: Likewise.
4585 * include/grub/ieee1275/ofnet.h: Likewise.
4586 * include/grub/emu/export.h: Likewise.
4587 * include/grub/net.h: Likewise.
4588 * grub-core/net/arp.c: Likewise.
4589 * grub-core/net/ethernet.c: Likewise.
4590 * grub-core/net/ip.c: Likewise.
4591 * grub-core/net/udp.c: Likewise.
4592 * grub-core/net/tftp.c: Likewise.
4593 * grub-core/net/netbuff.c: Likewise.
4594 * grub-core/net/net.c: Likewise.
4595 * grub-core/net/drivers/emu/emunet.c: Likewise.
4596 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
4597 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
4598 export.h.
4599 * grub-core/Makefile.core.def (net): New module.
4600 (tftp): Likewise.
4601 (ofnet): Likewise.
4602 (emunet): Likewise.
4603 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
4604 network protocols.
4605 * grub-core/kern/device.c (grub_net_open) : New variable.
4606 (grub_device_open): Handle network device.
4607 (grub_device_close): Likewise.
4608 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
4609 (grub_grubnet_fini): Likewise.
4610 (grub_file_seek): Seek in network device.
4611 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
4612 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
4613 network root.
4614 (grub_machine_fini): Call grub_grubnet_fini.
4615 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
4616 network.
4617 (grub_ieee1275_get_aliasdevname): New function.
4618 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
4619 Add unofficial Solaris network info.
4620 (grub_multiboot_make_mbi): Likewise.
4621 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
4622 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
4623 * include/grub/device.h (grub_fs): Removed.
4624 * include/grub/err.h (grub_err_t): Add network-related values.
4625 * include/grub/i386/pc/pxe.h: Removed bootp parts.
4626 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
4627 (grub_ieee1275_get_aliasdevname): New proto.
4628 * include/grub/net.h: Rewritten.
4629
4630 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4631
4632 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
4633 names.
4634
4635 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4636
4637 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
4638 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
4639 it truncates the output.
4640 Reported by: Ximin Luo.
4641
4642 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4643
4644 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
4645
4646 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4647
4648 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
4649 partmap before abstraction.
4650
4651 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
4652
4653 * util/grub-mkconfig_lib.in: Add missing quotes.
4654
4655 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4656
4657 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
4658 old method if mountinfo would return /dev/root and /dev/root doesn't
4659 exist.
4660
4661 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4662
4663 ZFS zlib support
4664
4665 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
4666 (decomp_table): Add zlib entries.
4667 (zio_read): USe 8 bits for compression function rather than 3.
4668 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
4669
4670 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
4671
4672 * grub-core/disk/ahci.c: Add missing license statements.
4673 * grub-core/fs/romfs.c: Likewise.
4674 * grub-core/lib/ia64/setjmp.S: Likewise.
4675 * grub-core/loader/i386/pc/freedos.c: Likewise.
4676 * grub-core/loader/ia64/efi/linux.c: Likewise.
4677 * grub-core/video/colors.c: Likewise.
4678 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
4679
4680 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4681
4682 AHCI support.
4683
4684 * grub-core/Makefile.core.def (ata_pthru): Removed.
4685 (ahci): New module.
4686 (pata): Likewise.
4687 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
4688 on unload.
4689 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
4690 readwrite.
4691 (grub_hdparm_do_check_powermode_cmd): Likewise.
4692 (grub_hdparm_do_smart_cmd): Likewise.
4693 (grub_hdparm_set_val_cmd): Likewise.
4694 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
4695 * grub-core/disk/ahci.c: New file.
4696 * grub-core/disk/ata.c: Factor out the low-level part into ...
4697 * grub-core/disk/pata.c: ... here.
4698 * grub-core/disk/ata_pthru.c: Contents moved to ...
4699 * grub-core/disk/pata.c: ... here.
4700 * grub-core/disk/scsi.c (grub_scsi_names): New array.
4701 (grub_scsi_iterate): Use grub_scsi_names.
4702 (grub_scsi_open): Likewise.
4703 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
4704 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
4705 (grub_ata_regs_t): New struct.
4706 (grub_disk_ata_pass_through_parms): Likewise.
4707 (grub_ata_device): Renamed to ...
4708 (grub_ata): ... this.
4709 (grub_ata_dev): New struct.
4710 Removed all low-level inline functions.
4711 * include/grub/scsi.h: Add PATA and AHCI subsystems.
4712 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
4713 iterate hooks and open. All users updated.
4714 * util/grub-install.in: Handle AHCI disk module.
4715
4716 2011-06-23 Szymon Janc <szymon@janc.net.pl>
4717
4718 Add support for DRI and RSTn markers in JPEG files.
4719
4720 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
4721 (JPEG_MARKER_RST0): Likewise.
4722 (JPEG_MARKER_RST1): Likewise.
4723 (JPEG_MARKER_RST2): Likewise.
4724 (JPEG_MARKER_RST3): Likewise.
4725 (JPEG_MARKER_RST4): Likewise.
4726 (JPEG_MARKER_RST5): Likewise.
4727 (JPEG_MARKER_RST6): Likewise.
4728 (JPEG_MARKER_RST7): Likewise.
4729 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
4730 (grub_jpeg_decode_dri): New function.
4731 (grub_jpeg_decode_sos): Move image data related part into
4732 grub_jpeg_decode_data function.
4733 (grub_jpeg_decode_data): New function.
4734 (grub_jpeg_reset): New function.
4735 (grub_jpeg_decode_jpeg): Handle new markers.
4736
4737 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4738
4739 * util/ieee1275/ofpath.c (check_sas): Close fd.
4740 (main): Free of_path.
4741 Reported by: David Volgyes <dvolgyes>.
4742
4743 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4744
4745 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
4746 Reported by: David Volgyes <dvolgyes>.
4747
4748 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4749
4750 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
4751 file after stat.
4752 Reported by: David Volgyes <dvolgyes>.
4753
4754 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4755
4756 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
4757
4758 Reported by: David Volgyes <dvolgyes>.
4759
4760 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4761
4762 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
4763 Prevent memory leak.
4764
4765 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4766
4767 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
4768 (main): Close file.
4769 Reported by: David Volgyes <dvolgyes>.
4770
4771 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4772
4773 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
4774 to continue if allocation is failed.
4775
4776 Reported by: David Volgyes <dvolgyes>.
4777
4778 2011-06-23 David Volgyes <dvolgyes>
4779
4780 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
4781 dereference.
4782
4783 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4784
4785 Fix spurious warning.
4786
4787 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
4788 (acorn_partition_map_find): Use .bin member.
4789
4790 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4791
4792 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
4793 /dev/root as a valid device.
4794
4795 2011-06-23 Jim Meyering <meyering@redhat.com>
4796
4797 Avoid NULL deref in grub_device_open.
4798
4799 * grub-core/kern/device.c (grub_device_open): Don't dereference
4800 a NULL pointer upon failed grub_env_get.
4801
4802 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4803
4804 Support non-512B sectors and agglomerate reads.
4805
4806 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
4807 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
4808 (disk_io_guid): Removed.
4809 (make_devices): Locate solely by BlockIO.
4810 (grub_efidisk_open): Fill log_sector_size and total_sectors.
4811 (grub_efidisk_read): Use read_blocks.
4812 (grub_efidisk_write): Use write_blocks.
4813 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
4814 log_sector_size.
4815 (get_safe_sectors): Handle non-512B sectors.
4816 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
4817 sectors.
4818 (grub_biosdisk_write): Handle non-512B sectors.
4819 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
4820 (grub_scsi_read): Remove special non-512B block handling (now handled
4821 one level up).
4822 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
4823 and do sanity checks.
4824 (grub_disk_adjust_range): Handle non-512B sectors.
4825 (transform_sector): New function.
4826 (grub_disk_read_small): Likewise.
4827 (grub_disk_read): Rewritten.
4828 (grub_disk_write): Handle non-512B sectors.
4829 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
4830 log_sector_size.
4831 (open_device): Use log_sector_size.
4832 (grub_util_biosdisk_read): Likewise.
4833 (grub_util_biosdisk_write): Likewise.
4834 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
4835 non-512B sectors.
4836 (pc_partition_map_embed): Likewise.
4837 * include/grub/disk.h (grub_disk): New field log_sector_size.
4838 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
4839 (GRUB_DISK_CACHE_BITS): Increased to 6.
4840 * util/grub-fstest.c (fstest): New command testload.
4841 (argp_parser): Likewise.
4842
4843 2011-06-16 Robert Millan <rmh@gnu.org>
4844
4845 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
4846 `ata' driver on kernel of FreeBSD 9.
4847
4848 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
4849 (get_ataraid_disk_name): New functions.
4850 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
4851 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
4852 get_ataraid_disk_name() and get_ada_disk_name().
4853
4854 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
4855
4856 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
4857 input format.
4858
4859 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
4860
4861 * docs/grub.texi (Obtaining and Building GRUB): Substitute
4862 `ftp.gnu.org' for `alpha.gnu.org'.
4863
4864 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
4865
4866 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
4867 partitions under /dev/disk/by-id/.
4868
4869 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
4870
4871 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
4872 after ten consecutive open failures. Scanning all the way up to
4873 10000 is excessive and can cause serious performance problems in
4874 some configurations.
4875 Fixes Ubuntu bug #787461.
4876
4877 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4878
4879 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
4880 opening new one.
4881
4882 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
4883 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4884
4885 Don't stat devices unless we have to.
4886
4887 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
4888 dir == /dev/mapper.
4889 (grub_guess_root_device): Use already known os_dev if possible.
4890 * grub-core/kern/emu/hostdisk.c
4891 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
4892 if device is known to be a dm one.
4893
4894 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
4895
4896 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
4897 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
4898 Reported by: Pawel Tecza.
4899
4900 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
4901
4902 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
4903 (lsefisystab): Likewise.
4904 (lssal): Likewise.
4905 (lsefimmap): Likewise.
4906 (hdparm): Enable on qemu-mips.
4907 (setjmp): Add ia64 nodist.
4908 (serial): Simplify tags.
4909
4910 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4911
4912 * Makefile.util.def (grub-ofpathname): Install manual page.
4913
4914 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4915
4916 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
4917
4918 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4919
4920 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
4921
4922 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4923
4924 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
4925 into dprintf.
4926
4927 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 Use full 64-bit division.
4930
4931 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
4932 (grub_divmod64): ... this.
4933 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
4934 version.
4935
4936 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4937
4938 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
4939 `source'.
4940
4941 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4942
4943 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
4944 to avoid accidents when debugging with 'sh -x'.
4945 * grub-core/gensyminfo.sh.in: Likewise.
4946 * tests/example_scripted_test.in: Likewise.
4947 * tests/grub_cmd_regexp.in: Likewise.
4948 * tests/grub_script_blanklines.in: Likewise.
4949 * tests/grub_script_dollar.in: Likewise.
4950 * tests/grub_script_expansion.in: Likewise.
4951 * tests/grub_script_final_semicolon.in: Likewise.
4952 * tests/partmap_test.in: Likewise.
4953 * tests/util/grub-shell-tester.in: Likewise.
4954 * tests/util/grub-shell.in: Likewise.
4955
4956 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4957
4958 Move gfxmenu color handling to video, so that gfxterm can use it
4959 too.
4960
4961 * grub-core/gfxmenu/named_colors.c: Move to ...
4962 * grub-core/video/colors.c: ... here. Rename
4963 grub_gui_get_named_color to grub_video_get_named_color.
4964 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
4965 * grub-core/video/colors.c (my_isxdigit): ... here.
4966 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
4967 Move to ...
4968 * grub-core/video/colors.c (parse_hex_color_component): ... here.
4969 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
4970 to ...
4971 * grub-core/video/colors.c (grub_video_parse_color): ... here.
4972
4973 * include/grub/gui.h (grub_gui_color_t): Move to ...
4974 * include/grub/video.h (grub_video_rgba_color_t): ... here.
4975 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
4976 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
4977 * include/grub/gui.h (grub_gui_map_color): Move to ...
4978 * include/grub/video.h (grub_video_map_rgba_color): ... here.
4979 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
4980 to ...
4981 * include/grub/video.h (grub_video_get_named_color): ... here.
4982 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
4983 * include/grub/video.h (grub_video_parse_color): ... here.
4984
4985 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
4986 video/colors.c.
4987 (gfxmenu): Remove gfxmenu/named_colors.c.
4988 (video) [videomodules]: Add video/colors.c.
4989
4990 Add a background_color command.
4991
4992 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
4993 function.
4994 (GRUB_MOD_INIT): Register background_color command.
4995 (GRUB_MOD_FINI): Unregister background_color command.
4996 (redraw_screen_rect): Allow blend/replace of text layer to be
4997 controlled independently from whether there is a background bitmap.
4998 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
4999 changing bitmap.
5000
5001 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5002
5003 Patch BPB in ntldr and chainloader --bpb.
5004
5005 * grub-core/fs/fat.c: Include grub/fat.h.
5006 (grub_fat_bpb): Moved to ...
5007 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
5008 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
5009 grub/ntfs.h.
5010 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
5011 Moved from here...
5012 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
5013 here.
5014 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
5015 New function.
5016 (grub_chainloader_cmd): Patch BPB if --bpb is given.
5017 (GRUB_MOD_INIT): Show --bpb.
5018 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
5019 * grub-core/normal/main.c (features): New variable.
5020 (GRUB_MOD_INIT): Set feature_* variables.
5021 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
5022 proto.
5023 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
5024
5025 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5026
5027 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
5028 for cleanness.
5029
5030 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5031
5032 FreeDOS direct loading support.
5033
5034 * docs/grub.texi (Supported OS): Add FreeDOS.
5035 * grub-core/Makefile.core.def (freedos): New module.
5036 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
5037 variable.
5038 (grub_relocator16_boot): Handle %ebx.
5039 * grub-core/lib/i386/relocator16.S: Likewise.
5040 * grub-core/loader/i386/pc/freedos.c: New file.
5041
5042 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5043
5044 Long Linux command line support.
5045
5046 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
5047 (maximal_cmdline_size): New variable.
5048 (allocate_pages): Use maximal_cmdline_size.
5049 (grub_cmd_linux): Set and use maximal_cmdline_size.
5050 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
5051 (allocate_pages): Use maximal_cmdline_size.
5052 (grub_cmd_linux): Set and use maximal_cmdline_size.
5053 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
5054 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
5055 and cmdline_size.
5056
5057 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5058 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
5059
5060 Improve devmapper support
5061
5062 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
5063 (grub_util_is_lvm): New function.
5064 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
5065 than lvm if not dmraid.
5066 Handle mapped md nodes.
5067 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
5068 (grub_util_device_is_mapped): ... this. Make always available. All users
5069 updated.
5070 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
5071 (convert_system_partition_to_system_disk): Handle lvm, mpath and
5072 dmraid nodes.
5073 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
5074
5075 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
5076
5077 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
5078
5079 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
5080 * grub-core/modinfo.sh.in: New file.
5081 * grub-core/Makefile.core.def (modinfo.sh): New script.
5082 * util/grub-mknetdir.in: Use modinfo.sh.
5083 * util/grub-mkrescue.in: Likewise.
5084
5085 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5086
5087 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
5088 Fix potential usage of Elf32 instead of Elf64 when compiling on
5089 32-bit architecture. Add endianness macros while on it.
5090
5091 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5092
5093 Use mipsel- rather than mips- in directories involving mipsel ports to
5094 allow both endiannesses coexist.
5095
5096 * configure.ac: proparate target_cpu=mipsel rather than resetting to
5097 mips. All conditions adjusted.
5098 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
5099 variable.
5100 * util/grub-install.in: Adjust conditions to take renaming into account.
5101 * util/grub-mkimage.c (image_targets): Likewise. New target
5102 mips-qemu_mips-elf for bigendian mips.
5103
5104 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5105
5106 Avoid unnecessary copying on MIPS.
5107
5108 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
5109 early if src == dest.
5110 * util/grub-mkimage.c (generate_image): Arange for src == dest if
5111 compression is none.
5112
5113 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5114
5115 Reduce memory footprint on SGI by putting modules before the kernel
5116 as opposed to after.
5117
5118 * grub-core/Makefile.core.def (kernel): Increase linking address.
5119 (none_decompress): Likewise.
5120 (xz_decompress): Likewise.
5121 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
5122 address.
5123 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
5124 layout change.
5125 (grub_arch_modules_addr): New function.
5126 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
5127 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
5128 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
5129 here.
5130 * grub-core/kern/mips/startup.S (total_size): Rename to ...
5131 (grub_total_modules_size): ... this. Make global.
5132 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
5133 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
5134 New definition.
5135 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
5136 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
5137 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
5138 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
5139 * util/grub-mkimage.c (image_target_desc): New flag
5140 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
5141 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
5142 (generate_image): Handle images with modules before kernel.
5143
5144 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5145
5146 Prevent potential loss of memory map by overwrite on qemu-mips.
5147
5148 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
5149 Save ram size in $s4.
5150 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
5151 All users changed to grub_arch_memsize.
5152 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
5153 Loongson.
5154 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
5155 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
5156 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
5157 external variable.
5158
5159 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
5160
5161 * .bzrignore: Remove grub-dumpbios.
5162
5163 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
5164
5165 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
5166 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
5167 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
5168 existing options which append).
5169 * docs/grub.texi (Simple configuration): Document new options.
5170 Reported by: Ian Jackson. Fixes Debian bug #617538.
5171
5172 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
5173
5174 * util/grub-fstest.c (cmd_cat): New function.
5175 (fstest): Handle CMD_CAT.
5176 (options): Add cat.
5177 (argp_parser): Handle cat.
5178
5179 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
5180
5181 * Makefile.util.def (grub-bin2h): Don't install.
5182 * docs/man/grub-bin2h.h2m: Remove.
5183
5184 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5185
5186 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
5187 place.
5188
5189 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 Reenable qemu-mips port.
5192
5193 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
5194 Fix small arc bug while on it.
5195 * gentpl.py: Handle qemu_mips.
5196 * grub-core/Makefile.am: Likewise.
5197 * grub-core/Makefile.core.def: Likewise.
5198 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
5199 inappropriate includes.
5200 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
5201 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
5202 * grub-core/kern/main.c (grub_modules_get_end)
5203 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
5204 * grub-core/kern/mips/qemu-mips: Moved to ..
5205 * grub-core/kern/mips/qemu_mips: ... this.
5206 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
5207 (grub_machine_init): Call terminfo_init and serial_init.
5208 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
5209 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
5210 New variable.
5211 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
5212 parameter passing.
5213 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
5214 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
5215 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
5216 * include/grub/mips/qemu_mips/cmos.h: New file.
5217 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
5218 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
5219 Removed.
5220 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
5221 Use correct mips-style address.
5222 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
5223 (GRUB_TICKS_PER_SECOND): Removed.
5224 (grub_get_rtc): Likewise.
5225 (grub_cpu_idle): Likewise.
5226 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
5227 New definition.
5228 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
5229 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
5230 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
5231 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
5232 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
5233 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
5234 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
5235 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
5236
5237 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
5238
5239 SGI ARCS port.
5240
5241 * Makefile.util.def (libgrubmods.a): Add dvh.c.
5242 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
5243 platforms.
5244 * configure.ac: New target mips-arc.
5245 * gentpl.py: Likewise.
5246 * grub-core/Makefile.am: Likewise.
5247 * grub-core/Makefile.core.def: Likewise.
5248 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
5249 (none_decompress): Likewise.
5250 (lsdev): New module.
5251 (datetime): Use lib/arc/datetime.c on ARC.
5252 (part_dvh): New module.
5253 * grub-core/commands/arc/lsdev.c: New file.
5254 * grub-core/disk/arc/arcdisk.c: Likewise.
5255 * grub-core/kern/mips/arc/init.c: Likewise.
5256 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
5257 aligned addresses.
5258 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
5259 support.
5260 (grub_arch_dl_relocate_symbols): Likewise.
5261 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
5262 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
5263 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
5264 platforms.
5265 * grub-core/lib/arc/datetime.c: New file.
5266 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
5267 pci.h on non-loongson.
5268 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
5269 (grub_linux_boot): Set unused registers to 0.
5270 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
5271 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
5272 * grub-core/mmap/mips/uppermem.c: ...here.
5273 * grub-core/partmap/dvh.c: New file.
5274 * grub-core/term/arc/console.c: Likewise.
5275 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
5276 (grub_terminfo_set_current): Add terminal "arc".
5277 (grub_terminfo_readkey): Support ARC sequences.
5278 * include/grub/arc/arc.h: New file.
5279 * include/grub/arc/console.h: Likewise.
5280 * include/grub/disk.h (grub_disk_dev_id): Add
5281 GRUB_DISK_DEVICE_ARCDISK_ID.
5282 * include/grub/mips/arc/kernel.h: New file.
5283 * include/grub/mips/arc/memory.h: Likewise.
5284 * include/grub/mips/arc/time.h: Likewise.
5285 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
5286 * include/grub/mips/kernel.h (grub_halt): ... here.
5287 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
5288 here...
5289 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
5290 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
5291 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
5292 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
5293 proto.
5294 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
5295 from here ...
5296 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
5297 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
5298 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
5299 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
5300 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
5301 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
5302 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
5303 (grub_phys_addr_t): Moved from here ...
5304 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
5305 (grub_vtop): Moved from here ...
5306 * include/grub/mips/memory.h (grub_vtop): ... here.
5307 (grub_map_memory): Moved from here ...
5308 * include/grub/mips/memory.h (grub_map_memory): ... here.
5309 (grub_unmap_memory): Moved from here ...
5310 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
5311 (grub_machine_mmap_iterate): Moved from here ...
5312 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
5313 (grub_mmap_get_lower): Moved from here ...
5314 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
5315 (grub_mmap_get_upper): Moved from here ...
5316 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
5317 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
5318 here ...
5319 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
5320 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
5321 here ...
5322 * include/grub/mips/time.h (grub_get_rtc): ... here.
5323 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
5324 here ...
5325 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
5326 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
5327 here ...
5328 * include/grub/mips/time.h (grub_cpu_idle): ... here.
5329 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
5330 definition.
5331 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
5332 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
5333 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
5334 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
5335 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
5336 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
5337 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
5338 (GRUB_MACHINE_LINK_ADDR): Likewise.
5339 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
5340 to 6.
5341 * util/grub-install.in: Run dvhtool on ARC.
5342 * util/grub-mkimage.c (image_targets): Add mips-arc.
5343 (generate_image): Handle ECOFF output for mips-arc.
5344
5345 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5346
5347 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
5348 blocks.
5349
5350 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5351
5352 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
5353 after enabling port.
5354
5355 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5356
5357 Skip incorrect USB devices.
5358
5359 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
5360 configcnt == 0.
5361 * include/grub/usb.h (grub_usb_err_t): New enum value
5362 GRUB_USB_ERR_BADDEVICE.
5363
5364 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 Fuloong video init support.
5367
5368 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
5369 well.
5370 (grub_vga_read_arx): New function.
5371 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
5372 definition.
5373 (framebuffer): New members io, mmioptr and mmiobase.
5374 (read_sis_cmd): New function.
5375 (write_sis_cmd): Likewise.
5376 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
5377 rather than 640x400.
5378 * grub-core/video/sis315_init.c: New file.
5379
5380 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5381
5382 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
5383 non-loongson.
5384 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
5385 to grub_dl_register_symbol.
5386
5387 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5388
5389 Fix compilation errors.
5390
5391 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
5392 potentially unused.
5393 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
5394 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
5395 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
5396 to loongson machines.
5397
5398 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5399
5400 Several FS mtime support.
5401
5402 * grub-core/fs/affs.c (grub_affs_time): New struct.
5403 (grub_affs_file): New field mtime.
5404 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
5405 type. Removed 'size'. New field 'di'. All users updated.
5406 (grub_affs_mount): Simplify checsum checking.
5407 (grub_affs_iterate_dir): New helper grub_affs_create_node.
5408 (grub_affs_dir): Handle mtime.
5409 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
5410 (grub_cpio_dir): Likewise.
5411 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
5412 (grub_hfs_filerec): New field mtime.
5413 (grub_hfs_dir): Handle mtime.
5414 (grub_hfs_mtime): New function.
5415 (grub_hfs_fs): Register grub_hfs_mtime.
5416 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
5417 (grub_iso9660_dir): New field mtime.
5418 (grub_fshelp_node): New field dirent.
5419 (iso9660_to_unixtime): New function.
5420 (iso9660_to_unixtime2): Likewise.
5421 (grub_iso9660_read_symlink): Use node->dirent.
5422 (grub_iso9660_iterate_dir): Likewise.
5423 (grub_iso9660_dir): Set mtime.
5424 (grub_iso9660_mtime): New function.
5425 (grub_iso9660_fs): Register grub_iso9660_mtime.
5426 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
5427 (grub_jfs_inode): New fields atime, ctime and mtime.
5428 (grub_jfs_dir): Set mtime.
5429 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
5430 * grub-core/fs/ntfs.c (list_file): Set mtime.
5431 (grub_ntfs_dir): Likewise.
5432 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
5433 (grub_reiserfs_iterate_dir): Set mtime.
5434 (grub_reiserfs_dir): Likewise.
5435 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
5436 (grub_fshelp_node): Likewise.
5437 (grub_sfs_iterate_dir): Set mtime.
5438 (grub_sfs_dir): Likewise.
5439 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
5440 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
5441 (grub_xfs_inode): New fields atime, mtime, ctime.
5442 (grub_xfs_dir): Set mtime.
5443 * include/grub/datetime.h (grub_datetime2unixtime): New function.
5444 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
5445 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
5446
5447 Support UDF symlinks.
5448
5449 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
5450 (grub_ufs_read_symlink): New function. All users updated.
5451
5452 Check amiga partmap checksum.
5453
5454 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
5455 (grub_amiga_partition): Likewise.
5456 (amiga_partition_map_checksum): New function.
5457 (amiga_partition_map_iterate): Check checksum.
5458
5459 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5460
5461 ROMFS support.
5462
5463 * Makefile.util.def (libgrubmods.a): Add romfs.
5464 * grub-core/Makefile.core.def (romfs): New module.
5465 * grub-core/fs/romfs.c: New file.
5466
5467 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5468
5469 Squashfs v4 support.
5470
5471 * Makefile.util.def (libgrubmods.a): Add squash4.
5472 * grub-core/Makefile.core.def (squash4): New module.
5473 * grub-core/fs/squash4.c: New file.
5474 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
5475 disk_input_start, disk_input.
5476 (get_byte): Handle disk_input.
5477 (grub_zlib_disk_read): New function.
5478 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
5479
5480 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5481 2011-05-15 Feiran Zheng <famcool@gmail.com>
5482
5483 * Makefile.util.def (libgrubmods.a): Add minix3.
5484 * grub-core/Makefile.core.def (minix3): New module.
5485 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
5486 (GRUB_MINIX_BSIZE): Removed.
5487 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
5488 (grub_minix_ino_t): New type.
5489 (grub_minix_le_to_cpu_ino): New macro.
5490 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
5491 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
5492 (grub_minix_data): New field block_size.
5493 (grub_minix_read_file): Handle 64-bit correctly.
5494 * grub-core/fs/minix3.c: New file.
5495
5496 2011-05-15 Tristan Gingold <gingold@free.fr>
5497 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
5498 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5499
5500 IA64 support.
5501
5502 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
5503 * configure.ac: Add ia64-efi target.
5504 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
5505 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
5506 * gentpl.py: Add ia64_efi platform.
5507 Rename x86_efi to efi and Add ia64-efi. All users updated.
5508 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
5509 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
5510 Remove kern/generic/rtc_get_time_ms.c on EFI.
5511 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
5512 kern/ia64/dl_helper.c on ia64-efi.
5513 Add kern/emu/cache.c on emu.
5514 (linux): Use on loader/ia64/efi/linux.c on ia64.
5515 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
5516 whether symbol is a function.
5517 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
5518 (grub_symbol): New field 'isfunc'.
5519 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
5520 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
5521 (grub_dl_load_segments): Place all sections into the same region.
5522 [__ia64__]: Create trampolines and got.
5523 [GRUB_MACHINE_EMU]: Call mprotect.
5524 (grub_dl_resolve_symbols): Resolve symbol type as well.
5525 [__ia64__]: Create function descriptors.
5526 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
5527 (grub_rtc_get_time_ms): ... this. Expressions simplified.
5528 (grub_get_rtc): New function.
5529 * grub-core/kern/emu/cache.c [__ia64__]: New file.
5530 * grub-core/kern/emu/cache.S: Renamed to ...
5531 * grub-core/kern/emu/cache_s.S: ... this.
5532 [__ia64__]: Add a nop.
5533 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
5534 [__ia64__]: New function.
5535 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
5536 * grub-core/kern/ia64/dl.c: New file.
5537 * grub-core/kern/ia64/dl_helper.c: Likewise.
5538 * grub-core/kern/ia64/efi/init.c: New file.
5539 * grub-core/kern/ia64/efi/startup.S: Likewise.
5540 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
5541 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
5542 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
5543 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
5544 * grub-core/loader/ia64/efi/linux.c: New file.
5545 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
5546 (GRUB_MOD_DEP): Likewise.
5547 (grub_dl) [__ia64__]: New fields got and tramp.
5548 (grub_dl): New field 'base'.
5549 (grub_dl_register_symbol): New argument isfunc. All users updated.
5550 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
5551 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
5552 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
5553 (grub_ia64_dl_get_tramp_got_size): New proto.
5554 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
5555 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
5556 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
5557 * include/grub/efi/api.h: Skip call wrappers on ia64.
5558 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
5559 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
5560 * include/grub/elf.h (ELF_ST_INFO): New definition.
5561 * include/grub/ia64/efi/kernel.h: New file.
5562 * include/grub/ia64/efi/memory.h: Likewise.
5563 * include/grub/ia64/efi/time.h: Likewise.
5564 * include/grub/ia64/kernel.h: Likewise.
5565 * include/grub/ia64/setjmp.h: Likewise (from glibc).
5566 * include/grub/ia64/time.h: New file.
5567 * include/grub/ia64/types.h: Likewise.
5568 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
5569 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
5570 New protos.
5571 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
5572 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
5573 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
5574 * util/grub-mkimage.c (image_target_desc): New field pe_target.
5575 All users updated.
5576 (EFI64_HEADER_SIZE): New definition. All users updated.
5577 (image_targets): Add ia64-efi.
5578 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
5579 jumpers_addr. All users updated.
5580 Create function descriptors.
5581 (count_funcs): New function.
5582 (unaligned_uint32): New struct.
5583 (MASK20): New definition.
5584 (MASK19): Likewise.
5585 (MASKF21): Likewise.
5586 (add_value_to_slot_20b): New function.
5587 (add_value_to_slot_21_real): Likewise.
5588 (add_value_to_slot_21): Likewise.
5589 (ia64_kernel_trampoline): New struct.
5590 (nopm): New variable.
5591 (jump): Likewise.
5592 (make_trampoline): New function.
5593 (relocate_addresses): Handle ia64.
5594 (make_reloc_section): Likewise.
5595 (load_image): Likewise.
5596
5597 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5598
5599 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
5600 warning. Move variables before code while on it.
5601
5602 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
5603
5604 Fuloong support.
5605
5606 * configure.ac: Rename yeeloong platform to loongson. All users updated.
5607 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
5608 * grub-core/boot/mips/loongson/fuloong.S: New file.
5609 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
5610 Explicitly init CS5536.
5611 [FULOONG]: Don't use serial until CS5536 is available.
5612 Set GPIO based on dumps.
5613 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
5614 [FULOONG]: Handle GPIO and memory controller differences.
5615 Parse machine type in $a2.
5616 * grub-core/boot/mips/startup_raw.S: Determine and save the
5617 architecture.
5618 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
5619 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
5620 init on architecture type.
5621 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
5622 SIS315E. Don't init at_keyboard on fuloong.
5623 (grub_halt): Support Fuloong.
5624 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
5625 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
5626 (loongson_machtypes): New array.
5627 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
5628 type.
5629 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
5630 config. All users updated. Handle CS5536 serial.
5631 * grub-core/term/serial.c (grub_serial_register): Conditionalise
5632 default port on machine type. Register serial as inactive.
5633 * grub-core/video/sis315pro.c: New file.
5634 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
5635 definition.
5636 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
5637 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
5638 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
5639 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
5640 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
5641 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
5642 to ...
5643 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
5644 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
5645 definition.
5646 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
5647 (grub_arch_machine): New extern var.
5648 * include/grub/mips/loongson/serial.h
5649 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
5650 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
5651 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
5652 (GRUB_MACHINE_SERIAL_PORT0): ... this.
5653 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
5654 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
5655 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
5656 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
5657 * include/grub/term.h (grub_term_register_input_inactive): New inline
5658 function.
5659 (grub_term_register_output_inactive): Likewise.
5660 * include/grub/video.h (grub_video_driver_id): New value
5661 GRUB_VIDEO_DRIVER_SIS315PRO.
5662 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
5663 New field "names". All users updated.
5664 New field value IMAGE_FULOONG_FLASH.
5665 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
5666
5667 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
5668
5669 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
5670 and add some clarification.
5671
5672 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5673
5674 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
5675 platforms if kernel is compressed.
5676
5677 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5678
5679 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
5680 unused modules since currently referrence counter isn't reliable and
5681 there isn't much memory to recover there anyway.
5682
5683 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5684
5685 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
5686 rather than resetting it to allow modules to reference themselves
5687 in init.
5688
5689 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5690
5691 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
5692 counter on dependencies since grub_dl_unref already handles this.
5693
5694 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5695
5696 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
5697 on error if not already done.
5698
5699 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5700
5701 Fix few potential memory misusage.
5702
5703 * grub-core/font/font.c (load_font_index): Don't free char_index to
5704 avoid double free.
5705 (grub_font_load): Zero-fill font at alloc for safety.
5706 Close file on error.
5707 (free_font): Free bmp_idx.
5708
5709 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5710
5711 * docs/grub.texi (Installation): Fix several outdated claims.
5712
5713 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5714
5715 Handle module_license on windows.
5716
5717 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
5718 sections shifted.
5719 (insert_string): Make argument const char * instead of char *.
5720 (write_section_data): Handle long section names.
5721 Handle module_license.
5722
5723 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5724
5725 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
5726 handle class-free menuentries.
5727 (grub_normal_add_menu_entry): Add a check to be sure.
5728
5729 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5730
5731 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
5732 PgUp and PgDown.
5733
5734 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5735
5736 * configure.ac: Bump version to 1.99.
5737
5738 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5739
5740 Give ATA device a bit more time on first try in order to allow disks
5741 to spin up.
5742
5743 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
5744 if dev->present is 1. Reset dev->present on failure.
5745 (grub_ata_device_initialize): Set dev->present to 1.
5746 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
5747 (grub_ata_device): New member 'present'.
5748
5749 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5750
5751 * util/grub-mkimage.c (generate_image): Update hash.
5752
5753 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5754
5755 Flush caches on DMA memory.
5756
5757 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
5758 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
5759 (grub_dma_free): Likewise.
5760 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
5761
5762 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5763
5764 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
5765 to avoid asm treating ld and sd as macros.
5766
5767 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5768
5769 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
5770 decompressor.
5771
5772 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5773
5774 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
5775 grub_decompress_core since later would fail if grub_decompress_core
5776 is too far.
5777
5778 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5779
5780 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
5781 R_MIPS_JALR since it's used by newer compiler.
5782
5783 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5784
5785 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
5786
5787 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5788
5789 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
5790 file_path to 0 for surety.
5791 (grub_chainloader_boot): Set exit_data to NULL.
5792 Unset the loader once done.
5793 (grub_cmd_chainloader): Fix confusing error message if file is empty.
5794
5795 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5796
5797 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
5798 unknown key into a dprintf.
5799
5800 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5801
5802 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
5803 on first non-existant partition.
5804
5805 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5806
5807 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
5808 openning fails.
5809 Reported by: Mark Korenberg.
5810
5811 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5812
5813 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
5814 overflow.
5815
5816 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5817
5818 * util/grub-mkimage.c (main): Explicitely flush and sync the output
5819 before closing to ensure that it will be readable by grub-setup.
5820
5821 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5822
5823 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
5824 (devpath_1): Use MAKE_PIWG_PATH.
5825 (devpath_2): Likewise.
5826 (devpath_3): Likewise.
5827 (devpath_4): Likewise.
5828 (devpath_5): Likewise.
5829 (devpath_6): Likewise.
5830
5831 The appleldr.mod was checked that to be binary identical to previous
5832 version.
5833
5834 2011-05-05 Zach <mikezackles>
5835
5836 Support 2010 Macbooks.
5837
5838 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
5839 (devs): Add devpath_6.
5840
5841 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5842
5843 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
5844 /dev/random. /dev/urandom is good enough for our purposes (salting).
5845
5846 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5847
5848 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
5849
5850 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5851
5852 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
5853 hexadecimal.
5854
5855 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5856
5857 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
5858 and not 0 on failure.
5859
5860 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
5861
5862 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
5863 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
5864 disk; otherwise grub_fs_probe will not fall back to the next
5865 filesystem.
5866 (grub_pxefs_open): Likewise, for consistency.
5867 Reported and tested by: Ezekiel Grave.
5868
5869 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
5870
5871 * tests/partmap_test.in: Don't hardcode path to parted.
5872 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
5873
5874 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
5875
5876 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
5877 of `ls' to find out which devices are available.
5878
5879 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5880
5881 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
5882 than source address for efi mmap buffer.
5883
5884 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5885
5886 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
5887 wrong action on non-detecting the magic.
5888
5889 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5890
5891 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
5892 already supplied by another part of the module (fixes compilation on
5893 FreeBSD).
5894
5895 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5896
5897 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
5898 match the one used by mdadm.
5899
5900 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5901
5902 * po/README: Add instructions for creating po/LINGUAS.
5903
5904 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5905
5906 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
5907 #551428.
5908
5909 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
5910 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
5911 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
5912 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
5913 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
5914 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
5915 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
5916 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
5917 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
5918 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
5919 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
5920 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
5921 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
5922 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
5923 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
5924 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
5925 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
5926 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
5927 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
5928 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
5929 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
5930 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
5931
5932 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5933
5934 * grub-core/kern/emu/getroot.c
5935 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
5936 test that was incorrectly reintroduced in r3214.
5937 Reported by: Ian Dall. Fixes Savannah bug #33133.
5938
5939 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5940
5941 Fix stack pointer handling in 16-bit relocator.
5942
5943 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
5944 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
5945 Fixes Ubuntu bug #683904.
5946
5947 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5948
5949 * configure.ac: Bump version to 1.99~rc2.
5950
5951 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
5954 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
5955 * grub-core/lib/x86_64/setjmp.S: Likewise.
5956 * grub-core/lib/mips/setjmp.S: Likewise.
5957 * grub-core/lib/powerpc/setjmp.S: Likewise.
5958 * grub-core/lib/sparc64/setjmp.S: Likewise.
5959
5960 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5961
5962 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
5963 * grub-core/lib/efi/datetime.c: Likewise.
5964
5965 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5966
5967 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
5968 New function.
5969 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
5970 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
5971 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
5972
5973 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5974
5975 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
5976 bitmap.
5977 (grub_gfxterm_term_init): Likewise.
5978
5979 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5980
5981 Take into account the decorations the computing menu entry width.
5982
5983 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
5984 (grub_gfxmenu_create_box): Register get_border_width.
5985 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
5986 if available.
5987 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
5988 get_border_width.
5989
5990 2011-04-18 Endres Puschner <code@e7p.de>
5991
5992 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
5993 Don't skip first class.
5994
5995 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5996
5997 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
5998 chunks.
5999 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
6000
6001 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6002
6003 Complete 64-bit division support.
6004
6005 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
6006 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
6007 * include/grub/misc.h (grub_divmod64): Rename to ...
6008 (grub_divmod64_full): ... this.
6009 (grub_divmod64): New inline function.
6010
6011 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6012
6013 * util/grub-mkimage.c (generate_image): Add forgotten comma.
6014
6015 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
6016
6017 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
6018 performing the necessary test.
6019
6020 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6021
6022 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
6023 (kfreebsd.elf): Likewise.
6024 (pc-chainloader.elf): Likewise.
6025 (ntldr.elf): Likewise.
6026
6027 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
6028
6029 Identify RAID by its UUID rather than (guessed) name.
6030
6031 * grub-core/disk/raid.c (ascii2hex): New function.
6032 (grub_raid_open): Accept mduuid/%s specification.
6033 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
6034 (get_mdadm_uuid): ... this.
6035 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
6036
6037 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
6038
6039 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
6040 to negative size.
6041
6042 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
6043
6044 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
6045 btrfs subvolume.
6046 * util/grub.d/20_linux_xen.in: Likewise.
6047
6048 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
6049
6050 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
6051 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
6052
6053 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
6054 Build a list of relevant visible mounts using the mnt_id and
6055 parent_mnt_id fields, and then scan that list at the end.
6056
6057 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
6058
6059 * docs/grub.texi (normal): New section.
6060 (normal_exit): New section.
6061 (Embedded configuration): Add reference to normal.
6062 (GRUB only offers a rescue shell): Likewise.
6063 * docs/grub-dev.texi (Error Handling): Fix typo.
6064
6065 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
6066
6067 * NEWS: Drop obsolete entry about probe-only btrfs support.
6068
6069 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
6070
6071 * util/import_gcry.py: Fix typo.
6072
6073 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6074
6075 * NEWS: Add btrfs support.
6076
6077 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6078 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
6079
6080 BtrFS support. Written by me (Vladimir) with important bugfixes and
6081 even more important testing by Colin.
6082
6083 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
6084 * grub-core/Makefile.core.def (btrfs): Add crc.c.
6085 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
6086 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
6087 mem_input_off and mem_input. All users updated to accept in-RAM input.
6088 (gzio_seek): New function.
6089 (test_zlib_header): Likewise.
6090 (grub_gzio_read): Likewise.
6091 (grub_zlib_decompress): Likewise.
6092 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
6093 Accept partial and non-virtual mounts.
6094 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
6095 avoid receiving /dev/dm-X as device.
6096 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
6097 Handle bind and partial mounts.
6098 * grub-core/lib/crc.c: New file.
6099 * include/grub/deflate.h: Likewise.
6100 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
6101 proto.
6102 * include/grub/lib/crc.h: New file.
6103
6104 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6105
6106 Implement automatic module license checking according to new GNU
6107 guidelines.
6108
6109 * grub-core/kern/dl.c (grub_dl_check_license): New function.
6110 (grub_dl_load_core): Use grub_dl_check_license.
6111 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
6112 (GRUB_MOD_LICENSE): Likewise.
6113 (GRUB_MOD_DUAL_LICENSE): Likewise.
6114 All modules updated.
6115
6116 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
6117
6118 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
6119 reserved_first_sector to 1. btrfs reserves plenty of space for boot
6120 loaders.
6121 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
6122
6123 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6124
6125 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
6126
6127 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6128
6129 * util/grub-fstest.c (read_file): Report GRUB error if file opening
6130 failed.
6131
6132 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
6133
6134 * grub-core/kern/file.c (grub_file_open): Don't take into account the
6135 parenthesis in the middle of the filename.
6136
6137 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6138
6139 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
6140 rather than trying to put initrd way too high.
6141 Reported by: Ryan Lortie <desrt@desrt.ca>
6142
6143 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6144
6145 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
6146 improperly removed string.
6147
6148 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6149
6150 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
6151 is_disk.
6152 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
6153 (open_device) Likewise.
6154 (grub_util_biosdisk_close): Likewise.
6155 Reported by: Mark Korenberg.
6156
6157 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
6158
6159 * util/grub-mkconfig_lib.in: Add missing quotes.
6160
6161 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
6162
6163 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
6164 is NULL.
6165
6166 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6167
6168 Dynamically count the number of lines for the lower banner.
6169
6170 * grub-core/normal/menu_entry.c (per_term_screen): New member
6171 num_entries.
6172 (print_down): Use num_entries.
6173 (update_screen): Likewise.
6174 (grub_menu_entry_run): Set num_entries.
6175 * grub-core/normal/menu_text.c (menu_viewer_data): New member
6176 num_entries.
6177 (grub_print_message_indented): Move real part to ...
6178 (grub_print_message_indented_real): ... here. Additional argument
6179 dry_run.
6180 (draw_border): Additional argument num_entries.
6181 (print_message): Additional argument dry_run.
6182 (print_entries): Receive menu viewer data.
6183 (grub_menu_init_page): New argment num_entries.
6184 (menu_text_set_chosen_entry): Use num_entries.
6185 (grub_menu_try_text): Likewise.
6186 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
6187 All users updated.
6188 (grub_ucs4_count_lines): New function.
6189 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
6190 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
6191 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
6192 (grub_term_border_height): Likewise.
6193 (grub_term_num_entries): Likewise.
6194
6195 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6196
6197 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
6198 Remove now unused string.
6199
6200 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
6201
6202 * docs/grub-dev.texi (Finding your way around): Update for 1.99
6203 build system.
6204 (Getting started): GRUB is developed in Bazaar now, not Subversion.
6205
6206 (Comment): Fix typo.
6207 (Getting started): General copy-editing.
6208 (Typical Development Experience): Likewise.
6209 (Error Handling): Likewise.
6210 (Video API): Likewise.
6211
6212 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
6213
6214 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
6215 throughout.
6216
6217 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6218
6219 * util/grub-mkimage.c (main): Handle special naming of yeeloong
6220 directory.
6221
6222 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
6223
6224 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
6225 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
6226 "development".
6227
6228 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6229
6230 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
6231 grub_strcpy since the lines aren't necessarily 0-terminated.
6232
6233 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6234
6235 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
6236 root on legacy.
6237
6238 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6239
6240 * grub-core/commands/probe.c (options): Argument to set isn't optional.
6241 (GRUB_MOD_INIT): DEVICE isn't optional.
6242
6243 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6244
6245 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
6246 word on new line if it's too long anyway. Fixes a hang.
6247
6248 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6249
6250 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
6251 const.
6252 * util/grub-setup.c (main): Reuse md device name if available.
6253 * util/raid.c (grub_util_raid_getmembers): Receive device name and
6254 not GRUB name as argument.
6255 Based on patch by: Florian Wagner <fwagner>.
6256
6257 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6258
6259 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
6260 Place mbi on low memory for better compatibility.
6261
6262 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6263
6264 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
6265
6266 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6267 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
6268
6269 * autogen.sh: Ensure that collate and ctype locale is C.
6270 * conf/Makefile.common: Likewise.
6271
6272 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6273
6274 * grub-core/normal/menu.c: Add missing include.
6275
6276 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6277
6278 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
6279
6280 2011-04-08 Martin Zuther <mzuther@mzuther.de>
6281
6282 * util/grub-mkconfig.in: Ignore emacsen backup.
6283
6284 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6285
6286 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
6287 on open.
6288 (grub_util_biosdisk_close): Likewise.
6289
6290 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
6291
6292 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
6293 const attribute and use grub_isdigit.
6294
6295 2011-04-06 Andrey <dev_null@ukr.net>
6296
6297 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
6298 gcc warning.
6299
6300 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6301
6302 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
6303 useful grub_dprintf's.
6304
6305 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6306
6307 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
6308
6309 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6310
6311 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
6312
6313 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6314
6315 Output errors if theme loading failed.
6316
6317 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
6318 grub_gfxterm_fullscreen on error paths to ...
6319 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
6320 theme loading error.
6321
6322 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6323
6324 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
6325 space for older compilers.
6326 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6327
6328 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
6329
6330 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
6331 and report them as not RAID members since they are useless for GRUB.
6332 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6333
6334 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6335
6336 Increase LVM implementation robustness in order not to crash on
6337 configurations like pvmove. Previously code assumed that in some places
6338 only lvs or only pvs are used whereas it seems that they are used
6339 interchangeably.
6340
6341 * grub-core/disk/lvm.c (read_node): New function.
6342 (read_lv): Use read_node.
6343 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
6344 Match volumes only at the end when all lvs are found. Take both
6345 pvs (first) and lvs (second) into account.
6346 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
6347 mirror_* into node_*. All users updated.
6348 (grub_lvm_stripe): Merge this ...
6349 (grub_lvm_mirror): ... and this ...
6350 (grub_lvm_node): ... into this. All users updated.
6351
6352 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6353
6354 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
6355 of function to allow further scanning for LVMs.
6356
6357 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6358
6359 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
6360 on failed seek as it breaks open fd reusage.
6361
6362 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6363
6364 * util/grub-install.in: Add a recommendation to use --recheck before
6365 reporting bugs.
6366
6367 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6368
6369 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
6370 are obtained.
6371
6372 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
6373
6374 GRUB developper manual based on existing Internals section and
6375 contributions by the various authors with active copyright assignment.
6376
6377 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
6378 * docs/font_char_metrics.png: New file.
6379 * docs/font_char_metrics.txt: Likewise.
6380 * docs/grub-dev.texi: Likewise.
6381 * docs/grub.texi (Internals): Move from here ...
6382 * docs/grub-dev.texi: ... here.
6383
6384 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
6385
6386 Store the loopback device as data on loopback grub_disk structures,
6387 rather than the file it points to. This fixes use of freed memory
6388 if an existing loopback device is replaced.
6389
6390 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
6391 disk->data, not dev->file.
6392 (grub_loopback_read): Adjust file assignment to match.
6393 Fixes Ubuntu bug #742967.
6394
6395 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
6396
6397 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
6398 when replacing an existing device.
6399
6400 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
6401
6402 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
6403 memory corruptions.
6404
6405 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
6406 unsigned.
6407 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
6408 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
6409 (grub_jfs_read_inode): Likewise.
6410 (grub_jfs_opendir): Likewise. Remove now useless casts.
6411 (grub_jfs_getent): Likewise.
6412 Make ino a grub_uint32_t rather than int.
6413 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
6414 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
6415 division and module with bit operations.
6416 (grub_jfs_find_file): Make ino a grub_uint32_t.
6417 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
6418
6419 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
6420
6421 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
6422 warning. (This was in fact always initialised before use, but GCC
6423 wasn't smart enough to prove that.)
6424 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
6425
6426 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
6427
6428 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
6429 stack alignment.
6430 (efi_wrap_1): Likewise.
6431 (efi_wrap_2): Likewise.
6432 (efi_wrap_3): Likewise.
6433 (efi_wrap_4): Likewise.
6434 (efi_wrap_5): Likewise.
6435 (efi_wrap_6): Likewise.
6436 (efi_wrap_10): Likewise.
6437 Based on information by: Red Hat/Peter Jones.
6438
6439 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
6440
6441 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
6442 set-but-not-used variable.
6443
6444 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
6445
6446 * docs/grub.texi (Simple configuration): Be more explicit about
6447 GRUB_DEFAULT, and add an example.
6448 Reported by: Leslie Rhorer.
6449
6450 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6451
6452 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
6453 shell".
6454
6455 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
6456
6457 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
6458 * util/grub.d/20_linux_xen.in: Likewise.
6459
6460 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6461
6462 * util/grub.d/10_linux.in: Try alternative config filenames where
6463 we parse config file.
6464 * util/grub.d/20_linux_xen.in: Likewise.
6465
6466 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
6467
6468 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
6469 * util/grub.d/20_linux_xen.in: Likewise.
6470
6471 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6472
6473 * grub-core/disk/raid.c (insert_array): Add few potentially
6474 useful grub_util_info.
6475 (grub_raid_register): Likewise.
6476
6477 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6478
6479 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
6480 Preserve partition number in mdadm code path.
6481
6482 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6483
6484 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
6485 few potentially useful grub_util_info.
6486
6487 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6488
6489 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
6490
6491 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6492
6493 * docs/grub.texi (default): Use @example rather than nested
6494 itemized lists to avoid breaking gendocs.
6495
6496 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6497
6498 * docs/grub.texi (Future): Update.
6499
6500 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6501
6502 * docs/grub.texi (Environment): New chapter.
6503 (Changes from GRUB Legacy): Link to "Environment block" section for
6504 details of limitations.
6505 (Simple configuration): Likewise. Link to documentation of gfxmode
6506 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
6507 respectively.
6508 (Shell-like scripting): Note that normal variables are stored in the
6509 environment.
6510 (gettext): Link to documentation of lang and locale_dir.
6511 (list_env): New section.
6512 (load_env): New section.
6513 (save_env): New section.
6514
6515 (Reporting bugs): Fix typo.
6516
6517 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6518
6519 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
6520 the example.
6521
6522 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
6523
6524 * grub-core/term/at_keyboard.c (set_scancodes)
6525 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
6526
6527 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6528
6529 * docs/grub.texi (Menu-specific commands): Remove some semantics
6530 that were true in GRUB Legacy but not in GRUB 2.
6531 (submenu): New section.
6532 (false): New section.
6533 (read): New section.
6534 (true): New section.
6535
6536 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6537
6538 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
6539
6540 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
6541
6542 * docs/grub.texi (Simple configuration): Explain some of the
6543 current limitations of grub-mkconfig.
6544 Reported by: Leslie Rhorer.
6545
6546 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6547
6548 Old macs search for boot.efi rather than for bootia32.efi.
6549
6550 * util/grub-install.in: Copy bootia32.efi to boot.efi.
6551 * util/grub-mkrescue.in: Likewise.
6552 Suggested by: Peter Jones.
6553
6554 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6555
6556 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
6557
6558 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6559
6560 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
6561 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
6562 (grub_lvm_mirror): New struct.
6563 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
6564 (grub_lvm_iterate): Iterate only visible volumes.
6565 (grub_lvm_read): Factor out to ..
6566 (read_lv): ... this. Support mirrors.
6567 (grub_lvm_read): New wrapper function.
6568 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
6569 stripped or mirrored.
6570
6571 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6572
6573 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
6574
6575 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
6576
6577 * docs/grub.texi (loopback): New section.
6578
6579 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
6580
6581 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
6582 removed -p option.
6583
6584 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
6585
6586 * docs/grub.texi (BIOS installation): New section, partly based on
6587 previous text in other sections.
6588 (Installing GRUB using grub-install): Replace BIOS discussion with a
6589 cross-reference.
6590 (Images): Likewise.
6591
6592 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6593
6594 * grub-core/kern/emu/hostdisk.c (find_partition_start)
6595 [HAVE_DIOCGDINFO]: Add safety checks.
6596
6597 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6598
6599 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
6600 per default compiled in kernel and prior to 8.0 isn't shipped at all.
6601
6602 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
6603
6604 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
6605 real_sb->size is zero (e.g. RAID-0), get the disk size from
6606 real_sb->data_size instead.
6607 Fixes Ubuntu bug #743136.
6608
6609 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6610
6611 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
6612 printf clauses for printing size and start.
6613
6614 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6615
6616 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
6617 Reported and tested by: Timothy Nikkel.
6618
6619 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6620
6621 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
6622 (dirty_region_add_real): ... this.
6623 (dirty_region_add): Don't discard margin refresh when performing
6624 scheduled repaint.
6625
6626 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6627
6628 * grub-core/lib/relocator.c (allocate_regstart)
6629 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
6630 terminals are capabple of malloc-free operation.
6631 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
6632 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
6633
6634 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
6635
6636 * util/grub-setup.c: Copy the partition table zone if floppy support
6637 is disabled, even if no partition table is found.
6638
6639 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
6640 during POST if an invalid partition table is contained in the PBR
6641 of the active partition when GRUB is installed to a partition.
6642
6643 2011-03-28 Colin Watson <cjwatson@debian.org>
6644
6645 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
6646 comment.
6647
6648 2011-03-28 Colin Watson <cjwatson@debian.org>
6649
6650 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
6651 to be specific about what kind of RAID device we're scanning for.
6652
6653 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
6654
6655 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
6656 return freed string.
6657
6658 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
6661
6662 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6663
6664 Use libgeom on FreeBSD to detect partitions.
6665
6666 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
6667 (grub-mkrelpath): Likewise.
6668 (grub-script-check): Likewise.
6669 (grub-editenv): Likewise.
6670 (grub-mkpasswd-pbkdf2): Likewise.
6671 (grub-fstest): Likewise.
6672 (grub-mkfont): Likewise.
6673 (grub-mkdevicemap): Likewise.
6674 (grub-probe): Likewise.
6675 (grub-setup): Likewise.
6676 (grub-ofpathname): Likewise.
6677 (grub-mklayout): Likewise.
6678 (example_unit_test): Likewise.
6679 (grub-menulst2cfg): Likewise.
6680 * grub-core/Makefile.core.def (grub-emu): Likewise.
6681 (grub-emu-lite): Likewise.
6682 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
6683 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
6684 define HAVE_DIOCGDINFO.
6685 (follow_geom_up) [FreeBSD]: New function.
6686 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
6687 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
6688 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
6689 unconditionally of HAVE_DIOCGDINFO.
6690
6691 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
6692
6693 Fix FreeBSD compilation problem.
6694
6695 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
6696 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
6697
6698 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
6699
6700 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
6701 Switch back to page zero before loading a kernel, since some kernel
6702 drivers expect that.
6703 Thanks to: Felix Kuehling.
6704
6705 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6706
6707 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
6708 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
6709 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
6710
6711 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6712
6713 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
6714 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
6715
6716 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6717
6718 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
6719 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
6720 malloc is disabled.
6721
6722 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6723
6724 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
6725 for modules headers when counting the needed allocation size.
6726
6727 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6728
6729 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
6730 if no ASCII character is found to prevent crash.
6731
6732 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
6733
6734 * grub-core/video/bitmap.c (match_extension): Ignore case.
6735
6736 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6737
6738 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
6739
6740 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6741
6742 * grub-core/script/parser.y: Declare "time" as valid argument.
6743
6744 2011-03-23 Peter Jones <pjones@redhat.com>
6745
6746 Fix incorrect assert failure reporting.
6747
6748 * grub-core/tests/example_functional_test.c (example_test): Add
6749 a failure comment.
6750 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
6751 (failure_start): ...this. Check that malloc succeeded.
6752 Don't call xvasprintf. Return failure struct.
6753 (failure_append_vtext): New function.
6754 (failure_append_text): Likewise.
6755 (add_failure): Likewise.
6756 (grub_test_assert_helper): Likewise.
6757 * include/grub/test.h (grub_test_assert_helper): New declaration.
6758 (grub_test_assert): Macro rewritten.
6759
6760 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6761
6762 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
6763
6764 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6765
6766 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
6767
6768 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6769
6770 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
6771 into GRUB-style one.
6772
6773 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6774
6775 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
6776 error and not grub_errno.
6777 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
6778
6779 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6780
6781 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
6782 GRUB_USB_SPEED_NONE in case of failure and not the error code.
6783
6784 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6785
6786 * grub-core/efiemu/i386/pc/cfgtables.c
6787 (grub_machine_efiemu_init_tables): Make declaration a prototype.
6788 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
6789 (grub_xnu_unlock): Likewise.
6790 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
6791
6792 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6793
6794 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
6795 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
6796 * grub-core/commands/hashsum.c (aliases): Likewise.
6797 * grub-core/commands/setpci.c (pci_registers): Likewise.
6798 * grub-core/disk/usbms.c (attach_hook): Likewise.
6799 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
6800 (zio_checksum_table): Likewise.
6801 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
6802 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
6803 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
6804 * grub-core/lib/relocator.c (leftovers): Likewise.
6805 (extra_blocks): Likewise.
6806 * grub-core/loader/i386/bsd.c (relocator): Likewise.
6807 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
6808 (modules_last): Likewise.
6809 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
6810 (devices): Likewise.
6811 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
6812 (modules_last): Likewise.
6813 * grub-core/normal/auth.c (users): Likewise.
6814 * grub-core/normal/context.c (initial_menu): Likewise.
6815 (current_menu): Likewise.
6816 * grub-core/normal/crypto.c (crypto_specs): Likewise.
6817 * grub-core/term/serial.c (grub_serial_ports): Likewise.
6818 (grub_serial_terminfo_input_template): Likewise.
6819 (grub_serial_terminfo_output_template): Likewise.
6820 (grub_serial_terminfo_input): Likewise.
6821 (grub_serial_terminfo_output): Likewise.
6822 (registered): Likewise.
6823 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
6824
6825 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6826
6827 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
6828 grub_video_mode_type_t.
6829 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
6830 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
6831 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
6832
6833 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6834
6835 * util/grub-install.in: Correct the x86-64 name as x86_64.
6836
6837 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
6838
6839 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
6840 initial chunk read from the kernel always includes GRUB's multiboot
6841 header, which is now outside the first sector.
6842
6843 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
6844
6845 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
6846 cached mmap_size, so that this works correctly when called multiple
6847 times.
6848 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
6849
6850 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
6851
6852 * docs/grub.texi (Simple configuration): Tidy up formatting.
6853
6854 2011-03-07 Szymon Janc <szymon@janc.net.pl>
6855
6856 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
6857 Set-but-not-used variable removed.
6858
6859 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6860
6861 Workaround yet another IEEE1275 bug.
6862
6863 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6864 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
6865 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
6866 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
6867 is set.
6868 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6869 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
6870
6871 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6872
6873 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
6874 error.
6875
6876 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
6877
6878 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
6879 empty, since in that case we can only generate either nothing or a
6880 syntactically invalid configuration file.
6881 Reported by: Michal Suchanek. Fixes Debian bug #612898.
6882
6883 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
6884
6885 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
6886 (Making a GRUB bootable CD-ROM): Likewise.
6887 (Invoking grub-mkrescue): New section.
6888 Reported by: Yann Dirson. Fixes Debian bug #612585.
6889
6890 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
6891
6892 * util/grub-install.in: Remove unnecessary brackets from tr
6893 arguments.
6894 * util/grub.d/10_hurd.in: Likewise.
6895 * util/grub.d/10_kfreebsd.in: Likewise.
6896 * util/grub.d/10_linux.in: Likewise.
6897 * util/grub.d/20_linux_xen.in: Likewise.
6898 Reported by: Jamie Heilman. Fixes Debian bug #612564.
6899
6900 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
6901
6902 * include/grub/file.h (not_easly_seekable): Rename to ...
6903 (not_easily_seekable): ... this. Update all users.
6904
6905 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
6906
6907 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
6908 grub-mkrescue.
6909
6910 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6911
6912 * util/grub-mkimage.c (generate_image): Refuse to create the images
6913 bigger than the actual flash (512K) in Loongson machines. 512K is also
6914 the biggest chip supported by them.
6915
6916 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6917
6918 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
6919
6920 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
6921
6922 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
6923 super_offset field.
6924
6925 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6926
6927 * util/grub-install.in: Ignore install device on platforms
6928 where it doesn't make sense. Always use UUIDs except on pc, efi and
6929 sparc64.
6930 Reported by: Daniel Kahn Gillmor.
6931
6932 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6933
6934 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
6935
6936 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6937
6938 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
6939 (iterate_real): Don't rely on partition being non-NULL.
6940
6941 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6942
6943 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
6944 supported platforms. Put a compile time assert for this rather than
6945 generate a warning with 32-bit shift.
6946
6947 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6948
6949 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
6950 logical expression more readable.
6951
6952 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6953
6954 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
6955 even if some elements have a name.
6956 Reported by: Alexander GQ Gerasiov.
6957
6958 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
6959
6960 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
6961 path unreadable if `grub-probe -t abstraction' fails, for example if
6962 memberlist fails on an LVM volume group.
6963 Reported by: Darius Jahandarie.
6964
6965 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
6966
6967 * docs/grub.texi (Simple configuration): Document
6968 GRUB_PRELOAD_MODULES.
6969
6970 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
6971
6972 * .bzrignore: Remove nonexistent grub-pbkdf2.
6973
6974 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6975
6976 * configure.ac: Bump version to 1.99~rc1.
6977
6978 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
6979
6980 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
6981 for safety.
6982
6983 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6984
6985 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
6986 module.
6987
6988 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6989
6990 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
6991
6992 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6993
6994 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
6995 diskdevid.
6996
6997 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6998
6999 Fix compilation on cygwin.
7000
7001 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
7002 -R .drectve on cygwin.
7003 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
7004 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
7005 (COND_CYGWIN): New condition.
7006 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
7007 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
7008 not @TARGET_OBJ2ELF@.
7009 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
7010 type to determine whether aux is to be used.
7011
7012 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7013
7014 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
7015 realpath'ed device string.
7016 Handle floppy (somewhat).
7017 Issue error in unknown case rather than garbage.
7018 Reported by: Axel Beckert.
7019
7020 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7021
7022 * util/grub.d/00_header.in (load_video): Handle the case when no video
7023 drivers available.
7024 Thanks to: Axel Beckert.
7025
7026 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7027
7028 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
7029 variable. Fixes problem on big endian platforms.
7030
7031 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7032
7033 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
7034 It doesn't work well there.
7035
7036 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7037
7038 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
7039 warning.
7040 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
7041 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
7042 counter.
7043
7044 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
7045
7046 Use alias->path rather than buggy "canon".
7047
7048 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
7049 (ofdisk_hash_add): New argument curcan. All users updated.
7050
7051 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
7052
7053 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
7054
7055 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7056
7057 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
7058 loadmask before doing any calculations. Use correct type for offset.
7059 (grub_linux_load64): Likewise.
7060
7061 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
7062
7063 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
7064 with NULL.
7065 (console_grub_equivalences_unshift): Likewise.
7066 Reported by: Daniel Dehennin.
7067
7068 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7069
7070 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
7071 (set_env_limn_ro): Likewise.
7072 (GRUB_MOD_INIT): Likewise.
7073 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
7074 ARRAY_SIZE while on it.
7075 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
7076 * grub-core/normal/context.c (grub_env_export): Move from here ...
7077 * grub-core/kern/env.c (grub_env_export): ... here.
7078 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
7079 prefix.
7080 * grub-core/kern/main.c (grub_main): Export root and prefix.
7081 * include/grub/env.h (grub_env_export): Export.
7082 Reported by: Seth Goldberg.
7083
7084 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7085
7086 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
7087 Take into account space used by ELF sections and multiboot palette.
7088 Reported by: Grégoire Sutre.
7089
7090 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
7091
7092 * BUGS: New file.
7093
7094 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7095
7096 Pass more appropriate video id to Linux.
7097
7098 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
7099 grub_video_get_driver_id and variable gfxpayloadforcelfb to
7100 fill have_vga.
7101 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
7102 shift params->lfb_size.
7103 * include/grub/i386/linux.h: Make an enume out of have_vga values.
7104
7105 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7106
7107 * util/grub-menulst2cfg.c: Add missing include of misc.h.
7108
7109 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7110
7111 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
7112 separator and pass bootpath/devid even if only one of them is available.
7113 Reported by: Seth Goldberg.
7114
7115 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7116
7117 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
7118 implementations bug on them.
7119
7120 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
7121 memory.
7122 (filter_memory_map): Likewise.
7123
7124 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7125
7126 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
7127 Reported by: nebuchadnezzar.
7128
7129 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7130
7131 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
7132 Reported by: nebuchadnezzar.
7133
7134 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7135
7136 Submenu default support.
7137
7138 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
7139 auto_boot. All users updated.
7140 Declared static.
7141 Handle chosen and default with submenus.
7142 (grub_menu_execute_with_fallback): Declared static.
7143 Don't notify failure if autobooted. Upper level does it.
7144 (menuentry_eq): New function.
7145 (get_entry_number): Use menuentry_eq.
7146 (show_menu): New parameter "autobooted". All users updated.
7147 (grub_show_menu): Likewise.
7148 * include/grub/normal.h (grub_show_menu): Likewise.
7149 * include/grub/menu.h (grub_menu_execute_entry): Removed.
7150 (grub_menu_execute_with_fallback): Likewise.
7151
7152 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7153
7154 * util/grub-mklayout.c (usage): Update help text.
7155
7156 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7157
7158 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
7159
7160 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7161
7162 * util/grub-menulst2cfg.c (main): Trim the line.
7163
7164 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7165
7166 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
7167 (grub_machine_init): Don't check amount of low memory as reportedly
7168 INT 12h can be broken and if low memory is too low we wouldn't have
7169 gotten into grub_machine_init anyway.
7170
7171 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7172
7173 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
7174 (grub_machine_mmap_iterate): Take low memory into account
7175
7176 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7177
7178 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
7179 badfs.
7180 Reported by: TiCPU.
7181
7182 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
7183
7184 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
7185 members errors.
7186
7187 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
7188
7189 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
7190 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
7191
7192 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
7193
7194 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
7195 openbsd and netbsd types being in part_bsd module.
7196
7197 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7198
7199 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
7200 (_FILE_OFFSET_BITS): Likewise.
7201 Reported by: Seth Goldberg.
7202
7203 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
7204
7205 * configure.ac: Check for libdevmapper header.
7206
7207 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7208
7209 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
7210 avoid aliasing.
7211 (fzap_lookup): Likewise.
7212 (dnode_get): Likewise.
7213 (make_mdn): Likewise.
7214 (zfs_mount): Likewise.
7215 (fzap_iterate): Use temporary pointer to avoid aliasing.
7216 (grub_zfs_read): Likewise.
7217 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
7218 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
7219 pointers to avoid aliasing.
7220 (grub_cmd_xnu_kernel64): Likewise.
7221 (grub_xnu_load_driver): Likewise.
7222
7223 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7224
7225 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
7226 aliasing warning.
7227 (grub_cmd_terminal_output): Likewise.
7228 Reported and tested by: Grégoire Sutre.
7229
7230 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7231
7232 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
7233 warning.
7234 Reported and tested by: Grégoire Sutre.
7235
7236 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7237
7238 * configure.ac: Do CPU substitution even if it's specified explicitly.
7239 Reported and tested by: Alain Greppin.
7240
7241 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7242
7243 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
7244 Reported and tested by: Alain Greppin.
7245
7246 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7247
7248 Satisfy some bison versions need for inttypes.h.
7249
7250 * grub-core/lib/posix_wrap/inttypes.h: New file.
7251 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
7252 (int16_t): Likewise.
7253 (int32_t): Likewise.
7254 (int64_t): Likewise.
7255 Reported and tested by: Alain Greppin.
7256
7257 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
7258
7259 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
7260 Silence spurious warning.
7261 Reported and tested by: Alain Greppin.
7262
7263 2011-01-07 Szymon Janc <szymon@janc.net.pl>
7264
7265 * docs/grub.texi (Support automatic decompression): Update with xz
7266 decompression support.
7267
7268 2011-01-07 Szymon Janc <szymon@janc.net.pl>
7269
7270 Improve loaders' kernel command line handling.
7271
7272 * grub-core/lib/cmdline.c: New file.
7273 * include/grub/lib/cmdline.h: Likewise.
7274 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
7275 grub_create_loader_cmdline to create kernel command line.
7276 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7277 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
7278 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
7279 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
7280 (linux): Add lib/cmdline.c on common.
7281
7282 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7283
7284 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
7285 inopos might be unaligned.
7286
7287 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7288
7289 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
7290 endian transformations.
7291 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7292 Based on report by: Doug Nazar.
7293
7294 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
7295
7296 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
7297 array->members[i].start_sector.
7298 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
7299
7300 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
7301
7302 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
7303 Reported and tested by: Grégoire Sutre.
7304
7305 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
7306
7307 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
7308 avoid causing test failures by clearing the screen.
7309
7310 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
7311
7312 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
7313 Fix prefix check to handle the case where dir ends with a slash
7314 (most significantly, "/" itself).
7315 Reported by: Michael Vogt.
7316
7317 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7318
7319 Run terminfo_cls on initing terminfo output to clear the screen and
7320 move the cursor to (0,0).
7321
7322 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
7323 Call grub_terminfo_output_init.
7324 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
7325 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
7326 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
7327
7328 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7329
7330 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
7331 only when needed.
7332
7333 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7334
7335 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
7336 CTRL.
7337
7338 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
7339
7340 The E820 type 5 is BADRAM, not EXEC_CODE.
7341
7342 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
7343 (GRUB_E820_BADRAM): New define.
7344 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
7345 into reserved. Propagate BADRAM.
7346 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
7347 (GRUB_E820_BADRAM): New define.
7348
7349 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7350
7351 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
7352 Ignore the memory post-4G.
7353 (grub_relocator_firmware_alloc_region): Additional debug statement.
7354
7355 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7356
7357 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
7358 names.
7359 Reported by: David Pravec.
7360
7361 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7362
7363 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
7364 BIOSes.
7365
7366 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7367
7368 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
7369 Prevent overflow.
7370 (grub_reed_solomon_recover): Likewise.
7371
7372 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7373
7374 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
7375
7376 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
7377
7378 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
7379 variable.
7380
7381 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
7382
7383 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
7384 descriptions of extract_legacy_entries_source and
7385 extract_legacy_entries_configfile.
7386 Reported by: Seung Soo, Ha.
7387
7388 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
7389
7390 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
7391 on devices that do not implement function 0.
7392
7393 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
7394
7395 * grub-core/fs/hfsplus.c: Make parent unsigned.
7396 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
7397 overflows.
7398 (grub_hfsplus_cmp_extkey): Likewise
7399
7400 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7401
7402 * util/grub-install.in: Correctly use bootloader_id and not
7403 GRUB_DISTRIBUTOR on efibootmgr line.
7404
7405 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
7406
7407 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
7408
7409 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
7410
7411 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
7412 Xen and reorder menu item wording to make it clearer that this entry
7413 will launch Xen. Print separate messages when loading Xen and
7414 Linux.
7415
7416 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7417
7418 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
7419 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
7420 loop in case of incorrect amiga partmap.
7421
7422 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7423
7424 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
7425 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
7426 Reported by:EHeM.
7427
7428 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
7429
7430 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
7431 spurious warning.
7432 Reported by: crocket
7433
7434 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7435
7436 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
7437 Preload EFIemu.
7438 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
7439
7440 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7441
7442 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
7443 is loaded
7444 (grub_cmd_xnu_kextdir): Likewise.
7445 (grub_cmd_xnu_splash): Likewise.
7446
7447 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7448
7449 Avoid using Reed-Solomon with 0 redundancy.
7450
7451 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
7452 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
7453 or 0 redundancy.
7454 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
7455 (grub_reed_solomon_recover): Likewise.
7456
7457 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
7458
7459 Don't use disk subsystem in freebsd_boot.
7460
7461 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
7462 (freebsd_biosdev): Likewise.
7463 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
7464 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
7465
7466 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
7467
7468 Handling of files of unknown size is currently limited. They can't be
7469 used e.g. for initrd or modules. Moreover gzip handling of not
7470 easily seekable files is buggy. Disable unknown file size for now. May
7471 be inefficient but works.
7472
7473 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
7474 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
7475
7476 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
7477
7478 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
7479 floppy probe.
7480
7481 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
7482
7483 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
7484
7485 2010-12-25 Shea Levy <shlevy>
7486
7487 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
7488
7489 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7490
7491 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
7492 Windows Server 2008.
7493 Reported by: Devin Giddings.
7494
7495 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
7496
7497 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
7498 writing an error message because of async power management.
7499 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
7500 (grub_reboot): Likewise.
7501
7502 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
7503
7504 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
7505 keep unit tests from failing when they shouldn't.
7506
7507 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7508
7509 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
7510 previous patch increased the size of the RS code by 20 bytes (at
7511 least with gcc-4.4), so increase this by 20 bytes to match.
7512 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
7513
7514 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7515
7516 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
7517 scratch area. Make sure to initialise chosen in standalone mode as
7518 well as non-standalone.
7519 Reported by: Robert Hooker and Andy Whitcroft.
7520 Tested by: Andy Whitcroft.
7521
7522 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7523
7524 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
7525 constructing a new unescaped string and passing it to grub_xputs in
7526 one go, rather than passing characters to grub_printf one at a time.
7527
7528 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7529
7530 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
7531 initialising utf16.
7532
7533 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
7534
7535 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
7536 comment. Add an extra layer of quotation, requiring the output of
7537 this function to be used in a printf format string.
7538 (gettext_printf): New function.
7539 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
7540 Extract translatable strings from here-documents and use a temporary
7541 variable instead, so that xgettext can find them.
7542 * util/grub.d/10_kfreebsd.in: Likewise.
7543 * util/grub.d/10_linux.in: Likewise.
7544 * util/grub.d/20_linux_xen.in: Likewise.
7545
7546 * po/grub.d.sed: New file.
7547 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
7548 arguments. Set c-format flags on all strings extracted from
7549 util/grub.d/ (xgettext refuses to include these itself for strings
7550 it extracted from a shell file, but these really are c-format).
7551
7552 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7553
7554 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
7555 Avoid next pointing to nowhere.
7556
7557 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7558
7559 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
7560 rather than assuming than rootblock is exactly in the middle.
7561 (grub_affs_label): Likewise.
7562
7563 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7564
7565 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
7566 reserved_first_sector to 0.
7567 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
7568 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
7569 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
7570
7571 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
7572
7573 Fix handling of UTF-16 UDF labels.
7574
7575 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
7576 (read_string): .. here.
7577 (grub_udf_label): Use read_string.
7578
7579 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
7580
7581 * grub-core/normal/menu_entry.c (run): Execute commands from menu
7582 editor under argument scope.
7583 Reported by: Jordan Uggla
7584
7585 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7586
7587 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
7588
7589 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
7590
7591 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
7592 line, and other keys scroll an entire page (previous handling was
7593 for \r and \n to scroll a page and other keys to scroll two lines).
7594
7595 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
7596
7597 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
7598 Set ptrdest to correct get_physical_target_address rather than
7599 incorrect get_virtual_current_address.
7600
7601 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
7602
7603 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
7604 correct cat to grub_uint8_t * rather than grub_uint32_t *.
7605
7606 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
7607
7608 * .bzrignore: Ignore grub-core/rs_decoder.S.
7609
7610 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
7611
7612 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
7613 .mo/.mo.gz opening sequence to ...
7614 (grub_mofile_open_lang): ... here.
7615 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
7616 * util/grub.d/00_header.in (grub_lang): Include country part of
7617 locale.
7618 Reported by: Mario Limonciello.
7619
7620 2010-12-09 Robert Millan <rmh@gnu.org>
7621
7622 * NEWS: Document addition of ZFS support.
7623
7624 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
7625
7626 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
7627 rather than `/ 2', as the latter requires -Wa,--divide which would
7628 require bumping our minimum binutils version.
7629
7630 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
7631
7632 * util/grub-script-check.c (main): Print script line number on
7633 error.
7634
7635 2010-12-01 Robert Millan <rmh@gnu.org>
7636
7637 * grub-core/fs/zfs/zfs.c: New file.
7638 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
7639 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
7640 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
7641 * grub-core/fs/zfs/zfsinfo.c: Likewise.
7642
7643 * include/grub/zfs/dmu.h: Likewise.
7644 * include/grub/zfs/dmu_objset.h: Likewise.
7645 * include/grub/zfs/dnode.h: Likewise.
7646 * include/grub/zfs/dsl_dataset.h: Likewise.
7647 * include/grub/zfs/dsl_dir.h: Likewise.
7648 * include/grub/zfs/sa_impl.h: Likewise.
7649 * include/grub/zfs/spa.h: Likewise.
7650 * include/grub/zfs/uberblock_impl.h: Likewise.
7651 * include/grub/zfs/vdev_impl.h: Likewise.
7652 * include/grub/zfs/zap_impl.h: Likewise.
7653 * include/grub/zfs/zap_leaf.h: Likewise.
7654 * include/grub/zfs/zfs.h: Likewise.
7655 * include/grub/zfs/zfs_acl.h: Likewise.
7656 * include/grub/zfs/zfs_znode.h: Likewise.
7657 * include/grub/zfs/zil.h: Likewise.
7658 * include/grub/zfs/zio.h: Likewise.
7659 * include/grub/zfs/zio_checksum.h: Likewise.
7660
7661 * Makefile.util.def: Build ZFS into libgrubmods.
7662 * grub-core/Makefile.core.def: Build zfs.mod.
7663
7664 2010-11-30 Szymon Janc <szymon@janc.net.pl>
7665
7666 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
7667 variable.
7668 * grub-core/commands/wildcard.c (match_files): Likewise.
7669
7670 2010-11-30 Robert Millan <rmh@gnu.org>
7671
7672 * grub-core/loader/i386/bsd.c
7673 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
7674 whether kernel is loaded using grub_loader_is_loaded(), rather
7675 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
7676 certain error conditions.
7677
7678 2010-11-30 Robert Millan <rmh@gnu.org>
7679
7680 * grub-core/commands/echo.c: Include `<grub/term.h>'.
7681 (grub_cmd_echo): Call grub_refresh() after printing a message.
7682
7683 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
7684
7685 Avoid using tricks for initialising endian variables.
7686
7687 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
7688 Make const.
7689 (GRUB_MOD_INIT): Don't byte-swap.
7690 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
7691 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
7692 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
7693 (grub_swap_bytes32_compile_time): Likewise.
7694 (grub_cpu_to_le32_compile_time): Likewise.
7695 (grub_cpu_to_le16_compile_time): Likewise.
7696
7697 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
7698
7699 * util/grub-setup.c (setup): Stop recommending --force. People who
7700 understand the dangers of blocklists are able to find this option
7701 anyway and the ones who don't shouldn't use it anyway.
7702
7703 2010-11-26 Robert Millan <rmh@gnu.org>
7704
7705 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
7706 Update all users.
7707
7708 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
7709
7710 Fix LVM-on-RAID probing.
7711
7712 * util/grub-probe.c (probe): Remember which disk was detected as
7713 RAID (perhaps an LVM physical volume). Use that disk's raidname
7714 rather than that of the top-level disk.
7715
7716 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7717
7718 Fix cmdline argument quotes for setparams command of menuentry
7719 definitions.
7720
7721 * grub-core/commands/menuentry.c (setparams_prefix): Use single
7722 quotes for arguments.
7723 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7724 grub_strchrsub function instead.
7725
7726 * include/grub/misc.h (grub_strchrsub): New function.
7727
7728 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
7729
7730 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
7731 effort by skipping "." and ".." entries up-front.
7732 Suggested by: Michael Lazarev.
7733
7734 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
7735
7736 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
7737 ldflags to ldadd, to fix link line ordering.
7738 (none_decompress): Likewise.
7739
7740 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
7741
7742 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
7743 platforms.
7744 (grub-emu-lite): Remove kern/emu/cache.S.
7745
7746 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7747
7748 * util/deviceiter.c (compare_devices): If the by-id link for a
7749 device couldn't be resolved, fall back to sorting by the by-id link
7750 rather than segfaulting.
7751 Reported and tested by: Daniel Mierswa.
7752
7753 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7754
7755 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
7756 ldflags, to fix link line ordering.
7757
7758 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7759
7760 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
7761 linkers are picky about this.
7762
7763 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7764
7765 * grub-core/Makefile.am (command.lst): Adjust sed expression
7766 ordering so that extended and priority commands aren't treated as
7767 ordinary commands.
7768
7769 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7770
7771 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
7772 Remove byte-swapping function calls, which are not valid in
7773 structure initialisers.
7774 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
7775 non-const.
7776 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
7777 grub_gpt_partition_type_bios_boot.
7778
7779 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
7780
7781 Fix test program build on GNU/kFreeBSD.
7782
7783 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
7784 $(LIBNVPAIR)' library dependencies.
7785
7786 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
7787
7788 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
7789
7790 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
7791
7792 * util/grub-install.in: Remove excessive quoting that broke
7793 installations to RAID devices.
7794
7795 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7796
7797 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
7798 bootloader version instead of 0.
7799
7800 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7801
7802 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
7803 warning.
7804
7805 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7806
7807 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
7808 retrieve the metadat sector if size isn't known.
7809 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7810
7811 2010-11-18 Robert Millan <rmh@gnu.org>
7812
7813 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
7814 with grub_memcmp().
7815
7816 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
7817
7818 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
7819 arrow.
7820 Reported by: Jordan Uggla.
7821
7822 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7823
7824 Make better UTF compliant.
7825
7826 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
7827 sequences as incorrect.
7828 (grub_is_valid_utf8): Likewise.
7829 (grub_utf8_to_ucs4): Likewise.
7830 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
7831 (grub_ucs4_to_utf8_alloc): Likewise.
7832 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
7833
7834 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7835
7836 Make legacy_source behave like source.
7837
7838 * grub-core/commands/legacycfg.c (legacy_file): Don't call
7839 grub_show_menu.
7840 (grub_cmd_legacy_source): Call grub_show_menu if needed.
7841
7842 2010-11-16 Colin Watson <cjwatson@debian.org>
7843
7844 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
7845 (-Wunused implies -Wunused-parameter, but not vice versa).
7846
7847 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
7848
7849 * configure.ac: Make error messages less confusing by testing for
7850 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
7851 accepted, but produces a diagnostic if something else is wrong).
7852
7853 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7854
7855 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
7856 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
7857 (now unused).
7858 (grub_keyboard_controller_init)
7859 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
7860 read the initial state since controller isn't inited yet.
7861
7862 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7863
7864 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
7865 allocate_regbeg may need to create new chunk header.
7866
7867 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7868
7869 Fix quoting in legacy parser.
7870
7871 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
7872 single quotes.
7873 (grub_legacy_parse): Likewise.
7874 Reported by: Jordan Uggla.
7875 Tested by: Jordan Uggla.
7876
7877 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7878
7879 Don't add -lgcc on i386 and x86_64.
7880
7881 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
7882 * conf/Makefile.common (LDADD_KERNEL): Likewise.
7883 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
7884
7885 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7886
7887 * configure.ac: Add -Wno-trampolines when supported.
7888
7889 2010-11-14 Modestas Vainius <modax@debian.org>
7890
7891 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
7892 fakeraid.
7893
7894 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7895
7896 Add generic logical block size support for UDF.
7897
7898 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
7899 (GRUB_UDF_BLKSZ): Removed.
7900 (struct grub_udf_data): New field "lbshift" to hold the logical block
7901 size of the file system in log2 format. All users updated.
7902 (sblocklist): Change type to unsigned.
7903 (grub_udf_mount): Change type of "sblklist" to unsigned.
7904 Move AVDP search before VRS recognition, because the latter requires
7905 knowledge of the logical block size, which is detected during the
7906 former.
7907 Detect and validate logical block size during AVDP search, adding
7908 support for block sizes 512, 1024 and 4096.
7909 Make VRS recognition independent of block size.
7910
7911 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7912
7913 Properly handle deleted files on UDF.
7914
7915 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
7916 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
7917 set.
7918
7919 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7920
7921 Support reading files larger than 2 GiB.
7922
7923 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
7924 "offset" to grub_off_t.
7925 (grub_udf_read_file): Likewise for parameter "pos".
7926
7927 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7928
7929 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
7930 unavailable.
7931 (Simple configuration): Refer to Changes from GRUB Legacy about
7932 save_env availability.
7933
7934 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7935
7936 * util/grub-install.in: Ignore empty partition table detection
7937 instead of trying to include part_ module.
7938
7939 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7940
7941 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
7942 LVM on RAID support.
7943
7944 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7945
7946 Properly define WORDS_BIGENDIAN in wrapped environments.
7947
7948 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
7949 definition.
7950 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
7951
7952 Reported by: Manoel Rebelo Abranches.
7953 Tested by: Manoel Rebelo Abranches.
7954
7955 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7956
7957 * util/grub-mkconfig.in: Fix quoting.
7958
7959 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7960
7961 Support big ext2 files.
7962
7963 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
7964 (grub_ext2_read_block): Support triple indirect blocks.
7965 (grub_ext2_read_file): Use 64-bit types and read size_high.
7966 (grub_ext2_open): Read size_high.
7967 Reported by: Ximin Luo.
7968 Tested by: Manoel Rebelo Abranches.
7969
7970 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7971
7972 * util/grub-install.in: Handle filenames containing spaces.
7973 Reported by: Jordan Uggla.
7974 Tested by: Jordan Uggla.
7975
7976 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7977
7978 * util/grub-mkconfig.in (grub_script_check): New variable.
7979 Use grub_script_check instead of grub-script-check.
7980 Reported by: Barry Jackson.
7981
7982 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7983
7984 * docs/grub.texi (menu): Correct the order.
7985 Reported by: D. Hugh Redelmeier.
7986
7987 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7988
7989 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
7990 jump.
7991
7992 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
7993
7994 * include/grub/elfload.h (grub_elf32_size): New parameter.
7995 All users updated.
7996 Return maximum segments alignment.
7997 (grub_elf64_size): Likewise.
7998 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
7999 Return maximum segments alignment.
8000 (grub_elf64_size): Likewise.
8001 * grub-core/loader/powerpc/ieee1275/linux.c:
8002 (grub_linux_claimmap_iterate): New function. Uses the
8003 "available" property in the "memory" node for memory allocation
8004 for kernel in the PowerPC loader.
8005 (grub_linux_load32): Correctly find linux entry point offset.
8006 (grub_linux_load64): Likewise.
8007
8008 2010-11-07 Robert Millan <rmh@gnu.org>
8009
8010 On mips-yeeloong, build with -march=loongson2f when this flag is
8011 available (GCC >= 4.4).
8012 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
8013 `-march=mips3'.
8014 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
8015 or otherwise add -march=mips3.
8016
8017 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
8018
8019 Suppress shell expansion on echo '*' and echo "*" like cases.
8020 Reported by: Jordan Uggla.
8021
8022 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
8023 string arguments before shell expansion.
8024 * tests/grub_cmd_echo.in: New testcases.
8025
8026 2010-11-07 Robert Millan <rmh@gnu.org>
8027
8028 * conf/mips-qemu-mips.rmk: Remove stale file from previous
8029 transition.
8030
8031 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
8032
8033 * grub-core/kern/emu/hostdisk.c
8034 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
8035
8036 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8037
8038 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
8039 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
8040 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
8041
8042 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8043
8044 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
8045
8046 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8047
8048 * util/grub-install.in: Replace useless recomendation to pass
8049 --modules with a recomendation to report a bug.
8050
8051 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8052
8053 Properly register serial terminfo.
8054 Reported by: Jordan Uggla
8055
8056 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
8057 const.
8058 (grub_serial_terminfo_output_template): Likewise.
8059 (grub_cmd_serial): Register "serial" with terminfo.
8060 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
8061 grub_serial_terminfo_output.
8062
8063 2010-11-05 Robert Millan <rmh@gnu.org>
8064
8065 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
8066 needed).
8067
8068 2010-11-05 Robert Millan <rmh@gnu.org>
8069
8070 On Yeeloong, pass machine type information to Linux.
8071
8072 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
8073 (LOONGSON_MACHTYPE): New macro, set to
8074 "machtype=lemote-yeeloong-2f-8.9inches".
8075 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
8076 additional argument to Linux.
8077
8078 2010-11-04 Robert Millan <rmh@gnu.org>
8079
8080 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
8081 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
8082 (its SATA disks are detected as slaveless IDE master drives on
8083 kFreeBSD).
8084 Reported by Carsten Aulbert.
8085
8086 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
8087
8088 * util/bin2h.c (main): Fix spelling error in generated output.
8089
8090 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
8091
8092 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
8093
8094 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
8097 vga= option is supplied.
8098
8099 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8100
8101 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
8102 * util/grub.d/10_kfreebsd.in: Likewise.
8103 * util/grub.d/10_linux.in: Likewise.
8104 * util/grub.d/20_linux_xen.in: Likewise.
8105
8106 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8107
8108 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
8109 argument as an argument to no-argument option.
8110
8111 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8112
8113 * util/grub.d/10_linux.in: Add missing load_video with explicit
8114 GRUB_GFXPAYLOAD_LINUX.
8115
8116 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8117
8118 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
8119
8120 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8121
8122 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
8123 elements with invlid index.
8124 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
8125 * grub-core/disk/raid.c (insert_array): Automatically reallocate
8126 members.
8127 * include/grub/raid.h (grub_raid_member): New struct.
8128 (grub_raid_array): Transform devices and start_sector into usage of
8129 grub_raid_member. All users updated
8130 (allocated_devs): New member.
8131
8132 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8133
8134 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
8135 is modified
8136
8137 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
8138
8139 NetBSD build fix for getline function conflict from gnulib.
8140
8141 * Makefile.util.def (libgrubkern.a): New library for grub kernel
8142 components that depend on gnulib headers.
8143 (libgrubmods.a): Renamed from earlier libgrub.a.
8144 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
8145
8146 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8147
8148 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
8149 install rather than creating a broken install.
8150
8151 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8152
8153 * util/grub-setup.c (argp): Remove misleading example of installing to
8154 a partition.
8155
8156 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8157
8158 * util/grub-setup.c (setup): Clarify the error message.
8159
8160 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8161
8162 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
8163
8164 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8165
8166 * grub-core/kern/emu/misc.c
8167 (grub_make_system_path_relative_to_its_root)
8168 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
8169
8170 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
8171
8172 * grub-core/kern/emu/misc.c
8173 (grub_make_system_path_relative_to_its_root): Revert r2882.
8174
8175 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
8176
8177 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
8178 useless field head. All users updated.
8179 (free_subchunk): Correct handling of IN_REGION subchunk.
8180
8181 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
8182
8183 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
8184 (Supported kernels): Likewise.
8185
8186 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
8187
8188 Make mktemp invocations portable.
8189
8190 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
8191 exit if mktemp fails.
8192 * tests/grub_script_blockarg.in: Likewise.
8193 * tests/partmap_test.in: Likewise.
8194 * tests/util/grub-shell-tester.in: Likewise.
8195 * tests/util/grub-shell.in: Likewise.
8196 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
8197 * Makefile.am: Likewise, and chain shell commands with `&&'
8198 instead of ';'.
8199 * util/grub-mkrescue.in: Use the same explicit template as above, and
8200 exit if mktemp fails.
8201
8202 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
8203
8204 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
8205 Linux kernel, reported by Dennis Schridde.
8206
8207 2010-10-17 Szymon Janc <szymon@janc.net.pl>
8208
8209 * grub-core/normal/auth.c (grub_auth_check_authentication):
8210 Set-but-not-used variable removed.
8211
8212 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8213
8214 * docs/grub.texi (GNU/Linux): Document APM unavailability with
8215 32-bit linux protocol.
8216
8217 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8218
8219 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
8220 cursor shape for sanity.
8221
8222 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8223
8224 * docs/grub.texi (Installation): Document buggy BIOS install.
8225
8226 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8227
8228 * docs/grub.texi (Installation): Indent.
8229
8230 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8231
8232 * util/grub-setup.c (setup): New parameter allow_floppy.
8233 (arguments): New member allow_floppy.
8234 (argp_parser): Handle --allow-floppy.
8235 (main): Pass allow_floppy.
8236 * util/grub-install.in: New option --allow-floppy passed though to
8237 grub-setup.
8238
8239 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8240
8241 * util/grub-install.in: Handle partitionless disks.
8242
8243 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
8244
8245 * util/grub-setup.c (setup): Don't clean blocklists before readability
8246 verfification.
8247
8248 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8249
8250 * docs/grub.texi (Installation): Document embedding zone. Remove
8251 obsolete grub-install example.
8252
8253 2010-10-16 Szymon Janc <szymon@janc.net.pl>
8254
8255 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
8256 Set-but-not-used variable ifdef'ed.
8257 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
8258 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
8259 variable removed.
8260 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
8261 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
8262 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
8263 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
8264 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
8265 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
8266 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
8267 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
8268 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
8269 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
8270 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
8271 Likewise.
8272
8273 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8274
8275 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
8276 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
8277 enum value.
8278
8279 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8280
8281 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
8282 synonym to _S5_. Needed for some DSDTs.
8283
8284 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8285
8286 Userspace ACPI parser debugging.
8287
8288 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
8289 headers and add relevant defines. Don't include standard headers.
8290 (main) [GRUB_DSDT_TEST]: New function.
8291 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
8292 Don't declare functions.
8293
8294 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8295
8296 Remove dead grub_efi_mm_fini.
8297
8298 * grub-core/kern/efi/mm.c (allocated_page): Removed.
8299 (ALLOCATED_PAGES_SIZE): Likewise.
8300 (MAX_ALLOCATED_PAGES): Likewise.
8301 (allocated_pages): Likewise.
8302 (grub_efi_allocate_pages): Don't record allocated pages.
8303 (grub_efi_free_pages): Likewise.
8304 (grub_efi_mm_init): Likewise.
8305 (grub_efi_mm_fini): Removed.
8306
8307 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8308
8309 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
8310 (grub_efi_mm_init): Take into account the memory map size increase.
8311
8312 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
8313
8314 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
8315 (serial_hw_put): Wait based on real time rather than port reads. Don't
8316 roken ports.
8317 * include/grub/serial.h (grub_serial_port): New field broken.
8318
8319 2010-10-16 Robert Millan <rmh@gnu.org>
8320
8321 * grub-core/kern/emu/misc.c
8322 (grub_make_system_path_relative_to_its_root): Fix premature return
8323 when processing non-root ZFS filesystems.
8324 Reported by Sergio Talens-Oliag.
8325
8326 2010-10-15 Robert Millan <rmh@gnu.org>
8327
8328 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
8329 guarantee compressed ones are processed first.
8330
8331 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8332
8333 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
8334 grub_efiemu_autocore.
8335
8336 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
8337
8338 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
8339 rather than 0x1b.
8340 (grub_console_getkey): Use correct jae opcode rather than ja.
8341
8342 2010-10-12 Robert Millan <rmh@gnu.org>
8343
8344 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
8345 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
8346 variable. All references updated.
8347
8348 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
8349
8350 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
8351
8352 Correctly distinguish mdraid flavours.
8353
8354 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
8355 (insert_array): New argument raid.
8356 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
8357 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
8358 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
8359
8360 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
8361
8362 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
8363 handling of special keys.
8364
8365 2010-10-02 Aleš Nesrsta <starous@volny.cz>
8366
8367 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
8368 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
8369
8370 2010-10-02 Aleš Nesrsta <starous@volny.cz>
8371
8372 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
8373 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
8374 users updated.
8375 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
8376 Use right endpoint when querying descriptor.
8377
8378 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
8379
8380 Clear out 0x80 color bit on EFI.
8381 Tested by: decoder
8382 Reported by: decoder and meta tech.
8383
8384 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
8385 (grub_console_setcolorstate): Clear out 0x80 bit.
8386 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
8387 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
8388 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
8389
8390 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
8391
8392 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
8393 Set to "auto".
8394
8395 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8396
8397 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
8398 mo_file after freeing.
8399
8400 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8401
8402 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
8403
8404 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8405
8406 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
8407 flags.
8408
8409 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8410
8411 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
8412 usage.
8413
8414 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
8415
8416 Put terminfo into core on ieee1275 and yeeloong (needed for console).
8417
8418 * gentpl.py: New groups terminfoinkernel and terminfomodule.
8419 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
8420 and terminfo.h when needed.
8421 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
8422 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
8423 (terminfo): Enable only on terminfokernel.
8424 (extcmd): Likewise.
8425 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
8426 * include/grub/lib/arg.h: Likewise.
8427 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
8428 incorrect usage of ->.
8429
8430 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8431
8432 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
8433 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
8434
8435 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8436
8437 Fix coreboot compilation.
8438
8439 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8440 Take VBE info into account even if only text is supported.
8441 (fill_vbe_info): Take into account the case when only VGA text
8442 is supported.
8443 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
8444 on coreboot, multiboot and qemu.
8445
8446 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8447
8448 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
8449 debug messages.
8450 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
8451
8452 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8453
8454 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
8455 parameters.
8456
8457 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8458
8459 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
8460 if they were BSD-style.
8461
8462 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8463
8464 * grub-core/boot/i386/pc/lnxboot.S: Replace
8465 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
8466 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
8467
8468 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
8469
8470 Write embedding zone using Reed-Solomon.
8471
8472 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
8473 * grub-core/Makefile.am (rs_decoder.S): New target.
8474 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
8475 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
8476 (multiboot): Move to RS part.
8477 (post_reed_solomon): New label.
8478 (grub_boot_drive): Move to non-RS part since it's modified in memory
8479 on boot.
8480 Include rs_decoder.S.
8481 * grub-core/lib/reed_solomon.c: New file.
8482 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
8483 New definition.
8484 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
8485 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
8486 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
8487 * include/grub/partition.h (grub_partition_map): Change prototype of
8488 embed to allow returning additional sectors.
8489 * include/grub/reed_solomon.h: New file.
8490 * util/grub-setup.c (setup): Handle Reed-Solomon.
8491
8492 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
8493
8494 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
8495 i386 and x86-64 definedness tests.
8496
8497 2010-09-27 Yves Blusseau <blusseau@zetam.org>
8498
8499 Fix generation of kernel_syms.lst
8500
8501 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
8502 ASM_PREFIX
8503
8504 2010-09-26 Robert Millan <rmh@gnu.org>
8505
8506 Support degraded ZFS arrays in "grub-probe -t device" resolution.
8507
8508 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
8509 the pool is an array of devices, iterate through it and return the
8510 first device that passes a stat() test (instead of blindly returning
8511 the first one).
8512
8513 2010-09-26 Robert Millan <rmh@gnu.org>
8514
8515 Build fixes for GNU/kFreeBSD.
8516
8517 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
8518 to programs that require ZFS conversion.
8519 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
8520 kernels that don't have FLOPPY_MAJOR.
8521
8522 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
8523
8524 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
8525
8526 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
8527
8528 Fix grub-emu build.
8529
8530 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
8531 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
8532 mdraid09 and mdraid1x.
8533
8534 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
8535
8536 Re-enable grub-extras.
8537
8538 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
8539 avoid confusing Automake. Run autogen only twice, once for the top
8540 level and once for grub-core. Add Makefile.util.def and
8541 Makefile.core.def from extra modules to the appropriate autogen
8542 invocations. If Makefile.common exists in an extra module, include
8543 it in both Makefile.util.am and grub-core/Makefile.core.am;
8544 similarly, include any Makefile.util.common file in Makefile.util.am
8545 and any Makefile.core.common file in grub-core/Makefile.core.am.
8546 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
8547 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
8548 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
8549 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
8550
8551 * gentpl.py (gvar_add): Turn GVARS into a set.
8552 (global_variable_initializers): Sort global variables on output.
8553 (vars_init): New function.
8554 (first_time): Likewise.
8555 (library): Ensure that non-global variable initialisations are
8556 emitted before the first time we emit code for a library block.
8557 Append to variables rather than setting them. Only emit
8558 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
8559 each conditional path.
8560 (program): installdir() emits an Autogen macro, so must be passed to
8561 var_add rather than gvar_add.
8562 (data): Likewise.
8563 (script): Likewise.
8564 (rules): New function, centralising handling for different target
8565 types. Set up Guile association lists for first_time and vars_init,
8566 and send most output to a diversion so that variable initialisations
8567 can be emitted first.
8568 (module_rules): Use new rules function.
8569 (kernel_rules): Likewise.
8570 (image_rules): Likewise.
8571 (library_rules): Likewise.
8572 (program_rules): Likewise.
8573 (script_rules): Likewise.
8574 (data_rules): Likewise.
8575
8576 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
8577
8578 * .bzrignore: Add contrib and grub-core/contrib. Remove
8579 grub-core/Makefile.gcry.am.
8580
8581 2010-09-24 Yves Blusseau <blusseau@zetam.org>
8582
8583 * grub-core/lib/LzFind.c: Add missing include.
8584 * grub-core/lib/LzmaEnc.c: Likewise.
8585 * grub-core/script/lexer.c: Likewise.
8586 * grub-core/script/yylex.l: Likewise.
8587 * util/grub-macho2img.c: Likewise.
8588 * util/grub-menulst2cfg.c: Likewise.
8589 * util/grub-mklayout.c: Likewise.
8590 * util/grub-mkpasswd-pbkdf2.c
8591 * util/grub-mkrelpath.c: Likewise.
8592 * util/resolve.c: Likewise.
8593
8594 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
8595
8596 * Makefile.util.def (example_unit_test): Add
8597 grub-core/gnulib/libgnu.a.
8598
8599 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
8600
8601 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
8602
8603 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
8604
8605 Support xz compression on yeeloong.
8606
8607 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
8608 * configure.ac: Check for LZMA.
8609 * grub-core/Makefile.core.def (xz_decompress): New target.
8610 (none_decompress): Likewise.
8611 * grub-core/boot/decompressor/minilib.c: New file.
8612 * grub-core/boot/decompressor/none.c: Likewise.
8613 * grub-core/boot/decompressor/xz.c: Likewise.
8614 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
8615 * grub-core/kern/mips/cache_flush.S: Likewise.
8616 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
8617 * grub-core/kern/mips/startup.S: Move first stage to ...
8618 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
8619 nomacro.
8620 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
8621 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
8622 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
8623 Allocate statically.
8624 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
8625 Allocate statically or use scratch. Don't check CRC32.
8626 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
8627 Allocate statically. Don't check CRC32.
8628 * include/grub/decompressor.h: New file.
8629 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
8630 Removed.
8631 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
8632 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
8633 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
8634 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
8635 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
8636 * util/grub-mkimage.c (grub_compression_t): New type.
8637 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
8638 (image_target_desc): New field default_compression.
8639 (image_targets): Adjust yeeloong targets.
8640 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
8641 (compress_kernel): New parameter comp.
8642 (generate_image): Likewise. Handle new compression case.
8643 (options): New option --compression
8644 (help): Likewise.
8645 (main): Handle new option.
8646
8647 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
8648
8649 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
8650
8651 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
8652
8653 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
8654 typo in __i386__ conditional.
8655
8656 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
8657
8658 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
8659 include.
8660
8661 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
8662
8663 Implement EFI and ACPI multiboot2 extensions.
8664
8665 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
8666 new tags as supported.
8667 (acpiv2_size): New function.
8668 (grub_multiboot_get_mbi_size): Take new tags into account.
8669 (grub_multiboot_make_mbi): Add new tags.
8670 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
8671
8672 2010-09-21 Aleš Nesrsta <starous@volny.cz>
8673
8674 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
8675 Added missing configuration of USB device.
8676
8677 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8678
8679 * grub-core/normal/menu_entry.c (run): Make sure we always return
8680 a value.
8681
8682 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8683
8684 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
8685 NumberOfPages is UINT64 according to the UEFI specification, not
8686 UINTN. Fix printf format.
8687
8688 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8689
8690 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
8691 `err' to grub_usb_err_t.
8692 Reported and tested by: KESHAV P.R.
8693
8694 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8695
8696 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
8697 tpart non-const, so that we can assign to it. (Since this is a
8698 typedef, the constness refers to the pointer rather than what it
8699 points to.)
8700
8701 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8702
8703 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
8704 $(top_srcdir)/grub-core/gnulib as well as
8705 $(top_builddir)/grub-core/gnulib.
8706 Reported by: KESHAV P.R.
8707
8708 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8709
8710 * util/grub-install.in: Fix the bootloader ID option to be
8711 consistently --bootloader-id, not --bootloader_id.
8712 Reported by: KESHAV P.R.
8713
8714 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8715
8716 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
8717 check hash checksum." consistently translatable.
8718
8719 2010-09-21 Yves Blusseau <blusseau@zetam.org>
8720
8721 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
8722 $(top_builddir).
8723
8724 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8725
8726 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
8727 (GRUB_MOD_INIT): Register sha1sum command.
8728 (GRUB_MOD_FINI): Unregister sha1sum command.
8729
8730 2010-09-21 Yves Blusseau <blusseau@zetam.org>
8731
8732 Keep boot and grub directory names in sync with utils scripts
8733
8734 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
8735 * config.h.in: Add previous macros.
8736 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
8737 * util/grub-install.in: Use $bootdir and $grubdir variables.
8738
8739 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8740
8741 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
8742 convert partition names to disk names if the new `convert' parameter
8743 is set.
8744 (grub_util_biosdisk_get_grub_dev): If opening the disk device
8745 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
8746 disk in its own right. This can happen with Xen disk images.
8747
8748 2010-09-21 Yves Blusseau <blusseau@zetam.org>
8749
8750 * util/grub-editenv.c: Update strings to avoid warnings when generating
8751 grub.pot file.
8752 * util/grub-setup.c: Likewise.
8753
8754 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
8755
8756 * configure.ac: Change version to 1.99~beta0.
8757
8758 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
8759
8760 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
8761 Add BADRAM.
8762 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
8763 Likewise.
8764 * include/multiboot.h: Resynced with specification.
8765 * include/multiboot2.h: Likewise.
8766
8767 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8768
8769 Fix po directory handling.
8770
8771 * configure.ac: Create po/Makefile.in rather than po/Makefile.
8772 * grub-core/gnulib/Makefile.am: Import gettext module.
8773 * m4/gnulib-cache.m4: Likewise.
8774 * m4/gnulib-comp.m4: Likewise.
8775 * m4/gettext.m4: New file, from gnulib.
8776 * m4/glibc2.m4: Likewise.
8777 * m4/iconv.m4: Likewise.
8778 * m4/intdiv0.m4: Likewise.
8779 * m4/intl.m4: Likewise.
8780 * m4/intldir.m4: Likewise.
8781 * m4/intlmacosx.m4: Likewise.
8782 * m4/intmax.m4: Likewise.
8783 * m4/inttypes-pri.m4: Likewise.
8784 * m4/lcmessage.m4: Likewise.
8785 * m4/lib-ld.m4: Likewise.
8786 * m4/lib-link.m4: Likewise.
8787 * m4/lib-prefix.m4: Likewise.
8788 * m4/lock.m4: Likewise.
8789 * m4/nls.m4: Likewise.
8790 * m4/po.m4: Likewise.
8791 * m4/printf-posix.m4: Likewise.
8792 * m4/progtest.m4: Likewise.
8793 * m4/threadlib.m4: Likewise.
8794 * m4/uintmax_t.m4: Likewise.
8795 * m4/visibility.m4: Likewise.
8796 * po/Makefile.am: Remove.
8797 * po/Makefile.in.in: New file, from gettext.
8798 ($(DOMAIN).pot-update): Support POTFILES-shell.
8799 * po/Makevars: New file.
8800 * po/POTFILES-shell: Rename to ...
8801 * po/POTFILES-shell.in: ... this. Update.
8802 * po/POTFILES: Rename to ...
8803 * po/POTFILES.in: ... this. Update.
8804 * po/Rules-quot: New file, from gettext.
8805 * po/boldquot.sed: Likewise.
8806 * po/en@boldquot.header: Likewise.
8807 * po/en@quot.header: Likewise.
8808 * po/insert-header.sin: Likewise.
8809 * po/quot.sed: Likewise.
8810 * po/remove-potcdate.sin: Likewise.
8811
8812 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8813
8814 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
8815
8816 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8817
8818 * util/grub.d/20_linux_xen.in: Use submenus.
8819
8820 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8821
8822 Support submenus.
8823
8824 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
8825 parameter submenu. All users updated.
8826 * grub-core/normal/main.c (free_menu): Rename to ...
8827 (grub_normal_free_menu): ... this. Made global.
8828 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
8829 if requested.
8830 * grub-core/normal/menu_entry.c (screen): New field submenu.
8831 (make_screen): Set submenu.
8832 (run): Open new context if requested.
8833 * include/grub/menu.h (grub_menu_entry): New field submenu.
8834 * include/grub/normal.h (grub_normal_free_menu): New proto.
8835
8836 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8837
8838 Menu entries extractor.
8839
8840 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
8841 variants.
8842 (GRUB_MOD_INIT): Register new variants.
8843 (GRUB_MOD_FINI): Unregister new variants.
8844 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
8845 into grub_cmd_legacy_source.
8846 (grub_cmd_legacy_source): Implement extractor variants.
8847 (GRUB_MOD_INIT): Register new variants.
8848 (GRUB_MOD_FINI): Unregister new variants.
8849 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
8850 as an extractor.
8851 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
8852 search as an extractor.
8853 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
8854 test as an extractor.
8855 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
8856 as an extractor.
8857 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
8858 (grub_env_new_context): New function.
8859 (grub_env_context_open): Likewise.
8860 (grub_env_extractor_open): Likewise.
8861 (grub_env_extractor_close): Likewise.
8862 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
8863 grub_extractor_level.
8864 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
8865 * include/grub/env.h (grub_env_extractor_open): New proto.
8866 (grub_env_extractor_close): Likewise.
8867 * include/grub/normal.h (grub_extractor_level): New external variable.
8868
8869 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8870
8871 Make cutmem accept a region specification.
8872 Suggested by: Samuel Thibault
8873
8874 * grub-core/mmap/mmap.c (parsemem): New function.
8875 (grub_cmd_cutmem): Handle new arguments.
8876
8877 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8878
8879 New command cutmem.
8880
8881 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
8882 (GRUB_MOD_INIT): Register new command.
8883 (GRUB_MOD_FINI): Unregister new command.
8884
8885 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8886
8887 Support some annoying BSD and Minix subpartitions.
8888
8889 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
8890 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
8891 Properly handle concatenation.
8892 * grub-core/kern/device.c (grub_device_iterate): Likewise.
8893 * grub-core/normal/completion.c (iterate_partition): Likewise.
8894 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
8895 contain partition. All users updated.
8896 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
8897 struct.
8898 (grub_openbsdlabel_partition_map): Likewise.
8899 (bsdlabel_partition_map_iterate): Rename to ..
8900 (iterate_real): ... this. New arguments sector, freebsd and pmap.
8901 (bsdlabel_partition_map_iterate): New function.
8902 (netopenbsdlabel_partition_map_iterate): Likewise.
8903 (netbsdlabel_partition_map_iterate): Likewise.
8904 (openbsdlabel_partition_map_iterate): Likewise.
8905 (GRUB_MOD_INIT): Register new partmaps.
8906 (GRUB_MOD_FINI): Unregister new partmaps.
8907 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
8908 (grub_partition_msdos_iterate): ... this. All users updated.
8909 Don't support embedding other than in a minix partition.
8910 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
8911 proto.
8912 * include/grub/partition.h (grub_partition): New field msdostype.
8913 * util/grub-install.in: Handle openbsd and netbsd types being in
8914 part_bsd module.
8915
8916 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8917
8918 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
8919
8920 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
8921 * grub-core/Makefile.core.def (mdraid): Renamed to ...
8922 (mdraid09): ... this.
8923 (mdraid1x): New module.
8924 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
8925 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
8926
8927 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8928
8929 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
8930 vsprintf.
8931
8932 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8933
8934 * grub-core/commands/efi/lsefimmap.c: Correct header.
8935 * NEWS: Update.
8936
8937 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8938
8939 * util/grub-editenv.c (argp_parser): Don't pass translated strings
8940 as printf format strings; the translations might contain '%' which
8941 could cause a crash.
8942 (main): Likewise.
8943 * util/grub-fstest.c (argp_parser): Likewise.
8944 * util/grub-setup.c (argp_parser): Likewise.
8945 (main): Likewise.
8946
8947 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8948
8949 Use argp in grub-fstest.
8950
8951 * util/grub-fstest.c: Don't include getopt.h.
8952 Include argp.h.
8953 (root): New variable.
8954 (args_count): Likewise.
8955 (nparm): Likewise.
8956 (num_disks): Likewise.
8957 (images): Likewise.
8958 (cmd): Likewise.
8959 (debug_str): Likewise.
8960 (args): Likewise.
8961 (options): Transformed to argp.
8962 (usage): Removed.
8963 (main): Split argument parsing into ...
8964 (argp_parser): ... this. Changed to argp format.
8965 (argp): New variable.
8966 (main): Use argp_parse.
8967
8968 2010-09-20 Tristan Gingold <gingold@free.fr>
8969 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
8970 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8971
8972 * grub-core/commands/efi/lsefimmap.c: New file.
8973 * grub-core/Makefile.core.def (lsefimmap): New module.
8974 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
8975
8976 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8977
8978 Pause the execution (10s max) if any errors are displayed so the user
8979 has a chance to see them.
8980
8981 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
8982 (grub_print_error): Increment grub_err_printed_errors.
8983 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
8984 execution if any errors were displayed.
8985 (show_menu): Remove old code for pause.
8986 * grub-core/normal/menu_entry.c (run): Likewise.
8987 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
8988 users updated.
8989 (grub_normal_get_char_counter): Likewise.
8990 * include/grub/err.h (grub_err_printed_errors): New external variable.
8991 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
8992
8993 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8994
8995 Support multiboot VBE info.
8996
8997 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8998 Take VBE info into account.
8999 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
9000 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
9001 Call fill_vbe_info when appropriate.
9002 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
9003 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
9004 as supported.
9005 (grub_multiboot_get_mbi_size): Take new tags into account.
9006 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
9007 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
9008 Call fill_vbe_tag when appropriate.
9009 (grub_multiboot_make_mbi): Properly align tags.
9010 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
9011 function.
9012 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
9013 proto.
9014 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
9015
9016 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9017
9018 Suport manual terminal geometry specification.
9019
9020 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
9021 Save state in grub_ofconsole_terminfo_output.
9022 (grub_ofconsole_term): Use grub_terminfo_getwh.
9023 (grub_ofconsole_getwh): Removed.
9024 * grub-core/term/serial.c (grub_serial_getwh): Removed.
9025 (grub_serial_term): Use grub_terminfo_getwh.
9026 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
9027 (options): New struct.
9028 (OPTION_*): New enum.
9029 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
9030 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
9031 width and height.
9032 (grub_terminfo_getwh): New proto.
9033 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
9034
9035 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9036
9037 Handle legacy "terminal" command.
9038
9039 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
9040 and FLAG_TERMINAL.
9041 (legacy_commands): Add terminal and title.
9042 (grub_legacy_parse): Handle terminal. Simplify title handling.
9043
9044 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9045
9046 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
9047 parameters overflow.
9048
9049 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
9050
9051 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
9052 widthspec.h.
9053
9054 * docs/grub.texi (Shell-like scripting): Document `!'.
9055 (Network): Simplify using new i386-pc-pxe format. Mention
9056 grub-mknetdir.
9057
9058 * NEWS: Update.
9059
9060 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
9061
9062 * Makefile.am (SUBDIRS): Restore "."; it's important to force
9063 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
9064 when needed.
9065
9066 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
9067
9068 * grub-core/commands/efi/lsefisystab.c: Correct header.
9069 * grub-core/commands/efi/lssal.c: Likewise.
9070 * grub-core/commands/testload.c: Likewise.
9071
9072 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
9073
9074 * util/grub-mkrescue.in: Add explicit root argument to --set to
9075 prevent the UUID being interpreted as an argument to --set (matches
9076 previous change to prepare_grub_to_access_device).
9077
9078 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
9079
9080 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
9081 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
9082 the verbosity of later #ifs.
9083 (find_partition_start): Define this function on FreeBSD too.
9084 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
9085 function.
9086 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
9087 on FreeBSD.
9088
9089 2010-09-20 Yves Blusseau <blusseau@zetam.org>
9090
9091 * util/grub-editenv.c: Use argp instead of getopt.
9092
9093 2010-09-20 Yves Blusseau <blusseau@zetam.org>
9094
9095 * util/grub-setup.c: Use argp instead of getopt.
9096
9097 2010-09-20 Yves Blusseau <blusseau@zetam.org>
9098
9099 Use gnulib-tool to create gnulib source files.
9100
9101 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
9102 grub-core/gnulib directories
9103 * .bzignore: Add **/.deps and autogenerated gnulib files
9104 * configure.ac: Assign auxiliary directory to build-aux, add invocation
9105 of gnulib macros, add grub-core/gnulib/Makefile
9106 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
9107 include m4 directory to aclocal.
9108 * Makefile.util.def: Remove direct compilation of gnulib source files
9109 and use the new grub-core/gnulib/libgnu.a.
9110 * build-aux/config.rpath: move config.rpath from top directory to
9111 build-aux
9112 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
9113 in gnulib headers
9114 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
9115 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
9116 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
9117 header.
9118 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
9119 string.
9120
9121 2010-09-20 Yves Blusseau <blusseau@zetam.org>
9122
9123 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
9124 grub-core/genmod.sh and grub-core/gensyminfo.sh
9125
9126 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
9127
9128 Add a test for echo command options.
9129
9130 * tests/grub_cmd_echo.in: New test.
9131 * Makefile.util.def: Rules for new test.
9132
9133 2010-09-20 Szymon Janc <szymon@janc.net.pl>
9134
9135 Remove crc.mod and move crc command to hashsum.mod.
9136 Remove lib/crc.c - users updated to use gcrypt implementation.
9137
9138 * grub-core/commands/crc.c: Removed.
9139 * grub-core/Makefile.core.def (crc): Module removed.
9140 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
9141 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
9142 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
9143 * grub-core/lib/crc.c: Removed.
9144 * include/grub/lib/crc.h: Removed.
9145 * Makefile.util.def (crc): Remove lib/crc.c
9146 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
9147 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
9148 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
9149 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
9150 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
9151 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
9152
9153 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
9154
9155 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
9156
9157 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9158
9159 Split config.h for util and core.
9160
9161 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
9162 (ADDR32): Likewise.
9163 (DATA32): Likewise.
9164 (BSS_START_SYMBOL): Likewise.
9165 (END_SYMBOL): Likewise.
9166 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
9167 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
9168 * config.h.in: New file.
9169 * configure.ac: Use config-util.h as config define file.
9170 Rename MACHINE into GRUB_MACHINE. All users updated.
9171 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
9172 updated.
9173 (NESTED_FUNC_ATTR): Likewise.
9174 Substitue new variables.
9175 (COND_HAVE_ASM_USCORE): New conditional.
9176 * grub-core/Makefile.am (ASM_PREFIX): New variable.
9177 (kernel_syms.lst): Use ASM_PREFIX.
9178 * grub-core/kern/emu/console.c: Include config-util.h.
9179 * grub-core/kern/emu/misc.c: Likewise.
9180 * grub-core/kern/emu/mm.c: Likewise.
9181 * include/grub/emu/misc.h: Likewise.
9182 * include/grub/libgcc.h: Likewise.
9183
9184 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9185
9186 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
9187 constants usage.
9188 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
9189 Fix GRUB_TERM_KEY_* constants usage.
9190 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
9191
9192 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9193
9194 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
9195 print pointer.
9196 * grub-core/bus/usb/uhci.c: Remove empty define.
9197 (grub_uhci_check_transfer): Add missing cast.
9198 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
9199 print pointer.
9200 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
9201 PRIuGRUB_SIZE.
9202 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
9203
9204 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9205
9206 * grub-core/Makefile.core.def (legacycfg): Add
9207 lib/i386/pc/vesa_modes_table.c on emu.
9208
9209 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
9210
9211 Reduce number of temporary files generated by build system.
9212
9213 * grub-core/gencmdlist.sh: Removed.
9214 * grub-core/genfslist.sh: Removed.
9215 * grub-core/genhandlerlist.sh: Removed.
9216 * grub-core/genmodsrc.sh: Removed.
9217 * grub-core/genpartmaplist.sh: Removed.
9218 * grub-core/genparttoollist.sh: Removed.
9219 * grub-core/gentermiinallist.sh: Removed.
9220 * grub-core/genvideolist.sh: Removed.
9221
9222 * grub-core/genmod.sh.in: New file.
9223 * grub-core/gensyminfo.sh.in: New file.
9224
9225 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
9226 * conf/Makefile.extra-dist: Update with new files.
9227 * gentpl.py: Remove rules related to unnecessary temporary files.
9228 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
9229 and und-* files.
9230 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
9231 genmod.sh scripts.
9232 * grub-core/bus/usb/uhci.c: Remove empty #define.
9233 * grub-core/genmoddep.awk: Updated with new syminfo format.
9234 * util/bash-completion.d/Makefile.am: Add config.log to
9235 CLEANFILES.
9236
9237 2010-09-19 Yves Blusseau <blusseau@zetam.org>
9238
9239 * Makefile.util.def: Add forgotten $(LIBINTL) library.
9240
9241 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
9242
9243 * util/grub-mkconfig.in: Check the config script for syntax errors
9244 before saving.
9245
9246 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
9247 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9248
9249 * Makefile.util.def (grub-install): Use util/grub-install.in on all
9250 platforms.
9251 * util/grub-install.in: Add EFI and IEEE1275 support.
9252 * util/i386/efi/grub-install.in: Removed.
9253 * util/ieee1275/grub-install.in: Likewise.
9254
9255 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
9256
9257 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
9258 (grub_cmd_cmosclean): Likewise.
9259 (GRUB_MOD_INIT): Register command cmosclean.
9260 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
9261 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
9262
9263 2010-09-18 Carles Pina i Estany <carles@pina.cat>
9264 2010-09-18 Aleš Nesrsta <starous@volny.cz>
9265 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9266
9267 Add keyboard layouts support.
9268
9269 * Makefile.util.def (grub-mklayout): New file.
9270 (grub-kbdcomp): New script.
9271 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
9272 Add keyboard_layouts.h.
9273 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
9274 commands/boot.c on yeeloong.
9275 (keylayouts): New module.
9276 * grub-core/bus/usb/ohci.c
9277 * grub-core/bus/usb/uhci.c
9278 * grub-core/bus/usb/usbhub.c (rescan): New variable.
9279 (grub_usb_add_hub): Poll interrupt pipe for device handling.
9280 (attach_root_port): Likewise.
9281 (poll_nonroot_hub): Likewise.
9282 (grub_usb_poll_devices): Likewise.
9283 (detach_device): Close transfer.
9284 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
9285 function.
9286 (grub_usb_bulk_setup_readwrite): Likewise.
9287 (grub_usb_bulk_finish_readwrite): Likewise.
9288 * grub-core/commands/keylayouts.c: New file.
9289 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
9290 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
9291 aliases.
9292 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
9293 support scancode 2.
9294 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
9295 * include/grub/keyboard_layouts.h: New file.
9296 * util/grub-mklayout.c: New file.
9297 * util/grub-kbdcomp.in: Likewise.
9298
9299 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9300
9301 Unify memory types.
9302
9303 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
9304 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
9305 types.
9306 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
9307 (grub_upper_mem): Likewise.
9308 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
9309 * include/grub/memory.h (grub_memory_type_t): New enum.
9310 All users updated.
9311
9312 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9313
9314 * grub-core/Makefile.core.def (lsapm): New module.
9315 * grub-core/commands/i386/pc/lsapm.c: New file.
9316 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
9317 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
9318 Likewise.
9319 * include/grub/i386/pc/apm.h: New file.
9320 * include/multiboot.h (multiboot_apm_info): New struct.
9321
9322 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
9323
9324 GRUB-legacy configuration file support.
9325
9326 * Makefile.util.def (grub-menulst2cfg): New util.
9327 * docs/man/grub-menulst2cfg.h2m: New file.
9328 * grub-core/Makefile.core.def (legacycfg): New module.
9329 * grub-core/commands/legacycfg.c: New file.
9330 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
9331 (grub_normal_add_menu_entry): ... this.
9332 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
9333 (grub_normal_set_password): ...this.
9334 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
9335 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
9336 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
9337 * grub-core/lib/legacy_parse.c: New file.
9338 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
9339 * include/grub/i386/pc/vesa_modes_table.h: New file.
9340 * include/grub/legacy_parse.h: Likewise.
9341 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
9342 * util/grub-menulst2cfg.c: New file.
9343
9344 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
9345
9346 * grub-core/kern/emu/hostdisk.c
9347 (convert_system_partition_to_system_disk): Initialise node.
9348
9349 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
9350
9351 * grub-core/kern/emu/hostdisk.c
9352 (convert_system_partition_to_system_disk): Fix devmapper memory pool
9353 leak.
9354 Reported and based on patch by: Modestas Vainius.
9355
9356 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
9357
9358 Fix DM-RAID probing with recent versions of device-mapper udev
9359 rules.
9360
9361 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
9362 canonicalise device paths under /dev/mapper/.
9363 (convert_system_partition_to_system_disk): Compare the
9364 uncanonicalised path to /dev/mapper/ rather than the canonicalised
9365 path, since device nodes under /dev/mapper/ are often symlinks.
9366
9367 2010-09-17 Yves Blusseau <blusseau@zetam.org>
9368
9369 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
9370
9371 2010-09-16 Yves Blusseau <blusseau@zetam.org>
9372
9373 * configure.ac: Avoid some annoying error messages if freetype-config
9374 program is not found.
9375
9376 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
9377
9378 Support RAID on virtio devices, and others.
9379
9380 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
9381 Rename to ...
9382 [__MINGW32__] (grub_find_device): ... this.
9383 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
9384 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
9385 reasonable default if dir is NULL.
9386 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
9387 ...
9388 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
9389 (grub_guess_root_device): Update callers.
9390 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
9391
9392 * util/raid.c (grub_util_getdiskname): Remove.
9393 (grub_util_raid_getmembers): Use grub_find_device rather than
9394 grub_util_getdiskname.
9395
9396 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
9397
9398 * docs/grub.texi (serial): Remove obsolete comment about GRUB
9399 needing to be compiled with serial support.
9400 (ls): Indicate that multiple files are accepted.
9401 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
9402 indicate that multiple files are accepted.
9403
9404 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
9405
9406 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
9407 libgrub_a_init.c, and util/bash-completion.d/grub.
9408
9409 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9410
9411 * util/grub-setup.c (setup): Fix incorrect container semantics.
9412
9413 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9414
9415 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
9416 misusage.
9417 Reported by: J. Nick Terry
9418
9419 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9420
9421 Move embedding routines to partmap sources files.
9422
9423 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
9424 [GRUB_UTIL]: New variable.
9425 (gpt_partition_map_iterate): Set part.parent.
9426 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
9427 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
9428 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
9429 New function.
9430 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
9431 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
9432 (grub_partition_map) [GRUB_UTIL]: New field embed.
9433 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
9434 (setup): Use ->embed.
9435
9436 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9437
9438 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
9439 function.
9440 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
9441 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
9442
9443 2010-09-15 Yves Blusseau <blusseau@zetam.org>
9444
9445 Add function to get completions from usage.
9446
9447 * util/bash-completion.d/grub-completion.bash.in: Add function to get
9448 completions from usage. Use LC_ALL=C to get options properly.
9449
9450 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9451
9452 * grub-core/gnulib/basename-lgpl.c: Imported.
9453 * grub-core/gnulib/basename.c: Likewise.
9454 * grub-core/gnulib/dirname-lgpl.c: Likewise.
9455 * grub-core/gnulib/dirname.c: Likewise.
9456 * grub-core/gnulib/dirname.h: Likewise.
9457 * grub-core/gnulib/stripslash.c: Likewise.
9458
9459 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
9460
9461 * grub-core/gnulib/error.c: Resynced.
9462 * grub-core/gnulib/getopt.c: Likewise.
9463 * grub-core/gnulib/getopt_int.h: Likewise.
9464 * grub-core/gnulib/regex.h: Likewise.
9465 * grub-core/gnulib/regex_internal.c: Likewise.
9466 * grub-core/gnulib/regex_internal.h: Likewise.
9467
9468 2010-09-15 Szymon Janc <szymon@janc.net.pl>
9469
9470 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
9471 CRC calculations and validity checks.
9472 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
9473 calculations.
9474
9475 2010-09-15 Szymon Janc <szymon@janc.net.pl>
9476
9477 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
9478
9479 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9480
9481 Fix incorrect echo options handling.
9482 Reported by: Yves Blusseau.
9483
9484 * include/grub/command.h (grub_command_flags_t): New flags
9485 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
9486 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
9487 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
9488
9489 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9490
9491 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
9492 users updated.
9493 (GRUB_COMMAND_FLAG_MENU): Likewise.
9494 (GRUB_COMMAND_FLAG_BOTH): Likewise.
9495 (GRUB_COMMAND_FLAG_TITLE): Removed.
9496 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
9497 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
9498 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
9499 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
9500 (grub_command_flags_t): New enum. All users updated.
9501
9502 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
9503
9504 Fix solaris compilation.
9505
9506 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
9507 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
9508 (grub-emu-list): Likewise.
9509
9510 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9511
9512 Remove deprecated root command.
9513
9514 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
9515 updated.
9516
9517 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9518
9519 * util/i386/pc/grub-setup.c: Merge this ...
9520 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
9521 * util/grub-setup.c: ... into this.
9522 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
9523 New struct.
9524
9525 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9526
9527 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
9528 possible.
9529
9530 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9531
9532 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
9533 allocate p.
9534
9535 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9536
9537 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
9538 explicit root argument to set to prevent UUID to be interpreted as
9539 argument to set.
9540
9541 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9542
9543 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
9544
9545 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9546
9547 Don't export grub_gate_a20.
9548
9549 * grub-core/kern/i386/pc/init.c: Remove leftovers.
9550 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
9551 to ...
9552 (grub_gate_a20): ... this. All users updated.
9553 * include/grub/i386/pc/init.h: Removed. All users updated.
9554
9555 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9556
9557 Create euro.pf2 which supports most European languages.
9558
9559 * Makefile.am (grubdata_DATA): Add euro.pf2.
9560 (euro.pf2): New target.
9561 (CLEANFILES): Add euro.pf2.
9562
9563 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
9564
9565 * configure.ac: Disable emu-usb by default to prevent inadvertent
9566 device takeover.
9567
9568 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9569
9570 Disable usbserial on grub-emu since our libusb code isn't good enough
9571 yet.
9572
9573 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
9574 (usbserial_pl2303): Likewise.
9575 (usbserial_ftdi): Likewise.
9576
9577 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9578
9579 * include/grub/disk.h (grub_disk): Remove has_partitions.
9580 All users updated.
9581 * disk/loopback.c (grub_loopback): Remove has_partitions.
9582 All users updated.
9583 (options): Remove partitions. All users updated.
9584 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
9585 * util/i386/pc/grub-setup.c (setup): copy partition table only when
9586 actual partition table is found.
9587
9588 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9589
9590 Remove readability checks (too many false negatives).
9591
9592 * util/grub-install.in: Remove readability checks.
9593 * util/grub-mkconfig.in: Likewise.
9594 * util/grub.d/10_hurd.in: Likewise.
9595 * util/grub.d/10_kfreebsd.in: Likewise.
9596 * util/grub.d/10_linux.in: Likewise.
9597 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
9598 way.
9599
9600 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9601
9602 Enable acpi shutdown on all ACPI platforms.
9603
9604 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
9605 on coreboo, multiboot and EFI.
9606 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
9607 (grub_acpi_halt): Likewise.
9608 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
9609 (grub_cmd_halt): Don't call grub_acpi_halt directly.
9610 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
9611 * grub-core/lib/i386/halt.c (grub_halt)
9612 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
9613
9614 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9615
9616 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
9617 context.
9618
9619 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9620
9621 * grub-core/video/efi_gop.c: Fix over-80-chars line.
9622 * grub-core/video/efi_uga.c: Likewise.
9623
9624 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9625
9626 Filter devaliases and never open same device twice.
9627
9628 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
9629 (last_ihandle): Likewise.
9630 (ofdisk_hash_ent): New member shortest.
9631 (ofdisk_hash_add): Add canonical path too.
9632 (scan): New function.
9633 (grub_ofdisk_iterate): Iterate over hashed entries.
9634 (compute_dev_path): Don't add :0.
9635 (grub_ofdisk_open): Don't really open the disk.
9636 (grub_ofdisk_close): Avoid closing unrelated disk.
9637 (grub_ofdisk_read): Implement reopen logic.
9638 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
9639 New function.
9640 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
9641 New proto.
9642
9643 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9644
9645 Fix sparc64.
9646
9647 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
9648 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
9649 right address. Add sparc64_ieee1275_ldflags.
9650 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
9651 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
9652 to grub_host_to_target_addr
9653 (load_image): Likewise.
9654
9655 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9656
9657 * grub-core/normal/completion.c (complete_file): Handle device
9658 containing slash.
9659 Fix based on patch by Doug Nazar.
9660
9661 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9662
9663 grub-mknetdir script.
9664
9665 * Makefile.util.def (grub-mknetdir): New module.
9666 * tests/util/grub-shell.in: Support boot=net
9667 * util/grub-mknetdir.in: New file.
9668
9669 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9670
9671 videoinfo on non-vbe.
9672
9673 * grub-core/Makefile.core.def (vbeinfo): Removed.
9674 (vbetest): Removed.
9675 (videoinfo): New module.
9676 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
9677 * grub-core/commands/i386/pc/vbetest.c: Removed.
9678 * grub-core/commands/videoinfo.c: New file.
9679 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
9680 specification.
9681 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
9682 as vbetest.
9683 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
9684 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
9685 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
9686 mode_number. New parameter mode. All users updated.
9687 (grub_video_gop_iterate): New function.
9688 (grub_video_efi_gop): New member iterate.
9689 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
9690 (grub_vbe_set_video_mode): Remove setting useless fields.
9691 (vbe2videoinfo): New function.
9692 (grub_video_vbe_iterate): Likewise.
9693 (grub_video_vbe_setup): Use vbe2videoinfo.
9694 (grub_video_vbe_print_adapter_specific_info): New function.
9695 (grub_video_vbe_adapter): New fields iterate and
9696 print_adapter_specific_info.
9697 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
9698 All users updated.
9699 (grub_video_mode_info): New field mode_number.
9700 (grub_video_adapter): New fields iterate and
9701 print_adapter_specific_info.
9702
9703 2010-09-13 Tristan Gingold <gingold@free.fr>
9704 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
9705 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9706
9707 * grub-core/commands/efi/lsefisystab.c: New file.
9708 * grub-core/commands/efi/lssal.c: Likewise.
9709 * grub-core/Makefile.core.def (lsacpi): New module.
9710 (lsefisystab): Likewise.
9711 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
9712 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
9713 (grub_efi_sal_system_table): New struct.
9714 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
9715 (grub_efi_sal_system_table_memory_descriptor): Likewise.
9716 (grub_efi_sal_system_table_platform_features): Likewise.
9717 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
9718 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
9719 (grub_efi_sal_system_table_ap_wakeup): Likewise.
9720 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
9721
9722 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9723
9724 Support explicit user claim that a device is BIOS-visible.
9725
9726 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
9727 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
9728 * grub-core/kern/emu/hostdisk.c
9729 (convert_system_partition_to_system_disk): Support mdX.
9730 (find_system_device): New parameter add. All users updated.
9731 (grub_util_biosdisk_is_present): New function.
9732 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
9733 proto.
9734
9735 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9736
9737 Search hints support.
9738
9739 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
9740 All users updated.
9741
9742 2010-09-13 Yves Blusseau <blusseau@zetam.org>
9743
9744 Bash completion script for util commands
9745
9746 * Makefile.am: Add util/bash-completion.d directory
9747 * configure.ac: Likewise.
9748 * util/bash-completion.d/Makefile.am: New file.
9749 * util/bash-completion.d/grub-completion.bash.in: Likewise.
9750
9751 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9752
9753 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
9754 (print_backlog): set backlog_ucs4 and backlog_glyphs.
9755 Reported by: Yves Blusseau.
9756
9757 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9758
9759 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
9760 partition size and offset.
9761
9762 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9763
9764 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
9765
9766 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9767
9768 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
9769
9770 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9771
9772 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
9773 (grub_xvasprintf): Likewise.
9774
9775 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9776
9777 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
9778
9779 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9780
9781 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
9782 args ending with NULL.
9783
9784 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9785
9786 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
9787 pointer.
9788
9789 2010-09-11 Szymon Janc <szymon@janc.net.pl>
9790
9791 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
9792
9793 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9794
9795 Shutdown using ACPI.
9796
9797 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
9798 * grub-core/commands/acpihalt.c: New file.
9799 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
9800 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
9801 (grub_acpi_halt): New proto.
9802 (GRUB_ACPI_SLP_EN): New const.
9803 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
9804 (GRUB_ACPI_OPCODE_*): New enum.
9805 (GRUB_ACPI_EXTOPCODE_*): Likewise.
9806
9807 2010-09-11 Tristan Gingold <gingold@free.fr>
9808 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
9809 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9810
9811 * commands/lsacpi.c: New file.
9812 * grub-core/Makefile.core.def (lsacpi): New module.
9813 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
9814 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
9815 (grub_acpi_madt_entry_header): New struct.
9816 (grub_acpi_madt): Likewise.
9817 (grub_acpi_madt_entry_interrupt_override): Likewise.
9818 (grub_acpi_madt_entry_sapic): Likewise.
9819 (grub_acpi_madt_entry_lsapic): Likewise.
9820 (grub_acpi_madt_entry_platform_int_source): Likewise.
9821 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
9822 (PRIuGRUB_UINT32_T): Likewise.
9823 (PRIxGRUB_UINT64_T): Likewise.
9824
9825 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9826
9827 Implement loading palette on ieee1275_fb.
9828
9829 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
9830 (have_setcolors): Likewise.
9831 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
9832 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
9833 (grub_video_ieee1275_set_palette): Implement.
9834
9835 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9836 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
9837
9838 * util/grub-install.in (grub_partition): New variable.
9839 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
9840 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
9841 Fixes a bug reported by Yves Blusseau.
9842
9843 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9844
9845 Fix emu on mipsel.
9846
9847 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
9848 =grub_cpu_flush_cache on all mips and not only yeeloong.
9849 * configure.ac (COND_mips): New conditional.
9850 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
9851 platforms.
9852 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
9853 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
9854 [GRUB_LINKER_HAVE_INIT]: New function.
9855 (grub_emu_post_init): Likewise.
9856 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
9857 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
9858 * include/grub/cache.h (_mips): Include mips/cache.h.
9859 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
9860 LVM and RAID prototypes.
9861 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
9862 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
9863 function.
9864
9865 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
9866
9867 * util/grub-install.in: Don't try to verify core.img until after
9868 running grub-mkimage to create it.
9869
9870 2010-09-10 Robert Millan <rmh@gnu.org>
9871
9872 * util/grub.d/10_hurd.in: Add misc readability checks.
9873 * util/grub.d/10_kfreebsd.in: Likewise.
9874 * util/grub.d/10_linux.in: Likewise.
9875
9876 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
9877
9878 * util/grub-install.in: ${imgext} won't be defined here until the
9879 install branch is merged. For the meantime, only verify core.img on
9880 i386-pc and sparc64-ieee1275 platforms.
9881
9882 2010-09-10 Robert Millan <rmh@gnu.org>
9883
9884 Solaris support in grub_find_zpool_from_dir(). Thanks
9885 Seth Goldberg for referring to getextmntent() facility.
9886
9887 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
9888 `sys/mkdev.h'.
9889 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
9890 `<sys/mnttab.h>'.
9891 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
9892 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
9893 method for finding zpool name.
9894
9895 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
9896
9897 grub-fstest needs the host and hostfs modules while other utilities
9898 actively require those modules to be absent, so grub-fstest needs
9899 its own initialisation and finalisation code.
9900
9901 * Makefile.am (grub_fstest.pp): New target.
9902 (grub_fstest_init.lst): Likewise.
9903 (grub_fstest_init.c): Likewise.
9904 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
9905
9906 2010-09-10 Robert Millan <rmh@gnu.org>
9907
9908 * configure.ac: Check for `struct statfs.f_fstypename' and
9909 `struct statfs.f_mntfromname'.
9910
9911 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
9912 kFreeBSD-specific code.
9913
9914 2010-09-10 Robert Millan <rmh@gnu.org>
9915
9916 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
9917 on ZFS. Now non-main filesystems are supported as / too.
9918
9919 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
9920
9921 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
9922 and grub-core/disk/host.c to ...
9923 (grub-fstest): ... here. Having the host disk implementation
9924 present confuses grub-probe and other utility programs.
9925
9926 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
9927 when writing to a file, not when writing to stdout.
9928
9929 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
9930
9931 * tests/partmap_test.in: New test for partitions.
9932 * Makefile.util.def: Rules for new test.
9933
9934 2010-09-09 Robert Millan <rmh@gnu.org>
9935
9936 * util/grub-probe.c (probe): Fix a pair of unhandled error
9937 conditions.
9938
9939 2010-09-09 Robert Millan <rmh@gnu.org>
9940
9941 Basic Btrfs support (detection and UUID).
9942
9943 * grub-core/fs/btrfs.c: New file.
9944 * Makefile.util.def (library): Register btrfs.c.
9945 * grub-core/Makefile.core.def: Likewise.
9946
9947 2010-09-08 Robert Millan <rmh@gnu.org>
9948
9949 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
9950 with (optional) parameters to specify device and relative path.
9951 * util/grub-install.in: Use is_path_readable_by_grub() to
9952 verify readability of a few critical files.
9953 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
9954 verify readability of grub.cfg.new.
9955
9956 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9957
9958 Split minix.mod into minix.mod and minix2.mod.
9959
9960 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
9961 * grub-core/Makefile.core.def (minix2): New module.
9962 * grub-core/fs/minix.c: Use definitions instead of runtime version
9963 checking.
9964 * grub-core/fs/minix2.c: New file.
9965
9966 2010-09-08 Yves Blusseau <blusseau@zetam.org>
9967
9968 Add new --boot-directory option to replace --root-directory
9969
9970 * util/grub-install.in: Add new --boot-directory option
9971 * util/grub-reboot.in: Likewise.
9972 * util/grub-set-default.in: Likewise.
9973
9974 2010-09-08 Yves Blusseau <blusseau@zetam.org>
9975
9976 * util/grub-mkconfig.in: Use new variable.
9977
9978 2010-09-08 Yves Blusseau <blusseau@zetam.org>
9979
9980 * configure.ac: Define some useful variables.
9981
9982 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9983
9984 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9985 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
9986 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
9987 Use terminfo and don't use cursor-on/cursor-off unless it's known
9988 to work.
9989 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
9990 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
9991
9992 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
9993
9994 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
9995 starts with "(,", fill the drive containing the loaded image in
9996 between those two characters, but expect that a full partition
9997 specification including partition map names will follow.
9998
9999 2010-09-08 Robert Millan <rmh@gnu.org>
10000
10001 * configure.ac: Remove `--enable-grub-fstest' option.
10002 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
10003
10004 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
10005 `grub-fstest' instead of `grub-probe' for readability verification.
10006 * util/grub-probe.c (probe): Remove readability verification kludge.
10007
10008 2010-09-08 Robert Millan <rmh@gnu.org>
10009
10010 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
10011 initializing `GRUB_FS'.
10012
10013 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
10014
10015 Not command (!) support to GRUB script.
10016
10017 * tests/grub_script_not.in: New test.
10018 * Makefile.util.def: Rules for new test.
10019
10020 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
10021 ! command as a special case.
10022 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
10023
10024 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
10025
10026 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
10027 grub_free.
10028
10029 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
10030
10031 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
10032
10033 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
10034
10035 * docs/grub.texi (Shell-like scripting): Documentation for break,
10036 continue, shift and return commands.
10037
10038 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
10039
10040 Rename CD-ROM to cd on BIOS.
10041
10042 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
10043 "cd".
10044 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
10045
10046 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10047
10048 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
10049 * util/grub-probe.c (main): Likewise.
10050 * util/i386/pc/grub-setup.c (main): Likewise.
10051 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
10052 Reported and debugged by: alexxy
10053
10054 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10055
10056 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
10057 diagnostic info.
10058
10059 2010-09-05 Jo Shields <directhex@apebox.org>
10060
10061 * util/grub.d/30_os-prober.in: Add missing classes.
10062
10063 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10064
10065 * docs/grub.texi (Theme file format): Document new position format.
10066
10067 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10068
10069 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
10070 a table. Use @code instead of @verbatim.
10071
10072 2010-09-05 Colin D Bennett <colin@gibibit.com>
10073
10074 Gfxmenu documentation.
10075
10076 * docs/grub.texi (Theme file format): New chapter.
10077
10078 2010-09-05 Szymon Janc <szymon@janc.net.pl>
10079
10080 * grub-core/Makefile.core.def (xzio): New module.
10081 * grub-core/io/xzio.c: New file.
10082 * grub-core/lib/xzembed/xz.h: New file (from xembed).
10083 * grub-core/lib/xzembed/xz_config.h: Likewise.
10084 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
10085 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
10086 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
10087 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
10088 * grub-core/lib/xzembed/xz_private.h: Likewise.
10089 * grub-core/lib/xzembed/xz_stream.h: Likewise.
10090 * include/grub/file.h (grub_file_filter_id): New compression filter
10091 GRUB_FILE_FILTER_XZIO.
10092
10093 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10094
10095 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
10096 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
10097 size.
10098
10099 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10100
10101 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
10102 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
10103
10104 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10105
10106 Uncompressed checksum support.
10107
10108 * grub-core/commands/hashsum.c (options): Add option --uncompress.
10109 (check_list): New parameter uncompress.
10110 (grub_cmd_hashsum): Handle --uncompress.
10111
10112 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10113
10114 Reintroduce testload.
10115
10116 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
10117 from here ...
10118 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
10119 (GRUB_MOD_INIT): New function.
10120 (GRUB_MOD_FINI): Likewise.
10121 * grub-core/Makefile.core.def (testload): New module.
10122
10123 2010-09-05 Szymon Janc <szymon@janc.net.pl>
10124
10125 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
10126 (uint8_t): New type.
10127 (uint16_t): Likewise.
10128 (uint32_t): Likewise.
10129 (uint64_t): Likewise.
10130
10131 2010-09-05 Szymon Janc <szymon@janc.net.pl>
10132
10133 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
10134
10135 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
10136
10137 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
10138 Made static.
10139 (grub_gzfile_open): Removed. All users updated.
10140 (GRUB_MOD_INIT): New function.
10141 (GRUB_MOD_FINI): Likewise.
10142 * grub-core/kern/file.c (grub_file_filters_all): New variable.
10143 (grub_file_filters_enabled): Likewise.
10144 (grub_file_open): Handle filters.
10145 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
10146 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
10147 * include/grub/file.h (grub_file_filter_id_t): New type.
10148 (grub_file_filter_t): Likewise.
10149 (grub_file_filters_all): New extern variable.
10150 (grub_file_filters_enabled): Likewise.
10151 (grub_file_filter_register): New inline function.
10152 (grub_file_filter_unregister): Likewise.
10153 (grub_file_filter_disable): Likewise.
10154 (grub_file_filter_disable_compression): Likewise.
10155 * include/grub/gzio.h: Removed.
10156
10157 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10158
10159 Filename expansion support for wildcards in GRUB script.
10160
10161 * tests/grub_script_expansion.in: New test.
10162 * Makefile.util.def: Rule for new test.
10163
10164 * grub-core/commands/wildcard.c: New file, implements filename
10165 expansion support for GRUB script.
10166 * grub-core/Makefile.core.def: Rule update for regexp.mod.
10167 * grub-core/script/argv.c: Cosmetic changes.
10168 * grub-core/script/execute.c (grub_script_arglist_to_argv):
10169 Refactored to perform wildcard expansion on arguments.
10170 * include/grub/script_sh.h (grub_script_wildcard_translator): New
10171 struct.
10172
10173 * tests/util/grub-shell.in: Fix quoting for read input.
10174
10175 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10176
10177 Support for updating environment variables with matched substrings
10178 of regexp.
10179
10180 * tests/grub_cmd_regexp.in: New test.
10181 * Makefile.util.def: Rule for new test.
10182
10183 * grub-core/commands/regexp.c: New option -s to update environment
10184 variables with regexp matches.
10185
10186 2010-09-04 Szymon Janc <szymon@janc.net.pl>
10187
10188 * include/grub/file.h (grub_file): New member not_easly_seekable.
10189 (grub_file_seekable): New inline function.
10190 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
10191 easily seekable.
10192 (grub_gzio_open): Set not_easly_seekable.
10193 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
10194 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
10195
10196 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10197
10198 Support for options to appear multiple times on cmdline.
10199
10200 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
10201 * grub-core/commands/extcmd.c: Support for repeatable option.
10202 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
10203 repeatable option support.
10204
10205 Refactor menuentry into a regular command.
10206
10207 * grub-core/commands/menuentry.c: New file, menuentry command
10208 implementation.
10209 * grub-core/Makefile.core.def: Rule update for normal.mod.
10210 * grub-core/normal/main.c: Moved menuentry creation to
10211 grub-core/commands/menuentry.c.
10212 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
10213 (grub_menu_execute_entry_real): Removed.
10214 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
10215 function.
10216 (grub_script_execute_menuentry): Removed.
10217 * grub-core/script/parser.y (menuentry): Removed.
10218 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
10219 * grub-core/script/yylex.l (menuentry): Removed.
10220 * include/grub/menu.h (grub_menu_init): New prototype.
10221 (grub_menu_fini): New prototype.
10222 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
10223 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
10224 (grub_script_execute_sourcecode): New prototype.
10225
10226 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10227
10228 "return" command for GRUB script functions.
10229
10230 * tests/grub_script_return.in: New test.
10231 * Makefile.util.def: Rules for new test.
10232
10233 * grub-core/script/execute.c (grub_script_return): New function.
10234 * grub-core/script/main.c: Register/unregister return commaond.
10235 * include/grub/script_sh.h (grub_script_return): New prototype.
10236
10237 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10238
10239 "setparams" command to update positional parameters.
10240
10241 * tests/grub_script_setparams.in: New test.
10242 * Makefile.util.def: Rules for new test.
10243
10244 * grub-core/script/argv.c (grub_script_argv_make): New function.
10245 * grub-core/script/execute.c (replace_scope): New function.
10246 (grub_script_setparams): New function.
10247 * grub-core/script/lexer.c: Remove unused variables.
10248 * grub-core/script/main.c: Register/unregister setparams command.
10249 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
10250 (grub_script_setparams): New prototype.
10251
10252 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10253
10254 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
10255 grub_free order.
10256
10257 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10258
10259 Support for passing block of commands as an argument to extcmds.
10260
10261 * Makefile.util.def: Rules for new test.
10262 * tests/grub_script_blockarg.in: New test.
10263 * grub-core/tests/test_blockarg.c: New file, block argument
10264 command used in the test.
10265
10266 * include/grub/extcmd.h (grub_extcmd_context): New struct.
10267 (grub_register_extcmd_prio): New function prototype.
10268 (grub_extcmd_dispatcher): New function prototype.
10269 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
10270 type.
10271 * include/grub/script_sh.h (struct grub_script): New members
10272 `children', `next_siblings' and `refcnt' for block arguments and
10273 reference counting.
10274 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
10275 (grub_script_arg): New member `script' for block argument.
10276 (grub_script_argv): New member `script' for block argument.
10277 (grub_parser_param): New member `scripts' for block argument.
10278 (grub_script_mem_free): New extern function prototype.
10279 (grub_script_ref): New function prototype.
10280 (grub_script_unref): New function prototype.
10281
10282 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
10283 extcmd form to support block arguments.
10284 * grub-core/script/argv.c: Block arguments support.
10285 * grub-core/script/execute.c: Likewise.
10286 * grub-core/script/lexer.c: Likewise.
10287 * grub-core/script/main.c: Likewise.
10288 * grub-core/script/script.c: Likewise.
10289 * grub-core/script/parser.y: Likewise. New `block' and `block0'
10290 non-terminals.
10291
10292 * grub-core/commands/acpi.c: Update extcmd implementations with
10293 grub_extcmd_context_t.
10294 * grub-core/commands/cat.c: Likewise.
10295 * grub-core/commands/echo.c: Likewise.
10296 * grub-core/commands/extcmd.c: Likewise.
10297 * grub-core/commands/hashsum.c: Likewise.
10298 * grub-core/commands/hdparm.c: Likewise.
10299 * grub-core/commands/help.c: Likewise.
10300 * grub-core/commands/hexdump.c: Likewise.
10301 * grub-core/commands/i386/cpuid.c: Likewise.
10302 * grub-core/commands/i386/pc/drivemap.c: Likewise.
10303 * grub-core/commands/i386/pc/halt.c: Likewise.
10304 * grub-core/commands/i386/pc/sendkey.c: Likewise.
10305 * grub-core/commands/iorw.c: Likewise.
10306 * grub-core/commands/keystatus.c: Likewise.
10307 * grub-core/commands/loadenv.c: Likewise.
10308 * grub-core/commands/ls.c: Likewise.
10309 * grub-core/commands/lspci.c: Likewise.
10310 * grub-core/commands/memrw.c: Likewise.
10311 * grub-core/commands/probe.c: Likewise.
10312 * grub-core/commands/search_wrap.c: Likewise.
10313 * grub-core/commands/setpci.c: Likewise.
10314 * grub-core/commands/sleep.c: Likewise.
10315 * grub-core/disk/loopback.c: Likewise.
10316 * grub-core/hello/hello.c: Likewise.
10317 * grub-core/loader/i386/bsd.c: Likewise.
10318 * grub-core/loader/xnu.c: Likewise.
10319 * grub-core/term/gfxterm.c: Likewise.
10320 * grub-core/term/serial.c: Likewise.
10321 * grub-core/tests/lib/functional_test.c: Likewise.
10322
10323 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
10324
10325 Multi-line quoted strings support.
10326
10327 * grub-core/script/lexer.c (append_newline): Removed.
10328 (grub_script_lexer_yywrap): Refactored.
10329 (grub_script_lexer_init): Refactored.
10330 * grub-core/script/yylex.l (yywrap): New function.
10331 (grub_lexer_resplit): New function.
10332 (grub_lexer_unput): New function.
10333 * include/grub/script_sh.h (grub_lexer_param): New members, unput
10334 and resplit.
10335 * tests/grub_script_echo1.in: Added few more testcases.
10336
10337 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
10338
10339 * grub-core/kern/misc.c: Don't add abort alias in utils.
10340 Reported by: echoline.
10341
10342 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
10343
10344 Add missing files into "make dist" tarball for other platforms.
10345
10346 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
10347 * conf/Makefile.common (dist_noinst_DATA): New variable.
10348 * conf/Makefile.extra-dist: Added missing make dist files.
10349 * grub-core/Makefile.core.def: Likewise.
10350
10351 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
10352
10353 Compress grub_prefix.
10354
10355 * grub-core/boot/i386/pc/lnxboot.S: Use
10356 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
10357 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
10358 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
10359 GRUB_MACHINE_PREFIX_END. All users updated.
10360 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
10361 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
10362 + 0x40.
10363 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
10364 * util/grub-mkimage.c (image_target_desc): Change data_end to
10365 prefix_end. All users updated.
10366
10367 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
10368
10369 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
10370 value.
10371 (grub_openbsd_boot): Likewise.
10372 (grub_netbsd_boot): Likewise.
10373 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
10374 (grub_xnu_boot): Likewise.
10375
10376 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10377
10378 * configure.ac: Clean LIBS variable after tests.
10379
10380 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
10381
10382 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
10383
10384 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10385
10386 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
10387 echo if libdevmapper will be used.
10388
10389 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
10390
10391 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
10392 constant for the same file.
10393
10394 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10395
10396 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
10397
10398 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
10399
10400 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
10401 grub-core/*.pp.
10402
10403 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
10404
10405 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
10406 required by the boot protocol.
10407
10408 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
10409 ebp and edi members.
10410 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
10411 state.ebp and state.edi.
10412 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
10413 %ebp and %edi according to grub_relocator32_ebp and
10414 grub_relocator32_edi respectively.
10415 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
10416 and state.edi.
10417
10418 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10419
10420 Add i386-pc-pxe image target.
10421
10422 * util/grub-mkimage.c (image_target_desc): New enum value
10423 IMAGE_I386_PC_PXE.
10424 (image_targets): New target i386-pc-pxe.
10425 (generate_image): Handle i386-pc-pxe image.
10426
10427 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
10428
10429 Fix grub_pxe_scan.
10430
10431 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
10432 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
10433 All users updated.
10434 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
10435 (grub_pxe_pxenv): Correct type.
10436
10437 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
10438
10439 * NEWS: Document most of the important changes since 1.98.
10440
10441 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
10442
10443 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
10444 generated manual page) a little.
10445
10446 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
10447
10448 * docs/grub.texi: Add myself as an author.
10449
10450 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
10451
10452 * Makefile.util.def (libgrub.a): Add missing sunpc.
10453 Reported by: Seth Goldberg.
10454
10455 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10456
10457 Interrupt wrapping and code simplifications.
10458
10459 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
10460 x86_noieee1275 which are functionaly equivalent in this case.
10461 (grub-install): Make source on each platform explicit. Enable on
10462 all noemu.
10463 * gentpl.py (x86_efi_pc): Removed group.
10464 (x86_noefi): Likewise.
10465 (i386_noefi): Likewise.
10466 (x86_noieee1275): Likewise.
10467 (i386_noieee1275): Likewise.
10468 (i386_noefi_noieee1275): Likewise.
10469 (i386_pc_qemu_coreboot): Likewise.
10470 (i386_coreboot_multiboot): Likewise.
10471 (i386_pc_coreboot_multiboot_qemu): Likewise.
10472 (x86_noefi_mips): Likewise.
10473 (noieee1275): Likewise.
10474 (ieee1275_mips): Likewise.
10475 (noemu_noieee1275): Likewise.
10476 (cmos): New group.
10477 (usb): Likewise.
10478 (videoinkernel): Likewise.
10479 (videomodules): Likewise.
10480 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
10481 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
10482 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
10483 include/grub/loader.h, include/grub/msdos_partition.h,
10484 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
10485 include/grub/machine/console.h, include/grub/machine/vga.h,
10486 include/grub/machine/vbe.h, include/grub/machine/init.h,
10487 include/grub/machine/kernel.h, include/grub/cpu/time.h,
10488 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
10489 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
10490 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
10491 * grub-core/Makefile.core.def (kernel): Explicit the source for
10492 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
10493 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
10494 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
10495 Use videoinkernel tag.
10496 (usb): Enable on all usb.
10497 (usbserial_common): Likewise.
10498 (usbserial_pl2303): Likewise.
10499 (usbserial_ftdi): Likewise.
10500 (uhci): Enable on all x86.
10501 (ohci): Enable on all pci.
10502 (cmostest): Enable on all CMOS.
10503 (acpi): Include commands/acpi.c on all platforms.
10504 (halt): Add relevant lib/*/halt.c.
10505 (hdparm): Enable on all pci.
10506 (lspci): Likewise.
10507 (usbtest): Enable on all usb.
10508 (ata): Enable on all pci.
10509 (ata_pthru): Likewise.
10510 (usbms): Enable on all usb.
10511 (usb_keyboard): Likewise.
10512 (font): Use tag videomodules.
10513 (bufio): Likewise.
10514 (datetime): Use tag cmos. Enable on all noemu.
10515 (mmap): Use tags common and x86.
10516 (gfxterm): Use tag videomodules.
10517 (bitmap): Likewise.
10518 (bitmap_scale): Likewise.
10519 (video_fb): Likewise.
10520 (video): Likewise.
10521 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
10522 adjust padding accordingly. All users updated.
10523 (grub_ohci_transaction): Fix bad format specification.
10524 (GRUB_MOD_INIT): Add asserts for struct size.
10525 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
10526 (grub_alloc_td): Likewise.
10527 (grub_free_queue): Likewise.
10528 (grub_uhci_transfer): Likewise.
10529 (grub_uhci_transaction): Fix bad format specification.
10530 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
10531 (grub_usb_bulk_readwrite): Likewise.
10532 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
10533 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
10534 Made static.
10535 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
10536 Made static.
10537 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
10538 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
10539 Transformed into C.
10540 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
10541 Moved from here ...
10542 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
10543 ... here. Transformed into C. Made static.
10544 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
10545 Moved from here ...
10546 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
10547 ... here. Transformed into C. Made static.
10548 * grub-core/kern/i386/pc/startup.S
10549 (grub_biosdisk_check_int13_extensions): Moved from here ...
10550 * grub-core/disk/i386/pc/biosdisk.c
10551 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
10552 Made static.
10553 * grub-core/kern/i386/pc/startup.S
10554 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
10555 * grub-core/disk/i386/pc/biosdisk.c
10556 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
10557 Transformed into C. Made static.
10558 * grub-core/kern/i386/pc/startup.S
10559 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
10560 * grub-core/disk/i386/pc/biosdisk.c
10561 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
10562 Transformed into C. Made static.
10563 * grub-core/kern/i386/pc/startup.S
10564 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
10565 * grub-core/disk/i386/pc/biosdisk.c
10566 (grub_biosdisk_get_diskinfo_standard): ... here.
10567 Transformed into C. Made static.
10568 * grub-core/kern/i386/pc/startup.S
10569 (grub_biosdisk_get_num_floppies): Moved from here ...
10570 * grub-core/disk/i386/pc/biosdisk.c
10571 (grub_biosdisk_get_num_floppies): ... here.
10572 Transformed into C. Made static.
10573 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
10574 New function.
10575 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
10576 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
10577 Transformed into C. Made static.
10578 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
10579 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
10580 Transformed into C. Made static.
10581 * grub-core/kern/i386/ieee1275/init.c: Removed.
10582 * grub-core/kern/i386/misc.S: Likewise.
10583 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
10584 Splitted from here ...
10585 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
10586 Transformed into C. Made static. All users updated.
10587 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
10588 Transformed into C. Made static. All users updated.
10589 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
10590 Moved from here...
10591 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
10592 Transformed into C. Made static. All users updated.
10593 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
10594 Moved from here...
10595 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
10596 Transformed into C. Made static. All users updated.
10597 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
10598 Removed (replaced by C version).
10599 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
10600 Moved from here...
10601 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
10602 Transformed into C. Made static.
10603 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
10604 Moved from here...
10605 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
10606 ... here. Transformed into C.
10607 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
10608 Moved from here...
10609 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
10610 ... here. Transformed into C.
10611 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
10612 Moved from here...
10613 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
10614 ... here. Transformed into C. Made static.
10615 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
10616 Moved from here...
10617 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
10618 ... here. Transformed into C.
10619 * grub-core/kern/i386/pc/startup.S
10620 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
10621 * grub-core/video/i386/pc/vbe.c
10622 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
10623 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
10624 Moved from here...
10625 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
10626 ... here. Transformed into C.
10627 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
10628 Moved from here...
10629 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
10630 ... here. Transformed into C.
10631 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
10632 Moved from here...
10633 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
10634 ... here. Transformed into C.
10635 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
10636 Moved from here...
10637 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
10638 ... here. Transformed into C.
10639 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
10640 Moved from here...
10641 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
10642 ... here. Transformed into C. Made static.
10643 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
10644 Moved from here...
10645 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
10646 ... here. Transformed into C. Made static.
10647 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
10648 Moved from here...
10649 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
10650 ... here. Transformed into C. Made static.
10651 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
10652 pxe_rm_entry as third argument.
10653 (grub_bios_interrupt): New function.
10654 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
10655 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
10656 of calling grub_stop.
10657 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
10658 * grub-core/lib/efi/halt.c (grub_halt): ...here.
10659 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
10660 * grub-core/lib/emu/halt.c (grub_halt): ... here.
10661 * grub-core/lib/i386/halt.c: Moved from here ...
10662 * grub-core/lib/i386/halt.c: ... here.
10663 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
10664 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
10665 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
10666 grub_stop_floppy.
10667 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
10668 * include/grub/i386/coreboot/init.h: Removed.
10669 * include/grub/i386/multiboot/init.h: Likewise.
10670 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
10671 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
10672 * include/grub/i386/pc/int.h: New file.
10673 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
10674 (grub_pxe_scan): Removed.
10675 (grub_pxe_call): Update prototype.
10676 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
10677 prototypes.
10678 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
10679 * include/grub/i386/qemu/init.h: Removed.
10680 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
10681 noreturn.
10682 (grub_halt): Likewise.
10683 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
10684 (grub_reboot): Likewise.
10685 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
10686 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
10687 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
10688
10689 2010-08-30 Robert Millan <rmh@gnu.org>
10690
10691 * NEWS: Document addition of ZFS support in `grub-install' and
10692 `grub-mkconfig'.
10693
10694 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
10695
10696 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
10697 dprintf output.
10698
10699 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10700
10701 Remove leftover embedding of font objects.
10702
10703 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
10704 * util/grub-install.in (font): Removed.
10705 * util/grub-mkimage.c (generate_image): Remove font support. All users
10706 updated.
10707
10708 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10709
10710 Remove leftover embedding of font objects.
10711
10712 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
10713 * util/grub-install.in (font): Removed.
10714 * util/grub-mkimage.c (generate_image): Remove font support. All users
10715 updated.
10716
10717 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10718
10719 * docs/grub.texi (Network): Fix reference to pxe_blksize.
10720 Reported by: Ian Turner
10721
10722 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10723
10724 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
10725 timeout to avoid indefinite boot stalling.
10726
10727 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10728
10729 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
10730 (grub_env_write_color_highlight): Likewise.
10731
10732 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10733
10734 * grub-core/normal/term.c (print_more): Return to normal and not
10735 to standard state after printing "---MORE---".
10736
10737 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10738
10739 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
10740 Mask out the bit 0x80 since it has other meaning that specifiing color.
10741
10742 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10743
10744 New relocator. Allows for more kernel support and more straightforward
10745 loader writing.
10746
10747 * Makefile.am (BOOTTARGET): New variable.
10748 (QEMU32): Likewise.
10749 (linux.init.x86_64): New target.
10750 (linux.init.i386): Likewise.
10751 (multiboot.elf): Likewise.
10752 (kfreebsd.elf): Likewise.
10753 (kfreebsd.aout): Likewise.
10754 (pc-chainloader.elf): Likewise.
10755 (pc-chainloader.bin): Likewise.
10756 (ntldr.elf): Likewise.
10757 (ntldr.bin): Likewise.
10758 (multiboot2.elf): Likewise.
10759 (kfreebsd.init.x86_64): Likewise.
10760 (kfreebsd.init.i386): Likewise.
10761 (knetbsd.init.i386): Likewise.
10762 (kopenbsd.init.i386): Likewise.
10763 (knetbsd.init.x86_64): Likewise.
10764 (kopenbsd.init.x86_64): Likewise.
10765 (linux-initramfs.i386): Likewise.
10766 (linux-initramfs.x86_64): Likewise.
10767 (kfreebsd-mfsroot.i386.img): Likewise.
10768 (knetbsd.image.i386): Likewise.
10769 (kopenbsd.image.i386): Likewise.
10770 (kopenbsd.image.x86_64): Likewise.
10771 (knetbsd.miniroot-image.i386.img): Likewise.
10772 (kfreebsd-mfsroot.x86_64.img): Likewise.
10773 (knetbsd.image.x86_64): Likewise.
10774 (knetbsd.miniroot-image.x86_64.img): Likewise.
10775 (kfreebsd-mfsroot.i386.gz): Likewise.
10776 (bootcheck-kfreebsd-i386): Likewise.
10777 (kfreebsd-mfsroot.x86_64.gz): Likewise.
10778 (bootcheck-kfreebsd-x86_64): Likewise.
10779 (knetbsd.miniroot-image.i386.gz): Likewise.
10780 (bootcheck-knetbsd-i386): Likewise.
10781 (bootcheck-kopenbsd-i386): Likewise.
10782 (bootcheck-kopenbsd-x86_64): Likewise.
10783 (knetbsd.miniroot-image.x86_64.gz): Likewise.
10784 (bootcheck-knetbsd-x86_64): Likewise.
10785 (bootcheck-linux-i386): Likewise.
10786 (bootcheck-linux-x86_64): Likewise.
10787 (bootcheck-linux16-i386): Likewise.
10788 (bootcheck-linux16-x86_64): Likewise.
10789 (bootcheck-multiboot): Likewise.
10790 (bootcheck-multiboot2): Likewise.
10791 (bootcheck-kfreebsd-aout): Likewise.
10792 (bootcheck-pc-chainloader): Likewise.
10793 (bootcheck-ntldr): Likewise.
10794 (CLEANFILES): Add new targets.
10795 (BOOTCHECKS): New variable.
10796 (.PHONY): Add bootchecks.
10797 (SUCCESSFUL_BOOT_STRING): New variable.
10798 (BOOTCHECK_TIMEOUT): Likewise.
10799 (bootcheck): New target
10800 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
10801 * configure.ac: Correct efiemu excuse.
10802 * docs/grub.texi (Supported kernels): New chapter.
10803 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
10804 include/grub/mm_private.h. Simplify inclusion of
10805 include/grub/boot.h, include/grub/loader.h
10806 and include/grub/msdos_partition.h
10807 (KERNEL_HEADER_FILES) [i386_coreboot]:
10808 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
10809 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
10810 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
10811 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
10812 include/grub/machine/loader.h.
10813 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
10814 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
10815 extra_dist.
10816 (pci.mod): Enable on i386-multiboot.
10817 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
10818 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
10819 i386-qemu.
10820 (relocator.mod): Rewritten.
10821 (aout.mod): Enable on all x86.
10822 (bsd.mod): Likewise.
10823 (ntldr.mod): New module.
10824 (linux.mod): Use loader/i386/linux.c on all x86.
10825 (xnu.mod): Enable on all x86.
10826 (vga_text.mod): disable on EFI and QEMU.
10827 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
10828 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
10829 * grub-core/efiemu/loadcore.c: Likewise.
10830 * grub-core/efiemu/main.c: Likewise.
10831 (grub_efiemu_exit_boot_services): Removed.
10832 (grub_efiemu_finish_boot_services): Likewise.
10833 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
10834 function.
10835 * grub-core/efiemu/i386/nocfgtables.c: New file.
10836 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
10837 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
10838 (grub_efi_finish_boot_services): Moved from here ...
10839 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
10840 Fille finish memory map and related data.
10841 (finish_mmap_buf): New variable.
10842 (grub_efi_uintn_t finish_mmap_size): Likewise.
10843 (grub_efi_uintn_t finish_key): Likewise.
10844 (grub_efi_uintn_t finish_desc_size): Likewise.
10845 (grub_efi_uint32_t finish_desc_version): Likewise.
10846 (grub_efi_is_finished): Likewise.
10847 (grub_efi_get_memory_map): Use saved memory map if EFI is already
10848 finished.
10849 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
10850 (grub_elf64_phdr_iterate): Likewise.
10851 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
10852 (grub_os_area_size): Likewise.
10853 (grub_machine_init): Don't reserve os area.
10854 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
10855 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
10856 * grub-core/kern/i386/loader.S: Removed.
10857 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
10858 (grub_os_area_size): Likewise.
10859 (grub_machine_init): Don't reserve os area.
10860 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
10861 Don't call grub_dl_unload_all.
10862 Don't include loader.S.
10863 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
10864 Declare the memory after _end as available.
10865 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
10866 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
10867 (GRUB_MM_ALLOC_MAGIC): Moved from here...
10868 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
10869 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
10870 * include/grub/mm_private.h (grub_mm_header): ... here.
10871 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
10872 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
10873 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
10874 (grub_mm_region): ..here. Removed addr. Added pre_size.
10875 All users updated.
10876 * grub-core/kern/mm.c (base): Renamed to ...
10877 (grub_mm_base): ... this. Made global.
10878 (grub_real_malloc): Alloc from end of region.
10879 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
10880 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
10881 * grub-core/kern/powerpc/cache_flush.S: ... here.
10882 * grub-core/lib/efi/relocator.c: New file.
10883 * grub-core/lib/i386/relocator.c: Rewritten.
10884 * grub-core/lib/i386/relocator16.S: New file.
10885 * grub-core/lib/i386/relocator32.S: Likewise.
10886 * grub-core/lib/i386/relocator64.S: Likewise.
10887 * grub-core/lib/i386/relocator_asm.S: Rewritten.
10888 * grub-core/lib/i386/relocator_common.S: New file.
10889 * grub-core/lib/ieee1275/relocator.c: Likewise.
10890 * grub-core/lib/mips/relocator.c: Rewritten.
10891 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
10892 stylistic adjustments.
10893 * grub-core/lib/powerpc/relocator.c: New file.
10894 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
10895 * grub-core/lib/relocator.c: Rewritten.
10896 * grub-core/lib/x86_64/relocator_asm.S: New file.
10897 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
10898 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
10899 (bsd_tag): New struct.
10900 (tags): New variable.
10901 (tags_last): Likewise.
10902 (netbsd_module): New struct.
10903 (netbsd_mods): New variable.
10904 (netbsd_mods_last): Likewise.
10905 (openbsd_opts): New parameter "serial".
10906 (OPENBSD_SERIAL_ARG): New definition.
10907 (netbsd_opts): New parameter "serial".
10908 (NETBSD_SERIAL_ARG): New definition.
10909 (grub_freebsd_add_meta): Reorganised into ...
10910 (grub_bsd_add_meta): ...this. All users updated.
10911 (grub_freebsd_add_mmap): Reorganised into ...
10912 (generate_e820_mmap): ...this...
10913 (grub_bsd_add_mmap): ...and this. All users updated.
10914 (grub_freebsd_list_modules): Use tags.
10915 (grub_netbsd_add_meta_module): New function.
10916 (grub_netbsd_list_modules): Likewise.
10917 (grub_freebsd_boot): Use relocator and finish EFI.
10918 (grub_openbsd_boot): Likewise.
10919 (grub_netbsd_setup_video): New function.
10920 (grub_netbsd_add_modules): Likewise.
10921 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
10922 and finish EFI.
10923 (grub_bsd_unload): Unload tags.
10924 (grub_bsd_load_aout): Use relocator.
10925 (grub_bsd_elf32_size_hook): New function.
10926 (grub_bsd_elf32_hook): Use relocator.
10927 (grub_bsd_elf64_size_hook): New function.
10928 (grub_bsd_elf64_hook): Use relocator.
10929 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
10930 (grub_bsd_load): Zero-out openbsd_ramdisk.
10931 (grub_bsd_load): Use relocator.
10932 (grub_cmd_openbsd): Support serial.
10933 (grub_cmd_netbsd): Support modules.
10934 (grub_cmd_freebsd_module): Use relocator.
10935 (grub_netbsd_module_load): New function.
10936 (grub_cmd_netbsd_module): Likewise.
10937 (grub_cmd_openbsd_ramdisk): Likewise.
10938 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
10939 kopenbsd_ramdisk.
10940 (GRUB_MOD_FINI): Unregister new commands.
10941 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
10942 (grub_freebsd_load_elfmodule_obj): Use relocator.
10943 (grub_freebsd_load_elfmodule): Likewise.
10944 (grub_freebsd_load_elf_meta): Likewise.
10945 (grub_netbsd_load_elf_meta): New function.
10946 (grub_openbsd_find_ramdisk): Likewise.
10947 * grub-core/loader/i386/bsd_helper.S: Removed.
10948 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
10949 * grub-core/loader/i386/bsd_trampoline.S: Removed.
10950 * grub-core/loader/i386/efi/linux.c: Likewise.
10951 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
10952 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
10953 (DEFAULT_VIDEO_MODE): Likewise.
10954 (real_mode_target): New variable.
10955 (prot_mode_target): Likewise.
10956 (initrd_mem_target): Likewise.
10957 (relocator): Likewise.
10958 (efi_mmap_buf): Likewise.
10959 (efi_mmap_size): Likewise.
10960 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
10961 (free_pages): Use relocator.
10962 (allocate_pages): Account for efi_mmap and use relocator. Return error.
10963 (grub_linux_setup_video): Return error.
10964 (grub_linux_trampoline_start): Removed.
10965 (grub_linux_trampoline_end): Likewise.
10966 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
10967 andd video parameters depending on firmware.
10968 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
10969 [GRUB_MACHINE_EFI]: Pass EFI parameters.
10970 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
10971 (grub_cmd_initrd): Use relocator.
10972 * grub-core/loader/i386/linux_trampoline.S: Removed.
10973 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
10974 (elf_sec_entsize): Likewise.
10975 (elf_sec_shstrndx): Likewise.
10976 (elf_sections): Likewise.
10977 (grub_multiboot_load): Use relocator.
10978 (grub_multiboot_get_mbi_size): Account for sections.
10979 (grub_multiboot_make_mbi): Use relocator and support sections.
10980 (grub_multiboot_add_elfsyms): New function.
10981 (grub_multiboot_free_mbi): Free sections.
10982 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
10983 (grub_linux_real_target): Likewise.
10984 (grub_linux_real_chunk): Likewise.
10985 (grub_linux16_prot_size): Likewise.
10986 (grub_linux16_boot): Use relocator.
10987 (grub_linux_unload): Unload relocator.
10988 (grub_cmd_linux): Use relocator.
10989 (grub_cmd_initrd): Likewise.
10990 * grub-core/loader/i386/pc/ntldr.c: New file.
10991 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
10992 Don't try to guess CPU frequency.
10993 (grub_xnu_set_video): Stretch bitmap.
10994 (grub_xnu_boot): Use relocator.
10995 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
10996 (grub_linux_unload): Free relocator.
10997 (grub_linux_load32): Use relocator.
10998 (grub_linux_load64): Likewise.
10999 (grub_cmd_initrd): Likewise.
11000 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
11001 (grub_multiboot_unload): Unload relocator.
11002 (grub_cmd_multiboot): Use relocator.
11003 (grub_cmd_module): Likewise.
11004 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
11005 Use relocator and support sections.
11006 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
11007 (elf_sec_entsize): Likewise.
11008 (elf_sec_shstrndx): Likewise.
11009 (elf_sections): Likewise.
11010 (grub_multiboot_load): Use relocator.
11011 (grub_multiboot_get_mbi_size): Account for sections.
11012 (grub_multiboot_make_mbi): Use relocator and support sections.
11013 (grub_multiboot_add_elfsyms): New function.
11014 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
11015 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
11016 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
11017 Prototype changed. All users updated.
11018 (grub_xnu_align_heap): Simplified.
11019 (grub_xnu_writetree_toheap): Likewise.
11020 (grub_xnu_unload): Unload relocator.
11021 (grub_cmd_xnu_kernel): Use relocator.
11022 (grub_cmd_xnu_kernel64): Likewise.
11023 (grub_xnu_register_memory): Simplified.
11024 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
11025 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
11026 EFI is finished.
11027 (grub_console_checkkey): Likewise.
11028 (grub_console_getkey): Likewise.
11029 (grub_console_getwh): Likewise.
11030 (grub_console_getxy): Likewise.
11031 (grub_console_gotoxy): Likewise.
11032 (grub_console_cls): Likewise.
11033 (grub_console_setcolorstate): Likewise.
11034 (grub_console_setcursor): Likewise.
11035 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
11036 * grub-core/tests/boot/kbsd.init-i386.S: New file.
11037 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
11038 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
11039 * grub-core/tests/boot/kernel-8086.S: Likewise.
11040 * grub-core/tests/boot/kernel-i386.S: Likewise.
11041 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
11042 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
11043 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
11044 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
11045 * grub-core/tests/boot/knetbsd.cfg: Likewise.
11046 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
11047 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
11048 * grub-core/tests/boot/linux.cfg: Likewise.
11049 * grub-core/tests/boot/linux.init-i386.S: Likewise.
11050 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
11051 * grub-core/tests/boot/linux16.cfg: Likewise.
11052 * grub-core/tests/boot/multiboot.cfg: Likewise.
11053 * grub-core/tests/boot/multiboot2.cfg: Likewise.
11054 * grub-core/tests/boot/ntldr.cfg: Likewise.
11055 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
11056 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
11057 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
11058 New definition.
11059 * include/grub/dl.h (grub_dl_unload_all): Removed.
11060 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
11061 (grub_efi_finish_boot_services): Change prototype.
11062 (grub_efi_is_finished): New variable.
11063 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
11064 Changed prototype.
11065 (grub_efiemu_finish_boot_services): Removed.
11066 (grub_machine_efiemu_init_tables): New prototype.
11067 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
11068 (grub_elf64_phdr_iterate): Likewise.
11069 * include/grub/i386/bsd.h: Include relocator.h.
11070 (freebsd_tag_header): New struct.
11071 (grub_openbsd_bios_mmap): Removed.
11072 (grub_unix_real_boot): Removed.
11073 (grub_freebsd_load_elfmodule32): Changed prototype.
11074 (grub_freebsd_load_elfmodule_obj64): Likewise.
11075 (grub_freebsd_load_elf_meta32): Likewise.
11076 (grub_freebsd_load_elf_meta64): Likewise.
11077 (grub_freebsd_add_meta): Removed.
11078 (grub_netbsd_load_elf_meta32): New prototype.
11079 (grub_netbsd_load_elf_meta64): Likewise.
11080 (grub_bsd_add_meta): Likewise.
11081 (grub_openbsd_ramdisk_descriptor): New struct.
11082 (grub_openbsd_find_ramdisk32): New prototype.
11083 (grub_openbsd_find_ramdisk64): Likewise.
11084 * include/grub/i386/coreboot/loader.h: Removed.
11085 * include/grub/i386/efi/loader.h: Likewise.
11086 * include/grub/i386/ieee1275/loader.h: Likewise.
11087 * include/grub/i386/linux.h (linux_kernel_header): Change void *
11088 to grub_uint32_t.
11089 * include/grub/i386/loader.h: Removed.
11090 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
11091 value.
11092 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
11093 (grub_phys_addr_t): New type.
11094 (grub_vtop): New inline function.
11095 (grub_map_memory): Likewise.
11096 (grub_unmap_memory): Likewise.
11097 * include/grub/i386/multiboot/loader.h: Removed.
11098 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
11099 (NETBSD_BTINFO_CONSOLE): New definition.
11100 (NETBSD_BTINFO_SYMTAB): Likewise.
11101 (NETBSD_BTINFO_MODULES): Likewise.
11102 (NETBSD_BTINFO_FRAMEBUF): Likewise.
11103 (grub_netbsd_bootinfo): New struct.
11104 (grub_netbsd_btinfo_common): Use explicit bitsize.
11105 (grub_netbsd_btinfo_mmap_entry): Removed.
11106 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
11107 (grub_netbsd_btinfo_bootdisk): New struct.
11108 (grub_netbsd_btinfo_symtab): Likewise.
11109 (grub_netbsd_btinfo_serial): Likewise.
11110 (grub_netbsd_btinfo_modules): Likewise.
11111 (grub_netbsd_btinfo_framebuf): Likewise.
11112 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
11113 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
11114 Likewise.
11115 (grub_openbsd_bootargs): Use explicit bitsize.
11116 (grub_openbsd_bootarg_console): New struct.
11117 (GRUB_OPENBSD_COM_MAJOR): New definition.
11118 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
11119 * include/grub/i386/pc/efiemu.h: Removed.
11120 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
11121 * include/grub/i386/qemu/loader.h: Removed.
11122 * include/grub/i386/relocator.h: Rewritten.
11123 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
11124 * include/grub/mips/memory.h: New file.
11125 * include/grub/mips/multiboot.h: Rewritten.
11126 * include/grub/mips/relocator.h: Rewritten.
11127 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
11128 (grub_vtop): New function.
11129 (grub_map_memory): Likewise.
11130 (grub_unmap_memory): Likewise.
11131 * include/grub/misc.h (ALIGN_DOWN): New definition.
11132 * include/grub/mm.h (grub_mm_check_real): New proto.
11133 (GRUB_MM_CHECK): New definition.
11134 * include/grub/mm_private.h: New file.
11135 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
11136 (grub_multiboot_get_mbi_size): Removed.
11137 (grub_multiboot_make_mbi): Change prottype.
11138 (grub_multiboot_set_accepts_video): New proto.
11139 (grub_multiboot_add_elfsyms): Likewise.
11140 (grub_multiboot_payload_eip): New variable.
11141 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
11142 New prototype.
11143 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
11144 New definition.
11145 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
11146 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
11147 * include/grub/powerpc/ieee1275/loader.h: Removed.
11148 * include/grub/powerpc/memory.h: New file.
11149 * include/grub/powerpc/relocator.h: Likewise.
11150 * include/grub/relocator.h: Likewise.
11151 * include/grub/relocator_private.h: Likewise.
11152 * include/grub/sparc64/ieee1275/loader.h: Removed.
11153 * include/grub/x86_64/memory.h: New file.
11154 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
11155 (grub_xnu_heap_malloc): Likewise.
11156 (grub_xnu_heap_real_start): Removed.
11157 (grub_xnu_heap_start): Likewise.
11158 (grub_xnu_relocator): New variable.
11159 (grub_xnu_heap_target_start): Likewise.
11160 * tests/util/grub-shell.in: Support non-pc.
11161 * util/grub-mkimage.c (image_targets): Fix multiboot target.
11162
11163 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11164
11165 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
11166 on malloc error.
11167 (grub_bidi_logical_to_visual): Check that malloc succeded.
11168 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
11169 puts.
11170 (grub_xputs_normal): Likewise.
11171
11172 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11173
11174 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
11175 extra_dist.
11176
11177 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11178
11179 * grub-core/efiemu/runtime/efiemu.sh: Removed.
11180
11181 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11182
11183 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
11184
11185 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
11186
11187 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
11188 dprintf.
11189
11190 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
11191
11192 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
11193
11194 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11195
11196 * grub-core/normal/term.c (print_more): Fix a memory leak.
11197 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
11198 (grub_xputs_normal): Likewise.
11199
11200 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11201
11202 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
11203 the begining of the string
11204
11205 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11206
11207 * grub-core/script/script.c (grub_script_parse): Free parsed on
11208 failure.
11209
11210 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11211
11212 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
11213 on failure.
11214
11215 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11216
11217 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
11218 return.
11219
11220 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11221
11222 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
11223 (scroll_up): Fix a memory leak.
11224
11225 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
11226
11227 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
11228 errors.
11229
11230 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
11231
11232 Handle USB pendrives exposed as floppies.
11233
11234 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
11235 floppy.
11236 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
11237 Check for partitions on all devices.
11238
11239 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
11240
11241 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
11242 (readkey): Likewise.
11243
11244 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
11245
11246 Multiple variable names support to "export" command.
11247
11248 * normal/context.c (grub_cmd_export): "export" command supports
11249 multiple variable names.
11250
11251 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
11252
11253 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
11254 --target=drive output to Mach device name.
11255
11256 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
11257
11258 New Automake based build system for GRUB.
11259
11260 * ABOUT-NLS: New file.
11261 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
11262 in Makefile.util.def file.
11263 * Makefile.util.def: New file. Autogen build definitions file for
11264 GRUB host utils.
11265 * conf/Makefile.common: New file. Common variables for GRUB host
11266 utils and target modules.
11267 * conf/Makefile.extra-dist: New file. Extra files for make dist.
11268 * docs/Makefile.am: New file. Automake file for docs.
11269 * gentpl.py: New file. Python script to generate Autogen
11270 template.
11271 * grub-core/Makefile.am: New file. GRUB target modules' rules
11272 that doesn't fit in Makefile.core.def file.
11273 * grub-core/Makefile.core.def: New file. Autogen build
11274 definitions file for GRUB target modules.
11275 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
11276 specific setjmp.S file.
11277 * po/Makefile.am: New file.
11278
11279 * .bzrignore: New ignores.
11280 * INSTALL: New requirements, without Ruby.
11281 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
11282 * autogen.sh: Updated to invoke autogen as necessary.
11283 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
11284 and defines for Automake conditionals.
11285 * geninit.sh: Refactoring.
11286
11287 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
11288 necessary.
11289 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
11290 New prototype.
11291
11292 * include/grub/test.h: Fix functional test modules' naming.
11293 * grub-core/tests/example_functional_test.c: Fix test module name.
11294
11295 * util/misc.c: Hosted versions' of grub functions for libgrub.a
11296 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
11297 * util/grub-editenv.c: Likewise.
11298 * util/grub-fstest.c: Likewise.
11299 * util/grub-mkdevicemap.c: Likewise.
11300 * util/grub-mkfont.c: Likewise.
11301 * util/grub-mkimage.c: Likewise.
11302 * util/grub-mkpasswd-pbkdf2.c: Likewise.
11303 * util/grub-probe.c: Likewise.
11304 * util/grub-script-check.c: Likewise.
11305 * util/i386/pc/grub-setup.c: Likewise.
11306 * util/sparc64/ieee1275/grub-setup.c: Likewise.
11307
11308 * tests/util/grub-shell.in: Fix override directory path.
11309 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
11310 * util/import_gcry.py: Create Makefile.gcry.def file instead.
11311
11312 * util/lvm.c: Update #includes.
11313 * util/raid.c: Likewise.
11314 * util/resolve.c: Likewise.
11315 * grub-core/bus/emu/pci.c: Likewise.
11316 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
11317 * grub-core/lib/posix_wrap/string.h: Likewise.
11318 * grub-core/kern/emu/main.c: Likewise.
11319
11320 * grub-core/gensymlist.sh: New file. Script for generating kernel
11321 symbols file.
11322 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
11323
11324 * grub-core/gentrigtables.c: Fix unused variable warnings.
11325
11326 * Makefile.in: Removed.
11327 * conf/any-emu.rmk: Removed.
11328 * conf/common.rmk: Removed.
11329 * conf/i386-coreboot.rmk: Removed.
11330 * conf/i386-efi.rmk: Removed.
11331 * conf/i386-ieee1275.rmk: Removed.
11332 * conf/i386-multiboot.rmk: Removed.
11333 * conf/i386-pc.rmk: Removed.
11334 * conf/i386-qemu.rmk: Removed.
11335 * conf/i386.rmk: Removed.
11336 * conf/mips-yeeloong.rmk: Removed.
11337 * conf/mips.rmk: Removed.
11338 * conf/powerpc-ieee1275.rmk: Removed.
11339 * conf/sparc64-ieee1275.rmk: Removed.
11340 * conf/tests.rmk: Removed.
11341 * conf/x86-efi.rmk: Removed.
11342 * conf/x86_64-efi.rmk: Removed.
11343 * gendistlist.sh: Removed.
11344 * geninitheader.sh: Removed.
11345 * genkernsyms.sh.in: Removed.
11346 * genmk.rb: Removed.
11347 * gensymlist.sh.in: Removed.
11348 * mkinstalldirs: Removed.
11349 * boot: Moved ...
11350 * grub-core/boot: ... to here.
11351 * bus: Moved ...
11352 * grub-core/bus: ... to here.
11353 * commands: Moved ...
11354 * grub-core/commands: ... to here.
11355 * disk: Moved ...
11356 * grub-core/disk: ... to here.
11357 * efiemu: Moved ...
11358 * grub-core/efiemu: ... to here.
11359 * font: Moved ...
11360 * grub-core/font: ... to here.
11361 * fs: Moved ...
11362 * grub-core/fs: ... to here.
11363 * gencmdlist.sh: Moved ...
11364 * grub-core/gencmdlist.sh: ... to here.
11365 * genemuinit.sh: Moved ...
11366 * grub-core/genemuinit.sh: ... to here.
11367 * genemuinitheader.sh: Moved ...
11368 * grub-core/genemuinitheader.sh: ... to here.
11369 * genfslist.sh: Moved ...
11370 * grub-core/genfslist.sh: ... to here.
11371 * genhandlerlist.sh: Moved ...
11372 * grub-core/genhandlerlist.sh: ... to here.
11373 * genmoddep.awk: Moved ...
11374 * grub-core/genmoddep.awk: ... to here.
11375 * genmodsrc.sh: Moved ...
11376 * grub-core/genmodsrc.sh: ... to here.
11377 * genpartmaplist.sh: Moved ...
11378 * grub-core/genpartmaplist.sh: ... to here.
11379 * genparttoollist.sh: Moved ...
11380 * grub-core/genparttoollist.sh: ... to here.
11381 * genterminallist.sh: Moved ...
11382 * grub-core/genterminallist.sh: ... to here.
11383 * gentrigtables.c: Moved ...
11384 * grub-core/gentrigtables.c: ... to here.
11385 * genvideolist.sh: Moved ...
11386 * grub-core/genvideolist.sh: ... to here.
11387 * gettext: Moved ...
11388 * grub-core/gettext: ... to here.
11389 * gfxmenu: Moved ...
11390 * grub-core/gfxmenu: ... to here.
11391 * gnulib: Moved ...
11392 * grub-core/gnulib: ... to here.
11393 * hello: Moved ...
11394 * grub-core/hello: ... to here.
11395 * hook: Moved ...
11396 * grub-core/hook: ... to here.
11397 * io: Moved ...
11398 * grub-core/io: ... to here.
11399 * kern: Moved ...
11400 * grub-core/kern: ... to here.
11401 * lib: Moved ...
11402 * grub-core/lib: ... to here.
11403 * loader: Moved ...
11404 * grub-core/loader: ... to here.
11405 * mmap: Moved ...
11406 * grub-core/mmap: ... to here.
11407 * normal: Moved ...
11408 * grub-core/normal: ... to here.
11409 * partmap: Moved ...
11410 * grub-core/partmap: ... to here.
11411 * parttool: Moved ...
11412 * grub-core/parttool: ... to here.
11413 * script: Moved ...
11414 * grub-core/script: ... to here.
11415 * term: Moved ...
11416 * grub-core/term: ... to here
11417 * tests/example_functional_test.c: Moved ...
11418 * grub-core/tests/example_functional_test.c: ... to here.
11419 * tests/lib/functional_test.c: Moved ...
11420 * grub-core/tests/lib/functional_test.c: ... to here.
11421 * tests/lib/test.c: Moved ...
11422 * grub-core/tests/lib/test.c: ... to here.
11423 * video: Moved ...
11424 * grub-core/video: ... to here.
11425
11426 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
11427
11428 Replace --enable-grub-emu-modules with grub-emu-lite.
11429
11430 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
11431 cache.S.
11432
11433 * include/grub/emu/misc.h (grub_emu_init): New prototype.
11434 * kern/emu/full.c: New file. For grub-emu specific initialization.
11435 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
11436 * kern/emu/main.c: Call initialization function grub_emu_init.
11437
11438 * Makefile.in: Include grub-emu-lite in install.
11439 * commands/parttool.c: Use grub_no_autoload to differentiate
11440 between grub-emu and grub-emu-lite.
11441 * include/grub/misc.h: New variable grub_no_autoload.
11442
11443 * conf/any-emu.rmk: New rules for grub-emu-lite.
11444 * configure.ac: Remove --enable-grub-emu-modules.
11445 * genmk.rb: Cleanup unnecessary rules.
11446 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
11447
11448 * normal/main.c: Don't load list files on grub-emu-lite.
11449 * util/misc.c (grub_arch_sync_caches): Removed.
11450
11451 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
11452
11453 * kern/mips/startup.S (grub_prefix): Update comment to refer to
11454 grub-mkimage rather than grub-mkelfimage.
11455 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
11456
11457 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
11458
11459 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
11460 a key after CapsLock or NumLock. It's just a qemu bug.
11461
11462 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
11463
11464 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
11465 needed by libusb wrapper.
11466
11467 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
11468
11469 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
11470
11471 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
11472
11473 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
11474 --nounzip is passed.
11475
11476 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
11477
11478 USB hotunplugging and USB serial support.
11479
11480 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
11481 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
11482 (grub_uhci_transfer): Respect timeout and set *actual.
11483 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
11484 non-standard length.
11485 (grub_usb_device_attach): Autoload modules.
11486 (GRUB_MOD_INIT): Set grub_term_poll_usb.
11487 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
11488 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
11489 users updated.
11490 (grub_usb_add_hub): Fill nports and children.
11491 (attach_root_port): Receive hub instead of controller.
11492 All users updated. Fill hub->devices.
11493 (grub_usb_root_hub): Allocate hub->devices.
11494 (detach_device): New function.
11495 (poll_nonroot_hub): Fill children and detach devices.
11496 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
11497 actual arguments. All users updated.
11498 (grub_usb_bulk_read_extended): New function.
11499 * bus/usb/serial/common.c: New file.
11500 * bus/usb/serial/ftdi.c: Likewise.
11501 * bus/usb/serial/pl2303.c: Likewise.
11502 * commands/terminal.c (handle_command): Support wildcard.
11503 * commands/usbtest.c: Output "Unknown" instead of empty string.
11504 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
11505 (usbserial_common_mod_SOURCES): New variable.
11506 (usbserial_common_mod_CFLAGS): Likewise.
11507 (usbserial_common_mod_LDFLAGS): Likewise.
11508 (pkglib_MODULES): Add usbserial_pl2303.mod.
11509 (usbserial_pl2303_mod_SOURCES): New variable.
11510 (usbserial_pl2303_mod_CFLAGS): Likewise.
11511 (usbserial_pl2303_mod_LDFLAGS): Likewise.
11512 (pkglib_MODULES): Add usbserial_ftdi.mod.
11513 (usbserial_ftdi_mod_SOURCES): New variable.
11514 (usbserial_ftdi_mod_CFLAGS): Likewise.
11515 (usbserial_ftdi_mod_LDFLAGS): Likewise.
11516 (pkglib_MODULES): Add serial.mod.
11517 (serial_mod_SOURCES): New variable.
11518 (serial_mod_CFLAGS): Likewise.
11519 (serial_mod_LDFLAGS): Likewise.
11520 * conf/i386-pc.rmk: Likewise.
11521 * conf/mips-yeeloong.rmk: Likewise.
11522 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
11523 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
11524 * disk/usbms.c (first_available_slot): New variable.
11525 (grub_usbms_attach): Don't reuse free slots due to potential cache
11526 problems.
11527 * include/grub/serial.h: Moved to ..
11528 * include/grub/ns8250.h: ...this.
11529 * include/grub/serial.h: New file.
11530 * include/grub/term.h (grub_term_poll_usb): New variable.
11531 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
11532 readkey. All users updated.
11533 (grub_terminfo_output_state): Pass term to put.
11534 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
11535 (grub_usb_controller_dev): Add timeout and actual arguments to
11536 transfer. All users updated.
11537 (grub_usb_interface): New field detach_data.
11538 (grub_usb_device): New fields children and nports.
11539 (grub_usb_ep_type_t): New type.
11540 (grub_usb_get_ep_type): New function.
11541 (grub_usb_bulk_read_extended): Likewise.
11542 * include/grub/usbdesc.h (grub_usb_desc): New type.
11543 * include/grub/usbserial.h: New file.
11544 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
11545 * kern/term.c (grub_term_poll_usb): New variable.
11546 (grub_getkey): Call grub_term_poll_usb if set.
11547 (grub_checkkey): Likewise.
11548 (grub_getkeystatus): Likewise.
11549 * term/serial.c: Moved controller-specific parts to ...
11550 * term/ns8250.c: ... here.
11551 * term/serial.c: Mostly rewritten.
11552 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
11553 according to spec.
11554
11555 2010-08-20 Robert Millan <rmh@gnu.org>
11556
11557 Make kFreeBSD code more generic to support ext2fs as root, ufs as
11558 a separate module and maybe other interesting combinations.
11559
11560 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
11561 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
11562 (kfreebsd_entry): Add generic filesystem module load routine.
11563 Map GRUB `ext2' to kFreeBSD `ext2fs'.
11564
11565 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
11566
11567 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
11568 "numcenter" (I misunderstood the purpose of this entry).
11569 * docs/grub.texi (sendkey): Likewise.
11570
11571 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
11572
11573 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
11574 status flag options; simply omitting the option is equivalent and
11575 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
11576 (keysym_table): Rename "num5numlock" to "numlock".
11577 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
11578 can uniformly say that only the last of multiple `sendkey'
11579 invocations has any effect.
11580 * docs/grub.texi (sendkey): New section.
11581
11582 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
11583
11584 * commands/i386/pc/sendkey.c (options): Fix three typos.
11585
11586 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
11587
11588 Implement sendkey support.
11589
11590 * commands/i386/pc/sendkey.c: New file.
11591 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
11592 (sendkey_mod_SOURCES): New variable.
11593 (sendkey_mod_CFLAGS): Likewise.
11594 (sendkey_mod_LDFLAGS): Likewise.
11595
11596 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
11597
11598 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
11599 fix warnings from Autoconf.
11600
11601 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
11602
11603 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
11604 to avoid false positives with some assemblers that output things
11605 like "someprefix_func" as part of their output.
11606
11607 2010-08-15 Robert Millan <rmh@gnu.org>
11608
11609 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
11610 errors.
11611 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
11612 grub_get_libzfs_handle() errors.
11613
11614 2010-08-14 Robert Millan <rmh@gnu.org>
11615
11616 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
11617 filesystem is not ZFS.
11618
11619 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11620
11621 Fix for misspelled color names defaulting to black/black (bug
11622 reported by Doug Nazar)
11623
11624 * include/grub/normal.h (grub_parse_color_name_pair): Add return
11625 status to prototype.
11626 * normal/color.c (grub_parse_color_name_pair): Return failure
11627 status.
11628 (grub_env_write_color_normal): Ignore bad color names.
11629 (grub_env_write_color_highlight): Likewise.
11630 * normal/main.c (GRUB_MOD_INIT): Set default color names.
11631
11632 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11633
11634 "shift" command support to GRUB script.
11635
11636 * include/grub/script_sh.h (grub_script_shift): New prototype.
11637 * script/execute.c (grub_script_shift): New function.
11638 * script/main.c (grub_script_init): Register shift command.
11639 (grub_script_fini): Unregister shift command.
11640 * util/grub-script-check.c (grub_script_cmd_shift): New function.
11641
11642 * tests/grub_script_shift.in: New testcase.
11643 * conf/tests.rmk: Rules for new testcase.
11644
11645 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11646
11647 "continue" command support to GRUB script.
11648
11649 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
11650 (grub_script_break): Continue support.
11651 * script/main.c (grub_script_init): Register continue command.
11652 (grub_script_fini): Unregister continue command.
11653
11654 * tests/grub_script_continue.in: New testcase.
11655 * conf/tests.rmk: Rules for new testcase.
11656
11657 2010-08-12 BVK Chaitanya <bvk@dbook>
11658
11659 "break" command support to GRUB script.
11660
11661 * conf/common.rmk: Rule updates to grub-script-check.
11662 * include/grub/misc.h (grub_min): New function.
11663 * include/grub/script_sh.h (grub_script_init): New prototype.
11664 (grub_script_fini): New prototype.
11665 (grub_script_break): New prototype.
11666 * script/main.c (grub_script_init): New function.
11667 (grub_script_fini): New function.
11668 * script/execute.c (grub_script_break): New function.
11669 * normal/main.c: Calls to grub_script_{init,fini}.
11670 * util/grub-script-check.c (grub_script_break): New function.
11671
11672 * tests/grub_script_break.in: New testcase.
11673 * conf/tests.rmk: Rules for new test case.
11674
11675 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11676
11677 Function parameters support to GRUB script.
11678
11679 * script/yylex.l (VARIABLE): Regular expression update.
11680 * script/function.c (grub_script_function_call): Moved ...
11681 * script/execute.c (grub_script_function_call): ... to here.
11682 (grub_script_execute_arglist_to_argv): Removed.
11683 (grub_script_arglist_to_argv): New function.
11684 * script/argv.c: New file.
11685 (grub_script_argv_free): New function.
11686 (grub_script_argv_next): Likewise.
11687 (grub_script_argv_append): Likewise.
11688 (grub_script_argv_split_append): Likewise.
11689 * include/grub/script_sh.h (grub_script_argv): New struct.
11690 (grub_script_argv_free): New function.
11691 (grub_script_argv_next): Likewise.
11692 (grub_script_argv_append): Likewise.
11693 (grub_script_argv_split_append): Likewise.
11694
11695 * conf/common.rmk (normal.mod): New source script/argv.c.
11696
11697 * tests/grub_script_echo1.in: More tests.
11698 * tests/grub_script_vars1.in: Likewise.
11699 * tests/grub_script_functions.in: New test case.
11700 * conf/tests.rmk: Rules for new testcase.
11701
11702 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
11703
11704 Remove grub_script_cmdblock struct.
11705
11706 * include/grub/script_sh.h: Remove grub_script_cmdblock.
11707 * script/parser.y: Likewise.
11708 * script/execute.c: Rename cmdblock suffix to cmdlist.
11709 * script/script.c: Likewise.
11710 * util/grub-script-check.c: Likewise.
11711
11712 2010-08-11 Yves Blusseau <blusseau@zetam.org>
11713
11714 * .bzrignore: add grub-macho2img
11715
11716 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11717
11718 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
11719
11720 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11721
11722 Remove the dump of sm712 initialisation sequence.
11723
11724 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
11725 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
11726 (GRUB_VGA_IO_MISC_WRITE): Likewise.
11727 (GRUB_VGA_CR_*): Added many registers.
11728 (GRUB_VGA_SR_*): Likewise.
11729 (GRUB_VGA_GR_*): Likewise.
11730 (grub_vga_write_arx): New function.
11731 (grub_video_hw_config): New struct.
11732 (grub_vga_set_geometry): New function.
11733 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
11734 GRUB_PCI_CLASS_SUBCLASS_VGA.
11735 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
11736 * video/sm712.c (grub_sm712_write_reg): New function
11737 (grub_sm712_read_reg): Likewise.
11738 (grub_sm712_sr_write): Likewise.
11739 (grub_sm712_gr_write): Likewise.
11740 (grub_sm712_cr_write): Likewise.
11741 (grub_sm712_write_arx): Likewise.
11742 (grub_sm712_cr_shadow_write): Likewise.
11743 (grub_sm712_write_dda_lookup): Likewise.
11744 (grub_video_sm712_setup): Initialise the video rather then
11745 blindly replay the dump.
11746 (main) [TEST]: Add a routine to be able to compile as standalone for
11747 tests.
11748 * video/sm712_init.c (sm712_init): Removed.
11749 (sm712_sr_seq1): New array.
11750 (sm712_sr_seq2): Likewise.
11751
11752 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
11753
11754 * include/grub/vga.h: Add missing grub/pci.h include.
11755
11756 2010-08-10 Yves Blusseau <blusseau@zetam.org>
11757
11758 * util/grub-macho2img.c (main): fix typo
11759
11760 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
11761
11762 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
11763 (grub_vga_gr_read): Likewise.
11764 (grub_vga_cr_write): Likewise.
11765 (grub_vga_cr_read): Likewise.
11766 (grub_vga_sr_write): Likewise.
11767 (grub_vga_sr_read): Likewise.
11768 (grub_vga_palette_read): Likewise.
11769 (grub_vga_palette_write): Likewise.
11770 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
11771 (grub_sm712_sr_read): New function.
11772 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
11773 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
11774
11775 2010-08-09 Robert Millan <rmh@gnu.org>
11776
11777 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
11778 out unused variables on non-ZFS build.
11779
11780 2010-08-08 Robert Millan <rmh@gnu.org>
11781
11782 Fix path generation for sub-filesystems in ZFS.
11783
11784 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
11785 missing slash.
11786
11787 2010-08-08 Robert Millan <rmh@gnu.org>
11788
11789 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
11790
11791 2010-08-08 Robert Millan <rmh@gnu.org>
11792
11793 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
11794 exist, issue a proper error message (rely on `ls' for translated
11795 strings).
11796
11797 2010-08-08 Robert Millan <rmh@gnu.org>
11798
11799 Fix grub-probe invocation.
11800
11801 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
11802
11803 2010-08-04 Robert Millan <rmh@gnu.org>
11804
11805 * configure.ac: Remove checks for getfsstat() and getmntany().
11806 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
11807 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
11808 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
11809 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
11810 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
11811 function.
11812 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
11813 via find_mount_point_from_dir() and getfsstat() / getmntany().
11814
11815 2010-08-04 Robert Millan <rmh@gnu.org>
11816
11817 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11818 (grub_find_zpool_from_mount_point): Merge into ...
11819 (grub_find_zpool_from_dir): ... this.
11820 * kern/emu/misc.c: Likewise.
11821
11822 * kern/emu/misc.c
11823 (grub_make_system_path_relative_to_its_root): Replace
11824 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
11825 with grub_find_zpool_from_dir().
11826 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
11827
11828 2010-08-04 Robert Millan <rmh@gnu.org>
11829
11830 Support OpenSolaris in ZFS device resolution.
11831
11832 * configure.ac: Check for getmntany().
11833 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
11834 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
11835 support.
11836
11837 2010-08-03 Robert Millan <rmh@gnu.org>
11838
11839 Fix grub-emu build.
11840
11841 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
11842 * include/grub/emu/misc.h: ... here.
11843
11844 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
11845 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
11846
11847 * util/misc.c: Remove `<grub/util/libzfs.h>'.
11848 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
11849 (grub_get_libzfs_handle): Move to ...
11850 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
11851 (grub_get_libzfs_handle): ... here.
11852
11853 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
11854
11855 * script/execute.c (grub_script_execute_cmdline): Check for NULL
11856 as command name case.
11857
11858 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
11859
11860 * disk/raid.c (insert_array): Select unique numbers for named arrays
11861 as well, for use as keys in the disk cache.
11862
11863 2010-08-01 Robert Millan <rmh@gnu.org>
11864
11865 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
11866 kFreeBSD device name, except on ZFS where the filesystem label is
11867 used.
11868 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
11869 `/boot/zfs/zpool.cache'.
11870 Set mountfrom kernel variable using ${kfreebsd_device}.
11871
11872 2010-08-01 Robert Millan <rmh@gnu.org>
11873
11874 Make it even harder to use uninitialized `libzfs_handle' (and
11875 make the interface a bit simpler).
11876
11877 * include/grub/util/misc.h (grub_util_init_libzfs)
11878 (libzfs_handle): Remove.
11879 (grub_get_libzfs_handle): New prototype.
11880
11881 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
11882 attribute.
11883 (grub_util_init_libzfs): Remove.
11884 (grub_get_libzfs_handle): New function.
11885
11886 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
11887 grub_get_libzfs_handle() to obtain a libzfs handle instead of
11888 accessing `libzfs_handle' directly.
11889
11890 2010-08-01 Robert Millan <rmh@gnu.org>
11891
11892 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11893 (grub_find_zpool_from_mount_point): New function prototypes.
11894
11895 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11896 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11897
11898 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11899 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11900 `static' attribute.
11901
11902 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11903 finding zpool from mount point into ...
11904 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11905
11906 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11907 requested path is part of a ZFS pool, use
11908 grub_find_zpool_from_mount_point() to detect its filesystem name,
11909 and generate a path with `/fsname@path' syntax.
11910
11911 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11912
11913 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
11914 (void) rather than () so that this is a proper prototype.
11915
11916 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11917
11918 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
11919
11920 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11921
11922 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
11923 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
11924
11925 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11926
11927 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
11928
11929 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11930
11931 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
11932
11933 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11934
11935 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
11936 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
11937 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
11938 disable gfxpayload.
11939 (Shell-like scripting): Add real content.
11940 (Serial terminal): Suggest `terminal_input serial; terminal_output
11941 serial' rather than putting the two commands on separate lines,
11942 since console input will be inoperative after the first command.
11943 (menuentry): Document --class, --users, and --hotkey options.
11944 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
11945 Vladimir Serbinenko).
11946
11947 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11948 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11949
11950 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
11951
11952 2010-08-01 Robert Millan <rmh@gnu.org>
11953
11954 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11955 (grub_find_zpool_from_mount_point): New function prototypes.
11956
11957 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11958 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11959
11960 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11961 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11962 `static' attribute.
11963
11964 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11965 finding zpool from mount point into ...
11966 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11967
11968 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11969 requested path is part of a ZFS pool, use
11970 grub_find_zpool_from_mount_point() to detect its filesystem name,
11971 and generate a path with `/fsname@path' syntax.
11972
11973 2010-08-01 Robert Millan <rmh@gnu.org>
11974
11975 Prevent accidental use of uninitialized libzfs_handle.
11976
11977 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
11978 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
11979 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
11980
11981 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11982
11983 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
11984 util/grub.d/10_linux.in). Fixes Debian bug #591093.
11985
11986 2010-08-01 Robert Millan <rmh@gnu.org>
11987
11988 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
11989
11990 2010-07-31 Robert Millan <rmh@gnu.org>
11991
11992 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
11993
11994 2010-07-31 Robert Millan <rmh@gnu.org>
11995
11996 * kern/emu/misc.c: Add missing license header.
11997
11998 2010-07-31 Robert Millan <rmh@gnu.org>
11999
12000 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
12001
12002 * include/grub/util/libnvpair.h: Include `<config.h>'.
12003 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
12004 declaring libnvpair prototypes ourselves.
12005 * include/grub/util/libzfs.h: Include `<config.h>'.
12006 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
12007 declaring libzfs prototypes ourselves.
12008
12009 (libzfs_handle): Moved to ...
12010 * include/grub/util/misc.h (libzfs_handle): ... here.
12011 Include `<grub/util/libzfs.h>'.
12012
12013 2010-07-30 Robert Millan <rmh@gnu.org>
12014
12015 * include/grub/emu/misc.h: Add missing license header.
12016
12017 2010-07-30 Robert Millan <rmh@gnu.org>
12018
12019 Enable `grub-probe -t device' resolution on ZFS.
12020
12021 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
12022 * include/grub/util/libnvpair.h: New file.
12023 * include/grub/util/libzfs.h: New file.
12024
12025 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
12026 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
12027 `<grub/util/libnvpair.h>'.
12028 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
12029
12030 (find_mount_point_from_dir): New static function.
12031 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
12032 function.
12033 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
12034 find_root_device_from_libzfs() before ressorting to find_root_device().
12035
12036 * include/grub/util/misc.h (grub_util_init_libzfs): New function
12037 prototype.
12038 * util/misc.c: Include `<grub/util/libzfs.h>'.
12039 (grub_util_init_libzfs): New function.
12040 [HAVE_LIBZFS] (libzfs_handle): New global variable.
12041 [HAVE_LIBZFS] (fini_libzfs): New static function.
12042 (grub_util_init_libzfs): New function.
12043 * util/grub-probe.c (main): Call grub_util_init_libzfs().
12044
12045 2010-07-30 Robert Millan <rmh@gnu.org>
12046
12047 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
12048 (xmalloc, xrealloc, xstrdup, xasprintf): Add
12049 `warn_unused_result' attribute.
12050 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
12051 (grub_xasprintf, grub_xvasprintf): Likewise.
12052 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
12053
12054 2010-07-29 Robert Millan <rmh@gnu.org>
12055
12056 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
12057 (probe): Handle `PRINT_FS_LABEL'.
12058 (main): Handle `-t fs_label'.
12059
12060 2010-07-29 Robert Millan <rmh@gnu.org>
12061
12062 * configure.ac: Remove grub-mkisofs checks.
12063
12064 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
12065
12066 * util/ieee1275/grub-install.in: Don't use empty grub_device.
12067 Reported by: Lennart Sorensen.
12068
12069 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12070
12071 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
12072 prior to terminal_input/terminal_output separation. It's been over 1.5
12073 years and those versions weren't widely deployed.
12074
12075 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
12076
12077 * disk/raid.c (insert_array): Don't count named arrays when looking
12078 for unused array numbers.
12079 Reported and tested by: Michael Guntsche.
12080
12081 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
12082
12083 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
12084 implementation of this so that grub-emu links again, with a note
12085 that this should support hotplugging in the future.
12086
12087 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
12088
12089 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
12090
12091 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
12092
12093 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
12094 handle on failure.
12095 (grub_loopback_close): Remove empty function.
12096 (grub_loopback_dev): Remove close method.
12097
12098 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
12099
12100 Disable EFI cursor when the EFI console becomes inactive.
12101
12102 * term/efi/console.c (grub_efi_console_init): New function.
12103 (grub_efi_console_fini): New function.
12104 (grub_console_term_output): Register init and fini methods.
12105
12106 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12107
12108 * tests/util/grub-shell-tester.in: Remove bashism and declare as
12109 sh script.
12110
12111 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12112
12113 * disk/loopback.c (grub_loopback): Replace filename with file.
12114 (delete_loopback): Handle new semantics.
12115 (grub_cmd_loopback): Likewise.
12116 (grub_loopback_iterate): Likewise.
12117 (grub_loopback_close): Likewise.
12118
12119 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12120
12121 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
12122 with -p "".
12123 Reported by: Tito Keitel.
12124
12125 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12126
12127 * docs/grub.texi (Naming convention): Document new naming convention.
12128
12129 2010-07-20 Vadim Solomin <vadic052@gmail.com>
12130 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
12131
12132 Generate device.map in something closer to the old ordering.
12133
12134 * util/deviceiter.c (struct device): New declaration.
12135 (compare_file_names): Rename to ...
12136 (compare_devices): ... this. Sort by kernel name in preference to
12137 the stable by-id name, but keep the latter as a fallback comparison.
12138 Update header comment.
12139 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
12140 of `struct device' rather than of plain file names.
12141
12142 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
12143
12144 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
12145 on i386.
12146
12147 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
12148
12149 * commands/acpi.c (setup_common_tables): Use sizeof instead of
12150 hardcoding size.
12151 (setv1table): Likewise.
12152
12153 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
12154
12155 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
12156 removing the homehost if present.
12157 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
12158 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
12159 removing the homehost if present.
12160 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
12161 if possible.
12162 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
12163
12164 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
12165 parameter. Set its pointer target to 0.
12166 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
12167 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
12168 `data_offset' value from the superblock for 1.x metadata.
12169 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
12170 data on the device.
12171 (insert_array): Record the start sector of data on the device.
12172 (grub_raid_register): Pass start_sector parameters to
12173 grub_raid_list->detect and insert_array.
12174 * include/grub/raid.h (struct grub_raid_array): Add start_sector
12175 member.
12176 (struct grub_raid): Add start_sector parameter to `detect'.
12177
12178 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
12179 __attribute__ ((packed)), leaving a comment.
12180 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
12181 (grub_mdraid_detect_09): ... here and ...
12182 (grub_mdraid_detect_1x): ... here.
12183
12184 2010-07-20 Peter Henn <peter.henn@web.de>
12185
12186 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
12187 chunk size and disk size, which are already given as sector counts
12188 as distinct from the 0.90 units. Fetch the correct device number
12189 from the role table instead of using the table index.
12190
12191 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
12192
12193 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
12194 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
12195 (WriteMostly1): New macro.
12196 Set array->name to NULL for metadata format 0.90. Add support for
12197 metadata 1.x. Fix some comments.
12198 * disk/raid.c (): Add support for name based RAID arrays. Fix a
12199 few comments.
12200 * util/getroot.c (grub_util_get_grub_dev): Add support for
12201 /dev/md/name style devices.
12202
12203 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
12204
12205 * .bzrignore: Ignore 20_linux_xen.
12206
12207 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
12208
12209 * util/import_unicode.py: Remove unnecessary imports.
12210
12211 2010-07-17 Aleš Nesrsta <starous@volny.cz>
12212
12213 Hotplugging and USB hub support.
12214
12215 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
12216 (grub_ohci): Likewise.
12217 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
12218 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
12219 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
12220 (GRUB_OHCI_CTRL_EDS): Likewise.
12221 (GRUB_OHCI_BULK_EDS): Likewise.
12222 (GRUB_OHCI_TDS): Likewise.
12223 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
12224 (grub_ohci_ed_phys2virt): New function.
12225 (grub_ohci_virt_to_phys): Likewise.
12226 (grub_ohci_td_phys2virt): Likewise.
12227 (grub_ohci_td_virt2phys): Likewise.
12228 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
12229 attachment.
12230 (grub_ohci_find_ed): New function.
12231 (grub_ohci_alloc_td): Likewise.
12232 (grub_ohci_free_td): Likewise.
12233 (grub_ohci_free_tds): Likewise.
12234 (grub_ohci_transfer): Use previously allocated memory.
12235 (grub_ohci_portstatus): Reset status changed bit.
12236 (grub_ohci_detect_dev): Supply status changed.
12237 (grub_ohci_fini_hw): Free memory.
12238 (grub_ohci_restore_hw): Reallocate memory.
12239 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
12240 Reset status change.
12241 (grub_uhci_detect_dev): Supply status_change.
12242 * bus/usb/usb.c (attach_hooks): New var.
12243 (grub_usb_device_attach): New function.
12244 (grub_usb_register_attach_hook_class): Likewise.
12245 (grub_usb_unregister_attach_hook_class): Likewise.
12246 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
12247 (grub_usb_add_hub): Reset connection changed bit.
12248 (attach_root_port): New function.
12249 (grub_usb_root_hub): Likewise.
12250 (poll_nonroot_hub): Likewise.
12251 (grub_usb_poll_devices): Likewise.
12252 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
12253 * disk/usbms.c (grub_usbms_open): Use device hooks.
12254 (grub_usbms_iterate) :Poll devices.
12255 (grub_usbms_finddevs): Split into ...
12256 (grub_usbms_attach): ... this ...
12257 (grub_usbms_attach): ... and this.
12258 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
12259 in detect_dev.
12260 (grub_usb_interface): New fields attached and detach_hook.
12261 (grub_usb_attach_hook_class): New type.
12262 (grub_usb_attach_desc): New struct.
12263 (grub_usb_register_attach_hook_class): New function.
12264 (grub_usb_unregister_attach_hook_class): Likewise.
12265 (grub_usb_poll_devices): Likewise.
12266 (grub_usb_device_attach): Likewise.
12267 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
12268 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
12269
12270 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
12271
12272 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
12273 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
12274 delta determination style. Works with most NetBSD partitions too.
12275
12276 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
12277
12278 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
12279 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
12280
12281 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
12282
12283 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
12284
12285 2010-07-14 Anton Blanchard <anton@samba.org>
12286
12287 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
12288 ET_DYN files.
12289
12290 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12291
12292 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
12293
12294 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12295
12296 * kern/partition.c (grub_partition_check_containment): New function to
12297 check that a partition is physically contained in a parent. Since
12298 offsets are relative (and non-negative), this reduces to checking that
12299 the partition ends before its parent.
12300 (grub_partition_map_probe): Discard out-of-range sub-partitions.
12301 (grub_partition_iterate): Likewise.
12302 * include/grub/partition.h (grub_partition_map): Slightly more detailed
12303 comments.
12304 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
12305 partitions that start before their parent, and add debug printfs.
12306
12307 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
12308
12309 * Makefile.in (.SUFFIX): Spell correctly, as ...
12310 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
12311 bare module name without `.mod', e.g. `test') tried to invoke a
12312 Modula-2 compiler.
12313
12314 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
12315
12316 * README: Point to the Info manual.
12317
12318 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
12319
12320 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
12321 2nd superblock position from partition size.
12322
12323 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
12324
12325 * Makefile.in (MAINTAINER_CLEANFILES): Remove
12326 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
12327 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
12328 outputs.
12329
12330 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12331
12332 Restructure SCSI .id handling.
12333 Reported and tested by: Aleš Nesrsta.
12334
12335 * disk/ata.c (grub_atapi_close): Removed. All users updated.
12336 (grub_atapi_dev): Changed .name to "ata". New field .id.
12337 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
12338 (grub_usbms_dev): New field .id.
12339 * disk/scsi.c (grub_scsi_iterate): Generate name.
12340 (grub_scsi_open): Parse name.
12341 * include/grub/scsi.h (grub_make_scsi_id): New function.
12342 (grub_scsi_dev): Change iterate and open to number instead of naming
12343 busses. All users updated.
12344 (grub_scsi): Remove name. Add .bus.
12345
12346 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12347
12348 * commands/help.c (grub_cmd_help): Fix a typo.
12349
12350 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12351
12352 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
12353 Reported and tested by: Colin Watson.
12354
12355 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
12356
12357 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
12358 in this context.
12359
12360 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
12361
12362 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
12363
12364 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
12365
12366 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
12367 indentation.
12368
12369 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
12370
12371 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
12372 and disk/raid6_recover.c.
12373 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
12374 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
12375
12376 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
12377
12378 * term/gfxterm.c (repaint_schedulded): Rename to ...
12379 (repaint_scheduled): ... this. Update all callers.
12380 (repaint_was_schedulded): Rename to ...
12381 (repaint_was_scheduled): ... this. Update all callers.
12382
12383 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
12384
12385 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
12386 which we expect to be handled by upper layers.
12387
12388 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
12389
12390 * bus/usb/usbhub.c: #include time.h header.
12391
12392 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
12393
12394 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
12395 entry_name also for entries without stat blocks (e.g. ".."); fixes
12396 corruption of the first entry in a directory.
12397
12398 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
12399
12400 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
12401 after setting gfxterm as the active terminal. GRUB_BACKGROUND
12402 doesn't work otherwise.
12403
12404 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
12405
12406 * docs/grub.texi (Features): Update list of supported file systems.
12407 (GNU/Linux): Update for GRUB 2.
12408 (Serial terminal): Remove mention of --disable-serial, which was a
12409 GRUB Legacy configure option. Update instructions to use
12410 `terminal_input' and `terminal_output' rather than `terminal'.
12411 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
12412 configuration' and `Installing GRUB using grub-install'.
12413 (Menu entry editor): Update for GRUB 2.
12414 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
12415 Document new -a, -u, and -v options.
12416 (initrd): New section.
12417 (initrd16): New section.
12418 (linux): New section.
12419 (linux16): New section.
12420 (search): The `var' argument to `--set' is optional.
12421 (GRUB only offers a rescue shell): Go into a little more detail on
12422 drive ordering.
12423
12424 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
12425
12426 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
12427
12428 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
12429
12430 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
12431 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
12432
12433 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
12434
12435 * util/i386/pc/grub-setup.c (setup): Rename prefix to
12436 install_prefix, in line with install_dos_part and install_bsd_part.
12437 Add new prefix variable, which is copied to install_prefix after
12438 comparing core.img in memory with the one read from disk in the
12439 no-embedding case, and use that rather than overwriting
12440 install_prefix immediately when installing to a partition.
12441 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
12442 Bicakci.
12443
12444 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
12445
12446 * configure.ac: Avoid == in test command, it's not portable.
12447 * util/grub.d/30_os-prober.in: Likewise.
12448
12449 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
12450
12451 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
12452
12453 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
12454
12455 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
12456 multiple (top-level) partmaps.
12457
12458 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12459
12460 * util/i386/efi/grub-install.in: Don't use empty grub_device.
12461 Reported by: Tino Keitel.
12462
12463 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12464
12465 Bidi and diacritics support.
12466
12467 * Makefile.in (widthspec.bin): New target.
12468 (widthspec.h): Likewise.
12469 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
12470 * autogen.sh: Generate unidata.c.
12471 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
12472 * commands/ls.c (grub_ls_list_devices): Likewise.
12473 (grub_ls_list_files): Likewise.
12474 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
12475 (grub_mini_cmd_lsmod): Likewise.
12476 * commands/read.c: Likewise.
12477 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
12478 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
12479 * lib/arg.c (grub_arg_show_help): Likewise.
12480 * lib/crypto.c (grub_password_get): Likewise.
12481 * normal/auth.c (grub_username_get): Likewise.
12482 * normal/misc.c (grub_normal_print_device_info): Likewise.
12483 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
12484 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
12485 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
12486 (normal/charset.c_DEPENDENCIES): New variable.
12487 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
12488 (pkglib_MODULES): Remove charset.mod.
12489 (charset_mod_SOURCES): Removed.
12490 (charset_mod_CFLAGS): Likewise.
12491 (charset_mod_LDFLAGS): Likewise.
12492 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
12493 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
12494 and term/tparm.c.
12495 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12496 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12497 (kernel_img_HEADERS): Add terminfo.h.
12498 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
12499 Fill ->font. Reverse ascii bitmaps.
12500 (grub_font_get_xheight): New function.
12501 * font/font.c (grub_font_get_string_width): Moved from here ...
12502 * gfxmenu/font.c (grub_font_get_string_width): ... here.
12503 * font/font.c (grub_font_draw_string): Moved from here ...
12504 * gfxmenu/font.c (grub_font_draw_string): ... here.
12505 * font/font.c (grub_font_dup_glyph): New function.
12506 (grub_font_blit_glyph): Likewise.
12507 (grub_font_blit_glyph_mirror): Likewise.
12508 (blit_comb): Likewise.
12509 (grub_font_construct_dry_run): Likewise.
12510 (grub_font_get_constructed_device_width): Likewise.
12511 (grub_font_construct_glyph): Likewise.
12512 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
12513 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
12514 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
12515 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
12516 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
12517 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
12518 (grub_font_get_xheight): New proto.
12519 (grub_font_get_constructed_device_width): Likewise.
12520 (grub_font_construct_glyph): Likewise.
12521 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
12522 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
12523 * include/grub/font.h (grub_font_draw_string): Moved from here ...
12524 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
12525 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
12526 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
12527 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
12528 (grub_console_getcharwidth): Likewise.
12529 * include/grub/misc.h (grub_xputs): New proto.
12530 (grub_puts): Inlined.
12531 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
12532 (grub_normal_get_line_counter): Removed.
12533 (grub_install_newline_hook): Likewise.
12534 (grub_normal_get_char_counter): New proto.
12535 (grub_normal_reset_more): Likewise.
12536 (grub_xputs_normal): Likewise.
12537 * include/grub/powerpc/ieee1275/console.h: Removed.
12538 * include/grub/sparc64/ieee1275/console.h: Likewise.
12539 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
12540 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
12541 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
12542 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
12543 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
12544 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
12545 (grub_term_input): Pass reference to self. All users updated.
12546 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
12547 Pass reference to self. New fields normal_color, highlight_color and
12548 data. All users updated.
12549 (grub_putchar): Removed.
12550 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
12551 (grub_unicode_estimate_width): New function.
12552 (grub_term_getcharwidth): Add defaults.
12553 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
12554 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
12555 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
12556 (grub_cls): Remove EXPORT_FUNC.
12557 (grub_setcolorstate): Inline.
12558 (grub_newline_hook): Removed.
12559 * include/grub/terminfo.h: Rewritten. All users updated.
12560 * include/grub/unicode.h: New file.
12561 * include/grub/video.h (grub_video_signed_rect): New type.
12562 * kern/emu/console.c (grub_console_highlight_color): Removed.
12563 (grub_console_normal_color): Likewise.
12564 (grub_console_standard_color): Made static.
12565 (grub_ncurses_putchar): Remove mapping.
12566 (grub_ncurses_getcharwidth): Removed.
12567 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
12568 (grub_ncurses_setcolor): Removed.
12569 (grub_ncurses_getcolor): Likewise.
12570 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
12571 (grub_console_putchar): ... this.
12572 (grub_console_putchar): Handle argument difference.
12573 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
12574 console_init_early and console_init_lately.
12575 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
12576 * kern/misc.c (grub_puts): Removed.
12577 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
12578 (grub_vsnprintf_real): Remove str = NULL support.
12579 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
12580 * normal/charset.c (grub_utf8_to_ucs4): ... here.
12581 * kern/term.c (grub_putcode): Renamed to ...
12582 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
12583 (grub_putchar): Removed.
12584 (grub_xputs_dumb): New function.
12585 (grub_xputs): New variable.
12586 * lib/charset.c: Move from here ...
12587 * normal/charset.c: ... to here.
12588 (grub_ucs4_to_utf8): New function.
12589 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
12590 (join_types): New variable.
12591 (unpack_join): New function.
12592 (bidi_types): New variable.
12593 (unpack_bidi): New function.
12594 (get_bidi_type): Likewise.
12595 (get_join_type): Likewise.
12596 (is_mirrored): Likewise.
12597 (grub_unicode_get_comb_type): Likewise.
12598 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
12599 (is_type_after): Likewise.
12600 (grub_unicode_aglomerate_comb): Likewise.
12601 (bidi_line_wrap): Likewise.
12602 (grub_bidi_line_logical_to_visual): Likewise.
12603 (grub_bidi_logical_to_visual): Likewise.
12604 (grub_unicode_mirror_code): Likewise.
12605 (grub_unicode_shape_code): Likewise.
12606 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
12607 Don't use grub_putchar.
12608 * normal/main.c (grub_normal_init_page): Use grub_putcode.
12609 (grub_normal_reader_init): Likewise.
12610 (grub_xputs_saved): New variable.
12611 (GRUB_MOD_INIT): Set grub_xputs.
12612 (GRUB_MOD_FINI): Restore grub_xputs.
12613 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
12614 (menu_init): Avoid printing gfxmenu error.
12615 (show_menu): Use grub_normal_get_char_counter.
12616 * normal/menu_entry.c (update_screen): Fix out-of-array.
12617 (complete): Avoid NULL dereferencing.
12618 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
12619 * normal/menu_text.c (print_spaces): Removed.
12620 (grub_print_ucs4): Likewise.
12621 (grub_print_message_indented): Use grub_print_ucs4.
12622 (print_message): Use grub_putcode.
12623 (print_entry): Hanlde diacritics.
12624 * normal/term.c (term_state): New type.
12625 (grub_more_lines): Removed.
12626 (term_states): New variable.
12627 (grub_normal_line_counter): Renamed to ..
12628 (grub_normal_char_counter): ...this. All users updated.
12629 (grub_normal_get_line_counter): Renamed to ...
12630 (grub_normal_get_char_counter): ... this.
12631 (grub_normal_reset_more): New function.
12632 (process_newline): Removed.
12633 (print_more): New function.
12634 (grub_install_newline_hook): Removed.
12635 (map_code): New function.
12636 (grub_puts_terminal): Use grub_print_ucs4.
12637 (putglyph): New function.
12638 (putcode_real): Likewise.
12639 (grub_putcode): Use putcode_real.
12640 (get_maxwidth): New function.
12641 (get_startwidth): Likewise.
12642 (print_ucs4_terminal): Likewise.
12643 (find_term_state): Likewise.
12644 (put_glyphs_terminal): Likewise.
12645 (print_backlog): Likewise.
12646 (print_ucs4_real): Likewise.
12647 (grub_print_ucs4): Likewise.
12648 (grub_xputs_normal): Likewise.
12649 * term/efi/console.c (grub_console_putchar): Output diacritics.
12650 (grub_console_getcharwidth): Removed.
12651 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
12652 * term/gfxterm.c (clear_char): Free chars.
12653 (scroll_up): Avoid leaking memory.
12654 (grub_gfxterm_putchar): Support diacritics.
12655 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
12656 * term/i386/pc/console.c (grub_console_term_output): Declare as
12657 GRUB_TERM_CODE_TYPE_VGA.
12658 * term/i386/pc/vga.c (grub_vga_term): Declare as
12659 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
12660 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
12661 GRUB_TERM_CODE_TYPE_VGA.
12662 * term/i386/vga_common.c (map_char): Removed.
12663 (grub_console_putchar): Likewise.
12664 (grub_console_getcharwidth): Likewise.
12665 * term/ieee1275/ofconsole.c: Simplify using terminfo.
12666 (colors): Reordered to match terminfo.
12667 (grub_ofconsole_normal_color): Removed.
12668 (grub_ofconsole_writeesc): Likewise.
12669 (grub_ofconsole_highlight_color): Likewise.
12670 (grub_ofconsole_getcharwidth): Likewise.
12671 (grub_ofconsole_setcolorstate): Likewise.
12672 (grub_ofconsole_setcolor): Likewise.
12673 (grub_ofconsole_getcolor): Likewise.
12674 (grub_ofconsole_readkey): Renamed to ...
12675 (readkey): ... this. Remove escape sequence handling. Return -1 on no
12676 key.
12677 (grub_ofconsole_checkkey): Removed.
12678 (grub_ofconsole_getkey): Likewise.
12679 (grub_ofconsole_getxy): Likewise.
12680 (grub_ofconsole_gotoxy): Likewise.
12681 (grub_ofconsole_cls): Likewise.
12682 (grub_ofconsole_refresh): Likewise.
12683 (grub_ofconsole_terminfo_input): New struct.
12684 (grub_ofconsole_terminfo_output): Likewise.
12685 (grub_ofconsole_term_input): Use terminfo.
12686 (grub_ofconsole_term_output): Likewise.
12687 (grub_console_init): Split into ...
12688 (grub_console_init_early): ...this and ...
12689 (grub_console_init_lately): ...this. Use terminfo.
12690 (grub_ofconsole_putchar): Renamed to ...
12691 (put): ... this. Remove mapping.
12692 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
12693 * term/serial.c: Simplify using terminfo.
12694 (xpos): Removed.
12695 (ypos): Likewise.
12696 (keep_track): Likewise.
12697 (registered): Likewise.
12698 (input_buf): Likewise.
12699 (npending): Likewise.
12700 (serial_translate_key_sequence): Likewise.
12701 (fill_input_buf): Likewise.
12702 (grub_serial_checkkey): Likewise.
12703 (grub_serial_getkey): Likewise.
12704 (grub_serial_getxy): Likewise.
12705 (grub_serial_gotoxy): Likewise.
12706 (grub_serial_putchar): Likewise.
12707 (grub_serial_cls): Likewise.
12708 (grub_serial_setcolorstate): Likewise.
12709 (grub_serial_setcursor): Likewise.
12710 (serial_hw_init): Use serial_hw_fetch.
12711 (grub_serial_terminfo_input): New variable.
12712 (grub_serial_terminfo_output): Likewise.
12713 (grub_serial_term_input): Use terminfo.
12714 (grub_serial_term_output): Likewise.
12715 * term/terminfo.c (putstr): Use put.
12716 (grub_terminfo_all_free): New function
12717 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
12718 (grub_terminfo_output_register): New function.
12719 (grub_terminfo_output_unregister): Likewise.
12720 (grub_terminfo_getxy): Likewise.
12721 (grub_terminfo_readkey): Likewise.
12722 (grub_terminfo_checkkey): Likewise.
12723 (grub_terminfo_getkey): Likewise.
12724 (grub_terminfo_input_init): Likewise.
12725 (print_terminfo): Likewise.
12726 (grub_cmd_terminfo): Handle encoding.
12727 (grub_terminfo_gotoxy): Track position.
12728 (grub_terminfo_cls): Likewise.
12729 (grub_terminfo_putchar): Likewise.
12730 (grub_terminfo_setcolorstate): Handle colors
12731 (grub_terminfo_cursor_on): This ...
12732 (grub_terminfo_cursor_off): ... and this merged into ...
12733 (grub_terminfo_setcursor): ... this.
12734 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
12735 * unicode/ArabicShaping.txt: New file (imported from Unicode).
12736 * unicode/BidiMirroring.txt: Likewise.
12737 * unicode/UnicodeData.txt: Likewise.
12738 * unicode/COPYING: Likewise.
12739 * util/grub-editenv.c (grub_putchar): Removed.
12740 (grub_xputs_real): New function.
12741 (grub_xputs): New variable.
12742 * util/grub-fstest.c (grub_putchar): Removed.
12743 (grub_xputs_real): New function.
12744 (grub_xputs): New variable.
12745 * util/grub-mkdevicemap.c (grub_putchar): Removed.
12746 (grub_xputs_real): New function.
12747 (grub_xputs): New variable.
12748 * util/grub-probe.c (grub_putchar): Removed.
12749 (grub_xputs_real): New function.
12750 (grub_xputs): New variable.
12751 * util/grub-script-check.c (grub_putchar): Removed.
12752 (grub_xputs_real): New function.
12753 (grub_xputs): New variable.
12754 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
12755 (grub_xputs_real): New function.
12756 (grub_xputs): New variable.
12757 * util/import_unicode.py: New file.
12758 * util/grub-mkfont.c (ft_errmsgs): New array.
12759 (grub_glyph_info): Make bitmap a pointer.
12760 (file_formats): New type WIDTH_SPEC.
12761 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
12762 (options): Add width-spec.
12763 (help): Likewise.
12764 (add_char): Renamed to ...
12765 (add_glyph): ... this.
12766 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
12767 (glyph_replace): New type.
12768 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
12769 (add_char): New function.
12770 (add_subst): Likewise.
12771 (process_cursive): Likewise.
12772 (add_font): Handle GSUB.
12773 (write_font_width_spec): New function.
12774 (main): Sort glyphs.
12775 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
12776 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
12777 * kern/term.c (grub_cls): Moved from here...
12778 * normal/term.c (grub_cls): ... here.
12779
12780 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12781
12782 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
12783 suitable for using within the format argument of printf when
12784 converting grub_size_t.
12785 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
12786 "x" to convert grub_size_t arguments.
12787
12788 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12789
12790 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
12791 too long captions.
12792 (list_get_minimal_size): Take selection box into account.
12793
12794 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12795
12796 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
12797 NULL font.
12798
12799 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12800
12801 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
12802 devices when iterating over /dev/disk/by-id; they will be handled
12803 later if appropriate, which they aren't always (e.g. LVM).
12804
12805 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12806
12807 * include/grub/misc.h (grub_reboot): Declare as noreturn.
12808 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
12809 fails.
12810 (grub_halt): Likewise.
12811 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
12812 reset-all fails.
12813 (grub_halt): Don't return, even if all of shut-down, power-off, and
12814 poweroff fail.
12815
12816 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12817
12818 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
12819 arguments, not three.
12820
12821 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12822
12823 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
12824 * util/grub.d/10_linux.in: Use it to check for LVM, so that
12825 LVM-on-RAID is handled correctly.
12826
12827 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12828
12829 * docs/grub.texi (Changes from GRUB Legacy): New section.
12830 (Future): Fix typo.
12831
12832 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12833
12834 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
12835 grub.d/README accidentally ends up executable for one reason or
12836 another. Ignore it.
12837
12838 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12839
12840 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
12841 (gpt_partition_map_iterate): Support non-512B sectors.
12842
12843 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12844
12845 * kern/efi/init.c (grub_efi_init): Disable watchdog.
12846 Tested by: Seth Goldberg.
12847
12848 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12849
12850 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
12851 Properly align mbi.
12852 Reported by: Seth Goldberg.
12853
12854 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12855
12856 * util/grub-mkrescue.in: Avoid module duplication.
12857
12858 2010-07-01 Sean Finney <seanius@seanius.net>
12859
12860 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
12861
12862 2010-07-01 Sean Finney <seanius@seanius.net>
12863
12864 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
12865
12866 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12867
12868 * disk/lvm.c (grub_lvm_checkvalue): New function.
12869 (grub_lvm_check_flag): Likewise.
12870
12871 2010-07-01 Robert Millan <rmh@gnu.org>
12872
12873 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
12874 Support 'p' as partition separator on kernel of FreeBSD (used
12875 with GPT labels).
12876 (grub_util_biosdisk_get_grub_dev): Likewise.
12877
12878 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12879
12880 Yeeloong firmware port.
12881
12882 * boot/mips/yeeloong/fwstart.S: New file.
12883 * bus/cs5536.c (gpiodump): New const.
12884 (set_io_space): New function.
12885 (set_iod): Likewise.
12886 (set_p2d): Likewise.
12887 (grub_cs5536_init_geode): Likewise.
12888 * commands/mips/yeeloong/lsspd.c: New file.
12889 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
12890 (serial_mod_SOURCES): New variable.
12891 (serial_mod_CFLAGS): Likewise.
12892 (serial_mod_LDFLAGS): Likewise.
12893 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
12894 term/terminfo.c and term/tparm.c.
12895 (pkglib_IMAGES): Add fwstart.img.
12896 (fwstart_img_SOURCES): New variable.
12897 (fwstart_img_CFLAGS): Likewise.
12898 (fwstart_img_ASFLAGS): Likewise.
12899 (fwstart_img_LDFLAGS): Likewise.
12900 (fwstart_img_FORMAT): Likewise.
12901 (pkglib_MODULES): Add lsspd.mod.
12902 (lsspd_mod_SOURCES): New variable.
12903 (lsspd_mod_CFLAGS): Likewise.
12904 (lsspd_mod_LDFLAGS): Likewise.
12905 (pkglib_MODULES): Add halt.mod.
12906 (halt_mod_SOURCES): New variable.
12907 (halt_mod_CFLAGS): Likewise.
12908 (halt_mod_LDFLAGS): Likewise.
12909 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
12910 (serial_mod_SOURCES): Removed.
12911 (serial_mod_CFLAGS): Likewise.
12912 (serial_mod_LDFLAGS): Likewise.
12913 * disk/ata.c (check_device): New function.
12914 (grub_ata_device_initialize): Use check_device.
12915 (grub_ata_iterate): Recheck devices.
12916 (grub_ata_open): Likewise.
12917 (grub_atapi_iterate): Likewise.
12918 (grub_atapi_open): Likewise.
12919 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
12920 (GRUB_ATA_CH1_PORT1): Likewise.
12921 (GRUB_ATA_CH0_PORT2): Likewise.
12922 (GRUB_ATA_CH1_PORT2): Likewise.
12923 * include/grub/mips/loongson.h: New file.
12924 * include/grub/mips/yeeloong/ec.h: Likewise.
12925 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
12926 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
12927 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
12928 * include/grub/misc.h (grub_halt): Declare as noreturn.
12929 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
12930 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
12931 (UART_ENABLE_FIFO_TRIGGER1): New definition.
12932 (UART_ENABLE_DTRRTS): Likewise.
12933 (UART_ENABLE_MODEM): Removed.
12934 (UART_ENABLE_OUT2): New const.
12935 * include/grub/term.h (grub_term_register_input_active): New function.
12936 (grub_term_register_output_active): Likewise.
12937 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
12938 argument.
12939 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
12940 (init_pci): New function.
12941 (grub_machine_init): Execute platform init when firmware. Init serial.
12942 (grub_halt): Implement.
12943 (grub_exit): Likewise.
12944 (grub_reboot): Likewise.
12945 * term/serial.c (serial_hw_init): Update macros.
12946 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
12947 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
12948 (image_targets): New target mipsel-yeeloong-flash.
12949 (generate_image): Support IMAGE_YEELOONG_FLASH.
12950 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
12951 (grub_video_sm712_setup): Init card.
12952 (grub_video_sm712_set_palette): Removed.
12953 * video/sm712_init.c: New file.
12954
12955 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
12956
12957 * Makefile.in (install-local): Temporarily prepend $(builddir) to
12958 PATH when running help2man and then run it on the unadorned
12959 executable names, rather than passing $(builddir)/* paths to
12960 help2man. This avoids the build directory ending up in generated
12961 manual pages.
12962
12963 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
12964
12965 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
12966 to avoid accidents when debugging with 'sh -x'.
12967 * util/grub-mkrescue.in: Likewise.
12968 * util/grub.d/00_header.in: Likewise.
12969 * util/grub.d/10_hurd.in: Likewise.
12970 * util/grub.d/10_kfreebsd.in: Likewise.
12971 * util/grub.d/10_linux.in: Likewise.
12972 * util/grub.d/10_netbsd.in: Likewise.
12973 * util/grub.d/10_windows.in: Likewise.
12974 * util/grub.d/20_linux_xen.in: Likewise.
12975 * util/grub.d/30_os-prober.in: Likewise.
12976 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12977
12978 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
12979
12980 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
12981 last character in the buffer.
12982 Reported by: Vladimir Serbinenko.
12983
12984 2010-06-29 Robert Millan <rmh@gnu.org>
12985
12986 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
12987 (Command-line and menu entry commands): Document `badram' command.
12988
12989 2010-06-28 Robert Millan <rmh@gnu.org>
12990
12991 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
12992 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
12993 command using ${GRUB_BADRAM} as parameter.
12994
12995 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12996
12997 * docs/grub.texi (Device map): New section.
12998 (Themes): New section (stub).
12999 * Makefile.in (docs/grub.info): The info documentation now builds
13000 without errors. Make sure it stays that way.
13001
13002 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
13003
13004 Use normal parser for menu entries.
13005 Reported by: Thomas Frauendorfer
13006
13007 * include/grub/parser.h (grub_parser_execute): Don't export.
13008 * normal/menu.c (grub_menu_execute_entry_real): New function.
13009 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
13010
13011 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
13012
13013 * docs/grub.texi (Embedded configuration): New section (replacing
13014 old "Preset Menu" stub).
13015 (Images): New section.
13016 (configfile): Note that any menu entries defined in `file' are shown
13017 immediately.
13018
13019 2010-06-28 Josh Triplett <josh@joshtriplett.org>
13020
13021 * mmap/i386/pc/mmap_helper.S: Set CF on return.
13022
13023 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
13024
13025 * util/grub-install.in: Add --debug-image= option.
13026
13027 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
13028
13029 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
13030 possible on Linux.
13031
13032 * util/deviceiter.c (check_device): Rename to ...
13033 (check_device_readable_unique): ... this. Update all callers.
13034 Maintain and check a list of which devices (by canonicalized name)
13035 have already been seen.
13036 (clear_seen_devices): New function.
13037 (compare_file_names) [__linux__]: New function.
13038 (grub_util_iterate_devices): Clear the list of seen devices on exit
13039 and (just in case) on entry.
13040 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
13041 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
13042 seen-devices list, superseded by general code in check_device.
13043
13044 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
13045
13046 * commands/cat.c (options): New variable.
13047 (grub_cmd_cat): Parse options. If the --dos option is given, print
13048 DOS-style "\r\n" line endings as simple newlines (Debian bug
13049 #586358).
13050 (GRUB_MOD_INIT): Use extcmd.
13051 (GRUB_MOD_FINI): Likewise.
13052 * docs/grub.texi (cat): Document --dos.
13053
13054 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
13055
13056 XEN with Linux grub-mkconfig support.
13057
13058 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
13059 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
13060 GRUB_CMDLINE_XEN_DEFAULT.
13061 * util/grub.d/20_linux_xen.in: New file.
13062
13063 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
13064
13065 Initialise VGA video on qemu ourselves.
13066
13067 * boot/i386/qemu/boot.S: Don't call 0xc000.
13068 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
13069 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
13070 (kernel_img_HEADERS): Add pci.h.
13071 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
13072 * configure.ac: Force unifont on qemu and yeeloong.
13073 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
13074 (grub_vga_palette_write): Use correct register.
13075 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
13076 Call grub_qemu_init_cirrus.
13077 * kern/i386/qemu/init.c: New file.
13078 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
13079
13080 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
13081
13082 2010-06-26 Pavel Roskin <proski@gnu.org>
13083
13084 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
13085 13.
13086
13087 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
13088
13089 * docs/grub.texi (Simple configuration): Explain that
13090 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
13091 set to `true' to disable their respective recovery entries, not
13092 merely set.
13093
13094 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
13095
13096 Make the `source' command slightly faster.
13097
13098 * normal/main.c (grub_normal_execute): Don't re-read list files when
13099 nested.
13100
13101 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
13102
13103 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
13104 field position and mask size to red fields from mode_info, not
13105 green.
13106 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
13107 Remove redundant tag->common.framebuffer_type assignment.
13108 Reported by: Seth Goldberg.
13109
13110 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
13111
13112 Sync up other versions of the Linux loader with Robert Millan's
13113 change of 2010-01-09, "Make loader output a bit more user-friendly".
13114
13115 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
13116 grub_dprintf().
13117 (grub_cmd_linux): Likewise.
13118 (grub_cmd_initrd): Likewise.
13119 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
13120 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13121
13122 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
13123
13124 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
13125 larger than MEMORY_MAP_SIZE.
13126
13127 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
13128
13129 Fix parallel build.
13130
13131 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
13132 dependency.
13133 * script/parser.y: #include grub_script.tab.h header.
13134
13135 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
13136
13137 Support >3GiB and <16MiB RAM in i386-qemu.
13138
13139 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
13140 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
13141 (grub_lower_mem): Removed.
13142 (grub_upper_mem): Likewise.
13143 (mem_size): Made static.
13144 (above_4g): New variable.
13145 (grub_machine_mmap_init): Detect small mem_size and above_4g.
13146 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
13147 support.
13148
13149 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
13150
13151 Cirrus 5446 and Bochs video cards support.
13152
13153 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
13154 video_bochs.mod
13155 (video_cirrus_mod_SOURCES): New variable.
13156 (video_cirrus_mod_CFLAGS): Likewise.
13157 (video_cirrus_mod_LDFLAGS): Likewise.
13158 (video_bochs_mod_SOURCES): Likewise.
13159 (video_bochs_mod_CFLAGS): Likewise.
13160 (video_bochs_mod_LDFLAGS): Likewise.
13161 * include/grub/vga.h: New file.
13162 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
13163 (grub_video_fb_set_page_t): New type.
13164 (grub_video_fb_setup): New prototype.
13165 (grub_video_fb_swap_buffers): Likewise.
13166 (grub_video_fb_get_info_and_fini): Likewise.
13167 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
13168 (CRTC_DATA_PORT): Likewise.
13169 (CRTC_CURSOR): Likewise.
13170 (CRTC_CURSOR_ADDR_HIGH): Likewise.
13171 (CRTC_CURSOR_ADDR_LOW): Likewise.
13172 (CRTC_CURSOR_DISABLE): Likewise.
13173 (update_cursor): Use grub_vga_cr_write.
13174 (grub_vga_text_setcursor): Likewise.
13175 * video/bochs.c: New file.
13176 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
13177 (palette): Likewise.
13178 (palette_size): Likewise.
13179 (framebuffer): New variable.
13180 (grub_video_fb_init): Use 'framebuffer'.
13181 (grub_video_fb_fini): Likewise.
13182 (grub_video_fb_get_info): Likewise.
13183 (grub_video_fb_get_palette): Likewise.
13184 (grub_video_fb_set_palette): Likewise.
13185 (grub_video_fb_set_viewport): Likewise.
13186 (grub_video_fb_get_viewport): Likewise.
13187 (grub_video_fb_map_color): Likewise.
13188 (grub_video_fb_map_rgb): Likewise.
13189 (grub_video_fb_map_rgba): Likewise.
13190 (grub_video_fb_unmap_color): Likewise.
13191 (grub_video_fb_unmap_color_int): Likewise.
13192 (grub_video_fb_fill_rect): Likewise.
13193 (grub_video_fb_blit_bitmap): Likewise.
13194 (grub_video_fb_blit_render_target): Likewise.
13195 (grub_video_fb_scroll): Likewise.
13196 (grub_video_fb_create_render_target): Likewise.
13197 (grub_video_fb_doublebuf_blit_init): Likewise.
13198 (grub_video_fb_set_active_render_target): Handle doublebuffering.
13199 (doublebuf_pageflipping_update_screen): New function.
13200 (doublebuf_pageflipping_init): Likewise.
13201 (grub_video_fb_setup): Likewise.
13202 (grub_video_fb_swap_buffers): Likewise.
13203 (grub_video_fb_get_info_and_fini): Likewise.
13204 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
13205 All users updated.
13206 (doublebuf_pageflipping_commit): Restructured into ...
13207 (doublebuf_pageflipping_set_page): ... this.
13208 (doublebuf_pageflipping_update_screen): Removed.
13209 (doublebuf_pageflipping_init): Likewise.
13210 (double_buffering_init): Likewise.
13211 (grub_video_vbe_setup): Use grub_video_fb_setup.
13212 (grub_video_vbe_swap_buffers): Removed.
13213 (grub_video_vbe_set_active_render_target): Likewise.
13214 (grub_video_vbe_get_active_render_target): Likewise.
13215 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
13216 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
13217 grub_video_fb_set_active_render_target and
13218 grub_video_fb_get_active_render_target.
13219 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
13220 (SEQUENCER_DATA_PORT): Likewise.
13221 (MAP_MASK_REGISTER): Likewise.
13222 (CRTC_ADDR_PORT): Likewise.
13223 (CRTC_DATA_PORT): Likewise.
13224 (START_ADDR_HIGH_REGISTER): Likewise.
13225 (START_ADDR_LOW_REGISTER): Likewise.
13226 (GRAPHICS_ADDR_PORT): Likewise.
13227 (GRAPHICS_DATA_PORT): Likewise.
13228 (READ_MAP_REGISTER): Likewise.
13229 (INPUT_STATUS1_REGISTER): Likewise.
13230 (INPUT_STATUS1_VERTR_BIT): Likewise.
13231 (get_map_mask): Use grub_vga_sr_read.
13232 (set_map_mask): Use grub_vga_sr_write.
13233 (set_read_map): Use grub_vga_gr_write.
13234 (set_start_address): Use grub_vga_cr_write.
13235 * video/sm712.c (framebuffer): Remove leftover fields.
13236
13237 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
13238
13239 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
13240 setting GRUB_VIDEO_BACKEND. Make it available as a user override
13241 instead. Replace the gfxterm backend check with a check that
13242 ${GRUB_PREFIX}/video.lst is non-empty.
13243 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
13244 again.
13245 (load_video): New generated function. Call it before loading
13246 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
13247 * util/grub.d/10_linux.in (linux_entry): Call load_video.
13248 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
13249 * docs/grub.texi (Simple configuration): Document
13250 GRUB_VIDEO_BACKEND.
13251
13252 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
13253
13254 Use video functions in linux and xnu loaders.
13255
13256 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
13257 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
13258 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
13259 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
13260 loader/i386/pc/linux.c.
13261 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
13262 (find_line_len): Removed.
13263 (find_framebuf): Likewise.
13264 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
13265 * loader/i386/efi/xnu.c: Removed.
13266 * loader/i386/pc/xnu.c: Moved from here...
13267 * loader/i386/xnu.c: ...here.
13268
13269 Enable priorities in video drivers.
13270
13271 * include/grub/video.h (grub_video_adapter_prio_t): New type.
13272 (grub_video_adapter): New field prio.
13273 (grub_video_register): Respect prio when inserting.
13274 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
13275 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
13276 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
13277 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
13278 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
13279 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
13280 * video/sm712.c (grub_video_sm712_adapter): Likewise.
13281
13282 Fix SDL driver ID.
13283
13284 * include/grub/video.h (grub_video_driver_id_t): New value
13285 GRUB_VIDEO_DRIVER_SDL.
13286 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
13287
13288 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
13289
13290 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
13291 argument to printf.
13292 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13293
13294 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
13295
13296 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
13297 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13298
13299 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
13300
13301 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
13302 directly, and recommend grub-install instead.
13303 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
13304
13305 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
13306
13307 Fix i386-pc prefix handling with nested partitions (Debian bug
13308 #585068). Note that the case where the core image is booted using
13309 multiboot and relocated from its original location still requires
13310 more work.
13311
13312 * kern/i386/pc/init.c (make_install_device): If the prefix starts
13313 with "(,", fill the boot drive in between those two characters, but
13314 expect that a full partition specification including partition map
13315 names will follow.
13316 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
13317 specified, write a prefix without the drive name but including a
13318 full partition specification.
13319
13320 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
13321
13322 * util/grub-mkconfig.in: Ignore non-option arguments, for
13323 compatibility with older versions (before 2010-06-12) which did the
13324 same. In particular, this makes it easier to ship an update-grub
13325 wrapper which is compatible with that used with GRUB Legacy (Debian
13326 bug #586056).
13327
13328 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13329
13330 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
13331 for manual page generation.
13332
13333 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
13334
13335 * po/POTFILES: Remove leftover commands/handler.c.
13336
13337 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
13338
13339 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
13340 left this script non-functional.
13341
13342 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
13343
13344 * docs/man/grub-emu.h2m: New file.
13345
13346 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
13347
13348 * docs/grub.texi (Commands): Document reduced command set in rescue
13349 mode.
13350 (cpuid): New section.
13351
13352 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
13353
13354 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
13355 new partition naming style.
13356 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
13357
13358 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
13359
13360 Add "-o grub.iso" like cmdline options support.
13361
13362 * util/grub-install.in: Improve cmdline option parsing.
13363 * util/grub-mkconfig.in: Likewise.
13364 * util/grub-mkrescue.in: Likewise.
13365 * util/grub-reboot.in: Likewise.
13366 * util/grub-set-default.in: Likewise.
13367 * util/i386/efi/grub-install.in: Likewise.
13368 * util/ieee1275/grub-install.in: Likewise.
13369 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13370
13371 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
13372
13373 * .bzrignore: Ignore 41_custom.
13374
13375 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
13376
13377 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
13378
13379 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
13380
13381 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
13382 prototype declarations.
13383
13384 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
13385 generating fs, partmap, and video lists.
13386 * include/grub/fs.h (grub_fs_register): Omit prototype if
13387 GRUB_LST_GENERATOR is defined.
13388 * include/grub/partition.h (grub_partition_map_register): Likewise.
13389 * include/grub/video.h (grub_video_register): Likewise.
13390
13391 2010-06-12 Javier Martín <lordhabbit@gmail.com>
13392
13393 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
13394
13395 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
13396
13397 * util/grub-mkrescue.in: Support --xorriso argument.
13398
13399 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13400
13401 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
13402 Suggested by: Thomas Schmitt.
13403
13404 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13405
13406 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
13407 Suggested by: Thomas Schmitt.
13408
13409 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
13410
13411 custom.cfg support.
13412
13413 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
13414 * util/grub.d/41_custom.in: New file.
13415
13416 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
13417
13418 * util/grub-mkrescue.in (make_image): Remove sh module, which has
13419 been merged back into normal.
13420
13421 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
13422
13423 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
13424 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
13425
13426 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
13427
13428 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
13429 when generating manual pages.
13430 * docs/man/grub-bin2h.h2m: New file.
13431 * docs/man/grub-editenv.h2m: New file.
13432 * docs/man/grub-fstest.h2m: New file.
13433 * docs/man/grub-install.h2m: New file.
13434 * docs/man/grub-macho2img.h2m: New file.
13435 * docs/man/grub-mkconfig.h2m: New file.
13436 * docs/man/grub-mkdevicemap.h2m: New file.
13437 * docs/man/grub-mkfont.h2m: New file.
13438 * docs/man/grub-mkimage.h2m: New file.
13439 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
13440 * docs/man/grub-mkrelpath.h2m: New file.
13441 * docs/man/grub-mkrescue.h2m: New file.
13442 * docs/man/grub-ofpathname.h2m: New file.
13443 * docs/man/grub-pe2elf.h2m: New file.
13444 * docs/man/grub-probe.h2m: New file.
13445 * docs/man/grub-reboot.h2m: New file.
13446 * docs/man/grub-script-check.h2m: New file.
13447 * docs/man/grub-set-default.h2m: New file.
13448 * docs/man/grub-setup.h2m: New file.
13449
13450 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
13451
13452 Use FOR_* macros instead of *_iterate whenever possible.
13453
13454 * commands/handler.c: Removed.
13455 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
13456 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
13457 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13458 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
13459 (grub_probe_SOURCES): Remove kern/parser.c.
13460 (util/grub-script-check.c_DEPENDENCIES): Removed.
13461 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
13462 and grub_script_check_init.c.
13463 (grub_script_check_init.lst): Removed.
13464 (grub_script_check_init.h): Likewise.
13465 (grub_script_check_init.c): Likewise.
13466 (pkglib_MODULES): Remove handler.mod and sh.mod.
13467 (handler_mod_SOURCES): Removed.
13468 (handler_mod_CFLAGS): Likewise.
13469 (handler_mod_LDFLAGS): Likewise.
13470 (normal_mod_SOURCES): Remove normal/handler.c.
13471 Add script/main.c, script/script.c, script/execute.c,
13472 script/function.c, script/lexer.c, grub_script.tab.c
13473 and grub_script.yy.c.
13474 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13475 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13476 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
13477 (grub_setup_SOURCES): Remove kern/parser.c.
13478 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13479 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
13480 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
13481 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13482 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
13483 (grub_setup_SOURCES): Remove kern/parser.c.
13484 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
13485 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
13486 * include/grub/command.h (grub_command_iterate): Removed.
13487 (FOR_COMMANDS): New macro.
13488 * include/grub/dl.h (grub_dl): New member next.
13489 (grub_dl_iterate): Removed.
13490 (grub_dl_head): New variable declaration.
13491 (FOR_DL_MODULES): New macro.
13492 * include/grub/fs.h: Include list.h.
13493 (grub_fs): Make next first element.
13494 (grub_fs_list): New variable declaration.
13495 (grub_fs_register): Make inline.
13496 (grub_fs_unregister): Likewise.
13497 (grub_fs_iterate): Removed.
13498 (FOR_FILESYSTEMS): New macro.
13499 * include/grub/handler.h: Removed.
13500 * include/grub/list.h (grub_list_hook_t): Removed.
13501 (grub_list_test_t): Likewise.
13502 (grub_list_pop): Likewise.
13503 (grub_list_iterate): Likewise.
13504 (grub_list_insert): Likewise.
13505 (FOR_LIST_ELEMENTS): New macro.
13506 * include/grub/parser.h (grub_parser_class): Removed.
13507 (grub_parser_register): Likewise.
13508 (grub_parser_unregister): Likewise.
13509 (grub_parser_get_current): Likewise.
13510 (grub_parser_set_current): Likewise.
13511 (grub_register_rescue_parser): Likewise.
13512 (grub_rescue_parse_line): New function.
13513 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
13514 * include/grub/script_sh.h (grub_script_function_list): New variable
13515 declaration.
13516 (FOR_SCRIPT_FUNCTIONS): New macro.
13517 (grub_script_function_iterate): Removed.
13518 (grub_normal_parse_line): New prototype.
13519 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
13520 (FOR_DISABLED_TERM_INPUTS): Likewise.
13521 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
13522 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
13523 * include/grub/video.h (grub_video_adapter): Move 'next' to first
13524 element.
13525 (grub_video_register): Inline.
13526 (grub_video_unregister): Likewise.
13527 (grub_video_adapter_list): New variable declaration.
13528 (grub_video_iterate): Removed.
13529 (FOR_VIDEO_ADAPTERS): New macro.
13530 * kern/dl.c (grub_dl_list): Removed. All users updated.
13531 (grub_dl_iterate): Removed.
13532 * kern/fs.c (grub_fs_list): Make global.
13533 (grub_fs_register): Removed.
13534 (grub_fs_unregister): Likewise.
13535 (grub_fs_iterate): Likewise.
13536 * kern/handler.c: Removed.
13537 * kern/list.c (grub_list_pop): Removed.
13538 (grub_list_iterate): Likewise.
13539 (grub_list_insert): Likewise.
13540 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
13541 (grub_prio_list_insert): Don't use grub_list_insert.
13542 * kern/main.c (grub_register_rescue_parser): Don't call
13543 grub_register_rescue_parser.
13544 * kern/parser.c (grub_parser_class): Removed.
13545 (grub_parser_execute): Use grub_rescue_parse_line.
13546 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
13547 (grub_rescue_parser): Removed.
13548 (grub_register_rescue_parser): Likewise.
13549 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
13550 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
13551 (grub_auth_check_authentication): Likewise.
13552 * normal/completion.c (iterate_command): Removed.
13553 (grub_normal_do_completion): Use FOR_COMMANDS.
13554 * normal/handler.c: Removed.
13555 * normal/main.c (read_config_file): Remove parser changing.
13556 (grub_normal_execute): Don't call read_handler_list.
13557 (grub_normal_read_line_real): Statically allocate prompt.
13558 (grub_cmdline_run): Use grub_normal_parse_line.
13559 (GRUB_MOD_FINI): Don't call free_handler_list.
13560 * normal/menu_entry.c (run): Likewise.
13561 * script/function.c (grub_script_function_list): Make global.
13562 (grub_script_function_iterate): Removed.
13563 * script/main.c (grub_normal_parse_line): Make global.
13564 (grub_sh_parser): Removed.
13565 (GRUB_MOD_INIT): Likewise.
13566 (GRUB_MOD_FINI): Likewise.
13567 * tests/lib/functional_test.c (grub_functional_test): Use
13568 FOR_LIST_ELEMENTS.
13569 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
13570 (grub_test_run): Use FOR_LIST_ELEMENTS.
13571 * tests/lib/unit_test.c (main): Likewise.
13572 * util/deviceiter.c (grub_util_iterate_devices): Don't use
13573 grub_list_pop.
13574 * util/grub-fstest.c (grub_term_input_class): Removed.
13575 (grub_term_output_class): Likewise.
13576 * util/grub-probe.c: Likewise.
13577 * util/i386/pc/grub-setup.c: Likewise.
13578 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13579 * util/grub-script-check.c (main): Don't call grub_init_all and
13580 grub_fini_all.
13581 * video/video.c (grub_video_adapter_list): Make global.
13582 (grub_video_register): Removed.
13583 (grub_video_unregister): Likewise.
13584 (grub_video_iterate): Likewise.
13585
13586 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
13587
13588 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
13589 reported by Henrique Ferreiro.
13590
13591 2010-06-09 Robert Millan <rmh@gnu.org>
13592
13593 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
13594 ones, when both are available.
13595
13596 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13597
13598 Make --version uniform and avoid hard-coded program name.
13599
13600 * util/grub-mkimage.c (main): Use `program_name' instead of
13601 hard-coded string.
13602 * util/i386/pc/grub-setup.c (main): Likewise.
13603 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
13604 * util/grub-install.in: Save the basename of $0 in $self, and use the
13605 latter in informational messages. Use the same format for --version
13606 as the binary programs.
13607 * util/grub-mkconfig.in: Likewise.
13608 * util/grub-mkrescue.in: Likewise.
13609 * util/grub-reboot.in: Likewise.
13610 * util/grub-set-default.in: Likewise.
13611 * util/i386/efi/grub-install.in: Likewise.
13612 * util/ieee1275/grub-install.in: Likewise.
13613 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
13614
13615 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13616
13617 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
13618 embedding area. Use <= instead of == when checking for non-emptiness.
13619
13620 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13621
13622 * configure.ac: Add `.' to the directories searched for unifont.
13623
13624 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
13625
13626 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
13627 grub_script.yy.h.
13628
13629 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
13630
13631 * docs/grub.texi (History): Expand to cover GRUB 2.
13632 (Serial terminal): Refer to `terminal_input' and `terminal_output'
13633 commands, not `terminal'.
13634 (serial): Likewise.
13635 (terminal_input): New section.
13636 (terminal_output): New section.
13637 (uppermem): New section (stub).
13638 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
13639
13640 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
13641
13642 * docs/grub.texi (Security): Menu entries are unrestricted by
13643 default, not restricted to superusers as I had previously thought.
13644 Reword to account for this.
13645
13646 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13647
13648 * kern/emu/misc.c (device_mapper_null_log): New function.
13649 (grub_device_mapper_supported): New function.
13650 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
13651 prototype.
13652 * kern/emu/hostdisk.c (find_partition_start): Check whether
13653 device-mapper is supported before trying to use it.
13654 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
13655
13656 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13657
13658 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
13659 (File name syntax): Likewise.
13660 (help): --all is no longer supported in GRUB 2. Be more precise
13661 about pattern matching.
13662
13663 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13664
13665 * normal/completion.c (grub_normal_do_completion): When completing
13666 arguments to "set" and the current word contains an equals sign,
13667 skip to after the equals sign before starting completion.
13668
13669 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13670
13671 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
13672
13673 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13674
13675 * docs/grub.texi (Network): New section.
13676 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
13677 `(nd)' as in GRUB Legacy.
13678 (pxe_unload): New section.
13679
13680 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13681
13682 * docs/grub.texi (Troubleshooting): `echo' is not usually available
13683 in the rescue shell, so recommend using `set' instead. Thanks,
13684 Jordan Uggla.
13685
13686 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13687
13688 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
13689 (password): New section.
13690 (password_pbkdf2): New section.
13691 (search): New section.
13692 (Security): New section.
13693 (Troubleshooting): New section, currently very incomplete.
13694 (Invoking grub-mkpasswd-pbkdf2): New section.
13695 (Internals): New section, currently very incomplete.
13696
13697 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13698
13699 * util/grub.d/00_header.in: Add some more quoting (of
13700 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
13701 work again.
13702 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
13703
13704 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
13705
13706 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
13707 to `count', fixing variable shadowing that broke the -c option.
13708
13709 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
13710
13711 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
13712 in case they contain spaces.
13713
13714 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
13715
13716 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
13717 "part_" to partmap module names, in line with grub-install.
13718 Reported by: Jindřich Makovička (Debian bug #584426).
13719
13720 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
13721
13722 * util/grub-mkimage.c: Make target-related error messages slightly
13723 more helpful; -O talks about "format". Explicitly point to the use
13724 of -O if no target is specified.
13725 Reported by: Didier Raboud (Debian bug #584415).
13726
13727 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
13728
13729 * INSTALL: Document several build requirements for optional features
13730 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
13731
13732 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
13733
13734 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
13735 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
13736 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
13737
13738 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13739
13740 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
13741 Thanks to Jordan Uggla for spotting this.
13742
13743 2010-06-02 Aleš Nesrsta <starous@volny.cz>
13744
13745 Finally make USB usable.
13746
13747 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
13748 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
13749 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
13750 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
13751 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
13752 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
13753 (GRUB_OHCI_FSMPS): Likewise.
13754 (GRUB_OHCI_PERIODIC_START): Likewise.
13755 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
13756 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
13757 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
13758 (GRUB_OHCI_SET_PORT_RESET): Likewise.
13759 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
13760 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
13761 (grub_ohci_transaction): Likewise.
13762 (grub_ohci_transfer): Improve condition detection algorithms.
13763 Handle toggle property. Program the transactions correctly.
13764 Improve error handling. Various important fixups.
13765 (grub_ohci_portstatus): Put register writes in right order.
13766 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
13767 (grub_uhci_transfer): Don't show "failed" message on success.
13768 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
13769 array.
13770 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
13771 determine its size.
13772 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
13773 before initialization is completed. Use IN direction for empty
13774 transfers. Use last_trans and compute toggle.
13775 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
13776 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
13777 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
13778 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
13779 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
13780 (grub_usb_device): Increase toggle to 256.
13781 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
13782 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
13783 GRUB_USBMS_SUBCLASS_SFF8070.
13784 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
13785 (grub_scsi_inquiry): New member page and alloc_length.
13786 (grub_scsi_request_sense): New structure.
13787 (grub_scsi_request_sense_data): Likewise.
13788 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
13789 control.
13790 * disk/scsi.c (grub_scsi_request_sense): New function.
13791 (grub_scsi_test_unit_ready): Likewise.
13792 (grub_scsi_inquiry): Fill new fields.
13793 (grub_scsi_read_capacity): Likewise.
13794 (grub_scsi_read10): Add request sense at the end.
13795 (grub_scsi_read12): Likewise.
13796 (grub_scsi_write10): Likewise.
13797 (grub_scsi_write12): Likewise.
13798 (grub_scsi_open): Add Test Unit Ready.
13799 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
13800 Support additional subclasses. Con't clear halt yet. Activate the
13801 proper config. Calculate LUNs correctly.
13802 (grub_usbms_transfer): Various important fixups.
13803
13804 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13805
13806 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
13807 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
13808 (grub_ohci_fini_hw): New function.
13809 (grub_ohci_restore_hw): Likewise.
13810 (GRUB_MOD_INIT(ohci)): Register preboot hook.
13811 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
13812 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
13813
13814 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13815
13816 Dedicated DMA allocations.
13817
13818 * bus/pci.c (grub_memalign_dma32): New function
13819 (grub_dma_free): Likewise.
13820 (grub_dma_get_virt): Likewise.
13821 (grub_dma_get_phys): Likewise.
13822 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
13823 (grub_ohci_pci_iter): Use dma32_alloc.
13824 (grub_ohci_transfer): Likewise.
13825 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
13826 (grub_usb_bulk_readwrite): Likewise.
13827 * include/grub/pci.h: Add declarations.
13828
13829 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13830
13831 CS5536 support.
13832
13833 * bus/cs5536.c: New file.
13834 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
13835 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
13836 (cs5536_mod_SOURCES): New variable.
13837 (cs5536_mod_CFLAGS): Likewise.
13838 (cs5536_mod_LDFLAGS): Likewise.
13839 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
13840 machine/pci.h.
13841 (kernel_img_SOURCES): Add bus/cs5536.c.
13842 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
13843 usb_keyboard.mod.
13844 (usb_mod_SOURCES): New variable.
13845 (usb_mod_CFLAGS): New variable.
13846 (usb_mod_LDFLAGS): New variable.
13847 (usbtest_mod_SOURCES): New variable.
13848 (usbtest_mod_CFLAGS): New variable.
13849 (usbtest_mod_LDFLAGS): New variable.
13850 (ohci_mod_SOURCES): New variable.
13851 (ohci_mod_CFLAGS): New variable.
13852 (ohci_mod_LDFLAGS): New variable.
13853 (usbms_mod_SOURCES): New variable.
13854 (usbms_mod_CFLAGS): New variable.
13855 (usbms_mod_LDFLAGS): New variable.
13856 (usb_keyboard_mod_SOURCES): New variable.
13857 (usb_keyboard_mod_CFLAGS): New variable.
13858 (usb_keyboard_mod_LDFLAGS): New variable.
13859 * include/grub/smbus.h: New file.
13860 * include/grub/cs5536.h: New file.
13861
13862 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13863
13864 * util/grub.d/00_header.in: Add safety check to make sure that
13865 ${locale_dir} exists before trying to probe it.
13866
13867 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13868
13869 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
13870 per the GNU Coding Standards; this is now too obscure to be worth
13871 documenting.
13872 (QNX): Likewise.
13873 (chainloader): Remove cross-reference to `SCO UnixWare'.
13874
13875 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13876
13877 * docs/grub.texi (Chain-loading): New section.
13878 (DOS/Windows): New section, borrowed from GRUB Legacy with details
13879 adjusted for GRUB 2.
13880 (SCO UnixWare): Likewise.
13881 (QNX): Likewise.
13882 (chainloader): Add reference to `Block list syntax'.
13883 (drivemap): New section.
13884 (parttool): New section.
13885
13886 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13887
13888 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
13889 the grub shell'.
13890 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
13891 (Installing GRUB using grub-install): Remove reference to the grub
13892 shell; mention `grub-mkimage' and `grub-setup' instead.
13893 (Invoking grub-install): Likewise.
13894 (Interface): Add reference to `Menu entry editor'.
13895 (serial): Remove `--device' option.
13896
13897 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13898
13899 * docs/grub.texi (Configuration): New section, documenting
13900 configuration file generation using grub-mkconfig. I've left a slot
13901 for documenting the full shell scripting format but have not yet
13902 started on writing that up.
13903 (Invoking grub-mkconfig): New section.
13904
13905 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13906
13907 * docs/grub.texi (direntry): Remove grub-terminfo reference.
13908 (GNU GRUB manual): Likewise.
13909 (General commands): Update description of `terminfo' for GRUB 2.
13910
13911 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13912
13913 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
13914 (GRUB_MOD_INIT): Fix capitalisation.
13915 * docs/grub.texi (Command-line and menu entry commands): Document
13916 gettext and gptsync commands.
13917
13918 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13919
13920 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
13921 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
13922
13923 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
13924
13925 Add btrfs probing support, currently only in the single-device case.
13926
13927 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
13928 function.
13929 (grub_guess_root_device): Call find_root_device_from_mountinfo
13930 before looking in /dev.
13931
13932 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13933
13934 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
13935 GRUB_DISK_SIZE_UNKNOWN.
13936 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
13937
13938 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
13939
13940 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
13941 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
13942 corrupted or not synced properly.
13943
13944 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13945
13946 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
13947 Reported by: Seth Goldberg.
13948
13949 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13950
13951 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
13952 addition of dest.
13953 Reported by: Seth Goldberg.
13954
13955 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13956
13957 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
13958 Reported by: Seth Goldberg.
13959
13960 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13961
13962 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
13963 64-bit address as signed on MIPS.
13964
13965 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
13966
13967 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
13968 to the empty string.
13969
13970 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
13971
13972 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
13973
13974 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
13975 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
13976 * kern/misc.c (__enable_execute_stack): Disable on
13977 GRUB_MACHINE_EMU.
13978
13979 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
13980
13981 Make grub-probe work with symbolic links under /dev/mapper as well
13982 as with real block devices. The Linux world seems to be (at best)
13983 in transition here, and GRUB shouldn't get caught in the middle.
13984
13985 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
13986 /dev/mapper.
13987
13988 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
13989
13990 * util/grub-script-check.c (main): Ensure defined behaviour on empty
13991 input files (in which case exit zero).
13992
13993 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
13994
13995 * kern/emu/misc.c (canonicalize_file_name): realpath can still
13996 return NULL for various reasons even if it has a maximum-length
13997 buffer: for example, there might be a symlink loop, or the path
13998 might exceed PATH_MAX. If this happens, return NULL.
13999
14000 2010-05-27 Robert Millan <rmh@gnu.org>
14001
14002 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
14003 partmap module to handle cross-partmap setups.
14004 Reported by Orestes Mas. Gràcies!
14005
14006 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
14007
14008 * util/grub-mkrescue.in: Initialise override_dir rather than
14009 assuming that it's unset or empty in the environment.
14010
14011 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
14012
14013 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
14014 variable index into p_index to suppress a warning with -Wshadow.
14015
14016 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
14017
14018 * INSTALL: Added flex >= 2.5.35 requirement.
14019
14020 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14021
14022 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
14023
14024 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14025
14026 cmostest support.
14027
14028 * commands/i386/cmostest.c: New file.
14029 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
14030 (cmostest_mod_SOURCES): New variable.
14031 (cmostest_mod_CFLAGS): Likewise.
14032 (cmostest_mod_LDFLAGS): Likewise.
14033 * conf/i386-pc.rmk: Likewise.
14034 * docs/grub.texi (Vendor power-on keys): New section.
14035 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
14036 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
14037 and GRUB_BUTTON_CMOS_ADDRESS.
14038 * util/grub.d/00_header.in: Handle powering-on by separate button.
14039
14040 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14041
14042 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
14043 Removed drawing_scrollbar argument. All users updated
14044 Fixes #29792.
14045 Reported by Jo Shields
14046
14047 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14048
14049 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
14050 buffer since gfxterm handles double repaint.
14051
14052 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
14053
14054 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
14055 * term/gfxterm.c (real_scroll): Likewise.
14056
14057 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14058
14059 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
14060 before calling BIOS.
14061
14062 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14063
14064 * include/grub/i18n.h: Always enable grub_gettext.
14065
14066 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
14067
14068 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
14069 partition naming style.
14070
14071 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
14072
14073 * util/grub-mkconfig.in: Fix handling of -o so that it works when
14074 not the first option.
14075
14076 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
14077
14078 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
14079
14080 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
14081
14082 * util/misc.c: Move inclusion of <limits.h> to ...
14083 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
14084
14085 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
14086
14087 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
14088 Fix merge error in NetBSD code.
14089 (find_partition_start) [__NetBSD__]: Likewise.
14090
14091 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
14092
14093 Fix grub-mkrescue usage unit testing.
14094
14095 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
14096
14097 2010-05-18 Christian Franke <franke@computer.org>
14098
14099 * util/grub.d/10_windows.in: Use path names instead of
14100 drive letters to prevent warning from Cygwin 1.7.
14101 Add drivemap command to menuentry if needed.
14102
14103 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
14104
14105 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
14106 gnumach and gnumach.gz.
14107
14108 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14109
14110 * include/grub/i18n.h (gettext): Inline instead of using #define.
14111 (grub_gettext): Likewise.
14112 (_): Likewise.
14113
14114 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14115
14116 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
14117 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
14118 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
14119 (main): Add a slash after pkglibdirroot.
14120
14121 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14122
14123 * util/grub-install.in: Add missing "in" keyword.
14124
14125 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14126
14127 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
14128 Reported by: Seth Goldberg.
14129
14130 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
14131
14132 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
14133
14134 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
14135
14136 * configure.ac: Check for Linux device-mapper support.
14137
14138 * util/hostdisk.c (device_is_mapped): New function.
14139 (find_partition_start): New function, partly broken out from
14140 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
14141 device-mapper support added.
14142 (linux_find_partition): Use find_partition_start.
14143 (convert_system_partition_to_system_disk): Add `st' argument.
14144 Support Linux /dev/mapper/* devices if device-mapper support is
14145 available; only DM-RAID devices are understood at present.
14146 (find_system_device): Add `st' argument. Pass it to
14147 convert_system_partition_to_system_disk.
14148 (grub_util_biosdisk_get_grub_dev): Pass stat result to
14149 find_system_device and convert_system_partition_to_system_disk. Use
14150 find_partition_start.
14151
14152 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
14153 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
14154 * util/deviceiter.c [__linux__]: Define MINOR.
14155 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
14156 * util/mkdevicemap.c (grub_putchar): New function.
14157 (grub_getkey): New function.
14158 (grub_refresh): New function.
14159 (main): Set debug=all if -v -v is used.
14160
14161 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
14162
14163 Fix build with non-GNU libcs.
14164
14165 * util/misc.c (canonicalize_file_name): Move to ...
14166 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
14167 grub_make_system_path_relative_to_its_root.
14168
14169 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
14170
14171 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
14172 we handle finding grub-mkimage. Default to finding grub-mkimage in
14173 ${bindir} with program_transform_name applied, and provide a
14174 --grub-mkimage option to override this.
14175
14176 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14177
14178 Remove grub-mkisofs.
14179
14180 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
14181 (grub_mkisofs_SOURCES): Removed.
14182 (grub_mkisofs_CFLAGS): Removed.
14183 * util/mkisofs/defaults.h: Removed.
14184 * util/mkisofs/eltorito.c: Likewise.
14185 * util/mkisofs/exclude.h: Likewise.
14186 * util/mkisofs/hash.c: Likewise.
14187 * util/mkisofs/include/: Likewise.
14188 * util/mkisofs/include/fctldefs.h: Likewise.
14189 * util/mkisofs/include/mconfig.h: Likewise.
14190 * util/mkisofs/include/prototyp.h: Likewise.
14191 * util/mkisofs/include/statdefs.h: Likewise.
14192 * util/mkisofs/iso9660.h: Likewise.
14193 * util/mkisofs/joliet.c: Likewise.
14194 * util/mkisofs/match.c: Likewise.
14195 * util/mkisofs/match.h: Likewise.
14196 * util/mkisofs/mkisofs.c: Likewise.
14197 * util/mkisofs/mkisofs.h: Likewise.
14198 * util/mkisofs/msdos_partition.h: Likewise.
14199 * util/mkisofs/multi.c: Likewise.
14200 * util/mkisofs/name.c: Likewise.
14201 * util/mkisofs/rock.c: Likewise.
14202 * util/mkisofs/tree.c: Likewise.
14203 * util/mkisofs/write.c: Likewise.
14204
14205 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
14206
14207 Unify grub-mkimage accross platforms.
14208
14209 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
14210 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
14211 (grub_mkelfimage_SOURCES): Removed.
14212 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
14213 (util/grub-mkimage.c_DEPENDENCIES): .. this.
14214 (bin_UTILITIES): Add grub-mkimage.
14215 (grub_mkimage_SOURCES): New variable.
14216 (kernel_img_HEADERS): Remove machine/kernel.h.
14217 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
14218 (pkglib_PROGRAMS): Add kernel.img.
14219 (kernel_img_HEADERS): Add machine/kernel.h.
14220 (kernel_img_FORMAT): Removed.
14221 (bin_UTILITIES): Remove grub-mkimage.
14222 (grub_mkimage_SOURCES): Removed.
14223 (grub_mkimage_CFLAGS): Likewise.
14224 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14225 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
14226 (pkglib_PROGRAMS): Add kernel.img.
14227 (bin_UTILITIES): Remove grub-mkimage.
14228 (grub_mkimage_SOURCES): Removed.
14229 (grub_mkimage_CFLAGS): Likewise.
14230 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14231 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
14232 (pkglib_PROGRAMS): Add kernel.img.
14233 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
14234 (pkglib_PROGRAMS): Add kernel.img.
14235 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
14236 (grub_mkimage_SOURCES): Removed.
14237 (grub_mkimage_CFLAGS): Likewise.
14238 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14239 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
14240 (pkglib_PROGRAMS): Add kernel.img.
14241 (bin_UTILITIES): Remove grub-mkimage.
14242 (grub_mkimage_SOURCES): Removed.
14243 (grub_mkimage_CFLAGS): Likewise.
14244 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14245 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
14246 (grub_mkimage_SOURCES): Removed.
14247 (grub_mkimage_CFLAGS): Likewise.
14248 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
14249 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
14250 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
14251 (grub_pe32_optional_header): ... this.
14252 (grub_pe64_optional_header): ... and this. All users updated.
14253 (GRUB_PE32_PE32_MAGIC): Split into ..
14254 (GRUB_PE32_PE32_MAGIC): .. this.
14255 (GRUB_PE32_PE64_MAGIC): .. and this.
14256 (GRUB_PE32_SIGNATURE_SIZE): New definition.
14257 * include/grub/elf.h (PT_GNU_STACK): New definition.
14258 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
14259 * include/grub/i386/efi/kernel.h: Likewise.
14260 * include/grub/i386/kernel.h: Likewise.
14261 * include/grub/i386/pc/kernel.h: Likewise.
14262 * include/grub/i386/qemu/boot.h: Likewise.
14263 * include/grub/mips/kernel.h: Likewise.
14264 * include/grub/mips/qemu-mips/kernel.h: Likewise.
14265 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
14266 * include/grub/powerpc/kernel.h: Likewise.
14267 * include/grub/sparc64/ieee1275/boot.h: Likewise.
14268 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
14269 * include/grub/sparc64/kernel.h: Likewise.
14270 * include/grub/x86_64/efi/kernel.h: Likewise.
14271 * include/grub/x86_64/kernel.h: Likewise.
14272 * include/grub/offsets.h: New file.
14273 * include/grub/kernel.h (grub_module_info): Split into ...
14274 (grub_module_info32): ... this.
14275 (grub_module_info64): ... and this.
14276 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
14277 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
14278 (grub_boot_blocklist): Moved from here ...
14279 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
14280 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
14281 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
14282 * include/grub/types.h (grub_target_to_host16): Removed.
14283 (grub_target_to_host32): Likewise.
14284 (grub_target_to_host64): Likewise.
14285 (grub_host_to_target16): Likewise.
14286 (grub_host_to_target32): Likewise.
14287 (grub_host_to_target64): Likewise.
14288 (grub_host_to_target_addr): Likewise.
14289
14290 Support grub-mkrescue for efi, coreboot and qemu.
14291
14292 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
14293 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
14294 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
14295 * util/grub-mkrawimage.c: Moved from here ...
14296 * util/grub-mkimage.c: ... here. All users updated.
14297 (ALIGN_ADDR): Use image_target.
14298 (TARGET_NO_FIELD): New const.
14299 (image_target_desc): New type.
14300 (image_targets): New array.
14301 (grub_target_to_host64): Use image_target.
14302 (grub_target_to_host32): Likewise.
14303 (grub_target_to_host16): Likewise.
14304 (grub_host_to_target64): Likewise.
14305 (grub_host_to_target32): Likewise.
14306 (grub_host_to_target16): Likewise.
14307 (grub_host_to_target_addr): Likewise.
14308 (generate_image): Handle multiimage.
14309 (main): Require -O parameter. All users updated.
14310 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
14311 util/efi/grub-mkimage.c
14312 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
14313 New option --rom-directory.
14314 Use xorriso.
14315 * util/i386/efi/grub-mkimage.c: Removed.
14316 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
14317 (grub_target_to_host32): Likewise.
14318 (grub_target_to_host64): Likewise.
14319 (grub_host_to_target16): Likewise.
14320 (grub_host_to_target32): Likewise.
14321 (grub_host_to_target64): Likewise.
14322 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
14323 (grub_target_to_host32): Likewise.
14324 (grub_target_to_host64): Likewise.
14325 (grub_host_to_target16): Likewise.
14326 (grub_host_to_target32): Likewise.
14327 (grub_host_to_target64): Likewise.
14328
14329 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
14330
14331 Source tree is reorganized for emu build.
14332
14333 * include/grub/util/console.h: Move from here...
14334 * include/grub/emu/console.h: ...to here.
14335 * include/grub/util/getroot.h: Move from here...
14336 * include/grub/emu/getroot.h: ...to here.
14337 * include/grub/util/hostdisk.h: Move from here...
14338 * include/grub/emu/hostdisk.h: ...to here.
14339 * util/console.c: Move from here...
14340 * kern/emu/console.c: ...to here.
14341 * util/getroot.c: Move from here...
14342 * kern/emu/getroot.c: ...to here.
14343 * util/grub-emu.c: Move from here...
14344 * kern/emu/main.c: ...to here.
14345 * util/hostdisk.c: Move from here...
14346 * kern/emu/hostdisk.c: ...to here.
14347 * util/hostfs.c: Move from here...
14348 * kern/emu/hostfs.c: ...to here.
14349 * util/mm.c: Move from here...
14350 * kern/emu/mm.c: ...to here.
14351 * util/pci.c: Move from here...
14352 * bus/emu/pci.c: ...to here.
14353 * util/sdl.c: Move from here...
14354 * video/emu/sdl.c: ...to here.
14355 * util/time.c: Move from here...
14356 * kern/emu/time.c: ...to here.
14357 * util/usb.c: Move from here...
14358 * bus/usb/emu/usb.c: ...to here.
14359
14360 * include/grub/emu/misc.h: New header for grub-emu functions.
14361 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
14362
14363 * conf/any-emu.rmk: Rule updates for above renames.
14364 * conf/common.rmk: Likewise.
14365 * conf/i386-pc.rmk: Likewise.
14366 * conf/i386-qemu.rmk: Likewise.
14367 * conf/mips.rmk: Likewise.
14368 * conf/sparc64-ieee1275.rmk: Likewise.
14369 * conf/x86-efi.rmk: Likewise.
14370
14371 * disk/lvm.h: #include updates for above renames.
14372 * util/grub-mkrelpath.c: Likewise.
14373 * util/grub-probe.c: Likewise.
14374 * util/i386/pc/grub-setup.c: Likewise.
14375 * util/sparc64/ieee1275/grub-setup.c: Likewise.
14376 * kern/emu/console.c: Likewise.
14377 * kern/emu/getroot.c: Likewise.
14378 * kern/emu/hostdisk.c: Likewise.
14379 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
14380
14381 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
14382 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
14383 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
14384 * util/misc.c: Remove grub-emu functions.
14385
14386 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
14387
14388 Fix gfxmenu crash.
14389 Reported by: Thorsten Grützmacher.
14390
14391 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
14392 timeout hook.
14393 (circprog_set_property): Register and unregister timeout hook.
14394 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
14395 (label_destroy): Free template. and unregister hook.
14396 (label_set_state): New function.
14397 (label_set_property): Handle templates and hooks.
14398 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
14399 timeout hook.
14400 (progress_bar_set_property): Register and unregister timeout hook.
14401 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
14402 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
14403 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
14404 (update_timeout_visit): Removed.
14405 (update_timeouts): New function.
14406 (redraw_timeouts): Likewise.
14407 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
14408 (grub_gfxmenu_clear_timeout): Likewise.
14409 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
14410 (grub_gfxmenu_timeout_notify): Likewise.
14411 (grub_gfxmenu_timeout_notifications): New external variable.
14412 (grub_gfxmenu_timeout_register): New function.
14413 (grub_gfxmenu_timeout_unregister): Likewise.
14414
14415 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
14416
14417 Transform (broken) vga terminal into (working) vga video driver.
14418
14419 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
14420 video/i386/pc/vga.c.
14421 * include/grub/video.h (grub_video_driver_id):
14422 Add GRUB_VIDEO_DRIVER_VGA.
14423 * term/i386/pc/vga.c: Renamed to ...
14424 * video/i386/pc/vga.c: ...this
14425 (DEBUG_VGA): Removed.
14426 (CHAR_WIDTH): Likewise.
14427 (CHAR_HEIGHT): Likewise.
14428 (TEXT_WIDTH): Likewise.
14429 (TEXT_HEIGHT): Likewise.
14430 (DEFAULT_FG_COLOR): Likewise.
14431 (DEFAULT_BG_COLOR): Likewise.
14432 (colored_char): Likewise.
14433 (xpos): Likewise.
14434 (ypos): Likewise.
14435 (cursor_state): Likewise.
14436 (fg_color): Likewise.
14437 (bg_color): Likewise.
14438 (text_buf): Likewise.
14439 (page): Likewise.
14440 (font): Likewise.
14441 (framebuffer): New variable.
14442 (set_read_map): Disabled.
14443 (setup): New variable.
14444 (is_target): Likewise.
14445 (grub_vga_mod_init): Likewise.
14446 (grub_vga_mod_fini): Likewise.
14447 (check_vga_mem): Likewise.
14448 (write_char): Likewise.
14449 (write_cursor): Likewise.
14450 (scroll_up): Likewise.
14451 (grub_vga_putchar): Likewise.
14452 (grub_vga_getcharwidth): Likewise.
14453 (grub_vga_getwh): Likewise.
14454 (grub_vga_getxy): Likewise.
14455 (grub_vga_gotoxy): Likewise.
14456 (grub_vga_cls): Likewise.
14457 (grub_vga_setcolorstate): Likewise.
14458 (grub_vga_setcursor): Likewise.
14459 (grub_video_vga_init): New function.
14460 (grub_video_vga_setup): Likewise.
14461 (grub_video_vga_fini): Likewise.
14462 (update_target): Likewise.
14463 (grub_video_vga_blit_bitmap): Likewise.
14464 (grub_video_vga_blit_render_target): Likewise.
14465 (grub_video_vga_set_active_render_target): Likewise.
14466 (grub_video_vga_get_active_render_target): Likewise.
14467 (grub_video_vga_swap_buffers): Likewise.
14468 (grub_video_vga_set_palette): Likewise.
14469 (grub_video_vga_get_info_and_fini): Likewise.
14470 (grub_vga_term): Removed.
14471 (grub_video_vga_adapter): New variable.
14472 (GRUB_MOD_INIT): Register a video driver instead of terminal.
14473 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
14474
14475 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14476
14477 * video/readers/jpeg.c: Indented.
14478
14479 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14480
14481 Various jpeg cleanups.
14482
14483 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
14484 (grub_jpeg_decode_quan_table): Use sizeof.
14485 (grub_jpeg_decode_du): Use ARRAY_SIZE.
14486
14487 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
14488
14489 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
14490 tables. Ignore non-last ac bit.
14491 (grub_jpeg_decode_quan_table): Likewise.
14492
14493 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14494
14495 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
14496 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
14497 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
14498 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
14499 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
14500 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
14501
14502 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14503
14504 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
14505 error.
14506
14507 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
14508
14509 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
14510
14511 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14512
14513 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
14514 condition.
14515
14516 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14517
14518 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
14519 part.
14520
14521 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14522
14523 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
14524 pointers.
14525
14526 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
14527
14528 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
14529
14530 2010-05-01 Christian Franke <franke@computer.org>
14531
14532 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
14533 Remove broken Cygwin path conversion.
14534 * util/misc.c: [__CYGWIN__] Add include and define.
14535 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
14536 for Cygwin 1.7.
14537 (make_system_path_relative_to_its_root): Simplify loop, replace early
14538 return by break.
14539 [__CYGWIN__] Add conversion to win32 path.
14540 Include "/" case in trailing slash removal.
14541
14542 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14543
14544 * kern/main.c (grub_load_config): Fix copy-pasted comment.
14545 Reported by: Seth Goldberg
14546
14547 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14548
14549 * commands/help.c (grub_cmd_help): Fix a typo.
14550 Reported by: Seth Goldberg
14551
14552 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14553
14554 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
14555 name and add N_.
14556 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
14557 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
14558 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
14559 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
14560 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
14561 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
14562 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
14563 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
14564 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
14565 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
14566 * normal/context.c (GRUB_MOD_INIT): Likewise.
14567 * normal/main.c (GRUB_MOD_INIT): Likewise.
14568 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
14569 * term/serial.c (GRUB_MOD_INIT): Likewise.
14570 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
14571
14572 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14573
14574 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
14575 extra == 0.
14576
14577 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14578
14579 * commands/iorw.c: New file.
14580 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
14581 (iorw_mod_SOURCES): New variable.
14582 (iorw_mod_CFLAGS): Likewise.
14583 (iorw_mod_LDFLAGS): Likewise.
14584
14585 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14586
14587 Hotkey support
14588
14589 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
14590 * normal/main.c (hotkey_aliases): New variable.
14591 (grub_normal_add_menu_entry): Parse "--hotkey".
14592 * normal/menu_text.c (run_menu): Handle hotkeys.
14593
14594 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14595
14596 * kern/i386/coreboot/init.c (grub_machine_init): Call
14597 grub_machine_mmap_init on qemu.
14598
14599 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14600
14601 * boot/i386/qemu/boot.S: Add a missing .code16.
14602
14603 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14604
14605 Use LBIO on coreboot.
14606
14607 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
14608 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
14609 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
14610 New declaration.
14611 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
14612 grub_machine_mmap_init on coreboot.
14613 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
14614 GRUB_LINUXBIOS_MEMBER_LINK.
14615 (grub_machine_mmap_iterate): Fix declaration.
14616 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
14617
14618 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14619
14620 Split coreboot and multiboot ports.
14621
14622 * conf/i386-multiboot.rmk: New file.
14623 * configure.ac: Add multiboot port.
14624 * include/grub/i386/multiboot/boot.h: New file.
14625 * include/grub/i386/multiboot/console.h: Likewise.
14626 * include/grub/i386/multiboot/init.h: Likewise.
14627 * include/grub/i386/multiboot/kernel.h: Likewise.
14628 * include/grub/i386/multiboot/loader.h: Likewise.
14629 * include/grub/i386/multiboot/memory.h: Likewise.
14630 * include/grub/i386/multiboot/serial.h: Likewise.
14631 * include/grub/i386/multiboot/time.h: Likewise.
14632 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
14633 * loader/multiboot.c: Likewise.
14634 * loader/multiboot_mbi2.c: Likewise.
14635 * util/grub-mkrescue.in: Generate multiboot rescue.
14636
14637 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14638
14639 * kern/parser.c (grub_parser_execute): Cope with read-only config.
14640
14641 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
14642
14643 Merge handling of input and output terminals. Fix a hang.
14644
14645 * commands/terminal.c (abstract_terminal): New struct.
14646 (handle_command): New function. Based on grub_cmd_terminal_input.
14647 (grub_cmd_terminal_input): Use handle_command.
14648 (grub_cmd_terminal_output): Use handle_command.
14649
14650 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
14651
14652 Fix comment handling.
14653
14654 * tests/grub_script_comments.in: New testcase.
14655 * conf/tests.rmk: Rules for new testcase.
14656 * script/yylex.l: Updated flex rules.
14657
14658 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
14659
14660 * docs/grub.texi (play): Document that zero pitches produce rests.
14661 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
14662 if argc is 1.
14663
14664 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
14665
14666 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
14667 autogen issues.
14668
14669 2010-04-26 Christian Franke <franke@computer.org>
14670
14671 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
14672 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
14673 (grub_get_prefix): Remove function.
14674 * util/grub-emu.c (main): Replace grub_get_prefix () call by
14675 make_system_path_relative_to_its_root ().
14676 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
14677
14678 2010-04-24 Christian Franke <franke@computer.org>
14679
14680 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
14681 (kernel_img_LDFLAGS): Remove -static-libgcc.
14682
14683 2010-04-24 Christian Franke <franke@computer.org>
14684
14685 * configure.ac: Do not CHECK_BSS_START_SYMBOL
14686 and CHECK_END_SYMBOL if grub-emu is built.
14687 Unset TARGET_OBJ2ELF if grub-emu is built
14688 without module support.
14689
14690 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
14691
14692 Nilfs2 support.
14693
14694 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
14695 (grub_fstest_SOURCES): Likewise.
14696 (pkglib_MODULES): Add nilfs2.mod.
14697 (nilfs2_mod_SOURCES): New variable.
14698 (nilfs2_mod_CFLAGS): Likewise.
14699 (nilfs2_mod_LDFLAGS): Likewise.
14700 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
14701 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
14702 * fs/nilfs2.c: New file.
14703
14704 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
14705
14706 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
14707 is not supported.
14708
14709 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
14710
14711 Add grub-mkconfig support for NetBSD.
14712
14713 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
14714 * util/grub-mkconfig.in: export new NetBSD specific variables.
14715 * po/POTFILES-shell: added 10_netbsd.in.
14716 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
14717
14718 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
14719
14720 Fix emu build with grub-emu-pci and grub-emu-modules.
14721
14722 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
14723 functions.
14724 * include/grub/libpciaccess.h: New file.
14725 * conf/any-emu.rmk: Update kernel headers for emu build.
14726
14727 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14728
14729 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
14730
14731 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14732
14733 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
14734
14735 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14736
14737 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
14738 Retrieve chosen/bootpath if bootpath isn't hardcoded.
14739 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
14740 util/ieee1275/ofpath.c.
14741 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
14742 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
14743 * include/grub/sparc64/ieee1275/boot.h
14744 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
14745 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
14746 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
14747 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
14748 const char *.
14749 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
14750 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
14751 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
14752 install.
14753
14754 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
14755
14756 * util/grub-mkconfig.in: Corrected two == equality tests.
14757 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
14758 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
14759 expect a number appended to it.
14760 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
14761 expects a number appended to it.
14762
14763 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14764
14765 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
14766
14767 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14768
14769 * util/hostdisk.c (make_device_name): Change to new partition naming.
14770
14771 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
14772
14773 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
14774
14775 2010-04-17 Christian Franke <franke@computer.org>
14776
14777 * Makefile.in: Add missing localedir setting.
14778
14779 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
14780
14781 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
14782 mistake in r2156. Noticed by Anthony Fok.
14783
14784 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
14785 @localedir@.
14786 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
14787
14788 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
14789
14790 Fix a spurious, uninitialized variable warning.
14791
14792 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
14793 Initialize variable, shdr.
14794 (grub_freebsd_load_elfmodule): Likewise.
14795 (grub_freebsd_load_elf_meta): Likewise.
14796
14797 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
14798
14799 Fix for escaped dollar in double quoted strings.
14800
14801 * script/yylex.l: Updated flex rules.
14802 * conf/tests.rmk: Rule for new testcase.
14803 * tests/grub_script_dollar.in: New testcase.
14804
14805 2010-04-13 Carles Pina i Estany <carles@pina.cat>
14806 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
14807
14808 Enclose all translated strings in grub.cfg in single quotes, and
14809 escape them appropriately (Ubuntu bug #552921).
14810
14811 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
14812 * util/grub.d/10_hurd.in: Use it.
14813 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14814 * util/grub.d/10_linux.in (linux_entry): Likewise.
14815
14816 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14817
14818 Fix cygwin compilation.
14819
14820 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
14821 * include/grub/misc.h (__register_frame_info)
14822 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
14823 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14824 * kern/misc.c (__register_frame_info)
14825 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
14826 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14827
14828 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14829
14830 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
14831
14832 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14833
14834 Unify libgcc processing.
14835
14836 * Makefile.in (kernel_img_LDFLAGS): New variable.
14837 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
14838 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
14839 overwriting.
14840 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
14841 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
14842 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
14843 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
14844 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
14845 overwriting. Remove -lgcc and -static-libgcc
14846 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
14847 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14848 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14849 (kernel_img_LDFLAGS): Append instead of overwriting.
14850 Remove -lgcc and -static-libgcc
14851 * conf/sparc64-ieee1275.rmk: Likewise.
14852 * include/grub/powerpc/libgcc.h: Move to ...
14853 * include/grub/libgcc.h: .. this.
14854 * include/grub/libgcc.h: Don't export most of the function on x86.
14855 (__bswapsi2): New export.
14856 (__bswapdi2): Likewise.
14857 * include/grub/mips/libgcc.h: Removed.
14858 * include/grub/sparc64/libgcc.h: Likewise.
14859
14860 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14861
14862 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
14863 disk_info_msg (conflicts with gettexting into languages with cases).
14864
14865 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
14866
14867 Add grub-probe support for NetBSD.
14868
14869 * util/getroot.c (find_root_device): Convert block device to
14870 character device on NetBSD.
14871 * util/probe.c (probe): Require character device on NetBSD.
14872 * util/hostdisk.c: NetBSD specific headers.
14873 (configure_device_driver): new function to tune device driver
14874 parameters (currently only for NetBSD floppy driver).
14875 (grub_util_biosdisk_open): NetBSD specific code (get disk size
14876 via disklabel ioctl).
14877 (open_device): call configure_device_driver on NetBSD.
14878 (convert_system_partition_to_system_disk): NetBSD specific code.
14879 (device_is_wholedisk): Likewise.
14880 (grub_util_biosdisk_get_grub_dev): Likewise.
14881 (make_device_name): Fixed a typo in bsd_part_str.
14882 * configure.ac: check for opendisk() and getrawpartition() on
14883 NetBSD and set LIBUTIL.
14884 * Makefile.in: add LIBUTIL to LIBS.
14885
14886 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14887
14888 Documentation fix.
14889
14890 * util/grub-script-check.c: Better help message.
14891
14892 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14893
14894 Fix FreeBSD build.
14895
14896 * configure.ac: Flex version check.
14897 * conf/common.rmk: Add -Wno-error to sh.mod.
14898 * script/yylex.l: Remove all #pragma.
14899
14900 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14901
14902 * include/grub/util/misc.h (canonicalise_file_name): Add missing
14903 prototype.
14904 Reported by: Seth Goldberg.
14905
14906 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14907
14908 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
14909 Rename "module" to "module2".
14910 Reported by: Seth Goldberg.
14911
14912 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14913
14914 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
14915 EXPORT_FUNC.
14916 Reported by: Seth Goldberg.
14917
14918 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14919
14920 * lib/posix_wrap/locale.h: Add missing file.
14921 Reported by: Seth Goldberg.
14922
14923 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14924
14925 grub-emu module load support.
14926
14927 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
14928 NO_DYNAMIC_MODULES switched to this.
14929 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
14930 (CFLAGS): Likewise.
14931 * conf/any-emu.rmk: Generate symlist.
14932 (kernel_img_HEADERS): Add util/datetime.h.
14933 (kernel_img_HEADERS) [sdl]: Add sdl.h.
14934 (kernel_img_HEADERS) [libusb]: Add libusb.h.
14935 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
14936 kern/$(target_cpu)/cache.S.
14937 * configure.ac (grub-emu-modules): New option.
14938 * genmk.rb: Handle multiple source lists.
14939 * include/grub/sdl.h: New file.
14940 * include/grub/libusb.h: Likewise.
14941 * util/grub-emu.c (main): Hanle (host) root.
14942 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
14943 GRUB_ERR_UNKNOWN_DEVICE.
14944 * util/misc.c: Move mm functions to ...
14945 * util/mm.c: ... here. All users updated.
14946
14947 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14948
14949 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
14950 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
14951 missing files.
14952 (maintainer-clean): Remove libgcrypt-grub.
14953
14954 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14955
14956 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
14957
14958 2010-04-09 EFI Coder <eficoder@hotmail.com>
14959
14960 * normal/menu_text.c (print_message): Clean up the message and show
14961 the Fn information when on EFI
14962 * term/efi/console.c (grub_console_checkkey): Add F4 support.
14963
14964 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14965
14966 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
14967 All users updated.
14968 * normal/crypto.c (read_crypto_list): Likewise.
14969 * normal/dyncmd.c (read_command_list): Likewise.
14970 * normal/term.c (read_terminal_list): Likewise.
14971 * normal/main.c (read_lists): Use explicit prefix.
14972 (read_lists_hook): Use read_lists.
14973 (grub_normal_execute): Likewise.
14974
14975 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14976
14977 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
14978 Reported by: Thomas Schmitt.
14979 Add -no-emul-boot to grub-mkisofs parameters.
14980
14981 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14982
14983 * font/font.c: Indented.
14984
14985 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14986
14987 Elif support to GRUB script (by Deepak Vankadaru).
14988
14989 * tests/grub_script_if.in: New testcase.
14990 * conf/tests.rmk: Rule for new testcase.
14991 * script/parser.y: Grammar rules for elif.
14992
14993 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14994
14995 While and until loops support to GRUB script.
14996
14997 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
14998 (grub_script_create_cmdwhile): New function prototype.
14999 (grub_script_execute_cmdwhile): New function prototype.
15000 * script/execute.c (grub_script_execute_cmdwhile): New function.
15001 * script/parser.y (command): New commands.
15002 (whilecmd): New grammar rule.
15003 (untilcmd): New grammar rule.
15004 * script/script.c (grub_script_create_cmdwhile): New function.
15005 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
15006 function.
15007
15008 * tests/grub_script_while1.in: New testcase.
15009 * conf/tests.rmk: Rule for new testcase.
15010
15011 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15012
15013 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
15014 as *.jpg.
15015
15016 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
15017
15018 GRUB_BACKGROUND support.
15019
15020 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
15021 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
15022
15023 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15024
15025 Load fonts and modules for gfxmenu in grub-mkconfig.
15026 Idea by: Mario Vazquez
15027
15028 * util/grub.d/00_header.in: Load pf2 and image modules.
15029
15030 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15031
15032 grub-mkconfig multiple terminal support.
15033
15034 * util/grub-mkconfig.in: Handle multiple terminals correctly.
15035 * util/grub.d/00_header.in: Likewise.
15036
15037 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
15038
15039 * Makefile.in: Specify files explicitly instead of using $< and $@ since
15040 we use cd $(srcdir).
15041
15042 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
15043
15044 * util/grub.d/10_linux.in: Only use the first word of
15045 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
15046 spaces in GRUB_DISTRIBUTOR.
15047 * util/grub.d/10_kfreebsd.in: Likewise.
15048 * util/grub.d/10_hurd.in: Likewise.
15049
15050 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
15051
15052 Fix unit testing framework for Qemu 0.12.
15053
15054 * tests/util/grub-shell.in: Remove -serial stdio option.
15055
15056 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
15057
15058 POSIX header file wrappers.
15059
15060 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
15061 equivalents.
15062 * lib/posix_wrap/ctype.h: Likewise.
15063 * lib/posix_wrap/errno.h: Likewise.
15064 * lib/posix_wrap/langinfo.h: Likewise.
15065 * lib/posix_wrap/limits.h: Likewise.
15066 * lib/posix_wrap/localcharset.h: Likewise.
15067 * lib/posix_wrap/stdint.h: Likewise.
15068 * lib/posix_wrap/stdio.h: Likewise.
15069 * lib/posix_wrap/stdlib.h: Likewise.
15070 * lib/posix_wrap/string.h: Likewise.
15071 * lib/posix_wrap/sys/types.h: Likewise.
15072 * lib/posix_wrap/unistd.h: Likewise.
15073 * lib/posix_wrap/wchar.h: Likewise.
15074 * lib/posix_wrap/wctype.h: Likewise.
15075 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
15076 (grub_script.yy.h): Likewise.
15077 * script/yylex.l: Remove POSIX emulation #defines.
15078 * Makefile.in (POSIX_CFLAGS): New variable.
15079 (GNULIB_UTIL_CFLAGS): Likewise.
15080
15081 Regexp support.
15082
15083 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
15084 (regexp_mod_SOURCES): New variable.
15085 (regexp_mod_CFLAGS): Likewise.
15086 (regexp_mod_LDFLAGS): Likewise.
15087 * commands/regexp.c: New file.
15088 * gnulib/regcomp.c: New file. Imported from gnulib.
15089 * gnulib/regex.c: Likewise.
15090 * gnulib/regex_internal.c: Likewise.
15091 * gnulib/regex_internal.h: Likewise.
15092 * gnulib/regexec.c: Likewise.
15093 * gnulib/regex.h: Likewise.
15094
15095 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15096
15097 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
15098 unsupported video mode types.
15099
15100 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15101
15102 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
15103
15104 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
15105
15106 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
15107 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
15108
15109 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
15110
15111 Remove unused grub_vga_get_font.
15112
15113 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
15114 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
15115
15116 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15117
15118 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
15119 * include/grub/misc.h: Likewise.
15120
15121 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15122
15123 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
15124 for which failure is fatal.
15125
15126 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15127
15128 * util/grub-install.in: Use mkdir -p to create grub directory.
15129 * util/i386/efi/grub-install.in: Likewise.
15130 * util/ieee1275/grub-install.in: Likewise.
15131
15132 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15133
15134 * Makefile.in (LEX): new variable.
15135
15136 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
15137
15138 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
15139 `=' and added double quotes on operands of this equality test.
15140
15141 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
15142
15143 * Makefile.in (uninstall): Remove a leftover debug echo.
15144 Reported by: Grégoire Sutre
15145
15146 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
15147
15148 MIPS multiboot2 support.
15149
15150 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
15151 (multiboot2_mod_SOURCES): New variable.
15152 (multiboot2_mod_CFLAGS): Likewise.
15153 (multiboot2_mod_LDFLAGS): Likewise.
15154 (multiboot2_mod_ASFLAGS): Likewise.
15155 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
15156 definition.
15157 (MULTIBOOT_ENTRY_REGISTER): Likewise.
15158 (MULTIBOOT_MBI_REGISTER): Likewise.
15159 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
15160 (MULTIBOOT_ELF32_MACHINE): Likewise.
15161 (MULTIBOOT_ELF64_MACHINE): Likewise.
15162 * include/grub/mips/multiboot.h: New file.
15163 * include/grub/video.h (grub_video_driver_id): New type
15164 GRUB_VIDEO_DRIVER_SM712.
15165 (grub_video_get_info_and_fini): Export.
15166 (grub_video_get_palette): Likewise.
15167 (grub_video_get_driver_id): Likewise.
15168 * include/multiboot2.h: Resynced with spec.
15169 * loader/i386/multiboot.c: Moved from here ...
15170 * loader/multiboot.c: ... here. All users updated.
15171 (grub_multiboot_boot): Use platform-specific macros.
15172 * loader/i386/multiboot_elfxx.c: Moved from here ...
15173 * loader/multiboot_elfxx.c: ... here. All users updated.
15174 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
15175 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
15176 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
15177
15178 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
15179
15180 Import gnulib argp module.
15181
15182 * gnulib/argp-ba.c: New file.
15183 * gnulib/argp-eexst.c: Likewise.
15184 * gnulib/argp-fmtstream.c: Likewise.
15185 * gnulib/argp-fmtstream.h: Likewise.
15186 * gnulib/argp-fs-xinl.c: Likewise.
15187 * gnulib/argp-help.c: Likewise.
15188 * gnulib/argp-namefrob.h: Likewise.
15189 * gnulib/argp-parse.c: Likewise.
15190 * gnulib/argp-pin.c: Likewise.
15191 * gnulib/argp-pv.c: Likewise.
15192 * gnulib/argp-pvh.c: Likewise.
15193 * gnulib/argp-version-etc.c: Likewise.
15194 * gnulib/argp-version-etc.h: Likewise.
15195 * gnulib/argp-xinl.c: Likewise.
15196 * gnulib/argp.h: Likewise.
15197
15198 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
15199
15200 * kern/device.c (grub_device_iterate): Clear errors after failed
15201 opening device.
15202
15203 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
15204
15205 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
15206 returned by firmware.
15207
15208 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
15209
15210 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
15211 compilation on coreboot and qemu
15212
15213 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
15214
15215 * include/multiboot2.h: Resync with spec.
15216
15217 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
15218
15219 Multiboot2 tag support
15220
15221 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
15222 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
15223 Remove loader/multiboot_loader.c.
15224 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
15225 (grub_multiboot2_real_boot): Likewise.
15226 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
15227 (grub_get_multiboot_mmap_count): New proto.
15228 (grub_fill_multiboot_mmap): Likewise.
15229 (grub_multiboot_set_video_mode): Likewise.
15230 (grub_multiboot_set_console): Likewise.
15231 (grub_multiboot_load): Likewise.
15232 (grub_multiboot_load_elf): Likewise.
15233 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
15234 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
15235 * include/multiboot.h: Resynced with specification.
15236 * include/multiboot2.h: Resynced with specification.
15237 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
15238 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
15239 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
15240 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
15241 users updated.
15242 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
15243 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
15244 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
15245 Removed.
15246 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
15247 Moved from here...
15248 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
15249 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
15250 Moved from here...
15251 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
15252 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
15253 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
15254 All users updated.
15255 * loader/i386/multiboot_mbi2.c: New file.
15256
15257 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
15258
15259 Resync with gnulib.
15260
15261 * Makefile.in (GNULIB_CFLAGS): New variable.
15262 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
15263 (grub_script_check_CFLAGS): New variable.
15264 * gnulib/alloca.h: Resync with gnulib.
15265 * gnulib/error.c: Likewise.
15266 * gnulib/error.h: Likewise.
15267 * gnulib/fnmatch.c: Likewise.
15268 * gnulib/fnmatch_loop.c: Likewise.
15269 * gnulib/getdelim.c: Likewise.
15270 * gnulib/getline.c: Likewise.
15271 * gnulib/getopt.c: Likewise.
15272 * gnulib/getopt1.c: Likewise.
15273 * gnulib/getopt_int.h: Likewise.
15274 * gnulib/gettext.h: Likewise.
15275 * gnulib/progname.c: Likewise.
15276 * gnulib/progname.h: Likewise.
15277
15278 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
15279
15280 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
15281 which is the case with --disabled-nls.
15282
15283 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
15284 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
15285 * util/misc.c: Likewise.
15286 * util/mkisofs/mkisofs.c: Likewise.
15287 * util/mkisofs/mkisofs.h: Likewise.
15288
15289 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
15290
15291 Simplify Apple CC support.
15292
15293 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
15294 Add 0 byte at the end not to have a symbol with empty target.
15295 * mmap/i386/pc/mmap_helper.S: Likewise.
15296 * genmk.rb: Ignore errors 2030 and 2050.
15297 * kern/i386/pc/startup.S: Use LOCAL when possible.
15298
15299 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
15300
15301 Testcase and the fix for final semicolon on cmdline.
15302
15303 * tests/grub_script_final_semicolon.in: New testcase.
15304 * conf/tests.rmk: Rules for the new testcase.
15305 * script/parser.y: Grammar fix.
15306
15307 2010-03-26 BVK Chaitanya <bvk@localhost>
15308
15309 Blank lines testcase for GRUB script.
15310
15311 * tests/grub_script_blanklines.in: New testcase.
15312 * conf/tests.rmk: Rules for the new testcase.
15313
15314 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15315
15316 Don't use __FILE__.
15317
15318 * genmk.rb: Add -DGRUB_FILE to all C targets.
15319 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
15320 * include/grub/list.h: Likewise.
15321 * include/grub/misc.h: Likewise.
15322 * include/grub/mm.h: Likewise.
15323 * include/grub/test.h: Likewise.
15324 * kern/mm.c: Likewise.
15325 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
15326
15327 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15328
15329 Sunpc partitions support.
15330
15331 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
15332 (grub_fstest_SOURCES): Likewise.
15333 (pkglib_MODULES): Add part_sunpc.mod.
15334 (part_sunpc_mod_SOURCES): New variable.
15335 (part_sunpc_mod_CFLAGS): Likewise.
15336 (part_sunpc_mod_LDFLAGS): Likewise.
15337 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
15338 * partmap/sunpc.c: New file.
15339
15340 2010-03-26 BVK Chaitanya <bvk@localhost>
15341
15342 For loop support to GRUB script.
15343
15344 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
15345 (grub_script_create_cmdfor): New function prototype.
15346 (grub_script_execute_cmdfor): New function prototype.
15347 * script/execute.c (grub_script_execute_cmdfor): New function.
15348 * script/parser.y (command): New for command.
15349 (forcmd): New grammar rule.
15350 * script/script.c (grub_script_create_cmdfor): New function.
15351 * util/grub-script-check.c (grub_script_execute_cmdfor): New
15352 function.
15353 * tests/grub_script_for1.in: New testcase.
15354 * conf/tests.rmk: Rules for new testcase.
15355
15356 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
15357
15358 Nested partitions
15359
15360 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
15361 'partition' is NULL, grub_partition_get_start already does that.
15362 * commands/loadenv.c (check_blocklists): Likewise.
15363 (write_blocklists): Likewise.
15364 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
15365 (grub_fstest_SOURCES): Likewise.
15366 (pkglib_MODULES): Add part_bsd.mod.
15367 (part_bsd_mod_SOURCES): New variable.
15368 (part_bsd_mod_CFLAGS): Likewise.
15369 (part_bsd_mod_LDFLAGS): Likewise.
15370 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
15371 (grub_emu_SOURCES): Likewise.
15372 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15373 * include/grub/bsdlabel.h: New file.
15374 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
15375 'get_name'.
15376 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
15377 (grub_partition_map_list): New variable.
15378 (grub_partition_map_register): Inline.
15379 (grub_partition_map_unregister): Likewise.
15380 (FOR_PARTITION_MAPS): New macro.
15381 (grub_partition_map_iterate): Removed.
15382 (grub_partition_get_start): Handle nested partitions.
15383 * include/grub/msdos_partition.h: Remove bsd-related entries.
15384 (grub_pc_partition): Remove.
15385 * kern/disk.c (grub_disk_close): Free partition data.
15386 (grub_disk_adjust_range): Handle nested partitions.
15387 * kern/partition.c (grub_partition_map_probe): New function.
15388 (grub_partition_probe): Parse name to number, handle subpartitions.
15389 (get_partmap): New function.
15390 (grub_partition_iterate): Handle subpartitions.
15391 (grub_partition_get_name): Likewise.
15392 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
15393 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
15394 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
15395 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
15396 Set 'number'.
15397 (acorn_partition_map_probe): Remove.
15398 (acorn_partition_map_get_name): Likewise.
15399 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
15400 Set 'number'.
15401 Set 'index' to 0 since there can be only one partition entry per sector.
15402 (amiga_partition_map_probe): Remove.
15403 (amiga_partition_map_get_name): Likewise.
15404 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
15405 Set 'number'.
15406 Set 'offset' and 'index' to real positions of partitions.
15407 (apple_partition_map_probe): Remove.
15408 (apple_partition_map_get_name): Likewise.
15409 * partmap/bsdlabel.c: New file.
15410 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
15411 Set 'number'.
15412 Allocate 'data' so it can be correctly freed.
15413 Set 'index' to offset inside sector.
15414 (gpt_partition_map_probe): Remove.
15415 (gpt_partition_map_get_name): Likewise.
15416 * partmap/msdos.c (grub_partition_parse): Remove.
15417 (pc_partition_map_iterate): Don't force raw access.
15418 Set 'number'.
15419 Make 'ext_offset' a local variable.
15420 (pc_partition_map_probe): Remove.
15421 (pc_partition_map_get_name): Remove.
15422 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
15423 Set 'number'.
15424 (sun_partition_map_probe): Remove.
15425 (sun_partition_map_get_name): Likewise.
15426 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
15427 (grub_pcpart_type): Likewise.
15428 * util/hostdisk.c (open_device): Handle new numbering scheme.
15429 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
15430 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
15431 * util/grub-probe.c (probe_partmap): Handle nested paritions.
15432 * util/grub-install.in: Insert all subpartition modules.
15433 * util/ieee1275/grub-install.in: Likewise.
15434
15435 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
15436
15437 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
15438 grammar.
15439
15440 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
15441
15442 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
15443
15444 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
15445
15446 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
15447 match where 'make install' puts them.
15448 * util/i386/efi/grub-install.in: Likewise.
15449
15450 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
15451
15452 * .bzrignore: Add gentrigtables, grub-script-check,
15453 grub_script_check_init.c, grub_script_check_init.h, and
15454 trigtables.c.
15455
15456 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
15457
15458 * kern/parser.c: Indented.
15459
15460 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
15461
15462 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
15463
15464 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
15465
15466 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
15467 alpha_mask_size == 0 case.
15468
15469 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
15470
15471 GRUB shell lexer and parser improvements.
15472
15473 * conf/any-emu.rmk: Build rule updates.
15474 * conf/common.rmk: Likewise.
15475 * conf/i386-coreboot.rmk: Likewise.
15476 * conf/i386-efi.rmk: Likewise.
15477 * conf/i386-ieee1275.rmk: Likewise.
15478 * conf/i386-pc.rmk: Likewise.
15479 * conf/powerpc-ieee1275.rmk: Likewise.
15480 * conf/x86_64-efi.rmk: Likewise.
15481
15482 * configure.ac: Configure check for flex.
15483
15484 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
15485 types.
15486 (grub_lexer_param): Struct member updates.
15487 (grub_parser_param): Likewise.
15488 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
15489 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
15490 (grub_script_lexer_init): Prototype update.
15491 (grub_script_lexer_record_start): Likewise.
15492 (grub_script_lexer_record_stop): Likewise.
15493 (grub_script_lexer_yywrap): New function prototype.
15494 (grub_script_lexer_fini): Likewise.
15495 (grub_script_execute_argument_to_string): Removed by...
15496 (grub_script_execute_argument_to_argv): ...better version.
15497
15498 * script/execute.c (ROUND_UPTO): New macro.
15499 (grub_script_execute_cmdline): Out of memory fixes.
15500 (grub_script_execute_menuentry): Likewise.
15501 (grub_script_execute_argument_to_string): Removed. Update all
15502 users by...
15503 (grub_script_execute_argument_to_argv): ...better version.
15504 * script/function.c (grub_script_function_create): Use
15505 grub_script_execute_argument_to_argv instead of
15506 grub_script_execute_argument_to_string.
15507
15508 * script/lexer.c (check_varstate): Removed.
15509 (check_textstate): Removed.
15510 (grub_script_lexer_record_start): Likewise.
15511 (grub_script_lexer_record_stop): Likewise.
15512 (recordchar): Replaced with...
15513 (grub_script_lexer_record): ...new function.
15514 (nextchar): Removed.
15515 (grub_script_lexer_init): Rewritten.
15516 (grub_script_yylex): Rewritten.
15517 (append_newline): New function.
15518 (grub_script_lexer_yywrap): New function.
15519 (grub_script_lexer_fini): New function.
15520 (grub_script_yyerror): Sets error flag.
15521
15522 * script/yylex.l: New file.
15523 (grub_lexer_yyfree): Wrapper for flex yyffre.
15524 (grub_lexer_yyalloc): Likewise.
15525 (grub_lexer_yyrealloc): Likewise.
15526 * script/parser.y: Refactored.
15527
15528 * script/script.c (grub_script_arg_add): Out of memory fixes.
15529 (grub_script_add_arglist): Likewise.
15530 (grub_script_create_cmdline): Likewise.
15531 (grub_script_create_cmdmenu): Likewise.
15532 (grub_script_add_cmd): Likewise.
15533 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
15534 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
15535 unnecessary code.
15536
15537 * tests/grub_script_echo1.in: New testcase.
15538 * tests/grub_script_vars1.in: New testcase.
15539 * tests/grub_script_echo_keywords.in: New testcase.
15540
15541 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15542
15543 Remove some redundancy in build system.
15544
15545 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
15546 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
15547 (TARGET_LDFLAGS): Add -nostdlib.
15548 (TARGET_IMG_LDFLAGS): Likewise.
15549 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
15550 anything since mmap isn't available.
15551 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
15552 Add util/time.c.
15553 (pkglib_MODULES): Remove reboot.mod.
15554 (reboot_mod_SOURCES): Removed.
15555 (reboot_mod_CFLAGS): Likewise.
15556 (reboot_mod_LDFLAGS): Likewise.
15557 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
15558 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
15559 (DEFSYMFILES): Add kernel_syms.lst.
15560 (kernel_img_HEADERS): Add common headers.
15561 (symlist.c): New target.
15562 (kernel_syms.lst): Likewise.
15563 (pkglib_MODULES): Add memdisk.mod.
15564 (memdisk_mod_SOURCES): New variable.
15565 (memdisk_mod_CFLAGS): Likewise.
15566 (memdisk_mod_LDFLAGS): Likewise.
15567 (pkglib_MODULES): Add reboot.mod.
15568 (reboot_mod_SOURCES): New variable.
15569 (reboot_mod_CFLAGS): Likewise.
15570 (reboot_mod_LDFLAGS): Likewise.
15571 (pkglib_MODULES): Add date.mod.
15572 (date_mod_SOURCES): New variable.
15573 (date_mod_CFLAGS): Likewise.
15574 (date_mod_LDFLAGS): Likewise.
15575 (pkglib_MODULES): Add datehook.mod.
15576 (datehook_mod_SOURCES): New variable.
15577 (datehook_mod_CFLAGS): Likewise.
15578 (datehook_mod_LDFLAGS): Likewise.
15579 (pkglib_MODULES): Add lsmmap.mod.
15580 (lsmmap_mod_SOURCES): New variable.
15581 (lsmmap_mod_CFLAGS): Likewise.
15582 (lsmmap_mod_LDFLAGS): Likewise.
15583 (pkglib_MODULES): Add boot.mod.
15584 (boot_mod_SOURCES): New variable.
15585 (boot_mod_CFLAGS): Likewise.
15586 (boot_mod_LDFLAGS): Likewise.
15587 * conf/i386-coreboot.rmk: Removed redundant parts.
15588 * conf/i386-ieee1275.rmk: Likewise.
15589 * conf/i386-pc.rmk: Likewise.
15590 * conf/mips-yeeloong.rmk: Likewise.
15591 * conf/mips.rmk: Likewise.
15592 * conf/powerpc-ieee1275.rmk: Likewise.
15593 * conf/sparc64-ieee1275.rmk: Likewise.
15594 * conf/x86_64-efi.rmk: Likewise.
15595 * conf/i386-coreboot.rmk: Moved qemu parts ..
15596 * conf/i386-qemu.rmk: ... here
15597 * conf/i386-efi.rmk: Moved common parts to...
15598 * conf/x86-efi.rmk: ... here.
15599 * conf/i386.rmk: Added modules common to all x86 variants.
15600 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
15601 * disk/memdisk.c: Remove grub/machine/kernel.h.
15602 * gensymlist.sh.in: Include symbol.h.
15603 * hook/datehook.c: Correct module name.
15604 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
15605 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
15606 * include/grub/i386/efi/serial.h: New file.
15607 * include/grub/x86_64/efi/serial.h: Likewise.
15608 * util/time.c: Likewise.
15609 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
15610
15611 2010-03-14 Colin King <colin.king@ubuntu.com>
15612 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
15613
15614 Shrink the pre-partition-table part of boot.img by eight bytes.
15615
15616 * boot/i386/pc/boot.S (ERR): New macro.
15617 (chs_mode): Use ERR.
15618 (geometry_error): Likewise.
15619 (hd_probe_error): Remove. This is only used once, so we wrwite
15620 it inline instead.
15621 (read_error): Instead of printing read_error_string, just set up
15622 %si and fall through to ...
15623 (error_message): ... this new function, also used by ERR.
15624
15625 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
15626
15627 Speed up consecutive hostdisk operations on the same device.
15628
15629 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
15630 (grub_util_biosdisk_open): Initialise disk->data.
15631 (struct linux_partition_cache): New structure.
15632 (linux_find_partition): Cache partition start positions; these are
15633 expensive to compute on every read and write.
15634 (open_device): Cache open file descriptor in disk->data, so that we
15635 don't have to reopen it and flush the buffer cache for consecutive
15636 operations on the same device.
15637 (grub_util_biosdisk_close): New function.
15638 (grub_util_biosdisk_dev): Set `close' member.
15639
15640 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
15641 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
15642 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
15643 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
15644 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
15645
15646 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15647
15648 Compile parts of grub-emu as modules.
15649
15650 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
15651 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
15652 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
15653 (all-local): Add $(GRUB_EMU).
15654 (install-local): Install $(GRUB_EMU).
15655 (uninstall): Uninstall $(GRUB_EMU).
15656 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
15657 * kern/dl.c: Likewise.
15658 * commands/sleep.c: Not include machine/time.h.
15659 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
15660 (COMMON_CFLAGS): Likewise.
15661 (sbin_UTILITIES): Remove grub-emu.
15662 (grub_emu_SOURCES): Removed.
15663 (kernel_img_RELOCATABLE): New variable.
15664 (pkglib_PROGRAMS): Add kernel.img.
15665 (kernel_img_SOURCES): New variable
15666 (kernel_img_CFLAGS): Likewise.
15667 (kernel_img_LDFLAGS): Likewise.
15668 (TARGET_NO_STRIP): Likewise.
15669 (TARGET_NO_DYNAMIC_MODULES): Likewise.
15670 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
15671 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
15672 (grub-emu): New target.
15673 (GRUB_EMU): New variable.
15674 * configure.ac: Whitelist -emu as possible x86_64 architecture.
15675 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
15676 * loader/xnu.c: Likewise.
15677 * include/grub/pci.h: Likewise.
15678 * genemuinit.sh: New file.
15679 * genemuinitheader.sh: Likewise.
15680 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
15681 Support TARGET_NO_DYNAMIC_MODULES.
15682 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
15683 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
15684 * disk/loopback.c: Likewise.
15685 * font/font_cmd.c: Likewise.
15686 * partmap/acorn.c: Likewise.
15687 * partmap/amiga.c: Likewise.
15688 * partmap/apple.c: Likewise.
15689 * partmap/gpt.c: Likewise.
15690 * partmap/msdos.c: Likewise.
15691 * partmap/sun.c: Likewise.
15692 * parttool/msdospart.c: Likewise.
15693 * term/gfxterm.c: Likewise.
15694 * video/bitmap.c: Likewise.
15695 * video/readers/jpeg.c: Likewise.
15696 * video/readers/png.c: Likewise.
15697 * video/readers/tga.c: Likewise.
15698 * video/video.c: Likewise.
15699 * util/grub-emu.c (read_command_list): Removed.
15700 (main): Don't call util_init_nls.
15701 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
15702 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
15703
15704 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15705
15706 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
15707 date.mod, datehook.mod.
15708 (datetime_mod_SOURCES): New variable.
15709 (datetime_mod_CFLAGS): Likewise.
15710 (datetime_mod_LDFLAGS): Likewise.
15711 (date_mod_SOURCES): Likewise.
15712 (date_mod_CFLAGS): Likewise.
15713 (date_mod_LDFLAGS): Likewise.
15714 (datehook_mod_SOURCES): Likewise.
15715 (datehook_mod_CFLAGS): Likewise.
15716 (datehook_mod_LDFLAGS): Likewise.
15717 * conf/sparc64-ieee1275.rmk: Likewise.
15718 * lib/ieee1275/datetime.c: New file.
15719
15720 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15721
15722 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
15723 (ieee1275_fb_mod_SOURCES): New variable.
15724 (ieee1275_fb_mod_CFLAGS): Likewise.
15725 (ieee1275_fb_mod_LDFLAGS): Likewise.
15726 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
15727 New proto.
15728 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
15729 (HEAP_MAX_ADDR): Likewise.
15730 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
15731 type.
15732 Correct stop condition.
15733 (grub_ieee1275_devices_iterate): New function.
15734 * video/ieee1275.c: New file.
15735
15736 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15737
15738 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
15739
15740 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
15741 as scratch.
15742 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
15743 SCRATCH_PAD_DISKBOOT as scratch.
15744 (bootit): Pass Openfirmware pointer in %o4.
15745 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
15746 of 0x200000.
15747 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
15748 with util/grub-mkrawimage.c.
15749 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
15750 * include/grub/aout.h (AOUT_MID_SUN): New definition.
15751 (grub_aout_get_type) [GRUB_UTIL]: Removed.
15752 (grub_aout_load) [GRUB_UTIL]: Likewise.
15753 * include/grub/kernel.h (grub_modules_get_end): New proto.
15754 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
15755 (SCRATCH_PAD_BOOT): New definition.
15756 (SCRATCH_PAD_DISKBOOT): Likewise.
15757 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
15758 * include/grub/sparc64/ieee1275/ieee1275.h
15759 (grub_ieee1275_original_stack): New variable
15760 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
15761 New definition
15762 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
15763 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
15764 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
15765 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
15766 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
15767 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
15768 (grub_platform_image_format_t): New type.
15769 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
15770 * kern/main.c (grub_modules_get_end)
15771 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
15772 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
15773 (codestart): Switch stacks.
15774 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
15775 variable.
15776 (grub_heap_init): Use grub_modules_get_end.
15777 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
15778 stack.
15779 * util/grub-mkrawimage.c (generate_image): Support sparc64.
15780 (main): Likewise.
15781 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
15782
15783 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
15784
15785 * util/grub-mkrescue.in: Base ISO UUID on UTC.
15786
15787 2010-03-08 Matt Kraai <kraai@ftbfs.org>
15788
15789 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
15790 bug #559005).
15791
15792 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
15793
15794 * genmoddep.awk: Output all missing symbols and not only first.
15795
15796 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15797
15798 * NEWS: Put the date of 1.98 release.
15799
15800 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15801
15802 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
15803 ft2build.h.
15804
15805 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15806
15807 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
15808 completition in the middle of string.
15809
15810 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15811
15812 * util/grub-mkrescue.in: Use mktemp with explicit template.
15813
15814 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15815
15816 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
15817
15818 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15819
15820 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
15821 right pointer.
15822
15823 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15824
15825 Fix FreeBSD compilation.
15826
15827 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
15828 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
15829
15830 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15831
15832 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
15833
15834 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15835
15836 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
15837
15838 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15839
15840 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
15841
15842 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
15843
15844 Support relative image path in theme file.
15845
15846 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
15847 (image_set_property): Handle theme_dir and relative path.
15848
15849 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15850
15851 * configure.ac: Alias amd64 to x86_64.
15852
15853 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15854
15855 * NEWS: mention multiboot on EFI.
15856
15857 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15858
15859 * kern/main.c (grub_load_modules): Handle errors from init functions of
15860 embeded modules.
15861
15862 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15863
15864 * normal/autofs.c (autoload_fs_module): Handle errors.
15865
15866 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15867
15868 Disable linux.mod on qemu-mips since it's not functional and leads
15869 to compilation failure.
15870
15871 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
15872 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
15873 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
15874 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
15875 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
15876 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
15877 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
15878 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
15879 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
15880 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
15881 Reported by: BVK Chaitanya
15882
15883 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
15884
15885 * INSTALL: Add gettext as a dependency and add qemu to a new section
15886 "Prerequisites for make-check".
15887
15888 2010-03-04 Christian Franke <franke@computer.org>
15889
15890 * util/grub-pe2elf.c: Add missing include "progname.h".
15891
15892 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15893
15894 * normal/crypto.c (read_crypto_list): Fix a typo.
15895 Reported by: Seth Goldberg.
15896
15897 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15898
15899 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
15900 Reported by: Seth Goldberg.
15901
15902 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15903
15904 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
15905 ascii.bitmaps.
15906
15907 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15908
15909 * genmk.rb: Remove terminal*.lst in make clean.
15910 Reported by: Seth Goldberg.
15911
15912 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15913
15914 * util/i386/efi/grub-install.in: Copy gettext files.
15915
15916 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15917
15918 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
15919
15920 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15921
15922 Wait for user entry basing on presence of output rather than on errors.
15923
15924 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
15925 (grub_install_newline_hook): Likewise.
15926 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
15927 * normal/menu.c (show_menu): Check line_counter to determine presence
15928 of output.
15929 * normal/term.c (grub_normal_line_counter): New variable.
15930 (grub_normal_get_line_counter): New function.
15931 (grub_install_newline_hook): Likewise.
15932
15933 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15934
15935 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
15936
15937 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15938
15939 * configure.ac: Update version to 1.98.
15940
15941 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15942
15943 * util/grub.d/10_linux.in (linux_entry): Don't default to
15944 gfxpayload=keep if Linux doesn't support video handover.
15945
15946 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
15947
15948 Don't compile video modules on yeeloong since video subsystem is part
15949 of kernel.
15950
15951 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
15952 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
15953 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
15954 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
15955 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
15956 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
15957 * include/grub/bitmap_scale.h: Likewise.
15958 * include/grub/bufio.h: Likewise.
15959 * include/grub/font.h: Likewise.
15960 * include/grub/gfxterm.h: Likewise.
15961 * include/grub/video.h: Likewise.
15962 * include/grub/vbe.h: Don't include video_fb.h.
15963 * video/i386/pc/vbe.c: Include video_fb.h.
15964 * commands/i386/pc/vbetest.c: Include video.h.
15965
15966 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
15967
15968 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
15969 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
15970 default entry if GRUB_SAVEDEFAULT=true. This allows using
15971 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
15972 saving a new default on every boot.
15973
15974 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15975
15976 * normal/crypto.c (read_crypto_list): Fix a memory leak.
15977 * normal/term.c (read_terminal_list): Likewise.
15978 * normal/main.c (grub_normal_init_page): Likewise.
15979 (grub_normal_read_line_real): Likewise.
15980
15981 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15982
15983 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
15984 memory leak.
15985 Reported by: Seth Goldberg.
15986
15987 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
15988
15989 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
15990 duplicate declaration of `start'.
15991
15992 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
15993
15994 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
15995 filename.
15996 Reported by: Georgy Buranov
15997
15998 2010-02-20 Carles Pina i Estany <carles@pina.cat>
15999
16000 * util/grub-mkrawimage.c (usage): Change string formatting to
16001 improve gettext.
16002
16003 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
16004
16005 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
16006 backspace keys.
16007
16008 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
16009
16010 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
16011 Reported by: Michael Suchanek.
16012
16013 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
16014
16015 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
16016 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
16017
16018 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
16019
16020 Remove any reference to non-free fonts.
16021
16022 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
16023 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
16024 uses non-free components.
16025 * font/font.c (grub_font_get_name): Remove example name.
16026 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
16027 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
16028 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
16029 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
16030
16031 2010-02-16 Georgy Buranov <gburanov@gmail.com>
16032
16033 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
16034
16035 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
16036
16037 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
16038 Double divisor.
16039 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
16040 features.
16041 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
16042
16043 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
16044
16045 * gensymlist.sh.in: Use TARGET_CC instead of CC.
16046
16047 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
16048
16049 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
16050 * docs/grub.texi (Command-line and menu entry commands): Document play
16051 command.
16052
16053 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
16054
16055 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
16056 parse arguments as inline tempo and notes. Move code for playing notes
16057 to...
16058 (play): ... new function.
16059
16060 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
16061
16062 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
16063 grub_uint16_t instead of short.
16064 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
16065 disk from little endian to cpu endianness.
16066
16067 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
16068
16069 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
16070 GRUB_TICKS_PER_SECOND instead of 120.
16071
16072 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16073
16074 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
16075 escape sequence after \e.
16076
16077 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16078
16079 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
16080 non-ASCII characters.
16081
16082 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16083
16084 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
16085 set root in single quotes to prevent \, from being unescaped.
16086
16087 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16088
16089 Prevent unknown commands from stopping menuentry execution.
16090
16091 * script/execute.c (grub_script_execute_cmdline): Print error after
16092 unknown command.
16093
16094 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
16095
16096 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
16097 Reported by: Pavel Pisa.
16098
16099 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16100
16101 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
16102
16103 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16104
16105 Merge grub_ieee1275_map_physical into grub_map and rename to
16106 grub_ieee1275_map
16107
16108 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
16109 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
16110 Remove.
16111 * kern/ieee1275/openfw.c (grub_map): Rename to ...
16112 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
16113 necessary.
16114 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
16115
16116 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16117
16118 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
16119 opening and not after.
16120
16121 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16122
16123 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
16124 constants.
16125
16126 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16127
16128 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
16129 (alloc_phys): Use ALIGN_UP instead of align_addr.
16130
16131 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16132
16133 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
16134
16135 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16136
16137 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
16138
16139 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16140
16141 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
16142 verbose dprintf.
16143
16144 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16145
16146 Fix over-4GiB seek on sparc64.
16147
16148 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
16149 Replace pos_i and pos_lo with pos. All users updated.
16150 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
16151 New constant.
16152 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
16153 Likewise.
16154 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
16155 and pos_lo.
16156
16157 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16158
16159 * util/grub-mkrawimage.c (main): Call set_program_name.
16160
16161 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16162
16163 Properly align 64-bit targets.
16164
16165 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
16166 (generate_image): Use ALIGN_ADDR.
16167
16168 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16169
16170 Properly create cross-endian images.
16171
16172 * include/grub/types.h (grub_host_to_target_addr): New macro
16173 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
16174
16175 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
16176
16177 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
16178
16179 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
16180
16181 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
16182
16183 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
16184 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
16185 (grub_linux_boot): Divide by 64K when on VESA.
16186
16187 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
16188
16189 Support GRUB_GFXPAYLOAD_LINUX.
16190
16191 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
16192 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
16193
16194 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
16195
16196 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
16197 to show messages instead of discarding them.
16198 Process errors after executing command and not before. Keep old method
16199 too as precaution.
16200
16201 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
16202
16203 * configure.ac: Check for ft2build.h.
16204
16205 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16206
16207 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
16208
16209 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16210
16211 * genkernsyms.sh.in: Use TARGET_CC.
16212
16213 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
16214
16215 * NEWS: Update.
16216
16217 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16218
16219 * include/grub/multiboot2.h: Remove leftover file.
16220 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
16221 * include/grub/partition.h [GRUB_UTIL]: Likewise.
16222
16223 2010-02-07 Yves Blusseau <blusseau@zetam.org>
16224
16225 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
16226
16227 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16228
16229 Fix warnings in grub-emu when compiling with maximum warning options.
16230
16231 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
16232 (grub_arch_modules_addr): Return 0 and not NULL.
16233 * util/misc.c (ENABLE_RELOCATABLE): New definition.
16234 (xstrdup): Use newstr instead of dup.
16235 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
16236 of disk to dsk to avoid shadowing.
16237 (find_free_slot): Fix prototype.
16238 * util/getroot.c (grub_util_is_dmraid): Make static.
16239 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
16240 Add missing prototype.
16241 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
16242
16243 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16244
16245 * loader/i386/linux.c (grub_linux_setup_video): Handle error
16246 appropriately.
16247
16248 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16249
16250 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
16251 code out.
16252
16253 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16254
16255 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
16256 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
16257 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
16258 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
16259 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
16260 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
16261
16262 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16263
16264 * include/grub/err.h (grub_err_printf): Don't export.
16265
16266 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16267
16268 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
16269
16270 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
16271
16272 * include/grub/i18n.h (grub_gettext_dummy): Removed.
16273 * kern/misc.c (grub_gettext_dummy): Make static.
16274
16275 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16276
16277 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
16278 by non-valid ones.
16279 * kern/term.c (grub_putchar): Likewise.
16280
16281 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16282
16283 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
16284 buggy hook call and memory leak.
16285
16286 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16287
16288 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
16289
16290 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16291
16292 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
16293
16294 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16295
16296 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
16297 modevar.
16298 Return grub_errno on allocation error.
16299
16300 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16301
16302 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
16303
16304 2010-02-06 Yves Blusseau <blusseau@zetam.org>
16305
16306 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
16307 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
16308
16309 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16310
16311 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
16312 non-pxe disk.
16313 (grub_pxefs_open): Likewise.
16314
16315 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16316
16317 * util/grub.d/10_hurd.in: Add --class information to menuentries.
16318 * util/grub.d/10_kfreebsd.in: Likewise.
16319 * util/grub.d/10_linux.in: Likewise.
16320
16321 2010-02-06 Colin D Bennett <colin@gibibit.com>
16322
16323 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
16324 (gfxmenu_mod_SOURCES): New variable.
16325 (gfxmenu_mod_CFLAGS): Likewise.
16326 (gfxmenu_mod_LDFLAGS): Likewise.
16327 * include/grub/term.h (grub_term_set_current_output): Declare
16328 argument as const.
16329 * docs/gfxmenu-theme-example.txt: New file.
16330 * gfxmenu/gfxmenu.c: Likewise.
16331 * gfxmenu/gui_box.c: Likewise.
16332 * gfxmenu/gui_canvas.c: Likewise.
16333 * gfxmenu/gui_circular_progress.c: Likewise.
16334 * gfxmenu/gui_image.c: Likewise.
16335 * gfxmenu/gui_label.c: Likewise.
16336 * gfxmenu/gui_list.c: Likewise.
16337 * gfxmenu/gui_progress_bar.c: Likewise.
16338 * gfxmenu/gui_string_util.c: Likewise.
16339 * gfxmenu/gui_util.c: Likewise.
16340 * gfxmenu/icon_manager.c: Likewise.
16341 * gfxmenu/model.c: Likewise.
16342 * gfxmenu/named_colors.c: Likewise.
16343 * gfxmenu/theme_loader.c: Likewise.
16344 * gfxmenu/view.c: Likewise.
16345 * gfxmenu/widget-box.c: Likewise.
16346 * include/grub/gfxmenu_model.h: Likewise.
16347 * include/grub/gfxmenu_view.h: Likewise.
16348 * include/grub/gfxwidgets.h: Likewise.
16349 * include/grub/gui.h: Likewise.
16350 * include/grub/gui_string_util.h: Likewise.
16351 * include/grub/icon_manager.h: Likewise.
16352
16353 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16354
16355 Agglomerate scrolling in gfxterm.
16356
16357 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
16358 (grub_virtual_screen_setup): Initialise 'total_screen'.
16359 (write_char): Split to ...
16360 (paint_char): ... this ...
16361 (write_char): ... and this.
16362 (paint_char): Handle delayed scrolling.
16363 (draw_cursor): Likewise.
16364 (scroll_up): Split to ...
16365 (real_scroll): ... this ...
16366 (scroll_up): ... and this.
16367 (real_scroll): Handle multi-line scroll and draw below-the-bottom
16368 characters.
16369 (grub_gfxterm_refresh): Call real_scroll.
16370
16371 2010-02-06 Colin D Bennett <colin@gibibit.com>
16372
16373 * include/grub/misc.h (grub_iscntrl): New inline function.
16374 (grub_isalnum): Likewise.
16375 (grub_strtol): Likewise.
16376
16377 2010-02-06 Colin D Bennett <colin@gibibit.com>
16378
16379 * normal/menu_text.c (get_entry_number): Move from here ...
16380 * normal/menu.c (get_entry_number): ... moved here.
16381 * include/grub/menu.h (grub_menu_get_default_entry_index):
16382 New prototype.
16383 * normal/menu.c (grub_menu_get_default_entry_index): New function.
16384 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
16385 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
16386 (grub_menu_viewer_should_return): Likewise.
16387 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
16388 * normal/menu_text.c (run_menu): Enable menu switching.
16389 * normal/menu_viewer.c (should_return): New variable.
16390 (menu_viewer_changed): Likewise.
16391 (grub_menu_viewer_show_menu): Handle menu viewer changes.
16392 (grub_menu_viewer_should_return): New function.
16393 (menuviewer_write_hook): Likewise.
16394 (grub_menu_viewer_init): Likewise.
16395
16396 2010-02-06 Colin D Bennet <colin@gibibit.com>
16397 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16398
16399 Support for gfxterm in a window.
16400
16401 * include/grub/gfxterm.h: New file.
16402 * include/grub/video.h (struct grub_video_rect): New declaration.
16403 (grub_video_rect_t): Likewise.
16404 * term/gfxterm.c (struct grub_gfxterm_window): New type.
16405 (refcount): New variable.
16406 (render_target): Likewise.
16407 (window): Likewise.
16408 (repaint_callback): Likewise.
16409 (grub_virtual_screen_setup): Use 'render_target'.
16410 (init_window): New function.
16411 (grub_gfxterm_init_window): Likewise.
16412 (grub_gfxterm_init): Check reference counter.
16413 Use init_window.
16414 (destroy_window): New function.
16415 (grub_gfxterm_destroy_window): Likewise.
16416 (grub_gfxterm_fini): Check reference counter.
16417 Use destroy_window.
16418 (redraw_screen_rect): Restore viewport.
16419 Use 'render_target' and 'window'.
16420 Call 'repaint_callback'.
16421 (write_char): Use 'render_target'.
16422 (draw_cursor): Likewise.
16423 (scroll_up): Restore viewport.
16424 Use 'render_target' and 'window'.
16425 Call 'repaint_callback'.
16426 (grub_gfxterm_cls): Likewise.
16427 (grub_gfxterm_refresh): Use 'window'.
16428 (grub_gfxterm_set_repaint_callback): New function.
16429 (grub_gfxterm_background_image_cmd): Use 'window'.
16430 (grub_gfxterm_get_term): New function.
16431 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
16432
16433 2010-02-06 Colin D Bennett <colin@gibibit.com>
16434
16435 Bitmap scaling support.
16436
16437 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
16438 (bitmap_scale_mod_SOURCES): New variable.
16439 (bitmap_scale_mod_CFLAGS): Likewise.
16440 (bitmap_scale_mod_LDFLAGS): Likewise.
16441 * include/grub/bitmap_scale.h: New file.
16442 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
16443 (background_image_cmd_options): New variable.
16444 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
16445 (cmd): Rename and change type to ...
16446 (background_image_cmd_handle): ... this. All users updated.
16447 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
16448 * video/bitmap_scale.c: New file.
16449
16450 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16451
16452 SDL support.
16453
16454 * Makefile.in (LIBSDL): New variable.
16455 (enable_grub_emu_sdl): Likewise.
16456 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
16457 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
16458 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
16459 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
16460 * util/sdl.c: New file.
16461
16462 2010-02-06 Colin D Bennett <colin@gibibit.com>
16463 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16464
16465 Double buffering support.
16466
16467 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
16468 * include/grub/video.h: Update comment.
16469 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
16470 New type.
16471 (grub_video_fb_doublebuf_blit_init): New prototype.
16472 * term/gfxterm.c (scroll_up): Support double buffering.
16473 (grub_gfxterm_refresh): Likewise.
16474 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
16475 (grub_video_fb_doublebuf_blit_init): Likewise.
16476 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
16477 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
16478 'displayed_page', 'render_page' and 'update_screen'.
16479 (grub_video_vbe_fini): Free offscreen buffer.
16480 (doublebuf_pageflipping_commit): New function.
16481 (doublebuf_pageflipping_update_screen): Likewise.
16482 (doublebuf_pageflipping_init): Likewise.
16483 (double_buffering_init): Likewise.
16484 (grub_video_vbe_setup): Enable doublebuffering.
16485 (grub_video_vbe_swap_buffers): Implement.
16486 (grub_video_vbe_set_active_render_target): Handle double buffering.
16487 (grub_video_vbe_get_active_render_target): Likewise.
16488 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
16489 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
16490 (grub_video_vbe_enable_double_buffering): Likewise.
16491 (grub_video_vbe_swap_buffers): Use update_screen.
16492 (grub_video_set_mode): Use double buffering.
16493
16494 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16495
16496 * maintainance/gentrigtables.py: Remove.
16497 * lib/trig.c: Likewise.
16498
16499 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
16500
16501 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
16502 `trigtables.c'.
16503 (trigtables.c): New rule.
16504 (gentrigtables): Likewise.
16505 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
16506
16507 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
16508
16509 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
16510 integer constants.
16511
16512 2010-02-06 Colin D Bennet <colin@gibibit.com>
16513
16514 Trigonometry support.
16515
16516 * include/grub/trig.h: New file.
16517 * lib/trig.c: Likewise.
16518 * maintainance/gentrigtables.py: Likewise.
16519 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
16520 (trig_mod_SOURCES): New variable.
16521 (trig_mod_CFLAGS): Likewise.
16522 (trig_mod_LDFLAGS): Likewise.
16523
16524 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16525
16526 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
16527 disk devices.
16528
16529 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
16530
16531 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
16532 error.
16533
16534 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
16535
16536 * util/hostdisk.c (open_device): Don't use partition device when reading
16537 before the partition.
16538 (grub_util_biosdisk_read): Don't read from partition and before the
16539 partition in single operation.
16540 (grub_util_biosdisk_write): Don't write to partition and before the
16541 partition in single operation.
16542
16543 2010-02-03 Torsten Landschoff <torsten@debian.org>
16544
16545 * kern/disk.c (grub_disk_read): Fix offset computation when reading
16546 last sectors.
16547
16548 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
16549
16550 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
16551 CDROM reads.
16552 (grub_biosdisk_write): Refuse to write to CDROM.
16553
16554 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
16555
16556 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
16557
16558 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
16559
16560 * font/font.c (find_glyph): Check that bmp_idx is available before
16561 using it.
16562 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
16563 with (font == NULL).
16564
16565 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
16566
16567 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
16568
16569 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
16570
16571 * include/grub/script_sh.h (sourcecode): Add const qualifier.
16572 * util/grub-script-check.c (getline): Fix empty lines case.
16573
16574 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
16575
16576 * Makefile.in (check): Exit with fail status when one of the tests
16577 fails.
16578 * tests/example_functional_test.c (example_test): Fix reversed assert.
16579 * tests/example_unit_test.c (example_test): Likewise.
16580
16581 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
16582
16583 * util/grub.d/10_linux.in: This script does not use any of the
16584 contents of gettext.sh, only the external command `gettext', so stop
16585 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
16586 the same prefix as GRUB.)
16587 * util/grub.d/10_kfreebsd.in: Likewise.
16588
16589 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16590
16591 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
16592 of the line.
16593
16594 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16595
16596 * kern/disk.c (grub_disk_read): Fix offset computation when reading
16597 last sectors.
16598
16599 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
16600
16601 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
16602 having a 4KiB and not 32KiB buffer size.
16603
16604 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16605
16606 * util/hostfs.c: Include `<errno.h>'.
16607 (grub_hostfs_read): Handle errors from fseeko() and fread().
16608
16609 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16610
16611 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
16612 loop when using read hooks on files whose size isn't sector-aligned.
16613
16614 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16615
16616 Remove unused parameter.
16617
16618 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
16619 (grub_iso9660_open): Remove initialization of `data->length'.
16620
16621 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
16622
16623 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
16624 memleak conditions.
16625
16626 2010-01-27 Carles Pina i Estany <carles@pina.cat>
16627
16628 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
16629 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
16630
16631 2010-01-26 Carles Pina i Estany <carles@pina.cat>
16632
16633 * util/bin2h.c (usage): Fix warning (space after backslash).
16634
16635 2010-01-26 Carles Pina i Estany <carles@pina.cat>
16636
16637 * font/font.c: Include `grub/fontformat.h.
16638 Remove font file format constants.
16639 (grub_font_load): Use the new macros.
16640 * include/grub/fontformat.h: New file.
16641 * util/grub-mkfont.c: Include `grub/fontformat.c'.
16642 (write_font_pf2): Use the new macros.
16643
16644 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
16645
16646 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
16647 does.
16648
16649 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
16650
16651 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
16652
16653 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
16654 (_start): Macroify `0x7F'.
16655
16656 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
16657 (make_install_device): Use "(pxe)" as fallback prefix when booting
16658 via PXE.
16659
16660 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
16661
16662 * configure.ac: Reset LIBS after check for libgcc symbols.
16663
16664 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
16665
16666 * util/hostdisk.c (open_device): Add trailing newline to debug
16667 message.
16668
16669 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
16670
16671 * configure.ac: Check for `limits.h'.
16672 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
16673
16674 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
16675
16676 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
16677 capitalize error strings.
16678
16679 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
16680
16681 * util/grub.d/10_hurd.in: Add a recovery mode.
16682
16683 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
16684
16685 * configure.ac: Check for libgcc symbols with -nostdlib.
16686
16687 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
16688
16689 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
16690
16691 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16692
16693 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
16694 stack since heap may be unavailable at that point.
16695 (grub_ofconsole_gotoxy): Likewise.
16696
16697 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16698
16699 * configure.ac: Check for _restgpr_14_x.
16700 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
16701 and _savegpr_* prototypes.
16702
16703 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
16704
16705 Use generic grub_reboot() for i386-efi.
16706
16707 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
16708 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
16709 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
16710
16711 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
16712
16713 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
16714 presence of "prefix" variable as it breaks when normal.mod is
16715 embedded.
16716
16717 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16718
16719 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
16720 stack since heap is unavailable at that point.
16721
16722 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16723
16724 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
16725 (grub_freebsd_bootinfo): Rewritten.
16726 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
16727
16728 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16729
16730 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
16731
16732 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
16733
16734 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
16735 domain now.
16736
16737 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
16738
16739 * util/misc.c (make_system_path_relative_to_its_root): Change the work
16740 around for handling "/" to the correct fix. Fix a memory leak. Use
16741 xstrdup instead of strdup.
16742
16743 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16744
16745 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
16746
16747 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16748
16749 Optimise glyph lookup by Basic Multilingual Plane lookup array.
16750
16751 * font/font.c (struct grub_font): New member 'bmp_idx'.
16752 (font_init): Initialise 'bmp_idx'.
16753 (load_font_index): Fill 'bmp_idx'.
16754 (find_glyph): Make inline. Use bmp_idx for BMP characters.
16755
16756 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16757
16758 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
16759 unnecessary calls.
16760
16761 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16762
16763 Move context handling out of the kernel.
16764
16765 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
16766 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
16767 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
16768 * conf/i386-efi.rmk: Likewise.
16769 * conf/i386-ieee1275.rmk: Likewise.
16770 * conf/i386-pc.rmk: Likewise.
16771 * conf/powerpc-ieee1275.rmk: Likewise.
16772 * conf/sparc64-ieee1275.rmk: Likewise.
16773 * conf/x86_64-efi.rmk: Likewise.
16774 * include/grub/env.h: Include grub/menu.h.
16775 (grub_env_var_type): Removed.
16776 (grub_env_var): Replaced field 'type' with 'global'.
16777 (grub_env_find): New prototype.
16778 (grub_env_context_open): Remove EXPORT_FUNC.
16779 (grub_env_context_close): Likewise.
16780 (grub_env_export): Likewise.
16781 (grub_env_set_data_slot): Removed.
16782 (grub_env_get_data_slot): Likewise.
16783 (grub_env_unset_data_slot): Likewise.
16784 (grub_env_unset_menu): New prototype.
16785 (grub_env_set_menu): Likewise.
16786 (grub_env_get_menu): Likewise.
16787 * include/grub/env_private.h: New file.
16788 * include/grub/normal.h (grub_context_init): New prototype.
16789 (grub_context_fini): Likewise.
16790 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
16791 * normal/context.c (grub_cmd_export): ... to here.
16792 * kern/env.c: Include env_private.h.
16793 (HASHSZ): Moved to include/grub/env_private.h.
16794 (grub_env_context): Likewise.
16795 (grub_env_sorted_var): Likewise.
16796 (current_context): Renamed from this ...
16797 (grub_current_context): ...to this. 'static' removed. All users updated.
16798 (grub_env_find): Removed 'static'.
16799 (grub_env_context_open): Moved to normal/context.c.
16800 (grub_env_context_close): Likewise.
16801 (grub_env_export): Likewise.
16802 (mangle_data_slot_name): Removed.
16803 (grub_env_set_data_slot): Likewise.
16804 (grub_env_get_data_slot): Likewise.
16805 (grub_env_unset_data_slot): Likewise.
16806 * kern/main.c (grub_set_root_dev): Don't export root.
16807 It will be done later.
16808 (grub_main): Don't export prefix.
16809 It will be done later.
16810 * normal/context.c: New file.
16811 * normal/main.c (free_menu): Use grub_env_unset_menu.
16812 (grub_normal_add_menu_entry): Use grub_env_get_menu.
16813 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
16814 (GRUB_MOD_INIT(normal)): Call grub_context_init.
16815 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
16816
16817 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16818
16819 setpci support.
16820
16821 * commands/setpci.c: New file.
16822 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
16823 (setpci_mod_SOURCES): New variable.
16824 (setpci_mod_CFLAGS): Likewise.
16825 (setpci_mod_LDFLAGS): Likewise.
16826
16827 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16828
16829 Byte-addressable PCI configuration space.
16830
16831 * bus/pci.c (grub_pci_make_address): Use byte address instead of
16832 dword address.
16833 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
16834 GRUB_PCI_REG_CACHELINE.
16835 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
16836 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
16837 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
16838 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
16839 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
16840 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
16841 grub_pci_make_address.
16842 (lock_rom_area): Likewise.
16843 * commands/lspci.c (grub_lspci_iter): Use macroses
16844 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
16845 of grub_pci_make_address.
16846 * disk/ata.c (grub_ata_pciinit): Likewise.
16847 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
16848 (GRUB_PCI_REG_VENDOR): Likewise.
16849 (GRUB_PCI_REG_DEVICE): Likewise.
16850 (GRUB_PCI_REG_COMMAND): Likewise.
16851 (GRUB_PCI_REG_STATUS): Likewise.
16852 (GRUB_PCI_REG_REVISION): Likewise.
16853 (GRUB_PCI_REG_CLASS): Likewise.
16854 (GRUB_PCI_REG_CACHELINE): Likewise.
16855 (GRUB_PCI_REG_LAT_TIMER): Likewise.
16856 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
16857 (GRUB_PCI_REG_BIST): Likewise.
16858 (GRUB_PCI_REG_ADDRESSES): Likewise.
16859 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16860 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16861 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16862 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16863 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16864 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16865 (GRUB_PCI_REG_CIS_POINTER): Likewise.
16866 (GRUB_PCI_REG_SUBVENDOR): Likewise.
16867 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
16868 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
16869 (GRUB_PCI_REG_CAP_POINTER): Likewise.
16870 (GRUB_PCI_REG_IRQ_LINE): Likewise.
16871 (GRUB_PCI_REG_IRQ_PIN): Likewise.
16872 (GRUB_PCI_REG_MIN_GNT): Likewise.
16873 (GRUB_PCI_REG_MAX_LAT): Likewise.
16874 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
16875 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
16876 * video/efi_uga.c (find_framebuf): Likewise.
16877 * video/sm712.c (grub_video_sm712_setup): Likewise.
16878 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
16879 space.
16880
16881 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16882
16883 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
16884 can be reliably determined to be supported.
16885
16886 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16887
16888 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
16889 that VESA is supported.
16890 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
16891 supported.
16892
16893 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16894
16895 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
16896
16897 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16898
16899 * util/misc.c (make_system_path_relative_to_its_root): Work around
16900 special-casing of "/", as previous incarnation of this routine did.
16901
16902 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16903
16904 Fix any-emu compilation.
16905
16906 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
16907 * grub_bin2h_SOURCES: New variable.
16908
16909 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16910
16911 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
16912
16913 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16914
16915 * util/grub.d/00_header.in: Fix handling of locale_dir.
16916
16917 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16918
16919 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
16920 as possible unifont location (Gentoo).
16921 Reported by: Alexander Brüning
16922
16923 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16924
16925 Don't try to generate lists for kernel.img.
16926
16927 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
16928 (pkglib_MODULES): Remove kernel.img.
16929 (kernel_img_EXPORTS): Removed.
16930 (kernel_img_RELOCATABLE): New variable.
16931 * conf/x86_64-efi.rmk: Likewise.
16932 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
16933
16934 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16935
16936 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
16937 grub_xasprintf or grub_snprintf.
16938 (grub_vsprintf): Likewise.
16939 (grub_snprintf): New proto.
16940 (grub_vsnprintf): Likewise.
16941 (grub_xasprintf): Likewise.
16942 (grub_xvasprintf): Likewise.
16943 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
16944 (grub_sprintf): Removed.
16945 (grub_vsnprintf): New function.
16946 (grub_snprintf): Likewise.
16947 (grub_xvasprintf): Likewise.
16948 (grub_xasprintf): Likewise.
16949 (grub_vsprintf): Renamed to ...
16950 (grub_vsnprintf_real): ...this. New argument max_len.
16951
16952 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
16953
16954 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
16955 fix grub-script-check warning.
16956
16957 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16958
16959 * include/grub/font.h (grub_font_load): Fix prototype.
16960
16961 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16962
16963 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
16964
16965 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16966
16967 * include/grub/x86_64/at_keyboard.h: New file.
16968
16969 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16970
16971 * loader/mips/linux.c: Include missing grub/i18n.h.
16972
16973 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16974
16975 * normal/menu.c (notify_execution_failure): Clarify error message.
16976
16977 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16978
16979 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
16980 return value (and revert all return statements). Update users.
16981
16982 2010-01-20 Dan Merillat <debian@dan.merillat.org>
16983
16984 * kern/device.c (grub_device_iterate): Allocate new part_ent
16985 structure based on sizeof (*p) rather than sizeof (p->next), to
16986 account for structure padding.
16987
16988 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
16989 disk is NULL, which might happen for LVM physical volumes with no
16990 LVM signature.
16991
16992 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16993
16994 * loader/mips/linux.c (grub_cmd_initrd)
16995 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
16996
16997 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16998
16999 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
17000 (grub_video_video_init, grub_video_bitmap_init)
17001 (grub_font_manager_init, grub_term_gfxterm_init)
17002 (grub_at_keyboard_init): New extern declarations.
17003 (grub_machine_init): Initialize gfxterm and at_keyboard.
17004
17005 * kern/main.c (grub_main): Revert grub_printf delay kludge.
17006
17007 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
17008 `gfxterm.mod' into core image.
17009
17010 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
17011 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
17012 (kernel_img_FORMAT): Copy to ...
17013
17014 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
17015 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
17016 (kernel_img_FORMAT): ... here, and ...
17017
17018 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
17019 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
17020 (kernel_img_FORMAT): ... here.
17021
17022 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
17023 and input (at_keyboard) terminals in kernel.
17024 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
17025
17026 (pkglib_MODULES): Remove `pci.mod'.
17027 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
17028 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
17029 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
17030 (at_keyboard_mod_LDFLAGS): Remove variables.
17031
17032 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
17033
17034 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
17035
17036 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
17037
17038 * include/grub/mips/libgcc.h: Only export symbols for functions
17039 that libgcc provides.
17040
17041 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
17042
17043 MIPS support.
17044
17045 * bus/bonito.c: New file.
17046 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
17047 GRUB_PCI_NUM_DEVICES.
17048 * term/i386/pc/serial.c: Move to ...
17049 * term/serial.c: ... here. All users updated.
17050 * util/i386/pc/grub-mkimage.c: Move to ...
17051 * util/grub-mkrawimage.c: ... here. All users updated.
17052 * term/i386/pc/at_keyboard.c: Move to ...
17053 * term/at_keyboard.c: ... here. All users updated.
17054 * conf/mips-qemu-mips.rmk: New file.
17055 * conf/mips-yeeloong.rmk: Likewise.
17056 * conf/mips.rmk: Likewise.
17057 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
17058 mipsel-qemu-mips.
17059 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
17060 to port addresses.
17061 (grub_ata_pciinit): Support CS5536.
17062 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
17063 * font/font_cmd.c (loadfont_command): Open file before passing it to
17064 grub_font_load.
17065 (pseudo_file_read): New function.
17066 (pseudo_file_close): Likewise.
17067 (pseudo_fs): New structure.
17068 (load_font_module): New function.
17069 (GRUB_MOD_INIT(font_manager)): Load embedded font.
17070 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
17071 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
17072 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
17073 * include/grub/i386/at_keyboard.h: Split into ...
17074 * include/grub/at_keyboard.h: ... this ...
17075 * include/grub/i386/at_keyboard.h: ... and this.
17076 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
17077 New prototype.
17078 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
17079 updated.
17080 (grub_elf64_size): Likewise.
17081 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
17082 filename.
17083 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
17084 * include/grub/i386/coreboot/serial.h: Rewritten.
17085 * include/grub/i386/ieee1275/serial.h: Include
17086 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
17087 * include/grub/i386/pc/serial.h: Moved from here ...
17088 * include/grub/serial.h: ... to here. All users updated.
17089 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
17090 (GRUB_PCI_NUM_BUS): Likewise.
17091 (GRUB_PCI_NUM_DEVICES): Likewise.
17092 (grub_pci_device_map_range): Add missing volatile keyword.
17093 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
17094 * include/grub/mips/at_keyboard.h: New file.
17095 * include/grub/mips/cache.h: Likewise.
17096 * include/grub/mips/io.h: Likewise.
17097 * include/grub/mips/kernel.h: Likewise.
17098 * include/grub/mips/libgcc.h: Likewise.
17099 * include/grub/mips/pci.h: Likewise.
17100 * include/grub/mips/qemu-mips/boot.h: Likewise.
17101 * include/grub/mips/qemu-mips/kernel.h: Likewise.
17102 * include/grub/mips/qemu-mips/loader.h: Likewise.
17103 * include/grub/mips/qemu-mips/memory.h: Likewise.
17104 * include/grub/mips/qemu-mips/serial.h: Likewise.
17105 * include/grub/mips/qemu-mips/time.h: Likewise.
17106 * include/grub/mips/relocator.h: Likewise.
17107 * include/grub/mips/time.h: Likewise.
17108 * include/grub/mips/types.h: Likewise.
17109 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
17110 * include/grub/mips/yeeloong/boot.h: Likewise.
17111 * include/grub/mips/yeeloong/kernel.h: Likewise.
17112 * include/grub/mips/yeeloong/loader.h: Likewise.
17113 * include/grub/mips/yeeloong/memory.h: Likewise.
17114 * include/grub/mips/yeeloong/pci.h: Likewise.
17115 * include/grub/mips/yeeloong/serial.h: Likewise.
17116 * include/grub/mips/yeeloong/time.h: Likewise.
17117 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
17118 * kern/elf.c (grub_elf32_size): New parameter. All users
17119 updated.
17120 (grub_elf64_size): Likewise.
17121 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
17122 Load modules before saying "Welcome to GRUB!".
17123 Call grub_refresh after saying "Welcome to GRUB!".
17124 * kern/mips/cache.S: New file.
17125 * kern/mips/cache_flush.S: Likewise.
17126 * kern/mips/dl.c: Likewise.
17127 * kern/mips/init.c: Likewise.
17128 * kern/mips/qemu-mips/init.c: Likewise.
17129 * kern/mips/startup.S: Likewise.
17130 * kern/mips/yeeloong/init.c: Likewise.
17131 * kern/term.c (grub_putcode): Handle NULL terminal.
17132 (grub_getcharwidth): Likewise.
17133 (grub_getkey): Likewise.
17134 (grub_checkkey): Likewise.
17135 (grub_getkeystatus): Likewise.
17136 (grub_getxy): Likewise.
17137 (grub_getwh): Likewise.
17138 (grub_gotoxy): Likewise.
17139 (grub_cls): Likewise.
17140 (grub_setcolorstate): Likewise.
17141 (grub_setcolor): Likewise.
17142 (grub_getcolor): Likewise.
17143 (grub_refresh): Likewise.
17144 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
17145 (write_jump): Add hatch nop.
17146 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
17147 * lib/mips/setjmp.S: New file.
17148 * loader/mips/linux.c: Likewise.
17149 * term/i386/pc/at_keyboard.c: Move from here ...
17150 * term/at_keyboard.c: ... to here.
17151 * term/i386/pc/serial.c: Moved from here ...
17152 * term/serial.c: ... to here. All users updated.
17153 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
17154 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
17155 (serial_translate_key_sequence): Avoid deadlock.
17156 (grub_serial_getkey): Handle backspace.
17157 (grub_serial_putchar): Fix newline handling.
17158 * util/i386/pc/grub-mkimage.c: Move from here ...
17159 * util/grub-mkrawimage.c: ... to here. All users updated.
17160 (generate_image): New parameters 'font_path' and 'format'.
17161 Support embedding font.
17162 Use grub_host_to_target* instead of grub_cpu_to_le*.
17163 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
17164 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
17165 (options): New option "--font".
17166 (usage): Likewise.
17167 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
17168 (main): Handle "--font".
17169 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
17170 (grub_virtual_screen_setup): Set bg_color_display.
17171 (redraw_screen_rect): Use bg_color_display instead of incorrect
17172 bg_color.
17173 (grub_gfxterm_cls): Likewise.
17174 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
17175 Support embedding config file.
17176 (add_segments): Likewise.
17177 (options): New option "--config".
17178 (main): Handle "--config".
17179 * video/sm712.c: New file.
17180
17181 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17182
17183 Fix parallel builds.
17184
17185 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
17186 font.c depend on ascii.h).
17187
17188 2010-01-12 Carles Pina i Estany <carles@pina.cat>
17189
17190 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
17191
17192 2010-01-11 Carles Pina i Estany <carles@pina.cat>
17193
17194 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
17195 By default: disabled.
17196 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
17197 parameter.
17198
17199 2010-01-10 Carles Pina i Estany <carles@pina.cat>
17200
17201 * font/font.c: Update copyright years.
17202 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
17203
17204 2010-01-10 Carles Pina i Estany <carles@pina.cat>
17205
17206 * font/font.c: Include `ascii.h'.
17207 (ASCII_BITMAP_SIZE): New macro.
17208 (ascii_font_glyph): Define.
17209 (ascii_glyph_lookup): New function.
17210 (grub_font_get_string_width): Change comment. If glyph not found, use
17211 ascii_glyph_lookup.
17212 (grub_font_get_glyph_with_fallback): If glyph not available returns
17213 ascii_glyph_lookup.
17214 * util/grub-mkfont.c (file_formats): New enum.
17215 (options): Add `ascii-bitmaps' new option.
17216 (usage): Add `asii-bitmaps' new option.
17217 (write_font_ascii_bitmap): New function.
17218 (write_font): Rename to ...
17219 (write_font_p2): ... this. Remove print_glyphs call.
17220 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
17221 used. Call print_glyphs.
17222 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
17223
17224 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
17225
17226 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
17227 (grub_bin2h_SOURCES): New variable.
17228 * util/bin2h.c: New file.
17229
17230 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
17231
17232 * include/multiboot.h: Resynced with spec.
17233 * include/multiboot2.h: Likewise.
17234 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
17235 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
17236
17237 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17238
17239 * include/grub/term.h (grub_term_register_input,
17240 grub_term_register_output): Check return of terminal init()
17241 routines, and abort if errors are raised.
17242
17243 * commands/terminal.c: Update copyright year.
17244
17245 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17246
17247 * commands/terminal.c (grub_cmd_terminal_input)
17248 (grub_cmd_terminal_output): Check return of terminal init()
17249 routines, and abort if errors are raised.
17250
17251 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
17252
17253 * include/grub/i386/bsd.h: Fix include pathes.
17254
17255 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
17256
17257 Add missing *BSD copyright headers.
17258
17259 * include/grub/aout.h: Add BSD licence.
17260 * include/grub/i386/bsd.h: Parts under different licences moved to ...
17261 * include/grub/i386/freebsd_linker.h: ... here,
17262 * include/grub/i386/freebsd_reboot.h: ... here,
17263 * include/grub/i386/netbsd_bootinfo.h: ... here,
17264 * include/grub/i386/netbsd_reboot.h: ... here,
17265 * include/grub/i386/openbsd_bootarg.h: ... here,
17266 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
17267 licence to each file.
17268
17269 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17270
17271 * acinclude.m4: Remove `nop' assembly instruction; it's not
17272 implemented by all architectures.
17273
17274 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17275
17276 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
17277 ELILO. This is no longer necessary.
17278
17279 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
17280
17281 Added new tool, grub-scrit-check to verify grub.cfg syntax.
17282
17283 * util/grub-script-check.c: grub-script-check tool.
17284 * conf/common.rmk: Make rules for grub-script-check.
17285
17286 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17287
17288 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
17289 spotting it back in 2008. Shame on me for forgetting he did.
17290
17291 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
17292
17293 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
17294
17295 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
17296 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
17297 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
17298 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
17299 (GRUB_VIDEO_TYPE_EFI): Rename to ...
17300 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
17301
17302 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
17303
17304 * include/grub/test.h: Add license header.
17305 * tests/example_functional_test.c: Likewise.
17306 * tests/example_unit_test.c: Likewise.
17307 * tests/lib/functional_test.c: Likewise.
17308 * tests/lib/test.c: Likewise.
17309 * tests/lib/unit_test.c: Likewise.
17310
17311 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
17312
17313 Use flag-based instead of hook-based video mode selection and "auto"
17314 keyword.
17315
17316 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
17317 (grub_video_set_mode): Changed prototype. All users updated.
17318 (grub_video_check_mode_flag): New inline function.
17319 * video/video.c (parse_modespec): New function.
17320 (grub_video_set_mode): Parse flags and keywords.
17321
17322 2010-01-17 Carles Pina i Estany <carles@pina.cat>
17323
17324 * util/misc.c (grub_util_info): Fix the order of the parameters in a
17325 fprintf call.
17326
17327 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
17328
17329 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
17330
17331 2010-01-16 Carles Pina i Estany <carles@pina.cat>
17332
17333 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
17334 string.
17335 * util/grub-emu.c (usage): Likewise.
17336 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
17337 * util/i386/efi/grub-mkimage.c (usage): Likewise.
17338 * util/i386/pc/grub-mkimage.c (usage): Likewise.
17339 * util/i386/pc/grub-setup.c (usage): Likewise.
17340
17341 2010-01-16 Carles Pina i Estany <carles@pina.cat>
17342
17343 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
17344 the message.
17345 (grub_util_info): Likewise.
17346 (grub_util_error): Likewise.
17347 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
17348 and/or new lines in `grub_util_warna', `grub_util_info',
17349 `grub_util_error' calls.
17350 * util/getroot.c: Likewise.
17351 * util/grub-editenv.c: Likewise.
17352 * util/grub-emu.c: Likewise.
17353 * util/grub-fstest.c: Likewise.
17354 * util/grub-mkdevicemap.c: Likewise.
17355 * util/grub-mkfont.c: Likewise.
17356 * util/grub-mkpasswd-pbkdf2.c: Likewise.
17357 * util/grub-mkrelpath.c: Likewise.
17358 * util/grub-pe2elf.c: Likewise.
17359 * util/grub-probe.c: Likewise.
17360 * util/hostdisk.c: Likewise.
17361 * util/i386/efi/grub-mkimage.c: Likewise.
17362 * util/i386/pc/grub-mkimage.c: Likewise.
17363 * util/i386/pc/grub-setup.c: Likewise.
17364 * util/ieee1275/ofpath.c: Likewise.
17365 * util/mkisofs/eltorito.c: Likewise.
17366 * util/mkisofs/rock.c: Likewise.
17367 * util/mkisofs/write.c: Likewise.
17368 * util/raid.c: Likewise.
17369 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
17370 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17371
17372 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17373
17374 Enable multiboot on non-pc.
17375
17376 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
17377 multiboot.mod and multiboot2.mod to ...
17378 * conf/i386.rmk (pkglib_MODULES): ... here.
17379 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
17380 Moved to ...
17381 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
17382 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
17383 Moved to ...
17384 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
17385 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
17386 Moved to ...
17387 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
17388 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
17389 Moved to ...
17390 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
17391 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
17392 relocator.mod.
17393 (ata_mod_SOURCES): Removed.
17394 (ata_mod_CFLAGS): Likewise.
17395 (ata_mod_LDFLAGS): Likewise.
17396 (relocator_mod_SOURCES): Removed.
17397 (relocator_mod_CFLAGS): Likewise.
17398 (relocator_mod_ASFLAGS): Likewise.
17399 (relocator_mod_LDFLAGS): Likewise.
17400 Include i386.mk.
17401 * include/grub/x86_64/multiboot.h: New file.
17402 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
17403 Terminate EFI.
17404
17405 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17406
17407 Video multiboot support.
17408
17409 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
17410 New prototype.
17411 * include/multiboot.h: Resynced with multiboot specification.
17412 * include/multiboot2.h: Likewise.
17413 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
17414 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
17415 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
17416 (HAS_VGA_TEXT): Likewise.
17417 (accepts_video): New variable.
17418 (grub_multiboot_set_accepts_video): New function.
17419 (grub_multiboot_get_mbi_size): Account for video structures.
17420 (set_video_mode): New function.
17421 (retrieve_video_parameters): Likewise.
17422 (grub_multiboot_make_mbi): Fill video fields.
17423
17424 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
17425
17426 Video driver ids.
17427
17428 * include/grub/video.h (grub_video_driver_id): New type.
17429 (grub_video_adapter): New member 'id'. All users updated.
17430 (grub_video_get_driver_id): New proto.
17431 * video/video.c (grub_video_get_driver_id): New function.
17432
17433 2010-01-14 Carles Pina i Estany <carles@pina.cat>
17434
17435 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
17436 `var=val'.
17437
17438 2010-01-14 Carles Pina i Estany <carles@pina.cat>
17439
17440 * normal/cmdline.c (print_completion): Gettextizze.
17441
17442 2001-01-14 Carles Pina i Estany <carles@pina.cat>
17443
17444 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
17445
17446 2010-01-14 Carles Pina i Estany <carles@pina.cat>
17447
17448 * gettext/gettext.c (grub_gettext_translate): Push and pop
17449 grub_errno.
17450 (grub_gettext_delete_list): Change comment style.
17451 * kern/err.c (grub_error): Gettextizze.
17452 (grub_fatal): Gettextizze.
17453
17454 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
17455
17456 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
17457 (grub_linux16_real_boot): ... this.
17458 * kern/i386/loader.S: Likewise.
17459 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
17460 (grub_linux16_boot): New function. Switches to text mode and calls
17461 grub_linux16_real_boot().
17462
17463 * loader/i386/bsd.c: Include `<grub/video.h>'.
17464 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
17465 text mode before calling grub_unix_real_boot().
17466
17467 * loader/i386/multiboot.c: Include `<grub/video.h>'.
17468 (grub_multiboot_boot): Switch to text mode before calling
17469 grub_relocator32_boot().
17470
17471 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
17472 (grub_chainloader_boot): Switch to text mode before calling
17473 grub_chainloader_real_boot().
17474
17475 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
17476 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17477
17478 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
17479 non-empty value.
17480
17481 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
17482 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17483
17484 * util/grub.d/00_header.in: Define a "savedefault" function for use
17485 in menu entries.
17486 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
17487
17488 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
17489 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17490
17491 * util/grub-mkconfig_lib.in (save_default_entry): Only set
17492 saved_entry if boot_once is unset.
17493 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
17494 previous saved entry (i.e. grub-reboot).
17495
17496 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17497
17498 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
17499
17500 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17501
17502 * util/grub.d/00_header.in: Use `set var=val' rather than plain
17503 `var=val'.
17504 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
17505
17506 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17507
17508 * util/grub-reboot.in: Fix --version output.
17509 * util/grub-set-default.in: Likewise.
17510
17511 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17512
17513 * util/grub.d/00_header.in: Silently ignore zero-sized environment
17514 blocks.
17515
17516 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17517
17518 * util/grub.d/00_header.in: Quote the value assigned to `default',
17519 in case it contains spaces.
17520
17521 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
17522
17523 * util/grub.d/30_os-prober.in: Fix merge error that moved a
17524 `save_default_entry' call from the macosx case to the linux case.
17525
17526 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
17527 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
17528
17529 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
17530 in `chosen' environment variable.
17531 * normal/menu_text.c (get_entry_number): Check if the variable
17532 matches the title of a menu entry.
17533 (run_menu): Pass menu to get_entry_number.
17534
17535 * util/grub-reboot.in: New file.
17536 * util/grub-set-default.in: New file.
17537 * conf/common.rmk (grub-reboot): New utility.
17538 (grub-set-default): New utility.
17539
17540 * util/grub-mkconfig_lib.in (save_default_entry): New function.
17541 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
17542 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
17543 move it to `saved_entry' for the next boot. Load environment on
17544 initialisation.
17545 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
17546 * util/grub.d/10_hurd.in: Likewise.
17547 * util/grub.d/10_linux.in (linux_entry): Likewise.
17548 * util/grub.d/10_windows.in: Likewise.
17549 * util/grub.d/30_os-prober.in: Likewise.
17550
17551 * util/grub-install.in: Create environment block.
17552 * util/i386/efi/grub-install.in: Likewise.
17553 * util/ieee1275/grub-install.in: Likewise.
17554 * util/sparc64/ieee1275/grub-install.in: Likewise.
17555
17556 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
17557
17558 Unit testing framework for GRUB.
17559
17560 * Makefile.in: Test framework build rules for 'make check'.
17561 * conf/tests.rmk: Build rules for individual tests and framework.
17562
17563 * include/grub/test.h: Header file for whitebox tests.
17564 * tests/lib/functional_test.c: Framework support for whitebox
17565 functional tests.
17566 * tests/lib/test.c: Common whitebox testing code for unit and
17567 functional tests.
17568 * tests/lib/unit_test.c: Framework support for whitebox unit
17569 tests.
17570
17571 * tests/util/grub-shell-tester.in: Support utility for grub-script
17572 tests.
17573 * tests/util/grub-shell.in: Utility to execute grub-script
17574 commands in a Qemu instance.
17575
17576 * tests/example_functional_test.c: Example whitebox functional
17577 test.
17578 * tests/example_grub_script_test.in: Example grub-script test.
17579 * tests/example_scripted_test.in: Example scripted test.
17580 * tests/example_unit_test.c: Example whitebox unit test.
17581
17582 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
17583
17584 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
17585 Add loader/i386/multiboot_mbi.c.
17586 (multiboot2_mod_SOURCES): Likewise.
17587 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
17588 (multiboot2_mod_SOURCES): Likewise.
17589 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
17590 (grub_multiboot_make_mbi): Likewise.
17591 (grub_multiboot_free_mbi): Likewise.
17592 (grub_multiboot_init_mbi): Likewise.
17593 (grub_multiboot_add_module): Likewise.
17594 (grub_multiboot_set_bootdev): Likewise.
17595 * loader/i386/multiboot.c (mbi): Removed.
17596 (mbi_dest): Likewise.
17597 (alloc_mbi): New variable.
17598 (grub_multiboot_payload_size): Removed. All users updated.
17599 (grub_multiboot_pure_size): New variable.
17600 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
17601 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
17602 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
17603 (grub_fill_multiboot_mmap): Likewise.
17604 (grub_multiboot_get_bootdev): Likewise.
17605 (grub_multiboot): Use multiboot_mbi functions.
17606 * loader/i386/multiboot_mbi.c: New file.
17607
17608 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17609
17610 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
17611 it would result in module crash.
17612
17613 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
17614
17615 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
17616 (grub_ofconsole_getwh): Split to ...
17617 (grub_ofconsole_getwh): ... this.
17618 (grub_ofconsole_dimensions): ...and this.
17619 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
17620
17621 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
17622
17623 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
17624
17625 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17626
17627 * loader/i386/pc/multiboot2.c: Removed stalled file.
17628
17629 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
17630
17631 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
17632 Reported by: Grégoire Sutre
17633
17634 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
17635
17636 * util/misc.c (canonicalize_file_name): New function.
17637 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
17638 instead of realpath().
17639
17640 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
17641
17642 * util/grub-install.in (usage): Clarify meaning of --root-directory,
17643 and make it clearer that it's optional. Based on confusion
17644 witnessed on IRC.
17645
17646 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17647
17648 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
17649 in premature implicit newline.
17650
17651 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
17652
17653 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
17654 which resulted in garbled command line at the end of screen.
17655
17656 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17657
17658 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
17659 initialization with similar approach as with other Linux loaders.
17660
17661 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17662
17663 Fix i386-ieee1275 build.
17664
17665 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
17666 and grub_term_height() for video_{width,height} initialization.
17667
17668 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
17669
17670 Fix grub-emu build.
17671
17672 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
17673
17674 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17675 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
17676
17677 Support for multiple terminals.
17678
17679 * Makefile.in (pkglib_DATA): terminal.lst.
17680 (terminal.lst): New target.
17681 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
17682 (GRUB_MOD_INIT(handler)): Likewise.
17683 (GRUB_MOD_FINI(handler)): Likewise.
17684 * commands/help.c (grub_cmd_help): Handle multiple terminals.
17685 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
17686 * commands/sleep.c (do_print): Use grub_term_restore_pos.
17687 (grub_cmd_sleep): Use grub_term_save_pos.
17688 * commands/terminal.c: New file.
17689 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
17690 commands/terminal.c and lib/charset.c.
17691 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
17692 (pkglib_MODULES): Add terminal.mod.
17693 (terminal_mod_SOURCES): New variable.
17694 (terminal_mod_CFLAGS): Likewise.
17695 (terminal_mod_LDFLAGS): Likewise.
17696 * genhandlerlist.sh: Don't handle terminals.
17697 * genmk.rb: Generate terminal-*.lst.
17698 * genterminallist.sh: New file.
17699 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
17700 (grub_is_valid_utf8): Likewise.
17701 (grub_utf8_to_ucs4_alloc): Likewise.
17702 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
17703 (grub_menu_register_viewer): Changed argument.
17704 (grub_menu_try_text): New proto.
17705 (grub_gfxmenu_try_hook): New declaration.
17706 * include/grub/normal.h (grub_normal_exit_level): New declaration.
17707 (grub_menu_init_page): Additional argument term.
17708 (grub_normal_init_page): Likewise.
17709 (grub_cmdline_get): Arguments simplified.
17710 (grub_utf8_to_ucs4_alloc): Removed.
17711 (grub_print_ucs4): Additional argument term.
17712 (grub_getstringwidth): Likewise.
17713 (grub_print_message_indented): Likewise.
17714 (grub_menu_text_register_instances): New proto.
17715 (grub_show_menu): Likewise.
17716 (read_terminal_list): Likewise.
17717 (grub_set_more): Likewise.
17718 * include/grub/parser.h: Include handler.h.
17719 * include/grub/reader.h: Rewritten.
17720 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
17721 (GRUB_TERM_WIDTH): Changed to function.
17722 (GRUB_TERM_HEIGHT): Likewise.
17723 (GRUB_TERM_BORDER_WIDTH): Likewise.
17724 (GRUB_TERM_BORDER_HEIGHT): Likewise.
17725 (GRUB_TERM_NUM_ENTRIES): Likewise.
17726 (GRUB_TERM_ENTRY_WIDTH): Likewise.
17727 (GRUB_TERM_CURSOR_X): Likewise.
17728 (grub_term_input_class): Likewise.
17729 (grub_term_output_class): Likewise.
17730 (grub_term_outputs_disabled): New declaration.
17731 (grub_term_inputs_disabled): Likewise.
17732 (grub_term_outputs): Likewise.
17733 (grub_term_inputs): Likewise.
17734 (grub_term_register_input): Rewritten.
17735 (grub_term_register_output): Likewise.
17736 (grub_term_unregister_input): Likewise.
17737 (grub_term_unregister_output): Likewise.
17738 (FOR_ACTIVE_TERM_INPUTS): New macro.
17739 (FOR_DISABLED_TERM_INPUTS): Likewise.
17740 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
17741 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
17742 * include/grub/terminfo.h: Add oterm argument to all protypes.
17743 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
17744 Use grub_rescue_run.
17745 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
17746 All users updated.
17747 * kern/reader.c: Removed. All users updated.
17748 * kern/rescue_reader.c (grub_rescue_init): Removed.
17749 (grub_rescue_reader): Likewise.
17750 (grub_register_rescue_reader): Likewise.
17751 (grub_rescue_run): New function based on kern/reader.c.
17752 * kern/term.c: Adapted for multiterm.
17753 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
17754 (grub_is_valid_utf8): Likewise.
17755 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
17756 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
17757 right terminal.
17758 * loader/i386/linux.c (grub_linux_boot): Likewise.
17759 * normal/auth.c (grub_username_get): New function.
17760 (grub_auth_check_authentication): Use grub_username_get.
17761 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
17762 * normal/color.c: Adapt for multiterm.
17763 * normal/main.c (read_config_file): Don't use grub_reader_loop.
17764 (grub_normal_init_page): Additional argument term.
17765 (read_lists): Call read_terminal_lists.
17766 (grub_enter_normal_mode): Call grub_cmdline_run.
17767 Handle grub_normal_exit_level.
17768 (grub_cmd_normal): Make reentrant.
17769 (grub_cmd_normal_exit): New function.
17770 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
17771 * normal/menu.c: Adapt for multiterm.
17772 * normal/menu_entry.c: Likewise.
17773 * normal/menu_text.c: Likewise.
17774 * normal/menu_viewer.c: Removed. All users updated.
17775 * normal/term.c: New file.
17776 * util/console.c: Change order of includes to workaround a bug in
17777 ncurses headers.
17778 * term/terminfo.c: New argument oterm on all exported functions.
17779 All users updated.
17780 * util/grub-editenv.c (grub_term_input_class): Removed.
17781 (grub_term_output_class): Likewise.
17782
17783 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
17784
17785 Make loader output a bit more user-friendly.
17786
17787 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
17788 is being loaded. Likewise for the Hurd.
17789
17790 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
17791 that kernel of FreeBSD ${version} is being loaded.
17792
17793 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
17794 grub_dprintf().
17795 (grub_cmd_initrd): Likewise.
17796 * util/grub.d/10_linux.in (linux_entry): Print message indicating
17797 that Linux ${version} is being loaded. Likewise for initrd.
17798
17799 2010-01-09 Carles Pina i Estany <carles@pina.cat>
17800
17801 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
17802
17803 2010-01-08 Carles Pina i Estany <carles@pina.cat>
17804
17805 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
17806 (GRUB_MOD_INIT): Gettextizze.
17807 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
17808 (GRUB_MOD_INIT): Gettextizze.
17809 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
17810 (grub_cmd_linux): Capitalise Linux.
17811 (GRUB_MOD_INIT): Gettextizze.
17812 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
17813 (grub_cmd_linux): Capitalise Linux.
17814 (GRUB_MOD_INIT): Gettextizze.
17815 * loader/i386/linux.c: Include `<grub/i18n.h>'.
17816 (grub_cmd_linux): Capitalise Linux.
17817 (GRUB_MOD_INIT): Gettextizze.
17818 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
17819 (GRUB_MOD_INIT): Gettextizze.
17820 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
17821 (grub_cmd_linux): Capitalise Linux.
17822 (GRUB_MOD_INIT): Gettextizze.
17823 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
17824 (grub_cpu_xnu_init): Gettextizze.
17825 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
17826 (GRUB_MOD_INIT): Gettextizze.
17827 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
17828 (GRUB_MOD_INIT): Gettextizze.
17829 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
17830 (grub_linux_load64): Capitalise Linux.
17831 (GRUB_MOD_INIT): Gettextizze.
17832 * loader/xnu.c: Include `<grub/i18n.h>'.
17833 (GRUB_MOD_INIT): Gettextizze.
17834 * po/POTFILES: Add `loader/efi/appleloader.c',
17835 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
17836 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
17837 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
17838 `loader/i386/xnu.c', `loader/multiboot_loader.c',
17839 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
17840 and `loader/xnu.c'.
17841
17842 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
17843
17844 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
17845
17846 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
17847
17848 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
17849 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
17850 * util/mkisofs/mkisofs.c (main): Readjust --version output.
17851
17852 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17853
17854 Reset Multiboot 2 support. New loader implements the draft in
17855 /branches/multiboot2 and shares as much code as possible with the
17856 production Multiboot 1 implementation.
17857
17858 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
17859 * loader/multiboot2.c: Likewise.
17860 * loader/i386/multiboot_helper.S: Likewise.
17861 * include/multiboot2.h: Replace with latest version from the draft
17862 in /branches/multiboot2.
17863
17864 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
17865 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
17866 and `loader/multiboot2.c'.
17867 (pkglib_MODULES): Add `multiboot2.mod'.
17868 (multiboot2_mod_SOURCES): New variable.
17869 (multiboot2_mod_LDFLAGS): Likewise.
17870 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
17871
17872 * conf/i386-pc.rmk: Likewise.
17873
17874 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
17875 (multiboot_mod_SOURCES): Remove variable.
17876 (multiboot_mod_LDFLAGS): Likewise.
17877 (multiboot_mod_CFLAGS): Likewise.
17878
17879 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
17880 `<multiboot2.h>' instead of `<multiboot.h>'.
17881 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
17882 (MULTIBOOT_HEADER_MAGIC): New macros.
17883
17884 * loader/multiboot_loader.c (module_version_status): Remove variable.
17885 (find_multi_boot2_header): Remove function.
17886 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
17887 logic. Always check for the Multiboot version we're compiling for.
17888 (grub_cmd_module_loader): Likewise.
17889 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
17890 command instead of `multiboot'.
17891
17892 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17893
17894 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
17895 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
17896 all users.
17897
17898 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17899 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17900
17901 Fix breakage introduced with previous commit.
17902
17903 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
17904 commands.
17905 * normal/handler.c (read_handler_list): Revert part of previous commit
17906 affecting this file.
17907 * normal/main.c (read_lists): Move read_handler_list() call back to ...
17908 (grub_normal_execute): ... here.
17909
17910 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17911
17912 Merge prefix-redefinition-fix branch.
17913
17914 * normal/autofs.c (read_fs_list): Make function capable of being
17915 run multiple times, gracefuly replacing the previous data
17916 structures.
17917 * normal/dyncmd.c (read_command_list): Likewise.
17918 * normal/handler.c (read_handler_list): Likewise.
17919 * normal/main.c (read_lists): New function. Calls all the
17920 list reading functions.
17921 (grub_normal_execute): Use read_lists() instead of calling all
17922 list reading functions explicitly. Register read_lists() as a
17923 variable hook attached to ${prefix}.
17924
17925 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17926
17927 Merge crypto branch.
17928
17929 * Makefile.in (pkglib_DATA): Add crypto.lst.
17930 (crypto.lst): New target.
17931 * commands/hashsum.c: New file.
17932 * commands/password.c (check_password): Use grub_crypto_memcmp.
17933 * commands/password_pbkdf2.c: New file.
17934 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
17935 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
17936 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
17937 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
17938 -I$(srcdir)/lib/libgcrypt_wrap.
17939 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
17940 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
17941 password_pbkdf2.mod.
17942 (crypto_mod_SOURCES): New variable.
17943 (crypto_mod_CFLAGS): Likewise.
17944 (crypto_mod_LDFLAGS): Likewise.
17945 (hashsum_mod_SOURCES): New variable.
17946 (hashsum_mod_CFLAGS): Likewise.
17947 (hashsum_mod_LDFLAGS): Likewise.
17948 (pbkdf2_mod_SOURCES): New variable.
17949 (pbkdf2_mod_CFLAGS): Likewise.
17950 (pbkdf2_mod_LDFLAGS): Likewise.
17951 (password_pbkdf2_mod_SOURCES): New variable.
17952 (password_pbkdf2_mod_CFLAGS): Likewise.
17953 (password_pbkdf2_mod_LDFLAGS): Likewise.
17954 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
17955 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
17956 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
17957 Include conf/gcry.rmk.
17958 * include/grub/auth.h: Rewritten.
17959 * include/grub/crypto.h: New file.
17960 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
17961 * include/grub/normal.h (read_crypto_list): New prototype.
17962 * lib/crypto.c: New file.
17963 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
17964 * lib/pbkdf2.c: Likewise.
17965 * normal/auth.c (grub_auth_strcmp): Removed.
17966 (grub_iswordseparator): Likewise.
17967 (grub_auth_strword): Likewise.
17968 (is_authenticated): Use grub_strword.
17969 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
17970 and grub_strword. Pass entered password to authentication callback.
17971 * normal/crypto.c: New file.
17972 * normal/main.c: Call read_crypto_list.
17973 * util/grub-mkpasswd-pbkdf2.c: New file.
17974 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
17975
17976 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
17977
17978 Fix descent and ascent calculation.
17979
17980 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
17981 (options): New option "asce".
17982 (usage): Likewise.
17983 (add_char): Ignore invalid glyphs for descent calculation.
17984 Calculate ascent from actual content.
17985 (print_glyphs): Use 'asce'.
17986 (write_font): Likewise. Allow ascent override.
17987 (main): Handle "asce" option.
17988
17989 2010-01-06 Carles Pina i Estany <carles@pina.cat>
17990
17991 * kern/err.c: Include `<grub/i18n.h>'.
17992 (grub_print_error): Add full stop. Gettextizze.
17993 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
17994 (grub_bsd_load_elf): Capitalise ELF.
17995 (grub_cmd_freebsd_loadenv): Add `s' in error string.
17996 (grub_cmd_freebsd_module): Likewise.
17997 (grub_cmd_freebsd_module_elf): Likewise.
17998 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
17999
18000 2010-01-06 Carles Pina i Estany <carles@pina.cat>
18001
18002 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
18003 * commands/search_file.c (HELP_MESSAGE): New macro.
18004 * commands/search_label.c (HELP_MESSAGE): Likewise.
18005 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
18006 * po/POTFILES: Add `commands/search_file.c',
18007 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
18008 `commands/search.c'.
18009
18010 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
18011
18012 * config.rpath: Update from Gnulib.
18013
18014 2010-01-05 Yves Blusseau <blusseau@zetam.org>
18015
18016 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
18017
18018 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
18019
18020 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
18021
18022 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
18023
18024 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
18025 arguments to fread so that we get a return value in bytes, rather
18026 than something that will normally be rounded down to 0.
18027 Adjust error handling to avoid producing garbage when size_t is not
18028 the same size as long long.
18029
18030 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
18031
18032 * util/mkisofs/write.c (padblock_write): Check return value of
18033 fread.
18034
18035 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
18036
18037 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
18038 floppy images now.
18039
18040 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
18041
18042 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
18043
18044 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
18045 instead of manual alignment.
18046 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
18047 verbose). Avoid attempts to read past end of the device
18048 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
18049 but GRUB_DISK_CACHE_SIZE may exceed that).
18050
18051 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
18052
18053 * commands/crc.c (grub_cmd_crc): Abort on read errors.
18054 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
18055 it to upper layer.
18056
18057 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18058
18059 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
18060 New constant.
18061 (grub_efi_piwg_device_path): New structure
18062 (grub_efi_piwg_device_path_t): New type.
18063 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
18064 (devpath_1): Transform to a structure. All users updated.
18065 (devpath_2): Likewise.
18066 (devpath_3): Likewise.
18067 (devpath_4): Likewise.
18068 (devpath_5): Likewise.
18069
18070 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
18071
18072 * loader/efi/appleloader.c: Restored. Update all users.
18073
18074 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
18075
18076 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
18077
18078 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
18079 (struct boot_blocklist): Move from here ...
18080 * include/grub/i386/pc/boot.h [ASM_FILE]
18081 (struct grub_boot_blocklist): ... to here. Update all users.
18082 (setup): Only initialize `start' member of `first_block'
18083 structure. Add assert() calls to verify the other members.
18084
18085 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
18086 (generate_image): Fix broken blocklist length initialization.
18087 Add assert() call to verify blocklist `segment' field.
18088
18089 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
18090
18091 * loader/efi/appleloader.c: Remove. Update all users.
18092
18093 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
18094
18095 * boot/i386/pc/boot.S: Update copyright year.
18096 * boot/i386/pc/cdboot.S: Likewise.
18097 * boot/i386/pc/diskboot.S: Likewise.
18098 * boot/i386/pc/lnxboot.S: Likewise.
18099 * boot/i386/pc/pxeboot.S: Likewise.
18100 * bus/pci.c: Likewise.
18101 * commands/cmp.c: Likewise.
18102 * commands/help.c: Likewise.
18103 * commands/hexdump.c: Likewise.
18104 * commands/i386/pc/halt.c: Likewise.
18105 * commands/i386/pc/play.c: Likewise.
18106 * commands/i386/pc/vbeinfo.c: Likewise.
18107 * commands/ls.c: Likewise.
18108 * commands/test.c: Likewise.
18109 * disk/dmraid_nvidia.c: Likewise.
18110 * disk/i386/pc/biosdisk.c: Likewise.
18111 * disk/ieee1275/nand.c: Likewise.
18112 * disk/ieee1275/ofdisk.c: Likewise.
18113 * disk/lvm.c: Likewise.
18114 * disk/raid.c: Likewise.
18115 * disk/raid6_recover.c: Likewise.
18116 * disk/scsi.c: Likewise.
18117 * fs/affs.c: Likewise.
18118 * fs/cpio.c: Likewise.
18119 * fs/ext2.c: Likewise.
18120 * fs/hfs.c: Likewise.
18121 * fs/iso9660.c: Likewise.
18122 * fs/ntfs.c: Likewise.
18123 * fs/sfs.c: Likewise.
18124 * fs/udf.c: Likewise.
18125 * fs/ufs.c: Likewise.
18126 * fs/xfs.c: Likewise.
18127 * gencmdlist.sh: Likewise.
18128 * genmk.rb: Likewise.
18129 * include/grub/disk.h: Likewise.
18130 * include/grub/efi/api.h: Likewise.
18131 * include/grub/efi/efi.h: Likewise.
18132 * include/grub/efi/pe32.h: Likewise.
18133 * include/grub/elf.h: Likewise.
18134 * include/grub/fs.h: Likewise.
18135 * include/grub/i386/at_keyboard.h: Likewise.
18136 * include/grub/i386/pc/memory.h: Likewise.
18137 * include/grub/i386/pc/vbe.h: Likewise.
18138 * include/grub/i386/pci.h: Likewise.
18139 * include/grub/i386/tsc.h: Likewise.
18140 * include/grub/ieee1275/ieee1275.h: Likewise.
18141 * include/grub/ntfs.h: Likewise.
18142 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
18143 * include/grub/sparc64/libgcc.h: Likewise.
18144 * include/grub/symbol.h: Likewise.
18145 * include/grub/types.h: Likewise.
18146 * include/multiboot2.h: Likewise.
18147 * io/gzio.c: Likewise.
18148 * kern/device.c: Likewise.
18149 * kern/disk.c: Likewise.
18150 * kern/efi/efi.c: Likewise.
18151 * kern/efi/mm.c: Likewise.
18152 * kern/elf.c: Likewise.
18153 * kern/file.c: Likewise.
18154 * kern/i386/dl.c: Likewise.
18155 * kern/i386/pc/init.c: Likewise.
18156 * kern/i386/pc/startup.S: Likewise.
18157 * kern/ieee1275/ieee1275.c: Likewise.
18158 * kern/ieee1275/init.c: Likewise.
18159 * kern/main.c: Likewise.
18160 * kern/mm.c: Likewise.
18161 * kern/powerpc/dl.c: Likewise.
18162 * kern/sparc64/dl.c: Likewise.
18163 * kern/x86_64/dl.c: Likewise.
18164 * lib/hexdump.c: Likewise.
18165 * loader/efi/appleloader.c: Likewise.
18166 * loader/i386/ieee1275/linux.c: Likewise.
18167 * loader/i386/pc/chainloader.c: Likewise.
18168 * loader/i386/pc/linux.c: Likewise.
18169 * loader/i386/pc/multiboot2.c: Likewise.
18170 * loader/ieee1275/multiboot2.c: Likewise.
18171 * loader/multiboot2.c: Likewise.
18172 * loader/multiboot_loader.c: Likewise.
18173 * loader/powerpc/ieee1275/linux.c: Likewise.
18174 * normal/completion.c: Likewise.
18175 * normal/menu_entry.c: Likewise.
18176 * partmap/apple.c: Likewise.
18177 * util/grub.d/10_hurd.in: Likewise.
18178 * util/hostfs.c: Likewise.
18179 * video/readers/png.c: Likewise.
18180
18181 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
18182
18183 * include/grub/misc.h (GNUC_PREREQ): New macro.
18184 (ATTRIBUTE_ERROR): New macro.
18185 * include/grub/list.h (grub_bad_type_cast_real): Use
18186 ATTRIBUTE_ERROR.
18187
18188 2010-01-03 Carles Pina i Estany <carles@pina.cat>
18189
18190 * normal/menu_text.c (print_message): Change messages.
18191
18192 2010-01-03 Carles Pina i Estany <carles@pina.cat>
18193
18194 * normal/menu_entry.c (store_completion): Gettextizze.
18195
18196 2010-01-03 Carles Pina i Estany <carles@pina.cat>
18197
18198 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
18199
18200 2010-01-03 Carles Pina i Estany <carles@pina.cat>
18201
18202 * po/POTFILES: Sort correctly.
18203
18204 2010-01-03 Carles Pina i Estany <carles@pina.cat>
18205
18206 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
18207 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
18208 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
18209 full stop.
18210 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
18211 summary. Gettextizze the strings.
18212 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
18213 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
18214 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
18215 full stop.
18216 (GRUB_MOD_INIT): Remove command name from summary.
18217 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
18218 summary.
18219 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
18220 * term/i386/pc/serial.c (options): Add full stops.
18221 (GRUB_MOD_INIT): Remove command name from the summary.
18222
18223 2010-01-03 Carles Pina i Estany <carles@pina.cat>
18224
18225 * commands/acpi.c: Gettextizze help strings and/or options. Include
18226 `grub/i18n.h' if needed.
18227 * commands/blocklist.c: Likewise.
18228 * commands/boot.c: Likewise.
18229 * commands/cat.c: Likewise.
18230 * commands/cmp.c: Likewise.
18231 * commands/configfile.c: Likewise.
18232 * commands/crc.c: Likewise.
18233 * commands/date.c: Likewise.
18234 * commands/echo.c: Likewise.
18235 * commands/efi/fixvideo.c: Likewise.
18236 * commands/efi/loadbios.c: Likewise.
18237 * commands/gptsync.c: Likewise.
18238 * commands/halt.c: Likewise.
18239 * commands/handler.c: Likewise.
18240 * commands/hdparm.c: Likewise.
18241 * commands/hexdump.c: Likewise.
18242 * commands/i386/cpuid.c: Likewise.
18243 * commands/i386/pc/drivemap.c: Likewise.
18244 * commands/i386/pc/halt.c: Likewise.
18245 * commands/i386/pc/pxecmd.c: Likewise.
18246 * commands/i386/pc/vbeinfo.c: Likewise.
18247 * commands/i386/pc/vbetest.c: Likewise.
18248 * commands/ieee1275/suspend.c: Likewise.
18249 * commands/keystatus.c: Likewise.
18250 * commands/loadenv.c: Likewise.
18251 * commands/ls.c: Likewise.
18252 * commands/lsmmap.c: Likewise.
18253 * commands/lspci.c: Likewise.
18254 * commands/memrw.c: Likewise.
18255 * commands/minicmd.c: Likewise.
18256 * commands/parttool.c: Likewise.
18257 * commands/password.c: Likewise.
18258 * commands/probe.c: Likewise.
18259 * commands/read.c: Likewise.
18260 * commands/reboot.c: Likewise.
18261 * commands/search.c: Likewise.
18262 * commands/sleep.c: Likewise.
18263 * commands/test.c: Likewise.
18264 * commands/true.c: Likewise.
18265 * commands/usbtest.c: Likewise.
18266 * commands/videotest.c: Likewise.
18267 * commands/xnu_uuid.c: Likewise.
18268 * disk/loopback.c: Likewise.
18269 * hello/hello.c: Likewise.
18270 * loader/i386/bsd.c: Likewise.
18271 * term/i386/pc/serial.c: Likewise.
18272 * po/POTFILES: Add new files.
18273
18274 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
18275
18276 * term/i386/pc/at_keyboard.c
18277 (keyboard_controller_wait_untill_ready): Rename to ...
18278 (keyboard_controller_wait_until_ready): ... this. Update all users.
18279
18280 2010-01-01 Carles Pina i Estany <carles@pina.cat>
18281
18282 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
18283 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
18284 string using string width.
18285 * normal/menu_text.c (grub_print_message_indented): Use
18286 grub_print_spaces and not print_spaces.
18287 (print_timeout): Likewise.
18288 (print_spaces): Move to...
18289 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
18290
18291 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
18292
18293 Import from Gnulib.
18294
18295 * gnulib/getdelim.c: New file.
18296 * gnulib/getline.c: Likewise.
18297
18298 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
18299
18300 * include/grub/list.h (grub_assert_fail): Removed.
18301 (grub_bad_type_cast_real): New function.
18302 (grub_bad_type_cast): New macro.
18303 (GRUB_AS_LIST): Use grub_bad_type_cast.
18304 (GRUB_AS_LIST_P): Likewise.
18305 (GRUB_AS_NAMED_LIST): Likewise.
18306 (GRUB_AS_NAMED_LIST_P): Likewise.
18307 (GRUB_AS_PRIO_LIST): Likewise.
18308 (GRUB_AS_PRIO_LIST_P): Likewise.
18309 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
18310
18311 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
18312
18313 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
18314 Fix syntax error.
18315
18316 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
18317
18318 * configure.ac: Check for TARGET_CFLAGS initialization before we
18319 initialize it ourselves (sigh).
18320 Move a few modifications to TARGET_CFLAGS to be unconditional
18321 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
18322 eh_frame)
18323
18324 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
18325 * term/i386/pc/at_keyboard.c
18326 (keyboard_controller_wait_untill_ready): Likewise.
18327 (keyboard_controller_led): Rename `led_status' paramter to avoid
18328 name conflict.
18329
18330 2009-12-28 Carles Pina i Estany <carles@pina.cat>
18331
18332 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
18333 quotes.
18334
18335 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18336
18337 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
18338
18339 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18340
18341 * normal/menu_text.c (grub_print_message_indented): Prevent
18342 past-the-end-of-array dereference.
18343
18344 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
18345
18346 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
18347 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
18348
18349 2009-12-27 Carles Pina i Estany <carles@pina.cat>
18350
18351 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
18352 * normal/main.c (grub_normal_read_line): Remove a space from the
18353 default prompt.
18354
18355 2009-12-27 Carles Pina i Estany <carles@pina.cat>
18356
18357 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
18358 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18359 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
18360 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
18361 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18362 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18363 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18364
18365 2009-12-26 Carles Pina i Estany <carles@pina.cat>
18366
18367 * video/readers/jpeg.c (cmd): Declare.
18368 (grub_cmd_jpegtest): Use `grub_command_t' type.
18369 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18370 Assign to `cmd'.
18371 (GRUB_MOD_FINI): Use `cmd' to unregister.
18372 * video/readers/png.c (cmd): Declare.
18373 (grub_cmd_pngtest): Use `grub_command_t' type.
18374 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18375 Assign to `cmd'.
18376 (GRUB_MOD_FINI): Use `cmd' to unregister.
18377 * video/readers/tga.c (cmd): Declare.
18378 (grub_cmd_tgatest): Use `grub_command_t' type.
18379 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
18380 Assign to `cmd'.
18381 (GRUB_MOD_FINI): Use `cmd' to unregister.
18382
18383 2009-12-26 Carles Pina i Estany <carles@pina.cat>
18384
18385 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
18386 stops.
18387 * kern/corecmd.c (grub_register_core_commands): Likewise.
18388 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
18389 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
18390 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
18391 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18392 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
18393 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
18394 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
18395 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
18396 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18397 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
18398 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18399 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18400 * normal/handler.c (insert_handler): Likewise.
18401 * normal/main.c (GRUB_MOD_INIT): Likewise.
18402 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
18403
18404 2009-12-26 Carles Pina i Estany <carles@pina.cat>
18405
18406 * commands/help.c (grub_cmd_help): Print the command name before the
18407 summary.
18408 (GRUB_MOD_INIT): Remove command name from the summary.
18409 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
18410 string as summary.
18411 * lib/arg.c (find_long): Print the command name before the summary.
18412 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
18413 summary.
18414 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
18415 * commands/cat.c (GRUB_MOD_INIT): Likewise.
18416 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
18417 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
18418 * commands/crc.c (GRUB_MOD_INIT): Likewise.
18419 * commands/date.c (GRUB_MOD_INIT): Likewise.
18420 * commands/echo.c (GRUB_MOD_INIT): Likewise.
18421 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
18422 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
18423 * commands/handler.c (GRUB_MOD_INIT): Likewise.
18424 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
18425 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
18426 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
18427 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
18428 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
18429 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
18430 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
18431 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
18432 * commands/ls.c (GRUB_MOD_INIT): Likewise.
18433 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
18434 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
18435 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
18436 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
18437 * commands/password.c (GRUB_MOD_INIT): Likewise.
18438 * commands/probe.c (GRUB_MOD_INIT): Likewise.
18439 * commands/read.c (GRUB_MOD_INIT): Likewise.
18440 * commands/search.c (GRUB_MOD_INIT): Likewise.
18441 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
18442 * commands/test.c (GRUB_MOD_INIT): Likewise.
18443 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
18444 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
18445 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
18446 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
18447 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
18448 * lib/arg.c (GRUB_MOD_INIT): Likewise.
18449 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
18450 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
18451 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
18452 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
18453 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
18454 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
18455 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
18456 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
18457
18458 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18459
18460 Use search command for preliminar UUID search.
18461
18462 * commands/search.c: Split into ...
18463 * commands/search_wrap.c: ...this
18464 * commands/search.c: ...and this.
18465 * commands/search_file.c: New file.
18466 * commands/search_label.c: New file.
18467 * commands/search_uuid.c: New file.
18468 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
18469 Add commands/search_wrap.c, commands/search_file.c,
18470 commands/search_label.c and commands/search_uuid.c.
18471 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
18472 (search_mod_SOURCES): Set to commands/search_wrap.c.
18473 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
18474 search_label.mod.
18475 (search_fs_file_mod_SOURCES): New variable.
18476 (search_fs_file_mod_CFLAGS): Likewise.
18477 (search_fs_file_mod_LDFLAGS): Likewise.
18478 (search_label_mod_SOURCES): Likewise.
18479 (search_label_mod_CFLAGS): Likewise.
18480 (search_label_mod_LDFLAGS): Likewise.
18481 (search_fs_uuid_mod_SOURCES): New variable.
18482 (search_fs_uuid_mod_CFLAGS): Likewise.
18483 (search_fs_uuid_mod_LDFLAGS): Likewise.
18484 (fs_file_mod_SOURCES): Removed.
18485 (fs_file_mod_CFLAGS): Likewise.
18486 (fs_file_mod_LDFLAGS): Likewise.
18487 (fs_uuid_mod_SOURCES): Removed.
18488 (fs_uuid_mod_CFLAGS): Likewise.
18489 (fs_uuid_mod_LDFLAGS): Likewise.
18490 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
18491 Set to util/grub-install.in.
18492 * disk/fs_file.c: Removed.
18493 * disk/fs_uuid.c: Likewise.
18494 * include/grub/search.h: New file.
18495 * util/grub-install.in: Handle sparc64.
18496 Create and use load.cfg.
18497 * util/sparc64/ieee1275/grub-install.in: Removed.
18498
18499 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18500
18501 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
18502 Ignore return status if CF is cleared.
18503 (grub_biosdisk_get_diskinfo_standard): Likewise.
18504
18505 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
18506
18507 * term/i386/pc/at_keyboard.c
18508 (keyboard_controller_wait_untill_ready): New function.
18509 (grub_keyboard_controller_write, grub_keyboard_controller_read)
18510 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
18511 for keyboard polling, rather than duplicate the same loop. This
18512 saves a few bytes in code size.
18513
18514 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
18515
18516 Support for (pxe[:server[:gateway]]) syntax and
18517 use environment variable for PXE.
18518
18519 * commands/i386/pc/pxecmd.c (options): Removed.
18520 (print_ip): Removed.
18521 (grub_cmd_pxe): Removed
18522 (grub_cmd_pxe_unload): New function.
18523 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
18524 (grub_pxe_your_ip): Made static.
18525 (grub_pxe_default_server_ip): Likewise.
18526 (grub_pxe_default_gateway_ip): Likewise.
18527 (grub_pxe_blksize): Likewise.
18528 (parse_ip): New function.
18529 (grub_pxe_open): Support server and gateway specification.
18530 (grub_pxe_close): Free disk->data.
18531 (grub_pxefs_open): Use disk->data.
18532 (grub_pxefs_read): Likewise.
18533 (grub_env_write_readonly): New function.
18534 (set_mac_env): Likewise.
18535 (set_env_limn_ro): Likewise.
18536 (parse_dhcp_vendor): Likewise.
18537 (grub_pxe_detect): Set the environment variables.
18538 (set_ip_env): New function.
18539 (write_ip_env): Likewise.
18540 (grub_env_write_pxe_default_server): Likewise.
18541 (grub_env_write_pxe_default_gateway): Likewise.
18542 (grub_env_write_pxe_blocksize): Likewise.
18543 (GRUB_MOD_INIT(pxe)): Set environment variables.
18544 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
18545 (grub_pxe_mac_addr_t): ... this. All users updated.
18546 (grub_pxe_your_ip): Removed.
18547 (grub_pxe_server_ip): Likewise.
18548 (grub_pxe_gateway_ip): Likewise.
18549 (grub_pxe_blksize): Likewise.
18550
18551 2009-12-25 Carles Pina i Estany <carles@pina.cat>
18552
18553 * commands/help.c: Include `<grub/i18n.h>'.
18554 (grub_cmd_help): Gettextizze.
18555 (GRUB_MOD_INIT): Likewise.
18556 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
18557 (GRUB_MOD_INIT): Gettextizze.
18558 * commands/search.c: Include `<grub/i18n.h>'.
18559 (options): Gettextizze.
18560 (GRUB_MOD_INIT): Gettextizze.
18561 * lib/arg.c: Include `<grub/i18n.h>'.
18562 (help_options): Gettextizze.
18563 (find_long): Likewise.
18564 (grub_arg_show_help): Likewise.
18565 * normal/dyncmd.c: Include `<grub/i18n.h>'.
18566 (read_command_list): Gettextizze.
18567 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
18568 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
18569
18570 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
18571
18572 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
18573 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
18574 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
18575 (led_status): New variable.
18576 (keyboard_controller_led): New function.
18577 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
18578 update led status for caps lock, num lock and scroll lock.
18579
18580 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
18581
18582 * util/hostdisk.c (open_device): Fix a comment.
18583
18584 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18585
18586 * util/grub-install.in (host_os): New variable.
18587 * util/i386/efi/grub-install.in (host_os): Likewise.
18588
18589 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18590
18591 * util/mkisofs/write.c (padblock_write): Abort when given an
18592 excedingly large embed image, instead of silently truncating it.
18593
18594 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18595
18596 * include/multiboot.h: Indentation fixes.
18597
18598 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18599
18600 * include/multiboot.h (struct multiboot_aout_symbol_table)
18601 (struct multiboot_elf_section_header_table): New structure
18602 declarations (stolen from GRUB Legacy).
18603 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
18604 table information.
18605
18606 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
18607 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
18608 type aliases.
18609
18610 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18611
18612 * include/multiboot.h: Make comments src2texi-friendly.
18613
18614 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18615
18616 For consistency with [multiboot]/docs/boot.S.
18617
18618 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
18619 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
18620 (MULTIBOOT_MAGIC2): Rename from this ...
18621 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
18622
18623 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
18624
18625 * include/multiboot.h: Remove `<grub/types.h>'.
18626 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
18627 types. Update all users.
18628
18629 2009-12-25 Carles Pina i Estany <carles@pina.cat>
18630
18631 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
18632 `couldn't' and `can not' by `cannot'.
18633 * commands/i386/pc/drivemap.c: Likewise.
18634 * disk/ata.c: Likewise.
18635 * disk/ieee1275/nand.c: Likewise.
18636 * fs/affs.c: Likewise.
18637 * fs/fat.c: Likewise.
18638 * fs/hfs.c: Likewise.
18639 * fs/hfsplus.c: Likewise.
18640 * fs/iso9660.c: Likewise.
18641 * fs/jfs.c: Likewise.
18642 * fs/minix.c: Likewise.
18643 * fs/reiserfs.c: Likewise.
18644 * fs/sfs.c: Likewise.
18645 * fs/udf.c: Likewise.
18646 * fs/ufs.c: Likewise.
18647 * fs/xfs.c: Likewise.
18648 * loader/powerpc/ieee1275/linux.c: Likewise.
18649 * loader/sparc64/ieee1275/linux.c: Likewise.
18650 * util/grub-probe.c: Likewise.
18651 * util/misc.c: Likewise.
18652
18653 2009-12-24 Carles Pina i Estany <carles@pina.cat>
18654
18655 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
18656 grub_errno calls.
18657 * commands/acpi.c: Likewise.
18658 * commands/blocklist.c: Likewise.
18659 * commands/efi/loadbios.c: Likewise.
18660 * commands/i386/pc/drivemap.c: Likewise.
18661 * commands/loadenv.c: Likewise.
18662 * commands/memrw.c: Likewise.
18663 * commands/password.c: Likewise.
18664 * commands/videotest.c: Likewise.
18665 * disk/ata.c: Likewise.
18666 * disk/ata_pthru.c: Likewise.
18667 * disk/dmraid_nvidia.c: Likewise.
18668 * disk/ieee1275/nand.c: Likewise.
18669 * disk/ieee1275/ofdisk.c: Likewise.
18670 * disk/loopback.c: Likewise.
18671 * disk/lvm.c: Likewise.
18672 * disk/mdraid_linux.c: Likewise.
18673 * disk/raid.c: Likewise.
18674 * disk/raid6_recover.c: Likewise.
18675 * disk/scsi.c: Likewise.
18676 * efiemu/main.c: Likewise.
18677 * efiemu/mm.c: Likewise.
18678 * efiemu/pnvram.c: Likewise.
18679 * efiemu/symbols.c: Likewise.
18680 * font/font.c: Likewise.
18681 * fs/cpio.c: Likewise.
18682 * fs/hfsplus.c: Likewise.
18683 * fs/iso9660.c: Likewise.
18684 * fs/jfs.c: Likewise.
18685 * fs/minix.c: Likewise.
18686 * fs/ntfs.c: Likewise.
18687 * fs/ntfscomp.c: Likewise.
18688 * fs/reiserfs.c: Likewise.
18689 * fs/ufs.c: Likewise.
18690 * fs/xfs.c: Likewise.
18691 * gettext/gettext.c: Likewise.
18692 * include/grub/auth.h: Likewise.
18693 * kern/elf.c: Likewise.
18694 * kern/file.c: Likewise.
18695 * kern/ieee1275/init.c: Likewise.
18696 * kern/ieee1275/mmap.c: Likewise.
18697 * kern/ieee1275/openfw.c: Likewise.
18698 * kern/powerpc/dl.c: Likewise.
18699 * kern/sparc64/dl.c: Likewise.
18700 * lib/arg.c: Likewise.
18701 * loader/i386/bsd.c: Likewise.
18702 * loader/i386/bsdXX.c: Likewise.
18703 * loader/i386/efi/linux.c: Likewise.
18704 * loader/i386/efi/xnu.c: Likewise.
18705 * loader/i386/ieee1275/linux.c: Likewise.
18706 * loader/i386/linux.c: Likewise.
18707 * loader/i386/multiboot.c: Likewise.
18708 * loader/i386/pc/linux.c: Likewise.
18709 * loader/i386/pc/multiboot2.c: Likewise.
18710 * loader/i386/xnu.c: Likewise.
18711 * loader/ieee1275/multiboot2.c: Likewise.
18712 * loader/macho.c: Likewise.
18713 * loader/machoXX.c: Likewise.
18714 * loader/multiboot2.c: Likewise.
18715 * loader/multiboot_loader.c: Likewise.
18716 * loader/powerpc/ieee1275/linux.c: Likewise.
18717 * loader/sparc64/ieee1275/linux.c: Likewise.
18718 * loader/xnu.c: Likewise.
18719 * loader/xnu_resume.c: Likewise.
18720 * mmap/i386/pc/mmap.c: Likewise.
18721 * normal/menu_viewer.c: Likewise.
18722 * partmap/acorn.c: Likewise.
18723 * partmap/amiga.c: Likewise.
18724 * partmap/apple.c: Likewise.
18725 * script/lexer.c: Likewise.
18726 * term/gfxterm.c: Likewise.
18727 * term/i386/pc/serial.c: Likewise.
18728 * term/i386/pc/vga.c: Likewise.
18729 * term/ieee1275/ofconsole.c: Likewise.
18730 * term/terminfo.c: Likewise.
18731 * video/bitmap.c: Likewise.
18732 * video/efi_gop.c: Likewise.
18733 * video/efi_uga.c: Likewise.
18734 * video/fb/video_fb.c: Likewise.
18735 * video/i386/pc/vbe.c: Likewise.
18736 * video/readers/tga.c: Likewise.
18737 * video/video.c: Likewise.
18738
18739 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
18740
18741 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
18742 * commands/lspci.c: Likewise.
18743 * commands/probe.c: Likewise.
18744 * commands/xnu_uuid.c: Likewise.
18745 * conf/i386-coreboot.rmk: Likewise.
18746 * conf/i386-efi.rmk: Likewise.
18747 * conf/i386-ieee1275.rmk: Likewise.
18748 * conf/i386-pc.rmk: Likewise.
18749 * conf/powerpc-ieee1275.rmk: Likewise.
18750 * conf/sparc64-ieee1275.rmk: Likewise.
18751 * conf/x86_64-efi.rmk: Likewise.
18752 * fs/i386/pc/pxe.c: Likewise.
18753 * gettext/gettext.c: Likewise.
18754 * include/grub/efi/graphics_output.h: Likewise.
18755 * include/grub/i386/pc/memory.h: Likewise.
18756 * kern/env.c: Likewise.
18757 * kern/i386/qemu/startup.S: Likewise.
18758 * lib/i386/pc/biosnum.c: Likewise.
18759 * lib/i386/relocator.c: Likewise.
18760 * lib/i386/relocator_asm.S: Likewise.
18761 * lib/relocator.c: Likewise.
18762 * loader/i386/bsd.c: Likewise.
18763 * loader/i386/multiboot.c: Likewise.
18764 * loader/i386/pc/chainloader.c: Likewise.
18765 * loader/i386/xnu.c: Likewise.
18766 * loader/xnu.c: Likewise.
18767 * normal/main.c: Likewise.
18768 * normal/menu_text.c: Likewise.
18769 * util/getroot.c: Likewise.
18770 * util/grub-mkconfig_lib.in: Likewise.
18771 * util/grub.d/00_header.in: Likewise.
18772 * util/i386/pc/grub-mkimage.c: Likewise.
18773 * util/mkisofs/eltorito.c: Likewise.
18774 * util/mkisofs/exclude.h: Likewise.
18775 * util/mkisofs/hash.c: Likewise.
18776 * util/mkisofs/iso9660.h: Likewise.
18777 * util/mkisofs/joliet.c: Likewise.
18778 * util/mkisofs/mkisofs.c: Likewise.
18779 * util/mkisofs/mkisofs.h: Likewise.
18780 * util/mkisofs/multi.c: Likewise.
18781 * util/mkisofs/name.c: Likewise.
18782 * util/mkisofs/rock.c: Likewise.
18783 * util/mkisofs/tree.c: Likewise.
18784 * util/mkisofs/write.c: Likewise.
18785 * video/efi_gop.c: Likewise.
18786
18787 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
18788
18789 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
18790 size counting.
18791
18792 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18793
18794 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
18795 * genmk.rb (class SCRIPT): Modify the target file instead of source.
18796
18797 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18798
18799 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
18800 (GRUB_MOD_INIT(memrw)): Update help line.
18801
18802 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18803
18804 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
18805 Use grub_extcmd_t. All users updated.
18806 (options): New variable.
18807 (grub_cmd_read): Restructure for readability. Support "-v" option.
18808 (grub_cmd_write): Restructure for readability.
18809
18810 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18811
18812 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
18813
18814 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18815
18816 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
18817 with the actual contents of the correspondending make variable.
18818 * util/grub-mkrescue.in (pkglib_DATA): New variable.
18819 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
18820 specifying `*.lst' and `efiemu??.o'
18821
18822 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18823
18824 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
18825 after function name.
18826 Noticed by Rene Engelhard <rene@debian.org>.
18827
18828 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18829
18830 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
18831 (options): New variable.
18832 (iospace): Likewise.
18833 (grub_lspci_iter): List IO spaces if "-i" was given.
18834 (grub_cmd_lspci): Parse options.
18835 (GRUB_MOD_INIT(lspci)): Use extcmd.
18836 (GRUB_MOD_FINI(lspci)): Likewise.
18837
18838 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18839
18840 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
18841 `function' keyword.
18842 Patch by Tony Mancill <tmancill@debian.org>.
18843
18844 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18845
18846 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
18847 (grub_uhci_portstatus): Likewise.
18848 (grub_uhci_portstatus): Add necessary delay.
18849 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
18850
18851 2009-12-21 Carles Pina i Estany <carles@pina.cat>
18852
18853 * commands/acpi.c (options): Fix capitalizations and/or full stops.
18854 (GRUB_MOD_INIT): Likewise.
18855 * commands/boot.c (GRUB_MOD_INIT): Likewise.
18856 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
18857 * commands/echo.c (options): Fix capitalizations and/or full stops.
18858 * commands/efi/loadbios.c (enable_rom_area): Likewise.
18859 (enable_rom_area): Likewise.
18860 (GRUB_MOD_INIT): Likewise.
18861 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
18862 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
18863 * commands/handler.c (GRUB_MOD_INIT): Likewise.
18864 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
18865 * commands/hexdump.c (options): Likewise.
18866 * commands/i386/cpuid.c (options): Likewise.
18867 (GRUB_MOD_INIT): Likewise.
18868 * commands/i386/pc/drivemap.c (options): Likewise.
18869 (GRUB_MOD_INIT): Likewise.
18870 * commands/i386/pc/halt (options): Likewise.
18871 (GRUB_MOD_INIT): Likewise.
18872 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
18873 * commands/i386/pc/pxecmd.c (options): Likewise.
18874 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
18875 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
18876 * commands/keystatus.c (options): Likewise.
18877 (GRUB_MOD_INIT): Likewise.
18878 * commands/loadenv.c (options): Likewise.
18879 * commands/ls.c (options): Likewise.
18880 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
18881 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
18882 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
18883 * commands/parttool.c (helpmsg): Likewise.
18884 * commands/probe.c (options): Likewise.
18885 * commands/read.c (GRUB_MOD_INIT): Likewise.
18886 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
18887 * commands/search.c (options): Likewise.
18888 * commands/sleep.c (options): Likewise.
18889 * commands/test.c (GRUB_MOD_INIT): Likewise.
18890 * commands/true.c (GRUB_MOD_INIT): Likewise.
18891 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
18892 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
18893 * lib/arg.c (help_options): Likewise.
18894 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
18895 `$(XGETTEXT)'.
18896 * po/POTFILES: Add `commands/loadenv.c'.
18897
18898 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
18899
18900 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
18901 instead of specifying them explicit.
18902
18903 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18904
18905 * NEWS: Add grub-probe support for GNU/Hurd.
18906
18907 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18908
18909 * NEWS: gettext was added after 1.97.
18910
18911 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18912
18913 * util/mkisofs/msdos_partition.h: New file (based on
18914 include/grub/msdos_partition.h).
18915 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
18916 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
18917 (ld_options, main): Recognize --protective-msdos-label.
18918 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
18919 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
18920 (padblock_write): If `use_protective_msdos_label' is set, patch a
18921 protective DOS-style label in the output image.
18922
18923 * util/grub-mkrescue.in: Use --protective-msdos-label.
18924
18925 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18926
18927 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
18928 boot.
18929
18930 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18931
18932 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
18933 variables.
18934 (ld_options, main): Recognize `--embedded-boot'.
18935 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
18936 declarations.
18937 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
18938 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
18939 (padblock_write): Likewise. Rewrite to support embedded boot image.
18940
18941 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
18942 for BIOS-based disk boot instead of only ElTorito.
18943
18944 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18945
18946 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
18947 build (not needed for bootstrap).
18948
18949 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18950
18951 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
18952 from i386-pc build (not needed for bootstrap).
18953 Rewrite a pair of strings.
18954
18955 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18956
18957 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
18958
18959 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
18960
18961 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
18962
18963 2009-12-21 Andreas Born <futur.andy@googlemail.com>
18964
18965 * kern/env.c (grub_env_context_open): Mark exported variable for
18966 reexport.
18967
18968 2009-12-21 Andreas Born <futur.andy@googlemail.com>
18969
18970 * kern/env.c (grub_env_export): Create nonexistent variables before
18971 exporting.
18972
18973 2009-12-20 Carles Pina i Estany <carles@pina.cat>
18974
18975 * include/grub/auth.h: Include `<grub/i18n.h>'.
18976 (GRUB_GET_PASSWORD): Gettextizze string.
18977 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
18978 menu_text.c.
18979 (grub_utf8_to_ucs4_alloc): Fix indentation.
18980 (grub_print_ucs4): Likewise.
18981 (grub_getstringwidth): Likewise.
18982 (print_message_indented): New declaration.
18983 * normal/auth.c: Include `<grub/i18n.h>'.
18984 (grub_auth_check_authentication): Gettexttize string.
18985 * normal/cmdline.c: Include `<grub/i18n.h>'.
18986 (grub_cmdline_get): Gettextizze.
18987 * normal/color.c: Include `<grub/i18n.h>'.
18988 (grub_parse_color_name_pair): Gettexttize strings.
18989 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
18990 string (use `print_message_indented').
18991 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
18992 `include/grub/normal.h'.
18993 (print_message_indented): Renamed to ...
18994 (grub_print_message_indented): ... this. Remove `static' qualifer (now
18995 used in normal/main.c).
18996 (print_message): Use `grub_print_message_indented' instead of
18997 `print_message_indented'.
18998 (print_timeout): Likewise.
18999 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
19000 (grub_normal_print_device_info): Gettexttize strings.
19001 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
19002
19003 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
19004
19005 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
19006 of arguments. Return number of tokens and not arguments. All users
19007 updated.
19008
19009 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
19010
19011 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
19012 non-MSDOS paritions.
19013
19014 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
19015
19016 * include/grub/types.h (UNUSED): Removed since it conflicts with
19017 NetBSD headers. All users changed to direct __attribute__ ((unused)).
19018 Reported by Grégoire Sutre.
19019
19020 2009-12-19 Carles Pina i Estany <carles@pina.cat>
19021
19022 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
19023 (grub_print_ucs4_alloc): Likewise.
19024 (grub_getstringwidth): Likewise.
19025 * normal/main.c (grub_normal_init_page): Gettextize version string.
19026 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
19027 (getstringwidth): Renamed to ...
19028 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
19029 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
19030 (grub_print_ucs4): Remove `static' qualifer (now used in
19031 normal/main.c).
19032 * po/POTFILES: Add normal/main.c.
19033
19034 2009-12-19 Carles Pina i Estany <carles@pina.cat>
19035
19036 * normal/menu_text.c (STANDARD_MARGIN): New macro.
19037 (print_message_indented): Add `margin_left' and `margin_right'
19038 parameters.
19039 (print_message): Update `print_message_indented' calls. Adds '\n' to the
19040 strings.
19041 (print_timeout): Use `print_message_indented' to print the message.
19042 Deletes `second_stage' parameter.
19043 (run_menu): Update `print_timeout' calls.
19044
19045 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19046
19047 Fix console palette on OpenFirmware.
19048
19049 * term/ieee1275/ofconsole.c (MAX): Removed.
19050 (colors): Redone based on VGA palette.
19051 (grub_ofconsole_setcolor): Discard brightness bit since only 8
19052 colors are supported.
19053 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
19054
19055 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19056
19057 Fix potential EfiEmu double prepare.
19058
19059 * efiemu/main.c (prepared): New variable
19060 (grub_efiemu_unload): Set prepare to '0'.
19061 (grub_efiemu_prepare): Return if already prepared. Set prepared.
19062
19063 set_virtual_address_map support.
19064
19065 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
19066 prototype.
19067 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
19068 prototype.
19069 (grub_efiemu_crc32): Likewise.
19070 (grub_efiemu_crc64): Likewise.
19071 (grub_efiemu_set_virtual_address_map): Likewise.
19072 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
19073 New definition.
19074 (grub_autoefi_set_virtual_address_map): Likewise.
19075 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
19076 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
19077 Restructure flow to accomodate it.
19078 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
19079 (grub_efiemu_crc): Recompute CRC32.
19080 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
19081 (efiemu_ptv_relocated): ... this. Made global. All users updated.
19082 * efiemu/symbols.c (relocated_handle): New variable.
19083 (grub_efiemu_free_syms): Free relocated_handle.
19084 (grub_efiemu_alloc_syms): Allocate relocated_handle.
19085 (grub_efiemu_write_sym_markers): New function.
19086 (grub_efiemu_set_virtual_address_map): Likewise.
19087
19088 Newer XNU parameters.
19089
19090 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
19091 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
19092 (grub_xnu_fill_devicetree): New prototype.
19093 (grub_xnu_heap_real_start): New variable.
19094 * loader/xnu.c (get_name_ptr): New function.
19095 (grub_xnu_load_driver): Fill namelen and name.
19096
19097 64-bit xnu support.
19098
19099 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
19100 and 'loader/macho64.c'.
19101 * conf/i386-pc.rmk: Likewise.
19102 * conf/x86_64-efi.rmk: Likewise.
19103 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
19104 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
19105 * include/grub/macho.h (grub_macho_segment64): New structure.
19106 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
19107 (grub_macho_size32): ... to this.
19108 (grub_macho32_get_entry_point): Renamed from ...
19109 (grub_macho_get_entry_point32): ... to this.
19110 (grub_macho_contains_macho64): New prototype.
19111 (grub_macho_size64): Likewise.
19112 (grub_macho_get_entry_point64): Likewise.
19113 (grub_macho32_load): Renamed from ...
19114 (grub_macho_load32): ... to this.
19115 (grub_macho32_filesize): Renamed from ...
19116 (grub_macho_filesize32): ... to this.
19117 (grub_macho32_readfile): Renamed from ...
19118 (grub_macho_readfile32): ... to this.
19119 (grub_macho_filesize64): New prototype.
19120 (grub_macho_readfile64): Likewise.
19121 (grub_macho_parse32): Likewise.
19122 (grub_macho_parse64): Likewise.
19123 * loader/macho.c: Split into ...
19124 * loader/machoXX.c: ... and this. Replace 32 with XX.
19125 * loader/macho32.c: New file.
19126 * loader/macho64.c: Likewise.
19127 * loader/xnu.c (grub_xnu_is_64bit): New variable.
19128 (grub_cmd_xnu_kernel): Make 32-bit only.
19129 (grub_cmd_xnu_kernel64): New function.
19130 (grub_xnu_load_driver): Support Mach-O 64.
19131 (grub_cmd_xnu_mkext): Likewise.
19132 * util/grub.d/30_os-prober.in (osx_entry): New function.
19133 Generate entries for 64-bit boot too.
19134
19135 Eliminate ad-hoc tree format in XNU and EfiEmu.
19136
19137 * efiemu/main.c (grub_efiemu_prepare): Update comment.
19138 * efiemu/pnvram.c: Rewritten to use environment variables.
19139 All users updated.
19140
19141 Inline utf16_to_utf8.
19142
19143 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
19144 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
19145 All users updated.
19146 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
19147
19148 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
19149 * commands/usbtest.c (grub_usb_get_string): ... move here.
19150 (usb_print_str): Fix error handling.
19151 * include/grub/usb.h (grub_usb_get_string): Remove.
19152
19153 UTF-8 to UTF-16 transformation.
19154
19155 * conf/common.rmk (pkglib_MODULES): Add charset.mod
19156 (charset_mod_SOURCES): New variable.
19157 (charset_mod_CFLAGS): Likewise.
19158 (charset_mod_LDFLAGS): Likewise.
19159 * include/grub/utf.h: New file.
19160 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
19161
19162 Support for device properties.
19163
19164 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
19165 (grub_xnu_devprop_device_header): Likewise.
19166 (grub_xnu_devprop_device_descriptor): Likewise.
19167 (grub_xnu_devprop_add_device): New prototype.
19168 (grub_xnu_devprop_remove_device): Likewise.
19169 (grub_xnu_devprop_remove_property): Likewise.
19170 (grub_xnu_devprop_add_property_utf8): Likewise.
19171 (grub_xnu_devprop_add_property_utf16): Likewise.
19172 (grub_cpu_xnu_init): Likewise.
19173 (grub_cpu_xnu_fini): Likewise.
19174 (grub_cpu_xnu_unload): Likewise.
19175 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
19176 (property_descriptor): Likewise.
19177 (devices): New variable.
19178 (grub_xnu_devprop_remove_property): New function.
19179 (grub_xnu_devprop_add_device): Likewise.
19180 (grub_xnu_devprop_remove_device): Likewise.
19181 (grub_xnu_devprop_add_property): Likewise.
19182 (grub_xnu_devprop_add_property_utf8): Likewise.
19183 (grub_xnu_devprop_add_property_utf16): Likewise.
19184 (hextoval): Likewise.
19185 (grub_cpu_xnu_fill_devprop): Likewise.
19186 (grub_cmd_devprop_load): Likewise.
19187 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
19188 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
19189 (cmd_devprop_load): New variable.
19190 (grub_cpu_xnu_init): New function.
19191 (grub_cpu_xnu_fini): Likewise.
19192 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
19193 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
19194 (grub_cmd_xnu_devtree): Likewise.
19195 (hextoval): New function.
19196 (unescape): Likewise.
19197 (grub_xnu_fill_devicetree): Likewise.
19198
19199 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
19200 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
19201
19202 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
19203
19204 Workaround for broken ATI VBE.
19205
19206 * video/i386/pc/vbe.c (last_set_mode): New variable.
19207 (grub_vbe_set_video_mode): Set 'last_set_mode'.
19208 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
19209 (grub_video_vbe_setup): Don't check for reserved flag.
19210
19211 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
19212
19213 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
19214 the `find' command.
19215
19216 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
19217
19218 UUID support for HFS.
19219
19220 * fs/hfs.c (grub_hfs_uuid): New function.
19221 (grub_hfs_fs): New value .uuid.
19222 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
19223
19224 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
19225
19226 Fix a segfault with parsing unknown long options.
19227
19228 * util/grub-mkrelpath.c (options): Zero terminate it.
19229
19230 2009-12-13 Carles Pina i Estany <carles@pina.cat>
19231
19232 * include/grub/misc.h (grub_puts): New declaration.
19233 (grub_puts_): Likewise.
19234 * kern/misc.c (grub_puts): New definition.
19235 (grub_puts_): Likewise.
19236
19237 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
19238
19239 * util/grub-probe.c (probe): Improve error message.
19240
19241 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
19242
19243 * loader/i386/multiboot_elfxx.c
19244 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
19245 initialization.
19246
19247 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
19248
19249 Relocator framework
19250
19251 * loader/i386/xnu_helper.S: Removed. All users updated.
19252 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
19253 (relocator_mod_SOURCES): New variable.
19254 (relocator_mod_CFLAGS): Likewise.
19255 (relocator_mod_LDFLAGS): Likewise.
19256 (relocator_mod_ASFLAGS): Likewise.
19257 * conf/x86_64.rmk: Likewise.
19258 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
19259 (grub_multiboot_payload_entry_offset): Likewise.
19260 (grub_multiboot_forward_relocator): Likewise.
19261 (grub_multiboot_forward_relocator_end): Likewise.
19262 (grub_multiboot_backward_relocator): Likewise.
19263 (grub_multiboot_backward_relocator_end): Likewise.
19264 (grub_multiboot_payload_eip): New variable.
19265 (grub_multiboot_payload_orig): Likewise.
19266 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
19267 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
19268 * include/grub/i386/memory.h
19269 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
19270 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
19271 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
19272 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
19273 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
19274 * include/grub/i386/relocator.h: New file.
19275 * include/grub/x86_64/relocator.h: Likewise.
19276 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
19277 (XNU_RELOCATOR): New macro.
19278 (grub_xnu_launcher_start): Remove.
19279 (grub_xnu_launcher_end): Likewise.
19280 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
19281 (grub_xnu_heap_real_start): Remove.
19282 (grub_xnu_heap_start): Change to void *. All users updated.
19283 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
19284 * lib/i386/relocator.c: New file.
19285 * lib/i386/relocator_asm.S: Likewise.
19286 * lib/i386/relocator_backward.S: Likewise.
19287 * lib/mips/relocator.c: Likewise.
19288 * lib/mips/relocator_asm.S: Likewise.
19289 * lib/relocator.c: Likewise.
19290 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
19291 (entry): Removed.
19292 (playground): Likewise.
19293 (grub_multiboot_payload_orig): New variable.
19294 (grub_multiboot_payload_dest): Likewise.
19295 (grub_multiboot_payload_size): Likewise.
19296 (grub_multiboot_payload_eip): Likewise.
19297 (grub_multiboot_payload_esp): Likewise.
19298 (grub_multiboot_boot): Use grub_relocator32_boot.
19299 (grub_multiboot_unload): Free relocators.
19300 (grub_multiboot): Setup stack. Use relocators.
19301 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
19302 (grub_multiboot_load_elfXX): Use relocators.
19303 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
19304 (grub_multiboot_payload_size): Likewise.
19305 (grub_multiboot_payload_dest): Likewise.
19306 (grub_multiboot_payload_entry_offset): Likewise.
19307 (grub_multiboot_forward_relocator): Likewise.
19308 (grub_multiboot_backward_relocator): Likewise.
19309 (grub_multiboot_real_boot): Likewise.
19310 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
19311 (grub_xnu_entry_point): Likewise.
19312 (grub_xnu_arg1): Likewise.
19313 (grub_xnu_stack): Likewise.
19314 (grub_xnu_launch): Removed.
19315 (grub_xnu_boot_resume): New function.
19316 (grub_xnu_boot): Use relocators.
19317 * loader/i386/xnu_helper.S: Removed.
19318 * loader/xnu.c (grub_xnu_heap_start): New variable.
19319 (grub_xnu_heap_size): Likewise.
19320 (grub_xnu_heap_malloc): Use relocators.
19321 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
19322
19323 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
19324
19325 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
19326 anything.
19327
19328 2009-12-13 Carles Pina i Estany <carles@pina.cat>
19329
19330 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
19331 GRUB_ERR_NONE before calling grub_env_set.
19332
19333 2009-12-12 Robert Millan <rmh@aybabtu.com>
19334
19335 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
19336 * genmk.rb (video): New variable.
19337 (CLEANFILES, VIDEOFILES): Add #{video}.
19338 (#{video}): New target rule.
19339 * genvideolist.sh: New file.
19340 * Makefile.in (pkglib_DATA): Add video.lst.
19341 (video.lst): New target rule.
19342 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
19343 `video.lst'.
19344 * util/grub.d/30_os-prober.in: Replace `vbe' with
19345 ${GRUB_VIDEO_BACKEND}.
19346
19347 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
19348
19349 * THANKS: Add David Miller.
19350
19351 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
19352
19353 libpciaccess support.
19354
19355 * Makefile.in (LIBPCIACCESS): New variable.
19356 (enable_grub_emu_pci): Likewise.
19357 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
19358 util/pci.c and commands/lspci.c.
19359 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
19360 * configure.ac (grub-emu-pci): New option.
19361 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
19362 (grub_pci_device_unmap_range): Likewise.
19363 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
19364 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
19365 (grub_pci_address_t) [!GRUB_UTIL]: New type.
19366 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
19367 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
19368 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
19369 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
19370 * include/grub/pciutils.h: New file.
19371 * util/pci.c: Likewise.
19372
19373 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
19374
19375 * util/misc.c: Don't include <errno.h> twice.
19376
19377 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
19378
19379 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
19380 name in an error message.
19381 (grub_biosdisk_rw): Likewise.
19382
19383 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19384
19385 Eliminate NTFS 4Gib barrier.
19386
19387 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
19388 (read_run_data): Likewise.
19389 (grub_ntfs_read_run_list): Likewise.
19390 (grub_ntfs_read_block): Likewise.
19391 (grub_ntfs_iterate_dir): Likewise.
19392 (read_mft): Likewise.
19393 (read_data): Likewise.
19394 Use COM_LOG_LEN.
19395 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
19396 to avoid 64-bit division
19397 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
19398 (grub_ntfs_rlst): Use grub_disk_addr_t.
19399
19400 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19401
19402 Eliminate grub-fstest 4Gib barrier.
19403
19404 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
19405 (read_file): Fix error reporting.
19406
19407 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19408
19409 Eliminate hexdump 4Gib barrier.
19410
19411 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
19412 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
19413
19414 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
19415
19416 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
19417 Fixes amarsh bug.
19418
19419 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
19420
19421 Remove miscellaneous files in distclean target.
19422
19423 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
19424
19425 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
19426
19427 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
19428 if they're already set. This resolves the conflict between my
19429 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
19430 fixing the --grub-probe option again.
19431 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
19432 change on 2009-10-06, so that we now once again source
19433 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
19434
19435 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
19436
19437 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
19438 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
19439 `util/devicemap.c'.
19440
19441 2009-12-08 Carles Pina i Estany <carles@pina.cat>
19442
19443 * include/grub/misc.h (grub_printf_): New declaration.
19444 * kern/misc.c (grub_printf_): New definition.
19445 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
19446 instead of `grub_printf' and `_'.
19447 * normal/menu_entry.c (store_completion): Likewise.
19448 (run): Likewise.
19449 (grub_menu_entry_run): Likewise.
19450 * normal/menu_text.c (grub_wait_after_message): Likewise.
19451 (notify_booting): Likewise.
19452 (notify_fallback): Likewise.
19453 (notify_execution_failure): Likewise.
19454
19455 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
19456
19457 * configure.ac: Check for vasprintf.
19458 * util/misc.c (asprintf): Move allocation from here ...
19459 (vasprintf): ... to here. New function.
19460 (xasprintf): New function.
19461 * include/grub/util/misc.h (vasprintf, xasprintf): Add
19462 prototypes.
19463 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
19464 * util/grub-mkfont.c (write_font): Likewise.
19465 * util/grub-probe.c (probe): Likewise.
19466 * util/hostdisk.c (make_device_name): Likewise.
19467
19468 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
19469
19470 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
19471 anything even prefixed with 'cdrom' as a cdrom.
19472
19473 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
19474
19475 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
19476 mount points.
19477
19478 2009-12-05 Carles Pina i Estany <carles@pina.cat>
19479
19480 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
19481 grub_gettext_msg_list.
19482 (grub_gettext_gettranslation_from_position): Return const char *
19483 and not char *.
19484 (grub_gettext_translate): Add the translated strings into a list,
19485 returns from the list if existing there.
19486 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
19487 (grub_gettext_delete_list): Delete the list.
19488 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
19489 lang environment variable is changed.
19490 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
19491
19492 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
19493
19494 Rename kernel.mod to kernel.img.
19495
19496 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
19497 (kernel_mod_EXPORTS): Rename to ...
19498 (kernel_img_EXPORTS): ... this.
19499 (kernel_mod_SOURCES): Rename to ...
19500 (kernel_img_SOURCES): ... this.
19501 (kernel_mod_HEADERS): Rename to ...
19502 (kernel_img_HEADERS): ... this. All users updated.
19503 (kernel_mod_CFLAGS): Rename to ...
19504 (kernel_img_CFLAGS): ... this.
19505 (kernel_mod_ASFLAGS): Rename to ...
19506 (kernel_img_ASFLAGS): ... this.
19507 (kernel_mod_LDFLAGS): Rename to ...
19508 (kernel_img_LDFLAGS): ... this.
19509 * conf/x86_64-efi.rmk: Likewise.
19510 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
19511 (read_kernel_image): ... this. All users updated.
19512 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
19513
19514 2009-12-05 Carles Pina i Estany <carles@pina.cat>
19515
19516 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
19517 (print_spaces): New function.
19518 (grub_print_ucs4): New function.
19519 (getstringwidth): New function.
19520 (print_message_indented): New function.
19521 (print_message): Gettexttize strings using print_message_indented.
19522 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
19523 width.
19524 (get_entry_number): Gettextize and uses dynamic terminal width.
19525 (notify_booting, notify_fallback, notify_execution_failure):
19526 Gettextize.
19527 * normal/menu_entry.c (store_completion): Cleanup the gettextized
19528 string.
19529 (run): Likewise.
19530 (grub_menu_entry_run): Likewise.
19531 * PO/POTFILES: Add normal/menu_entry.c.
19532
19533 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
19534
19535 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
19536
19537 2009-12-05 Carles Pina i Estany <carles@pina.cat>
19538
19539 * util/grub-install.in: Install gettext .mo files.
19540 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
19541
19542 2009-12-05 Carles Pina i Estany <carles@pina.cat>
19543
19544 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
19545 grub_dprintf.
19546
19547 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
19548
19549 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
19550 non-firmware-dependant one in realmode.S takes precedence.
19551
19552 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
19553
19554 * commands/halt.c: Replace misc arch-specific headers with
19555 `<grub/misc.h>'.
19556 * commands/reboot.c: Likewise.
19557 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
19558 `<grub/misc.h>'.
19559 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
19560 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
19561 (kernel_img_SOURCES): ... to here.
19562
19563 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
19564 * include/grub/i386/pc/init.h: Likewise.
19565 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
19566 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19567
19568 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
19569
19570 * include/grub/i386/halt.h: Remove.
19571 * include/grub/i386/reboot.h: Likewise.
19572
19573 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
19574
19575 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
19576
19577 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
19578 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
19579 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
19580 "progname.h"
19581 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
19582 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19583 (usage): Add missing comma in printf.
19584
19585 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
19586
19587 Use the same reboot approach on i386 coreboot and qemu as we do on
19588 BIOS.
19589
19590 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
19591 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
19592 * kern/i386/reboot.c: Remove.
19593 * include/grub/i386/reboot.h (grub_reboot): Export function.
19594 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
19595 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
19596 0xf000:0xfff0 instead of 0xffff:0x0000.
19597 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
19598 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
19599
19600 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
19601
19602 Fix $srcdir != $objdir build.
19603
19604 * Makefile.in (po/%.po): Rewrite as ...
19605 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
19606
19607 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
19608
19609 Fix GNU/Hurd grub-install crash.
19610 * util/grub-probe.c (probe): Try to access `path' only when it is not
19611 NULL.
19612
19613 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19614
19615 Correct module naming.
19616
19617 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
19618 (GRUB_MOD_INIT(efi_uga)): ... to this
19619 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
19620 (GRUB_MOD_FINI(efi_uga)): ... to this
19621 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
19622 (GRUB_MOD_INIT(efi_gop)): ... to this
19623 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
19624 (GRUB_MOD_FINI(efi_gop)): ... to this
19625
19626 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
19627
19628 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
19629 translatable.
19630 (usage): Translate `arg' strings using gettext().
19631 Thanks to Jordi Mallach for the suggestion.
19632
19633 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19634
19635 GOP support. Based on patch from Bean
19636 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
19637
19638 * video/efi_gop.c: New file.
19639 * include/grub/efi/graphics_output.h: Likewise.
19640 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
19641 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
19642 variables.
19643 * conf/x86_64-efi.rmk: Likewise.
19644
19645 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
19646
19647 Rename efi_fb to efi_uga.
19648
19649 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
19650 'efi_uga.mod'.
19651 (efi_fb_mod_SOURCES): Rename this ...
19652 (efi_uga_mod_SOURCES): ... to this.
19653 (efi_fb_mod_CFLAGS): Rename this ...
19654 (efi_uga_mod_CFLAGS): ... to this.
19655 (efi_fb_mod_LDFLAGS): Rename this ...
19656 (efi_uga_mod_LDFLAGS): ... to this.
19657 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
19658 'efi_uga.mod'.
19659 (efi_fb_mod_SOURCES): Rename this ...
19660 (efi_uga_mod_SOURCES): ... to this.
19661 (efi_fb_mod_CFLAGS): Rename this ...
19662 (efi_uga_mod_CFLAGS): ... to this.
19663 (efi_fb_mod_LDFLAGS): Rename this ...
19664 (efi_uga_mod_LDFLAGS): ... to this.
19665 * video/efi_fb.c: Move this ...
19666 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
19667
19668 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19669
19670 * po/README: New file. Explain our PO file workflow.
19671
19672 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19673
19674 * po/ChangeLog: Remove. Move relevant entries back to ...
19675 * ChangeLog: ... here.
19676 * po/ca.po: Remove (now handled by TLP).
19677 * po/id.po: Likewise.
19678 * po/zh_CN.po: Likewise.
19679 * Makefile.in (LINGUAS): Initialize in a way that supports
19680 empty set.
19681
19682 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
19683
19684 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
19685 reliing on po/LINGUAS.
19686 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
19687 (po/%.po): ... this.
19688
19689 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
19690
19691 * util/i386/efi/grub-mkimage.c: Include "progname.h".
19692 (main): Use `program_name' instead of nonexistent `progname'.
19693
19694 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
19695
19696 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19697 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
19698
19699 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
19700
19701 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
19702 commit.
19703 * conf/i386-efi.rmk: Likewise.
19704 * conf/i386-ieee1275.rmk: Likewise.
19705 * conf/powerpc-ieee1275.rmk: Likewise.
19706 * conf/sparc64-ieee1275.rmk: Likewise.
19707 * conf/x86_64-efi.rmk: Likewise.
19708
19709 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
19710
19711 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
19712
19713 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
19714
19715 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
19716
19717 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
19718
19719 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
19720 (grub_mkdevicemap_SOURCES): New variable.
19721 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
19722 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
19723 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
19724 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
19725 (grub_mkdevicemap_SOURCES): Remove.
19726 * conf/i386-efi.rmk: Likewise.
19727 * conf/i386-ieee1275.rmk: Likewise.
19728 * conf/i386-pc.rmk: Likewise.
19729 * conf/powerpc-ieee1275.rmk: Likewise.
19730 * conf/sparc64-ieee1275.rmk: Likewise.
19731 * conf/x86_64-efi.rmk: Likewise.
19732 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
19733 (usage): Fix strings to use `program_name'.
19734 (main): Initialize gettext.
19735 * util/grub-editenv.c: Likewise.
19736 * util/grub-emu.c: Likewise.
19737 * util/grub-fstest.c: Likewise.
19738 * util/grub-mkdevicemap.c: Likewise.
19739 * util/grub-mkfont.c: Likewise.
19740 * util/grub-mkrelpath.c: Likewise.
19741 * util/grub-pe2elf.c: Likewise.
19742 * util/grub-probe.c: Likewise.
19743 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
19744 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
19745 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19746
19747 * util/misc.c: Include `"progname.h"'.
19748 (progname): Remove variable.
19749 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
19750
19751 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
19752
19753 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
19754 printf and print a newline after the menuentry header line.
19755 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
19756
19757 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
19758
19759 autoconf >= 2.60 support $(localedir).
19760
19761 * INSTALL: Note that autoconf 2.60 is required.
19762 * configure.ac (AC_PREREQ): Bump to 2.60.
19763 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
19764 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
19765
19766 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
19767
19768 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
19769 aclocal is run.
19770
19771 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
19772
19773 * normal/main.c (grub_normal_read_line): Fix off-by-one
19774 buffer overflow.
19775
19776 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
19777
19778 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
19779 "parser.grub" in grub_command_execute() call.
19780
19781 2009-11-24 Carles Pina i Estany <carles@pina.cat>
19782
19783 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
19784 * conf/i386-efi.rmk: Likewise.
19785 * conf/i386-ieee1275.rmk: Likewise.
19786 * conf/i386-pc.rmk: Likewise.
19787 * conf/powerpc-ieee1275.rmk: Likewise.
19788 * conf/sparc64-ieee1275.rmk: Likewise.
19789 * conf/x86_64-efi.rmk: Likewise.
19790 * gettext/gettex.c: Include <grub/i18n.h>.
19791 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
19792 here ...
19793 * include/grub/i18n.h: ... to here
19794 * include/grub/i18n.h: ... to here.
19795 * kern/misc.c: Include <grub/i18n.h>
19796 (grub_gettext_dummy): Move above user.
19797
19798 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19799
19800 * util/Makefile.in (install-local): Convert a `for' into a normal
19801 shell expansion.
19802
19803 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
19804
19805 * autogen.sh: Add automake call.
19806 * config.guess: Remove.
19807 * config.sub: Likewise.
19808 * install-sh: Likewise.
19809
19810 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19811
19812 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
19813
19814 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19815
19816 * util/Makefile.in (install-local): Convert a make `$(foreach)'
19817 function to a normal shell `for'.
19818
19819 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19820
19821 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19822
19823 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19824
19825 * util/grub-mkrelpath.c: New file.
19826 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
19827 (grub_mkrelpath_SOURCES): New variable.
19828 * include/grub/util/misc.h: New function prototype.
19829 * util/misc.c (make_system_path_relative_to_its_root): New function.
19830
19831 * util/grub-mkconfig_lib.in (bindir): New variable.
19832 (grub_mkrelpath): Likewise.
19833 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
19834
19835 * util/probe.c (probe): Make the file path relative to its root.
19836 Change a info message to use the GRUB path. Enable again the
19837 check if we can read the file with GRUB facilities.
19838
19839 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
19840 to its root.
19841
19842 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19843
19844 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
19845 platform.
19846
19847 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19848
19849 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
19850 strncmp().
19851
19852 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19853
19854 * util/getroot.c (grub_util_is_dmraid): New function.
19855 (grub_util_get_dev_abstraction): Treat dmraid and multipath
19856 devices as normal ones, not as LVM.
19857
19858 2009-11-23 Carles Pina i Estany <carles@pina.cat>
19859
19860 * conf/common.rmk: Add grub-gettext_lib target and updates
19861 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
19862 LDFLAGS.
19863 * gettext/gettext.c: New file. (Reads mo files).
19864 * include/grub/file.h (grub_file_pread): New prototype.
19865 * include/grub/i18n.h (_): New prototype.
19866 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
19867 prototypes.
19868 * kern/misc.c (grub_gettext_dummy): New function.
19869 * normal/menu_text.c: Include <grub/i18n.h>.
19870 * normal/menu_text.c (print_timeout): Gettexttize string.
19871 * normal/menu_text.c (print_message): Gettexttize string.
19872 * po/POTFILES: Add `normal/menu_text.c'.
19873 * po/ca.po: Add new translations.
19874 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
19875 gettext module and defines locale_dir and lang in grub.cfg.
19876 * NEWS: Add gettext support.
19877
19878 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19879
19880 * util/hostdisk.c: Include `<grub/i18n.h>'.
19881 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
19882 (make_device_name): Rewrite using asprintf.
19883 (convert_system_partition_to_system_disk): Replace 0 with NULL.
19884 (find_system_device): If a device is not found, generate one just
19885 by reusing the OS path name.
19886 (read_device_map): Make it permissible for device.map not to exist.
19887
19888 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19889
19890 * script/sh/execute.c: Move from here ...
19891 * script/execute.c: ... to here. Update all users.
19892 * script/sh/function.c: Move from here ...
19893 * script/function.c: ... to here. Update all users.
19894 * script/sh/lexer.c: Move from here ...
19895 * script/lexer.c: ... to here. Update all users.
19896 * script/sh/main.c: Move from here ...
19897 * script/main.c: ... to here. Update all users.
19898 * script/sh/parser.y: Move from here ...
19899 * script/parser.y: ... to here. Update all users.
19900 * script/sh/script.c: Move from here ...
19901 * script/script.c: ... to here. Update all users.
19902
19903 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19904
19905 * configure.ac: Detect all `emu' platforms. Define
19906 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
19907 --enable-grub-emu logic. Disable include/grub/machine
19908 symlink on `emu' platforms.
19909
19910 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
19911 * gensymlist.sh.in: Likewise.
19912
19913 * include/grub/i386/coreboot/machine.h: Remove file.
19914 * include/grub/i386/efi/machine.h: Likewise.
19915 * include/grub/i386/ieee1275/machine.h: Likewise.
19916 * include/grub/i386/pc/machine.h: Likewise.
19917 * include/grub/i386/qemu/machine.h: Likewise.
19918 * include/grub/powerpc/ieee1275/machine.h: Likewise.
19919 * include/grub/sparc64/ieee1275/machine.h: Likewise.
19920 * include/grub/x86_64/efi/machine.h: Likewise.
19921
19922 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
19923 * commands/halt.c: Likewise.
19924 * commands/reboot.c: Likewise.
19925 * include/grub/autoefi.h: Likewise.
19926 * include/grub/i386/at_keyboard.h: Likewise.
19927 * include/grub/i386/kernel.h: Likewise.
19928 * include/grub/i386/loader.h: Likewise.
19929 * include/grub/i386/pc/memory.h: Likewise.
19930 * kern/dl.c: Likewise.
19931 * kern/i386/coreboot/init.c: Likewise.
19932 * loader/i386/bsd.c: Likewise.
19933 * loader/i386/linux.c: Likewise.
19934 * loader/multiboot_loader.c: Likewise.
19935 * term/i386/pc/serial.c: Likewise.
19936 * term/usb_keyboard.c: Likewise.
19937
19938 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
19939 `<grub/machine/machine.h>'
19940 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
19941 * util/misc.c: Remove `<grub/machine/machine.h>' and
19942 `<grub/machine/time.h>'.
19943
19944 * Makefile.in (enable_grub_emu): Remove variable.
19945 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
19946
19947 * conf/any-emu.rmk: New file.
19948 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
19949 (grub_emu_init.c): Move from here ...
19950 * conf/any-emu.rmk: ... to here.
19951
19952 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
19953 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
19954 * conf/any-emu.rmk: ... to here.
19955
19956 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19957
19958 * include/grub/parser.h (grub_parser_register): Document need
19959 of `name' parameter.
19960 * normal/main.c (grub_normal_read_line): Simplify prompt string.
19961 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
19962 "sh" to "grub".
19963
19964 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19965
19966 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
19967 `$(XGETTEXT)'.
19968 * include/grub/i18n.h (N_): New macro.
19969 * util/mkisofs/mkisofs.h: Likewise.
19970 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
19971 around N_().
19972 (usage): Use gettext() to translate help strings when printing them.
19973
19974 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19975
19976 Based on patch from Bean
19977 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
19978
19979 * video/efi_fb.c: New file.
19980 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
19981 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
19982 variables.
19983 * conf/x86_64-efi.rmk: Likewise.
19984
19985 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
19986
19987 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
19988 * util/i386/pc/grub-setup.c: Likewise.
19989
19990 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
19991
19992 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
19993 <hurd/fs.h>
19994 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
19995 file_get_storage_info to implement grub_guess_root_device.
19996
19997 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
19998
19999 * Makefile.in (target): Use make's builtin $(shell) function
20000 instead of calling directly $(SHELL) to create the locale directories,
20001 inside the $(foreach) function.
20002
20003 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
20004
20005 * util/grub-mkrescue.in: Print an error and usage if output option
20006 has not been given.
20007
20008 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
20009
20010 Patch from Loïc Minier <loic.minier@ubuntu.com>.
20011 * util/grub.d/30_os-prober.in: Cope with Linux entries where
20012 root and /boot are on different devices.
20013
20014 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
20015
20016 Fix build for srcdir != objdir.
20017
20018 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
20019 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
20020 $(srcdir).
20021 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
20022 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
20023 reference for input.
20024
20025 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
20026
20027 * util/grub-mkrescue.in: Use source directory direcly (without copiing
20028 or hardlinking it). Remove -J option, Joliet is not compatible with
20029 multiple source directories.
20030
20031 2009-11-21 Carles Pina i Estany <carles@pina.cat>
20032 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
20033
20034 * util/grub-mkrescue.in: Recognize `--override-directory' option.
20035 (process_input_dir): New function. Process an arbitrary input
20036 directory.
20037 Misc adjustments to support both "override mode" and system-wide mode.
20038
20039 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
20040
20041 * configure.ac (UNIFONT_BDF): Rename to ...
20042 (FONT_SOURCE): ... this. Update all users.
20043
20044 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
20045
20046 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
20047 to the list of unifont files to look for.
20048
20049 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
20050
20051 Patch from Joe Auricchio <jauricchio@gmail.com>
20052 * commands/minicmd.c (grub_mini_cmd_clear): New function.
20053 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
20054 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
20055
20056 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
20057
20058 * Makefile.in (install-local): Add a missing backslash.
20059
20060 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
20061
20062 * include/grub/x86_64/io.h: New file.
20063
20064 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
20065
20066 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
20067 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
20068 Include `"progname.h"'.
20069 (main): Initialize gettext.
20070 * util/i386/pc/grub-setup.c: Gettexttize.
20071 * util/i386/pc/grub-mkimage.c: Likewise.
20072
20073 * Makefile.in (po/*.po): Redefine as ...
20074 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
20075
20076 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
20077
20078 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
20079
20080 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
20081 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
20082 (program_name): Remove.
20083 (main): Initialize gettext support.
20084 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
20085 Include `<libintl.h>'.
20086 (_): New macro.
20087
20088 * util/mkisofs/eltorito.c: Gettexttize.
20089 * util/mkisofs/joliet.c: Likewise.
20090 * util/mkisofs/mkisofs.c: Likewise.
20091 * util/mkisofs/multi.c: Likewise.
20092 * util/mkisofs/rock.c: Likewise.
20093 * util/mkisofs/tree.c: Likewise.
20094 * util/mkisofs/write.c: Likewise.
20095
20096 * po/POTFILES: Update with new files.
20097
20098 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
20099
20100 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
20101 * util/mkisofs/iso9660.h: Likewise.
20102 * util/mkisofs/joliet.c: Likewise.
20103 * util/mkisofs/mkisofs.c: Likewise.
20104 * util/mkisofs/mkisofs.h: Likewise.
20105 * util/mkisofs/rock.c: Likewise.
20106 * util/mkisofs/tree.c: Likewise.
20107 * util/mkisofs/write.c: Likewise.
20108
20109 * util/mkisofs/eltorito.c (rcsid): Remove.
20110 * util/mkisofs/hash.c: Likewise.
20111 * util/mkisofs/joliet.c: Likewise.
20112 * util/mkisofs/name.c: Likewise.
20113 * util/mkisofs/rock.c: Likewise.
20114 * util/mkisofs/tree.c: Likewise.
20115 * util/mkisofs/write.c: Likewise.
20116
20117 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
20118
20119 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
20120 instead of static allocation.
20121 * util/mkisofs/match.h: Likewise.
20122
20123 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
20124
20125 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
20126 and `util/grub.d/10_linux.in'.
20127 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
20128 translatable Shell files.
20129
20130 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
20131
20132 * Makefile.in ($(srcdir)/aclocal.m4): New target.
20133
20134 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20135
20136 * INSTALL: Document Automake is needed for bootstrap.
20137 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
20138 * util/grub.d/10_kfreebsd.in (bindir): New variable.
20139 Add gettext initialization.
20140 (kfreebsd_entry): Make menuentry output translatable.
20141
20142 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20143
20144 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
20145 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
20146 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
20147 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
20148 (LINGUAS): Auto-generate using `po/LINGUAS'.
20149 * po/LINGUAS: New file.
20150
20151 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20152
20153 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
20154 other things).
20155 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
20156 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
20157 bindtextdomain() calls for gettext initialization.
20158
20159 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20160
20161 * gnulib/progname.c: New file (imported from Gnulib).
20162 * gnulib/progname.h: Likewise.
20163 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
20164 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
20165 (usage): Replace `progname' with `program_name'.
20166 (main): Use set_program_name() for program name initialization.
20167
20168 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20169
20170 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
20171 from here ...
20172 * Makefile.in (CPPFLAGS): ... to here.
20173
20174 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20175
20176 * aclocal.m4: Move from here ...
20177 * acinclude.m4: ... to here.
20178 * autogen.sh: Add call to `aclocal'.
20179 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
20180
20181 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20182
20183 * Makefile.in (CLEANFILES): Add `po/*.mo'.
20184 (LINGUAS): New variable.
20185 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
20186 (install-local): Install MO files.
20187 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
20188 * include/grub/i18n.h: New file.
20189 * po/POTFILES: New file.
20190 * po/ca.po: New file.
20191 * util/grub.d/10_linux.in (bindir): New variable.
20192 Add gettext initialization.
20193 (linux_entry): Make menuentry output translatable.
20194 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
20195 (usage): Make --help output translatable.
20196 (main): Initialize gettext.
20197
20198 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20199
20200 * import_gcry.py: New file (written by Vladimir with minor
20201 adjustments).
20202 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
20203 ciphers.
20204 * INSTALL: Document that Python is required for bootstrap.
20205
20206 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
20207
20208 Import ciphers from libgcrypt 1.4.4.
20209
20210 * lib/libgcrypt/cipher/ChangeLog
20211 * lib/libgcrypt/cipher/ac.c
20212 * lib/libgcrypt/cipher/arcfour.c
20213 * lib/libgcrypt/cipher/bithelp.h
20214 * lib/libgcrypt/cipher/blowfish.c
20215 * lib/libgcrypt/cipher/camellia-glue.c
20216 * lib/libgcrypt/cipher/camellia.c
20217 * lib/libgcrypt/cipher/camellia.h
20218 * lib/libgcrypt/cipher/cast5.c
20219 * lib/libgcrypt/cipher/cipher.c
20220 * lib/libgcrypt/cipher/crc.c
20221 * lib/libgcrypt/cipher/des.c
20222 * lib/libgcrypt/cipher/dsa.c
20223 * lib/libgcrypt/cipher/ecc.c
20224 * lib/libgcrypt/cipher/elgamal.c
20225 * lib/libgcrypt/cipher/hash-common.c
20226 * lib/libgcrypt/cipher/hash-common.h
20227 * lib/libgcrypt/cipher/hmac-tests.c
20228 * lib/libgcrypt/cipher/md.c
20229 * lib/libgcrypt/cipher/md4.c
20230 * lib/libgcrypt/cipher/md5.c
20231 * lib/libgcrypt/cipher/primegen.c
20232 * lib/libgcrypt/cipher/pubkey.c
20233 * lib/libgcrypt/cipher/rfc2268.c
20234 * lib/libgcrypt/cipher/rijndael-tables.h
20235 * lib/libgcrypt/cipher/rijndael.c
20236 * lib/libgcrypt/cipher/rmd.h
20237 * lib/libgcrypt/cipher/rmd160.c
20238 * lib/libgcrypt/cipher/rsa.c
20239 * lib/libgcrypt/cipher/seed.c
20240 * lib/libgcrypt/cipher/serpent.c
20241 * lib/libgcrypt/cipher/sha1.c
20242 * lib/libgcrypt/cipher/sha256.c
20243 * lib/libgcrypt/cipher/sha512.c
20244 * lib/libgcrypt/cipher/tiger.c
20245 * lib/libgcrypt/cipher/twofish.c
20246 * lib/libgcrypt/cipher/whirlpool.c
20247
20248 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20249
20250 Fix build for systems without error().
20251
20252 * gnulib/error.c: New file (imported from Gnulib).
20253 * gnulib/error.h: Likewise.
20254 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
20255 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
20256 (this variable is now used by error()).
20257
20258 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
20259
20260 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
20261 instead of relying that char is signed.
20262
20263 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
20264
20265 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
20266 blocksize different from specified.
20267 (grub_pxefs_read): Likewise.
20268
20269 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
20270
20271 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
20272
20273 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
20274 (grub_ata_readwrite): Likewise. Update 2 format strings.
20275 (grub_atapi_read): Likewise.
20276
20277 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
20278 * conf/i386.rmk (pkglib_MODULES): ... to here ...
20279 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
20280 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
20281 (ata_mod_LDFLAGS): Move from here ...
20282 * conf/i386.rmk: ... to here ...
20283 * conf/x86_64-efi.rmk: ... and here.
20284 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
20285 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
20286
20287 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
20288
20289 Relicense multiboot.h, with RMS' blessing.
20290
20291 * include/multiboot.h: Change to X11 license.
20292
20293 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
20294
20295 Support --version in grub-mkisofs.
20296
20297 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
20298 (OPTION_VERSION): New macro.
20299 (ld_options): Recognize --version.
20300 (usage): Move `program_name' from here ...
20301 (program_name): ... to here. Add `static' qualifier.
20302 (main): Recognize `OPTION_VERSION'.
20303
20304 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
20305
20306 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
20307 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
20308
20309 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
20310
20311 Fix help2man generation for mkisofs.
20312
20313 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
20314 (usage): Send output to stdout (rather than stderr).
20315
20316 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
20317
20318 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
20319 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
20320 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
20321 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
20322 (bin_SCRIPTS): Add `grub-mkfloppy'.
20323 (grub_mkfloppy_SOURCES): New variable.
20324
20325 * util/grub-mkrescue.in: New file.
20326 * util/i386/pc/grub-mkfloppy.in: New file.
20327
20328 * util/i386/coreboot/grub-mkrescue.in: Remove.
20329 * util/i386/pc/grub-mkrescue.in: Remove.
20330
20331 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20332
20333 * include/grub/multiboot.h (struct grub_multiboot_header): Move
20334 from here ...
20335 * include/multiboot.h (struct multiboot_header): ... to here. Update
20336 all users.
20337 * include/grub/multiboot.h (struct grub_multiboot_info): Move
20338 from here ...
20339 * include/multiboot.h (struct multiboot_info): ... to here. Update
20340 all users.
20341 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
20342 from here ...
20343 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
20344 Update all users.
20345 * include/grub/multiboot.h (struct grub_mod_list): Move
20346 from here ...
20347 * include/multiboot.h (struct multiboot_mod_list): ... to here.
20348 Update all users.
20349
20350 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20351
20352 * include/multiboot2.h (multiboot_word): Rename from this ...
20353 (multiboot2_word): ... to this. Update all users.
20354 (multiboot_header): Rename from this ...
20355 (multiboot2_header): ... to this. Update all users.
20356 (multiboot_tag_header): Rename from this ...
20357 (multiboot2_tag_header): ... to this. Update all users.
20358 (multiboot_tag_start): Rename from this ...
20359 (multiboot2_tag_start): ... to this. Update all users.
20360 (multiboot_tag_name): Rename from this ...
20361 (multiboot2_tag_name): ... to this. Update all users.
20362 (multiboot_tag_module): Rename from this ...
20363 (multiboot2_tag_module): ... to this. Update all users.
20364 (multiboot_tag_memory): Rename from this ...
20365 (multiboot2_tag_memory): ... to this. Update all users.
20366 (multiboot_tag_unused): Rename from this ...
20367 (multiboot2_tag_unused): ... to this. Update all users.
20368 (multiboot_tag_end): Rename from this ...
20369 (multiboot2_tag_end): ... to this. Update all users.
20370
20371 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
20372
20373 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
20374 this platform we should support Multiboot1 first.
20375
20376 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
20377 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
20378 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
20379
20380 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
20381
20382 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
20383 of write calls (converting them to fwrite() if they aren't already).
20384 (get_torito_desc): Likewise.
20385 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
20386
20387 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
20388
20389 * util/i386/pc/grub-install.in: Move from here ...
20390 * util/grub-install.in: ... to here. Update all users.
20391
20392 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
20393
20394 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
20395
20396 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
20397
20398 Support for El Torito without floppy emulation.
20399
20400 * util/mkisofs/eltorito.c: Include `<errno.h>'.
20401 (init_boot_catalog): Improve error handling.
20402 (get_torito_desc): Don't use floppy emulation unless requested by
20403 user. Patch boot information table when requested via
20404 `-boot-info-table'.
20405 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
20406 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
20407 (use_boot_info_table): New variables.
20408 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
20409 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
20410 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
20411 `--eltorito-emul-floppy'.
20412 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
20413 and `OPTION_ELTORITO_EMUL_FLOPPY'.
20414 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
20415 (use_boot_info_table, get_731): New prototypes.
20416 * util/mkisofs/write.c (get_731): New function.
20417
20418 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
20419
20420 Fix the generation of the man page.
20421
20422 * util/pc/i386/grub-install.in: Source
20423 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
20424
20425 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
20426
20427 Large file support for grub-mkisofs.
20428
20429 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
20430 * util/mkisofs/mkisofs.c (next_extent, last_extent)
20431 (session_start): Upgrade type to `uint64_t'. Update all users.
20432 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
20433 (struct directory_entry): Upgrade type of `starting_block' and
20434 `size' to `uint64_t'. Update all users.
20435 (struct deferred): Remove unused structure.
20436 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
20437 Update all users.
20438 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
20439 file is larger than `UINT32_MAX'.
20440 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
20441 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
20442 return value.
20443 (struct deferred_write): Upgrade type of `extent' and `size' to
20444 `uint64_t'. Update all users.
20445 (last_extent_written): Upgrade type to `uint64_t'. Update all
20446 users.
20447 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
20448 Update all users. Upgrade type of `remain' to `int64_t' and
20449 `use' to `size_t'. Use error() to handle fread() errors.
20450 (write_files): Rely on write_one_file() rather than calling
20451 xfwrite() directly.
20452
20453 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
20454
20455 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
20456
20457 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20458
20459 * util/mkisofs/fnmatch.c: Remove.
20460 * util/mkisofs/getopt1.c: Likewise.
20461 * util/mkisofs/getopt.c: Likewise.
20462 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
20463 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
20464 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
20465 `gnulib/getopt1.c' and `gnulib/getopt.c'.
20466 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
20467
20468 * configure.ac: Detect `mingw32msvc' host_os.
20469 Check for lstat(), getuid() and getgid().
20470
20471 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
20472 instances of `u_char' with `uint8_t'.
20473
20474 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
20475 [!HAVE_GETUID] (getuid): New function (stub).
20476 [!HAVE_GETGID] (getgid): Likewise.
20477 [!HAVE_LSTAT] (lstat): Likewise.
20478 [!S_IROTH] (S_IROTH): New macro (dummy).
20479 [!S_IRGRP] (S_IRGRP): Likewise.
20480
20481 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20482
20483 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
20484 conditional expression).
20485
20486 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20487
20488 Import from Gnulib.
20489
20490 * gnulib/fnmatch.c: New file.
20491 * gnulib/fnmatch.h: Likewise.
20492 * gnulib/fnmatch_loop.c: Likewise.
20493 * gnulib/getopt.c: Likewise.
20494 * gnulib/getopt.h: Likewise.
20495 * gnulib/getopt1.c: Likewise.
20496 * gnulib/getopt_int.h: Likewise.
20497 * gnulib/gettext.h: Likewise.
20498
20499 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20500
20501 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
20502 * normal/handler.c (read_handler_list): Likewise.
20503
20504 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20505
20506 Misc cleanup.
20507
20508 * kern/command.c (grub_register_command_prio): Use
20509 grub_zalloc() instead of explicitly zeroing data.
20510 * kern/list.c: Include `<grub/mm.h>'.
20511 (grub_named_list_find): Replace `0' with `NULL'.
20512 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
20513 (fs_module_list): Change type to `grub_named_list_t'. Update all
20514 users.
20515 * normal/dyncmd.c (read_command_list): Add space between function
20516 call and parenthesis.
20517 * normal/handler.c (read_handler_list): Likewise.
20518
20519 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20520
20521 * normal/auth.c (punishment_delay): Moved from here ...
20522 (grub_auth_strcmp): ... to here (inside function).
20523
20524 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20525
20526 * include/grub/list.h (struct grub_named_list): Remove `const'
20527 qualifier from `name'.
20528 (struct grub_prio_list): Likewise.
20529
20530 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20531
20532 * normal/auth.c: Include `<grub/time.h>'.
20533 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
20534
20535 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20536
20537 * normal/auth.c (punishment_delay): New variable.
20538 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
20539 (grub_auth_check_authentication): Punish failed login attempts with
20540 an incremental (2^N) delay.
20541
20542 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20543
20544 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
20545 path with $(srcdir).
20546
20547 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
20548
20549 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
20550
20551 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
20552
20553 * util/i386/coreboot/grub-mkrescue.in: New file.
20554 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
20555 variables.
20556
20557 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
20558 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
20559 * configure.ac: Add header and function checks to satisfy grub-mkisofs
20560 requirements.
20561 * util/mkisofs/defaults.h: New file.
20562 * util/mkisofs/eltorito.c: Likewise.
20563 * util/mkisofs/exclude.h: Likewise.
20564 * util/mkisofs/fnmatch.c: Likewise.
20565 * util/mkisofs/getopt.c: Likewise.
20566 * util/mkisofs/getopt1.c: Likewise.
20567 * util/mkisofs/hash.c: Likewise.
20568 * util/mkisofs/include/fctldefs.h: Likewise.
20569 * util/mkisofs/include/mconfig.h: Likewise.
20570 * util/mkisofs/include/prototyp.h: Likewise.
20571 * util/mkisofs/include/statdefs.h: Likewise.
20572 * util/mkisofs/iso9660.h: Likewise.
20573 * util/mkisofs/joliet.c: Likewise.
20574 * util/mkisofs/match.c: Likewise.
20575 * util/mkisofs/match.h: Likewise.
20576 * util/mkisofs/mkisofs.c: Likewise.
20577 * util/mkisofs/mkisofs.h: Likewise.
20578 * util/mkisofs/multi.c: Likewise.
20579 * util/mkisofs/name.c: Likewise.
20580 * util/mkisofs/rock.c: Likewise.
20581 * util/mkisofs/tree.c: Likewise.
20582 * util/mkisofs/write.c: Likewise.
20583
20584 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
20585
20586 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
20587 being insecure.
20588
20589 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20590
20591 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
20592 `grub-mkimage' (and use $0 when possible).
20593
20594 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20595
20596 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
20597 error message for excessively large memory map.
20598
20599 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20600
20601 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
20602 executable bit.
20603
20604 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
20605
20606 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
20607 message for coreboot users.
20608
20609 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
20610
20611 Fix build with GNU gold.
20612
20613 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
20614 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
20615 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
20616 link addresses.
20617 * aclocal.m4: Likewise.
20618
20619 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
20620
20621 * configure.ac (AC_PREREQ): Bump to 2.59d.
20622 * INSTALL: Make it more clear when Autoconf and Ruby are
20623 needed and when to run `./autogen.sh'.
20624
20625 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
20626
20627 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
20628 OSes.
20629
20630 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20631
20632 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
20633
20634 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20635
20636 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
20637 giving it to GNU Mach.
20638
20639 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20640
20641 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
20642 GNU partition number to get internal GRUB partition number.
20643
20644 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
20645
20646 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
20647 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
20648
20649 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
20650
20651 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
20652 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
20653 case.
20654
20655 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
20656
20657 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
20658
20659 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
20660
20661 Fix build problem.
20662
20663 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
20664 `-isystem=$(srcdir)/include'.
20665
20666 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
20667
20668 * util/i386/pc/grub-install.in: Remove hint that device.map should be
20669 checked (grub-install doesn't currently rely on it).
20670
20671 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
20672
20673 Revert SVN r2660.
20674
20675 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
20676 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
20677 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
20678 * conf/i386-ieee1275.rmk: Likewise.
20679 * conf/i386-pc.rmk: Likewise.
20680 * conf/powerpc-ieee1275.rmk: Likewise.
20681 * conf/sparc64-ieee1275.rmk: Likewise.
20682 * conf/x86_64-efi.rmk: Likewise.
20683
20684 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20685
20686 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
20687
20688 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20689
20690 * include/grub/misc.h: Stop checking for APPLE_CC.
20691
20692 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
20693
20694 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
20695 doesn't cause an infinite call loop.
20696
20697 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
20698
20699 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
20700 strings.
20701
20702 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20703
20704 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
20705 variable.
20706 * Makefile.in: Likewise.
20707
20708 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20709
20710 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
20711
20712 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20713
20714 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
20715
20716 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20717
20718 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
20719
20720 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20721
20722 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
20723 from here ...
20724 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
20725
20726 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20727
20728 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
20729 in $(MAKEINFO) invocation. This makes it clear in output that
20730 errors are being ignored.
20731
20732 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20733
20734 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
20735 from here ...
20736 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
20737 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
20738 * conf/i386-ieee1275.rmk: Likewise.
20739 * conf/i386-pc.rmk: Likewise.
20740 * conf/powerpc-ieee1275.rmk: Likewise.
20741 * conf/sparc64-ieee1275.rmk: Likewise.
20742 * conf/x86_64-efi.rmk: Likewise.
20743
20744 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
20745
20746 * util/grub-editenv.c (main): If only a command is given, use
20747 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
20748 (usage): FILENAME is now optional and has a default.
20749
20750 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
20751
20752 Improve grub-mkconfig performance when there are several menu
20753 entries on a single filesystem.
20754
20755 * util/grub.d/10_linux.in (linux_entry): Cache the output of
20756 prepare_grub_to_access_device.
20757 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20758 * util/grub.d/30_os-prober.in: Likewise.
20759
20760 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20761
20762 * util/grub.d/10_freebsd.in: Remove.
20763 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
20764 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
20765
20766 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20767
20768 * docs/grub.cfg: Fix example usage of *BSD loaders.
20769
20770 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20771
20772 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
20773 grub_util_error() call.
20774
20775 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20776
20777 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
20778 `reserved_first_sector' member.
20779 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
20780 `reserved_first_sector' to 1.
20781 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
20782 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
20783 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
20784 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
20785 filesystems which begin at first sector.
20786 (options): New option --skip-fs-probe.
20787 (main): Handle --skip-fs-probe and pass it to setup().
20788
20789 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20790
20791 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
20792 (memset): Fix function prototype.
20793
20794 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20795 2009-10-25 Vasily Averin <vvs@parallels.com>
20796
20797 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
20798 `dirent.direntlen == 0'.
20799
20800 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20801
20802 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
20803 `cpio'.
20804 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
20805
20806 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20807
20808 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
20809 `__trampoline_setup' and `__ucmpdi2'.
20810 * include/grub/powerpc/libgcc.h: Only export symbols for functions
20811 that libgcc provides.
20812
20813 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20814
20815 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
20816 * include/grub/sparc64/libgcc.h (memset): Likewise.
20817 * include/grub/misc.h (memset, memcmp): New function prototypes.
20818
20819 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20820
20821 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
20822 `cpio'.
20823 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
20824
20825 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20826
20827 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
20828 * docs/grub.cfg: Compensate for recent change in multiboot
20829 loader (since 2009-08-14 it won't pass filename to payload).
20830 * util/grub.d/10_hurd.in: Likewise.
20831
20832 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
20833
20834 * config.guess: Update to latest version from config git
20835 repository.
20836 * config.sub: Likewise.
20837
20838 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
20839
20840 Fix build on sparc64.
20841
20842 * configure.ac: Perform checks for libgcc symbols before
20843 adding `-nostdlib' to LDFLAGS.
20844
20845 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20846
20847 Let user specify OpenBSD root device.
20848
20849 * loader/i386/bsd.c (openbsd_root): New variable.
20850 (openbsd_opts): New option 'root'.
20851 (OPENBSD_ROOT_ARG): New macro.
20852 (grub_openbsd_boot): Use 'openbsd_root'.
20853 (grub_cmd_openbsd): Fill 'openbsd_root'.
20854
20855 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20856
20857 * NEWS: Misc adjustments.
20858
20859 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20860
20861 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
20862
20863 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20864
20865 * configure.ac: Bump version to 1.97.
20866
20867 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
20868
20869 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
20870 -mno-3dnow on x86 architectures. Some toolchains enable these
20871 features by default, but they rely on registers that aren't enabled
20872 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
20873
20874 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
20875
20876 Make entry text a bit more readable.
20877
20878 * util/grub.d/10_linux.in: Add `with' before `Linux'.
20879
20880 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20881
20882 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
20883
20884 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20885
20886 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
20887 operations.
20888
20889 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20890
20891 * configure.ac: Add missing dollar.
20892
20893 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20894
20895 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
20896
20897 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
20898 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
20899 exports.
20900 * include/grub/sparc64/libgcc.h: Likewise. Use
20901 preprocessor conditionals.
20902
20903 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20904
20905 * conf/common.rmk (grub-dumpbios): Remove rule.
20906 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
20907 * util/grub-dumpbios.in: Remove file.
20908
20909 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20910
20911 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
20912 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
20913
20914 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
20915 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
20916 users.
20917
20918 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
20919 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
20920 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
20921 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
20922 users.
20923
20924 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
20925
20926 * term/tparm.c: Switch to GPLv3.
20927
20928 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20929
20930 * include/grub/i386/cpuid.h: Add header protection.
20931
20932 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20933
20934 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
20935
20936 * include/grub/i386/cpuid.h: New file.
20937 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
20938 (has_longmode): Rename to ...
20939 (grub_cpuid_has_longmode): ... this. Update all users. Remove
20940 `static' attribute.
20941 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
20942 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
20943 on a CPU that doesn't implement AMD64 instruction set.
20944
20945 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
20946
20947 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
20948 that version.texi is rebuilt on version number changes.
20949
20950 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
20951
20952 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
20953 Fixes bug #27602.
20954
20955 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
20956
20957 * util/i386/pc/grub-install.in: Source
20958 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
20959 that the --grub-probe option will work.
20960 * util/sparc64/ieee1275/grub-install.in: Likewise.
20961
20962 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
20963
20964 * configure.ac: Bump version to 1.97~beta4.
20965
20966 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
20967
20968 Resync grub-mkdevicemap in x86_64-efi.
20969
20970 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
20971 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
20972 `util/devicemap.c'.
20973
20974 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
20975
20976 * util/grub-editenv.c (create_envblk_file): Write new block with a
20977 .new suffix and then rename it into place, to ensure atomic
20978 creation.
20979
20980 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
20981
20982 Do not automatically install headers.
20983
20984 * Makefile.in (include_DATA): Remove. Update all users.
20985
20986 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
20987
20988 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
20989 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
20990
20991 * util/osdetect.lua: Remove.
20992 * script/lua/lauxlib.c: Likewise.
20993 * script/lua/ldebug.c: Likewise.
20994 * script/lua/grub_main.c: Likewise.
20995 * script/lua/lauxlib.h: Likewise.
20996 * script/lua/ldebug.h: Likewise.
20997 * script/lua/ltablib.c: Likewise.
20998 * script/lua/liolib.c: Likewise.
20999 * script/lua/lstrlib.c: Likewise.
21000 * script/lua/lualib.h: Likewise.
21001 * script/lua/ldo.c: Likewise.
21002 * script/lua/ldump.c: Likewise.
21003 * script/lua/ldo.h: Likewise.
21004 * script/lua/loslib.c: Likewise.
21005 * script/lua/lundump.c: Likewise.
21006 * script/lua/grub_lib.c: Likewise.
21007 * script/lua/ldblib.c: Likewise.
21008 * script/lua/lundump.h: Likewise.
21009 * script/lua/lmem.c: Likewise.
21010 * script/lua/grub_lib.h: Likewise.
21011 * script/lua/lmathlib.c: Likewise.
21012 * script/lua/lstate.c: Likewise.
21013 * script/lua/ltm.c: Likewise.
21014 * script/lua/lvm.c: Likewise.
21015 * script/lua/lmem.h: Likewise.
21016 * script/lua/lstate.h: Likewise.
21017 * script/lua/ltm.h: Likewise.
21018 * script/lua/ltable.c: Likewise.
21019 * script/lua/lvm.h: Likewise.
21020 * script/lua/llex.c: Likewise.
21021 * script/lua/lgc.c: Likewise.
21022 * script/lua/grub_lua.h: Likewise.
21023 * script/lua/loadlib.c: Likewise.
21024 * script/lua/lfunc.c: Likewise.
21025 * script/lua/lopcodes.c: Likewise.
21026 * script/lua/lparser.c: Likewise.
21027 * script/lua/ltable.h: Likewise.
21028 * script/lua/llex.h: Likewise.
21029 * script/lua/lgc.h: Likewise.
21030 * script/lua/lfunc.h: Likewise.
21031 * script/lua/lbaselib.c: Likewise.
21032 * script/lua/lopcodes.h: Likewise.
21033 * script/lua/lparser.h: Likewise.
21034 * script/lua/lzio.c: Likewise.
21035 * script/lua/linit.c: Likewise.
21036 * script/lua/lobject.c: Likewise.
21037 * script/lua/llimits.h: Likewise.
21038 * script/lua/lstring.c: Likewise.
21039 * script/lua/lzio.h: Likewise.
21040 * script/lua/lapi.c: Likewise.
21041 * script/lua/lcode.c: Likewise.
21042 * script/lua/lua.h: Likewise.
21043 * script/lua/lobject.h: Likewise.
21044 * script/lua/lstring.h: Likewise.
21045 * script/lua/lapi.h: Likewise.
21046 * script/lua/lcode.h: Likewise.
21047 * script/lua/luaconf.h: Likewise.
21048
21049 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
21050
21051 * docs/grub.texi (Command-line and menu entry commands): Document
21052 date and echo commands.
21053
21054 2009-09-24 Pavel Roskin <proski@gnu.org>
21055
21056 * include/grub/kernel.h (struct grub_module_header): Remove
21057 `grub_module_header_types'. Make `type' unsigned. Make `size'
21058 32-bit on all platforms.
21059 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
21060 8-bit field. Use grub_host_to_target32() for `size'.
21061 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
21062 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
21063 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
21064
21065 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
21066
21067 Fix "lost keypress" bug in at_keyboard.
21068
21069 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
21070 Checks for readyness of input buffer (without flushing it).
21071 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
21072 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
21073
21074 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
21075
21076 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
21077 size check within GRUB_MACHINE_PCBIOS section.
21078
21079 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
21080
21081 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
21082 return value.
21083 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
21084 KEYBOARD_ISREADY check.
21085 (grub_at_keyboard_checkkey): Rename to ...
21086 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
21087 Remove gratuitous cast.
21088
21089 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
21090
21091 * configure.ac: Call AC_PROG_MKDIR_P.
21092 * Makefile.in (docs/stamp-vti): Create docs directory. Create
21093 version.texi in $(builddir) rather than $(srcdir).
21094 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
21095 to makeinfo's @include search path.
21096
21097 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
21098
21099 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
21100
21101 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
21102
21103 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
21104 for `*.dpkg-new'.
21105
21106 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
21107
21108 Build info documentation. Some code borrowed from Automake.
21109
21110 * configure.ac: Check for makeinfo.
21111 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
21112 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
21113 docs/version.texi.
21114 (MOSTLYCLEANFILES): Add vti.tmp.
21115 (docs/version.texi, docs/stamp-vti): Update automatically.
21116 (docs/grub.info): Build info documentation. Use --force and ignore
21117 errors for now.
21118 (all-local): Add $(INFOS).
21119 (install-local): Install info files.
21120 (uninstall): Uninstall info files.
21121 * docs/version.texi: Remove from revision control. This file is
21122 automatically generated on build now.
21123 * gendistlist.sh: Add `*.info'.
21124
21125 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
21126
21127 * kern/term.c: Fix indentation.
21128
21129 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
21130
21131 * util/hostdisk.c: Fix a comment.
21132
21133 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
21134
21135 Fix regression introduced in r2539.
21136
21137 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
21138 to 0xA1.
21139
21140 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
21141
21142 * util/grub.d/30_os-prober.in: Don't throw away stderr from
21143 os-prober. Under normal operation, it does not print anything to
21144 stderr; if it does, we need to debug it, and throwing away stderr
21145 makes that excessively difficult.
21146
21147 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
21148
21149 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
21150
21151 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
21152
21153 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
21154 AC_LANG_PROGRAM from autoconf.
21155 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
21156 prototypes (fixes warning).
21157
21158 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
21159 `--disable-werror' was used.
21160
21161 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
21162
21163 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
21164 uninitialized `lastaddr'.
21165
21166 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
21167
21168 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
21169
21170 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
21171
21172 * commands/test.c (get_fileinfo): Return immediately if
21173 grub_fs_probe fails.
21174
21175 2009-09-14 José Martínez <xosemp@gmail.com>
21176
21177 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
21178
21179 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
21180
21181 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
21182 output.
21183
21184 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
21185
21186 * configure.ac: Remove --enable-grub-pe2elf. Only build
21187 grub-pe2elf when needed by the build system itself.
21188 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
21189
21190 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
21191
21192 * configure.ac: Bump version to 1.97~beta3.
21193 * docs/version.texi: Likewise.
21194
21195 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
21196
21197 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
21198 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
21199 from here ...
21200 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
21201 (grub_linux_setup_video): ... to here (with some adjustments).
21202
21203 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
21204
21205 Fix memory corruption issue (spotted by Colin Watson).
21206
21207 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
21208 causing returned size to be stored in an incorrect memory location.
21209 Fix use of uninitialized value when storing the returned size.
21210
21211 2009-09-12 Yves Blusseau <blusseau@zetam.org>
21212
21213 Change clean rules to properly remove files
21214
21215 * genmk.rb: add new clean rules
21216 * Makefile.in (clean): add the new targets
21217 (mostlyclean): likewise
21218
21219 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
21220
21221 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
21222 to grub_uint64_t.
21223 * fs/ntfs.c (init_file): Understand 64-bit sizes for
21224 non-resident files.
21225
21226 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
21227
21228 * configure.ac: Don't look for help2man when cross-compiling. Fixes
21229 part of bug #27349.
21230
21231 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
21232
21233 * util/grub-mkconfig.in: Make the created config mode 400 and
21234 print a warning if it fails.
21235
21236 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
21237
21238 * util/grub.d/40_custom.in: Ask user to type custom entries below
21239 comment, rather than below 'exec tail' line.
21240
21241 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
21242
21243 * util/grub.d/40_custom.in: Make sure that the explanatory text is
21244 visible in grub.cfg.
21245
21246 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
21247
21248 * util/grub.d/40_custom.in: Make it a little clearer how to use this
21249 file.
21250
21251 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
21252
21253 * docs/grub.cfg: Add an example menu entry for memtest86+.
21254
21255 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
21256
21257 * config.guess: Update to latest version from config git.
21258 * config.sub: Likewise.
21259
21260 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
21261
21262 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
21263 unknown-command case. Fixes bug #27320.
21264
21265 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
21266
21267 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
21268 `help' if the command exists.
21269
21270 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
21271
21272 * INSTALL: Require GCC 4.1.3 or later.
21273
21274 2009-09-06 Yves Blusseau <blusseau@zetam.org>
21275
21276 * Makefile.in (RMKFILES): add i386-qemu.rmk
21277 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
21278 $(srcdir)/stamp-h.in
21279
21280 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
21281
21282 * util/grub-probe.c (probe): Comment out buggy codepath, which
21283 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
21284 should be re-enabled after 1.97.
21285
21286 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
21287
21288 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
21289 find searches for.
21290
21291 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
21292
21293 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
21294 unnecessary calls to grub_error.
21295
21296 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
21297
21298 * NEWS: Mention `keystatus' and Unicode fonts.
21299
21300 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
21301
21302 * configure.ac: Bump version to 1.97~beta2.
21303 * docs/version.texi: Likewise.
21304
21305 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
21306
21307 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
21308 containing unwind information in some cases where it previously did
21309 not. Use -fno-dwarf2-cfi-asm if available to restore the old
21310 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
21311 discussion.
21312
21313 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
21314
21315 Embedding loadenv module into grub-emu
21316
21317 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
21318 commands/loadenv.c
21319 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
21320 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
21321 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
21322 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
21323 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
21324 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
21325
21326 2009-09-03 Magnus Granberg <zorry@ume.nu>
21327
21328 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
21329 include -fPIE in the default specs.
21330 * configure.ac: Check if pie_possible is yes and add -fno-PIE
21331 to TARGET_CFLAGS.
21332
21333 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
21334
21335 * INSTALL: Note that GNU Bison 2.3 or later is required.
21336
21337 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
21338
21339 * kern/i386/pc/startup.S: Fix typo.
21340
21341 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
21342
21343 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
21344 according to GCS.
21345
21346 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
21347
21348 * docs/grub.texi (Naming convention): Describe one-based partition
21349 numbering.
21350 (Device syntax): Likewise.
21351 (File name syntax): Likewise.
21352 (Block list syntax): Likewise.
21353 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
21354 menu.lst.
21355 (File name syntax): Likewise.
21356 (Command-line and menu entry commands): Document acpi, blocklist,
21357 crc, export, insmod, keystatus, ls, set, and unset commands.
21358
21359 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
21360
21361 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
21362 to avoid implying that only one of --shift, --ctrl, or --alt may be
21363 used.
21364
21365 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
21366
21367 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
21368 rather than comparing against S_IFREG, which will almost never work.
21369
21370 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
21371
21372 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
21373 (write_blocklists): Likewise.
21374
21375 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
21376
21377 * script/lua/grub_lua.h (fputs): Supply a format string as the first
21378 argument to grub_printf.
21379
21380 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
21381
21382 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
21383 non GNU test.
21384
21385 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21386
21387 * kern/file.c (grub_file_read): Spelling fix
21388
21389 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
21390
21391 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
21392 loading of headers in some cases.
21393
21394 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
21395
21396 * configure.ac: Bump version to 1.97~beta1.
21397 * docs/version.texi: Likewise.
21398
21399 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
21400
21401 * include/grub/i386/xnu.h: Add license header.
21402 include grub/err.h explicitly.
21403
21404 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
21405
21406 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
21407 to `ufs' in the vfs.root.mountfrom kernel parameter.
21408
21409 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
21410
21411 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
21412
21413 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
21414 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
21415
21416 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
21417 `ARRAY_SIZE' macro.
21418
21419 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21420
21421 * kern/file.c (grub_file_read): Check offset.
21422 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
21423 * fs/jfs.c (grub_jfs_read_file): Likewise.
21424 * fs/ntfs.c (grub_ntfs_read): Likewise.
21425 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
21426 * fs/minix.c (grub_minix_read_file): Correct offset check.
21427 * fs/ufs.c (grub_ufs_read_file): Likewise.
21428
21429 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
21430
21431 * term/i386/pc/console.c (bios_data_area): Cast
21432 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
21433
21434 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21435
21436 1-bit optimised blitters.
21437
21438 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
21439 prototype.
21440 (grub_video_fbblit_replace_24bit_1bit): Likewise.
21441 (grub_video_fbblit_replace_16bit_1bit): Likewise.
21442 (grub_video_fbblit_replace_8bit_1bit): Likewise.
21443 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
21444 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
21445 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
21446 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
21447 function.
21448 (grub_video_fbblit_replace_24bit_1bit): Likewise.
21449 (grub_video_fbblit_replace_16bit_1bit): Likewise.
21450 (grub_video_fbblit_replace_8bit_1bit): Likewise.
21451 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
21452 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
21453 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
21454 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
21455 when possible.
21456 * video/video.c (grub_video_get_blit_format): Return
21457 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
21458
21459 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
21460
21461 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
21462 the first argument to grub_printf.
21463
21464 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
21465 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
21466
21467 Add `getkeystatus' terminal method. Add a new `keystatus' command
21468 to query it.
21469
21470 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
21471 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
21472 modifier key bitmasks.
21473 (struct grub_term_input): Add `getkeystatus' member.
21474 (grub_getkeystatus): Add prototype.
21475 * kern/term.c (grub_getkeystatus): New function.
21476
21477 * include/grub/i386/pc/memory.h
21478 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
21479 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
21480 Data Area layout.
21481 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
21482 (grub_console_term_input): Set `getkeystatus' member.
21483 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
21484 constants.
21485 (grub_usb_keyboard_getreport): Likewise.
21486 (grub_usb_keyboard_checkkey): Likewise.
21487 (grub_usb_keyboard_getkeystatus): New function.
21488 (grub_usb_keyboard_term): Set `getkeystatus' member.
21489
21490 * commands/keystatus.c: New file.
21491 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
21492 (keystatus_mod_SOURCES): New variable.
21493 (keystatus_mod_CFLAGS): Likewise.
21494 (keystatus_mod_LDFLAGS): Likewise.
21495 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
21496 commands/keystatus.c.
21497 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21498 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21499 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21500 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21501 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21502 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21503
21504 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
21505
21506 Split befs.mod and afs.mod into *_be.mod and *.mod
21507
21508 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
21509 (grub_fstest_SOURCES): Likewise.
21510 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
21511 (afs_be_mod_SOURCES): New variable.
21512 (afs_be_mod_CFLAGS): Likewise.
21513 (afs_be_mod_LDFLAGS): Likewise.
21514 (befs_be_mod_SOURCES): Likewise.
21515 (befs_be_mod_CFLAGS): Likewise.
21516 (befs_be_mod_LDFLAGS): Likewise.
21517 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
21518 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21519 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21520 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21521 (grub_emu_SOURCES): Likewise.
21522 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21523 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21524 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21525 * fs/afs_be.c: New file.
21526 * fs/befs_be.c: New file.
21527 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
21528 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
21529 (U16): Replaced with ...
21530 (grub_afs_to_cpu16): ...this. All users updated.
21531 (U32): Replaced with ...
21532 (grub_afs_to_cpu32): ...this. All users updated.
21533 (U64): Replaced with ...
21534 (grub_afs_to_cpu64): ...this. All users updated.
21535 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
21536 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
21537 (grub_afs_validate_sblock): Check only one endianness.
21538 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
21539 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
21540 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
21541 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
21542 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
21543 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
21544 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
21545 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
21546
21547 2009-08-26 Bean <bean123ch@gmail.com>
21548
21549 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
21550 64-bit number.
21551 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
21552 (grub_xfs_inode_block): Change return type to grub_uint64_t.
21553 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
21554
21555 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21556
21557 NetBSD memory map support.
21558
21559 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
21560 (grub_netbsd_btinfo_mmap_header): New structure.
21561 (grub_netbsd_btinfo_mmap_entry): Likewise.
21562 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
21563
21564 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21565
21566 Enable bsd.mod on coreboot.
21567
21568 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
21569 (bsd_mod_SOURCES): New variable.
21570 (bsd_mod_CFLAGS): Likewise.
21571 (bsd_mod_LDFLAGS): Likewise.
21572 (bsd_mod_ASFLAGS): Likewise.
21573 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
21574 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
21575
21576 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21577
21578 Cleanup NetBSD root support.
21579
21580 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
21581 grub_bsd_get_device.
21582 Fix typo.
21583
21584 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
21585
21586 * util/grub.d/00_header.in: Move check for the video backend of
21587 gfxterm from here ...
21588 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
21589 a suitable video backend.
21590
21591 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21592
21593 Fix breakage in grub-setup.
21594
21595 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
21596 "msdos_partition_map".
21597
21598 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21599
21600 Fix breakage in normal/auth.c.
21601
21602 * normal/auth.c (grub_iswordseparator): New function.
21603
21604 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
21605
21606 Authentication support.
21607
21608 * commands/password.c: New file.
21609 * conf/common.rmk (pkglib_MODULES): Add password.mod.
21610 (password_mod_SOURCES): New variable.
21611 (password_mod_CFLAGS): Likewise.
21612 (password_mod_LDFLAGS): Likewise.
21613 (normal_mod_SOURCES): Add normal/auth.c.
21614 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
21615 normal/auth.c.
21616 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21617 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21618 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21619 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21620 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21621 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
21622 * include/grub/auth.h: New file.
21623 * include/grub/err.h (grub_err_t): New enum value
21624 GRUB_ERR_ACCESS_DENIED.
21625 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
21626 'users'.
21627 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
21628 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
21629 users updated.
21630 * normal/auth.c: New file.
21631 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
21632 (grub_cmdline_run): Don't allow to go to command line without
21633 authentication.
21634 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
21635 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
21636 menuentry without superuser rights.
21637 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
21638 user isn't a superuser.
21639
21640 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21641
21642 Save space by inlining misc.c functions.
21643
21644 * kern/misc.c (grub_iswordseparator): Made static.
21645 * kern/misc.c (grub_strcat): Moved from here ...
21646 * include/grub/misc.h (grub_strcat): ... here. Inlined.
21647 * kern/misc.c (grub_strncat): Moved from here ...
21648 * include/grub/misc.h (grub_strncat): ... here. Inlined.
21649 * kern/misc.c (grub_strcasecmp): Moved from here ...
21650 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
21651 * kern/misc.c (grub_strncasecmp): Moved from here ...
21652 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
21653 * kern/misc.c (grub_isalpha): Moved from here ...
21654 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
21655 * kern/misc.c (grub_isdigit): Moved from here ...
21656 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
21657 * kern/misc.c (grub_isgraph): Moved from here ...
21658 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
21659 * kern/misc.c (grub_tolower): Moved from here ...
21660 * include/grub/misc.h (grub_tolower): ... here. Inlined.
21661
21662 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21663
21664 * script/sh/function.c (grub_script_function_find): Cut error message
21665 not to flood terminal.
21666 * script/sh/lexer.c (grub_script_yylex): Remove command line length
21667 limit.
21668 * script/sh/script.c (grub_script_arg_add): Duplicate string.
21669
21670 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
21671
21672 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
21673 `report' grub_uint8_t *.
21674 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
21675 Use a 50-millisecond timeout rather than just repeating
21676 grub_usb_keyboard_getreport 50 times.
21677 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
21678
21679 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21680
21681 Rename *_partition_map to part_*
21682
21683 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
21684 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
21685 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
21686 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
21687 All users updated.
21688 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
21689 All users updated.
21690 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
21691 * util/grub-probe.c (probe_partmap): Don't transform partition name
21692 to get module name.
21693
21694 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21695
21696 Fix OpenBSD and NetBSD support.
21697
21698 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
21699 memory address conflict.
21700 (OPENBSD_MMAP_ACPI): New definition.
21701 (OPENBSD_MMAP_NVS): Likewise.
21702 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
21703 and OPENBSD_MMAP_NVS.
21704 Add memory map terminator
21705 Explicit cast when calling grub_unix_real_boot.
21706 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
21707
21708 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21709
21710 Let user specify NetBSD root device.
21711
21712 * loader/i386/bsd.c (netbsd_root): New variable.
21713 (netbsd_opts): New option 'root'.
21714 (NETBSD_ROOT_ARG): New macro.
21715 (grub_netbsd_boot): Use 'netbsd_root'.
21716 (grub_bsd_unload): Free 'netbsd_root'.
21717 (grub_cmd_netbsd): Fill 'netbsd_root'.
21718
21719 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21720
21721 Support for 64-bit NetBSD.
21722
21723 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
21724 point when booting non-FreeBSD.
21725
21726 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21727
21728 Support --no-smp and --no-acpi for NetBSD.
21729
21730 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
21731 (NETBSD_AB_NOACPI): Likewise.
21732 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
21733 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
21734
21735 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21736
21737 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
21738 errors.
21739 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
21740 errors. Call grub_error when needed.
21741
21742 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21743
21744 * commands/search.c (search_fs): Try searching without autoload first.
21745 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
21746 filesystem module explicitly for faster booting.
21747
21748 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
21749
21750 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
21751
21752 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
21753
21754 * util/grub.d/30_os-prober.in: Disable os-prober if
21755 `GRUB_DISABLE_OS_PROBER' was set to true.
21756
21757 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
21758
21759 * partmap/pc.c: Rename to ...
21760 * partmap/msdos.c: ... this. Update all users.
21761 (grub_pc_partition_map): Rename to ...
21762 (grub_msdos_partition_map): ... this. Update all users.
21763
21764 * parttool/pcpart.c: Rename to ...
21765 * parttool/msdospart.c: ... this. Update all users.
21766
21767 * include/grub/pc_partition.h: Rename to ...
21768 * include/grub/msdos_partition.h: ... this. Update all users.
21769 (grub_pc_partition_bsd_entry): Rename to ...
21770 (grub_msdos_partition_bsd_entry): ... this. Update all users.
21771 (grub_pc_partition_disk_label): Rename to ...
21772 (grub_msdos_partition_disk_label): ... this. Update all users.
21773 (grub_pc_partition_entry): Rename to ...
21774 (grub_msdos_partition_entry): ... this. Update all users.
21775 (grub_pc_partition_mbr): Rename to ...
21776 (grub_msdos_partition_mbr): ... this. Update all users.
21777 (grub_pc_partition): Rename to ...
21778 (grub_msdos_partition): ... this. Update all users.
21779 (grub_pc_partition_is_empty): Rename to ...
21780 (grub_msdos_partition_is_empty): ... this. Update all users.
21781 (grub_pc_partition_is_extended): Rename to ...
21782 (grub_msdos_partition_is_extended): ... this. Update all users.
21783 (grub_pc_partition_is_bsd): Rename to ...
21784 (grub_msdos_partition_is_bsd): ... this. Update all users.
21785
21786 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
21787 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
21788 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
21789 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
21790 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
21791 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
21792 (gpt_mod_LDFLAGS): Rename to ...
21793 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
21794 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
21795 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
21796 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
21797 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
21798 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
21799 (part_gpt_mod_LDFLAGS): ... this.
21800 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
21801 `pcpart.mod' to `msdospart.mod'.
21802 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
21803 to ...
21804 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
21805 (msdospart_mod_LDFLAGS): ... this.
21806
21807 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21808
21809 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
21810 (openbsd_opts): Likewise.
21811 (netbsd_opts): Likewise.
21812 (freebsd_flags): Added 0 terminator.
21813 (openbsd_flags): Likewise.
21814 (netbsd_flags): Likewise.
21815 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
21816 (grub_cmd_freebsd): Transformed into extended command.
21817 (grub_cmd_openbsd): Likewise.
21818 (grub_cmd_netbsd): Likewise.
21819 (cmd_freebsd): Changed type to grub_extcmd_t.
21820 (cmd_openbsd): Likewise.
21821 (cmd_netbsd): Likewise.
21822 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
21823 grub_cmd_openbsd as extended commands.
21824 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
21825 cmd_netbsd and cmd_openbsd
21826
21827 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
21828
21829 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
21830
21831 2009-08-21 Pavel Roskin <proski@gnu.org>
21832
21833 * Makefile.in (install-local): When checking if a file is in the
21834 build directory, use "test -e" to detect symlinks.
21835
21836 * Makefile.in (install-local): Remove all files in
21837 $(DESTDIR)$(pkglibdir) before installing new files there.
21838
21839 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
21840
21841 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
21842 grub-mkelfimage.
21843
21844 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
21845
21846 * util/grub-mkconfig.in: Don't use gfxterm by default if not
21847 explicitly specified by the user.
21848
21849 2009-08-18 Pavel Roskin <proski@gnu.org>
21850
21851 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
21852 grub_uint8_t pointer for data.
21853 * include/grub/fbutil.h (struct grub_video_fbblit_info):
21854 Likewise.
21855 * video/fb/fbutil.c: Remove unnecessary casts.
21856
21857 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
21858
21859 VBE cleanup.
21860
21861 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
21862 (grub_vbe_set_video_mode): Save active mode info
21863 only after setting the mode.
21864 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
21865 second argument.
21866
21867 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
21868
21869 Rename variables for clarity.
21870
21871 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
21872 (active_vbe_mode_info): ... this. All users updated.
21873 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
21874 All users updated.
21875 (initial_mode): Rename to ...
21876 (initial_vbe_mode): ... this. All users updated.
21877 (mode_in_use): Rename to ..
21878 (vbe_mode_in_use): ... this. All users updated.
21879 (mode_list): Rename to ..
21880 (vbe_mode_list): ... this. All users updated.
21881 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
21882 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
21883 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
21884 'mode_list_size' to 'vbe_mode_list_size'.
21885 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
21886 'best_mode_info' to 'best_vbe_mode_info' and
21887 'best_mode' to 'best_vbe_mode'
21888
21889 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
21890
21891 Remove duplicate grub_video_fb_get_video_ptr.
21892
21893 * include/grub/fbutil.h (get_data_ptr): Rename to ...
21894 (grub_video_fb_get_video_ptr): ... this.
21895 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
21896 * video/fb/fbutil.c: Add comment about addressing.
21897 (get_data_ptr): Rename to ...
21898 (grub_video_fb_get_video_ptr): ... this. All users updated.
21899 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
21900
21901 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21902
21903 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
21904 grub_dprintf() that was just added.
21905
21906 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21907
21908 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
21909 (DEFAULT_VIDEO_MODE): Remove macros.
21910 (grub_linux_boot): Remove assumption that Linux has FB support,
21911 and use "text" as default video mode.
21912
21913 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
21914
21915 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
21916 grub_dprintf.
21917 * fs/fat.c (grub_fat_read_data): Likewise.
21918
21919 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21920
21921 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
21922 payload.
21923 (grub_module): Likewise.
21924
21925 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21926
21927 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
21928 mbi->cmdline but free playground.
21929
21930 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21931
21932 Handle group offset on UFS1.
21933
21934 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
21935 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
21936
21937 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21938
21939 Split ufs.mod into ufs1.mod and ufs2.mod.
21940
21941 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
21942 (grub_fstest_SOURCES): Likewise.
21943 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
21944 (ufs_mod_SOURCES): Remove.
21945 (ufs_mod_CFLAGS): Likewise.
21946 (ufs_mod_LDFLAGS): Likewise.
21947 (ufs1_mod_SOURCES): New variable.
21948 (ufs1_mod_CFLAGS): Likewise.
21949 (ufs1_mod_LDFLAGS): Likewise.
21950 (ufs2_mod_SOURCES): New variable.
21951 (ufs2_mod_CFLAGS): Likewise.
21952 (ufs2_mod_LDFLAGS): Likewise.
21953 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
21954 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21955 Likewise.
21956 (grub_emu_SOURCES): Likewise.
21957 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21958 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21959 (grub_setup_SOURCES): Likewise.
21960 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21961 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
21962 (grub_setup_SOURCES): Likewise.
21963 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21964 Likewise.
21965 * fs/ufs2.c: New file.
21966 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
21967
21968 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21969
21970 Framebuffer split.
21971
21972 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
21973 subsystem at the end.
21974 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
21975 (video_fb_mod_SOURCES): New variable.
21976 (video_fb_mod_CFLAGS): Likewise.
21977 (video_fb_mod_LDFLAGS): Likewise.
21978 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
21979 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
21980 * video/i386/pc/vbeblit.c: Moved from here ...
21981 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
21982 * video/i386/pc/vbefill.c: Moved from here ...
21983 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
21984 * video/i386/pc/vbeutil.c: Moved from here ...
21985 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
21986 * include/grub/i386/pc/vbeblit.h: Moved from here ...
21987 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
21988 * include/grub/i386/pc/vbefill.h: Moved from here ...
21989 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
21990 * include/grub/i386/pc/vbeutil.h: Moved from here ...
21991 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
21992 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
21993 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
21994 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
21995 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
21996 (grub_video_adapter): Added 'get_info_and_fini'.
21997 (grub_video_get_info_and_fini): New prototype.
21998 (grub_video_set_mode): make modestring const char *.
21999 * loader/i386/linux.c (grub_linux_setup_video): Use
22000 grub_video_get_info_and_fini.
22001 (grub_linux_boot): Move modesetting just before booting.
22002 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
22003 grub_video_get_info_and_fini.
22004 * video/i386/pc/vbe.c: Moved framebuffer part ...
22005 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
22006 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
22007 grub_video_fbstd_colors and grub_video_fb_set_palette.
22008 (grub_video_vbe_init): Clear 'framebuffer' variable and use
22009 grub_video_fb_init.
22010 (grub_video_vbe_fini): Use grub_video_fb_fini.
22011 (grub_video_vbe_setup): Use framebuffer.render_target instead of
22012 render_target and use grub_video_fb_set_active_render_target and
22013 grub_video_fb_set_palette.
22014 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
22015 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
22016 (grub_video_vbe_adapter): Use framebuffer.
22017 * video/video.c (grub_video_get_info_and_fini): New function.
22018 (grub_video_set_mode): Make modestring const char *.
22019 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
22020 values are already initialised.
22021
22022 2009-08-14 Pavel Roskin <proski@gnu.org>
22023
22024 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
22025 ABS and APPLE_CC.
22026 * boot/i386/pc/diskboot.S: Likewise.
22027 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
22028 sectors allow compilation on MacOSX.
22029 * conf/i386-pc.rmk: Enable unconditional compilation of
22030 lnxboot.img.
22031
22032 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
22033
22034 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
22035 * util/grub.d/00_header.in: Enter interruptible sleep if
22036 GRUB_HIDDEN_TIMEOUT is set.
22037
22038 2009-08-13 Yves Blusseau <blusseau@zetam.org>
22039
22040 * include/grub/symbol.h: Add the LOCAL macro.
22041 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
22042 starting with "L_".
22043
22044 2009-08-13 Pavel Roskin <proski@gnu.org>
22045
22046 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
22047 any modern compilers we support.
22048
22049 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
22050 Use local labels starting with "L_" so that Apple assembler
22051 knows they are local.
22052
22053 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
22054
22055 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
22056 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
22057 (bsd_kernel_types): ... this enum.
22058
22059 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
22060 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
22061 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
22062
22063 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
22064 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
22065 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
22066 messages.
22067
22068 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
22069
22070 * util/grub-dumpdevtree: Moved from here ...
22071 * util/i386/efi/grub-dumpdevtree: ... to here.
22072 (hexify): New function. Converts a string to its hex version.
22073 Generate hex versions of "efi" and "device-properties" by calling
22074 hexify() on the ASCII strings rather than by hardcoding numbers.
22075
22076 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
22077
22078 * fs/jfs.c: Update copyright year.
22079
22080 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
22081
22082 * util/grub.d/00_header.in: Fix a comment.
22083 * util/grub.d/10_linux.in: Likewise.
22084 * util/grub.d/10_windows.in: Likewise.
22085 * util/grub.d/10_hurd.in: Likewise.
22086
22087 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
22088
22089 * util/grub-mkconfig.in: Allow the user to specify the used font
22090 with GRUB_FONT.
22091
22092 2009-08-08 Pavel Roskin <proski@gnu.org>
22093
22094 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
22095 available, xfs.mod needs it now.
22096
22097 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
22098 the "g" modifier in sed when the intention is to strip something
22099 once. This fixes comparison of kernels with multiple dashes.
22100
22101 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
22102 on it. Add missing space before closing bracket. Fix
22103 misleading formatting.
22104
22105 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22106
22107 * docs/grub.texi: Major overhaul. Remove all sections that are
22108 specific to GRUB Legacy, or mostly composed of Legacy-specific
22109 information.
22110
22111 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22112
22113 * docs/version.texi: New file. Provides version information for
22114 grub.texi.
22115
22116 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22117
22118 * docs/grub.texi: Update CVS information to SVN.
22119 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
22120
22121 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
22122
22123 * util/grub-mkconfig.in: Remove a wrong `fi'.
22124
22125 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
22126
22127 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
22128 (grub_jfs_uuid): New function.
22129 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
22130
22131 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
22132
22133 * util/grub-mkconfig_lib.in (font_path): Move the functionality
22134 of it to ...
22135 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
22136 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
22137
22138 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22139
22140 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
22141 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
22142 Update all users.
22143
22144 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
22145 not just "vmlinu[zx]".
22146 Moved from here ...
22147 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
22148 all users.
22149
22150 * util/grub.d/10_linux.in (find_latest): Moved from here ...
22151 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
22152 all users.
22153
22154 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
22155
22156 * util/grub.d/10_freebsd.in: Use an absolute device path for
22157 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
22158
22159 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
22160
22161 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
22162 handling of multiple abstraction modules.
22163
22164 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
22165
22166 Fix a bug resulting in black screen when loading Linux using a
22167 packed video mode.
22168
22169 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
22170 function.
22171
22172 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
22173 (grub_vbe_bios_getset_dac_palette_width): New function.
22174 (grub_vbe_bios_get_dac_palette_width)
22175 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
22176 grub_vbe_bios_getset_dac_palette_width()).
22177
22178 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
22179 check for return status.
22180 (grub_vbe_get_video_mode_info): When getting information for a packed
22181 mode (<= 8 bpp), obtain DAC palette width using
22182 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
22183 {red,green,blue}_mark_size.
22184
22185 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
22186
22187 * commands/search.c (options): Fix help output to match actual code.
22188
22189 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
22190
22191 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
22192 of homegrown code.
22193
22194 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22195
22196 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
22197 on XFS or ReiserFS.
22198
22199 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22200
22201 Support Apple partition map with sector size different from 512 bytes.
22202
22203 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
22204 (apple_partition_map_iterate): Respect 'aheader.blocksize'
22205 and 'apart.partmap_size'.
22206
22207 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
22208 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
22209
22210 Fix cpuid command.
22211
22212 * commands/i386/cpuid.c (options): New variable.
22213 (grub_cmd_cpuid): Return real error.
22214 (GRUB_MOD_INIT(cpuid)): Declare options.
22215
22216 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
22217
22218 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
22219 valid.
22220
22221 2009-07-31 Bean <bean123ch@gmail.com>
22222
22223 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
22224 log2_inode.
22225 (grub_fshelp_node): Move inode field to the end.
22226 (grub_xfs_data): Remove inode field.
22227 (grub_xfs_inode_block): Calculate inode size using sblock.
22228 (grub_xfs_inode_offset): Likewise.
22229 (grub_xfs_read_inode): Calculate inode size using sblock.
22230 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
22231 (grub_xfs_iterate_dir): Calculate inode size using sblock.
22232 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
22233 to match inode size.
22234 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
22235 not accessible when data is null.
22236 (grub_xfs_open): Likewise.
22237
22238 2009-07-31 Bean <bean123ch@gmail.com>
22239
22240 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
22241 Don't change pv->disk if it's already set.
22242
22243 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
22244 (grub_raid_register): ... here.
22245 (grub_raid_rescan): Removed.
22246
22247 * include/grub/raid.h (grub_raid_rescan): Removed.
22248
22249 * util/grub-fstest.c: Remove include file <grub/raid.h>.
22250 (fstest): Replace grub_raid_rescan with module fini function followed
22251 by init function.
22252
22253 * util/grub-probe.c: Add include file <grub/raid.h>.
22254 (probe_raid_level): New function.
22255 (probe): Detect abstraction by walking the disk device, support two
22256 level of abstraction (LVM on RAID) when detecting partition map.
22257
22258 2009-07-31 Pavel Roskin <proski@gnu.org>
22259
22260 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
22261 to grub_zalloc(), it was erroneous.
22262 Reported by Bean <bean123ch@gmail.com>
22263
22264 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
22265
22266 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
22267 embedding zone, not only the first one.
22268
22269 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
22270
22271 * term/gfxterm.c (clear_char): New function.
22272 (grub_virtual_screen_setup): Use clear_char.
22273 (scroll_up): Likewise.
22274 (grub_virtual_screen_cls): Likewise.
22275
22276 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
22277
22278 * util/deviceiter.c (get_acceleraid_disk_name): New static
22279 function.
22280 (grub_util_iterate_devices): Handle Accelraid devices.
22281 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
22282
22283 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
22284
22285 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
22286 separator for the suggested gfxpayload string (';' collides with the
22287 parser and needs escaping).
22288
22289 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
22290
22291 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
22292 Clear direction flag before jumping to OS.
22293 (grub_multiboot2_real_boot): Likewise.
22294
22295 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
22296
22297 * util/i386/pc/grub-install: Fix parsing of --disk-module
22298 option.
22299
22300 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
22301
22302 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
22303 when embedding.
22304
22305 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
22306
22307 * util/grub-mkconfig.in (package_version): New variable.
22308 Use it do display the version.
22309
22310 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
22311
22312 * kern/file.c (grub_file_open): Revert to previous check with
22313 grub_errno.
22314
22315 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
22316
22317 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
22318 from help line. It's out of sync with code.
22319
22320 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
22321
22322 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
22323 entries on failed boot.
22324
22325 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
22326
22327 * kern/file.c (grub_file_open): Fix an error check.
22328
22329 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
22330
22331 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
22332 partition map couldn't be identified.
22333
22334 2009-07-23 Pavel Roskin <proski@gnu.org>
22335
22336 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
22337 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
22338 case of little endian words becomes just an optimization.
22339 Respect const modifier.
22340 (md5_final): Use code that doesn't depend on endianness.
22341
22342 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
22343 to avoid loss of upper bits if align is unsigned and shorter
22344 than addr.
22345
22346 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
22347
22348 UUID support for UFS
22349
22350 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
22351 (grub_ufs_uuid): New function.
22352 (grub_ufs_fs): add .uuid
22353
22354 2009-07-21 Pavel Roskin <proski@gnu.org>
22355
22356 * kern/dl.c (grub_dl_check_header): Make static.
22357
22358 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
22359
22360 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
22361 add drivemap for Vista. It breaks Windows 7.
22362
22363 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
22364
22365 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
22366 128 bytes
22367
22368 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22369
22370 Add BFS support
22371
22372 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
22373 (grub_fstest_SOURCES): Likewise.
22374 (pkglib_MODULES): Add befs.mod.
22375 (befs_mod_SOURCES): New variable.
22376 (befs_mod_CFLAGS): Likewise.
22377 (befs_mod_LDFLAGS): Likewise.
22378 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
22379 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
22380 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22381 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22382 (grub_setup_SOURCES): Likewise.
22383 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22384 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22385 (grub_setup_SOURCES): Likewise.
22386 * fs/befs.c: New file.
22387 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
22388 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
22389 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
22390 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
22391 (B_KEY_INDEX_ALIGN): New declaration.
22392 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
22393 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
22394 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
22395 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
22396 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
22397 (grub_afs_mount) [MODE_BFS]: Likewise.
22398 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
22399 (grub_afs_fs): Use GRUB_AFS_FSNAME
22400 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
22401 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
22402 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
22403 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
22404
22405 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
22406
22407 * util/getroot.c (find_root_device): Add support for MacOSX.
22408 * util/hostdisk.c: Likewise.
22409
22410 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22411
22412 * font/font.c (find_glyph): Check whether a font is present to avoid
22413 segmentation fault.
22414
22415 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
22416
22417 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
22418
22419 2009-07-20 Pavel Roskin <proski@gnu.org>
22420
22421 * configure.ac: Trim excessively wordy excuses.
22422
22423 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22424
22425 Add symlink, mtime and label support to AtheFS.
22426
22427 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
22428 (grub_afs_iterate_dir): Handle symlinks.
22429 (grub_afs_open): Use grub_afs_read_symlink.
22430 (grub_afs_dir): Likewise.
22431 Pass mtime.
22432 (grub_afs_label): New function.
22433 (grub_afs_fs): Add grub_afs_label.
22434 (grub_afs_read_symlink): New function.
22435
22436 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
22437
22438 Fix AtheFS support.
22439
22440 * fs/afs.c: Fix comments style.
22441 (grub_afs_blockrun): Declare as packed.
22442 (grub_afs_datastream): Likewise.
22443 (grub_afs_bnode): Likewise.
22444 (grub_afs_btree): Likewise.
22445 (grub_afs_sblock): Likewise.
22446 Declare `name' as char.
22447 (grub_afs_inode): Declare as packed.
22448 Change void *vnode to grub_uint32_t unused.
22449 (grub_afs_iterate_dir): Check that key_size is positive.
22450 (grub_afs_mount): Don't read superblock twice.
22451 (grub_afs_dir): Don't free node in case of error,
22452 grub_fshelp_find_file already handles this.
22453 (grub_afs_open): Likewise.
22454
22455 2009-07-19 Pavel Roskin <proski@gnu.org>
22456
22457 * Makefile.in: Remove LIBLZO and enable_lzo.
22458 * conf/i386-pc.rmk: Remove lzo support.
22459 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
22460 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
22461 support.
22462 * kern/i386/pc/lzo1x.S: Remove.
22463 * kern/i386/pc/startup.S: Remove lzo support.
22464 * util/i386/pc/grub-mkimage.c: Likewise.
22465
22466 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
22467
22468 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
22469 * fs/xfs.c (grub_xfs_dir): Likewise.
22470 * fs/afs.c (grub_afs_dir): Likewise.
22471 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
22472 (grub_iso9660_open): Likewise.
22473 * fs/jfs.c (grub_jfs_open): Likewise.
22474 * fs/ext2.c (grub_ext2_dir): Likewise.
22475 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
22476 * script/sh/lexer.c (grub_script_yylex): Likewise.
22477
22478 2009-07-16 Pavel Roskin <proski@gnu.org>
22479
22480 * configure.ac: Never add "-c" to CFLAGS.
22481
22482 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
22483
22484 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
22485 grub_cv_cc_efiemu should be used.
22486
22487 * configure.ac: Typo fixes.
22488
22489 * kern/mm.c (grub_zalloc): New function.
22490 (grub_debug_zalloc): Likewise.
22491 * include/grub/mm.h: Declare grub_zalloc() and
22492 grub_debug_zalloc().
22493 * util/misc.c (grub_zalloc): New function.
22494 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
22495 instead of grub_malloc(), remove unneeded initializations.
22496 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
22497 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
22498 * commands/parttool.c (grub_cmd_parttool): Likewise.
22499 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
22500 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
22501 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
22502 * disk/usbms.c (grub_usbms_finddevs): Likewise.
22503 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
22504 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
22505 (grub_cmd_efiemu_pnvram): Likewise.
22506 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
22507 * fs/iso9660.c (grub_iso9660_mount): Likewise.
22508 (grub_iso9660_iterate_dir): Likewise.
22509 * fs/jfs.c (grub_jfs_opendir): Likewise.
22510 * fs/ntfs.c (list_file): Likewise.
22511 (grub_ntfs_mount): Likewise.
22512 * kern/disk.c (grub_disk_open): Likewise.
22513 * kern/dl.c (grub_dl_load_core): Likewise.
22514 * kern/elf.c (grub_elf_file): Likewise.
22515 * kern/env.c (grub_env_context_open): Likewise.
22516 (grub_env_set): Likewise.
22517 (grub_env_set_data_slot): Likewise.
22518 * kern/file.c (grub_file_open): Likewise.
22519 * kern/fs.c (grub_fs_blocklist_open): Likewise.
22520 * loader/i386/multiboot.c (grub_module): Likewise.
22521 * loader/xnu.c (grub_xnu_create_key): Likewise.
22522 (grub_xnu_create_value): Likewise.
22523 * normal/main.c (grub_normal_add_menu_entry): Likewise.
22524 (read_config_file): Likewise.
22525 * normal/menu_entry.c (make_screen): Likewise.
22526 * partmap/sun.c (sun_partition_map_iterate): Likewise.
22527 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
22528 * script/sh/script.c (grub_script_parse): Likewise.
22529 * video/bitmap.c (grub_video_bitmap_create): Likewise.
22530 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
22531 * video/readers/png.c (grub_png_output_byte): Likewise.
22532 (grub_video_reader_png): Likewise.
22533
22534 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22535
22536 Enable all targets that can be built by default
22537
22538 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
22539 grub-mkfont and grub-fstest if they can be built
22540
22541 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22542
22543 Fix hang and segmentation fault in grub-emu-usb
22544
22545 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
22546 * util/usb.c (grub_libusb_devices): likewise
22547 (grub_libusb_init): rename to ...
22548 (GRUB_MOD_INIT (libusb)):...this
22549 (grub_libusb_fini): rename to ..
22550 (GRUB_MOD_FINI (libusb)):...this
22551 * disk/usbms.c (grub_usbms_transfer): fix retry logic
22552 * include/grub/disk.h (grub_raid_init): removed, it's useless
22553 (grub_raid_fini): likewise
22554 (grub_lvm_init): likewise
22555 (grub_lvm_fini): likewise
22556 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
22557 by grub_init_all
22558
22559 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22560
22561 Fix libusb
22562
22563 * Makefile.in (LIBUSB): new macro
22564 * genmk.rb (Utility/print_tail): new method
22565 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
22566 (top level): call util.print_tail at the end.
22567
22568 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22569
22570 Make FreeBSD accept zpool.cache
22571
22572 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
22573 type is /boot/zfs/zpool.cache
22574
22575 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
22576
22577 Fix 64-bit efiemu
22578
22579 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
22580 correct wrong typedef
22581 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
22582
22583 2009-07-15 Pavel Roskin <proski@gnu.org>
22584
22585 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
22586 * kern/disk.c (struct grub_disk_cache): Likewise.
22587
22588 * commands/probe.c (options): Typo fix.
22589
22590 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
22591 Increase to 0x5a to accommodate FAT32. Adjust other offsets
22592 accordingly.
22593 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
22594
22595 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
22596 the end of "Error" to make the message more readable.
22597
22598 * boot/i386/pc/boot.S (kernel_segment): Remove.
22599 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
22600 for destination.
22601
22602 * boot/i386/pc/boot.S (boot_version): Remove.
22603 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
22604 Remove.
22605
22606 * include/grub/i386/pc/boot.h: Sort all offsets.
22607 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
22608 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
22609 * boot/i386/pc/boot.S: Assert location of every offset listed in
22610 include/grub/i386/pc/boot.h.
22611
22612 2009-07-13 Pavel Roskin <proski@gnu.org>
22613
22614 * include/grub/i386/coreboot/machine.h: Rename
22615 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
22616 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
22617 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
22618
22619 * kern/dl.c: Force native word size to suppress warnings when
22620 compiling grub-emu.
22621
22622 * kern/device.c (grub_device_iterate): Change struct part_ent to
22623 hold the name, not a pointer to it. Use one grub_malloc() per
22624 partition, not two. Free partition_name if grub_malloc() fails.
22625 Set ents to NULL only before grub_partition_iterate() is called.
22626
22627 2009-07-11 Bean <bean123ch@gmail.com>
22628
22629 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
22630 childname.
22631
22632 2009-07-10 Bean <bean123ch@gmail.com>
22633 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
22634
22635 * kern/ieee1275/openfw.c (grub_children_iterate)
22636 (grub_devalias_iterate): Fix size evaluation for property or path
22637 strings, which was broken since r2132.
22638
22639 2009-07-07 Pavel Roskin <proski@gnu.org>
22640
22641 * commands/search.c (search_file): Merge into ...
22642 (search_fs): ... this. Accept search type as argument.
22643 (grub_cmd_search): Pass search type to search_fs().
22644
22645 * include/grub/util/console.h: New file.
22646 * util/console.c: Use it instead of grub/machine/console.h.
22647 * util/grub-emu.c: Likewise.
22648
22649 * lib/arg.c (find_long_option): Remove.
22650 (find_long): Add `len' argument, make `s' const char *.
22651 (grub_arg_parse): Parse long options in place, not in a
22652 temporary buffer.
22653
22654 2009-07-06 Pavel Roskin <proski@gnu.org>
22655
22656 * commands/search.c (search_fs): Fix potential NULL pointer
22657 dereference.
22658
22659 * commands/search.c (search_fs): Replace QUID macro with quid_fn
22660 function pointer.
22661
22662 2009-07-06 Daniel Mierswa <impulze@impulze.org>
22663
22664 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
22665 comparison.
22666
22667 2009-07-05 Pavel Roskin <proski@gnu.org>
22668
22669 * include/grub/i386/linux.h (struct linux_kernel_params):
22670 Restore padding3, it's still needed.
22671
22672 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
22673 FreeBSD.
22674 * util/osdetect.lua: Likewise.
22675
22676 2009-07-05 Bean <bean123ch@gmail.com>
22677
22678 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
22679
22680 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
22681 (grub_lua_getenv): Likewise.
22682 (grub_lua_setenv): Likewise.
22683 (save_errno): New function.
22684 (push_result): Likewise.
22685 (grub_lua_enum_device): Likewise.
22686 (grub_lua_enum_file): Likewise.
22687 (grub_lua_file_open): Likewise.
22688 (grub_lua_file_close): Likewise.
22689 (grub_lua_file_seek): Likewise.
22690 (grub_lua_file_read): Likewise.
22691 (grub_lua_file_getline): Likewise.
22692 (grub_lua_file_getsize): Likewise.
22693 (grub_lua_file_getpos): Likewise.
22694 (grub_lua_file_eof): Likewise.
22695 (grub_lua_file_exist): Likewise.
22696 (grub_lua_add_menu): Likewise.
22697
22698 * script/lua/grub_lua.h (isupper): New inline function.
22699 (islower): Likewise.
22700 (ispunct): Likewise.
22701 (isxdigit): Likewise.
22702 (strcspn): Change to normal function.
22703 (strpbkr): New function declaration.
22704 (memchr): Likewise.
22705
22706 * script/lua/grub_main.c (scan_str): New function.
22707 (strcspn): Likewise.
22708 (strpbrk): Likewise.
22709 (memchr): Likewise.
22710
22711 * script/lua/linit.c (lualibs): Enable the string library.
22712
22713 * util/osdetect.lua: New file.
22714
22715 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
22716
22717 * include/grub/i386/linux.h (struct linux_kernel_params): Add
22718 `capabilities' member.
22719
22720 2009-07-02 Pavel Roskin <proski@gnu.org>
22721
22722 * genparttoollist.sh: Add missing newline at the end.
22723
22724 2009-07-01 Pavel Roskin <proski@gnu.org>
22725
22726 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
22727
22728 * util/hostdisk.c (open_device): Remove `const' from
22729 `sysctl_size', as sysctlbyname() can change it (in this case it
22730 doesn't actually happen).
22731
22732 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
22733 using signed long int constants.
22734
22735 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
22736 constant to avoid a warning on FreeBSD.
22737
22738 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
22739 where it's needed.
22740
22741 * Makefile.in: Install include/grub/machine symlink.
22742
22743 * Makefile.in: When installing symlinks, use "cp -fR", which
22744 works on FreeBSD and MacOSX.
22745 From Yves Blusseau <cl7m42e02@sneakemail.com>
22746
22747 * kern/dl.c (grub_dl_resolve_symbol): Make static.
22748 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
22749
22750 * util/misc.c: Move grub_reboot() and grub_halt() ...
22751 * util/grub-emu.c: ... here. Make main_env static.
22752 * include/grub/util/misc.h: Remove main_env.
22753
22754 * kern/mm.c: Use correct format to print size_t.
22755
22756 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
22757 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
22758 * kern/powerpc/dl.c: Likewise.
22759 * kern/sparc64/dl.c: Likewise.
22760 * kern/x86_64/dl.c: Likewise.
22761
22762 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22763
22764 Fix grub-emu build on sparc64-ieee1275.
22765
22766 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
22767 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
22768
22769 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22770
22771 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
22772 (grub_reboot, grub_halt): New functions.
22773
22774 * util/i386/pc/misc.c: Delete. Update all users.
22775 * util/sparc64/ieee1275/misc.c: Likewise.
22776 * util/powerpc/ieee1275/misc.c: Likewise.
22777
22778 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22779
22780 * conf/i386.rmk (setjmp_mod_SOURCES)
22781 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
22782 * conf/common.rmk (setjmp_mod_SOURCES)
22783 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
22784 to use $(target_cpu).
22785 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
22786 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
22787 * conf/powerpc-ieee1275.rmk: Likewise.
22788 * conf/sparc64-ieee1275.rmk: Likewise.
22789
22790 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
22791 $(target_cpu) for kern/$(target_cpu)/dl.c.
22792 * conf/i386-efi.rmk: Likewise.
22793 * conf/i386-ieee1275.rmk: Likewise.
22794 * conf/x86_64-efi.rmk: Likewise.
22795 * conf/i386-coreboot.rmk: Likewise.
22796 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
22797 $(target_cpu) for kern/$(target_cpu)/dl.c and for
22798 kern/$(target_cpu)/cache.S.
22799 * conf/sparc64-ieee1275.rmk: Likewise.
22800
22801 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22802
22803 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
22804 type to `grub_uint8_t', and adjust `padding9' accordingly.
22805
22806 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22807
22808 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
22809
22810 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
22811 assembly in final jump, using register constraints.
22812
22813 (grub_linux_boot): For text mode, initialize `have_vga' using
22814 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
22815
22816 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
22817 right before the final jump.
22818
22819 Set `video_mode' to 0x3.
22820
22821 Document initialization of `video_page', `video_mode' and
22822 `video_ega_bx'.
22823
22824 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22825
22826 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
22827 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
22828 and set GRUB_LINUX_FLAG_QUIET appropriately.
22829
22830 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22831
22832 Fix build on Debian / sparc.
22833
22834 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
22835
22836 2009-06-28 Pavel Roskin <proski@gnu.org>
22837
22838 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
22839 fix a warning.
22840
22841 * util/grub.d/10_linux.in: Match SUSE style initrd names.
22842
22843 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22844
22845 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
22846 `err'.
22847
22848 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22849
22850 Revert r2338.
22851
22852 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
22853 file can't be opened. grub_file_open() is already supposed to set
22854 grub_errno / grub_errmsg appropriately.
22855 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22856
22857 2009-06-27 Pavel Roskin <proski@gnu.org>
22858 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22859
22860 * include/grub/dl.h: Include grub/elf.h.
22861 (struct grub_dl): Add symtab field.
22862 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
22863 GRUB_MODULES_MACHINE_READONLY.
22864 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
22865 of the header for read-only modules.
22866 (grub_dl_unload): Free mod->symtab for read-only modules.
22867 * kern/i386/dl.c: Use mod->symtab.
22868 * kern/powerpc/dl.c: Likewise.
22869 * kern/sparc64/dl.c: Likewise.
22870 * kern/x86_64/dl.c: Likewise.
22871
22872 * conf/i386-qemu.rmk: New file.
22873 * kern/i386/qemu/startup.S: Likewise.
22874 * kern/i386/qemu/mmap.c: Likewise.
22875 * boot/i386/qemu/boot.S: Likewise.
22876 * include/grub/i386/qemu/time.h: Likewise.
22877 * include/grub/i386/qemu/serial.h: Likewise.
22878 * include/grub/i386/qemu/kernel.h: Likewise.
22879 * include/grub/i386/qemu/console.h: Likewise.
22880 * include/grub/i386/qemu/boot.h: Likewise.
22881 * include/grub/i386/qemu/init.h: Likewise.
22882 * include/grub/i386/qemu/machine.h: Likewise.
22883 * include/grub/i386/qemu/loader.h: Likewise.
22884 * include/grub/i386/qemu/memory.h: Likewise.
22885
22886 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
22887 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
22888 [qemu] (pkglib_IMAGES): Add `boot.img'.
22889 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
22890 [qemu] (boot_img_FORMAT): New variables.
22891 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
22892 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
22893 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
22894 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22895 [qemu] (kernel_img_FORMAT): New variables.
22896
22897 * configure.ac: Recognise `i386-qemu'.
22898
22899 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
22900 (for no compression).
22901 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
22902 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
22903 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
22904 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
22905 ifdefs).
22906
22907 2009-06-27 Pavel Roskin <proski@gnu.org>
22908
22909 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
22910 read.
22911 * efiemu/prepare32.c: Likewise.
22912 * efiemu/prepare64.c: Likewise.
22913
22914 2009-06-26 Pavel Roskin <proski@gnu.org>
22915
22916 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
22917 * include/grub/elf.h: Define symbols without "32" or "64" based
22918 on GRUB_TARGET_WORDSIZE.
22919 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
22920 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
22921 ELF definitions.
22922 * efiemu/loadcore64.c: Likewise.
22923 * loader/i386/bsd32.c: Likewise.
22924 * loader/i386/bsd64.c: Likewise.
22925 * kern/dl.c: Remove own ELF definitions.
22926 * util/i386/efi/grub-mkimage.c: Likewise.
22927
22928 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
22929
22930 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
22931 segment 0x0 unconditionally, because the reference generated by
22932 GAS is an absolute address.
22933
22934 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22935
22936 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
22937 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
22938
22939 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22940
22941 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
22942 indexes. Check for -f explicitly.
22943 (search_file): Improve error message.
22944 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
22945
22946 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22947
22948 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
22949 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
22950
22951 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22952
22953 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
22954 * conf/i386-ieee1275.rmk: Likewise.
22955 * conf/i386-coreboot.rmk: Likewise.
22956
22957 * kern/i386/pc/startup.S (grub_stop): Remove function.
22958 * kern/i386/ieee1275/startup.S: Likewise.
22959 * kern/i386/coreboot/startup.S: Likewise.
22960 * kern/i386/misc.S (grub_stop): New function.
22961
22962 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22963
22964 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
22965 * kern/i386/realmode.S (real_to_prot): ... to here.
22966
22967 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22968
22969 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
22970 with `kernel.img'.
22971 (kernel_elf_SOURCES): Rename to ...
22972 (kernel_img_SOURCES): ... this.
22973 (kernel_elf_HEADERS): Rename to ...
22974 (kernel_img_HEADERS): ... this. Update all users.
22975 (kernel_elf_ASFLAGS): Rename to ...
22976 (kernel_img_ASFLAGS): ... this.
22977 (kernel_elf_CFLAGS): Rename to ...
22978 (kernel_img_CFLAGS): ... this.
22979 (kernel_elf_LDFLAGS): Rename to ...
22980 (kernel_img_LDFLAGS): ... this.
22981 * conf/i386-coreboot.rmk: Likewise.
22982 * conf/powerpc-ieee1275.rmk: Likewise.
22983
22984 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
22985 with "kernel.img".
22986
22987 2009-06-21 Pavel Roskin <proski@gnu.org>
22988
22989 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
22990 to match nested functions.
22991 * loader/sparc64/ieee1275/linux.c: Likewise.
22992
22993 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
22994
22995 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
22996
22997 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
22998 all i386 platforms.
22999
23000 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
23001
23002 Fix asm file handling on ELF, and remove workarounds.
23003
23004 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
23005 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
23006 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
23007 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
23008
23009 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
23010
23011 Load BSD ELF modules
23012
23013 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
23014 and loader/i386/bsd64.c
23015 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
23016 (FREEBSD_MODTYPE_ELF_MODULE): New definition
23017 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
23018 (grub_freebsd_load_elfmodule32): New declaration
23019 (grub_freebsd_load_elfmoduleobj64): Likewise
23020 (grub_freebsd_load_elf_meta32): Likewise
23021 (grub_freebsd_load_elf_meta64): Likewise
23022 (grub_freebsd_add_meta): Likewise
23023 (grub_freebsd_add_meta_module): Likewise
23024 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
23025 (grub_freebsd_add_meta_module): Likewise and move module-specific
23026 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
23027 (grub_cmd_freebsd): Add elf-kernel specific parts
23028 based on grub_freebsd_add_meta_module
23029 (grub_cmd_freebsd_module): Add type parsing moved from
23030 grub_freebsd_add_meta_module
23031 (grub_cmd_freebsd_module_elf): New function
23032 (cmd_freebsd_module_elf): New variable
23033 (GRUB_MOD_INIT): Register freebsd_module_elf
23034 * loader/i386/bsd32.c: New file
23035 * loader/i386/bsd64.c: Likewise
23036 * loader/i386/bsdXX.c: Likewise
23037 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
23038 (grub_elf64_load): Likewise
23039 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
23040 All users updated
23041 (grub_elf64_load_hook_t): Likewise
23042
23043 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
23044
23045 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
23046 variable.
23047 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
23048 don't write a menu entry for recovery mode.
23049
23050 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
23051
23052 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
23053 after it's no longer needed.
23054
23055 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
23056
23057 * include/grub/i386/loader.h (grub_linux_prot_size)
23058 (grub_linux_tmp_addr, grub_linux_real_addr)
23059 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
23060 GRUB_MACHINE_PCBIOS.
23061 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
23062 common grub_util_info() call to ...
23063 (generate_image): ... here.
23064 Fix use of uninitialized memory, comparison of signed with
23065 unsigned integers and memory leak.
23066 Remove bogus module address message.
23067
23068 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
23069
23070 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
23071 grub_raid_register
23072 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
23073
23074 2009-06-19 Pavel Roskin <proski@gnu.org>
23075
23076 * configure.ac: Remove stray AC_MSG_CHECKING.
23077
23078 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
23079
23080 * disk/scsi.c (grub_scsi_open): use continue instead of big if
23081
23082 2009-06-18 Pavel Roskin <proski@gnu.org>
23083
23084 * conf/common.rmk: Add fs_file.mod.
23085 * disk/fs_file.c: New file.
23086 * include/grub/disk.h (enum grub_disk_dev_id): Add
23087 GRUB_DISK_DEVICE_FILE_ID.
23088
23089 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
23090
23091 Fix build with Apple's toolchain. Part 2
23092
23093 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
23094 a fake start
23095
23096 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
23097
23098 Fix build with Apple's toolchain. Part 1
23099
23100 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
23101 for long calls
23102 * configure.ac: remove a leftover AC_MSG_RESULT
23103 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
23104 Apple's toolchain
23105
23106 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
23107
23108 Fix warnings
23109
23110 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
23111 (decomp_block): initialize ch
23112 use grub_memcpy instead of memcpy
23113
23114 2009-06-17 Pavel Roskin <proski@gnu.org>
23115
23116 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
23117 version, use declarations needed to use vga_text as the startup
23118 console.
23119
23120 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
23121 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
23122 the kernel.
23123 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
23124 and grub_at_keyboard_fini(), it's done on module load and
23125 unload.
23126
23127 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
23128
23129 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
23130 file can't be found.
23131 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
23132
23133 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
23134
23135 Fix newline handling
23136
23137 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
23138 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
23139 (grub_script_yylex): don't segfault on unterminated script
23140 newline terminates command and variable
23141
23142 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
23143
23144 avoid double grub_adjust_range call. Bug reported by David Simner
23145
23146 * kern/disk.c (grub_disk_write): change to raw disk access before
23147 calling disk_read
23148
23149 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
23150
23151 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
23152 spaces, for the benefit of help2man.
23153 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23154
23155 2009-06-16 Pavel Roskin <proski@gnu.org>
23156
23157 * kern/i386/halt.c: Include grub/machine/init.h.
23158 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
23159
23160 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
23161
23162 * util/grub.d/30_os-prober.in: Use ${root} in the generated
23163 drivemap menuentry.
23164
23165 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
23166
23167 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
23168 `echo' command.
23169
23170 2009-06-16 Pavel Roskin <proski@gnu.org>
23171
23172 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
23173 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
23174 save %dx, we only need %dl and we never change it.
23175 * boot/i386/pc/cdboot.S: Don't set the root drive.
23176 * boot/i386/pc/pxeboot.S: Likewise.
23177 * include/grub/i386/pc/boot.h: Remove
23178 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
23179 GRUB_BOOT_MACHINE_DRIVE_CHECK.
23180 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
23181 * kern/i386/pc/init.c (make_install_device): Remove references
23182 to grub_root_drive.
23183 * kern/i386/pc/startup.S: Likewise.
23184 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
23185
23186 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
23187
23188 xnu_uuid command
23189
23190 * commands/xnu_uuid.c: new file
23191 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
23192 (xnu_uuid_mod_SOURCES): new variable
23193 (xnu_uuid_mod_CFLAGS): likewise
23194 (xnu_uuid_mod_LDFLAGS): likewise
23195 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
23196 * conf/i386-ieee1275.rmk: likewise
23197 * conf/i386-pc.rmk: likewise
23198 * conf/powerpc-ieee1275.rmk: likewise
23199 * conf/sparc64-ieee1275.rmk: likewise
23200 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
23201
23202 2009-06-16 Pavel Roskin <proski@gnu.org>
23203
23204 * configure.ac: Avoid '==' in test command, it's not portable.
23205
23206 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
23207
23208 Probe command
23209
23210 * commands/probe.c: new file
23211 * conf/common.rmk (pkglib_MODULES): add probe.mod
23212 (probe_mod_SOURCES): new variable
23213 (probe_mod_CFLAGS): likewise
23214 (probe_mod_LDFLAGS): likewise
23215 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
23216 * conf/i386-ieee1275.rmk: likewise
23217 * conf/i386-pc.rmk: likewise
23218 * conf/powerpc-ieee1275.rmk: likewise
23219 * conf/sparc64-ieee1275.rmk: likewise
23220
23221 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
23222
23223 Fix handling of string like \"hello\" and "a
23224 b"
23225
23226 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
23227 (grub_script_yylex): fix parsing of quoting, escaping and newline
23228
23229 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
23230
23231 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
23232 handling
23233
23234 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
23235
23236 * util/grub-mkconfig.in: Fix parsing of --output option.
23237
23238 2009-06-12 Pavel Roskin <proski@gnu.org>
23239
23240 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
23241 genmk.rb don't need to be generated or installed.
23242
23243 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
23244
23245 * commands/i386/pc/drivemap_int13h.S: add more comments
23246
23247 2009-06-11 Pavel Roskin <proski@gnu.org>
23248
23249 * Makefile.in (uninstall): Uninstall manuals.
23250
23251 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
23252 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
23253 and update-grub_lib in two places.
23254 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
23255
23256 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
23257 a compiler warning.
23258
23259 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
23260 `entry_lo' to fix variable shadowing.
23261
23262 2009-06-11 Christian Franke <franke@computer.org>
23263
23264 * kern/misc.c (__enable_execute_stack): Add missing return type
23265 to prevent gcc warning.
23266
23267 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
23268
23269 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
23270
23271 2009-06-11 Pavel Roskin <proski@gnu.org>
23272
23273 * Makefile.in: Don't rely on any scripts being executable.
23274 Always use $(SHELL) to run shell scripts.
23275
23276 * configure.ac: Always define ___main if using -nostdlib. This
23277 fixes tests on Cygwin.
23278
23279 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
23280
23281 UDF fix
23282
23283 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
23284 is in bytes and not in blocks
23285
23286 2009-06-11 Pavel Roskin <proski@gnu.org>
23287
23288 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
23289 warning.
23290
23291 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
23292
23293 * util/grub.d/30_os-prober.in: Fix a comment. Source
23294 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
23295 to set the root device. Place drivemap command in the generated
23296 chain entry.
23297
23298 2009-06-11 Pavel Roskin <proski@gnu.org>
23299
23300 * configure.ac: Remove host_m32. Issues with 64-bit utilities
23301 have long been resolved.
23302
23303 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
23304
23305 * util/grub.d/10_linux.in: Capitalise "Linux".
23306
23307 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
23308
23309 2009-06-11 Pavel Roskin <proski@gnu.org>
23310
23311 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
23312 fix a gcc warning and ensure that the function won't ever exit.
23313
23314 * kern/i386/ieee1275/init.c: Add missing prototype for
23315 grub_stop_floppy().
23316
23317 * loader/ieee1275/multiboot2.c [__i386__]: Include
23318 grub/cpu/multiboot.h.
23319
23320 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
23321 casts to short - they are not portable and cause warnings. Fix
23322 use of uninitialized values in input_buf. Use ARRAY_SIZE.
23323
23324 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
23325
23326 Drivemap fixes
23327
23328 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
23329 new function
23330 (grub_get_root_biosnumber_saved): new variable
23331 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
23332 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
23333 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
23334 %dx after the call if necessary
23335 * conf/common.rmk (pkglib_MODULES): remove boot.mod
23336 (boot_mod_SOURCES): remove
23337 (boot_mod_CFLAGS): remove
23338 (boot_mod_LDFLAGS): remove
23339 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
23340 (boot_mod_SOURCES): new variable
23341 (boot_mod_CFLAGS): likewise
23342 (boot_mod_LDFLAGS): likewise
23343 * conf/i386-efi.rmk: likewise
23344 * conf/i386-ieee1275.rmk: likewise
23345 * conf/i386-pc.rmk: likewise
23346 * conf/powerpc-ieee1275.rmk: likewise
23347 * conf/sparc64-ieee1275.rmk: likewise
23348 * conf/x86_64-efi.rmk: likewise
23349 * include/grub/i386/pc/biosnum.h: new file
23350 * lib/i386/pc/biosnum.c: likewise
23351 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
23352 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
23353 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
23354
23355 2009-06-10 Pavel Roskin <proski@gnu.org>
23356
23357 * io/gzio.c (test_header): Don't reuse one buffer for all data.
23358 Use separate variables. Read only the file size at the end, but
23359 not the checksum that we don't use.
23360
23361 * kern/file.c (grub_file_read): Use void pointer for the buffer.
23362 Adjust all callers.
23363
23364 * kern/ieee1275/openfw.c: Remove libc includes.
23365 * kern/ieee1275/cmain.c: Likewise.
23366 * include/grub/ieee1275/ieee1275.h: Likewise.
23367
23368 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
23369 compiler warnings.
23370
23371 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
23372
23373 * Makefile.in: Remove all trailing whitespace.
23374 * conf/i386-pc.rmk: Likewise.
23375 * conf/powerpc-ieee1275.rmk: Likewise.
23376 * conf/sparc64-ieee1275.rmk: Likewise.
23377 * docs/grub.texi: Likewise.
23378 * docs/texinfo.tex: Likewise.
23379 * disk/fs_uuid.c: Likewise.
23380 * disk/lvm.c: Likewise.
23381 * disk/scsi.c: Likewise.
23382 * disk/ata.c: Likewise.
23383 * disk/ieee1275/ofdisk.c: Likewise.
23384 * disk/i386/pc/biosdisk.c: Likewise.
23385 * disk/host.c: Likewise.
23386 * disk/raid.c: Likewise.
23387 * disk/efi/efidisk.c: Likewise.
23388 * disk/usbms.c: Likewise.
23389 * disk/memdisk.c: Likewise.
23390 * disk/loopback.c: Likewise.
23391 * kern/powerpc/dl.c: Likewise.
23392 * kern/device.c: Likewise.
23393 * kern/dl.c: Likewise.
23394 * kern/sparc64/dl.c: Likewise.
23395 * kern/ieee1275/ieee1275.c: Likewise.
23396 * kern/term.c: Likewise.
23397 * kern/fs.c: Likewise.
23398 * kern/i386/dl.c: Likewise.
23399 * kern/i386/pc/startup.S: Likewise.
23400 * kern/i386/pc/init.c: Likewise.
23401 * kern/i386/pc/mmap.c: Likewise.
23402 * kern/i386/pc/lzo1x.S: Likewise.
23403 * kern/i386/ieee1275/init.c: Likewise.
23404 * kern/i386/realmode.S: Likewise.
23405 * kern/i386/tsc.c: Likewise.
23406 * kern/partition.c: Likewise.
23407 * kern/corecmd.c: Likewise.
23408 * kern/file.c: Likewise.
23409 * kern/efi/efi.c: Likewise.
23410 * kern/efi/init.c: Likewise.
23411 * kern/efi/mm.c: Likewise.
23412 * kern/main.c: Likewise.
23413 * kern/err.c: Likewise.
23414 * kern/env.c: Likewise.
23415 * kern/disk.c: Likewise.
23416 * kern/generic/millisleep.c: Likewise.
23417 * kern/generic/rtc_get_time_ms.c: Likewise.
23418 * kern/misc.c: Likewise.
23419 * kern/parser.c: Likewise.
23420 * genmk.rb: Likewise.
23421 * configure.ac: Likewise.
23422 * boot/i386/pc/diskboot.S: Likewise.
23423 * boot/i386/pc/pxeboot.S: Likewise.
23424 * boot/i386/pc/boot.S: Likewise.
23425 * boot/i386/pc/lnxboot.S: Likewise.
23426 * boot/i386/pc/cdboot.S: Likewise.
23427 * parttool/pcpart.c: Likewise.
23428 * video/readers/tga.c: Likewise.
23429 * video/video.c: Likewise.
23430 * video/bitmap.c: Likewise.
23431 * lib/envblk.c: Likewise.
23432 * lib/i386/setjmp.S: Likewise.
23433 * fs/xfs.c: Likewise.
23434 * fs/afs.c: Likewise.
23435 * fs/fat.c: Likewise.
23436 * fs/ntfs.c: Likewise.
23437 * fs/udf.c: Likewise.
23438 * fs/affs.c: Likewise.
23439 * fs/iso9660.c: Likewise.
23440 * fs/hfs.c: Likewise.
23441 * fs/fshelp.c: Likewise.
23442 * fs/ext2.c: Likewise.
23443 * fs/jfs.c: Likewise.
23444 * fs/reiserfs.c: Likewise.
23445 * fs/hfsplus.c: Likewise.
23446 * fs/minix.c: Likewise.
23447 * fs/cpio.c: Likewise.
23448 * fs/sfs.c: Likewise.
23449 * fs/ufs.c: Likewise.
23450 * efiemu/prepare.c: Likewise.
23451 * efiemu/loadcore_common.c: Likewise.
23452 * efiemu/runtime/efiemu.sh: Likewise.
23453 * efiemu/runtime/efiemu.S: Likewise.
23454 * efiemu/runtime/efiemu.c: Likewise.
23455 * efiemu/pnvram.c: Likewise.
23456 * efiemu/main.c: Likewise.
23457 * efiemu/i386/pc/cfgtables.c: Likewise.
23458 * efiemu/i386/loadcore64.c: Likewise.
23459 * efiemu/i386/loadcore32.c: Likewise.
23460 * efiemu/loadcore.c: Likewise.
23461 * efiemu/symbols.c: Likewise.
23462 * efiemu/mm.c: Likewise.
23463 * include/grub/autoefi.h: Likewise.
23464 * include/grub/datetime.h: Likewise.
23465 * include/grub/term.h: Likewise.
23466 * include/grub/hfs.h: Likewise.
23467 * include/grub/lvm.h: Likewise.
23468 * include/grub/i386/tsc.h: Likewise.
23469 * include/grub/i386/linux.h: Likewise.
23470 * include/grub/i386/xnu.h: Likewise.
23471 * include/grub/i386/efiemu.h: Likewise.
23472 * include/grub/i386/pc/biosdisk.h: Likewise.
23473 * include/grub/i386/pc/memory.h: Likewise.
23474 * include/grub/i386/pc/vbe.h: Likewise.
23475 * include/grub/parttool.h: Likewise.
23476 * include/grub/video.h: Likewise.
23477 * include/grub/memory.h: Likewise.
23478 * include/grub/fs.h: Likewise.
23479 * include/grub/partition.h: Likewise.
23480 * include/grub/xnu.h: Likewise.
23481 * include/grub/efi/api.h: Likewise.
23482 * include/grub/efi/pe32.h: Likewise.
23483 * include/grub/efi/memory.h: Likewise.
23484 * include/grub/multiboot.h: Likewise.
23485 * include/grub/usbdesc.h: Likewise.
23486 * include/grub/multiboot2.h: Likewise.
23487 * include/grub/acpi.h: Likewise.
23488 * include/grub/efiemu/efiemu.h: Likewise.
23489 * include/grub/disk.h: Likewise.
23490 * include/grub/ieee1275/ieee1275.h: Likewise.
23491 * include/grub/net.h: Likewise.
23492 * include/grub/machoload.h: Likewise.
23493 * include/grub/macho.h: Likewise.
23494 * include/multiboot.h: Likewise.
23495 * genmoddep.awk: Likewise.
23496 * normal/main.c: Likewise.
23497 * normal/menu_entry.c: Likewise.
23498 * normal/menu_viewer.c: Likewise.
23499 * normal/completion.c: Likewise.
23500 * normal/cmdline.c: Likewise.
23501 * normal/misc.c: Likewise.
23502 * normal/datetime.c: Likewise.
23503 * bus/usb/usbtrans.c: Likewise.
23504 * bus/usb/ohci.c: Likewise.
23505 * bus/usb/uhci.c: Likewise.
23506 * bus/usb/usb.c: Likewise.
23507 * mmap/efi/mmap.c: Likewise.
23508 * mmap/i386/pc/mmap_helper.S: Likewise.
23509 * mmap/i386/pc/mmap.c: Likewise.
23510 * mmap/i386/mmap.c: Likewise.
23511 * mmap/i386/uppermem.c: Likewise.
23512 * mmap/mmap.c: Likewise.
23513 * commands/acpi.c: Likewise.
23514 * commands/echo.c: Likewise.
23515 * commands/blocklist.c: Likewise.
23516 * commands/loadenv.c: Likewise.
23517 * commands/usbtest.c: Likewise.
23518 * commands/boot.c: Likewise.
23519 * commands/parttool.c: Likewise.
23520 * commands/search.c: Likewise.
23521 * commands/cat.c: Likewise.
23522 * commands/i386/pc/play.c: Likewise.
23523 * commands/i386/pc/drivemap.c: Likewise.
23524 * commands/i386/pc/vbeinfo.c: Likewise.
23525 * commands/i386/pc/acpi.c: Likewise.
23526 * commands/i386/pc/vbetest.c: Likewise.
23527 * commands/ls.c: Likewise.
23528 * commands/cmp.c: Likewise.
23529 * commands/test.c: Likewise.
23530 * commands/efi/acpi.c: Likewise.
23531 * commands/gptsync.c: Likewise.
23532 * commands/help.c: Likewise.
23533 * partmap/amiga.c: Likewise.
23534 * partmap/apple.c: Likewise.
23535 * partmap/acorn.c: Likewise.
23536 * partmap/pc.c: Likewise.
23537 * partmap/sun.c: Likewise.
23538 * partmap/gpt.c: Likewise.
23539 * script/sh/lexer.c: Likewise.
23540 * script/sh/function.c: Likewise.
23541 * font/font.c: Likewise.
23542 * font/font_cmd.c: Likewise.
23543 * loader/powerpc/ieee1275/linux.c: Likewise.
23544 * loader/efi/chainloader.c: Likewise.
23545 * loader/multiboot_loader.c: Likewise.
23546 * loader/macho.c: Likewise.
23547 * loader/i386/multiboot.c: Likewise.
23548 * loader/i386/linux.c: Likewise.
23549 * loader/i386/pc/linux.c: Likewise.
23550 * loader/i386/pc/multiboot2.c: Likewise.
23551 * loader/i386/pc/chainloader.c: Likewise.
23552 * loader/i386/pc/xnu.c: Likewise.
23553 * loader/i386/bsd_trampoline.S: Likewise.
23554 * loader/i386/efi/linux.c: Likewise.
23555 * loader/i386/multiboot_elfxx.c: Likewise.
23556 * loader/i386/bsd_helper.S: Likewise.
23557 * loader/i386/bsd.c: Likewise.
23558 * loader/i386/linux_trampoline.S: Likewise.
23559 * loader/i386/xnu_helper.S: Likewise.
23560 * loader/i386/xnu.c: Likewise.
23561 * loader/i386/bsd_pagetable.c: Likewise.
23562 * loader/i386/multiboot_helper.S: Likewise.
23563 * loader/xnu.c: Likewise.
23564 * loader/xnu_resume.c: Likewise.
23565 * io/gzio.c: Likewise.
23566 * term/efi/console.c: Likewise.
23567 * term/terminfo.c: Likewise.
23568 * term/ieee1275/ofconsole.c: Likewise.
23569 * term/i386/pc/serial.c: Likewise.
23570 * term/i386/pc/vesafb.c: Likewise.
23571 * term/i386/pc/vga.c: Likewise.
23572 * term/usb_keyboard.c: Likewise.
23573 * term/gfxterm.c: Likewise.
23574 * aclocal.m4: Likewise.
23575 * util/lvm.c: Likewise.
23576 * util/grub.d/30_os-prober.in: Likewise.
23577 * util/grub.d/10_hurd.in: Likewise.
23578 * util/console.c: Likewise.
23579 * util/grub-macho2img.c: Likewise.
23580 * util/grub-probe.c: Likewise.
23581 * util/hostfs.c: Likewise.
23582 * util/i386/pc/grub-mkimage.c: Likewise.
23583 * util/i386/pc/grub-setup.c: Likewise.
23584 * util/i386/efi/grub-mkimage.c: Likewise.
23585 * util/grub-mkconfig.in: Likewise.
23586 * util/raid.c: Likewise.
23587 * util/resolve.c: Likewise.
23588 * util/grub-mkdevicemap.c: Likewise.
23589 * util/grub-emu.c: Likewise.
23590 * util/getroot.c: Likewise.
23591 * util/hostdisk.c: Likewise.
23592 * util/usb.c: Likewise.
23593 * util/grub-editenv.c: Likewise.
23594 * util/misc.c: Likewise.
23595
23596 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
23597
23598 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
23599 `genparttoollist.sh'.
23600 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
23601 Add `*.sh' to the list find searches for and change `mdate.sh'
23602 to `mdate-sh'.
23603
23604 2009-06-10 Pavel Roskin <proski@gnu.org>
23605
23606 * include/grub/multiboot2.h: Provide compatibility defines for
23607 multiboot2.h.
23608 * include/multiboot2.h: Include stdint.h only if needed, using
23609 angle brackets.
23610 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
23611 grub/multiboot2.h.
23612 * loader/ieee1275/multiboot2.c: Likewise.
23613 * loader/multiboot2.c: Likewise.
23614 * loader/multiboot_loader.c: Likewise.
23615
23616 * configure.ac: Use -nostdlib when probing for the target. It
23617 should not be required to have libc for the target.
23618
23619 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
23620 they fail without libc headers for the target.
23621 * include/grub/powerpc/libgcc.h: Use weak attribute for all
23622 exports.
23623 * include/grub/sparc64/libgcc.h: Likewise. Don't use
23624 preprocessor conditionals.
23625
23626 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
23627 build system doesn't need to be aware of the tar.c internals.
23628
23629 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
23630
23631 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
23632
23633 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
23634
23635 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
23636 disk limit to 26 for IDE, Virtio, Xen and SCSI.
23637
23638 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
23639
23640 * util/i386/pc/grub-install.in: Change the error message if UUIDs
23641 aren't available if ata.mod gets used.
23642
23643 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
23644
23645 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
23646 initialising controller.
23647 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
23648
23649 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
23650
23651 * util/i386/pc/grub-install.in: Add a parameter --disk-module
23652 to choose between ata and biosdisk module on i386-pc.
23653
23654 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
23655
23656 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
23657 Subclass and Programming Interface fields in terms of the 3 byte
23658 Class Code register.
23659 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
23660
23661 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
23662 interface is OHCI. Add grub_dprintf for symmetry with
23663 bus/usb/uhci.c.
23664 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
23665 interface is UHCI. Add interf variable for programming
23666 interface. Print interface with class/subclass.
23667
23668 * bus/usb/ohci.c: Set interf with correct field.
23669
23670 * bus/usb/uhci.c: Remove unneeded doubled lines.
23671 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
23672 Remove whitespace inside comment.
23673
23674 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
23675
23676 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
23677 as fallback an equivalent option without depth.
23678
23679 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
23680
23681 Not fail if unable to retrieve C/H/S on LBA disks
23682
23683 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
23684 if unable to retrieve C/H/S on LBA disks
23685
23686 2009-06-08 Pavel Roskin <proski@gnu.org>
23687
23688 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
23689 about aliasing.
23690
23691 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
23692
23693 * Makefile.in (uninstall): Remove all $lib_DATA files.
23694
23695 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
23696
23697 Bugfix: install on partitionless device
23698
23699 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
23700 is a whole disk
23701
23702 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
23703
23704 * Makefile.in (uninstall): Remove all $include_DATA files.
23705
23706 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
23707
23708 * commands/true.c: New file. Implement the true and false commands.
23709 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
23710 (true_mod_SOURCES): New variable.
23711 (true_mod_CFLAGS): Likewise.
23712 (true_mod_LDFLAGS): Likewise.
23713
23714 2009-06-05 Colin D Bennett <colin@gibibit.com>
23715
23716 Optimized font character lookup using binary search instead of linear
23717 search. Fonts now are required to have the character index ordered by
23718 code point.
23719
23720 * font/font.c (load_font_index): Verify that fonts have ordered
23721 character indices.
23722 (find_glyph): Use binary search instead of linear search to find a
23723 character in a font.
23724
23725 2009-06-05 Michael Scherer <misc@mandriva.org>
23726
23727 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
23728 uses case sensitive btree.
23729 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
23730 only for case insensitive filesystems.
23731
23732 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
23733
23734 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
23735 * conf/common.rmk (search_mod_CFLAGS): likewise
23736
23737 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23738
23739 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
23740 compensate a compiler bug
23741
23742 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23743
23744 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
23745 instead of '\b'
23746
23747 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23748
23749 Definitions for creating asm symbols with Apple's CC
23750
23751 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
23752 [APPLE_CC] (VARIABLE): likewise
23753
23754 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23755
23756 Disable lnxboot.img when compiled
23757 with Apple's CC
23758
23759 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
23760 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
23761 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
23762 [! APPLE_CC] (CODE_LENG): skip
23763 [! APPLE_CC] (setup_sects): likewise
23764 [! APPLE_CC]: skip filling
23765
23766 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23767
23768 Address in trampolines based on 32-bit registers when compiled
23769 with Apple's CC
23770
23771 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
23772 for addresses
23773 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
23774
23775 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23776
23777 Avoid aliases when compiling with Apple's CC for PCBIOS machine
23778
23779 * kern/misc.c [APPLE_CC] (memcpy): new function
23780 [APPLE_CC] (memmove): likewise
23781 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
23782 (memcpy): define alias conditionally on !APPLE_CC
23783 (memset): likewise
23784 (abort): likewise
23785 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
23786 APPLE_CC are defined
23787 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
23788 (grub_assert_fail): make prototype conditional
23789
23790 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23791
23792 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
23793
23794 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
23795 grub-macho2img
23796 (CLEANFILES): add grub-macho2img
23797 (grub_macho2img_SOURCES): new variable
23798 * kern/i386/pc/startup.S (bss_start): new variable
23799 (bss_end): likewise
23800 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
23801 * util/grub-macho2img.c: new file
23802
23803 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23804
23805 Use objconv when compiling with Apple's CC
23806
23807 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
23808 (efiemu64.o): likewise
23809 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
23810 when compiling with Apple's CC
23811 (efiemu64_s.o): likewise
23812 * configure.ac: check for objconv when compiling with Apple's CC
23813 * genmk.rb: use objconv for modules when compiled with Apple's CC
23814
23815 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23816
23817 Define segment as well as section when compiling with
23818 Apple's CC
23819
23820 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
23821 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
23822 (efiemu_convert_pointer): likewise
23823 (efiemu_set_virtual_address_map): likewise
23824 (efiemu_convert_pointer): likewise
23825 (efiemu_getcrc32): likewise
23826 (init_crc32_table): likewise
23827 (reflect): likewise
23828 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
23829 (GRUB_MOD_DEP): likewise
23830
23831 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23832
23833 Allow a compilation without -mcmodel=large
23834
23835 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
23836 when compiled without -mcmodel=large
23837 (filter_memory_map): remove memory post 4 GiB when compiled
23838 without -mcmodel=large
23839 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
23840 TARGET_CFLAGS when -mcmodel=large isn't supported
23841
23842 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23843
23844 Remove nested functions in efiemu core
23845
23846 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
23847
23848 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23849
23850 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
23851
23852 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
23853 temporary storage
23854 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
23855 using Apple's CC
23856 (grub_cpu_is_tsc_supported): likewise
23857 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
23858
23859 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23860
23861 Absolute addressing through constant with Apple's cc
23862
23863 * kern/i386/pc/startup.S: Define necessary constants
23864 and address through it when using ABS with Apple's CC
23865 * boot/i386/pc/diskboot.S: likewise
23866 * boot/i386/pc/boot.S: likewise
23867 * boot/i386/pc/lnxboot.S: likewise
23868 * boot/i386/pc/cdboot.S: likewise
23869 * mmap/i386/pc/mmap_helper.S: likewise
23870 * commands/i386/pc/drivemap_int13h.S: likewise
23871
23872 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23873
23874 Check if compiler is apple cc
23875
23876 * Makefile.in (ASFLAGS): new variable
23877 (TARGET_ASFLAGS): likewise
23878 (TARGET_MODULE_FORMAT): likewise
23879 (TARGET_APPLE_CC): likewise
23880 (OBJCONV): likewise
23881 (TARGET_IMG_CFLAGS): likewise
23882 (TARGET_CPPFLAGS): add includedir
23883 * configure.ac: call grub_apple_cc and grub_apple_target_cc
23884 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
23885 Check for linker script only if compiler isn't Apple's CC
23886 (TARGET_MODULE_FORMAT): set
23887 (TARGET_APPLE_CC): likewise
23888 (TARGET_ASFLAGS): likewise
23889 (ASFLAGS): likewise
23890 Check for objcopy only if compiler isn't Apple's CC
23891 Check for BSS symbol only if compiler isn't Apple's CC
23892 * genmk.rb: adapt nm options if we use Apple's utils
23893 * aclocal.m4 (grub_apple_cc): new test
23894 (grub_apple_target_cc): likewise
23895
23896 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23897
23898 Simplify sed expressions and improve awk
23899
23900 * Makefile.in (install-local): simplify sed expression
23901 * gencmdlist.sh: likewise
23902 * genmoddep.awk: avoid adding module as a dependency of itself
23903
23904 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23905
23906 Add missing start symbols
23907
23908 * boot/i386/pc/boot.S: add start
23909 * boot/i386/pc/pxeboot.S: likewise
23910
23911 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23912
23913 Fix wrong assumptions with grub-mkimage on EFI
23914
23915 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
23916 (relocate_addresses): consider both r_addend and value at offset
23917 (make_mods_section): zerofill modinfo and header
23918 (convert_elf): write prefix here
23919
23920 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23921
23922 Use .asciz instead of .string
23923
23924 * i386/pc/diskboot.S: use .asciz instead of .string
23925 * i386/pc/boot.S: likewise
23926 * include/grub/dl.h (GRUB_MOD_DEP): likewise
23927 (GRUB_MOD_NAME): likewise
23928
23929 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23930
23931 gfxpayload support
23932
23933 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
23934 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
23935 (grub_video_setup): remove
23936 (grub_video_set_mode): new prototype
23937 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
23938 (vid_mode): remove
23939 (linux_vesafb_res): compile only on PCBIOS
23940 (grub_linux_boot): support gfxpayload
23941 * loader/i386/pc/xnu.c (video_hook): new function
23942 (grub_xnu_set_video): support gfxpayload
23943 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
23944 (DEFAULT_VIDEO_HEIGHT): likewise
23945 (DEFAULT_VIDEO_FLAGS): likewise
23946 (DEFAULT_VIDEO_MODE): new definition
23947 (video_hook): new function
23948 (grub_gfxterm_init): use grub_video_set_mode
23949 * util/grub.d/30_os-prober.in: remove explicit modesetting before
23950 loading xnu
23951 * video/video.c (grub_video_setup): removed
23952 (grub_video_set_mode): new function based on grub_gfxterm_init and
23953 grub_video_setup
23954
23955 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23956
23957 Avoid calling biosdisk in drivemap
23958
23959 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
23960 (revparse_biosdisk): likewise
23961 (list_mappings): derive name from id directly
23962 (grub_cmd_drivemap): use tryparse_diskstring
23963
23964 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23965
23966 Script fixes
23967
23968 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
23969 (grub_lexer_param): add tokenonhold
23970 (grub_script_create_cmdline): remove cmdline. All callers updated
23971 (grub_script_function_create): make functionname
23972 grub_script_arg. All callers updated
23973 (grub_script_execute_argument_to_string): new prototype
23974 * kern/parser.c (state_transitions): reorder
23975 (grub_parser_cmdline_state): fix a bug and make more compact
23976 * script/sh/execute.c (grub_script_execute_argument_to_string):
23977 make global
23978 (grub_script_execute_cmdline): use new format
23979 * script/sh/function.c (grub_script_function_create): make functionname
23980 grub_script_arg. All callers updated
23981 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
23982 (grub_script_yylex): remove
23983 (grub_script_yylex2): renamed to ...
23984 (grub_script_yylex): ...renamed
23985 parse the expressions like a${b}c
23986 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
23987 (GRUB_PARSER_TOKEN_VAR): remove
23988 (GRUB_PARSER_TOKEN_NAME): likewise
23989 ("if"): declare as typeless
23990 ("while"): likewise
23991 ("function"): likewise
23992 ("else"): likewise
23993 ("then"): likewise
23994 ("fi"): likewise
23995 (text): remove
23996 (argument): likewise
23997 (script): accept empty scripts and make exit on error
23998 (arguments): use GRUB_PARSER_TOKEN_ARG
23999 (function): likewise
24000 (command): move error handling to script
24001 (menuentry): move grub_script_lexer_ref before
24002 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
24003 argument. All callers updated
24004
24005 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
24006
24007 Prevent GRUB from probing floppies during boot.
24008
24009 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
24010 * commands/search.c (options): Add --no-floppy.
24011 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
24012 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
24013 --no-floppy when searching for UUIDs.
24014
24015 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
24016
24017 Simplify the code duplication in commands/search.c.
24018
24019 * commands/search.c (search_label, search_fs_uuid): Merge into ...
24020 (search_fs): ... this. Update all users.
24021
24022 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
24023
24024 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
24025
24026 2009-05-28 Pavel Roskin <proski@gnu.org>
24027
24028 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
24029 Remove the original symlink explicitly.
24030
24031 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
24032 just one slash. That's how grub_fshelp_find_file() does it.
24033
24034 2009-05-26 Pavel Roskin <proski@gnu.org>
24035
24036 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
24037 to `str'.
24038
24039 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
24040 possibly unused.
24041
24042 2009-05-25 Christian Franke <franke@computer.org>
24043
24044 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
24045 register.
24046 (grub_atapi_identify): Add wait after drive select.
24047 (grub_ata_identify): Do more strict status register check before
24048 calling grub_atapi_identify (). Suppress error message if status
24049 register is 0x00 after command failure. Add status register
24050 check after PIO read to avoid bogus identify due to stuck DRQ.
24051 Thanks to Pavel Roskin for testing.
24052 (grub_device_initialize): Remove unsafe status register check.
24053 Thanks to 'phcoder' for problem report and patch.
24054 Prevent sign extension in debug message.
24055
24056 2009-05-23 Colin D Bennett <colin@gibibit.com>
24057
24058 Cleaned up `include/grub/normal.h'. Grouped prototypes by
24059 definition file, and functions defined in `normal/menu.c' have had
24060 their prototypes moved to `include/grub/menu.h' for consistency.
24061
24062 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
24063 from normal.h.
24064 (grub_menu_get_entry): Likewise.
24065 (grub_menu_get_timeout): Likewise.
24066 (grub_menu_set_timeout): Likewise.
24067 (grub_menu_execute_entry): Likewise.
24068 (grub_menu_execute_with_fallback): Likewise.
24069 (grub_menu_entry_run): Likewise.
24070
24071 * include/grub/normal.h: Re-ordered and grouped function
24072 prototypes by file that the function is defined in.
24073 (grub_menu_execute_callback): Removed; moved to menu.h.
24074 (grub_menu_get_entry): Likewise.
24075 (grub_menu_get_timeout): Likewise.
24076 (grub_menu_set_timeout): Likewise.
24077 (grub_menu_execute_entry): Likewise.
24078 (grub_menu_execute_with_fallback): Likewise.
24079 (grub_menu_entry_run): Likewise.
24080 (grub_menu_addentry): Renamed from this ...
24081 (grub_normal_add_menu_entry): ... to this.
24082
24083 * normal/main.c (grub_menu_addentry): Renamed from this ...
24084 (grub_normal_add_menu_entry): ... to this.
24085
24086 * script/sh/execute.c (grub_script_execute_menuentry): Update
24087 reference to renamed grub_menu_addentry function.
24088
24089 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
24090
24091 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
24092
24093 2009-05-22 Pavel Roskin <proski@gnu.org>
24094
24095 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
24096 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
24097 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
24098 compiling for the i386 targets, but not for the utilities.
24099
24100 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
24101 to grub_uint8_t.
24102 (grub_root_drive): Likewise.
24103 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
24104 remove alignment.
24105 (grub_root_drive): Change size to byte.
24106 (grub_start_addr): Remove.
24107 (grub_end_addr): Likewise.
24108 (grub_apm_bios_info): Likewise.
24109
24110 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
24111
24112 * normal/i386: Remove.
24113 * normal/powerpc: Likewise.
24114 * normal/sparc64: Likewise.
24115 * normal/x86_64: Likewise.
24116
24117 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
24118
24119 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
24120 * loader/i386/linux_trampoline.S: Fix indentation
24121 * loader/i386/xnu_helper.S: Likewise
24122
24123 2009-05-18 Colin D Bennett <colin@gibibit.com>
24124
24125 Display error messages when parsing a Lua statement fails.
24126 Previously, executing a syntactically invalid statement like
24127 ")foo" or "bar;" would silently fail.
24128
24129 * script/lua/grub_main.c (handle_lua_error): New function.
24130 (grub_lua_parse_line): Improved reporting of Lua parser and
24131 execution errors.
24132
24133 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24134
24135 Remove -Werror which causes build to fail on some systems
24136
24137 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
24138 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
24139 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
24140
24141 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
24142
24143 trampoline for linux on 64-bit platform
24144
24145 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
24146 loader/i386/efi/linux_trampoline.S
24147 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
24148 declaration
24149 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
24150 here
24151 * loader/i386/linux_trampoline.S: moved here
24152 * loader/i386/efi/linux.c (allocate_pages): reserve space for
24153 trampoline
24154 (jumpvector): removed
24155 (grub_linux_trampoline_start): new declaration
24156 (grub_linux_trampoline_end): likewise
24157 (grub_linux_boot): use trampoline when on 64-bit platform
24158 * loader/i386/linux.c: likewise
24159
24160 2009-05-16 Pavel Roskin <proski@gnu.org>
24161
24162 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
24163 const to avoid a warning.
24164 (grub_lua_setenv): Likewise.
24165 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
24166 lmsg to fix a warning.
24167
24168 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
24169
24170 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
24171 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
24172 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
24173 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
24174 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
24175 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
24176 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
24177 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
24178
24179 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
24180
24181 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
24182
24183 2009-05-16 Bean <bean123ch@gmail.com>
24184
24185 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
24186 (lua_mod_SOURCES): New variable.
24187 (lua_mod_CFLAGS): Likewise.
24188 (lua_mod_LDFLAGS): Likewise.
24189
24190 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
24191 (setjmp_mod_SOURCES): New variable.
24192 (setjmp_mod_CFLAGS): Likewise.
24193 (setjmp_LDFLAGS): Likewise.
24194
24195 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
24196 (setjmp_mod_SOURCES): New variable.
24197 (setjmp_mod_CFLAGS): Likewise.
24198 (setjmp_LDFLAGS): Likewise.
24199
24200 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
24201 (setjmp_mod_SOURCES): New variable.
24202 (setjmp_mod_CFLAGS): Likewise.
24203 (setjmp_LDFLAGS): Likewise.
24204
24205 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
24206 (setjmp_mod_SOURCES): New variable.
24207 (setjmp_mod_CFLAGS): Likewise.
24208 (setjmp_LDFLAGS): Likewise.
24209
24210 * normal/i386/setjmp.S: Moved from here ...
24211 * lib/i386/setjmp.S: ... Moved here
24212 * normal/x86_64/setjmp.S: Moved from here ...
24213 * lib/x86_64/setjmp.S: ... Moved here
24214 * normal/powerpc/setjmp.S: Moved from here ...
24215 * lib/powerpc/setjmp.S: ... Moved here
24216 * normal/sparc64/setjmp.S: Moved from here ...
24217 * lib/sparc64/setjmp.S: ... Moved here
24218
24219 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
24220 returns_twice in mingw.
24221
24222 * script/lua/grub_lib.c: New file.
24223 * script/lua/grub_lib.h: Likewise.
24224 * script/lua/grub_lua.h: Likewise.
24225 * script/lua/grub_main.c: Likewise.
24226 * script/lua/lapi.c: Likewise.
24227 * script/lua/lapi.h: Likewise.
24228 * script/lua/lauxlib.c: Likewise.
24229 * script/lua/lauxlib.h: Likewise.
24230 * script/lua/lbaselib.c: Likewise.
24231 * script/lua/lcode.c: Likewise.
24232 * script/lua/lcode.h: Likewise.
24233 * script/lua/ldblib.c: Likewise.
24234 * script/lua/ldebug.c: Likewise.
24235 * script/lua/ldebug.h: Likewise.
24236 * script/lua/ldo.c: Likewise.
24237 * script/lua/ldo.h: Likewise.
24238 * script/lua/ldump.c: Likewise.
24239 * script/lua/lfunc.c: Likewise.
24240 * script/lua/lfunc.h: Likewise.
24241 * script/lua/lgc.c: Likewise.
24242 * script/lua/lgc.h: Likewise.
24243 * script/lua/linit.c: Likewise.
24244 * script/lua/liolib.c: Likewise.
24245 * script/lua/llex.c: Likewise.
24246 * script/lua/llex.h: Likewise.
24247 * script/lua/llimits.h: Likewise.
24248 * script/lua/lmathlib.c: Likewise.
24249 * script/lua/lmem.c: Likewise.
24250 * script/lua/lmem.h: Likewise.
24251 * script/lua/loadlib.c: Likewise.
24252 * script/lua/lobject.c: Likewise.
24253 * script/lua/lobject.h: Likewise.
24254 * script/lua/lopcodes.c: Likewise.
24255 * script/lua/lopcodes.h: Likewise.
24256 * script/lua/loslib.c: Likewise.
24257 * script/lua/lparser.c: Likewise.
24258 * script/lua/lparser.h: Likewise.
24259 * script/lua/lstate.c: Likewise.
24260 * script/lua/lstate.h: Likewise.
24261 * script/lua/lstring.c: Likewise.
24262 * script/lua/lstring.h: Likewise.
24263 * script/lua/lstrlib.c: Likewise.
24264 * script/lua/ltable.c: Likewise.
24265 * script/lua/ltable.h: Likewise.
24266 * script/lua/ltablib.c: Likewise.
24267 * script/lua/ltm.c: Likewise.
24268 * script/lua/ltm.h: Likewise.
24269 * script/lua/lua.h: Likewise.
24270 * script/lua/luaconf.h: Likewise.
24271 * script/lua/lualib.h: Likewise.
24272 * script/lua/lundump.c: Likewise.
24273 * script/lua/lundump.h: Likewise.
24274 * script/lua/lvm.c: Likewise.
24275 * script/lua/lvm.h: Likewise.
24276 * script/lua/lzio.c: Likewise.
24277 * script/lua/lzio.h: Likewise.
24278
24279 2009-05-16 Bean <bean123ch@gmail.com>
24280
24281 * include/grub/kernel.h (grub_module_header_types): Add type
24282 OBJ_TYPE_CONFIG.
24283
24284 * kern/main.c (grub_load_config): New function.
24285 (grub_main): Call grub_load_config to read boot config.
24286
24287 * grub-mkimage (generate_image): New parameter config_path.
24288 (options): New option --config.
24289 (main): Parse --config option, and pass it to generate_image.
24290
24291 2009-05-14 Christian Franke <franke@computer.org>
24292
24293 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
24294 This fixes build on Cygwin.
24295
24296 2009-05-14 Pavel Roskin <proski@gnu.org>
24297
24298 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
24299 jump. This saves two bytes, so the typical case of 2 swapped
24300 drives would fit 32 bytes.
24301
24302 2009-05-13 Pavel Roskin <proski@gnu.org>
24303
24304 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
24305 grub_uint32_t to avoid a warning.
24306
24307 * loader/i386/linux.c (allocate_pages): When assigning
24308 real_mode_mem, cast through grub_size_t to fix a warning. The
24309 code already makes sure that the value would fit a pointer.
24310 (grub_linux_setup_video): Cast render_target->data to
24311 grub_size_t to fix a warning.
24312
24313 2009-05-13 Javier Martín <lordhabbit@gmail.com>
24314
24315 * commands/i386/pc/drivemap.c: New file - implement drivemap
24316 command.
24317 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
24318 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
24319
24320 2009-05-13 Pavel Roskin <proski@gnu.org>
24321
24322 * util/i386/pc/grub-setup.c (setup): Remove unused variable
24323 embedding_area_exists.
24324
24325 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
24326
24327 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
24328 it easier to understand / work with.
24329 Improve warning messages for cases where there's no embedding area,
24330 or when it is too small (or core.img too large).
24331
24332 2009-05-13 Pavel Roskin <proski@gnu.org>
24333
24334 * loader/i386/pc/multiboot2.c: Add necessary includes for
24335 grub_multiboot2_real_boot().
24336
24337 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
24338 PX record is always little-endian. We only need the lower 2
24339 bytes of the mode.
24340
24341 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
24342 facilitate code reuse.
24343 (grub_cpio_mount): Use "struct head", not a char buffer. This
24344 fixes a warning reported by gcc 4.4.
24345
24346 * kernel/disk.c (grub_disk_read): Use void pointer for the
24347 buffer.
24348 (grub_disk_write): Use const void pointer for the buffer.
24349 Adjust all callers. Remove unnecessary casts.
24350
24351 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
24352
24353 * util/i386/pc/grub-install.in: Update copyright year.
24354
24355 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
24356
24357 gptsync
24358
24359 * commands/gptsync.c: new file
24360 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
24361 (gptsync_mod_SOURCES): new variable
24362 (gptsync_mod_CFLAGS): likewise
24363 (gptsync_mod_LDFLAGS): likewise
24364 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
24365 new definition
24366 (GRUB_PC_PARTITION_TYPE_HFS): likewise
24367 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
24368 * conf/i386-ieee1275.rmk: likewise
24369 * conf/i386-pc.rmk: likewise
24370 * conf/powerpc-ieee1275.rmk: likewise
24371
24372 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
24373
24374 Fixed grub-emu
24375
24376 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
24377 (grub_dl_ref): likewise
24378
24379 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
24380
24381 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
24382 split in two functions (one for msdos and one for gpt).
24383
24384 2009-05-08 Pavel Roskin <proski@gnu.org>
24385
24386 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
24387 not modified.
24388
24389 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
24390 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
24391 Initialize them with -1. Add sanity check for bad1. Eliminate
24392 nerr variable.
24393
24394 2009-05-08 David S. Miller <davem@davemloft.net>
24395
24396 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
24397
24398 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
24399
24400 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
24401 existence.
24402
24403 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
24404
24405 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24406 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
24407
24408 2009-05-05 David S. Miller <davem@davemloft.net>
24409
24410 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
24411
24412 2009-05-05 Pavel Roskin <proski@gnu.org>
24413
24414 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
24415 of grub_dl_ref() and grub_dl_unref().
24416 * commands/parttool.c: Remove preprocessor conditionals around
24417 grub_dl_ref() and grub_dl_unref().
24418 * fs/affs.c: Likewise.
24419 * fs/afs.c: Likewise.
24420 * fs/cpio.c: Likewise.
24421 * fs/ext2.c: Likewise.
24422 * fs/fat.c: Likewise.
24423 * fs/hfs.c: Likewise.
24424 * fs/hfsplus.c: Likewise.
24425 * fs/iso9660.c: Likewise.
24426 * fs/jfs.c: Likewise.
24427 * fs/minix.c: Likewise.
24428 * fs/ntfs.c: Likewise.
24429 * fs/reiserfs.c: Likewise.
24430 * fs/sfs.c: Likewise.
24431 * fs/udf.c: Likewise.
24432 * fs/ufs.c: Likewise.
24433 * fs/xfs.c: Likewise.
24434 * include/grub/dl.h: Likewise.
24435 * loader/xnu.c: Likewise.
24436
24437 2009-05-04 Pavel Roskin <proski@gnu.org>
24438
24439 * commands/acpi.c: Remove unused variable my_mod.
24440 * partmap/amiga.c: Likewise.
24441 * partmap/apple.c: Likewise.
24442 * partmap/gpt.c: Likewise.
24443 * partmap/pc.c: Likewise.
24444 * partmap/sun.c: Likewise.
24445 * term/gfxterm.c: Likewise.
24446 * term/i386/pc/vesafb.c: Likewise.
24447 * term/i386/pc/vga.c: Likewise.
24448
24449 2009-05-04 David S. Miller <davem@davemloft.net>
24450
24451 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
24452 pointer args to grub_ieee1275_get_property().
24453
24454 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
24455
24456 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
24457 devices, and do not traverse down under controller nodes.
24458
24459 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
24460 (grub_ofdisk_open): Use it to un-escape "," characters.
24461 * kern/disk.c (find_part_sep): New.
24462 (grub_disk_open): Use it to find the first non-escaped ','
24463 character in the disk name.
24464 * util/ieee1275/devicemap.c (escape_of_path): New.
24465 (grub_util_emit_devicemap_entry): Use it.
24466 * util/sparc64/ieee1275/grub-install.in: Update script to
24467 strip partition specifiers properly by not triggering on
24468 '\' escaped ',' characters.
24469
24470 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24471
24472 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
24473 to 0x300.
24474 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
24475 resolutions.
24476 (linux_vesafb_modes): Add a lot of additional modes to the list (based
24477 on documentation from Wikipedia).
24478
24479 2009-05-04 Pavel Roskin <proski@gnu.org>
24480
24481 * disk/ata.c: Spelling fixes.
24482 * disk/raid.c: Likewise.
24483 * disk/usbms.c: Likewise.
24484 * disk/dmraid_nvidia.c: Likewise.
24485 * kern/ieee1275/openfw.c: Likewise.
24486 * kern/ieee1275/init.c: Likewise.
24487 * kern/ieee1275/cmain.c: Likewise.
24488 * boot/i386/pc/cdboot.S: Likewise.
24489 * video/readers/png.c: Likewise.
24490 * video/i386/pc/vbe.c: Likewise.
24491 * fs/udf.c: Likewise.
24492 * fs/hfs.c: Likewise.
24493 * fs/reiserfs.c: Likewise.
24494 * efiemu/runtime/efiemu.c: Likewise.
24495 * efiemu/main.c: Likewise.
24496 * efiemu/mm.c: Likewise.
24497 * include/grub/elf.h: Likewise.
24498 * include/grub/xnu.h: Likewise.
24499 * include/grub/usbdesc.h: Likewise.
24500 * include/grub/usb.h: Likewise.
24501 * include/grub/script_sh.h: Likewise.
24502 * include/grub/lib/LzmaEnc.h: Likewise.
24503 * include/grub/efiemu/efiemu.h: Likewise.
24504 * include/grub/command.h: Likewise.
24505 * normal/menu.c: Likewise.
24506 * normal/main.c: Likewise.
24507 * normal/datetime.c: Likewise.
24508 * bus/usb/uhci.c: Likewise.
24509 * mmap/i386/uppermem.c: Likewise.
24510 * mmap/mmap.c: Likewise.
24511 * commands/acpi.c: Likewise.
24512 * commands/test.c: Likewise.
24513 * partmap/apple.c: Likewise.
24514 * font/font.c: Likewise.
24515 * loader/sparc64/ieee1275/linux.c: Likewise.
24516 * loader/macho.c: Likewise.
24517 * loader/i386/bsd_trampoline.S: Likewise.
24518 * loader/i386/bsd.c: Likewise.
24519 * loader/xnu.c: Likewise.
24520 * term/i386/pc/vesafb.c: Likewise.
24521 * term/usb_keyboard.c: Likewise.
24522 * util/resolve.c: Likewise.
24523 * util/getroot.c: Likewise.
24524
24525 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
24526
24527 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
24528
24529 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24530
24531 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
24532 build error.
24533
24534 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24535
24536 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
24537 parameter only available on BIOS.
24538
24539 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24540
24541 Removed wrong semicolon in declaration
24542
24543 * grub/misc.h (grub_dprintf): remove semicolon
24544
24545 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24546
24547 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
24548 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
24549 is done by grub_cmd_linux() now).
24550 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
24551 restore video to text mode.
24552 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
24553 indicates lack of "vga=" parameter. "vga=0" is mapped to
24554 `GRUB_LINUX_VID_MODE_NORMAL'.
24555
24556 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
24557
24558 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
24559 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
24560 and `normal/script.c'. Add `kern/rescue_reader.c',
24561 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
24562 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
24563 `grub_script.tab.c'.
24564
24565 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24566 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
24567 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24568 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
24569 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24570
24571 * Makefile.in: Remove duplicated 2008 in Copyright line.
24572
24573 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
24574
24575 * util/misc.c (grub_util_warn): New function. Emits a warning
24576 unconditionally.
24577 * include/grub/util/misc.h (grub_util_warn): New declaration.
24578
24579 * util/i386/pc/grub-install.in: Understand --force and pass it down
24580 to grub-setup.
24581
24582 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
24583 down to setup().
24584 (setup): Improve error messages and add warnings when requested to
24585 install in odd layouts. Refuse to install using blocklists unless
24586 --force was set.
24587
24588 2009-05-04 martin f. krafft <madduck@madduck.net>
24589
24590 * disk/raid.c (grub_raid_scan_device): Improve debug message.
24591
24592 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24593
24594 Updated copyright year
24595
24596 * fs/hfsplus.c: updated copyright year
24597
24598 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
24599
24600 HFS+ UUID
24601
24602 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
24603 in the space previously used by unused3
24604 (grub_hfsplus_uuid): new function
24605 (grub_hfsplus_fs): added uuid field
24606
24607 2009-05-03 Pavel Roskin <proski@gnu.org>
24608
24609 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
24610 suppress warnings. It's no longer needed.
24611 * disk/host.c: Likewise.
24612 * disk/ata_pthru.c: Likewise.
24613 * disk/loopback.c: Likewise.
24614 * hook/datehook.c: Likewise.
24615 * parttool/pcpart.c: Likewise.
24616 * fs/i386/pc/pxe.c: Likewise.
24617 * fs/ntfscomp.c: Likewise.
24618 * efiemu/main.c: Likewise.
24619 * mmap/mmap.c: Likewise.
24620 * commands/crc.c: Likewise.
24621 * commands/hexdump.c: Likewise.
24622 * commands/hdparm.c: Likewise.
24623 * commands/acpi.c: Likewise.
24624 * commands/echo.c: Likewise.
24625 * commands/minicmd.c: Likewise.
24626 * commands/blocklist.c: Likewise.
24627 * commands/memrw.c: Likewise.
24628 * commands/loadenv.c: Likewise.
24629 * commands/usbtest.c: Likewise.
24630 * commands/lsmmap.c: Likewise.
24631 * commands/boot.c: Likewise.
24632 * commands/parttool.c: Likewise.
24633 * commands/configfile.c: Likewise.
24634 * commands/search.c: Likewise.
24635 * commands/ieee1275/suspend.c: Likewise.
24636 * commands/cat.c: Likewise.
24637 * commands/i386/pc/pxecmd.c: Likewise.
24638 * commands/i386/pc/play.c: Likewise.
24639 * commands/i386/pc/halt.c: Likewise.
24640 * commands/i386/pc/vbeinfo.c: Likewise.
24641 * commands/i386/pc/vbetest.c: Likewise.
24642 * commands/lspci.c: Likewise.
24643 * commands/date.c: Likewise.
24644 * commands/handler.c: Likewise.
24645 * commands/ls.c: Likewise.
24646 * commands/test.c: Likewise.
24647 * commands/cmp.c: Likewise.
24648 * commands/efi/loadbios.c: Likewise.
24649 * commands/efi/fixvideo.c: Likewise.
24650 * commands/halt.c: Likewise.
24651 * commands/help.c: Likewise.
24652 * commands/reboot.c: Likewise.
24653 * hello/hello.c: Likewise.
24654 * script/sh/main.c: Likewise.
24655 * loader/xnu.c: Likewise.
24656 * term/terminfo.c: Likewise.
24657 * term/i386/pc/serial.c: Likewise.
24658 * term/usb_keyboard.c: Likewise.
24659
24660 2009-05-03 David S. Miller <davem@davemloft.net>
24661
24662 * normal/menu.c: Include grub/parser.h
24663
24664 2009-05-03 Pavel Roskin <proski@gnu.org>
24665
24666 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
24667 not char*.
24668 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
24669 Suggested by Javier Martín <lordhabbit@gmail.com>
24670
24671 * util/i386/pc/grub-mkrescue.in: Allow for the case when
24672 efiemu??.o doesn't exist.
24673 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
24674 copying.
24675
24676 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
24677
24678 FreeBSD 64-bit support
24679
24680 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
24681 and loader/i386/bsd_trampoline.S
24682 (bsd_mod_ASFLAGS): new variable
24683 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
24684 (FREEBSD_MODTYPE_KERNEL64): likewise
24685 (grub_bsd64_trampoline_start): likewise
24686 (grub_bsd64_trampoline_end): likewise
24687 (grub_bsd64_trampoline_selfjump): likewise
24688 (grub_bsd64_trampoline_gdt): likewise
24689 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
24690 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
24691 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
24692 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
24693 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
24694 of "attrib" member
24695 * loader/i386/bsd_pagetable.c: new file
24696 * loader/i386/bsd_trampoline.S: likewise
24697 * loader/i386/bsd.c (ALIGN_QWORD): new macro
24698 (ALIGN_VAR): likewise
24699 (entry_hi): new variable
24700 (kern_end_mdofs): likewise
24701 (is_64bit): likewise
24702 (grub_freebsd_add_meta): use ALIGN_VAR
24703 (grub_e820_mmap): new declaration
24704 (grub_freebsd_add_mmap): new function
24705 (grub_freebsd_add_meta_module): support 64 bit kernels
24706 (grub_freebsd_list_modules): use ALIGN_VAR
24707 (gdt_descriptor): new declaration
24708 (grub_freebsd_boot): support 64 bit kernels
24709 (grub_bsd_elf64_hook): new function
24710 (grub_bsd_load_elf): support elf64
24711
24712 2009-05-03 Bean <bean123ch@gmail.com>
24713
24714 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
24715 after we get the result of if statement.
24716
24717 2009-05-03 Bean <bean123ch@gmail.com>
24718
24719 * Makefile.in (enable_efiemu): New variable.
24720
24721 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
24722 set.
24723 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
24724 path.
24725 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
24726 path, add -mno-red-zone option.
24727 (efiemu64_s.o): Likewise.
24728 (efiemu64.o): Use macro $^ for source file.
24729
24730 * configure.ac (--enable-efiemu): New option.
24731
24732 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24733
24734 xnu support
24735
24736 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
24737 (pkglib_MODULES): add xnu.mod
24738 (xnu_mod_SOURCES): new variable
24739 (xnu_mod_CFLAGS): likewise
24740 (xnu_mod_LDFLAGS): likewise
24741 (xnu_mod_ASFLAGS): likewise
24742 * conf/i386-pc.rmk: likewise
24743 * conf/x86_64-efi.rmk: likewise
24744 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
24745 new declaration
24746 * include/grub/i386/macho.h: new file
24747 * include/grub/i386/xnu.h: likewise
24748 * include/grub/macho.h: likewise
24749 * include/grub/machoload.h: likewise
24750 * include/grub/x86_64/macho.h: likewise
24751 * include/grub/x86_64/xnu.h: likewise
24752 * include/grub/xnu.h: likewise
24753 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
24754 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
24755 * loader/i386/efi/xnu.c: new file
24756 * loader/i386/pc/xnu.c: likewise
24757 * loader/i386/xnu.c: likewise
24758 * loader/i386/xnu_helper.S: likewise
24759 * loader/macho.c: likewise
24760 * loader/xnu.c: likewise
24761 * loader/xnu_resume.c: likewise
24762 * util/grub-dumpdevtree: likewise
24763 * include/grub/i386/pit.h: include grub/err.h
24764 (grub_pit_wait): export
24765 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
24766
24767 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24768
24769 Efiemu
24770
24771 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
24772 _linux_efi, linux_efi.
24773 new files in grub-emu
24774 new targets efiemu32.o and efiemu64.o
24775 * loader/linux_normal_efiemu.c: likewise
24776 * loader/i386/efi/linux.c: added preliminary efiemu support
24777 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
24778 files to copy
24779 * include/grub/autoefi.h: new file
24780 * include/grub/i386/efiemu.h: likewise
24781 * include/grub/i386/pc/efiemu.h: likewise
24782 * include/grub/efi/api.h: add LL suffix when necessary
24783 new definitions relating to tables
24784 * include/grub/efiemu/efiemu.h: new file
24785 * include/grub/efiemu/runtime.h: likewise
24786 * efiemu/prepare.c: likewise
24787 * efiemu/loadcore_common.c: likewise
24788 * efiemu/loadcore64.c: likewise
24789 * efiemu/runtime/efiemu.sh: likewise
24790 * efiemu/runtime/efiemu.S: likewise
24791 * efiemu/runtime/efiemu.c: likewise
24792 * efiemu/runtime/config.h: likewise
24793 * efiemu/prepare32.c: likewise
24794 * efiemu/main.c: likewise
24795 * efiemu/modules/pnvram.c: likewise
24796 * efiemu/modules/i386: likewise
24797 * efiemu/modules/i386/pc: likewise
24798 * efiemu/modules/acpi.c: likewise
24799 * efiemu/i386/pc/cfgtables.c: likewise
24800 * efiemu/i386/loadcore64.c: likewise
24801 * efiemu/i386/loadcore32.c: likewise
24802 * efiemu/prepare64.c: likewise
24803 * efiemu/loadcore.c: likewise
24804 * efiemu/symbols.c: likewise
24805 * efiemu/mm.c: likewise
24806 * efiemu/loadcore32.c: likewise
24807
24808 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24809
24810 ACPI spoofing
24811
24812 * commands/acpi.c: new file
24813 * commands/i386/pc/acpi.c: likewise
24814 * commands/efi/acpi.c: likewise
24815 * include/grub/acpi.h: likewise
24816 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
24817 (acpi_mod_SOURCES): new variable
24818 (acpi_mod_CFLAGS): likewise
24819 (acpi_mod_LDFLAGS): likewise
24820 * conf/i386-efi.rmk: likewise
24821 * conf/x86_64-efi.rmk: likewise
24822
24823 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24824
24825 Missing part from mmap patch
24826
24827 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
24828 (grub_mmap_unregister)
24829 (grub_mmap_free_and_unregister): use grub_mmap_register
24830
24831 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24832
24833 Mmap services
24834
24835 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
24836 * loader/i386/linux.c (find_mmap_size): likewise
24837 (allocate_pages): likewise
24838 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
24839 (grub_fill_multiboot_mmap): likewise
24840 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
24841 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
24842 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
24843 (OPENBSD_MMAP_RESERVED): likewise
24844 * include/grub/i386/pc/memory.h: include grub/memory.h
24845 (grub_lower_mem): removed
24846 (grub_upper_mem): likewise
24847 (GRUB_MACHINE_MEMORY_ACPI): new definition
24848 (GRUB_MACHINE_MEMORY_NVS): likewise
24849 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
24850 (GRUB_MACHINE_MEMORY_HOLE): likewise
24851 (grub_machine_mmap_register): likewise
24852 (grub_machine_mmap_unregister): likewise
24853 (grub_machine_get_upper): likewise
24854 (grub_machine_get_lower): likewise
24855 (grub_machine_get_post64): likewise
24856 * include/grub/i386/efi/memory.h: new file
24857 * include/grub/x86_64/efi/memory.h: likewise
24858 * include/grub/efi/memory.h: likewise
24859 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
24860 (mmap_mod_SOURCES): new variable
24861 (mmap_mod_LDFLAGS): likewise
24862 (mmap_mod_ASFLAGS): likewise
24863 * conf/i386-coreboot.rmk: likewise
24864 * conf/i386-ieee1275.rmk: likewise
24865 * conf/i386-efi.rmk: likewise
24866 * conf/x86_64-efi.rmk: likewise
24867 * include/grub/types.h (UINT_TO_PTR): new macro
24868 (PTR_TO_UINT32): likewise
24869 (PTR_TO_UINT64): likewise
24870 * include/grub/memory.h: new file
24871 * mmap/i386/pc/mmap.c: likewise
24872 * mmap/i386/pc/mmap_helper.S: likewise
24873 * mmap/i386/uppermem.c: likewise
24874 * mmap/mmap.c: likewise
24875 * mmap/efi/mmap.c: likewise
24876 * kern/i386/coreboot/init.c (grub_machine_init): don't use
24877 grub_upper_mem
24878 * kern/i386/pc/init.c (grub_lower_mem): removed variable
24879 (grub_upper_mem): likewise
24880 (grub_machine_init): don't use grub_upper_mem,
24881 make grub_lower_mem local
24882 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
24883 grub_mmap_iterate and grub_mmap_get_upper
24884 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
24885
24886 2009-05-02 Bean <bean123ch@gmail.com>
24887
24888 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
24889 script/sh/parser.y.
24890 (pkglib_MODULES): Add normal.mod and sh.mod.
24891 (normal_SOURCES): New variable.
24892 (normal_mod_CFLAGS): Likewise.
24893 (normal_mod_LDFLAGS): Likewise.
24894 (sh_mod_SOURCES): Likewise.
24895 (sh_mod_CFLAGS): Likewise.
24896 (sh_mod_LDFLAGS): Likewise.
24897
24898 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
24899 script/sh/lexer.c_DEPENDENCIES.
24900 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
24901 kern/rescue_reader.c and kern/rescue_parser.c.
24902 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
24903 (grub_emu_SOURCES): Change source files.
24904 (pkglib_MODULES): Remove normal.mod.
24905 (normal_SOURCES): Removed.
24906 (normal_mod_CFLAGS): Likewise.
24907 (normal_mod_LDFLAGS): Likewise.
24908 * conf/i386-coreboot.rmk: Likewise.
24909 * conf/i386-efi.rmk: Likewise.
24910 * conf/i386-ieee1276.rmk: Likewise.
24911 * conf/powerpc-ieee1275.rmk: Likewise.
24912 * conf/sparc64-ieee1275.rmk: Likewise.
24913 * conf/x86_64-efi.rmk: Likewise.
24914
24915 * include/grub/command.h (grub_command_execute): New inline function.
24916
24917 * include/grub/menu.h (grub_menu_entry): Removed commands field.
24918
24919 * include/grub/normal.h: Remove <grub/setjmp.h>.
24920 (grub_fs_module_list): Moved to normal/autofs.c.
24921 (grub_exit_env): Removed.
24922 (grub_command_execute): Likewise.
24923 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
24924 parameter script.
24925 (read_command_list): New function declaration.
24926 (read_fs_list): Likewise.
24927
24928 * include/parser.h: Include <grub/reader.h>.
24929 (grub_parser_split_cmdline): Change type of getline parameter.
24930 (grub_parser): New structure.
24931 (grub_parser_class): New variable.
24932 (grub_parser_execute): New function declaration.
24933 (grub_register_rescue_parser): Likewise.
24934 (grub_parser_register): New inline function.
24935 (grub_parser_unregister): Likewise.
24936 (grub_parser_get_current): Likewise.
24937 (grub_parser_set_current): Likewise.
24938
24939 * include/grub/reader.h: New file.
24940 * kern/reader.c: Likewise.
24941 * kern/rescue_parser.c: Likewise.
24942 * kern/rescue_reader.c: Likewise.
24943 * normal/autofs.c: Likewise.
24944 * normal/dyncmd.c: Likewise.
24945
24946 * include/grub/rescue.h: Removed.
24947 * normal/command.h: Likewise.
24948
24949 * include/grub/script.h: Moved to ...
24950 * include/grub/script_sh.h: ... Moved here.
24951 * normal/execute.c: Moved to ...
24952 * script/sh/execute.c: ... Moved here.
24953 * normal/function.c: Moved to ...
24954 * script/sh/function.c: ... Moved here.
24955 * normal/lexer.c: Moved to ...
24956 * script/sh/lexer.c: ... Moved here.
24957 * normal/parser.y: Moved to ...
24958 * script/sh/parser.y: ... Moved here.
24959 * normal/script.c: Moved to ...
24960 * script/sh/script.c: ... Moved here.
24961
24962 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
24963 <grub/reader.h>.
24964 (grub_exit_env): Removed.
24965 (fs_module_list): Moved to normal/autofs.c.
24966 (grub_file_getline): Don't handle comment here.
24967 (free_menu): Skip removed field entry->commands.
24968 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
24969 script parameter.
24970 (read_config_file): Removed nested parameter, change getline function.
24971 (grub_enter_normal_mode): Removed.
24972 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
24973 (read_command_list): Likewise.
24974 (autoload_fs_module): Moved to normal/autofs.c.
24975 (read_fs_list): Likewise.
24976 (reader_nested): New variable.
24977 (grub_normal_execute): Run parser.sh to switch to sh parser.
24978 (grub_cmd_rescue): Removed.
24979 (cmd_normal): Removed.
24980 (grub_cmd_normal): Unregister itself at the beginning. Don't register
24981 rescue command.
24982 (grub_cmdline_run): New function.
24983 (grub_normal_reader_init): Likewise.
24984 (grub_normal_read_line): Likewise.
24985 (grub_env_write_pager): Likewise.
24986 (cmdline): New variable.
24987 (grub_normal_reader): Likewise.
24988 (GRUB_MOD_INIT): Register normal reader and set as current, register
24989 pager hook, register normal command with grub_register_command_prio,
24990 so that it won't show up in command.lst.
24991 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
24992 grub_fs_autoload_hook.
24993
24994 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
24995 (grub_menu_execute_entry): Replace grub_script_execute with
24996 grub_parser_execute, change parameter to grub_command_execute.
24997
24998 * normal/menu_text.c: Remove <grub/script.h>.
24999
25000 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
25001 and <grub/parser.h>.
25002 (run): Change editor_getline to use new parser interface. Change
25003 parameter to grub_command_execute.
25004
25005 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
25006 <grub/reader.h> and <grub/parser.h>.
25007 (grub_load_normal_mode): Execute normal command.
25008 (grub_main): Call grub_register_core_commands,
25009 grub_register_rescue_parser and grub_register_rescue_reader, use
25010 grub_reader_loop to enter input loop.
25011
25012 * kern/parser.c (grub_parser_split_cmdline): Change type of
25013 getline parameter.
25014 (grub_parser_class): New variable.
25015 (grub_parser_execute): New function.
25016
25017 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
25018 * loader/multiboot2.c: Likewise.
25019 * loader/sparc64/ieee1275/linux.c: Likewise.
25020
25021 * util/grub-emu.c (read_command_list): New dummy function.
25022
25023 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
25024
25025 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
25026 count to 16 for CCISS and IDA.
25027
25028 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
25029
25030 * normal/menu_text.c (grub_wait_after_message): Print a newline
25031 after waiting for user input.
25032
25033 * loader/i386/linux.c: Include `<grub/normal.h>'.
25034 (grub_cmd_linux): Improve the error message about `ask' mode, by
25035 waiting for user input so it's not missed (we can do this, since
25036 user requested interaction).
25037
25038 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
25039
25040 Added missing lst to grub-mkrescue
25041
25042 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
25043 and ${input_dir}/parttool.lst
25044
25045 2009-04-30 David S. Miller <davem@davemloft.net>
25046
25047 * util/hostdisk.c (device_is_wholedisk): New function.
25048 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
25049 zero only if device_is_wholedisk() returns true.
25050
25051 * util/hostdisk.c (convert_system_partition_to_system_disk):
25052 Handle virtual disk devices named /dev/vdiskX as found on sparc
25053 and powerpc.
25054
25055 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
25056 lettered partition specifier is found, convert to numbered.
25057
25058 2009-04-29 David S. Miller <davem@davemloft.net>
25059
25060 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
25061 * include/grub/sparc64/ieee1275/memory.h: Likewise.
25062
25063 * normal/command.c: Add missing newline at end of file.
25064
25065 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
25066 warnings.
25067 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
25068 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
25069 grub_ofdisk_read): Likewise, and deal similarly with the fact that
25070 ihandles have a 32-bit type but need to be stored in a "void *".
25071
25072 2009-04-28 Pavel Roskin <proski@gnu.org>
25073
25074 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
25075 not disk. Adjust all dependencies.
25076 (grub_fs_uuid_close): Use grub_device_close(), not
25077 grub_disk_close().
25078
25079 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
25080 parent's partition, don't copy it by reference, as it gets freed
25081 on close.
25082
25083 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
25084
25085 Preboot hooks support
25086
25087 * commands/boot.c (struct grub_preboot_t): new declaration
25088 (preboots_head): new variable
25089 (preboots_tail): likewise
25090 (grub_loader_register_preboot_hook): new function
25091 (grub_loader_unregister_preboot_hook): likewise
25092 (grub_loader_set): launch preboot hooks
25093 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
25094 (grub_loader_register_preboot_hook): new declaration
25095 (grub_loader_unregister_preboot_hook): likewise
25096
25097 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
25098
25099 Warning fix
25100
25101 * disk/scsi.c (grub_scsi_open): added missing cast when
25102 calling grub_dprintf
25103
25104 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
25105
25106 Bug and warning fixes
25107
25108 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
25109 declaration
25110 * commands/test.c (test_parse): fixed bug with file tests and corrected
25111 declaration of find_file
25112
25113 2009-04-26 Pavel Roskin <proski@gnu.org>
25114
25115 * Makefile.in: Don't install empty manual pages if help2man is
25116 missing. Use help2man option for output, not shell redirection.
25117
25118 2009-04-26 David S. Miller <davem@davemloft.net>
25119
25120 * util/grub-mkdevicemap.c (make_device_map): Add missing
25121 NESTED_FUNC_ATTR to process_device().
25122
25123 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
25124
25125 Test command
25126
25127 * commands/test.c: rewritten to use bash-like test
25128
25129 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
25130
25131 Parttool autoloading and improvements
25132
25133 * Makefile.in (pkglib_DATA): add parttool.lst
25134 (parttool.lst): new target
25135 * genmk.rb: generate parttool-*
25136 (CLEANFILES): add #{parttool}
25137 (PARTTOOLFILES): new variable
25138 * genparttoollist.sh: new file
25139 * parttool/pcpart.c (grub_pcpart_boot): more feedback
25140 (grub_pcpart_type): likewise
25141 * commands/parttool.c (helpmsg): new variable
25142 (grub_cmd_parttool): output help if not enough arguments are supplied
25143 autoload modules
25144 (GRUB_MOD_INIT(parttool)): use helpmsg
25145
25146 2009-04-24 David S. Miller <davem@davemloft.net>
25147
25148 Avoiding opening same device multiple times in device iterator.
25149
25150 * kern/device.c: (grub_device_iterate): Define struct part_ent,
25151 and use it to build a list of partitions in iterate_disk() and
25152 iterate_partition().
25153
25154 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
25155 on disk->data.
25156
25157 * disk/ieee1275/nand.c (grub_nand_iterate): Return
25158 grub_devalias_iterate() result instead of unconditional 0.
25159 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
25160 Also, capture hook return value, either directly or via
25161 grub_children_iterate(), and propagate to caller.
25162 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
25163 grub_children_iterate): Return value is now 'int' instead of
25164 'grub_err_t'.
25165 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
25166 like a proper iterator, stopping when hooks return non-zero.
25167 (grub_devalias_iterate): Likewise.
25168
25169 2009-04-23 David S. Miller <davem@davemloft.net>
25170
25171 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
25172
25173 2009-04-22 David S. Miller <davem@davemloft.net>
25174
25175 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
25176 is larger than address_cells, use that value for address_cells too.
25177
25178 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
25179 IEEE1275_MAX_PATH_LEN): Define.
25180 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
25181 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
25182 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
25183 'devtype'. Explicitly NULL terminate devalias expansion.
25184
25185 * util/sparc64/ieee1275/misc.c: New file.
25186 * util/sparc64/ieee1275/grub-setup.c: New file.
25187 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
25188 * util/sparc64/ieee1275/grub-mkimage.c: New file.
25189 * util/sparc64/ieee1275/grub-install.in: New file.
25190 * util/ieee1275/ofpath.c: New file.
25191 * util/ieee1275/devicemap.c: New file.
25192 * util/devicemap.c: New file.
25193 * util/deviceiter.c: New file.
25194 * kern/sparc64/ieee1275/init.c: New file.
25195 * include/grub/util/ofpath.h: New file.
25196 * include/grub/util/deviceiter.h: New file.
25197 * util/grub-mkdevicemap.c: Include deviceiter.h.
25198 Implement using grub_util_emit_devicemap_entry and
25199 grub_util_iterate_devices.
25200 * conf/i386-corebook.rmk: Build util/deviceiter.c and
25201 util/devicemap.c into grub-mkdevicemap
25202 * conf/i386-efi.rmk: Likewise.
25203 * conf/i386-ieee1275.rmk: Likewise.
25204 * conf/i386-pc.rmk: Likewise.
25205 * conf/powerpc-ieee1275.rmk: Likewise.
25206 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
25207 images and installation utilities. Build kernel as image
25208 instead of as elf binary. Use common rules as much as possible.
25209
25210 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
25211
25212 Correct GPT definition
25213
25214 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
25215 of "attrib" member
25216
25217 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
25218
25219 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
25220
25221 2009-04-19 David S. Miller <davem@davemloft.net>
25222
25223 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
25224 (grub_rescue_cmd_linux): Rename to...
25225 (grub_cmd_linux): and fix prototype.
25226 (grub_rescue_cmd_initrd): Rename to...
25227 (grub_cmd_initrd): and fix prototype.
25228 (cmd_linux, cmd_initrd): New.
25229 (GRUB_MOD_INIT(linux)): Use grub_register_command().
25230 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
25231
25232 2009-04-17 Pavel Roskin <proski@gnu.org>
25233
25234 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
25235 format.
25236 (grub_ohci_transfer): Likewise.
25237
25238 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
25239
25240 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
25241 return without a value. Fix inconsistent indentation.
25242
25243 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
25244 match struct grub_fs.
25245
25246 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
25247 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
25248 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
25249 * commands/lspci.c (grub_lspci_iter): Likewise.
25250
25251 2009-04-16 Bean <bean123ch@gmail.com>
25252
25253 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
25254 value.
25255
25256 2009-04-15 Pavel Roskin <proski@gnu.org>
25257
25258 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
25259 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
25260 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
25261 definitions.
25262
25263 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
25264
25265 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
25266 that no multiple data or metadata areas are supported and `Unknown
25267 metadata header'.
25268
25269 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
25270
25271 Move loader out of the kernel
25272
25273 * kern/loader.c: moved to ...
25274 * commands/boot.c: ... moved here
25275 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
25276 * commands/boot.c (grub_cmd_boot): moved here. All users updated
25277 * include/grub/kernel.h (grub_machine_fini): export
25278 * include/grub/loader.h (grub_loader_is_loaded): update declaration
25279 (grub_loader_set): likewise
25280 (grub_loader_unset): likewise
25281 (grub_loader_boot): likewise
25282 * conf/common.rmk: new module boot.mod
25283 (pkglib_MODULES): add boot.mod
25284 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
25285 (grub_emu_SOURCES): likewise
25286 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
25287 (grub_emu_SOURCES): likewise
25288 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
25289 (grub_emu_SOURCES): likewise
25290 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
25291 (grub_emu_SOURCES): likewise
25292 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
25293 (grub_emu_SOURCES): likewise
25294 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
25295 (grub_emu_SOURCES): likewise
25296 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
25297 (grub_emu_SOURCES): likewise
25298
25299 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
25300
25301 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
25302
25303 * kern/misc.c (grub_itoa): Removed function
25304 (grub_ltoa): likewise
25305 (grub_vsprintf): use grub_lltoa
25306
25307 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
25308
25309 Restore grub-emu
25310
25311 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
25312 * conf/i386-coreboot.rmk: likewise
25313 * conf/i386-ieee1275.rmk: likewise
25314 * conf/powerpc-ieee1275.rmk: likewise
25315
25316 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
25317
25318 * INSTALL: Add that `./autogen.sh' needs to be run before
25319 `./configure.'.
25320
25321 2009-04-14 Bean <bean123ch@gmail.com>
25322
25323 * Makefile.in (pkglib_DATA): Add handler.lst.
25324 (handler.lst): New rule.
25325
25326 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
25327 * conf/i386-coreboot.rmk: Likewise.
25328 * conf/i386-ieee1275.rmk: Likewise.
25329 * conf/i386-efi.rmk: Likewise.
25330 * conf/x86_64-efi.rmk: Likewise.
25331 * conf/powerpc-ieee1275.rmk: Likewise.
25332 * conf/sparc64-ieee1275.rmk: Likewise.
25333
25334 * genhandlerlist.sh: New file.
25335
25336 * genmk.rb: Add rules to generate handler.lst.
25337
25338 * include/grub/normal.h (grub_file_getline): New function definition.
25339 (read_handler_list): Likewise.
25340 (free_handler_list): Likewise.
25341
25342 * include/grub/term.h (grub_term_register_input): Add name parameter
25343 for auto generation of handler.lst.
25344 (grub_term_register_output): Likewise.
25345
25346 * normal/handler.c: New file.
25347
25348 * normal/main.c (get_line): Renamed to grub_file_getline.
25349 (read_config_file): Use the newly renamed grub_file_getline.
25350 (read_command_list): Likewise.
25351 (read_fs_list): Likewise.
25352 (grub_normal_execute): Call read_handler_list to parse handler.lst.
25353 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
25354
25355 * term/efi/console.c (grub_console_init): Add name parameter for auto
25356 generation of handler.lst.
25357 * term/gfxterm.c: Likewise.
25358 * term/i386/pc/at_keyboard.c: Likewise.
25359 * term/i386/pc/console.c: Likewise.
25360 * term/i386/pc/serial.c: Likewise.
25361 * term/i386/pc/vesafb.c: Likewise.
25362 * term/i386/pc/vga.c: Likewise.
25363 * term/i386/pc/vga_text.c: Likewise.
25364 * term/ieee1275/ofconsole.c: Likewise.
25365 * term/usb_keyboard.c: Likewise.
25366
25367 2009-04-14 Bean <bean123ch@gmail.com>
25368
25369 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
25370 properly with null character.
25371
25372 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
25373
25374 * configure: Remove.
25375 * config.h.in: Likewise.
25376 * stamp-h.in: Likewise.
25377 * DISTLIST: Likewise.
25378 * conf/common.mk: Likewise.
25379 * conf/i386-coreboot.mk: Likewise.
25380 * conf/i386-efi.mk: Likewise.
25381 * conf/i386-ieee1275.mk: Likewise.
25382 * conf/i386.mk: Likewise.
25383 * conf/i386-pc.mk: Likewise.
25384 * conf/powerpc-ieee1275.mk: Likewise.
25385 * conf/sparc64-ieee1275.mk: Likewise.
25386 * conf/x86_64-efi.mk: Likewise.
25387
25388 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
25389 develop on GRUB.
25390
25391 2009-04-14 John Stanley <jpsinthemix@verizon.net>
25392 David S. Miller <davem@davemloft.net>
25393
25394 * util/hostdisk.c (make_device_name): Fix buffer length
25395 calculations.
25396
25397 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
25398
25399 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
25400 <sys/param.h> and <sys/sysctl.h>.
25401 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
25402 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
25403 opening the device and reset them afterwards.
25404
25405 2009-04-13 Pavel Roskin <proski@gnu.org>
25406
25407 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
25408 Reported by John Stanley <jpsinthemix@verizon.net>
25409
25410 2009-04-13 Robert Millan <rmh@aybabtu.com>
25411
25412 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
25413 that name for menuentries when appropriate.
25414
25415 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
25416
25417 * util/grub.d/10_freebsd.in: Add a missing `fi'.
25418
25419 2009-04-13 Robert Millan <rmh@aybabtu.com>
25420
25421 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
25422 to Linux, simply abort telling the user it's no longer supported.
25423
25424 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
25425
25426 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
25427 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
25428 `freebsd_loadenv' only when devices.hints exist.
25429
25430 2009-04-13 Pavel Roskin <proski@gnu.org>
25431
25432 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
25433
25434 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
25435
25436 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
25437 partition number.
25438 (grub_drive): Likewise.
25439
25440 2009-04-13 David S. Miller <davem@davemloft.net>
25441
25442 * kern/sparc64/ieee1275/ieee1275.c: New file.
25443 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
25444 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
25445 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
25446 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
25447 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
25448 grub_ieee1275_alloc_physmem): Declare new exported functions.
25449
25450 * include/grub/sparc64/ieee1275/loader.h: New file.
25451 * include/grub/sparc64/ieee1275/memory.h: Likewise.
25452 * include/grub/sparc64/kernel.h: Likewise.
25453 * loader/sparc64/ieee1275/linux.c: Likewise.
25454
25455 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
25456 (grub_fstest_SOURCES): Likewise.
25457
25458 * util/hostdisk.c (make_device_name): Do not make any assumptions
25459 about the length of drive names.
25460
25461 * kern/dl.c (grub_dl_load_file): Close file immediately when
25462 we are done using it.
25463
25464 2009-04-12 David S. Miller <davem@davemloft.net>
25465
25466 * kern/misc.c (grub_ltoa): Fix cast when handling negative
25467 values. Noticed by Pavel Roskin.
25468
25469 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
25470 target compiler.
25471
25472 * genmk.rb: Add more flexible image type specification, also
25473 pass --strip-unneeded to objcopy.
25474 * conf/i386-pc.rmk: Use *_FORMAT.
25475 * conf/i386-pc.mk: Rebuilt.
25476
25477 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
25478 (OFDISK_HASH_SZ): Define.
25479 (ofdisk_hash): New hash table.
25480 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
25481 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
25482 instead of device phandle which is not unique.
25483
25484 * kern/sparc64/ieee1275/init.c: Delete, replace with...
25485 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
25486 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
25487 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
25488 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
25489 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
25490 GRUB_KERNEL_MACHINE_DATA_END): Define.
25491 (grub_kernel_image_size, grub_total_module_size): Declare.
25492
25493 2009-04-12 Pavel Roskin <proski@gnu.org>
25494
25495 * configure.ac: Change the logic when we check for target tools.
25496 Do it when the target is specified and it's different from the
25497 specified value of the host.
25498
25499 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
25500
25501 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
25502 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
25503 GNU/kFreeBSD. Check if a device is a character device. Use
25504 DIOCGMEDIASIZE to get the size.
25505 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
25506 support for GNU/kFreeBSD.
25507 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
25508 is a character device instead of a block device. Add support for
25509 FreeBSD device names.
25510
25511 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
25512 is a character device instead of a block device.
25513
25514 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
25515 is a character device instead of a block device.
25516
25517 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
25518
25519 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
25520 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
25521 FreeBSD. Check if a device is a character device. Use
25522 DIOCGMEDIASIZE to get the size.
25523 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
25524 support for FreeBSD.
25525 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
25526 is a character device instead of a block device. Add support for
25527 FreeBSD device names.
25528
25529 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
25530 a character device instead of a block device.
25531 (grub_util_check_char_device): New function.
25532
25533 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
25534 a character device instead of a block device.
25535
25536 * include/grub/util/getroot.h (grub_util_check_char_device): New
25537 prototype.
25538
25539 2009-04-11 David S. Miller <davem@davemloft.net>
25540
25541 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
25542 static libgcc.
25543 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
25544 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
25545 function, if present.
25546 (__bswapdi2): Likewise.
25547
25548 * include/grub/sparc64/ieee1275/boot.h: New file.
25549 * boot/sparc64/ieee1275/boot.S: Likewise.
25550 * boot/sparc64/ieee1275/diskboot.S: Likewise.
25551
25552 * kern/misc.c (grub_ltoa): New function.
25553 (grub_vsprintf): Use it to format 'long' integers.
25554
25555 2009-04-10 David S. Miller <davem@davemloft.net>
25556
25557 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
25558 slots are of type grub_ieee1275_cell_t.
25559 (grub_nand_read): Likewise.
25560 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
25561 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
25562 macros are used to compare values in arg/ret block of the call.
25563 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
25564 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
25565 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
25566 grub_ieee1275_instance_to_path, grub_ieee1275_write,
25567 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
25568 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
25569 grub_ieee1275_close, grub_ieee1275_set_property,
25570 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
25571 grub_ieee1275_cell_t.
25572 * kern/ieee1275/openfw.c (grub_map): Likewise.
25573 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
25574 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
25575
25576 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
25577 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
25578 (grub_devalias_iterate): Likewise.
25579
25580 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
25581
25582 UFS improvements
25583
25584 * fs/ufs.c (INODE_NBLOCKS): new definition
25585 (struct grub_ufs_dirent): added fields for non-BSD dirents
25586 (grub_ufs_get_file_block): fixed double indirect handling
25587 (grub_ufs_lookup_symlink): use more robust way to determine whether
25588 symlink is inline
25589 (grub_ufs_find_file): support for non-BSD dirents
25590 (grub_ufs_dir): support for non-BSD dirents
25591
25592 2009-04-10 Bean <bean123ch@gnail.com>
25593
25594 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
25595 attribute, otherwise the size would be wrong for i386 platform.
25596
25597 * include/grub/pci.h (grub_pci_read_word): New inline function.
25598 (grub_pci_read_byte): Likewise.
25599 (grub_pci_write): Likewise.
25600 (grub_pci_write_word): Likewise.
25601 (grub_pci_write_byte): Likewise.
25602
25603 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
25604
25605 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
25606 (find_framebuf): Scan pci to locate the frame buffer address.
25607
25608 * commands/efi/fixvideo.c: New file.
25609
25610 * commands/efi/loadbios.c: Likewise.
25611
25612 * commands/memrw.c: Likewise.
25613
25614 * util/grub-dumpbios.in: Likewise.
25615
25616 * conf/common.rmk (grub-dumpbios): New utility.
25617 (pkglib_MODULES): New module memrw.mod.
25618 (memrw_mod_SOURCE): New macro.
25619 (memrw_mod_CFLAGS): Likewise.
25620 (memrw_mod_LDFLAGS): Likewise.
25621
25622 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
25623 fixvideo.mod.
25624 (loadbios_mod_SOURCE): New macro.
25625 (loadbios_mod_CFLAGS): Likewise.
25626 (loadbios_mod_LDFLAGS): Likewise.
25627 (fixvideo_mod_SOURCE): Likewise.
25628 (fixvideo_mod_CFLAGS): Likewise.
25629 (fixvideo_mod_LDFLAGS): Likewise.
25630
25631 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
25632 fixvideo.mod.
25633 (loadbios_mod_SOURCE): New macro.
25634 (loadbios_mod_CFLAGS): Likewise.
25635 (loadbios_mod_LDFLAGS): Likewise.
25636 (fixvideo_mod_SOURCE): Likewise.
25637 (fixvideo_mod_CFLAGS): Likewise.
25638 (fixvideo_mod_LDFLAGS): Likewise.
25639
25640 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
25641
25642 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
25643
25644 2009-04-07 David S. Miller <davem@davemloft.net>
25645
25646 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
25647 support for R_SPARC_OLO10 relocations. Fix compile warning for
25648 R_SPARC_WDISP30 case.
25649 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
25650
25651 2009-04-06 Pavel Roskin <proski@gnu.org>
25652
25653 * include/grub/misc.h (ARRAY_SIZE): New macro.
25654 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
25655 New macro.
25656 * loader/i386/linux.c (allocate_pages): Use free_pages().
25657 (grub_linux_unload): Don't use free_pages().
25658 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
25659 wrong index. Treat all other modes as text modes.
25660 (grub_cmd_linux): Initialize vid_mode unconditionally to
25661 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
25662
25663 * commands/help.c (print_command_help): Use cmd->prio, not
25664 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
25665
25666 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
25667
25668 Parttool
25669
25670 * parttool/pcpart.c: new file
25671 * commands/parttool.c: likewise
25672 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
25673 (parttool_mod_SOURCES): new variable
25674 (parttool_mod_CFLAGS): likewise
25675 (parttool_mod_LDFLAGS): likewise
25676 (pcpart_mod_SOURCES): likewise
25677 (pcpart_mod_CFLAGS): likewise
25678 (pcpart_mod_LDFLAGS): likewise
25679 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
25680 and parttool/pcpart.c
25681 * conf/i386-efi.rmk: likewise
25682 * conf/i386-ieee1275.rmk: likewise
25683 * conf/i386-pc.rmk: likewise
25684 * conf/powerpc-ieee1275.rmk: likewise
25685 * conf/sparc64-ieee1275.rmk: likewise
25686 * conf/x86_64-ieee1275.rmk: likewise
25687
25688 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25689
25690 Support for mtime and further expandability of dir command
25691
25692 * include/grub/lib/datetime.h: moved to ...
25693 * include/grub/datetime.h: ... moved here and added
25694 declaration of grub_unixtime2datetime. All users updated
25695 * include/grub/fs.h: new syntax for dir and mtime functions in
25696 struct grub_fs
25697 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
25698 and GRUB_FSHELP_FLAGS_MASK
25699 * commands/ls.c (grub_ls_list_files): Write mtime in long format
25700 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
25701 (grub_ext2_mtime): new function
25702 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
25703 (grub_hfsplus_mtime): new function
25704 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
25705 (GRUB_UFS_ATTR_FILE): likewise
25706 (GRUB_UFS_ATTR_LNK): likewise
25707 (struct grub_ufs_sblock): new fields mtime
25708 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
25709 all users updated
25710 (grub_ufs_dir): mtime support
25711 (grub_ufs_mtime): new function
25712 * fs/affs.c (grub_affs_dir): use new dir syntax
25713 * fs/afs.c (grub_afs_dir): likewise
25714 * fs/cpio.c (grub_cpio_dir): likewise
25715 * fs/fat.c (grub_fat_find_dir): likewise
25716 * fs/hfs.c (grub_hfs_dir): likewise
25717 * fs/iso9660.c (grub_iso9660_dir): likewise
25718 * fs/jfs.c (grub_jfs_dir): likewise
25719 * fs/minix.c (grub_minix_dir): likewise
25720 * fs/ntfs.c (grub_ntfs_dir): likewise
25721 * fs/reiserfs.c (grub_reiserfs_dir): likewise
25722 * fs/sfs.c (grub_sfs_dir): likewise
25723 * fs/xfs.c (grub_xfs_dir): likewise
25724 * util/hostfs.c (grub_hostfs_dir): likewise
25725 * lib/datetime.c: moved to ...
25726 * normal/datetime.c: ... moved here
25727 (grub_unixtime2datetime): new function
25728 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
25729 * normal/completion.c (iterate_dir): use new dir syntax
25730 * normal/misc.c (grub_normal_print_device_info): tell the
25731 last modification time of a volume
25732 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
25733 * conf/common.rmk: added lib/datetime.c to ls.mod
25734 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
25735 (normal_mod_SOURCES): likewise
25736 (datetime_mod_SOURCES): Removed lib/datetime.c
25737 * conf/i386-efi.rmk: likewise
25738 * conf/i386-ieee1275.rmk: likewise
25739 * conf/i386-pc.rmk: likewise
25740 * conf/powerpc-ieee1275.rmk: likewise
25741 * conf/sparc64-ieee1275.rmk: likewise
25742 * conf/x86_64-efi.rmk: likewise
25743
25744 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25745
25746 Trim trailing spaces in FAT label and support mtools-like labels
25747
25748 * fs/fat.c (grub_fat_iterate_dir): New function based
25749 on grub_fat_find_dir
25750 (grub_fat_find_dir): use grub_fat_iterate_dir
25751 (grub_fat_label): likewise
25752
25753 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
25754
25755 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
25756 and command.h
25757 remove extraneous kernel_elf_HEADERS
25758
25759 2009-04-04 Bean <bean123ch@gnail.com>
25760
25761 * include/grub/util/misc.h: Add dummy function fsync for mingw.
25762
25763 * util/misc.c: Likewise.
25764
25765 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
25766
25767 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
25768 instead of grub_printf.
25769
25770 2009-04-03 Robert Millan <rmh@aybabtu.com>
25771
25772 * loader/i386/linux.c (grub_linux_setup_video): Fill
25773 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
25774 values from `mode info' structure instead of hardcoded
25775 values.
25776
25777 2009-04-01 Pavel Roskin <proski@gnu.org>
25778
25779 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
25780 unused now.
25781 * genmk.rb: Likewise.
25782 * configure.ac: Likewise.
25783
25784 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
25785
25786 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
25787 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
25788
25789 2009-04-01 David S. Miller <davem@davemloft.net>
25790
25791 * normal/sparc64/setjmp.S: Fix setjmp implementation.
25792 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
25793 (grub_setjmp): Mark with 'returns_twice' attribute.
25794 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
25795 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
25796 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
25797
25798 2009-04-01 Robert Millan <rmh@aybabtu.com>
25799
25800 Reapply fix from 2008-07-28 which was accidentally reverted; also
25801 perform the same fix to a similar check in same function.
25802
25803 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
25804 with the same number are found, just use issue a warning with
25805 grub_dprintf(), as this error has been reported to be non-fatal.
25806
25807 2009-03-31 Pavel Roskin <proski@gnu.org>
25808
25809 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
25810 for cross-compilation.
25811
25812 2009-03-30 Robert Millan <rmh@aybabtu.com>
25813
25814 Fix i386-ieee1275 build.
25815
25816 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
25817 Remove declaration.
25818
25819 2009-03-30 Pavel Roskin <proski@gnu.org>
25820
25821 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
25822 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
25823 zero-terminated, rely only on the strlen value. Fix comparison
25824 of strings differing in length.
25825
25826 2009-03-30 Robert Millan <rmh@aybabtu.com>
25827
25828 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
25829 checking for abi version. Improve error messages on BIOS to notify
25830 user about `linux16' command.
25831
25832 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
25833
25834 Leak fixes
25835
25836 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
25837 in case of collision
25838 * disk/scsi.c (grub_scsi_open): free scsi in case of error
25839
25840 2009-03-29 Robert Millan <rmh@aybabtu.com>
25841
25842 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
25843 set `vid_mode' accordingly.
25844 (grub_linux_boot): Process `vid_mode' and set video mode.
25845
25846 2009-03-29 Robert Millan <rmh@aybabtu.com>
25847
25848 * util/grub.d/10_linux.in (linux_entry): New function.
25849 Factorize generation of Linux boot entries.
25850
25851 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
25852
25853 Make the format of Environment Block plain text. The boot loader
25854 part is not tested well yet.
25855
25856 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
25857 (buffer): Removed.
25858 (envblk): Likewise.
25859 (usage): Remove "info" and "clear". Add "unset". Update the
25860 description of "set", as this does not delete variables any
25861 longer.
25862 (create_envblk_file): Complete rewrite.
25863 (open_envblk_file): Likewise.
25864 (cmd_info): Removed.
25865 (cmd_list): Likewise.
25866 (cmd_set): Likewise.
25867 (cmd_clear): Likewise.
25868 (list_variables): New function.
25869 (write_envblk): Likewise.
25870 (set_variables): Likewise.
25871 (unset_variables): Likewise.
25872 (main): Complete rewrite.
25873
25874 * commands/loadenv.c (buffer): Removed.
25875 (envblk): Likewise.
25876 (open_envblk_file): New function.
25877 (read_envblk_file): Complete rewrite.
25878 (grub_cmd_load_env): Likewise.
25879 (grub_cmd_list_env): Likewise.
25880 (struct blocklist): New struct.
25881 (free_blocklists): New function.
25882 (check_blocklists): Likewise.
25883 (write_blocklists): Likewise.
25884 (grub_cmd_save_env): Complete rewrite.
25885
25886 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
25887 a plain text signature.
25888 (GRUB_ENVBLK_MAXLEN): Removed.
25889 (struct grub_envblk): Complete rewrite.
25890 (grub_envblk_find): Removed.
25891 (grub_envblk_insert): Likewise.
25892 (grub_envblk_open): New prototype.
25893 (grub_envblk_set): Likewise.
25894 (grub_envblk_delete): Put const to VALUE.
25895 (grub_envblk_iterate): Put const to NAME and VALUE.
25896 (grub_envblk_close): New prototype.
25897 (grub_envblk_buffer): New inline function.
25898 (grub_envblk_size): Likewise.
25899
25900 * lib/envblk.c: Include grub/mm.h.
25901 (grub_env_find): Removed.
25902 (grub_envblk_open): New function.
25903 (grub_envblk_close): Likewise.
25904 (escaped_value_len): Likewise.
25905 (find_next_line): Likewise.
25906 (grub_envblk_insert): Removed.
25907 (grub_envblk_set): New function.
25908 (grub_envblk_delete): Complete rewrite.
25909 (grub_envblk_iterate): Likewise.
25910
25911 2009-03-28 Robert Millan <rmh@aybabtu.com>
25912
25913 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
25914 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
25915 variables. Use 16-bit loader.
25916 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
25917 loader.
25918 * kern/i386/loader.S (grub_linux_boot): Rename to ...
25919 (grub_linux16_boot): ... this. Update all users.
25920 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
25921 (grub_linux_boot): ... this. Update all users.
25922
25923 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
25924 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
25925 commands to `linux16' and `initrd16'.
25926 (GRUB_MOD_FINI(linux)): Rename to ...
25927 (GRUB_MOD_FINI(linux16)): ... this.
25928
25929 2009-03-24 Pavel Roskin <proski@gnu.org>
25930
25931 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
25932 not just for compilation.
25933
25934 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
25935
25936 Move multiboot helper out of kernel
25937
25938 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
25939 `loader/i386/multiboot_helper.S'.
25940 * conf/i386-coreboot.rmk: Likewise
25941 * conf/i386-ieee1275.rmk: Likewise
25942
25943 * kern/i386/loader.S: Move multiboot helpers from here...
25944 * loader/i386/multiboot_helper.S: ...moved here
25945 * include/grub/i386/loader.h: Move declarations of multiboot
25946 helpers from here...
25947 * include/grub/i386/multiboot.h: ...moved here
25948 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
25949
25950 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25951
25952 * kern/env.c (grub_env_context_open): Added an argument to specify
25953 whether a new context inherits exported variables from current
25954 one. This is useful when making a sandbox to interpret a config
25955 file.
25956 All callers updated.
25957
25958 * include/grub/env.h (grub_env_context_open): Updated the prototype.
25959
25960 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25961
25962 * kern/env.c (grub_env_context_close): Fix memory leaks.
25963
25964 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25965
25966 * normal/main.c (grub_normal_execute): Added an argument
25967 BATCH to specify if an interactive interface should be provided
25968 after reading a config file.
25969 All callers updated.
25970 (read_command_list): Prevent being executed twice.
25971 (read_fs_list): Likewise.
25972
25973 * include/grub/normal.h (grub_normal_execute): Updated the
25974 prototype.
25975
25976 2009-03-22 Pavel Roskin <proski@gno.org>
25977
25978 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
25979 _start.
25980 * kern/i386/pc/startup.S: Likewise.
25981 * kern/i386/efi/startup.S: Likewise.
25982 * kern/i386/ieee1275/startup.S: Likewise.
25983 * kern/i386/coreboot/startup.S: Likewise.
25984 * kern/x86_64/efi/startup.S: Likewise.
25985
25986 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
25987 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
25988 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
25989
25990 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
25991
25992 Bugfixes in multiboot for bugs uncovered by solaris kernel.
25993
25994 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
25995 limit detection.
25996 Use vaddr of correct segment for entry_point.
25997
25998 2009-03-21 Bean <bean123ch@gmail.com>
25999
26000 * commands/blocklist.c: Add include file <grub/command.h>, remove
26001 <grub/normal.h> and <grub/arg.h>.
26002 (grub_cmd_blocklist): Use the new command interface.
26003 (GRUB_MOD_INIT): Likewise.
26004 (GRUB_MOD_FINI): Likewise.
26005 * commands/boot.c: Likewise.
26006 * commands/cat.c: Likewise.
26007 * commands/cmp.c: Likewise.
26008 * commands/configfile.c: Likewise.
26009 * commands/crc.c: Likewise.
26010 * commands/echo.c: Likewise.
26011 * commands/halt.c: Likewise.
26012 * commands/handler.c: Likewise.
26013 * commands/hdparm.c: Likewise.
26014 * commands/help.c: Likewise.
26015 * commands/hexdump.c: Likewise.
26016 * commands/loadenv.c: Likewise.
26017 * commands/ls.c: Likewise.
26018 * commands/lsmmap.c: Likewise.
26019 * commands/lspci.c: Likewise.
26020 * commands/loadenv.c: Likewise.
26021 * commands/read.c: Likewise.
26022 * commands/reboot.c: Likewise.
26023 * commands/search.c: Likewise.
26024 * commands/sleep.c: Likewise.
26025 * commands/test.c: Likewise.
26026 * commands/usbtest.c: Likewise.
26027 * commands/videotest.c: Likewise.
26028 * commands/i386/cpuid.c: Likewise.
26029 * commands/i386/pc/halt.c: Likewise.
26030 * commands/i386/pc/play.c: Likewise.
26031 * commands/i386/pc/pxecmd.c: Likewise.
26032 * commands/i386/pc/vbeinfo.c: Likewise.
26033 * commands/i386/pc/vbetest.c: Likewise.
26034 * commands/ieee1275/suspend.c: Likewise.
26035 * disk/loopback.c: Likewise.
26036 * font/font_cmd.c: Likewise.
26037 * hello/hello.c: Likewise.
26038 * loader/efi/appleloader.c: Likewise.
26039 * loader/efi/chainloader.c: Likewise.
26040 * loader/i386/bsd.c: Likewise.
26041 * loader/i386/efi/linux.c: Likewise.
26042 * loader/i386/ieee1275/linux.c: Likewise.
26043 * loader/i386/linux.c: Likewise.
26044 * loader/i386/pc/chainloader.c: Likewise.
26045 * loader/i386/pc/linux.c: Likewise.
26046 * loader/powerpc/ieee1275/linux.c: Likewise.
26047 * loader/multiboot_loader.c: Likewise.
26048 * term/gfxterm.c: Likewise.
26049 * term/i386/pc/serial.c: Likewise.
26050 * term/terminfo.c: Likewise.
26051
26052 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
26053 * term/i386/pc/vga.c: Likewise.
26054 * video/readers/jpeg.c: Likewise.
26055 * video/readers/png.c: Likewise.
26056 * video/readers/tga.c: Likewise.
26057
26058 * util/grub-fstest (cmd_loopback): Removed.
26059 (cmd_blocklist): Likewise.
26060 (cmd_ls): Likewise.
26061 (grub_register_command): Likewise.
26062 (grub_unregister_command): Likewise.
26063 (execute_command): Use grub_command_find to locate command and execute
26064 it.
26065
26066 * include/grub/efi/chainloader.h: Removed.
26067 * loader/efi/chainloader_normal.c: Likewise.
26068 * loader/i386/bsd_normal.c: Likewise.
26069 * loader/i386/pc/chainloader_normal.c: Likewise.
26070 * loader/i386/pc/multiboot_normal.c: Likewise.
26071 * loader/linux_normal.c: Likewise.
26072 * loader/multiboot_loader_normal.c: Likewise.
26073 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
26074
26075 * gencmdlist.sh: Scan new registration command grub_register_extcmd
26076 and grub_register_command_p1.
26077
26078 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
26079 kern/command.c, lib/arg.c and commands/extcmd.c.
26080 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
26081 (minicmd_mod_SOURCES): New variable.
26082 (minicmd_mod_CFLAGS): Likewise.
26083 (minicmd_mod_LDFLAGS): Likewise.
26084 (extcmd_mod_SOURCES): Likewise.
26085 (extcmd_mod_CFLAGS): Likewise.
26086 (extcmd_mod_LDFLAGS): Likewise.
26087 (boot_mod_SOURCES): Removed.
26088 (boot_mod_CFLAGS): Likewise.
26089 (boot_mod_LDFLAGS): Likewise.
26090
26091 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
26092 kern/corecmd.c.
26093 (kernel_img_HEADERS): Add command.h.
26094 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
26095 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
26096 and lib/arg.c.
26097 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
26098 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
26099 remove the corresponding normal mode command.
26100 (normal_mod_SOURCES): Remove normal/arg.c.
26101 * conf/i386-coreboot.rmk: Likewise.
26102 * conf/i386-efi.rmk: Likewise.
26103 * conf/i386-ieee1275.rmk: Likewise.
26104 * conf/powerpc-ieee1275.rmk: Likewise.
26105 * conf/x86_64-efi.rmk: Likewise.
26106
26107 * include/grub/arg.h: Move from here ...
26108 * include/grub/lib/arg.h: ... to here.
26109
26110 * normal/arg.c: Move from here ...
26111 * lib/arg.c: ... to here.
26112
26113 * commands/extcmd.c: New file.
26114 * commands/minicmd.c: Likewise.
26115 * include/grub/command.h: Likewise.
26116 * include/grub/extcmd.h: Likewise.
26117 * kern/command.c: Likewise.
26118 * kern/corecmd.c: Likewise.
26119
26120 * kern/list.c (grub_list_iterate): Return int instead of void.
26121 (grub_list_insert): New function.
26122 (grub_prio_list_insert): Likewise.
26123
26124 * kern/rescue.c (grub_rescue_command): Removed.
26125 (grub_rescue_command_list): Likewise.
26126 (grub_rescue_register_command): Likewise.
26127 (grub_rescue_unregister_command): Likewise.
26128 (grub_rescue_cmd_boot): Move to minicmd.c
26129 (grub_rescue_cmd_help): Likewise.
26130 (grub_rescue_cmd_info): Likewise.
26131 (grub_rescue_cmd_boot): Likewise.
26132 (grub_rescue_cmd_testload): Likewise.
26133 (grub_rescue_cmd_dump): Likewise.
26134 (grub_rescue_cmd_rmmod): Likewise.
26135 (grub_rescue_cmd_lsmod): Likewise.
26136 (grub_rescue_cmd_exit): Likewise.
26137 (grub_rescue_print_devices): Moved to corecmd.c.
26138 (grub_rescue_print_files): Likewise.
26139 (grub_rescue_cmd_ls): Likewise.
26140 (grub_rescue_cmd_insmod): Likewise.
26141 (grub_rescue_cmd_set): Likewise.
26142 (grub_rescue_cmd_unset): Likewise.
26143 (attempt_normal_mode): Use grub_command_find to get normal module.
26144 (grub_enter_rescue_mode): Use grub_register_core_commands to register
26145 commands, remove grub_rescue_register_command calls.
26146
26147 * normal/command.c (grub_register_command): Removed.
26148 (grub_unregister_command): Likewise.
26149 (grub_command_find): Likewise.
26150 (grub_iterate_commands): Likewise.
26151 (rescue_command): Likewise.
26152 (export_command): Moved to corecmd.c.
26153 (set_command): Removed.
26154 (unset_command): Likewise.
26155 (insmod_command): Likewise.
26156 (rmmod_command): Likewise.
26157 (lsmod_command): Likewise.
26158 (grub_command_init): Likewise.
26159
26160 * normal/completion.c (iterate_command): Use cmd->prio to check for
26161 active command.
26162 (complete_arguments): Use grub_extcmd_t structure to find options.
26163 (grub_normal_do_completion): Change function grub_iterate_commands to
26164 grub_command_iterate.
26165
26166 * normal/execute.c (grub_script_execute_cmd): No need to parse
26167 argument here.
26168
26169 * normal/main.c (grub_dyncmd_dispatcher): New function.
26170 (read_command_list): Register unload commands as dyncmd.
26171 (grub_cmd_normal): Use new command interface, register rescue,
26172 unregister normal at entry, register normal, unregister rescue at exit.
26173
26174 * include/grub/list.h (grub_list_test_t): New type.
26175 (grub_list_iterate): Return int instead of void.
26176 (grub_list_insert): New function.
26177 (GRUB_AS_NAMED_LIST_P): New macro.
26178 (GRUB_AS_PRIO_LIST): Likewise.
26179 (GRUB_AS_PRIO_LIST_P): Likewise.
26180 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
26181 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
26182 (grub_prio_list): New structure.
26183 (grub_prio_list_insert): New function.
26184 (grub_prio_list_remove): New inline function.
26185
26186 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
26187 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
26188 (GRUB_COMMAND_FLAG_MENU): Likewise.
26189 (GRUB_COMMAND_FLAG_BOTH): Likewise.
26190 (GRUB_COMMAND_FLAG_TITLE): Likewise.
26191 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
26192 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
26193 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
26194 (grub_command): Likewise.
26195 (grub_register_command): Likewise.
26196 (grub_command_find): Likewise.
26197 (grub_iterate_commands): Likewise.
26198 (grub_command_init): Likewise.
26199 (grub_arg_parse): Likewise.
26200 (grub_arg_show_help): Likewise.
26201
26202 * include/grub/rescue.h (grub_rescue_register_command): Removed.
26203 (grub_rescue_unregister_command): Likewise.
26204
26205 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
26206 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
26207 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
26208
26209 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
26210 grub_rescue_cmd_initrd.
26211 * include/grub/i386/loader.h: Likewise.
26212 * include/grub/x86_64/loader.h: Likewise.
26213
26214 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
26215
26216 2009-03-21 Bean <bean123ch@gmail.com>
26217
26218 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
26219 instead of stat in mingw environment.
26220
26221 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
26222
26223 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
26224
26225 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
26226 AC_CONFIG_LINKS.
26227
26228 2009-03-21 Bean <bean123ch@gmail.com>
26229
26230 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
26231 out of range error.
26232
26233 2009-03-18 Michel Dänzer <michel@daenzer.net>
26234
26235 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
26236 checking inode flags for EXT4_EXTENTS_FLAG.
26237
26238 2009-03-18 Robert Millan <rmh@aybabtu.com>
26239
26240 * loader/i386/linux.c: Include `<grub/video.h>' and
26241 `<grub/i386/pc/vbe.h>'..
26242 (grub_linux_setup_video): New function. Loosely based on the EFI one.
26243 (grub_linux32_boot): Attempt to configure video settings with
26244 grub_linux_setup_video().
26245 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
26246 to avoid grub_console_fini() which would step out of graphical mode
26247 unconditionally.
26248
26249 2009-03-14 Robert Millan <rmh@aybabtu.com>
26250
26251 Fix build on powerpc.
26252 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
26253
26254 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
26255
26256 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
26257 background image command.
26258
26259 2009-03-12 Colin D Bennett <colin@gibibit.com>
26260
26261 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
26262 (grub_gfxterm_putchar): Extract pairs of identical calls to
26263 draw_cursor out of conditional blocks.
26264
26265 2009-03-11 Pavel Roskin <proski@gnu.org>
26266
26267 * fs/hfs.c (grub_hfs_strncasecmp): New function.
26268 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
26269
26270 2009-03-11 Robert Millan <rmh@aybabtu.com>
26271
26272 * loader/i386/multiboot_elfxx.c
26273 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
26274
26275 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
26276
26277 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
26278 `kern/handler.c'.
26279
26280 2009-03-11 Robert Millan <rmh@aybabtu.com>
26281
26282 * loader/i386/multiboot.c (code_size): New variable.
26283 (grub_multiboot): Define offsets by adding to `code_size' rather
26284 than subtracting from `grub_multiboot_payload_size'. Provide
26285 4-byte alignment to MBI and others by increasing
26286 `boot_loader_name_length' appropriately.
26287
26288 * loader/i386/multiboot_elfxx.c
26289 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
26290
26291 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
26292
26293 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
26294 `fs/ext2.c'.
26295
26296 2009-03-08 Robert Millan <rmh@aybabtu.com>
26297
26298 Make loader/i386/linux.c usable on i386-pc again.
26299
26300 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
26301 memory to heap.
26302 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
26303 `#error' stanza.
26304
26305 2009-03-07 Bean <bean123ch@gmail.com>
26306
26307 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
26308 allocation.
26309
26310 2009-03-06 Robert Millan <rmh@aybabtu.com>
26311
26312 Fix display issue on terminals with screen size other than 80x25
26313 (e.g. gfxterm with resolution higher than 640x480).
26314
26315 * normal/main.c (grub_normal_init_page): Display title text in a
26316 position relative to the center of the terminal instead of relying
26317 on a hardcoded offset.
26318
26319 2009-03-04 Robert Millan <rmh@aybabtu.com>
26320
26321 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
26322 installed.
26323
26324 * Makefile.in (host_kernel): New variable.
26325 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
26326 scripts instead of just the windows one.
26327 * configure.ac: Initialize and AC_SUBST `host_kernel'.
26328
26329 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
26330
26331 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
26332 `kern/handler.c'.
26333 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26334 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26335 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26336 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26337 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26338 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26339
26340 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
26341
26342 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
26343 or if there's no space for the disk label and print the partition number on a
26344 invalid magic.
26345
26346 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
26347
26348 * util/misc.c: Include <time.h>.
26349 (grub_millisleep): New function.
26350
26351 2009-03-04 Bean <bean123ch@gmail.com>
26352
26353 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
26354 another option -mno-red-zone.
26355
26356 * commands/handler.c: Change module description.
26357
26358 * kern/handler.c: Add missing space at the end of description line.
26359
26360 * kern/list.c: Likewise.
26361
26362 2009-03-03 Robert Millan <rmh@aybabtu.com>
26363
26364 Move more components to the relocation area, and fix mbi pointer
26365 handling to use the destination rather than the origin (thanks to
26366 Vladimir Serbinenko for spotting).
26367
26368 * loader/i386/multiboot.c (mbi_dest): New variable.
26369 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
26370 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
26371 relocation area.
26372
26373 2009-03-01 Bean <bean123ch@gmail.com>
26374
26375 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
26376 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
26377 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
26378 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
26379
26380 * loader/i386/efi/linux.c (acpi_guid): New variable.
26381 (acpi_guid): Likewise.
26382 (EBDA_SEG_ADDR): New constant.
26383 (LOW_MEM_ADDR): Likewise.
26384 (FAKE_EBDA_SEG): Likewise.
26385 (fake_bios_data): New function.
26386 (grub_linux_boot): Call fake_bios_data.
26387
26388 2009-03-01 Bean <bean123ch@gmail.com>
26389
26390 * commands/terminal.c: Removed.
26391
26392 * commands/handler.c: New file.
26393
26394 * include/grub/list.h: Likewise.
26395
26396 * include/grub/handler.h: Likewise.
26397
26398 * kern/list.c: Likewise.
26399
26400 * kern/handler.c: Likewise.
26401
26402 * kern/term.h: Include header file <grub/handler.h>.
26403 (grub_term_input): Move next field to the beginning.
26404 (grub_term_output): Likewise.
26405 (grub_term_input_class): New variable.
26406 (grub_term_output_class): Likewise.
26407 (grub_term_register_input): Changed to inline function.
26408 (grub_term_register_output): Likewise.
26409 (grub_term_unregister_input): Likewise.
26410 (grub_term_unregister_output): Likewise.
26411 (grub_term_set_current_input): Likewise.
26412 (grub_term_set_current_output): Likewise.
26413 (grub_term_get_current_input): Likewise.
26414 (grub_term_get_current_output): Likewise.
26415 (grub_term_iterate_input): Removed.
26416 (grub_term_iterate_output): Likewise.
26417
26418 * kern/term.c (grub_term_list_input): Removed.
26419 (grub_term_list_output): Likewise.
26420 (grub_term_input_class): New variable.
26421 (grub_term_output_class): Likewise.
26422 (grub_cur_term_input): Change variable as macro.
26423 (grub_cur_term_output): Likewise.
26424 (grub_term_register_input): Removed.
26425 (grub_term_register_output): Likewise.
26426 (grub_term_unregister_input): Likewise.
26427 (grub_term_unregister_output): Likewise.
26428 (grub_term_set_current_input): Likewise.
26429 (grub_term_set_current_output): Likewise.
26430 (grub_term_iterate_input): Likewise.
26431 (grub_term_iterate_output): Likewise.
26432 (grub_term_get_current_input): Likewise.
26433 (grub_term_get_current_output): Likewise.
26434
26435 * util/grub-editenv.c: Include header file <grub/handler.h>.
26436 (grub_term_get_current_input): Removed.
26437 (grub_term_get_current_output): Likewise.
26438 (grub_term_input_class): New variable.
26439 (grub_term_output_class): Likewise.
26440
26441 * util/grub-fstest.c (grub_term_get_current_input): Removed.
26442 (grub_term_get_current_output): Likewise.
26443 (grub_term_input_class): New variable.
26444 (grub_term_output_class): Likewise.
26445
26446 * util/grub-probe.c (grub_term_get_current_input): Removed.
26447 (grub_term_get_current_output): Likewise.
26448 (grub_term_input_class): New variable.
26449 (grub_term_output_class): Likewise.
26450
26451 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
26452 (grub_term_get_current_output): Likewise.
26453 (grub_term_input_class): New variable.
26454 (grub_term_output_class): Likewise.
26455
26456 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
26457 (terminal_mod_SOURCES): Likewise.
26458 (terminal_mod_CFLAGS): Likewise.
26459 (terminal_mod_LDFLAGS): Likewise.
26460
26461 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
26462 handler.c.
26463 (kernel_img_SOURCES): Add list.c and handler.c.
26464 (kernel_img_HEADERS): Add list.h and handler.h.
26465
26466 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
26467 handler.c.
26468 (kernel_mod_SOURCES): Add list.c and handler.c.
26469 (kernel_mod_HEADERS): Add list.h and handler.h.
26470
26471 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
26472 handler.c.
26473 (kernel_elf_SOURCES): Add list.c and handler.c.
26474 (kernel_elf_HEADERS): Add list.h and handler.h.
26475
26476 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
26477 handler.c.
26478 (kernel_elf_SOURCES): Add list.c and handler.c.
26479 (kernel_elf_HEADERS): Add list.h and handler.h.
26480
26481 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
26482 handler.c.
26483 (kernel_mod_SOURCES): Add list.c and handler.c.
26484 (kernel_mod_HEADERS): Add list.h and handler.h.
26485
26486 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
26487 handler.c.
26488 (kernel_elf_SOURCES): Add list.c and handler.c.
26489 (kernel_elf_HEADERS): Add list.h and handler.h.
26490
26491 2009-02-27 Robert Millan <rmh@aybabtu.com>
26492
26493 Factorize elf32 / elf64 code in Multiboot loader. This will
26494 prevent it from getting out of sync again.
26495
26496 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
26497 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
26498 grub_multiboot_load_elf64): Move from here ...
26499 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
26500 grub_multiboot_load_elf): ... to here (new file).
26501
26502 2009-02-27 Robert Millan <rmh@aybabtu.com>
26503
26504 * util/grub.d/10_linux.in: Rename "single-user mode" to
26505 "recovery mode".
26506
26507 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
26508
26509 Don't leak in SCSI code.
26510 * disk/scsi.c (grub_scsi_close): free `scsi'.
26511
26512 2009-02-27 Robert Millan <rmh@aybabtu.com>
26513
26514 * loader/i386/pc/multiboot.c: Move from here ...
26515 * loader/i386/multiboot.c: ... to here. Update all users.
26516
26517 2009-02-27 Robert Millan <rmh@aybabtu.com>
26518
26519 Patch from Alexandre Bique <bique.alexandre@gmail.com>
26520 * util/i386/pc/grub-setup.c (setup): Fix directory path.
26521
26522 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
26523
26524 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
26525 b-tree.
26526
26527 2009-02-27 Robert Millan <rmh@aybabtu.com>
26528
26529 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
26530 `0x' qualifier as 0 when base is specified as parameter).
26531
26532 2009-02-24 Bean <bean123ch@gmail.com>
26533
26534 * configure.ac: Check for -mcmodel=large in x86_64 target.
26535
26536 * include/grub/efi/api.h (efi_call_10): New macro.
26537 (efi_wrap_10): New function.
26538
26539 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
26540 (GRUB_PE32_REL_BASED_HIGH): Likewise.
26541 (GRUB_PE32_REL_BASED_LOW): Likewise.
26542 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
26543 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
26544 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
26545 (GRUB_PE32_REL_BASED_SECTION): Likewise.
26546 (GRUB_PE32_REL_BASED_REL): Likewise.
26547 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
26548 (GRUB_PE32_REL_BASED_DIR64): Likewise.
26549 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
26550
26551 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
26552 issue.
26553
26554 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
26555 (efi_wrap_10): New function.
26556
26557 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
26558
26559 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
26560 MB/MBP model (NV chipset).
26561 (devdata_devs): Add devpath_5 to the list.
26562
26563 * load/i386/efi/linux.c (video_base): Remove variable.
26564 (RGB_MASK): New macro.
26565 (RGB_MAGIC): Likewise.
26566 (LINE_MIN): Likewise.
26567 (LINE_MAX): Likewise.
26568 (FBTEST_STEP): Likewise.
26569 (FBTEST_COUNT): Likewise.
26570 (fb_list): New variable.
26571 (grub_find_video_card): Remove function.
26572 (find_framebuf): New function.
26573 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
26574 line length.
26575
26576 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
26577 problem for x86_64.
26578
26579 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
26580
26581 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
26582
26583 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
26584 coding tool name.
26585
26586 2009-02-22 Robert Millan <rmh@aybabtu.com>
26587
26588 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
26589 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
26590 in our relocation, instead of using it directly from heap. Also
26591 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
26592
26593 2009-02-21 Robert Millan <rmh@aybabtu.com>
26594
26595 Implement USB keyboard support (based on patch by Marco Gerards)
26596
26597 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
26598 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
26599 (usb_keyboard_mod_LDFLAGS): New variables.
26600
26601 * term/usb_keyboard.c: New file.
26602
26603 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
26604
26605 Corrected wrong declaration
26606
26607 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
26608
26609 2009-02-14 Christian Franke <franke@computer.org>
26610
26611 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
26612 (grub_lspci_iter): Print class code and programming interface byte.
26613
26614 2009-02-14 Christian Franke <franke@computer.org>
26615
26616 * gendistlist.sh: Ignore `.svn' directories.
26617
26618 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
26619
26620 * fs/fat.c: Add 2009 to Copyright line.
26621
26622 2009-02-14 Christian Franke <franke@computer.org>
26623
26624 * commands/hdparm.c: New file. Provides `hdparm' command
26625 which sends ATA commands via grub_disk_ata_pass_through ().
26626
26627 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
26628
26629 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
26630 and <grub/cpu/io.h> to include/grub/ata.h.
26631 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
26632 (GRUB_CDROM_SECTOR_SIZE): Remove.
26633 (GRUB_ATA_*): Move to include/grub/ata.h.
26634 (GRUB_ATAPI_*): Likewise.
26635 (enum grub_ata_commands): Likewise.
26636 (enum grub_ata_timeout_milliseconds): Likewise.
26637 (struct grub_ata_device): Likewise.
26638 (grub_ata_regset): Likewise.
26639 (grub_ata_regget): Likewise.
26640 (grub_ata_regset2): Likewise.
26641 (grub_ata_regget2): Likewise.
26642 (grub_ata_check_ready): Likewise.
26643 (grub_ata_wait_not_busy): Remove static, exported in
26644 include/grub/ata.h.
26645 (grub_ata_wait_drq): Likewise.
26646 (grub_ata_pio_read): Likewise.
26647
26648 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
26649 function for hdparm.mod.
26650
26651 * include/grub/ata.h: New file, contains declarations from
26652 disk/ata.c.
26653 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
26654
26655 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
26656 (grub_disk_ata_pass_through): New exported variable.
26657
26658 * kern/disk.c (grub_disk_ata_pass_through): New variable.
26659
26660 2009-02-13 Colin D Bennett <colin@gibibit.com>
26661
26662 Support multiple fallback entries, and provide an API to support
26663 executing default+fallback menu entries. Renamed the `terminal' menu
26664 viewer to `text'.
26665
26666 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
26667 variable declaration.
26668 (grub_menu_execute_callback): New structure declaration.
26669 (grub_menu_execute_callback_t): New typedef.
26670 (grub_menu_execute_with_fallback): New function declaration.
26671 (grub_menu_get_entry): Likewise.
26672 (grub_menu_get_timeout): Likewise.
26673 (grub_menu_set_timeout): Likewise.
26674
26675 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
26676
26677 * normal/menu.c (grub_wait_after_message): Moved to
26678 `normal/menu_text.c'.
26679 (draw_border): Likewise.
26680 (print_message): Likewise.
26681 (print_entry): Likewise.
26682 (print_entries): Likewise.
26683 (grub_menu_init_page): Likewise.
26684 (get_entry_number): Likewise.
26685 (print_timeout): Likewise.
26686 (run_menu): Likewise.
26687 (grub_menu_execute_entry): Likewise.
26688 (show_text_menu): Likewise.
26689 (get_and_remove_first_entry_number): New function.
26690 (grub_menu_execute_with_fallback): Likewise.
26691 (get_entry): Renamed to ...
26692 (grub_menu_get_entry): .. this and made it global.
26693 (get_timeout): Renamed to ...
26694 (grub_menu_get_timeout): ... this and made it global.
26695 (set_timeout): Renamed to ...
26696 (grub_menu_set_timeout): ... this and made it global.
26697 (grub_normal_terminal_menu_viewer): Renamed to ...
26698 (grub_normal_text_menu_viewer): ... this.
26699
26700 * normal/menu_text.c: New file. Extracted text-menu-specific code
26701 from normal/menu.c.
26702
26703 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
26704 (normal_mod_SOURCES): Likewise.
26705
26706 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26707 (normal_mod_SOURCES): Likewise.
26708
26709 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26710 (normal_mod_SOURCES): Likewise.
26711
26712 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
26713 (normal_mod_SOURCES): Likewise.
26714
26715 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26716 (normal_mod_SOURCES): Likewise.
26717
26718 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26719 (normal_mod_SOURCES): Likewise.
26720
26721 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26722 (normal_mod_SOURCES): Likewise.
26723
26724 2009-02-11 Robert Millan <rmh@aybabtu.com>
26725
26726 * util/grub.d/00_header.in: Update old reference to `font' command.
26727
26728 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
26729
26730 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
26731
26732 Based on patch from Javier Martín.
26733
26734 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
26735
26736 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
26737 to avoid false positives with FAT.
26738 (grub_fstest_SOURCES): Likewise.
26739 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26740 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26741 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26742 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26743 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26744 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26745
26746 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
26747
26748 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
26749 bpb.version_specific.fat12_or_fat16.fstype and
26750 bpb.version_specific.fat32.fstype.
26751
26752 2009-02-08 Robert Millan <rmh@aybabtu.com>
26753
26754 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
26755
26756 2009-02-08 Robert Millan <rmh@aybabtu.com>
26757
26758 * Makefile.in (host_os, host_cpu): New variables.
26759 (target_os): Remove. Update all users.
26760
26761 2009-02-08 Marco Gerards <marco@gnu.org>
26762
26763 * Makefile.in (enable_grub_emu_usb): New variable.
26764 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
26765 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
26766 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
26767 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
26768 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
26769 `usbtest.mod' and `usbms.mod'.
26770 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
26771 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
26772 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
26773 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
26774 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
26775 variables.
26776
26777 * disk/usbms.c: New file.
26778
26779 * include/grub/usb.h: Likewise.
26780
26781 * include/grub/usbtrans.h: Likewise.
26782
26783 * include/grub/usbdesc.h: Likewise.
26784
26785 * bus/usb/usbtrans.c: Likewise.
26786
26787 * bus/usb/ohci.c: Likewise.
26788
26789 * bus/usb/uhci.c: Likewise.
26790
26791 * bus/usb/usbhub.c: Likewise.
26792
26793 * bus/usb/usb.c: Likewise.
26794
26795 * commands/usbtest.c: Likewise.
26796
26797 * util/usb.c: Likewise.
26798
26799 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
26800
26801 * configure.ac: Test for libusb presence.
26802
26803 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
26804
26805 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
26806
26807 * kern/mm.c: Add more comments.
26808
26809 2009-02-08 Robert Millan <rmh@aybabtu.com>
26810
26811 Patch from Javier Martín.
26812 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
26813 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
26814
26815 2009-02-08 Robert Millan <rmh@aybabtu.com>
26816
26817 * fs/cpio.c: Split tar functionality to ...
26818 * fs/tar.c: ... here (new file). Update all users.
26819
26820 2009-02-07 Robert Millan <rmh@aybabtu.com>
26821
26822 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
26823 backward-incompatible features.
26824
26825 Based on patch from Javier Martín, with some adjustments.
26826
26827 2009-02-07 Michael Scherer <misc@mandriva.org>
26828
26829 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
26830
26831 2009-02-07 Robert Millan <rmh@aybabtu.com>
26832
26833 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
26834 position of `disk/lvm.c' to ensure grub_init_all() always picks it
26835 after the RAID stuff.
26836
26837 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
26838
26839 Fixes problem when running vbetest command as reported by
26840 Vladimir Serbinenko <phcoder@gmail.com>.
26841
26842 * (grub_vbe_set_video_mode): Fixed problem with text modes.
26843
26844 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
26845
26846 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
26847 /dev/md/NpN style mdraid devices.
26848
26849 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
26850
26851 * util/unifont2pff.rb: Remove.
26852
26853 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
26854
26855 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
26856 `#'.
26857
26858 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
26859
26860 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
26861 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26862 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26863 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26864 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26865 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26866 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26867
26868 2009-02-02 Christian Franke <franke@computer.org>
26869
26870 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
26871
26872 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
26873
26874 * INSTALL: Note that we now require at least autoconf 2.59 and
26875 that LZO is optional.
26876
26877 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26878
26879 Base on patch on bug #24154 created by Tomas Tintera
26880 <trosos@seznam.cz>.
26881
26882 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
26883
26884 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26885
26886 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
26887 <bero@arklinux.org>.
26888
26889 * normal/parser.y (script_init): Add missing semicolon.
26890
26891 2009-01-31 Colin D Bennett <colin@gibibit.com>
26892
26893 * normal/main.c: Add include to grub/menu_viewer.h.
26894 (free_menu_entry_classes): Added.
26895 (grub_normal_menu_addentry): Added class property handling.
26896 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
26897 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
26898
26899 * normal/menu_viewer.c: New file.
26900
26901 * normal/menu.c (run_menu_entry): Renamed to ...
26902 (grub_menu_execute_entry): ... this and made it as global.
26903 (grub_menu_run): Renamed to ...
26904 (show_text_menu): ... this and made it local.
26905 (show_text_menu): Adapt to new function names.
26906 (grub_normal_terminal_menu_viewer): New global variable.
26907
26908 * include/grub/menu.h: New file.
26909
26910 * include/grub/menu_viewer.h: New file.
26911
26912 * include/grub/normal.h: Added include to grub/menu.h.
26913 (grub_menu_entry): Moved to include/grub/menu.h.
26914 (grub_menu_entry_t): Likewise.
26915 (grub_menu): Likewise.
26916 (grub_menu_t): Likewise.
26917 (grub_normal_terminal_menu_viewer): Added.
26918 (grub_menu_execute_entry): Likewise.
26919 (grub_menu_run): Removed.
26920
26921 * DISTLIST: Added include/grub/menu.h.
26922 Added include/grub/menu_viewer.h.
26923 Added normal/menu_viewer.c.
26924
26925 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
26926
26927 * normal/execute.c (grub_script_execute_menuentry): Changed to use
26928 arglist for menutitle arguments.
26929
26930 * normal/main.c (grub_normal_menu_addentry): Likewise.
26931
26932 * normal/parser.y (menuentry): Likewise.
26933
26934 * normal/script.c (grub_script_create_cmdmenu): Likewise.
26935
26936 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
26937 (grub_script_create_cmdmenu): Likewise.
26938
26939 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
26940
26941 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
26942 changes.
26943
26944 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
26945
26946 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
26947
26948 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
26949
26950 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26951
26952 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26953
26954 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26955
26956 2009-01-30 Christian Franke <franke@computer.org>
26957
26958 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
26959 in option help text.
26960
26961 2009-01-27 Pavel Roskin <proski@gnu.org>
26962
26963 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
26964
26965 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26966
26967 * commands/lsmmap.c: Add include to grub/machine/memory.h.
26968
26969 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
26970
26971 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
26972 unregister function.
26973
26974 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26975
26976 * disk/scsi.c (grub_scsi_read): Fix sign problem.
26977
26978 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
26979
26980 * util/grub-mkfont.c (usage): Fix typo.
26981
26982 * util/elf/grub-mkimage.c (load_modules): Fix warning.
26983
26984 2009-01-26 Daniel Mierswa <impulze@impulze.org>
26985
26986 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
26987
26988 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
26989
26990 * kern/misc.c (grub_strcasecmp): New function.
26991 (grub_strcasecmp): Use grub_size_t instead of int for length.
26992 Fix return value.
26993 * include/grub/misc.h: Update function prototypes.
26994
26995 2009-01-26 Robert Millan <rmh@aybabtu.com>
26996
26997 * configure.ac: Fix cross-compilation check.
26998
26999 2009-01-22 Christian Franke <franke@computer.org>
27000
27001 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
27002 (precision) digit string. Allow `.format2' without `format1' (width).
27003 Limit input chars for `%s' output to `format2' if specified. This is
27004 compatible with standard printf ().
27005
27006 2009-01-22 Christian Franke <franke@computer.org>
27007
27008 * disk/ata.c (grub_ata_wait_status): Replace by ...
27009 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
27010 other status bits may be invalid while BSY is asserted.
27011 (grub_ata_check_ready): New function.
27012 (grub_ata_cmd): Removed.
27013 (grub_ata_wait_drq): New function.
27014 (grub_ata_strncpy): Remove inline.
27015 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
27016 and error check now done by grub_ata_wait_drq ().
27017 (grub_ata_pio_write): Likewise.
27018 (grub_atapi_identify): Set DEV before check for !BSY. Use
27019 grub_ata_wait_drq () to wait for data.
27020 (grub_ata_device_initialize): Add status register check to
27021 detect missing SATA slave devices. Add debug messages.
27022 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
27023 (grub_atapi_packet): Set DEV before check for !BSY. Replace
27024 transfer loop by grub_ata_pio_write ().
27025 (grub_ata_identify): Set DEV before check for !BSY. Use
27026 grub_ata_wait_drq () to wait for data.
27027 (grub_ata_setaddress): Set DEV before check for !BSY.
27028 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
27029 read/write in one loop. Fix invalid command on write. Fix incomplete
27030 command on (size % batch) == 0. Add missing error check after write of
27031 last block. Add debug messages.
27032 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
27033
27034 2009-01-19 Christian Franke <franke@computer.org>
27035
27036 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
27037 (GRUB_ATAPI_IREASON_*): Likewise.
27038 (grub_ata_pio_write): Fix timeout error return.
27039 (grub_atapi_identify): Add grub_ata_wait () after cmd.
27040 (grub_atapi_wait_drq): New function.
27041 (grub_atapi_packet): New parameter `size'.
27042 Use grub_atapi_wait_drq () and direct write instead of
27043 grub_ata_pio_write ().
27044 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
27045 reads the number of bytes requested by the device for each DRQ
27046 assertion.
27047 (grub_atapi_write): Remove old implementation, return not
27048 implemented instead.
27049
27050 2009-01-19 Christian Franke <franke@computer.org>
27051
27052 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
27053 of 512 to calculate data size.
27054 (grub_scsi_read12): Likewise.
27055 (grub_scsi_write10): Likewise.
27056 (grub_scsi_write12): Likewise.
27057 (grub_scsi_read): Adjust size according to blocksize.
27058 Add checks for invalid blocksize and unaligned transfer.
27059
27060 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
27061
27062 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
27063
27064 * term/gfxterm.c (write_char): Fix background rendering for wide
27065 width glyphs.
27066
27067 2009-01-19 Robert Millan <rmh@aybabtu.com>
27068
27069 * config.guess: Update to latest version from config git.
27070 * config.sub: Likewise.
27071
27072 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
27073
27074 * Makefile.in: Change font compilation to use new grub-mkfont instead
27075 of java version.
27076
27077 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
27078 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
27079 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
27080 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
27081 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
27082 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
27083 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
27084 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
27085 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
27086
27087 2009-01-16 Christian Franke <franke@computer.org>
27088
27089 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
27090 (enum grub_ata_timeout_milliseconds): New enum.
27091 (grub_ata_wait_status): Add parameter milliseconds.
27092 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
27093 recovery from timed-out commands.
27094 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
27095 return grub_errno instead of REG_ERROR.
27096 (grub_ata_pio_write): Add parameter milliseconds.
27097 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
27098 Pass milliseconds to grub_ata_wait_status () and
27099 grub_ata_pio_read ().
27100 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
27101 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
27102 grub_ata_wait_status (). Fix IDENTIFY timeout check.
27103 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
27104 It is not suitable for device detection, because DEV bit is ignored,
27105 the command may run too long, and not all devices set the signature
27106 properly.
27107 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
27108 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
27109 Fix device selection, DEV bit must be set first to address the registers
27110 of the correct device.
27111 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
27112 grub_ata_pio_read/write ().
27113 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
27114 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
27115
27116 2009-01-13 Carles Pina i Estany <carles@pina.cat>
27117
27118 * util/grub-editenv.c (main): Use fseeko(), not fseek().
27119
27120 2009-01-13 Bean <bean123ch@gmail.com>
27121
27122 * util/grub-mkfont.c (write_font): forget to remove some debug code.
27123
27124 2009-01-13 Bean <bean123ch@gmail.com>
27125
27126 * Makefile.in: (enable_grub_mkfont): New variable.
27127 (freetype_cflags): Likewise.
27128 (freetype_libs): Likewise.
27129
27130 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
27131 (grub_mkfont_SOURCES): New variable.
27132 (grub_mkfont_CFLAGS): Likewise.
27133 (grub_mkfont_LDFLAGS): Likewise.
27134
27135 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
27136 library if `--enable-grub-mkfont' is requested.
27137 (enable_grub_mkfont): New variable.
27138 (freetype_cflags): Likewise.
27139 (freetype_libs): Likewise.
27140
27141 * util/grub-mkfont.c: New file.
27142
27143 2009-01-12 Christian Franke <franke@computer.org>
27144
27145 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
27146 mode check. Fix setting of compat_use[].
27147
27148 2009-01-10 Robert Millan <rmh@aybabtu.com>
27149
27150 Update a few copyright years which we forgot to do in 2008 (only for
27151 files whose changes made in 2008 were copyright-significant)
27152
27153 * Makefile.in: Add 2008 to Copyright line.
27154 * disk/ieee1275/ofdisk.c: Likewise.
27155 * disk/efi/efidisk.c: Likewise.
27156 * kern/dl.c: Likewise.
27157 * kern/sparc64/ieee1275/init.c: Likewise.
27158 * kern/mm.c: Likewise.
27159 * kern/efi/mm.c: Likewise.
27160 * boot/i386/pc/boot.S: Likewise.
27161 * genfslist.sh: Likewise.
27162 * fs/iso9660.c: Likewise.
27163 * fs/hfs.c: Likewise.
27164 * fs/jfs.c: Likewise.
27165 * fs/minix.c: Likewise.
27166 * fs/ufs.c: Likewise.
27167 * gensymlist.sh.in: Likewise.
27168 * genkernsyms.sh.in: Likewise.
27169 * include/grub/misc.h: Likewise.
27170 * include/grub/types.h: Likewise.
27171 * include/grub/symbol.h: Likewise.
27172 * include/grub/elf.h: Likewise.
27173 * include/grub/kernel.h: Likewise.
27174 * include/grub/disk.h: Likewise.
27175 * include/grub/dl.h: Likewise.
27176 * include/grub/i386/linux.h: Likewise.
27177 * include/grub/i386/pc/biosdisk.h: Likewise.
27178 * include/grub/efi/api.h: Likewise.
27179 * include/grub/efi/pe32.h: Likewise.
27180 * include/grub/util/misc.h: Likewise.
27181 * normal/execute.c: Likewise.
27182 * normal/arg.c: Likewise.
27183 * normal/completion.c: Likewise.
27184 * normal/lexer.c: Likewise.
27185 * normal/parser.y: Likewise.
27186 * normal/misc.c: Likewise.
27187 * commands/i386/pc/vbeinfo.c: Likewise.
27188 * commands/hexdump.c: Likewise.
27189 * commands/terminal.c: Likewise.
27190 * commands/ls.c: Likewise.
27191 * commands/help.c: Likewise.
27192 * partmap/pc.c: Likewise.
27193 * loader/efi/chainloader.c: Likewise.
27194 * loader/multiboot_loader.c: Likewise.
27195 * loader/i386/pc/multiboot2.c: Likewise.
27196 * term/efi/console.c: Likewise.
27197 * term/i386/pc/serial.c: Likewise.
27198 * util/lvm.c: Likewise.
27199 * util/console.c: Likewise.
27200 * util/i386/efi/grub-mkimage.c: Likewise.
27201 * util/raid.c: Likewise.
27202
27203 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
27204
27205 * commands/videotest.c: Removed include to grub/machine/memory.h.
27206
27207 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
27208 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
27209 (video_mod_SOURCES): Removed.
27210 (video_mod_CFLAGS): Likewise.
27211 (video_mod_LDFLAGS): Likewise.
27212 (gfxterm_mod_SOURCES): Likewise.
27213 (gfxterm_mod_CFLAGS): Likewise.
27214 (gfxterm_mod_LDFLAGS): Likewise.
27215 (videotest_mod_SOURCES): Likewise.
27216 (videotest_mod_CFLAGS): Likewise.
27217 (videotest_mod_LDFLAGS): Likewise.
27218 (bitmap_mod_SOURCES): Likewise.
27219 (bitmap_mod_CFLAGS): Likewise.
27220 (bitmap_mod_LDFLAGS): Likewise.
27221 (tga_mod_SOURCES): Likewise.
27222 (tga_mod_CFLAGS): Likewise.
27223 (tga_mod_LDFLAGS): Likewise.
27224 (jpeg_mod_SOURCES): Likewise.
27225 (jpeg_mod_CFLAGS): Likewise.
27226 (jpeg_mod_LDFLAGS): Likewise.
27227 (png_mod_SOURCES): Likewise.
27228 (png_mod_CFLAGS): Likewise.
27229 (png_mod_LDFLAGS): Likewise.
27230
27231 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
27232 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
27233 (video_mod_SOURCES): Added.
27234 (video_mod_CFLAGS): Likewise.
27235 (video_mod_LDFLAGS): Likewise.
27236 (videotest_mod_SOURCES): Likewise.
27237 (videotest_mod_CFLAGS): Likewise.
27238 (videotest_mod_LDFLAGS): Likewise.
27239 (bitmap_mod_SOURCES): Likewise.
27240 (bitmap_mod_CFLAGS): Likewise.
27241 (bitmap_mod_LDFLAGS): Likewise.
27242 (tga_mod_SOURCES): Likewise.
27243 (tga_mod_CFLAGS): Likewise.
27244 (tga_mod_LDFLAGS): Likewise.
27245 (jpeg_mod_SOURCES): Likewise.
27246 (jpeg_mod_CFLAGS): Likewise.
27247 (jpeg_mod_LDFLAGS): Likewise.
27248 (png_mod_SOURCES): Likewise.
27249 (png_mod_CFLAGS): Likewise.
27250 (png_mod_LDFLAGS): Likewise.
27251 (gfxterm_mod_SOURCES): Likewise.
27252 (gfxterm_mod_CFLAGS): Likewise.
27253 (gfxterm_mod_LDFLAGS): Likewise.
27254
27255 * term/gfxterm.c: Removed include to grub/machine/memory.h,
27256 grub/machine/console.h.
27257
27258 2009-01-04 Jerone Young <jerone@gmail.com>
27259
27260 Make on screen instructions clearer
27261
27262 Based on patch created by Jidanni <jidanni@jidanni.org>
27263
27264 * normal/menu.c: print clearer instructions on the screen
27265
27266 2009-01-02 Colin D Bennett <colin@gibibit.com>
27267
27268 New font engine.
27269
27270 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
27271 build system and fixed gfxterm.c to work with different sized fonts.
27272
27273 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
27274
27275 * configure: Re-generated.
27276
27277 * DISTLIST: Removed font/manager.c.
27278 Added font/font.c.
27279 Added font/font_cmd.c.
27280
27281 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
27282 compilation.
27283
27284 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
27285
27286 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
27287
27288 * kern/term.c: Changed users of grub_utf8_to_ucs4.
27289
27290 * normal/menu.c: Likewise.
27291
27292 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
27293 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
27294
27295 * include/grub/font.h: Replaced with new file.
27296
27297 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
27298 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
27299 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
27300 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
27301 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
27302 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
27303 fg_red, fg_green, fg_blue, fg_alpha.
27304 (grub_video_adapter): Removed blit_glyph.
27305 (grub_video_blit_glyph): Removed.
27306
27307 * font/manager.c: Removed file.
27308
27309 * font/font.c: New file.
27310
27311 * font/font_cmd.c: Likewise.
27312
27313 * video/video.c (grub_video_blit_glyph): Removed.
27314
27315 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
27316 (grub_video_vbe_map_rgba): Likewise.
27317 (grub_video_vbe_unmap_color_int): Likewise.
27318 (grub_video_vbe_blit_glyph): Removed.
27319 (grub_video_vbe_adapter): Removed blit_glyph.
27320
27321 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
27322 (get_pixel): Likewise.
27323 (set_pixel): Likewise.
27324
27325 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
27326
27327 * term/gfxterm.c: Adapted to new font engine.
27328
27329 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
27330
27331 * term/i386/pc/vga.c: Likewise.
27332
27333 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
27334
27335 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
27336
27337 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
27338
27339 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
27340
27341 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
27342
27343 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
27344
27345 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
27346
27347 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
27348
27349 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
27350
27351 * util/grub.d/00_header.in: Changed to use new loadfont command.
27352
27353 * util/grub-mkconfig_lib.in: Changed font extension.
27354
27355 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
27356
27357 * util/getroot.c (grub_util_get_grub_dev): Add support for
27358 /dev/md/dNNpNN style partitionable mdraid devices.
27359
27360 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
27361
27362 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
27363 at a time limit of the PXE TFTP API correctly.
27364 (grub_pxefs_close): Likewise.
27365
27366 2008-11-29 Robert Millan <rmh@aybabtu.com>
27367
27368 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
27369 grub_ata_device_initialize() calls.
27370
27371 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
27372
27373 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
27374 iteration failed.
27375 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
27376
27377 2008-11-28 Robert Millan <rmh@aybabtu.com>
27378
27379 Fix build on powerpc-ieee1275. Based on patch created by
27380 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
27381 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
27382 `kern/ieee1275/mmap.c'.
27383 * include/grub/powerpc/ieee1275/memory.h: New file.
27384
27385 Provide grub-install on coreboot.
27386 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
27387 (grub_install_SOURCES): New variable.
27388 * util/i386/pc/grub-install.in: Add a few condition checks to make it
27389 usable on coreboot.
27390
27391 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
27392
27393 * util/grub-fstest.c (grub_term_get_current_input): Change return type
27394 to `grub_term_input_t'.
27395 (grub_term_get_current_output): Change return type to
27396 `grub_term_output_t'.
27397
27398 2008-11-22 Robert Millan <rmh@aybabtu.com>
27399
27400 Fix breakage on coreboot due to declaration mismatch.
27401 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
27402 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
27403 grub_vga_text_cls().
27404
27405 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
27406 comments. Avoid copying one more byte than necessary (just in case).
27407
27408 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
27409 to 0x200000 (avoids trouble with some OFW implementations, and matches
27410 with the one in Yaboot).
27411 Reported by Manoel Abranches
27412
27413 2008-11-20 Robert Millan <rmh@aybabtu.com>
27414
27415 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
27416 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
27417
27418 * util/grub-mkconfig_lib.in (grub_warn): New function.
27419 (convert_system_path_to_grub_path): Use grub_warn() when issuing
27420 warnings, to obtain consistent formatting.
27421 * util/grub.d/00_header.in: Likewise.
27422 * util/update-grub_lib.in: Likewise.
27423
27424 * loader/i386/linux.c (allocate_pages): Fix a warning.
27425 Move comment text to `#error' stanza.
27426
27427 Harmonize ieee1275's grub_available_iterate() with the generic
27428 grub_machine_mmap_iterate() interface (fixes a recently-introduced
27429 build problem on i386-ieee1275):
27430 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
27431 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
27432 parameter `type'. Update all users of this function.
27433 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
27434 `kern/ieee1275/mmap.c'.
27435 * kern/ieee1275/init.c
27436 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
27437 with ...
27438 (grub_machine_mmap_iterate): ... this.
27439 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
27440 return type to `grub_err_t'. Update all implementations of this
27441 function prototype.
27442 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
27443 Likewise.
27444
27445 Add `lsmmap' command (lists firmware-provided memory map):
27446 * commands/lsmmap.c: New file.
27447 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
27448 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
27449 variables.
27450 * conf/powerpc-ieee1275.rmk: Likewise.
27451 * conf/i386-coreboot.rmk: Likewise.
27452 * conf/i386-ieee1275.rmk: Likewise.
27453
27454 2008-11-19 Robert Millan <rmh@aybabtu.com>
27455
27456 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
27457 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
27458 constraints to initrd allocation (based on code from
27459 loader/i386/pc/linux.c). Without them, initrd was allocated too high
27460 for Linux to find it.
27461
27462 2008-11-14 Robert Millan <rmh@aybabtu.com>
27463
27464 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
27465 order to cope with duplicate slashes.
27466
27467 2008-11-14 Robert Millan <rmh@aybabtu.com>
27468
27469 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
27470 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
27471 don't want to mess with lower memory, because it is used in the Linux
27472 loader.
27473
27474 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
27475 an appropriate place in lower memory, between 0x10000 and 0x90000,
27476 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
27477 is in our heap (probably as a result of it being corrupted during
27478 decompression). Add #error instance with comment to explain why this
27479 loader isn't currently usable on PC/BIOS.
27480
27481 2008-11-14 Robert Millan <rmh@aybabtu.com>
27482
27483 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
27484 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
27485
27486 2008-11-12 Robert Millan <rmh@aybabtu.com>
27487
27488 Make loader/i386/linux.c buildable on i386-pc (although disabled).
27489
27490 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
27491 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
27492 from here ...
27493 * include/grub/i386/pc/memory.h: ... to here.
27494
27495 2008-11-12 Robert Millan <rmh@aybabtu.com>
27496
27497 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
27498 split).
27499
27500 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
27501 (grub_console_cur_color, grub_console_real_putchar)
27502 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
27503 (grub_console_setcolorstate, grub_console_setcolor)
27504 (grub_console_getcolor): Move from here ...
27505 * include/grub/i386/vga_common.h: ... to here (new file).
27506
27507 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
27508 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
27509 `<grub/i386/io.h>'.
27510 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
27511 `<grub/i386/vga_common.h>'.
27512
27513 2008-11-12 Robert Millan <rmh@aybabtu.com>
27514
27515 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
27516 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
27517 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
27518 variables.
27519 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
27520 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
27521
27522 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
27523 grub_console_init() with call to grub_vga_text_init().
27524 (grub_machine_fini): Replace call to
27525 grub_console_fini() with call to grub_vga_text_fini() and
27526 grub_at_keyboard_fini().
27527
27528 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
27529 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
27530 (grub_console_setcolorstate, grub_console_setcolor)
27531 (grub_console_getcolor): New function prototypes.
27532
27533 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
27534 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
27535 (grub_vga_text_setcursor): Static-ize.
27536 (grub_vga_text_term): New structure.
27537 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
27538
27539 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
27540 (grub_console_cur_color, grub_console_standard_color)
27541 (grub_console_normal_color, grub_console_highlight_color)
27542 (map_char, grub_console_putchar, grub_console_getcharwidth)
27543 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
27544 (grub_console_getcolor): Move from here ...
27545 * term/i386/vga_common.c: ... to here (same function names).
27546
27547 2008-11-12 Robert Millan <rmh@aybabtu.com>
27548
27549 Use newly-added Multiboot support in coreboot.
27550
27551 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
27552 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
27553
27554 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
27555 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
27556 (codestart): Store the MBI in `startup_multiboot_info' when we're
27557 being loaded using Multiboot.
27558
27559 * kern/i386/coreboot/init.c (grub_machine_init): Move
27560 grub_at_keyboard_init() call to beginning of function (useful for
27561 debugging). Call grub_machine_mmap_init() before attempting to use
27562 grub_machine_mmap_iterate().
27563 (grub_lower_mem, grub_upper_mem): Move from here ...
27564 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
27565 here (new file).
27566
27567 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
27568 function prototype.
27569
27570 2008-11-12 Robert Millan <rmh@aybabtu.com>
27571
27572 Fix a regression introduced by the at_keyboard.mod split. Because
27573 some terminals are default on some platforms and non-default on
27574 others, the first terminal being registered determines which is
27575 going to be default.
27576
27577 * kern/term.c (grub_term_register_input): If this is the first
27578 terminal being registered, set it as the current one.
27579 (grub_term_register_output): Likewise.
27580
27581 * term/efi/console.c (grub_console_init): Do not call
27582 grub_term_set_current_output() or grub_term_set_current_input().
27583 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
27584 * term/i386/pc/console.c (grub_console_init): Likewise.
27585 (grub_console_fini): Do not call grub_term_set_current_input()
27586 (but leave grub_term_set_current_output() to restore text mode).
27587
27588 2008-11-10 Robert Millan <rmh@aybabtu.com>
27589
27590 * util/grub.d/00_header.in: Add backward compatibility check for
27591 versions of terminal.mod that don't understand `terminal_input' or
27592 `terminal_output'.
27593
27594 2008-11-09 Robert Millan <rmh@aybabtu.com>
27595
27596 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
27597 `terminal_input' / `terminal_output', not `terminal'.
27598
27599 2008-11-08 Robert Millan <rmh@aybabtu.com>
27600
27601 * Makefile.in (include_DATA): Fix srcdir=. assumption.
27602 (DISTCLEANFILES): Add `build_env.mk'.
27603
27604 2008-11-08 Robert Millan <rmh@aybabtu.com>
27605
27606 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
27607 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27608 members. Update all users.
27609 * util/console.c (grub_ncurses_term): Split in ...
27610 (grub_ncurses_term_input): ... this, and ...
27611 (grub_ncurses_term_output): ... this. Update all users.
27612 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
27613
27614 2008-11-08 Robert Millan <rmh@aybabtu.com>
27615
27616 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
27617 (PKGDATA): Add $(pkgdata_SRCDIR).
27618 (pkglib_BUILDDIR): New variable.
27619 (pkgdata_SRCDIR): New variable.
27620 (build_env.mk): New target.
27621 (include_DATA): New variable.
27622 (install-local): Install $(include_DATA) files in $(includedir).
27623
27624 2008-11-07 Pavel Roskin <proski@gnu.org>
27625
27626 * gendistlist.sh: Use C locale for sorting to ensure consistent
27627 output on all systems.
27628
27629 * util/grub.d/00_header.in: Remove incorrect space before
27630 "serial".
27631
27632 2008-11-07 Robert Millan <rmh@aybabtu.com>
27633
27634 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
27635 per specification.
27636 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
27637 * loader/multiboot_loader.c (find_multi_boot2_header): New function
27638 (based on find_multi_boot1_header).
27639 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
27640 using find_multi_boot2_header(), and abort if neither Multiboot or
27641 Multiboot headers were found.
27642
27643 2008-11-07 Robert Millan <rmh@aybabtu.com>
27644
27645 Modularize at_keyboard.mod:
27646
27647 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
27648 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
27649 (at_keyboard_mod_LDFLAGS): New variables.
27650
27651 Actual terminal split:
27652
27653 * include/grub/term.h (struct grub_term): Split in ...
27654 (struct grub_term_input): ... this, and ...
27655 (struct grub_term_output): ... this. Update all users.
27656 (grub_term_set_current): Split in ...
27657 (grub_term_set_current_input): ... this, and ...
27658 (grub_term_set_current_output): ... this.
27659 (grub_term_get_current): Split in ...
27660 (grub_term_get_current_input): ... this, and ...
27661 (grub_term_get_current_output): ... this.
27662 (grub_term_register): Split in ...
27663 (grub_term_register_input): ... this, and ...
27664 (grub_term_register_output): ... this.
27665 (grub_term_unregister): Split in ...
27666 (grub_term_unregister_input): ... this, and ...
27667 (grub_term_unregister_output): ... this.
27668 (grub_term_iterate): Split in ...
27669 (grub_term_iterate_input): ... this, and ...
27670 (grub_term_iterate_output): ... this.
27671
27672 * kern/term.c (grub_term_list): Split in ...
27673 (grub_term_list_input): ... this, and ...
27674 (grub_term_list_output): ... this. Update all users.
27675 (grub_cur_term): Split in ...
27676 (grub_cur_term_input): ... this, and ...
27677 (grub_cur_term_output): ... this. Update all users.
27678 (grub_term_set_current): Split in ...
27679 (grub_term_set_current_input): ... this, and ...
27680 (grub_term_set_current_output): ... this.
27681 (grub_term_get_current): Split in ...
27682 (grub_term_get_current_input): ... this, and ...
27683 (grub_term_get_current_output): ... this.
27684 (grub_term_register): Split in ...
27685 (grub_term_register_input): ... this, and ...
27686 (grub_term_register_output): ... this.
27687 (grub_term_unregister): Split in ...
27688 (grub_term_unregister_input): ... this, and ...
27689 (grub_term_unregister_output): ... this.
27690 (grub_term_iterate): Split in ...
27691 (grub_term_iterate_input): ... this, and ...
27692 (grub_term_iterate_output): ... this.
27693
27694 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
27695 a check for input and one for output (and only attempt to get keys
27696 from user when input works).
27697
27698 * util/grub-probe.c (grub_term_get_current): Split in ...
27699 (grub_term_get_current_input): ... this, and ...
27700 (grub_term_get_current_output): ... this.
27701 * util/grub-fstest.c: Likewise.
27702 * util/i386/pc/grub-setup.c: Likewise.
27703 * util/grub-editenv.c: Likewise.
27704
27705 Portability adjustments:
27706
27707 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
27708 `term/i386/pc/at_keyboard.c'.
27709 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
27710 grub_keyboard_controller_init() (now handled by terminal .init).
27711 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
27712 grub_at_keyboard_init().
27713 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
27714 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
27715 at_keyboard.mod via input terminal interface).
27716 * include/grub/i386/coreboot/console.h: Convert into a stub for
27717 `<grub/i386/pc/console.h>'.
27718
27719 Migrate full terminals to new API:
27720
27721 * term/efi/console.c (grub_console_term): Split into ...
27722 (grub_console_term_input): ... this, and ...
27723 (grub_console_term_output): ... this. Update all users.
27724 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
27725 (grub_ofconsole_init): Split into ...
27726 (grub_ofconsole_init_input): ... this, and ...
27727 (grub_ofconsole_init_output): ... this.
27728 (grub_ofconsole_term): Split into ...
27729 (grub_ofconsole_term_input): ... this, and ...
27730 (grub_ofconsole_term_output): ... this. Update all users.
27731 * term/i386/pc/serial.c (grub_serial_term): Split into ...
27732 (grub_serial_term_input): ... this, and ...
27733 (grub_serial_term_output): ... this. Update all users.
27734 * term/i386/pc/console.c (grub_console_term): Split into ...
27735 (grub_console_term_input): ... this, and ...
27736 (grub_console_term_output): ... this. Update all users.
27737 (grub_console_term_input): Only enable it on PC/BIOS platform.
27738 (grub_console_init): Remove grub_keyboard_controller_init() call.
27739
27740 Migrate input terminals to new API:
27741
27742 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
27743 `i386' and `i386/pc' to enable build on x86_64 (this driver is
27744 i386-specific anyway).
27745 (grub_console_checkkey): Rename to ...
27746 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
27747 users.
27748 (grub_keyboard_controller_orig): New variable.
27749 (grub_console_getkey): Rename to ...
27750 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
27751 users.
27752 (grub_keyboard_controller_init): Static-ize. Save original
27753 controller value so that it can be restored ...
27754 (grub_keyboard_controller_fini): ... here (new function).
27755 (grub_at_keyboard_term): New structure.
27756 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
27757 functions.
27758
27759 Migrate output terminals to new API:
27760
27761 * term/i386/pc/vga.c (grub_vga_term): Change type to
27762 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27763 members. Update all users.
27764 * term/gfxterm.c (grub_video_term): Change type to
27765 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27766 members. Update all users.
27767 * include/grub/i386/pc/console.h (grub_console_checkkey)
27768 (grub_console_getkey): Do not export (no longer needed by gfxterm,
27769 etc).
27770
27771 Migrate `terminal' command and userland tools to new API:
27772
27773 * commands/terminal.c (grub_cmd_terminal): Split into ...
27774 (grub_cmd_terminal_input): ... this, and ...
27775 (grub_cmd_terminal_output): ... this.
27776 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
27777 `terminal_input' and `terminal_output'.
27778 * util/grub.d/00_header.in: Adjust `terminal' calls to new
27779 `terminal_input' / `terminal_output' API.
27780 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
27781 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
27782 provided ${GRUB_TERMINAL}, convert it).
27783
27784 2008-11-04 Robert Millan <rmh@aybabtu.com>
27785
27786 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
27787 for FreeBSD.
27788 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
27789
27790 2008-11-03 Bean <bean123ch@gmail.com>
27791
27792 * kern/elf.c (grub_elf32_load): Revert to previous code.
27793 (grub_elf64_load): Likewise.
27794
27795 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
27796
27797 2008-11-01 Robert Millan <rmh@aybabtu.com>
27798
27799 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
27800 (TARGET_CPPFLAGS): Likewise.
27801 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
27802
27803 2008-11-01 Carles Pina i Estany <carles@pina.cat>
27804
27805 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
27806
27807 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
27808
27809 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
27810 addition of objects until the code is not going to be able to fail.
27811
27812 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
27813
27814 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
27815 (add a missing NULL check, and correct them by moving the pointer
27816 operations after the actual check).
27817
27818 2008-10-29 Robert Millan <rmh@aybabtu.com>
27819
27820 * util/i386/pc/grub-install.in: Handle empty string as output from
27821 make_system_path_relative_to_its_root().
27822
27823 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
27824
27825 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
27826 circular metadata worst case scenario. If the metadata is circular
27827 then copy the wrap in place.
27828 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
27829 project lib/format_text/layout.h
27830 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
27831
27832 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
27833
27834 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
27835
27836 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
27837
27838 * util/update-grub_lib.in: Mention filename in warning message.
27839
27840 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
27841
27842 * NEWS: Update for rename of update-grub to grub-mkconfig.
27843
27844 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
27845
27846 * util/update-grub_lib.in: Copy to ...
27847 * util/grub-mkconfig_lib.in: ... this. Update all users.
27848 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
27849 * util/update-grub.in: Rename to ...
27850 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
27851 option. Add `--output' option to allow users to specify the generated
27852 configuration file. Default to stdout.
27853 (update_grub_dir): Rename to ...
27854 (grub_mkconfig_dir): ... this.
27855 (grub_cfg): Default to an empty string.
27856 * conf/common.rmk (update-grub): Rename to ...
27857 (grub-mkconfig): ... this.
27858 (update-grub_lib): Copy to ...
27859 (grub-mkconfig_lib): ... this.
27860 (update-grub_SCRIPTS): Copy to ...
27861 (grub-mkconfig_SCRIPTS): ... this. Update all users.
27862 (update-grub_DATA): Rename to ...
27863 (grub-mkconfig_DATA): ... this.
27864
27865 2008-09-28 Robert Millan <rmh@aybabtu.com>
27866
27867 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
27868 to `modified'. Add the real `created' field.
27869 (grub_iso9660_uuid): Use `modified' rather than `created' for
27870 constructing the UUID.
27871
27872 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
27873
27874 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
27875 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
27876
27877 2008-09-28 Bean <bean123ch@gmail.com>
27878
27879 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
27880 Thanks to Christian Franke for finding this bug.
27881
27882 2008-09-25 Robert Millan <rmh@aybabtu.com>
27883
27884 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
27885 instances of grub_util_get_disk_name() (see previous commit).
27886
27887 2008-09-25 Robert Millan <rmh@aybabtu.com>
27888
27889 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
27890 `util/i386/get_disk_name.c'.
27891 * conf/i386-efi.rmk: Likewise.
27892 * conf/x86_64-efi.rmk: Likewise.
27893 * conf/i386-coreboot.rmk: Likewise.
27894 * conf/i386-ieee1275.rmk: Likewise.
27895 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
27896 `util/ieee1275/get_disk_name.c'.
27897 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
27898 * util/ieee1275/get_disk_name.c: Remove file.
27899 * util/i386/get_disk_name.c: Remove file.
27900 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
27901 "hd%d" for device.map entries, rather than using
27902 grub_util_get_disk_name().
27903
27904 2008-09-24 Carles Pina i Estany <carles@pina.cat>
27905
27906 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
27907 warning.
27908 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
27909
27910 2008-09-24 Carles Pina i Estany <carles@pina.cat>
27911
27912 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
27913 Changed to 0x5100.
27914 (GRUB_TERM_PPAGE): Changed to 0x4900.
27915
27916 2008-09-24 Robert Millan <rmh@aybabtu.com>
27917
27918 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
27919 macros (they were i386-pc specific).
27920 * include/grub/sparc64/ieee1275/console.h: Likewise.
27921 * include/grub/efi/console.h: Likewise.
27922
27923 2008-09-22 Bean <bean123ch@gmail.com>
27924
27925 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
27926 resident and in attribute list.
27927
27928 * include/grub/ntfs.h (BMP_LEN): Removed.
27929
27930 2008-09-22 Bean <bean123ch@gmail.com>
27931
27932 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
27933 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
27934
27935 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
27936 error occurs, as grub_disk_open will call grub_disk_close, which will
27937 call p->close (scsi).
27938
27939 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
27940
27941 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
27942 (AC_PREREQ): Bumped to 2.59.
27943 (AC_TRY_COMPILE): Replace obsolete macro with ...
27944 (AC_COMPILE_IFELSE): ... this.
27945 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
27946 (AC_LINK_IFELSE): ... this.
27947
27948 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
27949
27950 * autogen.sh: Add a call to `gendistlist.sh'.
27951
27952 2008-09-19 Christian Franke <franke@computer.org>
27953
27954 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
27955 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
27956 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
27957 Export __enable_execute_stack() to modules.
27958 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
27959 New function.
27960
27961 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
27962
27963 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
27964 Sort the list.
27965
27966 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
27967
27968 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
27969 #include <grub/util/hostdisk.h>.
27970
27971 2008-09-08 Robert Millan <rmh@aybabtu.com>
27972
27973 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
27974 segments when their filesz is zero (grub_file_read() interprets
27975 zero-size as "read until EOF", which results in memory corruption).
27976 Use `lowest_segment' rather than 0 for calculating the current
27977 segment load address.
27978
27979 2008-09-08 Robert Millan <rmh@aybabtu.com>
27980
27981 * util/hostdisk.c (open_device): Replace a grub_util_info() call
27982 with grub_dprintf("hostdisk", ...), as it was so verbose that it
27983 clobbered useful information.
27984
27985 2008-09-08 Robert Millan <rmh@aybabtu.com>
27986
27987 * include/grub/util/biosdisk.h: Move to ...
27988 * include/grub/util/hostdisk.h: ... here. Update all users.
27989 * util/biosdisk.c: Move to ...
27990 * util/hostdisk.c: ... here. Update all users.
27991
27992 2008-09-07 Robert Millan <rmh@aybabtu.com>
27993
27994 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
27995 variables.
27996 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
27997 and length can be stored directly in the `mbi->mmap_addr' and
27998 `mbi->mmap_length' struct fields.
27999
28000 2008-09-07 Robert Millan <rmh@aybabtu.com>
28001
28002 * conf/i386.rmk: New file. Provides declaration for building
28003 `cpuid.mod'.
28004 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
28005 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
28006 variables.
28007 Include `conf/i386.mk'.
28008 * conf/i386-efi.rmk: Likewise.
28009 * conf/x86_64-efi.rmk: Likewise.
28010 * conf/i386-coreboot.rmk: Likewise.
28011 * conf/i386-ieee1275.rmk: Likewise.
28012
28013 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
28014
28015 Based on patch created by Colin D Bennett <colin@gibibit.com>.
28016 Adds optimization support for BGR based modes.
28017
28018 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
28019 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
28020 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
28021 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
28022 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
28023 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
28024 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
28025 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
28026 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
28027 (grub_video_i386_vbeblit_index_index): Likewise.
28028 (grub_video_i386_vbeblit_replace_directN): Added.
28029 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
28030 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
28031 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
28032 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
28033 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
28034 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
28035 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
28036 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
28037 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
28038 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
28039 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
28040 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
28041 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
28042
28043 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
28044 (grub_video_i386_vbefill_R8G8B8): Likewise.
28045 (grub_video_i386_vbefill_index): Likewise.
28046 (grub_video_i386_vbefill_direct32): Added.
28047 (grub_video_i386_vbefill_direct24): Likewise.
28048 (grub_video_i386_vbefill_direct16): Likewise.
28049 (grub_video_i386_vbefill_direct8): Likewise.
28050
28051 * include/grub/video.h (grub_video_blit_format): Removed
28052 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
28053 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
28054 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
28055 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
28056 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
28057
28058 * video/video.c (grub_video_get_blit_format): Updated to use new
28059 blit formats. Added handling for 16 bit color modes.
28060
28061 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
28062 fillers.
28063 (common_blitter): Updated to use new blitters.
28064
28065 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
28066 Removed.
28067 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
28068 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
28069 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
28070 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
28071 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
28072 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
28073 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
28074 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
28075 (grub_video_i386_vbeblit_index_index): Likewise.
28076 (grub_video_i386_vbeblit_replace_directN): Added.
28077 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
28078 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
28079 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
28080 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
28081 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
28082 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
28083 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
28084 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
28085 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
28086 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
28087 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
28088 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
28089 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
28090
28091 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
28092 (grub_video_i386_vbefill_R8G8B8): Likewise.
28093 (grub_video_i386_vbefill_index): Likewise.
28094 (grub_video_i386_vbefill_direct32): Added.
28095 (grub_video_i386_vbefill_direct24): Likewise.
28096 (grub_video_i386_vbefill_direct16): Likewise.
28097 (grub_video_i386_vbefill_direct8): Likewise.
28098
28099 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
28100 types.
28101
28102 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
28103 types.
28104
28105 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
28106 blitter types.
28107
28108 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
28109 types.
28110
28111 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
28112
28113 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
28114 RAID level 1.
28115
28116 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
28117
28118 * fs/iso9660.c (grub_iso9660_date): New structure.
28119 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
28120 (grub_iso9660_uuid): New function.
28121
28122 2008-09-05 Bean <bean123ch@gmail.com>
28123
28124 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
28125
28126 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
28127 insensitive bit for names in Win32 and Win32 & DOS namespace.
28128
28129 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
28130
28131 * include/grub/types.h (LONG_MAX): Likewise.
28132
28133 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
28134
28135 * util/getroot.c: Include <config.h>.
28136 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
28137 add support for /dev/md/N devices and handle LVM double dash escaping.
28138
28139 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
28140
28141 * config.guess: Update to latest version from config git.
28142 * config.sub: Likewise.
28143
28144 2008-09-03 Robert Millan <rmh@aybabtu.com>
28145
28146 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
28147 `disk->total_sectors'.
28148
28149 2008-09-01 Colin D Bennett <colin@gibibit.com>
28150
28151 * include/grub/normal.h: Fixed incorrect comment for
28152 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
28153
28154 2008-09-01 Colin D Bennett <colin@gibibit.com>
28155
28156 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
28157 values with defines.
28158
28159 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
28160 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
28161 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
28162 (GRUB_VBE_MODEATTR_COLOR): Likewise.
28163 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
28164 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
28165 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
28166 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
28167 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
28168 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
28169 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
28170 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
28171 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
28172 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
28173 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
28174 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
28175 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
28176 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
28177 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
28178
28179 2008-08-31 Robert Millan <rmh@aybabtu.com>
28180
28181 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
28182 declaration.
28183 (grub_multiboot): Fix a few warnings.
28184
28185 2008-08-31 Robert Millan <rmh@aybabtu.com>
28186
28187 * loader/i386/pc/multiboot.c: Update comment not to say that
28188 boot_device support is unimplemented.
28189
28190 2008-08-31 Robert Millan <rmh@aybabtu.com>
28191
28192 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
28193 or memory map support are unimplemented.
28194
28195 2008-08-31 Colin D Bennett <colin@gibibit.com>
28196
28197 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
28198
28199 2008-08-31 Colin D Bennett <colin@gibibit.com>
28200
28201 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
28202 total video memory in 'vbeinfo' output; show color format details for
28203 each video mode.
28204
28205 2008-08-30 Pavel Roskin <proski@gnu.org>
28206
28207 * util/genmoddep.c: Remove for real this time.
28208 * DISTLIST: Remove util/genmoddep.c.
28209
28210 2008-08-30 Robert Millan <rmh@aybabtu.com>
28211
28212 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
28213 as required by Multiboot spec (it was already 4-byte aligned, but
28214 only by chance).
28215
28216 2008-08-29 Pavel Roskin <proski@gnu.org>
28217
28218 * kern/powerpc/ieee1275/crt0.S: Rename to ...
28219 * kern/powerpc/ieee1275/startup.S: ... this.
28220 * conf/powerpc-ieee1275.rmk: Adjust for the above.
28221 * DISTLIST: Likewise.
28222
28223 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
28224 grub/cpu/kernel.h. Add start label for consistency with other
28225 platforms. Add grub_prefix immediately after start. Add jump
28226 to the code after grub_prefix.
28227 * include/grub/powerpc/kernel.h: Provide valid values for
28228 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
28229
28230 2008-08-29 Bean <bean123ch@gmail.com>
28231
28232 * configure.ac: Change host_os to cygwin for mingw.
28233 (asprintf): New check for function.
28234
28235 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
28236 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
28237
28238 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
28239 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
28240 sync, sleep and grub_util_get_disk_size for mingw.
28241
28242 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
28243 to get size in mingw.
28244 (open_device): Use flag O_BINARY if it's defined.
28245 (find_root_device): Add dummy code for mingw.
28246
28247 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
28248 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
28249 (get_scsi_disk_name): Return 0 for mingw.
28250
28251 * util/hostfs.c: #include <grub/util/misc.h>.
28252 (grub_hostfs_open): Use "rb" flag to open file, use
28253 grub_util_get_disk_size to get disk size for mingw.
28254
28255 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
28256 (asprintf): New function if HAVE_ASPRINTF is not set.
28257 (sync): New function for mingw.
28258 (sleep): Likewise.
28259 (grub_util_get_disk_size): Likewise.
28260
28261 2008-08-28 Pavel Roskin <proski@gnu.org>
28262
28263 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28264 kern/time.c.
28265
28266 2008-08-28 Robert Millan <rmh@aybabtu.com>
28267
28268 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
28269
28270 2008-08-28 Robert Millan <rmh@aybabtu.com>
28271
28272 Change find_grub_drive() syntax so it doesn't prevent it from
28273 detecting NULL names as errors.
28274
28275 * util/biosdisk.c (find_grub_drive): Move free slot search code
28276 from here ...
28277 (find_free_slot): ... to here.
28278 (read_device_map): Use find_free_slot() to search for free slots.
28279
28280 2008-08-27 Marco Gerards <marco@gnu.org>
28281
28282 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
28283 (scsi_mod_SOURCES): New variable.
28284 (scsi_mod_CFLAGS): Likewise
28285 (scsi_mod_LDFLAGS): Likewise.
28286
28287 * disk/scsi.c: New file.
28288
28289 * include/grub/scsi.h: Likewise.
28290
28291 * include/grub/scsicmd.h: Likewise.
28292
28293 * disk/ata.c: Include <grub/scsi.h>.
28294 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
28295 instead.
28296 (grub_ata_iterate): Skip ATAPI devices.
28297 (grub_ata_open): Only handle ATAPI devices.
28298 (struct grub_atapi_read): Removed.
28299 (grub_atapi_readsector): Likewise.
28300 (grub_ata_read): No longer handle ATAPI devices.
28301 (grub_ata_write): Likewise.
28302 (grub_atapi_iterate): New function.
28303 (grub_atapi_read): Likewise.
28304 (grub_atapi_write): Likewise.
28305 (grub_atapi_open): Likewise.
28306 (grub_atapi_close): Likewise.
28307 (grub_atapi_dev): New variable.
28308 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
28309 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
28310
28311 * include/grub/disk.h (enum grub_disk_dev_id): Add
28312 `GRUB_DISK_DEVICE_SCSI_ID'.
28313
28314 2008-08-26 Robert Millan <rmh@aybabtu.com>
28315
28316 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
28317 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
28318 descriptive.
28319
28320 2008-08-23 Bean <bean123ch@gmail.com>
28321
28322 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
28323 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
28324 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
28325 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
28326 dm_nv.mod.
28327 (raid5rec_mod_SOURCES): New macro.
28328 (raid5rec_mod_CFLAGS): Likewise.
28329 (raid5rec_mod_LDFLAGS): Likewise.
28330 (raid6rec_mod_SOURCES): Likewise.
28331 (raid6rec_mod_CFLAGS): Likewise.
28332 (raid6rec_mod_LDFLAGS): Likewise.
28333 (mdraid_mod_SOURCES): Likewise.
28334 (mdraid_mod_CFLAGS): Likewise.
28335 (mdraid_mod_LDFLAGS): Likewise.
28336 (dm_nv_mod_SOURCES): Likewise.
28337 (dm_nv_mod_CFLAGS): Likewise.
28338 (dm_nv_mod_LDFLAGS): Likewise.
28339
28340 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
28341 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
28342 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
28343
28344 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
28345 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
28346
28347 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28348
28349 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28350
28351 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28352
28353 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28354
28355 * disk/raid5_recover.c: New file.
28356
28357 * disk/raid6_recover.c: Likewise.
28358
28359 * disk/mdraid_linux.c: Likewise.
28360
28361 * disk/dmraid_nvidia.c: Likewise.
28362
28363 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
28364 ULONG_MAX.
28365
28366 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
28367 calculate the size of raid device.
28368 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
28369 different layout of raid5.
28370 (grub_raid_scan_device): Remove code specific to mdraid.
28371 (grub_raid_list): New variable.
28372 (free_array): New function.
28373 (grub_raid_register): Likewise.
28374 (grub_raid_unregister): Likewise.
28375 (grub_raid_rescan): Likewise.
28376 (GRUB_MOD_INIT): Don't iterate device here.
28377 (GRUB_MOD_FINI): Use free_array to release resource.
28378
28379 * include/grub/raid.h: Remove macro and structure specific to mdraid.
28380 (grub_raid5_recover_func_t): New function variable type.
28381 (grub_raid6_recover_func_t): Likewise.
28382 (grub_raid5_recover_func): New variable.
28383 (grub_raid6_recover_func): Likewise.
28384 (grub_raid_register): New function.
28385 (grub_raid_unregister): Likewise.
28386 (grub_raid_rescan): Likewise.
28387 (grub_raid_block_xor): Likewise.
28388
28389 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
28390 (CMD_CRC): New macro.
28391 (part): Removed.
28392 (read_file): Handle device as well as file.
28393 (cmd_crc): New function.
28394 (fstest): Handle multiple disks.
28395 (options): Remove part, raw and long, add root and diskcount.
28396 (usage): Add crc, remove -p, -r, -l, add -r and -c.
28397 (main): Find the first non option entry and ignore subsequent options,
28398 add handling for the new options, support multiple disks.
28399
28400 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
28401
28402 2008-08-23 Bean <bean123ch@gmail.com>
28403
28404 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
28405
28406 * genfslist.sh: Ignore kernel.mod.
28407
28408 * genpartmaplist.sh: Likewise.
28409
28410 2008-08-23 Robert Millan <rmh@aybabtu.com>
28411
28412 * util/getroot.c (find_root_device): Skip anything that starts with
28413 a dot, not just directories. This avoids things like /dev/.tmp.md0.
28414
28415 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
28416
28417 * util/update-grub.in (GRUB_GFXMODE): Export variable.
28418 * util/grub.d/00_header.in: Allow the administrator to change default
28419 gfxmode via ${GRUB_GFXMODE}.
28420
28421 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
28422
28423 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
28424
28425 2008-08-21 Robert Millan <rmh@aybabtu.com>
28426
28427 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
28428 loader.
28429 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
28430 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
28431
28432 2008-08-20 Carles Pina i Estany <carles@pina.cat>
28433
28434 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
28435 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
28436
28437 2008-08-19 Robert Millan <rmh@aybabtu.com>
28438
28439 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
28440 (struct grub_virtual_screen): Remove `cursor_color'.
28441 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
28442 initialization.
28443 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
28444
28445 2008-08-18 Robert Millan <rmh@aybabtu.com>
28446
28447 Unify (identical) linux_normal.c files.
28448 * loader/i386/efi/linux_normal.c: Move from here ...
28449 * loader/linux_normal.c: ... to here. Update all users.
28450 * loader/i386/pc/linux_normal.c: Delete. Update all users.
28451 * loader/i386/ieee1275/linux_normal.c: Likewise.
28452
28453 2008-08-18 Robert Millan <rmh@aybabtu.com>
28454
28455 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
28456 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
28457 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
28458 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
28459 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
28460 New macros.
28461 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
28462 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
28463 (GRUB_LINUX_CL_END_OFFSET): ... to here.
28464 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
28465 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
28466 (GRUB_EFI_CL_END_OFFSET): Rename to ...
28467 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
28468 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
28469 Initialize `params->video_cursor_x' and `params->video_cursor_y'
28470 portably using grub_getxy().
28471 Replace `-EFI' with `-bzImage' in boot message.
28472
28473 2008-08-17 Robert Millan <rmh@aybabtu.com>
28474
28475 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
28476
28477 2008-08-17 Robert Millan <rmh@aybabtu.com>
28478
28479 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
28480
28481 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
28482 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
28483 (grub_machine_mmap_iterate): New function declaration.
28484 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
28485 structure.
28486 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
28487 macros.
28488
28489 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
28490 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
28491 Move e820 parsing from here ...
28492 * kern/i386/pc/mmap.c: New file.
28493 (grub_machine_mmap_iterate): ... to here.
28494
28495 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
28496 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
28497 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
28498 (grub_available_iterate): Redeclare to return `void', and redeclare
28499 its hook to use grub_uint64_t as addr and size parameters, and rename
28500 to ...
28501 (grub_machine_mmap_iterate): ... this. Update all users.
28502
28503 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
28504 to make it more readable. Rename to ...
28505 (grub_machine_mmap_iterate): ... this.
28506
28507 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
28508 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
28509 (grub_multiboot): Allocate an extra region after the payload, and fill
28510 it with a Multiboot memory map. Adjust a.out loader to calculate size
28511 with the extra space.
28512 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
28513 with the extra space.
28514
28515 2008-08-17 Carles Pina i Estany <carles@pina.cat>
28516
28517 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
28518
28519 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
28520
28521 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
28522 mdate-sh to the list `find' searches for.
28523 * DISTLIST: Regenerated.
28524
28525 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
28526
28527 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
28528 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
28529 genmoddep.awk, gensymlist.sh.in.
28530 (DISTDIRS): Add bus, docs, hook, lib.
28531 * DISTLIST: Regenerated.
28532 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
28533
28534 2008-08-16 Robert Millan <rmh@aybabtu.com>
28535
28536 * disk/raid.c (grub_raid_init): Handle/report errors set by
28537 grub_device_iterate().
28538 * disk/lvm.c (grub_lvm_init): Likewise.
28539
28540 2008-08-15 Bean <bean123ch@gmail.com>
28541
28542 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28543 and datehook.mod.
28544 (datetime_mod_SOURCES): New macro.
28545 (datetime_mod_CFLAGS): Likewise.
28546 (datetime_mod_LDFLAGS): Likewise.
28547 (date_mod_SOURCES): Likewise.
28548 (date_mod_CFLAGS): Likewise.
28549 (date_mod_LDFLAGS): Likewise.
28550 (datehook_mod_SOURCES): Likewise.
28551 (datehook_mod_CFLAGS): Likewise.
28552 (datehook_mod_LDFLAGS): Likewise.
28553
28554 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28555 and datehook.mod.
28556 (datetime_mod_SOURCES): New macro.
28557 (datetime_mod_CFLAGS): Likewise.
28558 (datetime_mod_LDFLAGS): Likewise.
28559 (date_mod_SOURCES): Likewise.
28560 (date_mod_CFLAGS): Likewise.
28561 (date_mod_LDFLAGS): Likewise.
28562 (datehook_mod_SOURCES): Likewise.
28563 (datehook_mod_CFLAGS): Likewise.
28564 (datehook_mod_LDFLAGS): Likewise.
28565
28566 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28567 and datehook.mod.
28568 (datetime_mod_SOURCES): New macro.
28569 (datetime_mod_CFLAGS): Likewise.
28570 (datetime_mod_LDFLAGS): Likewise.
28571 (date_mod_SOURCES): Likewise.
28572 (date_mod_CFLAGS): Likewise.
28573 (date_mod_LDFLAGS): Likewise.
28574 (datehook_mod_SOURCES): Likewise.
28575 (datehook_mod_CFLAGS): Likewise.
28576 (datehook_mod_LDFLAGS): Likewise.
28577
28578 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28579 and datehook.mod.
28580 (datetime_mod_SOURCES): New macro.
28581 (datetime_mod_CFLAGS): Likewise.
28582 (datetime_mod_LDFLAGS): Likewise.
28583 (date_mod_SOURCES): Likewise.
28584 (date_mod_CFLAGS): Likewise.
28585 (date_mod_LDFLAGS): Likewise.
28586 (datehook_mod_SOURCES): Likewise.
28587 (datehook_mod_CFLAGS): Likewise.
28588 (datehook_mod_LDFLAGS): Likewise.
28589
28590 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
28591 and datehook.mod.
28592 (datetime_mod_SOURCES): New macro.
28593 (datetime_mod_CFLAGS): Likewise.
28594 (datetime_mod_LDFLAGS): Likewise.
28595 (date_mod_SOURCES): Likewise.
28596 (date_mod_CFLAGS): Likewise.
28597 (date_mod_LDFLAGS): Likewise.
28598 (datehook_mod_SOURCES): Likewise.
28599 (datehook_mod_CFLAGS): Likewise.
28600 (datehook_mod_LDFLAGS): Likewise.
28601
28602 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
28603
28604 * commands/date.c: New file.
28605
28606 * hook/datehook.c: Likewise.
28607
28608 * include/grub/lib/datetime.h: Likewise.
28609
28610 * include/grub/i386/cmos.h: Likewise.
28611
28612 * lib/datetime.c: Likewise.
28613
28614 * lib/i386/datetime.c: Likewise.
28615
28616 * lib/efi/datetime.c: Likewise.
28617
28618 2008-08-14 Robert Millan <rmh@aybabtu.com>
28619
28620 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
28621 (grub_mkelfimage_SOURCES): New variable.
28622 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
28623
28624 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
28625 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
28626 * conf/powerpc-ieee1275.rmk: Likewise.
28627 * conf/i386-ieee1275.rmk: Likewise.
28628
28629 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
28630 * kern/i386/coreboot/init.c: Likewise.
28631
28632 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
28633 with `<grub/cpu/kernel.h>'.
28634 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
28635 to ...
28636 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
28637 * kern/i386/coreboot/startup.S: Likewise.
28638
28639 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
28640 (GRUB_MOD_GAP): Remove.
28641 * include/grub/powerpc/kernel.h: New file.
28642 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
28643 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
28644 * include/grub/i386/kernel.h: New file.
28645 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
28646 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
28647 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
28648
28649 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
28650 `grub-mkelfimage'.
28651 Use --directory when invoking grub_mkimage.
28652
28653 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
28654 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
28655 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
28656 and GRUB_KERNEL_CPU_PREFIX.
28657
28658 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
28659
28660 * include/grub/err.h (grub_err_printf): New function prototype.
28661 * util/misc.c (grub_err_printf): New function.
28662 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
28663 grub_printf.
28664 * kern/err.c (grub_print_error): Use grub_err_printf.
28665
28666 2008-08-13 Robert Millan <rmh@aybabtu.com>
28667
28668 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
28669
28670 2008-08-13 Robert Millan <rmh@aybabtu.com>
28671
28672 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
28673 boot entry.
28674
28675 2008-08-12 Robert Millan <rmh@aybabtu.com>
28676
28677 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
28678 of the relocation code from here ...
28679 (grub_multiboot): ... to here.
28680 (forward_relocator, backward_relocator): Move from here ...
28681 * kern/i386/loader.S (grub_multiboot_forward_relocator)
28682 (grub_multiboot_backward_relocator): ... to here.
28683 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
28684 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
28685 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
28686 (grub_multiboot_forward_relocator_end)
28687 (grub_multiboot_backward_relocator)
28688 (grub_multiboot_backward_relocator_end): New variables.
28689
28690 2008-08-12 Bean <bean123ch@gmail.com>
28691
28692 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
28693
28694 2008-08-11 Robert Millan <rmh@aybabtu.com>
28695
28696 * kern/i386/linuxbios/startup.S: Move from here ...
28697 * kern/i386/coreboot/startup.S: ... to here.
28698
28699 * kern/i386/linuxbios/init.c: Move from here ...
28700 * kern/i386/coreboot/init.c: ... to here.
28701
28702 * kern/i386/linuxbios/table.c: Move from here ...
28703 * kern/i386/coreboot/mmap.c: ... to here.
28704
28705 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
28706
28707 2008-08-11 Robert Millan <rmh@aybabtu.com>
28708
28709 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
28710 errors. Leave it to the upper layer to handle them.
28711
28712 2008-08-09 Christian Franke <franke@computer.org>
28713
28714 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
28715 * conf/common.rmk: Install `grub-pe2elf' only if requested.
28716 Install `grub.d/10_windows' only on Cygwin.
28717 * configure.ac: Add subst of `target_os'.
28718 Check `target_os' also before setting TARGET_OBJ2ELF.
28719 Add `--enable-grub-pe2elf'.
28720
28721 2008-08-08 Robert Millan <rmh@aybabtu.com>
28722
28723 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28724 (grub_last_time): Change type to grub_uint64_t.
28725 (grub_disk_open): Migrate code from to using grub_get_time_ms().
28726 (grub_disk_close): Likewise.
28727
28728 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28729 (run_menu): Migrate code from to using grub_get_time_ms().
28730
28731 * util/misc.c (grub_get_time_ms): New function.
28732
28733 2008-08-08 Marco Gerards <marco@gnu.org>
28734
28735 * disk/ata.c (grub_ata_regget): Change return type to
28736 `grub_uint8_t'.
28737 (grub_ata_regget2): Likewise.
28738 (grub_ata_wait_status): New function.
28739 (grub_ata_wait_busy): Removed function, updated all users to use
28740 `grub_ata_wait_status'.
28741 (grub_ata_wait_drq): Likewise.
28742 (grub_ata_cmd): New function.
28743 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
28744 error handling.
28745 (grub_ata_pio_write): Add error handling.
28746 (grub_atapi_identify): Likewise.
28747 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
28748 handling.
28749 (grub_ata_identify): Use `grub_ata_cmd' and improve error
28750 handling. Actually use the detected registers. Reorder the
28751 detection logic such that it is easier to read.
28752 (grub_ata_pciinit): Do not assign the same ID to each controller.
28753 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
28754 handling.
28755 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
28756
28757 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
28758
28759 2008-08-08 Marco Gerards <marco@gnu.org>
28760
28761 * NEWS: Update.
28762
28763 2008-08-07 Bean <bean123ch@gmail.com>
28764
28765 * include/grub/x86_64/pci.h: New file.
28766
28767 2008-08-07 Christian Franke <franke@computer.org>
28768
28769 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
28770 (TIMER2_GATE): Likewise.
28771 (grub_pit_wait): Add enable/disable of the timer2 gate
28772 bit of port 0x61. This fixes a possible infinite loop.
28773
28774 2008-08-07 Bean <bean123ch@gmail.com>
28775
28776 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
28777 kern/i386/tsc.c and kern/i386/pit.c.
28778
28779 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
28780 x86_64 platform.
28781
28782 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
28783 <grub/i386/tsc.h>.
28784
28785 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
28786
28787 2008-08-07 Bean <bean123ch@gmail.com>
28788
28789 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
28790
28791 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
28792
28793 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
28794 multiple inclusion. Add #include <grub/types.h>.
28795
28796 2008-08-06 Christian Franke <franke@computer.org>
28797
28798 * conf/common.rmk: Build and install `10_windows'.
28799 * util/grub.d/10_windows.in: New script.
28800
28801 2008-08-06 Pavel Roskin <proski@gnu.org>
28802
28803 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
28804
28805 2008-08-06 Robert Millan <rmh@aybabtu.com>
28806
28807 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
28808 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
28809
28810 2008-08-06 Bean <bean123ch@gmail.com>
28811
28812 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
28813 (grub_pxefs_fs_int): Remove dummy definition.
28814 (grub_pxefs_open): Use data->block_size to store the current block
28815 size setting.
28816 (grub_pxefs_read): Use block size stored in data->block_size. As the
28817 value of grub_pxe_blksize can be changed after the file is opened.
28818
28819 2008-08-06 Bean <bean123ch@gmail.com>
28820
28821 * fs/i386/pc/pxe.c (curr_file): new variable.
28822 (grub_pxefs_open): Simply the handling of pxe file system. Don't
28823 require the dummy internal file system anymore.
28824 (grub_pxefs_read): Removed.
28825 (grub_pxefs_close): Likewise.
28826 (grub_pxefs_fs_int): Likewise.
28827 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
28828 connection when we switch file.
28829 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
28830
28831 2008-08-06 Robert Millan <rmh@aybabtu.com>
28832
28833 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
28834 `halt.mod'.
28835 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
28836 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
28837
28838 * kern/i386/halt.c: New file.
28839 * kern/i386/reboot.c: Likewise.
28840 * include/grub/i386/reboot.h: Likewise.
28841 * include/grub/i386/halt.h: Likewise.
28842
28843 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
28844 Include `<grub/cpu/halt.h>'.
28845 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
28846 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
28847
28848 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
28849 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
28850 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
28851 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
28852 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
28853 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
28854 from here ...
28855 * include/grub/i386/at_keyboard.h: ... to here.
28856
28857 2008-08-05 Robert Millan <rmh@aybabtu.com>
28858
28859 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
28860 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
28861 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
28862 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28863 `kern/generic/millisleep.c'.
28864
28865 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
28866 instead of grub_get_rtc().
28867 (grub_tsc_init): Initialize `tsc_boot_time'.
28868
28869 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
28870 (grub_machine_init): Use grub_tsc_init() rather than
28871 installing an RTC-based handler via grub_install_get_time_ms().
28872
28873 * kern/i386/pit.c: New file.
28874 * include/grub/i386/pit.h: Likewise.
28875
28876 2008-08-05 Bean <bean123ch@gmail.com>
28877
28878 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
28879
28880 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
28881 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
28882 (pxe_mod_SOURCES): New macro.
28883 (pxe_mod_CFLAGS): Likewise.
28884 (pxe_mod_LDFLAGS): Likewise.
28885 (pxecmd_mod_SOURCES): Likewise.
28886 (pxecmd_mod_CFLAGS): Likewise.
28887 (pxecmd_mod_LDFLAGS): Likewise.
28888
28889 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
28890 (grub_pxe_call): Likewise.
28891
28892 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
28893
28894 * commands/i386/pc/pxecmd.c: New file.
28895
28896 * fs/i386/pc/pxe.c: Likewise.
28897
28898 * include/grub/i386/pc/pxe.h: Likewise.
28899
28900 2008-08-05 Bean <bean123ch@gmail.com>
28901
28902 * util/console.c (grub_console_cur_color): New variable.
28903 (grub_console_standard_color): Likewise.
28904 (grub_console_normal_color): Likewise.
28905 (grub_console_highlight_color): Likewise.
28906 (color_map): Likewise.
28907 (use_color): Likewise.
28908 (NUM_COLORS): New macro.
28909 (grub_ncurses_setcolorstate): Handle color properly.
28910 (grub_ncurses_setcolor): Don't change color here, just remember the
28911 settings, color will be set in grub_ncurses_setcolorstate.
28912 (grub_ncurses_getcolor): New function.
28913 (grub_ncurses_init): Initialize color pairs.
28914 (grub_ncurses_term): New member grub_ncurses_getcolor.
28915
28916 2008-08-05 Colin D Bennett <colin@gibibit.com>
28917
28918 High resolution timer support. Implemented for x86 CPUs using TSC.
28919 Extracted generic grub_millisleep() so it's linked in only as needed.
28920 This requires a Pentium compatible CPU; if the RDTSC instruction is
28921 not supported, then it falls back on the generic grub_get_time_ms()
28922 implementation that uses the machine's RTC.
28923
28924 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
28925 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28926 `kern/generic/millisleep.c'.
28927
28928 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
28929 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
28930
28931 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
28932 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
28933
28934 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28935
28936 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28937 `kern/generic/millisleep.c'.
28938
28939 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28940
28941 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
28942
28943 * kern/generic/rtc_get_time_ms.c: New file.
28944
28945 * kern/generic/millisleep.c: New file.
28946
28947 * kern/misc.c: Don't include
28948 <kern/time.h> anymore.
28949 (grub_millisleep_generic): Removed.
28950
28951 * commands/sleep.c (grub_interruptible_millisleep): Uses
28952 grub_get_time_ms() instead of grub_get_rtc().
28953
28954 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
28955 function.
28956 (grub_cpu_is_cpuid_supported): New inline function.
28957 (grub_cpu_is_tsc_supported): New inline function.
28958 (grub_tsc_init): New function prototype.
28959 (grub_tsc_get_time_ms): New function prototype.
28960
28961 * kern/i386/tsc.c (grub_get_time_ms): New file.
28962
28963 * include/grub/time.h: Include <grub/types.h.
28964 (grub_millisleep_generic): Removed.
28965 (grub_get_time_ms): New prototype.
28966 (grub_install_get_time_ms): New prototype.
28967 (grub_rtc_get_time_ms): New prototype.
28968
28969 * kern/time.c (grub_get_time_ms): New function.
28970 (grub_install_get_time_ms): New function.
28971
28972 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
28973 <grub/time.h> anymore.
28974 (grub_millisleep): Removed.
28975 (grub_machine_init): Call grub_tsc_init.
28976
28977 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
28978 get_time_ms() implementation.
28979
28980 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
28981 (ieee1275_get_time_ms): New function.
28982 (grub_machine_init): Install get_time_ms() implementation.
28983
28984 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
28985 (grub_machine_init): Call grub_tsc_init().
28986 (grub_millisleep): Removed.
28987
28988 * kern/ieee1275/init.c (grub_millisleep): Removed.
28989 (grub_machine_init): Install ieee1275_get_time_ms()
28990 implementation.
28991 (ieee1275_get_time_ms): New function.
28992 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
28993 real work.
28994
28995 2008-08-05 Marco Gerards <marco@gnu.org>
28996
28997 * disk/ata.c: Include <grub/pci.h>.
28998 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
28999 (grub_ata_initialize): Rewritten.
29000 (grub_ata_device_initialize): New function.
29001
29002 2008-08-04 Pavel Roskin <proski@gnu.org>
29003
29004 * kern/main.c: Include grub/mm.h.
29005
29006 2008-08-04 Robert Millan <rmh@aybabtu.com>
29007
29008 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
29009 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
29010 corruption problem).
29011
29012 2008-08-04 Robert Millan <rmh@aybabtu.com>
29013
29014 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
29015 warnings introduced in my last commit.
29016
29017 2008-08-03 Robert Millan <rmh@aybabtu.com>
29018
29019 Make PCI available on all i386 architectures.
29020
29021 * include/grub/i386/pc/pci.h: Move from here ...
29022 * include/grub/i386/pci.h: ... to here.
29023
29024 * include/grub/i386/pc/pci.h: Remove.
29025 * include/grub/i386/efi/pci.h: Remove.
29026 * include/grub/x86_64/efi/pci.h: Remove.
29027
29028 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
29029 `<grub/cpu/pci.h>'.
29030
29031 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
29032 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
29033 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
29034
29035 * conf/i386-ieee1275.rmk: Likewise.
29036
29037 2008-08-03 Robert Millan <rmh@aybabtu.com>
29038
29039 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
29040 (grub_console_setcursor): Make it possible to set cursor off.
29041
29042 2008-08-03 Robert Millan <rmh@aybabtu.com>
29043
29044 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
29045 of modules instead of assuming which platform provides what.
29046 * util/update-grub.in: Likewise.
29047
29048 2008-08-03 Robert Millan <rmh@aybabtu.com>
29049
29050 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
29051 instead of `grub_install_dos_part' to determine whether a drive needs
29052 to be prepended to prefix (`grub_install_dos_part' is not reliable,
29053 because it can be overridden when loading GRUB via Multiboot).
29054
29055 2008-08-02 Robert Millan <rmh@aybabtu.com>
29056
29057 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
29058
29059 2008-08-02 Robert Millan <rmh@aybabtu.com>
29060
29061 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
29062 of informational grub_dprintf() calls.
29063
29064 2008-08-02 Robert Millan <rmh@aybabtu.com>
29065
29066 * disk/memdisk.c (memdisk_size): Don't initialize.
29067 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
29068
29069 * include/grub/i386/pc/kernel.h
29070 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
29071 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
29072 (grub_memdisk_image_size, grub_arch_memdisk_addr)
29073 (grub_arch_memdisk_size): Remove.
29074
29075 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
29076 field (was only used to transfer a constant). Add `type' field to
29077 support multiple module types.
29078 (grub_module_iterate): New function.
29079
29080 * kern/device.c (grub_device_open): Do not hide error messages
29081 when grub_disk_open() fails. Use grub_print_error() instead.
29082
29083 * kern/i386/pc/init.c (grub_arch_modules_addr)
29084 (grub_arch_memdisk_size): Remove functions.
29085 (grub_arch_modules_addr): Return the module address in high memory
29086 (now that it isn't copied anymore).
29087
29088 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
29089 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
29090 decompression routine (grub_total_module_size already includes that
29091 now). Don't copy modules back to low memory.
29092
29093 * kern/main.c: Include `<grub/mm.h>'.
29094 (grub_load_modules): Split out (and use) ...
29095 (grub_module_iterate): ... this function, which iterates through
29096 module objects and runs a hook.
29097 Comment out grub_mm_init_region() call, as it would cause non-ELF
29098 modules to be overwritten.
29099
29100 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
29101 the memdisk image in its own region, make it part of the module list.
29102 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
29103 (main): Parse --memdisk|-m option, and pass user-provided path as
29104 parameter to generate_image().
29105 (add_segments): Pass `memdisk_path' down to load_modules().
29106 (load_modules): Embed memdisk image in module section when requested.
29107 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
29108 `header.type' instead of `header.offset'.
29109
29110 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
29111 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
29112 (memdisk_mod_LDFLAGS): New variables.
29113 * conf/i386-coreboot.rmk: Likewise.
29114 * conf/i386-ieee1275.rmk: Likewise.
29115
29116 2008-08-02 Robert Millan <rmh@aybabtu.com>
29117
29118 * loader/i386/pc/multiboot.c (playground, forward_relocator)
29119 (backward_relocator): New variables. Used to allocate and relocate
29120 the payload, respectively.
29121 (grub_multiboot_load_elf32): Load into heap instead of requested
29122 address, install the appropriate relocator code in each bound of
29123 the payload, and set the entry point such that
29124 grub_multiboot_real_boot() will jump to one of them.
29125
29126 * kern/i386/loader.S (grub_multiboot_payload_size)
29127 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
29128 (grub_multiboot_payload_entry_offset): New variables.
29129 (grub_multiboot_real_boot): Set cpu context to what the relocator
29130 expects, and jump to the relocator instead of the payload.
29131
29132 * include/grub/i386/loader.h (grub_multiboot_payload_size)
29133 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
29134 (grub_multiboot_payload_entry_offset): Export.
29135
29136 2008-08-01 Bean <bean123ch@gmail.com>
29137
29138 * normal/menu_entry.c (editor_getline): Don't return the original
29139 string as result, as it will be released by lexer once it has done
29140 using it.
29141
29142 2008-08-01 Robert Millan <rmh@aybabtu.com>
29143
29144 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
29145 within menuentries, not before them.
29146 util/grub.d/10_hurd.in: Likewise.
29147
29148 2008-08-01 Bean <bean123ch@gmail.com>
29149
29150 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
29151 (bufio_mod_SOURCES): New macro.
29152 (bufio_mod_CFLAGS): Likewise.
29153 (bufio_mod_LDFLAGS): Likewise.
29154
29155 * include/grub/bufio.h: New file.
29156
29157 * io/bufio.c: Likewise.
29158
29159 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
29160 (grub_video_reader_png): Use grub_buffile_open to open file.
29161
29162 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
29163 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
29164
29165 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
29166 (grub_video_reader_tga): Use grub_buffile_open to open file.
29167
29168 * font/manager.c: Include <grub/bufio.h>.
29169 (add_font): Use grub_buffile_open to open file.
29170
29171 2008-07-31 Robert Millan <rmh@aybabtu.com>
29172
29173 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
29174 ELF segments, use a macro for arbitrarily accessing any of them instead
29175 of preparing a pointer that allows access to one at a time.
29176 (grub_multiboot_load_elf64): Likewise.
29177
29178 2008-07-31 Bean <bean123ch@gmail.com>
29179
29180 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
29181 GRUB_KERNEL_MACHINE_DATA_END.
29182
29183 2008-07-30 Robert Millan <rmh@aybabtu.com>
29184
29185 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
29186 Increase from 0x50 to 0x60.
29187 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
29188 use UUIDs to identify the root drive for them. If that's not
29189 possible, abort.
29190 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
29191 check, for cross-disk installs.
29192
29193 2008-07-30 Robert Millan <rmh@aybabtu.com>
29194
29195 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
29196 is non-empty, use it to set the `prefix' environment variable instead
29197 of the usual approach.
29198 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
29199 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
29200 environment variable instead of dummy make_install_device().
29201
29202 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
29203 (start): Insert a data section, with `grub_prefix' variable.
29204 * kern/i386/linuxbios/startup.S: Likewise.
29205
29206 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
29207 New variable reference.
29208 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
29209 New macro. Defines offset of `grub_prefix' within startup.S (relative
29210 to `start').
29211 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
29212 section within startup.S (relative to `start').
29213 * include/grub/i386/coreboot/kernel.h: Likewise.
29214
29215 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
29216 Overwrite grub_prefix with its contents, at the beginning of the
29217 first segment.
29218 (main): Understand -p|--prefix.
29219
29220 2008-07-30 Robert Millan <rmh@aybabtu.com>
29221
29222 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
29223
29224 2008-07-30 Robert Millan <rmh@aybabtu.com>
29225
29226 * term/i386/pc/vga_text.c (grub_console_cls): Use
29227 grub_console_gotoxy() to go back to beginning of the screen.
29228 Found by Patrick Georgi <patrick.georgi@coresystems.de>
29229
29230 2008-07-29 Christian Franke <franke@computer.org>
29231
29232 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
29233 Add conversion of emulated mount points on Cygwin.
29234
29235 2008-07-29 Christian Franke <franke@computer.org>
29236
29237 * util/update-grub.in: Add a check for admin
29238 group on Cygwin.
29239 Remove old `grub.cfg.new' before creation.
29240 Add `-f' to `mv' to handle the different filesystem
29241 semantics of Windows.
29242
29243 2008-07-29 Bean <bean123ch@gmail.com>
29244
29245 * normal/main.c (get_line): Fix buffer overflow bug.
29246
29247 2008-07-28 Robert Millan <rmh@aybabtu.com>
29248
29249 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
29250 (struct grub_apple_header): New struct. Describes the layout of
29251 the partmap header.
29252 (apple_partition_map_iterate): Check the header magic as well as the
29253 partition magic (which was already being checked).
29254
29255 2008-07-28 Pavel Roskin <proski@gnu.org>
29256
29257 * genmk.rb: Add a warning to the beginning of the output that
29258 it's a generated file and should not be edited.
29259
29260 2008-07-28 Robert Millan <rmh@aybabtu.com>
29261
29262 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
29263 with the same number are found, just use issue a warning with
29264 grub_dprintf(), as this error has been reported to be non-fatal.
29265
29266 2008-07-27 Robert Millan <rmh@aybabtu.com>
29267
29268 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
29269 information.
29270
29271 2008-07-27 Bean <bean123ch@gmail.com>
29272
29273 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
29274 (grub_fat_find_dir): Ignore case when comparing filename.
29275
29276 2008-07-27 Bean <bean123ch@gmail.com>
29277
29278 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
29279 smallino, as it's more descriptive, and i8count can be confused with
29280 the other field count.
29281 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
29282 inode type.
29283
29284 2008-07-27 Bean <bean123ch@gmail.com>
29285
29286 * commands/crc.c: New file.
29287
29288 * lib/crc.c: Likewise.
29289
29290 * include/grub/lib/crc.h: Likewise.
29291
29292 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
29293
29294 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
29295 (hexdump): Move this function to ...
29296
29297 * lib/hexdump.c: ... here.
29298
29299 * include/grub/hexdump.h: Renamed to ...
29300
29301 * include/grub/lib/hexdump.h: ... this.
29302
29303 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
29304
29305 * util/grub-editenv.c: Likewise.
29306
29307 * include/envblk.h: Renamed to ...
29308
29309 * include/lib/envblk.h: ... this.
29310
29311 * util/envblk.c: Renamed to ...
29312
29313 * lib/envblk.c: ... this.
29314
29315 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
29316 lib/hexdump.c.
29317 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
29318 (pkglib_MODULES): Add crc.mod.
29319 (hexdump_mod_SOURCES): Add lib/hexdump.c.
29320 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
29321 (crc_mod_SOURCES): New macro.
29322 (crc_mod_CFLAGS): Likewise.
29323 (crc_mod_LDFLAGS): Likewise.
29324
29325 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
29326
29327 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
29328
29329 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
29330
29331 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
29332
29333 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
29334
29335 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
29336
29337 * commands/help.c: Include <grub/term.h>.
29338 (TERM_WIDTH): Removed. Updated all users.
29339
29340 2008-07-27 Pavel Roskin <proski@gnu.org>
29341
29342 * util/getroot.c (find_root_device): Rephrase a comment to avoid
29343 spurious warnings about a comment within a comment.
29344
29345 2008-07-25 Robert Millan <rmh@aybabtu.com>
29346
29347 * util/getroot.c (find_root_device): Skip devices that match
29348 /dev/dm-[0-9]. This lets the real device be found for any type of
29349 abstraction (LVM, EVMS, RAID..).
29350 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
29351 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
29352 device is found first, find_root_device() will now skip it.
29353
29354 2008-07-24 Pavel Roskin <proski@gnu.org>
29355
29356 * include/grub/types.h: Use __builtin_bswap32() and
29357 __builtin_bswap64() with gcc 4.3 and newer.
29358
29359 2008-07-24 Christian Franke <franke@computer.org>
29360
29361 * util/i386/pc/grub-install.in: If `--debug' is specified,
29362 pass `--verbose' to grub-setup.
29363 Abort script if make_system_path_relative_to_its_root() fails.
29364
29365 2008-07-24 Bean <bean123ch@gmail.com>
29366
29367 * configure.ac: Fixed a bug caused by the previous cygwin patch,
29368 variable `target_platform' should be `platform'.
29369
29370 2008-07-24 Bean <bean123ch@gmail.com>
29371
29372 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
29373 (grub_png_init_fixed_block): New function.
29374 (grub_png_decode_image_data): Handle fixed huffman code compression.
29375
29376 2008-07-24 Bean <bean123ch@gmail.com>
29377
29378 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
29379 (grub_pe2elf_SOURCES): New macro.
29380 (CLEANFILES): Add grub-pe2elf.
29381
29382 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
29383 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
29384 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
29385 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
29386 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
29387 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
29388 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
29389 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
29390 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
29391 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
29392 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
29393 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
29394 (GRUB_PE32_DT_FUNCTION): Likewise.
29395 (GRUB_PE32_REL_I386_DIR32): Likewise.
29396 (GRUB_PE32_REL_I386_REL32): Likewise.
29397 (grub_pe32_symbol): New structure.
29398 (grub_pe32_reloc): Likewise.
29399
29400 * util/grub-pe2elf.c: New file.
29401
29402 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
29403 start symbol in non pc platform.
29404
29405 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
29406
29407 The following patches are from Christian Franke.
29408
29409 * include/grub/dl.h: Remove .previous, gas supports this only
29410 for ELF format.
29411
29412 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
29413 Remove .type, gas supports this only for ELF format.
29414
29415 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
29416 nullbytes in symbol table. This fixes an infinite loop if table is
29417 zero filled.
29418
29419 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
29420 TARGET_IMG_LDFLAGS and EXEEXT.
29421
29422 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
29423 TARGET_IMG_LDFLAGS_AC.
29424 (grub_CHECK_STACK_ARG_PROBE): New function.
29425
29426 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
29427
29428 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
29429
29430 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
29431 to set TARGET_IMG_LD* accordingly.
29432 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
29433 Add call to grub_CHECK_STACK_ARG_PROBE.
29434 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
29435
29436 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
29437
29438 * genmk.rb: Add EXEEXT to CLEANFILES.
29439
29440 2008-07-23 Robert Millan <rmh@aybabtu.com>
29441
29442 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
29443 define the codes for arrows and lines used for the menu).
29444 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
29445 as well.
29446
29447 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
29448 fonts, because the latter are too slow.
29449
29450 2008-07-21 Bean <bean123ch@gmail.com>
29451
29452 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
29453 a20. Run keyboard test last, as it will cause macbook to halt.
29454
29455 2008-07-18 Pavel Roskin <proski@gnu.org>
29456
29457 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
29458 load foreign architecture modules correctly anyway. Keep
29459 support for loading host architecture modules, whether we
29460 compile them or not.
29461
29462 2008-07-17 Pavel Roskin <proski@gnu.org>
29463
29464 * configure.ac: Use -m32 or -m64 regardless of whether we had to
29465 change target_cpu. The compiler default can mismatch target_cpu
29466 in any case.
29467
29468 * disk/efi/efidisk.c: Fix format warnings on x86_64.
29469 * kern/efi/efi.c: Likewise.
29470
29471 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
29472 target compiler is functional.
29473 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
29474 are set up.
29475
29476 * configure.ac: Default to efi platform for x86_64-apple. Allow
29477 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
29478 adjustments from the rest, only do them if target is not
29479 explicitly given. Merge other adjustments with the final sanity
29480 check. Remove an extraneous check for supported CPU. Be
29481 specific which CPU and which platform is not supported.
29482
29483 * configure.ac: Default to pc platform for x86_64.
29484
29485 2008-07-17 Robert Millan <rmh@aybabtu.com>
29486
29487 Partial LinuxBIOS -> Coreboot rename.
29488
29489 * conf/i386-linuxbios.rmk: Renamed to ...
29490 * conf/i386-coreboot.rmk: ... this.
29491 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
29492 * configure.ac: Accept "coreboot" as input platform (but maintain
29493 compatibility with "linuxbios").
29494 * include/grub/i386/linuxbios: Renamed to ...
29495 * include/grub/i386/coreboot: ... this.
29496
29497 2008-07-17 Bean <bean123ch@gmail.com>
29498
29499 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
29500 (appleldr_mod_SOURCE): New variable.
29501 (appleldr_mod_CFLAGS): Likewise.
29502 (appleldr_mod_LDFLAGS): Likewise.
29503 (pci_mod_SOURCES): Likewise.
29504 (pci_mod_CFLAGS): Likewise.
29505 (pci_mod_LDFLAGS): Likewise.
29506 (lspci_mod_SOURCES): Likewise.
29507 (lspci_mod_CFLAGS): Likewise.
29508 (lspci_mod_LDFLAGS): Likewise.
29509
29510 * conf/x86_64-efi.rmk: New file.
29511
29512 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
29513 macro.
29514 (grub_efidisk_write): Likewise.
29515
29516 * include/efi/api.h (efi_call_0): New macro.
29517 (efi_call_1): Likewise.
29518 (efi_call_2): Likewise.
29519 (efi_call_3): Likewise.
29520 (efi_call_4): Likewise.
29521 (efi_call_5): Likewise.
29522 (efi_call_6): Likewise.
29523
29524 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
29525 grub_rescue_cmd_chainloader.
29526
29527 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
29528 (grub_pe32_optional_header): Change some fields based on i386 or
29529 x86_64 platform.
29530 (GRUB_PE32_PE32_MAGIC): Likewise.
29531
29532 * include/grub/efi/uga_draw.h: New file.
29533
29534 * include/grub/elf.h (STN_ABS): New constant.
29535 (R_X86_64_NONE): Relocation constant for x86_64.
29536 (R_X86_64_64): Likewise.
29537 (R_X86_64_PC32): Likewise.
29538 (R_X86_64_GOT32): Likewise.
29539 (R_X86_64_PLT32): Likewise.
29540 (R_X86_64_COPY): Likewise.
29541 (R_X86_64_GLOB_DAT): Likewise.
29542 (R_X86_64_JUMP_SLOT): Likewise.
29543 (R_X86_64_RELATIVE): Likewise.
29544 (R_X86_64_GOTPCREL): Likewise.
29545 (R_X86_64_32): Likewise.
29546 (R_X86_64_32S): Likewise.
29547 (R_X86_64_16): Likewise.
29548 (R_X86_64_PC16): Likewise.
29549 (R_X86_64_8): Likewise.
29550 (R_X86_64_PC8): Likewise.
29551
29552 * include/grub/i386/efi/pci.h: New file.
29553
29554 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
29555 Change it value based on platform.
29556 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
29557 (GRUB_E820_RAM): Likewise.
29558 (GRUB_E820_RESERVED): Likewise.
29559 (GRUB_E820_ACPI): Likewise.
29560 (GRUB_E820_NVS): Likewise.
29561 (GRUB_E820_EXEC_CODE): Likewise.
29562 (GRUB_E820_MAX_ENTRY): Likewise.
29563 (grub_e820_mmap): New structure.
29564 (linux_kernel_header): Change the efi field according to different
29565 kernel version, also field from linux_kernel_header.
29566
29567 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
29568
29569 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
29570 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
29571 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
29572 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
29573 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
29574 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
29575 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
29576 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
29577 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
29578 (GRUB_PCI_ADDR_IO_MASK): Likewise.
29579
29580 * include/grub/x86_64/efi/kernel.h: New file.
29581
29582 * include/grub/x86_64/efi/loader.h: Likewise.
29583
29584 * include/grub/x86_64/efi/machine.h: Likewise.
29585
29586 * include/grub/x86_64/efi/pci.h: Likewise.
29587
29588 * include/grub/x86_64/efi/time.h: Likewise.
29589
29590 * include/grub/x86_64/linux.h: Likewise.
29591
29592 * include/grub/x86_64/setjmp.h: Likewise.
29593
29594 * include/grub/x86_64/time.h: Likewise.
29595
29596 * include/grub/x86_64/types.h: Likewise.
29597
29598 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
29599 GRUB_TARGET_SIZEOF_VOID_P.
29600
29601 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
29602 (grub_efi_locate_handle): Likewise.
29603 (grub_efi_open_protocol): Likewise.
29604 (grub_efi_set_text_mode): Likewise.
29605 (grub_efi_stall): Likewise.
29606 (grub_exit): Likewise.
29607 (grub_reboot): Likewise.
29608 (grub_halt): Likewise.
29609 (grub_efi_exit_boot_services): Likewise.
29610 (grub_get_rtc): Likewise.
29611
29612 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
29613 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
29614 (grub_efi_allocate_pages): Wrap efi calls.
29615 (grub_efi_free_pages): Wrap efi calls.
29616 (grub_efi_get_memory_map): Wrap efi calls.
29617
29618 * kern/x86_64/dl.c: New file.
29619
29620 * kern/x86_64/efi/callwrap.S: Likewise.
29621
29622 * kern/x86_64/efi/startup.S: Likewise.
29623
29624 * loader/efi/appleloader.c: Likewise.
29625
29626 * loader/efi/chainloader.c (cmdline): New variable.
29627 (grub_chainloader_unload): Wrap efi calls.
29628 (grub_chainloader_boot): Likewise.
29629 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
29630 command line.
29631
29632 * loader/efi/chainloader_normal.c (chainloader_command):
29633 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
29634 command line.
29635
29636 * loader/i386/efi/linux.c (allocate_pages): Change allocation
29637 method.
29638 (grub_e820_add_region): New function.
29639 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
29640 booting.
29641 (grub_find_video_card): New function.
29642 (grub_linux_setup_video): New function.
29643 (grub_rescue_cmd_linux): Probe for video information.
29644
29645 * normal/x86_64/setjmp.S: New file.
29646
29647 * term/efi/console.c (map_char): New function.
29648 (grub_console_putchar): Map unicode char.
29649 (grub_console_checkkey): Wrap efi calls.
29650 (grub_console_getkey): Likewise.
29651 (grub_console_getwh): Likewise.
29652 (grub_console_gotoxy): Likewise.
29653 (grub_console_cls): Likewise.
29654 (grub_console_setcolorstate): Likewise.
29655 (grub_console_setcursor): Likewise.
29656
29657 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
29658
29659 2008-07-16 Pavel Roskin <proski@gnu.org>
29660
29661 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
29662 format strings.
29663
29664 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
29665 pointer, not an integer. This fixes a warning and prevents
29666 precision loss on 64-bit systems.
29667 (relocate_addresses): Remove unneeded cast.
29668
29669 2008-07-15 Pavel Roskin <proski@gnu.org>
29670
29671 * kern/i386/ieee1275/init.c: Include grub/cache.h.
29672
29673 * term/ieee1275/ofconsole.c: Disable code unused on i386.
29674
29675 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
29676 Fix comparison between signed and unsigned.
29677
29678 * include/grub/i386/ieee1275/console.h: Declare
29679 grub_console_init() and grub_console_fini().
29680
29681 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
29682 It's empty and unused.
29683
29684 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
29685 beginning to avoid warnings with some compilers.
29686
29687 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
29688 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
29689
29690 2008-07-14 Pavel Roskin <proski@gnu.org>
29691
29692 * kern/env.c (grub_register_variable_hook): Don't copy empty
29693 string, it leaks memory. Pass "" to grub_env_set(), it should
29694 handle constant strings.
29695
29696 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
29697 * commands/cmp.c (grub_cmd_cmp): Likewise.
29698 * kern/dl.c (grub_dl_flush_cache): Likewise.
29699 (grub_dl_load_core): Likewise.
29700 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
29701 (grub_elf64_load_phdrs): Likewise.
29702
29703 2008-07-13 Pavel Roskin <proski@gnu.org>
29704
29705 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
29706 between signed and unsigned.
29707 (LzmaEnc_Finish): Fix warning about an unused parameter.
29708
29709 2008-07-13 Bean <bean123ch@gmail.com>
29710
29711 * Makefile.in (enable_lzo): New rule.
29712
29713 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
29714
29715 * configure.ac (ENABLE_LZO): New option --enable-lzo.
29716
29717 * boot/i386/pc/lnxboot.S: #include <config.h>.
29718
29719 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
29720 its value according to the compression algorithm used, lzo or lzma.
29721
29722 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
29723 compression algorithm according to configure macro.
29724
29725 * kern/i386/pc/startup.S (codestart): Likewise.
29726
29727 * kern/i386/pc/lzma_decode.S: New file.
29728
29729 * include/grub/lib/LzFind.h: Likewise.
29730
29731 * include/grub/lib/LzHash.h: Likewise.
29732
29733 * include/grub/lib/LzmaDec.h: Likewise.
29734
29735 * include/grub/lib/LzmaEnc.h: Likewise.
29736
29737 * include/grub/lib/LzmaTypes.h: Likewise.
29738
29739 * lib/LzFind.c: Likewise.
29740
29741 * lib/LzmaDec.c: Likewise.
29742
29743 * lib/LzmaEnc.c: Likewise.
29744
29745 2008-07-13 Bean <bean123ch@gmail.com>
29746
29747 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
29748 (grub_ext4_extent_header): New structure.
29749 (grub_ext4_extent): Likewise.
29750 (grub_ext4_extent_idx): Likewise.
29751 (grub_ext4_find_leaf): New function.
29752 (grub_ext2_read_block): Handle extents.
29753
29754 2008-07-12 Robert Millan <rmh@aybabtu.com>
29755
29756 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
29757
29758 2008-07-11 Robert Millan <rmh@aybabtu.com>
29759
29760 * util/grub.d/40_custom.in: New file. Example on how to add custom
29761 entries to /etc/grub.d.
29762 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
29763 40_custom (implicitly, by merging all the grub.d rules).
29764
29765 2008-07-11 Pavel Roskin <proski@gnu.org>
29766
29767 * commands/read.c (grub_getline): Fix invalid memory access.
29768 Don't add newline to the variable value.
29769
29770 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
29771 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
29772 (serial_hw_get_port): Check validity of the port number.
29773 (grub_cmd_serial): Check return value of serial_hw_get_port().
29774
29775 2008-07-07 Pavel Roskin <proski@gnu.org>
29776
29777 * boot/i386/pc/diskboot.S (notification_string): Replace
29778 "Loading kernel" with just "loading". This is shorter, less
29779 confusing and saves a few bytes for possible future changes.
29780
29781 2008-07-05 Pavel Roskin <proski@gnu.org>
29782
29783 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
29784 size for ATAPI devices, they are undefined. Output sector
29785 number in decimal form.
29786
29787 * disk/ata.c: Use named constants for status bits.
29788
29789 2008-07-04 Pavel Roskin <proski@gnu.org>
29790
29791 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
29792 grub_addr_t before casting it to the void pointer to fix a
29793 warning. Non-addressable regions are discarded earlier.
29794 (grub_arch_modules_addr): Cast _end to grub_addr_t.
29795 * kern/i386/linuxbios/table.c: Include grub/misc.h.
29796 (check_signature): Don't shadow table_header.
29797 (grub_linuxbios_table_iterate): Cast numeric constants to
29798 grub_linuxbios_table_header_t.
29799 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
29800 grub_stop().
29801
29802 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
29803 prevent warnings.
29804
29805 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
29806 pointer, which can cause warnings. Support 64-bit addresses.
29807
29808 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
29809 of sizeof(long). This fixes PowerPC image generation on x86_64.
29810
29811 2008-07-04 Robert Millan <rmh@aybabtu.com>
29812
29813 This fixes a performance issue when pc & gpt partmap iterators
29814 didn't abort iteration even after our hook found what it was
29815 looking for (often causing expensive probes of non-existent drives).
29816
29817 Some callers relied on previous buggy behaviour, since they would
29818 raise an error when their own hooks caused early abortion of its
29819 iteration.
29820
29821 * kern/device.c (grub_device_open): Improve error message.
29822 * disk/lvm.c (grub_lvm_open): Likewise.
29823 * disk/raid.c (grub_raid_open): Likewise.
29824
29825 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
29826 when hook requests it, independently of grub_errno.
29827 (pc_partition_map_probe): Do not fail when find_func() caused
29828 early abortion of pc_partition_map_iterate().
29829
29830 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
29831 when hook requests it, independently of grub_errno.
29832 (gpt_partition_map_probe): Do not fail when find_func() caused
29833 early abortion of gpt_partition_map_iterate().
29834
29835 * kern/partition.c (grub_partition_iterate): Abort parent iteration
29836 when hook requests it, independently of grub_errno. Do not fail when
29837 part_map_iterate_hook() caused early abortion of p->iterate().
29838
29839 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
29840 when grub_partition_iterate() returned with non-zero.
29841
29842 2008-07-03 Pavel Roskin <proski@gnu.org>
29843
29844 * disk/ata.c (grub_ata_pio_write): Check status before writing,
29845 like we do in grub_ata_pio_read().
29846 (grub_ata_readwrite): Always write individual sectors. Fix the
29847 sector count for the remainder.
29848 (grub_ata_write): Enable writing to ATA devices. Correctly
29849 report error for ATAPI devices.
29850
29851 2008-07-02 Pavel Roskin <proski@gnu.org>
29852
29853 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
29854 warning.
29855
29856 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
29857 for every read sector, we already increment it for the whole
29858 batch. This fixes reading more than 256 sectors at once.
29859
29860 * util/grub-editenv.c (cmd_info): Cast argument to long
29861 explicitly. ptrdiff_t reduces to int on i386.
29862
29863 * util/grub-editenv.c (main): Be specific which parameter is
29864 missing.
29865
29866 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
29867 (memdisk): Make memdisk_orig_addr a pointer.
29868
29869 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
29870 for file offsets, use grub_off_t instead. Fix printf format
29871 warnings.
29872
29873 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
29874 there. Real unexpected warnings should not drown in the noise
29875 about known problems.
29876
29877 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
29878 grub_disk_addr_t for memory addresses.
29879
29880 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
29881 explicitly to fix a warning.
29882
29883 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
29884
29885 * Makefile.in (MODULE_LDFLAGS): New variable.
29886 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
29887 the linker accepts --build-id=none.
29888 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
29889 MODULE_LDFLAGS.
29890 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
29891
29892 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
29893 those in Linux XFS code. Provide a way to access 64-bit parent
29894 inode.
29895 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
29896 the end of struct grub_xfs_dir_header.
29897
29898 2008-07-02 Bean <bean123ch@gmail.com>
29899
29900 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
29901 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29902 and GRUB_IEEE1275_FLAG_NO_ANSI.
29903
29904 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
29905 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29906 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
29907
29908 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
29909 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
29910
29911 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
29912 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
29913
29914 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
29915 esc sequence on non ANSI terminal.
29916 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
29917
29918 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
29919 beginning of file.
29920
29921 2008-07-02 Bean <bean123ch@gmail.com>
29922
29923 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
29924 (grub_editenv_SOURCES): New variable.
29925 (pkglib_MODULES): Add loadenv.mod.
29926 (loadenv_mod_SOURCES): New variable.
29927 (loadenv_mod_CFLAGS): Likewise.
29928 (loadenv_mod_LDFLAGS): Likewise.
29929
29930 * include/grub/envblk.h: New file.
29931
29932 * util/envblk.c: New file.
29933
29934 * util/grub-editenv.c: New file.
29935
29936 * commands/loadenv.c: New file.
29937
29938 2008-07-01 Pavel Roskin <proski@gnu.org>
29939
29940 * include/multiboot2.h (struct multiboot_tag_module): Use char,
29941 not unsigned char. This fixes warnings and is consistent with
29942 other tags.
29943
29944 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
29945
29946 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
29947
29948 * term/tparm.c (analyze): Always set *popcount.
29949
29950 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
29951 cast to fix a warning.
29952
29953 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
29954 cast to suppress a warning.
29955
29956 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
29957 grub_fshelp_read_file() expects.
29958
29959 * fs/fat.c: Fix UUID calculation on big-endian systems. We
29960 write uuid as a 32-bit value in CPU byte order, so declare and
29961 use it as such.
29962
29963 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
29964 long if the format specifier expects it.
29965 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
29966 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29967 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
29968 long to fix a warning.
29969 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
29970 grub_dprintf() arguments to fix warnings.
29971
29972 2008-06-30 Pavel Roskin <proski@gnu.org>
29973
29974 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
29975 install_bsd_part immediately before core.img is embedded or
29976 modified on disk. This fixes core.img verification if core.img
29977 cannot be embedded.
29978
29979 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
29980 core_path to calculate the blocklist.
29981 Patch from Javier Martín <lordhabbit@gmail.com>
29982
29983 2008-06-29 Robert Millan <rmh@aybabtu.com>
29984
29985 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
29986 block to disk block.
29987 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
29988 Patch from Niels Böhm <bitbucket@arcor.de>
29989
29990 2008-06-29 Robert Millan <rmh@aybabtu.com>
29991
29992 * util/update-grub_lib.in (font_path): Search for fonts in
29993 /boot/grub first, which is more likely to be readable (we aren't
29994 deciding where fonts live, just looking for them).
29995
29996 2008-06-26 Pavel Roskin <proski@gnu.org>
29997
29998 * util/biosdisk.c (read_device_map): Don't leave dead map
29999 entries for devices failing stat() check.
30000
30001 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
30002 core_path_dev for the core.img path on the target device.
30003
30004 2008-06-26 Robert Millan <rmh@aybabtu.com>
30005
30006 * disk/fs_uuid.c: New file.
30007 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
30008 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
30009 (fs_uuid_mod_LDFLAGS): New variables.
30010 * include/grub/disk.h (grub_disk_dev_id): Add
30011 `GRUB_DISK_DEVICE_UUID_ID'.
30012 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
30013 implement iterate().
30014
30015 2008-06-26 Robert Millan <rmh@aybabtu.com>
30016
30017 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
30018 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
30019 Linux image includes no initrd.
30020
30021 2008-06-21 Javier Martín <lordhabbit@gmail.com>
30022
30023 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
30024 call to resolve the core image location that effectively appended the
30025 name twice.
30026
30027 2008-06-21 Robert Millan <rmh@aybabtu.com>
30028
30029 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
30030 call from here ...
30031
30032 * util/grub.d/10_hurd.in: ... to here ...
30033 * util/grub.d/10_linux.in: ... and here.
30034
30035 2008-06-19 Robert Millan <rmh@aybabtu.com>
30036
30037 * kern/main.c (grub_main): Export `prefix' variable immediately
30038 after it has been set by grub_machine_set_prefix().
30039
30040 2008-06-19 Robert Millan <rmh@aybabtu.com>
30041
30042 * commands/search.c (search_label, search_fs_uuid, search_file): Print
30043 search result when not saving to variable, not the other way around.
30044 When saving to variable, abort iteration as soon as a match is found.
30045
30046 2008-06-19 Robert Millan <rmh@aybabtu.com>
30047
30048 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
30049 check for partition that provides /boot/grub. Its logic is flawed,
30050 as it prevents prepare_grub_to_access_device() from being called
30051 multiple times.
30052
30053 2008-06-19 Robert Millan <rmh@aybabtu.com>
30054
30055 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
30056 "insmod" command directly when abstraction modules are needed,
30057 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
30058 since it had already been processed).
30059
30060 2008-06-19 Pavel Roskin <proski@gnu.org>
30061
30062 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
30063 changed. This is needed in case GRUB_LIBDIR changes.
30064 * conf/i386-ieee1275.rmk: Likewise.
30065 * conf/i386-linuxbios.rmk: Likewise.
30066 * conf/i386-pc.rmk: Likewise.
30067 * conf/powerpc-ieee1275.rmk: Likewise.
30068
30069 2008-06-18 Pavel Roskin <proski@gnu.org>
30070
30071 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
30072 kernel_elf_symlist.c to symlist.c for consistency with other
30073 architectures. Update all users.
30074 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
30075
30076 2008-06-18 Robert Millan <rmh@aybabtu.com>
30077
30078 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
30079 it in prefix.
30080
30081 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
30082 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
30083 a RAID device, run setup() for all members independently on whether
30084 LVM abstraction is being used.
30085 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
30086 If grub-mkimage has set `*install_dos_part == -2', don't override this
30087 value.
30088 Perform *install_dos_part adjustments independently on whether
30089 we're embedding or not.
30090 Clarify error message when image is too big for embedding.
30091 Remove duplicate *install_dos_part stanza.
30092
30093 2008-06-17 Robert Millan <rmh@aybabtu.com>
30094
30095 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
30096 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
30097 variables.
30098 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
30099 values in grub_ofconsole_normal_color and
30100 grub_ofconsole_highlight_color (they're not directly related to
30101 background and foreground).
30102 (grub_ofconsole_setcolorstate): Extract background and foreground
30103 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
30104
30105 2008-06-17 Robert Millan <rmh@aybabtu.com>
30106
30107 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
30108 /boot/grub for the check in last commit, not /boot (they could be
30109 different partitions).
30110
30111 2008-06-16 Robert Millan <rmh@aybabtu.com>
30112
30113 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
30114 asked to setup access for the same partition that provides /boot,
30115 don't bother using UUIDs since our root already has the value we
30116 want.
30117
30118 2008-06-16 Robert Millan <rmh@aybabtu.com>
30119
30120 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
30121 I2O devices.
30122 Patch from Sven Mueller <sven@debian.org>.
30123
30124 2008-06-16 Robert Millan <rmh@aybabtu.com>
30125
30126 * util/update-grub.in: Check for $EUID instead of $UID.
30127 Reported by Vincent Zweije.
30128
30129 2008-06-16 Bean <bean123ch@gmail.com>
30130
30131 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
30132 (grub_ext2_read_block): Likewise.
30133 (grub_ext2_read_inode): Likewise.
30134 (grub_ext2_mount): Likewise.
30135 (grub_ext2_close): Likewise.
30136 (grub_ext3_get_journal): Removed.
30137
30138 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
30139 (grub_reiserfs_read_symlink): Likewise.
30140 (grub_reiserfs_mount): Likewise.
30141 (grub_reiserfs_open): Likewise.
30142 (grub_reiserfs_read): Likewise.
30143 (grub_reiserfs_close): Likewise.
30144 (grub_reiserfs_get_journal): Removed.
30145
30146 * fs/fshelp.c (grub_fshelp_read): Removed.
30147 (grub_fshelp_map_block): Likewise.
30148
30149 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
30150 (grub_fshelp_journal): Likewise.
30151 (grub_fshelp_read): Likewise.
30152 (grub_fshelp_map_block): Likewise.
30153
30154 2008-06-16 Pavel Roskin <proski@gnu.org>
30155
30156 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
30157 floating point anymore.
30158 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
30159
30160 2008-06-15 Pavel Roskin <proski@gnu.org>
30161
30162 * commands/ls.c (grub_ls_list_files): Use integer calculations
30163 for human readable format, avoid floating point use.
30164 * kern/misc.c (grub_ftoa): Remove.
30165 (grub_vsprintf): Remove floating point support.
30166
30167 2008-06-15 Robert Millan <rmh@aybabtu.com>
30168
30169 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
30170 devices.
30171 Reported by Max Vozeler.
30172
30173 2008-06-15 Robert Millan <rmh@aybabtu.com>
30174
30175 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
30176 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
30177 skipped later.
30178 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
30179 the beginning of the prefix.
30180
30181 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
30182 It is assumed that if we have a memdisk, grub-mkimage has set
30183 grub_prefix to include the "(memdisk)" drive in it.
30184
30185 2008-06-15 Robert Millan <rmh@aybabtu.com>
30186
30187 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
30188 Initialize keyboard controller after registering the terminal, so that
30189 grub_printf() can be called from grub_keyboard_controller_init().
30190
30191 2008-06-15 Robert Millan <rmh@aybabtu.com>
30192
30193 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
30194 extent-btree which is written as big endian on disk.
30195 Reported by Alain Greppin <al@chilibi.org>.
30196
30197 2008-06-14 Robert Millan <rmh@aybabtu.com>
30198
30199 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
30200 * util/i386/pc/grub-install.in (modules): Likewise.
30201
30202 2008-06-13 Pavel Roskin <proski@gnu.org>
30203
30204 * commands/ls.c (grub_ls_list_files): Fix format warnings.
30205
30206 2008-06-13 Bean <bean123ch@gmail.com>
30207
30208 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
30209
30210 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
30211
30212 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
30213 to indicate sparse block.
30214
30215 2008-06-12 Pavel Roskin <proski@gnu.org>
30216
30217 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
30218 number, grub_fshelp_read() does it for us.
30219
30220 * fs/fshelp.c (grub_fshelp_read): New function. Implement
30221 linear disk read with journal translation.
30222 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
30223 * include/grub/fshelp.h: Declare grub_fshelp_read().
30224
30225 2008-06-09 Pavel Roskin <proski@gnu.org>
30226
30227 * fs/minix.c (grub_minix_mount): Handle error reading
30228 superblock.
30229
30230 2008-06-08 Robert Millan <rmh@aybabtu.com>
30231
30232 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
30233 don't append the RAID prefix afterwards.
30234 Reported by Clint Adams.
30235
30236 2008-06-08 Robert Millan <rmh@aybabtu.com>
30237
30238 Based on description from Pavel:
30239 * kern/disk.c (grub_disk_check_range): Rename to ...
30240 (grub_disk_adjust_range): ... this. Add a comment explaining the
30241 tasks performed by this function.
30242
30243 2008-06-08 Robert Millan <rmh@aybabtu.com>
30244
30245 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
30246 `num_serial' (for consistency with other variables).
30247 (struct grub_ntfs_data): Add `uuid' member.
30248 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
30249 (grub_ntfs_uuid): New function.
30250 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
30251
30252 2008-06-07 Pavel Roskin <proski@gnu.org>
30253
30254 * util/biosdisk.c (open_device): Revert last change to the
30255 function, it broke installation. The sector needs to be
30256 different dependent on which device is opened.
30257
30258 2008-06-06 Robert Millan <rmh@aybabtu.com>
30259
30260 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
30261 rest of GRUB, and breakage doesn't happen if its value were modified.
30262
30263 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
30264 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
30265 a constant (same value).
30266 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
30267 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
30268
30269 2008-06-06 Robert Millan <rmh@aybabtu.com>
30270
30271 * util/biosdisk.c (open_device): Do not modify sector offset when
30272 accessing a partition. kern/disk.c already handles this for us.
30273
30274 2008-06-06 Robert Millan <rmh@aybabtu.com>
30275
30276 * util/grub-emu.c (grub_machine_init): Move code in this function from
30277 here ...
30278 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
30279 segfault in case grub_printf() is called).
30280
30281 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
30282 grub_probe. Update all users not to explicitly add it again.
30283 (grub_device): New variable; contains corresponding device for grubdir.
30284 (fs_module, partmap_module, devabstraction_module): Pass
30285 `--device ${grub_device}' to grub_probe to avoid traversing /dev
30286 every time.
30287
30288 2008-06-05 Robert Millan <rmh@aybabtu.com>
30289
30290 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
30291 is found, print it (same layout as with labels).
30292
30293 2008-06-04 Robert Millan <rmh@aybabtu.com>
30294
30295 * util/biosdisk.c (get_drive): Rename to ...
30296 (find_grub_drive): ... this. Update all users.
30297
30298 (get_os_disk): Rename to ...
30299 (convert_system_partition_to_system_disk): ... this. Update all users.
30300
30301 (find_drive): Rename to ...
30302 (find_system_device): ... this. Update all users.
30303
30304 2008-06-04 Robert Millan <rmh@aybabtu.com>
30305
30306 * util/biosdisk.c (get_os_disk): Handle IDA devices.
30307 * util/grub-mkdevicemap.c (get_mmc_disk_name)
30308 (make_device_map): Likewise.
30309
30310 2008-06-01 Robert Millan <rmh@aybabtu.com>
30311
30312 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
30313 before dereferencing it.
30314
30315 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
30316 union with fat12/fat16-specific ones. Add some new fields, including
30317 `num_serial' for both versions.
30318 (struct grub_fat_data): Add `uuid' member.
30319 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
30320 names. Initialize `data->uuid' using `num_serial'.
30321 (grub_fat_uuid): New function.
30322 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
30323
30324 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
30325 (grub_reiserfs_uuid): New function.
30326 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
30327 member.
30328
30329 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
30330 (grub_xfs_uuid): New function.
30331 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
30332
30333 2008-06-01 Robert Millan <rmh@aybabtu.com>
30334
30335 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
30336 code that is backward compatible with pre-uuid search command.
30337
30338 2008-05-31 Robert Millan <rmh@aybabtu.com>
30339
30340 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
30341 floppies after everything else, to ensure floppy drive isn't accessed
30342 unnecessarily (patch from Bean).
30343
30344 2008-05-31 Robert Millan <rmh@aybabtu.com>
30345
30346 * commands/search.c (search_label, search_fs_uuid, search_file): Do
30347 not print device names when we were asked to set a variable.
30348
30349 2008-05-31 Robert Millan <rmh@aybabtu.com>
30350
30351 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
30352 using "cursor-on" and "cursor-off" commands (understood at least by
30353 the Open Firmware flavour on OLPC).
30354
30355 2008-05-31 Michael Gorven <michael@gorven.za.net>
30356
30357 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
30358 on and off sequences.
30359
30360 2008-05-31 Robert Millan <rmh@aybabtu.com>
30361
30362 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
30363 * util/update-grub.in: Likewise.
30364
30365 2008-05-30 Pavel Roskin <proski@gnu.org>
30366
30367 * util/biosdisk.c (linux_find_partition): Simplify logic and
30368 make the code more universal. Keep special processing for
30369 devfs, but use a simple rule for all other devices. If the
30370 device ends with a number, append 'p' and the partition number.
30371 Otherwise, append only the partition number.
30372
30373 2008-05-30 Robert Millan <rmh@aybabtu.com>
30374
30375 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
30376 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
30377 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
30378 the `root' parameter to Linux.
30379
30380 2008-05-30 Robert Millan <rmh@aybabtu.com>
30381
30382 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
30383 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
30384 --fs_uuid with --fs-uuid.
30385 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
30386 all filesystems support them).
30387
30388 2008-05-30 Robert Millan <rmh@aybabtu.com>
30389
30390 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
30391 grub_printf() flags, since we're printing in units of 2 bytes.
30392
30393 2008-05-30 Robert Millan <rmh@aybabtu.com>
30394
30395 * util/grub.d/00_header.in: Remove obsolete comment referencing
30396 convert_system_path_to_grub_path().
30397 * util/update-grub.in: Likewise.
30398 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
30399 (convert_system_path_to_grub_path): Add a warning message explaining
30400 that this function is deprecated. Rely on is_path_readable_by_grub()
30401 for the readability checks.
30402 (font_path): Use is_path_readable_by_grub() for the readability
30403 check rather than convert_system_path_to_grub_path().
30404
30405 2008-05-30 Robert Millan <rmh@aybabtu.com>
30406
30407 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
30408 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
30409 converting it first.
30410 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
30411 grub.cfg for access to font file, and afterwards call it again to set
30412 the root device.
30413
30414 2008-05-30 Robert Millan <rmh@aybabtu.com>
30415
30416 * commands/search.c (options): Add --fs_uuid option.
30417 (search_fs_uuid): New function.
30418 (grub_cmd_search): Fix --set argument passing.
30419 Use search_fs_uuid() when requested via --fs_uuid.
30420 (grub_search_init): Update help message.
30421 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
30422 and redeclare it as an array of 16-bit words.
30423 (grub_ext2_uuid): New function.
30424 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
30425 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
30426 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
30427 (GRUB_DEVICE_BOOT_UUID): New variables.
30428 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
30429 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
30430 whenever possible.
30431 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
30432 just assume `root' variable has the right value.
30433 * util/grub.d/10_linux.in: Likewise.
30434 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
30435 via PRINT_FS_UUID.
30436 (main): Recognise `-t fs_uuid' argument.
30437
30438 2008-05-30 Robert Millan <rmh@aybabtu.com>
30439
30440 * util/biosdisk.c (map): Redefine structure to hold information
30441 about GRUB drive name.
30442 (get_drive): Reimplement without assuming (and verifying) BIOS-like
30443 drive names.
30444 (call_hook): Remove.
30445 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
30446 member. Assume drive has partitions.
30447 (grub_util_biosdisk_open): Access device names via `.device' struct
30448 member.
30449 (open_device): Likewise.
30450 (find_drive): Likewise.
30451 (read_device_map): Adjust map[] usage to match the new struct
30452 definition. Don't check for duplicates (still possible, but not cheap
30453 anymore).
30454 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
30455 (make_device_name): Remove assumption of BIOS-like drive names.
30456
30457 2008-05-30 Pavel Roskin <proski@gnu.org>
30458
30459 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
30460 compiling execute.c doesn't need grub_script.tab.h anymore.
30461 (normal/command.c_DEPENDENCIES): Likewise.
30462 (normal/function.c_DEPENDENCIES): Likewise.
30463 * conf/i386-ieee1275.rmk: Likewise.
30464 * conf/i386-linuxbios.rmk: Likewise.
30465 * conf/i386-pc.rmk: Likewise.
30466 * conf/powerpc-ieee1275.rmk: Likewise.
30467 * conf/sparc64-ieee1275.rmk: Likewise.
30468
30469 2008-05-29 Pavel Roskin <proski@gnu.org>
30470
30471 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
30472 when scanning metadata for volume group name.
30473
30474 * include/grub/script.h: Don't include grub_script.tab.h. It's
30475 a generated file, which may only be included from the files with
30476 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
30477 use union YYSTYPE, as the later allows forward declaration.
30478 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
30479
30480 2008-05-29 Robert Millan <rmh@aybabtu.com>
30481
30482 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
30483 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
30484 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
30485 (grub_console_checkkey): Add grub_dprintf() call to report unknown
30486 scan codes.
30487
30488 2008-05-29 Robert Millan <rmh@aybabtu.com>
30489
30490 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
30491 control key combinations.
30492
30493 2008-05-29 Robert Millan <rmh@aybabtu.com>
30494
30495 * util/powerpc/ieee1275/grub-install.in: Move from here ...
30496 * util/ieee1275/grub-install.in: ... to here.
30497 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
30498 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
30499 (grub_install_SOURCES): Likewise.
30500
30501 2008-05-29 Robert Millan <rmh@aybabtu.com>
30502
30503 * fs/affs.c: Update copyright year.
30504 * fs/ext2.c: Likewise.
30505 * fs/fshelp.c: Likewise.
30506 * fs/hfsplus.c: Likewise.
30507 * fs/ntfs.c: Likewise.
30508 * fs/xfs.c: Likewise.
30509 * include/grub/fshelp.h: Likewise.
30510 * util/grub-mkdevicemap.c: Likewise.
30511
30512 2008-05-28 Robert Millan <rmh@aybabtu.com>
30513
30514 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
30515 might need to be fatfs to support some firmware implementations
30516 (e.g. OFW or EFI).
30517
30518 2008-05-28 Robert Millan <rmh@aybabtu.com>
30519
30520 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
30521 devices.
30522 * util/grub-mkdevicemap.c (get_mmc_disk_name)
30523 (make_device_map): Likewise.
30524
30525 2008-05-20 Bean <bean123ch@gmail.com>
30526
30527 * fs/fshelp.c (grub_fshelp_map_block): New function.
30528 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
30529 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
30530
30531 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
30532 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
30533 (grub_fshelp_journal): New structure.
30534 (grub_fshelp_map_block): New function prototype.
30535 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
30536 (grub_fshelp_map_block): Likewise.
30537
30538 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
30539 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
30540 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
30541 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
30542 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
30543 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
30544 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
30545 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
30546 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
30547 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
30548 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
30549 (grub_ext2_sblock): New members for journal support.
30550 (grub_ext3_journal_header): New structure.
30551 (grub_ext3_journal_revoke_header): Likewise.
30552 (grub_ext3_journal_block_tag): Likewise.
30553 (grub_ext3_journal_sblock): Likewise.
30554 (grub_fshelp_node): New members logfile and journal.
30555 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
30556 grub_fshelp_map_block to get real block number.
30557 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
30558 number.
30559 (grub_ext2_read_inode): Likewise.
30560 (grub_ext3_get_journal): New function.
30561 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
30562 (grub_ext2_close): Release memory used by journal.
30563
30564 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
30565 (REISERFS_MAGIC_DESC_BLOCK): New macro.
30566 (grub_reiserfs_transaction_header): Renamed to
30567 grub_reiserfs_description_block, replace field data with real_blocks.
30568 (grub_reiserfs_commit_block): New structure.
30569 (grub_reiserfs_data): New member journal.
30570 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
30571 number.
30572 (grub_reiserfs_read_symlink): Likewise.
30573 (grub_reiserfs_iterate_dir): Likewise.
30574 (grub_reiserfs_open): Likewise.
30575 (grub_reiserfs_read): Likewise.
30576 (grub_reiserfs_get_journal): New function.
30577 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
30578 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
30579 using grub_reiserfs_get_journal.
30580 (grub_reiserfs_close): Release memory used by journal.
30581
30582 * fs/affs.c (grub_affs_read_block): Change block type to
30583 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
30584
30585 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
30586
30587 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
30588
30589 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
30590
30591 * fs/udf.c (grub_udf_read_block): Change block type to
30592 grub_disk_addr_t. Use type cast to avoid warning.
30593
30594 * fs/xfs.c (grub_xfs_read_block): Likewise.
30595
30596 2008-05-16 Christian Franke <franke@computer.org>
30597
30598 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
30599 to ensure that break with ESC will always work.
30600 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
30601 Remove ESC from keyboard queue.
30602
30603 2008-05-16 Christian Franke <franke@computer.org>
30604
30605 * util/biosdisk.c: [__CYGWIN__] Add includes.
30606 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
30607 (get_os_disk): Move variable declarations to OS specific
30608 parts to avoid warning.
30609 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
30610 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
30611 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
30612 Cygwin.
30613 * util/getroot.c: [__CYGWIN__] Add includes.
30614 (strip_extra_slashes): Fix "/" case.
30615 [__CYGWIN__] (get_win32_path): New function.
30616 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
30617 [__CYGWIN__] (find_root_device): Disable.
30618 [__CYGWIN__] (get_bootsec_serial): New function.
30619 [__CYGWIN__] (find_cygwin_root_device): Likewise.
30620 [__linux__] (grub_guess_root_device): Add early returns to simplify
30621 structure.
30622 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
30623 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
30624 check for Linux only.
30625
30626 2008-05-15 Bean <bean123ch@gmail.com>
30627
30628 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
30629 keyboard hang problem in apple's intel mac.
30630
30631 2008-05-09 Robert Millan <rmh@aybabtu.com>
30632
30633 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
30634 devices.
30635 * util/grub-mkdevicemap.c (get_virtio_disk_name)
30636 (make_device_map): Likewise.
30637 Reported by Aurelien Jarno <aurel32@debian.org>
30638
30639 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
30640
30641 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
30642 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
30643 (make_device_map): Output entries for xvd type disks.
30644
30645 2008-05-07 Robert Millan <rmh@aybabtu.com>
30646
30647 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
30648 devices.
30649 * util/grub-mkdevicemap.c (get_cciss_disk_name)
30650 (make_device_map): Likewise.
30651 Reported by Roland Dreier <rdreier@cisco.com>
30652
30653 2008-05-07 Robert Millan <rmh@aybabtu.com>
30654
30655 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
30656 grub_strstr() call. Correct a few mistakes in failure path handling.
30657
30658 2008-05-06 Robert Millan <rmh@aybabtu.com>
30659
30660 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
30661 Do not print a trailing slash (therefore, the root directory is an
30662 empty string).
30663 (convert_system_path_to_grub_path): Do not remove trailing slash
30664 from make_system_path_relative_to_its_root() output.
30665
30666 * util/i386/pc/grub-install.in: Add trailing slash to output from
30667 make_system_path_relative_to_its_root().
30668
30669 2008-05-06 Robert Millan <rmh@aybabtu.com>
30670
30671 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
30672 ensures that output lines aren't intermangled with those sent to
30673 stderr (via grub_util_info()).
30674 * util/grub-probe.c (grub_refresh): Likewise.
30675 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
30676
30677 2008-05-05 Christian Franke <franke@computer.org>
30678
30679 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
30680 Add Cygwin device names.
30681 (get_ide_disk_name) [__CYGWIN__]: Likewise.
30682 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
30683 (check_device): Return error instead of success on empty name.
30684 (make_device_map): Move label inside linux specific code to
30685 prevent compiler warning.
30686
30687 2008-04-30 Robert Millan <rmh@aybabtu.com>
30688
30689 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
30690 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
30691 first boot option.
30692 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
30693
30694 2008-04-29 Robert Millan <rmh@aybabtu.com>
30695
30696 * docs/grub.cfg: New file (example GRUB configuration).
30697
30698 2008-04-26 Robert Millan <rmh@aybabtu.com>
30699
30700 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
30701 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
30702 and `disk/ieee1275/nand.c'.
30703
30704 2008-04-25 Bean <bean123ch@gmail.com>
30705
30706 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
30707 i386-linuxbios.
30708
30709 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
30710 change the buffer size to 4096 for cdrom device.
30711
30712 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
30713 and nand.mod.
30714 (_linux_mod_SOURCES): New variable.
30715 (_linux_mod_CFLAGS): Likewise.
30716 (_linux_mod_LDFLAGS): Likewise.
30717 (linux_mod_SOURCES): Likewise.
30718 (linux_mod_CFLAGS): Likewise.
30719 (linux_mod_LDFLAGS): Likewise.
30720 (nand_mod_SOURCES): Likewise.
30721 (nand_mod_CFLAGS): Likewise.
30722 (nand_mod_LDFLAGS): Likewise.
30723
30724 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
30725 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
30726 type property. (nand device in olpc don't have this property)
30727
30728 * include/grub/disk.h (grub_disk_dev_id): New macro
30729 GRUB_DISK_DEVICE_NAND_ID.
30730
30731 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
30732 function prototype.
30733 (grub_rescue_cmd_initrd): Likewise.
30734
30735 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
30736 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
30737 ofw_cif_handler and ofw_idt, adjust padding number.
30738
30739 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
30740 GRUB_MACHINE_IEEE1275 is defined.
30741
30742 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
30743 Use NESTED_FUNC_ATTR attribute on the hook parameter.
30744
30745 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
30746 on nested function heap_init.
30747 (grub_upper_mem): New variable for i386-ieee1275.
30748 (grub_get_extended_memory): New function for i386-ieee1275.
30749 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
30750
30751 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
30752 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
30753 property.
30754
30755 * loader/i386/ieee1275/linux.c: New file.
30756
30757 * loader/i386/ieee1275/linux_normal.c: New file.
30758
30759 * disk/ieee1275/nand.c: New file.
30760
30761 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
30762
30763 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
30764 value.
30765 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
30766
30767 2008-04-18 Robert Millan <rmh@aybabtu.com>
30768
30769 Restructures early code path on ieee1275 to unify grub_main() as
30770 the first C function that is executed in every platform.
30771
30772 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
30773 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
30774 cmain().
30775 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
30776 * kern/ieee1275/cmain.c (cmain): Rename to ...
30777 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
30778 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
30779 at the beginning.
30780
30781 2008-04-18 Robert Millan <rmh@aybabtu.com>
30782
30783 * util/update-grub.in: Fix syntax error when setting
30784 `GRUB_PRELOAD_MODULES'.
30785 Reported by Stephane Chazelas <stephane@artesyncp.com>
30786
30787 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
30788
30789 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
30790 section into account, newer toolchains generate unique build ids
30791 * configure.ac: remove the test for --build-id=none acceptance,
30792 we want build ids to be preserved
30793 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
30794 far from other sections don't cause the raw binary images grow
30795 size
30796
30797 2008-04-15 Robert Millan <rmh@aybabtu.com>
30798
30799 * disk/lvm.c: Update copyright year.
30800 * kern/misc.c: Likewise.
30801
30802 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30803
30804 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
30805 there is no memory left for physical volume name.
30806
30807 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30808
30809 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
30810 volume name mapping to support bigger than 9 character names properly.
30811
30812 2008-04-13 Robert Millan <rmh@aybabtu.com>
30813
30814 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
30815 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
30816
30817 2008-04-13 Christian Franke <franke@computer.org>
30818
30819 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
30820 to create a floppy emulation boot CD when non emulation mode
30821 does not work.
30822 Enable Joliet CD filesystem extension.
30823
30824 2008-04-13 Robert Millan <rmh@aybabtu.com>
30825
30826 * kern/misc.c (grub_strncat): Fix off-by-one error.
30827 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
30828
30829 * kern/env.c (grub_env_context_close): Clear current context, not
30830 previous one.
30831 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
30832
30833 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
30834
30835 2008-04-13 Robert Millan <rmh@aybabtu.com>
30836
30837 Improve robustness when handling LVM.
30838
30839 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
30840 (and leave `*p' unmodified).
30841 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
30842 through it.
30843 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
30844 iterating through it.
30845 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
30846 through it.
30847 (grub_lvm_scan_device): Check the return value (and fail gracefully
30848 when due) on each grub_lvm_getvalue() or grub_strstr() call.
30849 Don't assume `vg->pvs != NULL' when iterating through it.
30850
30851 2008-04-13 Robert Millan <rmh@aybabtu.com>
30852
30853 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
30854 * genmk.rb (partmap): New variable.
30855 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
30856 (#{partmap}): New target rule.
30857 * genpartmaplist.sh: New file.
30858 * Makefile.in (pkglib_DATA): Add partmap.lst.
30859 (partmap.lst): New target rule.
30860 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
30861 modules (including all partition maps), instead of preloading them.
30862
30863 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
30864
30865 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
30866 `linux-boot-prober' (if installed) to detect other operating
30867 systems which are installed on the computer and add them to
30868 the boot menu.
30869 * conf/common.rmk: Build and install 30_os-prober.
30870
30871 2008-04-12 Robert Millan <rmh@aybabtu.com>
30872
30873 * kern/powerpc/ieee1275/init.c: Move from here ...
30874 * kern/ieee1275/init.c: ... to here. Update all users.
30875
30876 * kern/powerpc/ieee1275/cmain.c: Move from here ...
30877 * kern/ieee1275/cmain.c: ... to here. Update all users.
30878
30879 * kern/powerpc/ieee1275/openfw.c: Move from here ...
30880 * kern/ieee1275/openfw.c: ... to here. Update all users.
30881
30882 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
30883 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
30884
30885 2008-04-10 Pavel Roskin <proski@gnu.org>
30886
30887 * configure.ac: Always use "_cv_" in cache variables for
30888 compatibility with Autoconf 2.62.
30889
30890 2008-04-07 Robert Millan <rmh@aybabtu.com>
30891
30892 Revert grub/machine/init.h addition by Pavel (since it breaks on
30893 i386-ieee1275 and others):
30894 * util/i386/pc/misc.c: Remove grub/machine/init.h.
30895 * util/powerpc/ieee1275/misc.c: Likewise.
30896
30897 2008-04-07 Robert Millan <rmh@aybabtu.com>
30898
30899 * util/grub-probe.c (probe): Improve error message.
30900
30901 2008-04-07 Robert Millan <rmh@aybabtu.com>
30902
30903 * util/biosdisk.c (read_device_map): Skip devices that don't exist
30904 (this prevents the presence of a bogus entry from ruining the whole
30905 thing).
30906
30907 2008-04-06 Pavel Roskin <proski@gnu.org>
30908
30909 * util/biosdisk.c: Include grub/util/biosdisk.h.
30910 * util/grub-fstest.c (execute_command): Make static.
30911 * util/grub-mkdevicemap.c (check_device): Likewise.
30912 * util/i386/pc/misc.c: Include grub/machine/init.h.
30913 * util/powerpc/ieee1275/misc.c: Likewise.
30914 * util/lvm.c: Include grub/util/lvm.h.
30915 * util/misc.c: Include grub/kernel.h, grub/misc.h and
30916 grub/cache.h.
30917 * util/raid.c: Include grub/util/raid.h.
30918 (grub_util_getdiskname): Make static.
30919
30920 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
30921 grub_hostfs_fini(), as they are called from grub_init_all() and
30922 grub_fini_all() respectively. This fixes an infinite loop in
30923 grub-fstest due to double registration of hostfs.
30924 Reported by Christian Franke <Christian.Franke@t-online.de>
30925
30926 2008-04-05 Pavel Roskin <proski@gnu.org>
30927
30928 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
30929 all 8 functions. Otherwise, probe function 0 only.
30930
30931 2008-04-04 Pavel Roskin <proski@gnu.org>
30932
30933 * commands/lspci.c (grub_lspci_iter): Print the bus number
30934 correctly.
30935
30936 * commands/lspci.c (grub_pci_classes): Fix typos.
30937 (grub_lspci_iter): Don't print func twice. Print vendor ID
30938 before device ID, as it's normally done.
30939
30940 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
30941 Fix signedness warnings.
30942 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
30943 Likewise.
30944 * util/ieee1275/get_disk_name.c: Include config.h so that
30945 _GNU_SOURCE is defined and getline() is declared. Mark an
30946 unused argument as such. Fix a signedness warning.
30947
30948 2008-04-02 Pavel Roskin <proski@gnu.org>
30949
30950 * genkernsyms.sh.in: Use more robust assignments for CC and
30951 srcdir. Quote srcdir.
30952 * gensymlist.sh.in: Likewise. Assert at the compile time that
30953 the symbol table is not empty.
30954
30955 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
30956 * fs/cpio.c (grub_cpio_read): Likewise.
30957
30958 2008-04-01 Pavel Roskin <proski@gnu.org>
30959
30960 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
30961 * disk/host.c (grub_host_open): Likewise.
30962 * disk/loopback.c (grub_loopback_open): Likewise.
30963 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
30964 disk->id as in disk/host.c, not a multi-character constant.
30965
30966 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
30967 later is obsolete, potentially dangerous and sets a bad example.
30968 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
30969 * util/misc.c (grub_util_get_image_size): Likewise.
30970
30971 * disk/loopback.c (options): Improve help for "--partitions".
30972
30973 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
30974 options to align them with the short options, e.g. "echo -e".
30975
30976 2008-03-31 Bean <bean123ch@gmail.com>
30977
30978 * video/reader/png.c (grub_png_data): New member is_16bit and
30979 image_data.
30980 (grub_png_decode_image_header): Detect 16 bit png image.
30981 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
30982 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
30983 (grub_video_reader_png): Release memory occupied by image_data.
30984
30985 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
30986 4096 bytes.
30987 (grub_nfs_mount): Skip the test for sector per cluster.
30988
30989 * include/grub/ntfs.h (MAX_SPC): Removed.
30990
30991 2008-03-31 Bean <bean123ch@gmail.com>
30992
30993 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
30994 (grub_probe_SOURCES): Add fs/afs.c.
30995 (grub_fstest_SOURCES): Likewise.
30996 (afs_mod_SOURCES): New variable.
30997 (afs_mod_CFLAGS): Likewise.
30998 (afs_mod_LDFLAGS): Likewise.
30999
31000 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
31001 (grub_emu_SOURCES): Likewise.
31002
31003 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31004
31005 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31006
31007 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31008
31009 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31010
31011 * fs/afs.c: New file.
31012
31013 2008-03-30 Pavel Roskin <proski@gnu.org>
31014
31015 * disk/host.c: Include grub/misc.h to fix a warning.
31016 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
31017 warnings about implicit declarations.
31018
31019 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
31020 variable.
31021 * include/grub/i386/loader.h: Change declaration of
31022 grub_linux_boot() to match what grub_loader_set() expects.
31023 * util/getroot.c (grub_guess_root_device): Return const char* to
31024 fix a warning.
31025 * util/grub-probe.c (probe): Fix a warning about uninitialized
31026 abstraction_name variable.
31027 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
31028 second argument as unused to fix a warning.
31029
31030 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
31031 missing grub_error() call.
31032
31033 * util/update-grub_lib.in: Define datarootdir, since Autoconf
31034 2.60 and newer uses it to define datadir.
31035
31036 * commands/sleep.c: Fix warning about implicit declaration.
31037 * disk/memdisk.c: Likewise.
31038 * loader/aout.c: Likewise.
31039 * loader/i386/bsd_normal.c: Likewise.
31040 * util/grub-probe.c: Likewise.
31041
31042 * commands/i386/cpuid.c (has_longmode): Make static.
31043 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
31044 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
31045
31046 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
31047 GDT. This is more robust, as %ds can change.
31048 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
31049 calling real_to_prot().
31050 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
31051
31052 2008-03-28 Pavel Roskin <proski@gnu.org>
31053
31054 * kern/i386/pc/startup.S: Assert that uncompressed functions
31055 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
31056 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
31057 code, as they push parts of the code (error handlers) beyond
31058 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
31059 code as correctness and size.
31060
31061 2008-03-28 Pavel Roskin <proski@gnu.org>
31062
31063 * kern/i386/pc/startup.S
31064 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
31065 data block address to the real mode, keep offset minimal. This
31066 works around a bug in AWARD BIOS on old Athlon systems, which
31067 makes CD detection hang.
31068
31069 2008-03-26 Pavel Roskin <proski@gnu.org>
31070
31071 * normal/color.c (grub_parse_color_name_pair): Make `name' a
31072 const.
31073 * include/grub/normal.h: Add grub_parse_color_name_pair()
31074 declaration.
31075
31076 2008-03-24 Bean <bean123ch@gmail.com>
31077
31078 * disk/i386/pc/biosdisk.c (cd_start): Removed.
31079 (cd_count): Removed.
31080 (cd_drive): New variable.
31081 (grub_biosdisk_get_drive): Don't check for (cdN) device.
31082 (grub_biosdisk_call_hook): Likewise.
31083 (grub_biosdisk_iterate): Change cdrom detection method.
31084 (grub_biosdisk_open): Replace cd_start with cd_drive.
31085 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
31086 detect cdrom device.
31087
31088 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
31089 Removed.
31090 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
31091 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
31092 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
31093 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
31094 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
31095 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
31096 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
31097 (grub_biosdisk_cdrp): New structure.
31098 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
31099
31100 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
31101
31102 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
31103 device.
31104
31105 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
31106 New function.
31107
31108 2008-03-20 Robert Millan <rmh@aybabtu.com>
31109
31110 Remove 2 TiB limit in ata.mod.
31111 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
31112 (grub_ata_dumpinfo): Print sector count with 0x%llx.
31113 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
31114 grub_uint64_t instead of grub_uint32_t.
31115
31116 2008-03-05 Bean <bean123ch@gmail.com>
31117
31118 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
31119 (grub_multiboot): Set boot device.
31120
31121 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
31122
31123 2008-03-02 Bean <bean123ch@gmail.com>
31124
31125 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
31126 symlink_buffer.
31127
31128 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
31129
31130 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
31131 texinfo.tex.
31132
31133 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
31134 modified.
31135
31136 * docs/fdl.texi: New file.
31137
31138 * docs/mdate-sh: New file. Copied from gnulib.
31139 * docs/texinfo.tex: Likewise.
31140
31141 * config.guess: Updated from gnulib.
31142 * install-sh: Likewise.
31143
31144 2008-02-28 Robert Millan <rmh@aybabtu.com>
31145
31146 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
31147 (aout_mod_SOURCES): New variable.
31148 (aout_mod_CFLAGS): Likewise.
31149 (aout_mod_LDFLAGS): Likewise.
31150
31151 * conf/i386-ieee1275.rmk: Likewise.
31152
31153 2008-02-28 Robert Millan <rmh@aybabtu.com>
31154
31155 * util/update-grub.in: Reorganise terminal validity check. Accept
31156 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
31157 Based on suggestion by Franklin PIAT.
31158
31159 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
31160
31161 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
31162 function.
31163 * util/getroot.c (grub_util_check_block_device): New function that
31164 returns the given argument if it is a block device and returns NULL else.
31165 * util/grub-probe.c (argument_is_device): New variable.
31166 (probe): Promote device_name from a variable to an argument. Receive
31167 device_name from grub_util_check_block_device() if path is NULL and from
31168 grub_guess_root_device() else. Do not free() device_name anymore.
31169 (options): Introduce new parameter '-d, --device'.
31170 (main): Add description of the new parameter to the help screen.
31171 Rename path variable to argument. Set argument_is_device if the '-d'
31172 option is given. Pass argument to probe() depending on
31173 argument_is_device.
31174
31175 2008-02-24 Bean <bean123ch@gmail.com>
31176
31177 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
31178 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
31179 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
31180 (GRUB_ISO9660_VOLDESC_PART): Likewise.
31181 (GRUB_ISO9660_VOLDESC_END): Likewise.
31182 (grub_iso9660_primary_voldesc): New member escape.
31183 (grub_iso9660_data): New member joliet.
31184 (grub_iso9660_convert_string): New function.
31185 (grub_iso9660_mount): Detect joliet extension.
31186 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
31187 (grub_iso9660_iso9660_label): Likewise.
31188
31189 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
31190 (grub_setup_SOURCES): Add fs/udf.c.
31191 (grub_fstest_SOURCES): Likewise.
31192 (udf_mod_SOURCES): New variable.
31193 (udf_mod_CFLAGS): Likewise.
31194 (udf_mod_LDFLAGS): Likewise.
31195
31196 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
31197 (grub_emu_SOURCES): Likewise.
31198
31199 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31200
31201 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31202
31203 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31204
31205 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31206
31207 * fs/udf.c: New file.
31208
31209 2008-02-24 Robert Millan <rmh@aybabtu.com>
31210
31211 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
31212 (normal/lexer.c_DEPENDENCIES): New variables.
31213 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
31214 (normal/lexer.c_DEPENDENCIES): Likewise.
31215 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
31216 (normal/lexer.c_DEPENDENCIES): Likewise.
31217 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
31218 (normal/lexer.c_DEPENDENCIES): Likewise.
31219 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
31220 (normal/lexer.c_DEPENDENCIES): Likewise.
31221 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
31222 (normal/lexer.c_DEPENDENCIES): Likewise.
31223
31224 2008-02-23 Robert Millan <rmh@aybabtu.com>
31225
31226 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
31227 since they were intended to be in hex. This didn't break previously
31228 because of a bug in gpt_partition_map_iterate() (see below).
31229
31230 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
31231 when checking the validity of GPT header.
31232 Remove `partno', since it always provides the same information as `i'.
31233
31234 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
31235
31236 * include/grub/efi/time.h: Fix a wrong comment.
31237
31238 2008-02-19 Pavel Roskin <proski@gnu.org>
31239
31240 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
31241 message.
31242
31243 2008-02-19 Bean <bean123ch@gmail.com>
31244
31245 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
31246 (aout_mod_SOURCES): New variable.
31247 (aout_mod_CFLAGS): Likewise.
31248 (aout_mod_LDFLAGS): Likewise.
31249 (_bsd_mod_SOURCES): New variable.
31250 (_bsd_mod_CFLAGS): Likewise.
31251 (_bsd_mod_LDFLAGS): Likewise.
31252 (bsd_mod_SOURCES): New variable.
31253 (bsd_mod_CFLAGS): Likewise.
31254 (bsd_mod_LDFLAGS): Likewise.
31255
31256 * include/grub/aout.h: New file.
31257
31258 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
31259
31260 * include/grub/i386/bsd.h: New file.
31261
31262 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
31263 to make it public.
31264
31265 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
31266 function is called, so that it's possible to change it inside the hook.
31267 (grub_elf64_load): Likewise.
31268 (grub_elf_file): Don't close the file if elf header is not found.
31269 (grub_elf_close): Close the file if grub_elf_file fails (The new
31270 grub_elf_file won't close it).
31271 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
31272 (grub_elf64_size): Likewise.
31273
31274 * kern/i386/loader.S (grub_unix_real_boot): New function.
31275
31276 * loader/aout.c: New file.
31277
31278 * loader/i386/bsd.c: New file.
31279
31280 * loader/i386/bsd_normal.c: New file.
31281
31282 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
31283
31284 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
31285 can test other formats.
31286
31287 2008-02-19 Robert Millan <rmh@aybabtu.com>
31288
31289 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
31290 (grub_gpt_partition_type_empty): Redefine with macro from
31291 `<grub/gpt_partition.h>'.
31292 (gpt_partition_map_iterate): Adjust partition type comparison.
31293
31294 Export `entry' as partmap-specific `part.data' struct.
31295 (grub_gpt_header, grub_gpt_partentry): Move from here ...
31296
31297 * include/grub/gpt_partition.h (grub_gpt_header)
31298 (grub_gpt_partentry): ... to here (new file).
31299
31300 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
31301
31302 (grub_gpt_partition_type_bios_boot): New const variable, defined
31303 with macro from `<grub/gpt_partition.h>'.
31304
31305 (setup): Replace `first_start' with `embed_region', which keeps
31306 track of the embed region (and is partmap-agnostic).
31307
31308 Replace find_first_partition_start() with find_usable_region(),
31309 which finds a usable region for embedding using partmap-specific
31310 knowledge (supports PC/MSDOS and GPT).
31311
31312 Fix all assumptions that the embed region start at sector 1, using
31313 `embed_region.start' from now on. Similarly, use `embed_region.end'
31314 rather than `first_start' to calculate available size.
31315
31316 In grub_util_info() message, replace "into after the MBR" with an
31317 indication of the specific sector our embed region starts at.
31318
31319 2008-02-19 Robert Millan <rmh@aybabtu.com>
31320
31321 * DISTLIST: Replace `commands/ieee1275/halt.c' and
31322 `commands/ieee1275/reboot.c' with `commands/halt.c' and
31323 `commands/reboot.c'.
31324 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
31325 (halt_mod_SOURCES): Likewise.
31326 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
31327 (halt_mod_SOURCES): Likewise.
31328
31329 2008-02-17 Christian Franke <franke@computer.org>
31330
31331 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
31332
31333 2008-02-17 Robert Millan <rmh@aybabtu.com>
31334
31335 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
31336 set `first_start' to 0 for non-PC/MSDOS partition maps.
31337
31338 2008-02-16 Robert Millan <rmh@aybabtu.com>
31339
31340 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
31341 do not assume partition map is PC/MSDOS before performing checks that
31342 are specific to that layout.
31343
31344 2008-02-13 Robert Millan <rmh@aybabtu.com>
31345
31346 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
31347 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
31348 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
31349
31350 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
31351
31352 * configure.ac: Only a cosmetic change on the handling of
31353 -fno-stack-protector.
31354
31355 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
31356
31357 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
31358 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
31359 reboot.c.
31360 (grub_install_SOURCES): Add halt.mod and reboot.mod.
31361 (halt_mod_SOURCES): New variable.
31362 (halt_mod_CFLAGS): Likewise.
31363 (halt_mod_LDFLAGS): Likewise.
31364 (reboot_mod_SOURCES): Likewise.
31365 (reboot_mod_CFLAGS): Likewise.
31366 (reboot_mod_LDFLAGS): Likewise.
31367
31368 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
31369 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
31370 reboot.c.
31371 (halt_mod_SOURCES): Likewise.
31372 (reboot_mod_SOURCES): Likewise.
31373
31374 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
31375 commands/i386/pc/reboot.c by commands/reboot.c.
31376 (reboot_mod_SOURCES): Likewise.
31377
31378 * commands/i386/pc/reboot.c: merge this file ...
31379
31380 * commands/ieee1275/reboot.c: ... and this file ...
31381
31382 * commands/reboot.c: ... to this file.
31383 Add some precompiler directive to include the correct header for
31384 each machine.
31385
31386 * commands/ieee1275/halt.c: move this file ...
31387
31388 * commands/halt.c: ... to here.
31389 Add some precompiler directive to include the correct header for
31390 each machine.
31391
31392 * include/grub/efi/efi.h (grub_reboot): New function declaration.
31393 (grub_halt): Likewise.
31394
31395 * kern/efi/efi.c (grub_reboot): New function.
31396 (grub_halt): Likewise.
31397
31398 2008-02-12 Robert Millan <rmh@aybabtu.com>
31399
31400 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
31401 /dev (like it is done for /dev/mapper). This doesn't provide support
31402 for EVMS, but at least it is now easy to identify the problem when it
31403 arises.
31404
31405 2008-02-11 Robert Millan <rmh@aybabtu.com>
31406
31407 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
31408 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
31409 comparing it with -1, not 0.
31410
31411 2008-02-10 Robert Millan <rmh@aybabtu.com>
31412
31413 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
31414 `disk/lvm.c'.
31415 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31416 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
31417
31418 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
31419 `disk/lvm.c' to the end of the list.
31420 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31421 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
31422
31423 2008-02-10 Robert Millan <rmh@aybabtu.com>
31424
31425 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
31426 grub_print_error() instead. This will let user know why we're entering
31427 rescue mode.
31428 Based on suggestions from Sam Morris.
31429
31430 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
31431
31432 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
31433 on remaining N args, instead of "--" arg N times.
31434
31435 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
31436
31437 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
31438 (fill_with_default_glyph): Changed to use unknown_glyph for fill
31439 pattern for unknown glyphs.
31440
31441 2008-02-09 Robert Millan <rmh@aybabtu.com>
31442
31443 * configure.ac: Probe for `help2man'.
31444 * Makefile.in (builddir): New variable.
31445 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
31446 or otherwise add a few flags/options to it.
31447 (install-local): For every executable utility or script that is
31448 installed, invoke $(HELP2MAN) to install a manpage based on --help
31449 output.
31450
31451 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
31452 that it doesn't prevent --help from working in build tree.
31453
31454 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
31455 with `bug-grub@gnu.org'.
31456 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
31457 * util/update-grub.in (usage): New function.
31458 Implement proper argument check, with support for --help and --version
31459 (as well as existing -y).
31460
31461 2008-02-09 Christian Franke <franke@computer.org>
31462
31463 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
31464 avoid overwriting previous output.
31465 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
31466
31467 2008-02-09 Robert Millan <rmh@aybabtu.com>
31468
31469 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
31470 drawing the menu.
31471
31472 2008-02-09 Robert Millan <rmh@aybabtu.com>
31473
31474 * commands/sleep.c: New file.
31475 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
31476 (sleep_mod_SOURCES): New variable.
31477 (sleep_mod_CFLAGS): Likewise.
31478 (sleep_mod_LDFLAGS): Likewise.
31479
31480 2008-02-09 Robert Millan <rmh@aybabtu.com>
31481
31482 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
31483 situations in which we can deduce the RAID size and the superblock
31484 doesn't match it.
31485
31486 2008-02-09 Robert Millan <rmh@aybabtu.com>
31487
31488 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
31489 and return a grub_diskmemberlist_t composed of LVM physical volumes.
31490 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
31491
31492 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
31493 and return a grub_diskmemberlist_t composed of physical array members.
31494 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
31495
31496 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
31497 prototype.
31498 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
31499 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
31500 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
31501
31502 * util/grub-probe.c (probe): Move partmap probing code from here ...
31503 (probe_partmap): ... to here.
31504 (probe): Use probe_partmap() once for the disk we're probing, and
31505 additionally, when such disk contains a memberlist() struct member,
31506 once for each disk that is contained in the structure returned by
31507 memberlist().
31508
31509 2008-02-09 Robert Millan <rmh@aybabtu.com>
31510
31511 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
31512 environment variable to 'all' in order to obtain debug output from
31513 non-util/ code.
31514 * util/i386/pc/grub-setup.c (main): Likewise.
31515
31516 2008-02-08 Robert Millan <rmh@aybabtu.com>
31517
31518 * disk/raid.c (grub_raid_scan_device): Check for
31519 `array->device[sb.this_disk.number]' rather than for
31520 `array->device[sb.this_disk.number]->name', since the latter is not
31521 guaranteed to be accessible.
31522
31523 2008-02-08 Robert Millan <rmh@aybabtu.com>
31524
31525 * disk/raid.c: Update copyright.
31526 * fs/cpio.c: Likewise.
31527 * include/grub/raid.h: Likewise.
31528 * loader/i386/pc/multiboot.c: Likewise.
31529 * util/hostfs.c: Likewise.
31530
31531 2008-02-08 Robert Millan <rmh@aybabtu.com>
31532
31533 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
31534 to a grub_disk_t array.
31535 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
31536 `device[x]'.
31537 (grub_raid_scan_device): Replace `device[x].name' accesses with
31538 `device[x]->name'. Simplify initialization of `array->device[x]'.
31539
31540 2008-02-08 Robert Millan <rmh@aybabtu.com>
31541
31542 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
31543 grub_dprintf() calls.
31544 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
31545 error message.
31546
31547 2008-02-07 Christian Franke <franke@computer.org>
31548
31549 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
31550 instead of fseek and ftell to support large files.
31551 (grub_hostfs_read): Likewise.
31552
31553 2008-02-07 Robert Millan <rmh@aybabtu.com>
31554
31555 Patch from Jeroen Dekkers.
31556 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
31557 failure, since successfully reading all array members might not be
31558 required.
31559
31560 2008-02-06 Robert Millan <rmh@aybabtu.com>
31561
31562 * util/grub-probe.c (probe): Simplify partmap probing (with the
31563 assumption that the first word up to the underscore equals to
31564 the module name).
31565
31566 2008-02-06 Christian Franke <franke@computer.org>
31567
31568 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
31569 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
31570 last block of a cpio or tar stream.
31571 Check for "TRAILER!!!" instead of any empty data
31572 block to detect last block of a cpio stream.
31573 (grub_cpio_dir): Fix constness of variable np.
31574 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
31575 cpio or tar trailer is detected. This fixes a crash
31576 on open of a non existing file.
31577
31578 2008-02-05 Bean <bean123ch@gmail.com>
31579
31580 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
31581 address of entry.
31582 (grub_multiboot_load_elf64): Likewise.
31583 (grub_multiboot): Initialize mbi structure.
31584
31585 * util/grub-fstest.c: Don't include unused header file script.h.
31586
31587 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
31588 of file.
31589 (grub_fstest_SOURCES): Likewise.
31590
31591 2008-02-05 Robert Millan <rmh@aybabtu.com>
31592
31593 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
31594 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
31595 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
31596 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
31597
31598 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
31599 (translation_table): Replace hardcoded values with macros
31600 provided by `<grub/term.h>'.
31601
31602 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
31603 (keyboard_map): Correct/add a few values, with macros provided
31604 by `<grub/term.h>'.
31605 (keyboard_map_shift): Zero values that don't differ from their
31606 `keyboard_map' equivalents.
31607 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
31608 Discard the second scan code that is always sent by Caps lock.
31609 Only use `keyboard_map_shift' when it provides a non-zero value,
31610 otherwise fallback to `keyboard_map'.
31611
31612 2008-02-04 Bean <bean123ch@gmail.com>
31613
31614 * Makefile.in (enable_grub_fstest): New variable.
31615
31616 * conf/common.rmk (grub_fstest_init.lst): New rule.
31617 (grub_fstest_init.h): Likewise.
31618 (grub_fstest_init.c): Likewise.
31619 (util/grub-fstest.c_DEPENDENCIES): New variable.
31620 (grub_fstest_SOURCES): Likewise.
31621
31622 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
31623
31624 * util/grub-fstest.c: New file.
31625
31626 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31627
31628 Make grub-setup handle a separate root device.
31629
31630 * util/i386/pc/grub-setup.c (setup): Always open the root device,
31631 so that the root device can be compared with the destination
31632 device.
31633 When embedding the core image, if the root and destination devices
31634 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
31635 0xFF.
31636 When not embedding, set ROOT_DRIVE to 0xFF.
31637
31638 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31639
31640 Add support for having a grub directory in a different drive. This
31641 is still only the data handling part.
31642
31643 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
31644 (codestart): Save %dh in GRUB_ROOT_DRIVE.
31645 (grub_root_drive): New variable.
31646
31647 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
31648 instead of GRUB_BOOT_DRIVE to construct a device name. Set
31649 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
31650 as it was.
31651
31652 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
31653
31654 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
31655 macro.
31656 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
31657
31658 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
31659 is bogus, because PXE booting does not specify any drive
31660 correctly.
31661
31662 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
31663 am not sure if this is really correct.
31664
31665 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
31666 is always identical to the boot drive when booting from a CD.
31667
31668 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
31669 longer.
31670 (root_drive): New variable.
31671 (real_start): Unconditionally set %dh to ROOT_DRIVE.
31672 (setup_sectors): Push %dx right after popping it, because %dh will
31673 be modified later.
31674 (copy_buffer): Restore %dx.
31675
31676 2008-02-03 Robert Millan <rmh@aybabtu.com>
31677
31678 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
31679 use `cdboot.img' for cdrom images.
31680
31681 2008-02-03 Robert Millan <rmh@aybabtu.com>
31682
31683 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
31684 only setup gfxterm when `font' command has succeeded.
31685
31686 2008-02-03 Robert Millan <rmh@aybabtu.com>
31687
31688 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
31689 (grub_rescue_cmd_multiboot_loader)
31690 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
31691
31692 2008-02-03 Pavel Roskin <proski@gnu.org>
31693
31694 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
31695 %edx and %esi from stack only after grub_gate_a20() is called.
31696 grub_gate_a20() clobbers %edx.
31697
31698 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
31699
31700 * configure.ac (AC_INIT): Bumped to 1.96.
31701
31702 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
31703 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
31704 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
31705 video/readers/png.c.
31706
31707 2008-02-03 Bean <bean123ch@gmail.com>
31708
31709 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
31710 (cdboot_img_SOURCES): New variable.
31711 (cdboot_img_ASFLAGS): New variable.
31712 (cdboot_img_LDFLAGS): New variable.
31713
31714 * boot/i386/pc/cdboot.S: New file.
31715
31716 * disk/i386/pc/biosdisk.c (cd_start): New variable.
31717 (cd_count): Likewise.
31718 (grub_biosdisk_get_drive): Add support for cd device.
31719 (grub_biosdisk_call_hook): Likewise.
31720 (grub_biosdisk_iterate): Likewise.
31721 (grub_biosdisk_open): Likewise.
31722 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
31723 (grub_biosdisk_rw): Support reading from cd device.
31724 (GRUB_MOD_INIT): Iterate cd devices.
31725
31726 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
31727 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
31728 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
31729
31730 * kern/i386/pc/init.c (make_install_device): Check for cd device.
31731
31732 2008-02-02 Robert Millan <rmh@aybabtu.com>
31733
31734 * commands/read.c: New file.
31735 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
31736 (read_mod_SOURCES): New variable.
31737 (read_mod_CFLAGS): Likewise.
31738 (read_mod_LDFLAGS): Likewise.
31739
31740 2008-02-02 Robert Millan <rmh@aybabtu.com>
31741
31742 * normal/main.c (grub_normal_execute): Check for `menu->size' when
31743 determining whether menu has to be displayed.
31744
31745 2008-02-02 Marco Gerards <marco@gnu.org>
31746
31747 * bus/pci.c: New file.
31748
31749 * include/grub/pci.h: Likewise.
31750
31751 * include/grub/i386/pc/pci.h: Likewise.
31752
31753 * commands/lspci.c: Likewise.
31754
31755 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
31756 `lspci.mod'.
31757 (pci_mod_SOURCES): New variable.
31758 (pci_mod_CFLAGS): Likewise.
31759 (pci_mod_LDFLAGS): Likewise.
31760 (lspci_mod_SOURCES): Likewise.
31761 (lspci_mod_CFLAGS): Likewise.
31762 (lspci_mod_LDFLAGS): Likewise.
31763
31764 2008-02-02 Bean <bean123ch@gmail.com>
31765
31766 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
31767 (grub_ufs_get_file_block): Fix indirect block calculation problem.
31768
31769 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
31770 (grub_xfs_btree_node): New structure.
31771 (grub_xfs_btree_root): New structure.
31772 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
31773 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
31774 (GRUB_XFS_EXTENT_BLOCK): Likewise.
31775 (GRUB_XFS_EXTENT_SIZE): Likewise.
31776 (grub_xfs_read_block): Support btree format type.
31777 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
31778 Use directory block as basic unit.
31779
31780 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
31781
31782 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
31783 __attribute__ ((__regparm__ (1))).
31784
31785 2008-02-01 Robert Millan <rmh@aybabtu.com>
31786
31787 Correct a mistake in previous commit.
31788
31789 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
31790 top.
31791 (normal/command.c_DEPENDENCIES): New variable.
31792
31793 2008-02-01 Robert Millan <rmh@aybabtu.com>
31794
31795 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
31796 top.
31797 (normal/command.c_DEPENDENCIES): New variable.
31798 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
31799 * conf/i386-ieee1275.rmk: Likewise.
31800 * conf/i386-linuxbios.rmk: Likewise.
31801 * conf/i386-pc.rmk: Likewise.
31802 * conf/sparc64-ieee1275.rmk: Likewise.
31803 * conf/powerpc-ieee1275.rmk: Likewise.
31804 (grub_emu_SOURCES): Add `fs/fshelp.c'.
31805
31806 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
31807
31808 2008-02-01 Robert Millan <rmh@aybabtu.com>
31809
31810 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
31811 call at beginning of function.
31812
31813 2008-01-31 Pavel Roskin <proski@gnu.org>
31814
31815 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
31816 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
31817 (grub_mkrescue_SOURCES): Likewise.
31818 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
31819
31820 2008-01-30 Robert Millan <rmh@aybabtu.com>
31821
31822 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
31823 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
31824 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
31825 (grub_probe_SOURCES): ... to here.
31826
31827 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
31828 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
31829 * conf/i386-ieee1275.rmk: Likewise.
31830 * conf/i386-linuxbios.rmk: Likewise.
31831 * conf/powerpc-ieee1275.rmk: Likewise.
31832
31833 2008-01-30 Tristan Gingold <gingold@free.fr>
31834
31835 * kern/rescue.c: Silently accept empty lines.
31836
31837 2008-01-29 Bean <bean123ch@gmail.com>
31838
31839 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
31840 (real_code_2): Code cleanup and change comment style.
31841 (move_memory): Avoid using 32-bit address mode.
31842
31843 2008-01-29 Bean <bean123ch@gmail.com>
31844
31845 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
31846 (png_mod_SOURCES): New variable.
31847 (png_mod_CFLAGS): Likewise.
31848 (png_mod_LDFLAGS): Likewise.
31849
31850 * video/readers/png.c: New file.
31851
31852 2008-01-28 Robert Millan <rmh@aybabtu.com>
31853
31854 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
31855 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
31856 `ifndef GRUB_MOD_GAP' hack.
31857 * util/elf/grub-mkimage.c (add_segments): Likewise.
31858
31859 2008-01-27 Robert Millan <rmh@aybabtu.com>
31860
31861 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
31862 `GRUB_MOD_GAP' for platforms in which it's not defined.
31863 * util/elf/grub-mkimage.c (add_segments): Likewise.
31864
31865 2008-01-27 Robert Millan <rmh@aybabtu.com>
31866
31867 Get grub-emu to build again (including parallel builds).
31868
31869 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
31870 Split into ...
31871 (util/grub-emu.c_DEPENDENCIES): ... this, ...
31872 (normal/execute.c_DEPENDENCIES): ... this, ...
31873 (grub-emu_DEPENDENCIES): ... and this.
31874
31875 * conf/i386-efi.rmk: Likewise.
31876 * conf/i386-linuxbios.rmk: Likewise.
31877 * conf/i386-ieee1275.rmk: Likewise.
31878 * conf/powerpc-ieee1275.rmk: Likewise.
31879 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
31880
31881 2008-01-27 Robert Millan <rmh@aybabtu.com>
31882
31883 * NEWS: Add a few items.
31884
31885 2008-01-27 Robert Millan <rmh@aybabtu.com>
31886
31887 Fix parallel builds with grub-emu. Based on earlier commit for
31888 grub-probe and grub-setup.
31889
31890 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31891 (util/grub-emu.c_DEPENDENCIES): ... this.
31892 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31893 (util/grub-emu.c_DEPENDENCIES): ... this.
31894 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31895 (util/grub-emu.c_DEPENDENCIES): ... this.
31896 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31897 (util/grub-emu.c_DEPENDENCIES): ... this.
31898 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31899 (util/grub-emu.c_DEPENDENCIES): ... this.
31900
31901 2008-01-27 Pavel Roskin <proski@gnu.org>
31902
31903 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
31904 to create a gap between _end and the modules added to the image
31905 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
31906 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
31907 * util/elf/grub-mkimage.c (add_segments): Likewise.
31908
31909 2008-01-26 Pavel Roskin <proski@gnu.org>
31910
31911 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
31912 just return an error.
31913
31914 2008-01-26 Bean <bean123ch@gmail.com>
31915
31916 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
31917 (grub_reiserfs_get_item): Save offset of the next item.
31918 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
31919
31920 2008-01-25 Robert Millan <rmh@aybabtu.com>
31921
31922 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
31923 make all filesystem sources appear together (possibly fixing omissions
31924 while at it).
31925 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31926 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31927 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31928 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31929
31930 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
31931 add `kern/file.c'.
31932 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
31933 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31934 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
31935 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31936
31937 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
31938 (probe): Add a sanity check to make sure of our ability to read
31939 requested files when probing for filesystem type.
31940
31941 * genmk.rb: Update copyright year (2007).
31942
31943 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
31944 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
31945 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
31946 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
31947 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
31948 : Remove function prototypes.
31949
31950 2008-01-25 Robert Millan <rmh@aybabtu.com>
31951
31952 Revert my previous commits (based on wrong assumption of how grub_errno
31953 works).
31954
31955 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
31956 * kern/file.c (grub_file_open): Likewise.
31957
31958 2008-01-24 Pavel Roskin <proski@gnu.org>
31959
31960 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
31961 that hang if GRUB tries to setup colors.
31962 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
31963 colors for firmwares that don't support it.
31964 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
31965 Recognize Open Hack'Ware, set flags to work around its
31966 limitations.
31967
31968 2008-01-24 Robert Millan <rmh@aybabtu.com>
31969
31970 * kern/file.c (grub_file_open): Do not account previous failures of
31971 unrelated functions when grub_errno is checked for.
31972 Reported by Oleg Strikov.
31973
31974 2008-01-24 Bean <bean123ch@gmail.com>
31975
31976 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
31977 (grub_ufs_sblock): New member volume name.
31978 (grub_ufs_find_file): Fix string copy bug.
31979 (grub_ufs_label): Implement this function properly.
31980
31981 * fs/hfs.c (grub_hfs_cnid_type): New enum.
31982 (grub_hfs_iterate_records): Use the correct file number for extents
31983 and catalog file. Fix problem in next index calculation.
31984 (grub_hfs_find_node): Replace recursive function call with loop.
31985 (grub_hfs_iterate_dir): Replace recursive function call with loop.
31986
31987 2008-01-23 Robert Millan <rmh@aybabtu.com>
31988
31989 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
31990 `<grub/symbol.h>' and `<grub/multiboot.h>'.
31991 (grub_multiboot2_real_boot): New function prototype.
31992
31993 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
31994 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
31995
31996 * kern/i386/ieee1275/init.c (grub_os_area_addr)
31997 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
31998
31999 2008-01-23 Robert Millan <rmh@aybabtu.com>
32000
32001 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
32002 #ifdef'ed out grub_printf().
32003
32004 2008-01-23 Robert Millan <rmh@aybabtu.com>
32005
32006 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
32007 grub_dprintf calls, since they make "debug=all" mode unusable.
32008 (grub_console_checkkey): Likewise.
32009
32010 2008-01-23 Robert Millan <rmh@aybabtu.com>
32011
32012 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
32013 `term/i386/pc/at_keyboard.c'.
32014 (pkglib_MODULES): Add `serial.mod'.
32015 (serial_mod_SOURCES): New variable.
32016 (serial_mod_CFLAGS): Likewise.
32017 (serial_mod_LDFLAGS): Likewise.
32018
32019 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
32020 `<grub/powerpc/ieee1275/console.h>'.
32021 (grub_keyboard_controller_init): New function prototype.
32022 (grub_console_checkkey): Likewise.
32023 (grub_console_getkey): Likewise.
32024
32025 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
32026 keyboard on i386.
32027
32028 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
32029 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
32030
32031 2008-01-23 Robert Millan <rmh@aybabtu.com>
32032
32033 * kern/i386/pc/init.c (make_install_device): When memdisk image is
32034 present, "(memdisk)/boot/grub" becomes the default prefix.
32035
32036 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
32037 a memdisk tarball with all the modules. Add --overlay=DIR option that
32038 allows users to overlay additional files into the image.
32039
32040 2008-01-23 Robert Millan <rmh@aybabtu.com>
32041
32042 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
32043 and `machine/memory.h'.
32044 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
32045 (_multiboot_mod_SOURCES): New variable.
32046 (_multiboot_mod_CFLAGS): Likewise.
32047 (_multiboot_mod_LDFLAGS): Likewise.
32048 (multiboot_mod_SOURCES): Likewise.
32049 (multiboot_mod_CFLAGS): Likewise.
32050 (multiboot_mod_LDFLAGS): Likewise.
32051
32052 * include/grub/i386/ieee1275/loader.h: New file.
32053
32054 * include/grub/i386/ieee1275/machine.h: Likewise.
32055
32056 * include/grub/i386/ieee1275/memory.h: Likewise.
32057
32058 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
32059 variable declaration.
32060 (grub_os_area_size): Likewise.
32061
32062 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
32063 (grub_lower_mem, grub_upper_mem): New variables.
32064 (grub_stop_floppy): New function (just to make
32065 grub_multiboot2_real_boot() happy).
32066
32067 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
32068 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
32069 (grub_stop): New function.
32070 Include `"../realmode.S"' and `"../loader.S"'.
32071
32072 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
32073 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
32074
32075 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
32076 rely on grub_multiboot2_real_boot() for final boot.
32077
32078 2008-01-22 Robert Millan <rmh@aybabtu.com>
32079
32080 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
32081 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
32082 device that doesn't look like an SD card.
32083 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
32084 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
32085 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
32086 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
32087 found.
32088
32089 2008-01-22 Robert Millan <rmh@aybabtu.com>
32090
32091 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
32092 avoid claiming over our own code.
32093
32094 2008-01-22 Bean <bean123ch@gmail.com>
32095
32096 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
32097 (jpeg_mod_SOURCES): New variable.
32098 (jpeg_mod_CFLAGS): Likewise.
32099 (jpeg_mod_LDFLAGS): Likewise.
32100
32101 * video/readers/jpeg.c : New file.
32102
32103 2008-01-22 Bean <bean123ch@gmail.com>
32104
32105 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
32106 there are no more items.
32107
32108 2008-01-21 Robert Millan <rmh@aybabtu.com>
32109
32110 * kern/mm.c (grub_mm_init_region): Improve debug message.
32111
32112 2008-01-21 Robert Millan <rmh@aybabtu.com>
32113
32114 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
32115 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
32116 address.
32117 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
32118 a C macro.
32119 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
32120 Indicates start of upper memory.
32121 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
32122 (generate_image): Abort when image size is big enough to corrupt
32123 upper memory.
32124
32125 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
32126 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
32127 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
32128 instead of hardcoding 0xA0000.
32129 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
32130 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
32131 instead of hardcoding 0xA0000.
32132
32133 2008-01-21 Robert Millan <rmh@aybabtu.com>
32134
32135 * disk/memdisk.c (memdisk_size): New variable.
32136 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
32137 `memdisk_size'.
32138 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
32139 image to dynamic memory.
32140 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
32141 `memdisk_size'. Free memdisk block.
32142
32143 2008-01-21 Robert Millan <rmh@aybabtu.com>
32144
32145 Fix detection of very small filesystems (like tar).
32146
32147 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
32148 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
32149 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
32150 a problem with this disk).
32151
32152 2008-01-21 Robert Millan <rmh@aybabtu.com>
32153
32154 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
32155 on grub_biosdisk_rw_standard() error.
32156
32157 2008-01-21 Robert Millan <rmh@aybabtu.com>
32158
32159 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
32160 recent changes.
32161 * kern/elf.c: Likewise.
32162 * kern/ieee1275/ieee1275.c: Likewise.
32163 * kern/powerpc/ieee1275/openfw.c: Likewise.
32164 * term/ieee1275/ofconsole.c: Likewise.
32165
32166 2008-01-21 Robert Millan <rmh@aybabtu.com>
32167
32168 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
32169
32170 * include/grub/kernel.h (grub_arch_memdisk_addr)
32171 (grub_arch_memdisk_size): Moved from here ...
32172
32173 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
32174 (grub_arch_memdisk_size): ... to here.
32175
32176 2008-01-21 Robert Millan <rmh@aybabtu.com>
32177
32178 Mostly based on bugfix from Bean.
32179
32180 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
32181 attribute with hook() parameter.
32182 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
32183 declaration.
32184 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
32185 attribute with hook() parameter.
32186 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
32187 declaration.
32188
32189 2008-01-21 Robert Millan <rmh@aybabtu.com>
32190
32191 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
32192 (pkglib_MODULES): Add `memdisk.mod'.
32193 (memdisk_mod_SOURCES): New variable.
32194 (memdisk_mod_CFLAGS): Likewise.
32195 (memdisk_mod_LDFLAGS): Likewise.
32196
32197 * disk/memdisk.c: New file.
32198
32199 * include/grub/disk.h (grub_disk_dev_id): Add
32200 `GRUB_DISK_DEVICE_MEMDISK_ID'.
32201
32202 * include/grub/i386/pc/kernel.h
32203 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
32204 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
32205 (grub_kernel_image_size): New variable declaration.
32206 (grub_total_module_size): Likewise.
32207 (grub_memdisk_image_size): Likewise.
32208
32209 * include/grub/i386/pc/memory.h
32210 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
32211
32212 * include/grub/kernel.h: Include `<grub/symbol.h>'.
32213 (grub_arch_memdisk_addr): New variable declaration.
32214 (grub_arch_memdisk_size): Likewise.
32215
32216 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
32217 (grub_arch_memdisk_size): Likewise.
32218
32219 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
32220 (codestart): Replace hardcoded `0x100000' with
32221 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
32222
32223 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
32224 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
32225 not NULL, append the contents of the file it refers to, at the end of
32226 the compressed kernel image. Initialize `grub_memdisk_image_size'
32227 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
32228 (options): Add "memdisk"|'m' option.
32229 (main): Parse --memdisk|-m option, and pass user-provided path as
32230 parameter to generate_image().
32231
32232 2008-01-20 Robert Millan <rmh@aybabtu.com>
32233
32234 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
32235 grub_dprintf() calls from here ...
32236 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
32237
32238 2008-01-20 Robert Millan <rmh@aybabtu.com>
32239
32240 Fix detection of "real mode" when /options/real-mode? doesn't exist.
32241
32242 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
32243 declaration.
32244 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
32245 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
32246 `GRUB_IEEE1275_FLAG_REAL_MODE'.
32247 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
32248 property).
32249 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
32250 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
32251
32252 2008-01-19 Robert Millan <rmh@aybabtu.com>
32253
32254 Get rid of confusing function (superseded by
32255 `grub_ieee1275_get_integer_property')
32256 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
32257 prototype.
32258 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
32259 function.
32260 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
32261 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
32262 in native endianness from grub_ieee1275_get_integer_property().
32263
32264 2008-01-19 Robert Millan <rmh@aybabtu.com>
32265
32266 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
32267 command after "shut-down", since implementations differ on which
32268 the command for halt is.
32269
32270 2008-01-19 Robert Millan <rmh@aybabtu.com>
32271
32272 * include/grub/i386/linuxbios/console.h: Add header protection.
32273 (grub_keyboard_controller_init): New function prototype.
32274 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
32275 (KEYBOARD_COMMAND_READ): Likewise.
32276 (KEYBOARD_COMMAND_WRITE): Likewise.
32277 (KEYBOARD_SCANCODE_SET1): Likewise.
32278 (grub_keyboard_controller_write): New function.
32279 (grub_keyboard_controller_read): Likewise.
32280 (grub_keyboard_controller_init): Likewise.
32281
32282 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
32283 (grub_console_init): On coreboot/LinuxBIOS, call
32284 grub_keyboard_controller_init().
32285
32286 2008-01-19 Robert Millan <rmh@aybabtu.com>
32287
32288 PowerPC changes provided by Pavel Roskin.
32289
32290 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
32291 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
32292 don't rely on cmain() doing it.
32293 * kern/i386/ieee1275/startup.S (_start): Store %eax in
32294 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
32295
32296 2008-01-16 Robert Millan <rmh@aybabtu.com>
32297
32298 * include/grub/i386/linuxbios/memory.h
32299 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
32300 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
32301 receive `table_header' as argument. Instead, probe for it in the
32302 known memory ranges where it can be present.
32303 (grub_available_iterate): Do not pass a fixed `table_header' address
32304 to grub_linuxbios_table_iterate().
32305
32306 2008-01-15 Robert Millan <rmh@aybabtu.com>
32307
32308 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
32309 * conf/i386-ieee1275.rmk: New file.
32310 * include/grub/i386/ieee1275/console.h: Likewise.
32311 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
32312 * include/grub/i386/ieee1275/kernel.h: Likewise.
32313 * include/grub/i386/ieee1275/time.h: Likewise.
32314 * kern/i386/ieee1275/init.c: Likewise.
32315 * kern/i386/ieee1275/startup.S: Likewise.
32316
32317 2008-01-15 Robert Millan <rmh@aybabtu.com>
32318
32319 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
32320 when pointers are 32-bit (but still do set it to one when they are
32321 64-bit).
32322
32323 2008-01-15 Robert Millan <rmh@aybabtu.com>
32324
32325 * include/grub/ieee1275/ieee1275.h
32326 (grub_ieee1275_get_integer_property): New function prototype.
32327
32328 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
32329 (grub_ieee1275_get_integer_property): New function. Wraps around
32330 grub_ieee1275_get_property() to handle endianness.
32331
32332 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
32333 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
32334 where appropriate.
32335 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
32336 (grub_map): Likewise.
32337 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
32338
32339 2008-01-15 Bean <bean123ch@gmail.com>
32340
32341 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
32342 (grub_script_execute_cmdline): Reset grub_errno.
32343
32344 * normal/main.c (read_config_file): Reset grub_errno.
32345
32346 * normal/parse.y (script_init): New.
32347 (script): Move function and menuentry here.
32348 (delimiter): New.
32349 (command): Add delimiter at the end of command.
32350 (commands): Adjust to match the new command.
32351 (commandblock): Remove grub_script_lexer_record_start.
32352 (menuentry): Add grub_script_lexer_record_start, use the new commands.
32353 (if): Use the new commands.
32354
32355 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
32356
32357 2008-01-15 Robert Millan <rmh@aybabtu.com>
32358
32359 * normal/menu.c (run_menu): Move timeout message from here ...
32360 (print_timeout): ... to here.
32361 (run_menu): Use print_timeout() once during initial draw to print
32362 the whole message, and again in every clock tick to update only
32363 the number of seconds.
32364
32365 2008-01-15 Robert Millan <rmh@aybabtu.com>
32366
32367 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
32368 actual size of `available' from grub_ieee1275_get_property(), and
32369 restrict parsing to that bound.
32370
32371 2008-01-15 Christian Franke <franke@computer.org>
32372
32373 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
32374 (argp_program_version): Remove variable.
32375 (argp_program_bug_address): Likewise.
32376 (options): Convert from struct argp_option to struct option.
32377 (struct arguments): Remove.
32378 (parse_opt): Remove.
32379 (usage): New function.
32380 (main): Replace struct args members by simple variables.
32381 Replace argp_parse() by getopt_long().
32382 Add switch to evaluate options.
32383 Add missing "(...)" around root_dev in prefix string.
32384
32385 2008-01-14 Robert Millan <rmh@aybabtu.com>
32386
32387 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
32388 for grub_ieee1275_exit(), in order to improve portability.
32389
32390 2008-01-14 Robert Millan <rmh@aybabtu.com>
32391
32392 * util/grub.d/10_linux.in (prefix): Define.
32393 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
32394
32395 2008-01-13 Pavel Roskin <proski@gnu.org>
32396
32397 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
32398 grub_errno if no errors have been detected.
32399
32400 2008-01-12 Robert Millan <rmh@aybabtu.com>
32401
32402 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
32403 (grub_util_get_dev_abstraction): New function prototype.
32404
32405 * util/getroot.c: Include `<grub/util/getroot.h>'
32406 (grub_util_get_grub_dev): Move detection of abstraction type to ...
32407 (grub_util_get_dev_abstraction): ... here (new function).
32408
32409 * util/grub-probe.c: Convert PRINT_* to an enum. Add
32410 `PRINT_ABSTRACTION'.
32411 (probe): Probe for abstraction type when requested.
32412 (main): Understand `--target=abstraction'.
32413
32414 * util/i386/efi/grub-install.in: Add abstraction module to core
32415 image when it is found to be necessary.
32416 * util/i386/pc/grub-install.in: Likewise.
32417 * util/powerpc/ieee1275/grub-install.in: Likewise.
32418
32419 * util/update-grub_lib.in (font_path): Return system path without
32420 converting to GRUB path.
32421 * util/update-grub.in: Convert system path returned by font_path()
32422 to a GRUB path. Use `grub-probe -t abstraction' to determine what
32423 abstraction module is needed for loading fonts (if any). Export
32424 that as `GRUB_PRELOAD_MODULES'.
32425 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
32426 insmod commands).
32427
32428 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
32429
32430 Remove some unused code from reiserfs.
32431
32432 * fs/reiserfs.c (struct grub_reiserfs_key)
32433 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
32434 (struct grub_reiserfs_node_body): Removed.
32435 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
32436 Likewise.
32437 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32438 Likewise.
32439 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32440 Likewise.
32441 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
32442 Likewise.
32443 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
32444 Likewise.
32445 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
32446 Likewise.
32447 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32448 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32449 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
32450
32451 2008-01-10 Robert Millan <rmh@aybabtu.com>
32452
32453 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
32454 Determines if a file is garbage left by packaging systems, etc.
32455 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
32456 for processing /etc/grub.d scripts.
32457 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
32458 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
32459 as a condition for processing Linux images.
32460
32461 2008-01-10 Pavel Roskin <proski@gnu.org>
32462
32463 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
32464 to compile reiserfs.c on PowerPC.
32465
32466 2008-01-10 Robert Millan <rmh@aybabtu.com>
32467
32468 * kern/device.c (grub_device_iterate): Do not abort device iteration
32469 when one of the devices cannot be opened.
32470 * kern/disk.c (grub_disk_open): Do not account previous failures of
32471 unrelated functions when grub_errno is checked for.
32472
32473 2008-01-08 Robert Millan <rmh@aybabtu.com>
32474
32475 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
32476 `! grub_linux_is_bzimage', change order of address comparison to make
32477 it more intuitive, and improve "too big zImage" error message.
32478
32479 2008-01-08 Robert Millan <rmh@aybabtu.com>
32480
32481 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
32482 `$(update-grub_DATA)'.
32483 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
32484 targets.
32485
32486 2008-01-07 Robert Millan <rmh@aybabtu.com>
32487
32488 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
32489 which instruction is modified by grub-setup during installation
32490 (since it wasn't obvious by only looking at this file).
32491
32492 2008-01-07 Robert Millan <rmh@aybabtu.com>
32493
32494 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
32495 listing actual TODO items.
32496
32497 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32498
32499 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
32500 correctly.
32501 (grub_reiserfs_get_key_offset): Likewise.
32502 (grub_reiserfs_set_key_offset): Likewise.
32503 (grub_reiserfs_set_key_type): Likewise.
32504 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
32505
32506 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
32507 better to remove the bitfield version completely.
32508
32509 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32510
32511 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
32512 allocated from the heap, due to the fshelp implementation.
32513 (grub_reiserfs_dir): Free NODE, due to the same reason.
32514
32515 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
32516
32517 Mostly from Vincent Pelletier:
32518
32519 * fs/reiserfs.c: New file.
32520
32521 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
32522 (reiserfs_mod_SOURCES): New variable.
32523 (reiserfs_mod_CFLAGS): Likewise.
32524 (reiserfs_mod_LDFLAGS): Likewise.
32525
32526 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
32527 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
32528 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
32529 normal/color.c.
32530
32531 2008-01-06 Robert Millan <rmh@aybabtu.com>
32532
32533 * normal/color.c: Remove `<grub/env.h>'.
32534
32535 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
32536
32537 * include/grub/normal.h: Include <grub/env.h>.
32538
32539 2008-01-05 Robert Millan <rmh@aybabtu.com>
32540
32541 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
32542 usage example with `(hd0,1)'.
32543 Reported by Samuel Thibault.
32544
32545 2008-01-05 Robert Millan <rmh@aybabtu.com>
32546
32547 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
32548 (grub_linux_boot_zimage): Rename to ...
32549 (grub_linux_boot): ... this.
32550 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
32551 (grub_linux_boot_zimage): Conditionalize zImage copy.
32552
32553 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
32554 (grub_linux_boot_bzimage): Remove prototype.
32555 (grub_linux_boot_zimage): Rename to ...
32556 (grub_linux_boot): ... this.
32557
32558 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
32559 (grub_linux_boot): Remove function.
32560
32561 2008-01-05 Robert Millan <rmh@aybabtu.com>
32562
32563 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
32564 (grub_env_write_color_highlight): Likewise.
32565 (grub_wait_after_message): Likewise.
32566
32567 * normal/color.c: New file.
32568
32569 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32570 (normal_mod_DEPENDENCIES): Likewise.
32571
32572 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32573 (normal_mod_DEPENDENCIES): Likewise.
32574
32575 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32576 (normal_mod_DEPENDENCIES): Likewise.
32577
32578 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
32579 (normal_mod_DEPENDENCIES): Likewise.
32580
32581 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
32582 for waiting after a message is printed.
32583 * normal/main.c (read_config_file): Likewise.
32584 (grub_normal_init): Register grub_env_write_color_normal() and
32585 grub_env_write_color_highlight() hooks. Mark `color_normal' and
32586 `color_highlight' variables as global.
32587
32588 * normal/menu.c (grub_wait_after_message): New function.
32589 (grub_color_menu_normal): New variable. Replaces ...
32590 (GRUB_COLOR_MENU_NORMAL): ... this macro.
32591 (grub_color_menu_highlight): New variable. Replaces ...
32592 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
32593 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
32594 `GRUB_TERM_COLOR_STANDARD'.
32595 (print_message): Use `grub_setcolorstate' to reload colors. Rename
32596 `normal_code' and `highlight_code' to `old_color_normal' and
32597 `old_color_highlight', respectively.
32598 (grub_menu_init_page): Update colors when drawing the menu, based on
32599 `menu_color_normal' and `menu_color_highlight' variables.
32600 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
32601 a message is printed.
32602
32603 2008-01-05 Robert Millan <rmh@aybabtu.com>
32604
32605 * kern/env.c (grub_env_context_open): Propagate hooks for global
32606 variables to new context.
32607
32608 * kern/main.c (grub_set_root_dev): Export `root' variable.
32609
32610 2008-01-05 Robert Millan <rmh@aybabtu.com>
32611
32612 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
32613 discs unconditionally, since udev and others have options to provide
32614 them.
32615
32616 2008-01-05 Robert Millan <rmh@aybabtu.com>
32617
32618 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
32619
32620 2008-01-04 Christian Franke <franke@computer.org>
32621
32622 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
32623 of eisa_mmap.
32624
32625 2008-01-03 Pavel Roskin <proski@gnu.org>
32626
32627 * kern/i386/linuxbios/init.c: Put "void" to all function
32628 declarations with no arguments.
32629 * kern/powerpc/ieee1275/init.c: Likewise.
32630 * term/i386/pc/at_keyboard.c: Likewise.
32631 * term/i386/pc/vga_text.c: Likewise.
32632 * util/grub-mkdevicemap.c: Likewise.
32633
32634 2008-01-02 Robert Millan <rmh@aybabtu.com>
32635
32636 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
32637 message when loaded image is out of bounds.
32638 (grub_multiboot_load_elf64): Likewise.
32639
32640 2008-01-02 Pavel Roskin <proski@gnu.org>
32641
32642 * util/grub.d/10_linux.in: Try version without ".old" when
32643 looking for initrd. It's better to use initrd from the newer
32644 kernel of the same version than no initrd at all.
32645
32646 2008-01-01 Robert Millan <rmh@aybabtu.com>
32647
32648 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
32649
32650 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
32651
32652 * include/grub/video.h: Added grub_video_unmap_color and
32653 grub_video_get_active_render_target.
32654 (grub_video_adapter): Added unmap_color and get_active_render_target.
32655
32656 * video/video.c: Added grub_video_unmap_color and
32657 grub_video_get_active_render_target.
32658 (grub_video_get_info): Changed method to accept NULL pointer as an
32659 argument to allow detection of active video adapter.
32660
32661 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
32662 grub_video_vbe_unmap_color_int.
32663 Added grub_video_vbe_unmap_color and
32664 grub_video_vbe_get_active_render_target.
32665 (grub_video_vbe_adapter): Added unmap_color and
32666 get_active_render_target.
32667
32668 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
32669 with grub_video_vbe_unmap_color_int.
32670
32671 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
32672 (DEFAULT_NORMAL_COLOR): Likewise.
32673 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
32674 (DEFAULT_FG_COLOR): Removed.
32675 (DEFAULT_BG_COLOR): Likewise.
32676 (DEFAULT_CURSOR_COLOR): Changed value.
32677 (grub_virtual_screen): Added standard_color_setting,
32678 normal_color_setting, highlight_color_setting and term_color.
32679 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
32680 (bitmap_width): Added.
32681 (bitmap_height): Likewise.
32682 (bitmap): Likewise.
32683 (set_term_color): Likewise.
32684 (grub_virtual_screen_setup): Changed to use new terminal coloring
32685 settings.
32686 (grub_gfxterm_init): Added init for bitmap.
32687 (grub_gfxterm_fini): Added destroy for bitmap.
32688 (redraw_screen_rect): Updated to use background bitmap and new
32689 terminal coloring.
32690 (scroll_up): Added optimization for case when there is no bitmap.
32691 (grub_gfxterm_cls): Fixed to use correct background color.
32692 (grub_virtual_screen_setcolorstate): Changed to use new terminal
32693 coloring.
32694 (grub_virtual_screen_setcolor): Likewise.
32695 (grub_virtual_screen_getcolor): Added.
32696 (grub_gfxterm_background_image_cmd): Likewise.
32697 (grub_video_term): Added setcolor and getcolor.
32698 (MOD_INIT): Added registration of background_image command.
32699 (MOD_TERM): Added unregistration for background_image command.
32700
32701 2007-12-30 Pavel Roskin <proski@gnu.org>
32702
32703 * loader/multiboot_loader.c: Fix multiboot command
32704 unregistration. Fix all typos in the word "multiboot".
32705
32706 2007-12-29 Pavel Roskin <proski@gnu.org>
32707
32708 * util/grub.d/10_linux.in: Refactor search for initrd. Add
32709 support for initrd names used in Fedora.
32710
32711 2007-12-26 Bean <bean123ch@gmail.com>
32712
32713 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
32714 (cpio_mod_SOURCES): New variable.
32715 (cpio_mod_CFLAGS): Likewise.
32716 (cpio_mod_LDFLAGS): Likewise.
32717
32718 * fs/cpio.c: New file.
32719
32720 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
32721
32722 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32723
32724 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32725
32726 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32727
32728 2007-12-25 Robert Millan <rmh@aybabtu.com>
32729
32730 * include/grub/term.h (struct grub_term): Add `getcolor' function.
32731 (grub_getcolor): New function.
32732
32733 * kern/term.c (grub_getcolor): New function.
32734 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
32735 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
32736 (print_entry): Set normal and highlight colors to
32737 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
32738 respectively, before printing and restore them to old
32739 values afterwards.
32740 (grub_menu_init_page): Likewise. Fill an additional colored space
32741 that would otherwise be left blank.
32742
32743 * term/efi/console.c (grub_console_getcolor): New function.
32744 (struct grub_console_term.getcolor): New variable.
32745 * term/i386/pc/console.c (grub_console_getcolor): New function.
32746 (struct grub_console_term.getcolor): New variable.
32747 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
32748 (struct grub_console_term.getcolor): New variable.
32749
32750 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
32751 (struct grub_console_term.setcolor): Remove variable.
32752 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
32753 (struct grub_console_term.setcolor): Remove variable.
32754 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
32755 (struct grub_console_term.setcolor): Remove variable.
32756 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
32757 (struct grub_console_term.setcolor): Remove variable.
32758
32759 2007-12-25 Robert Millan <rmh@aybabtu.com>
32760
32761 * configure.ac: Search for possible unifont.hex locations, and
32762 define UNIFONT_HEX if found.
32763
32764 * Makefile.in (UNIFONT_HEX): Define variable.
32765 (DATA): Rename to ...
32766 (PKGLIB): ... this. Update all users.
32767 (PKGDATA): New variable.
32768 (pkgdata_IMAGES): Rename to ...
32769 (pkglib_IMAGES): ... this. Update all users.
32770 (pkgdata_MODULES): Rename to ...
32771 (pkglib_MODULES): ... this. Update all users.
32772 (pkgdata_PROGRAMS): Rename to ...
32773 (pkglib_PROGRAMS): ... this. Update all users.
32774 (pkgdata_DATA): Rename to ...
32775 (pkglib_DATA): ... this. Update all users.
32776 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
32777 (unicode.pff, ascii.pff): New rules.
32778 (all-local): Add `$(PKGDATA)' dependency.
32779 (install-local): Process `$(PKGDATA)'.
32780
32781 * util/update-grub_lib.in (font_path): Search for *.pff files in
32782 a few more locations, including `${pkgdata}'.
32783
32784 2007-12-23 Robert Millan <rmh@aybabtu.com>
32785
32786 Patch from Bean <bean123ch@gmail.com>:
32787 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
32788 `size'.
32789
32790 2007-12-21 Bean <bean123ch@gmail.com>
32791
32792 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
32793 (ntfscomp_mod_SOURCES): New variable.
32794 (ntfscomp_mod_CFLAGS): Likewise.
32795 (ntfscomp_mod_LDFLAGS): Likewise.
32796
32797 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
32798 (grub_probe_SOURCES): Likewise.
32799 (grub_emu_SOURCES): Likewise.
32800
32801 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32802 (grub_emu_SOURCES): Likewise.
32803
32804 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32805 (grub_emu_SOURCES): Likewise.
32806
32807 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32808 (grub_emu_SOURCES): Likewise.
32809
32810 * fs/ntfs.c (grub_ntfscomp_func): New variable.
32811 (read_run_list): Renamed to grub_ntfs_read_run_list.
32812 (decomp_nextvcn): Moved to ntfscomp.c.
32813 (decomp_getch): Likewise.
32814 (decomp_get16): Likewise.
32815 (decomp_block): Likewise.
32816 (read_block): Likewise.
32817 (read_data): Partially moved to ntfscomp.c.
32818 (fixup): Change unsigned to grub_uint16_t.
32819 (read_mft): Change unsigned long to grub_uint32_t.
32820 (read_attr): Likewise.
32821 (read_data): Likewise.
32822 (read_run_data): Likewise.
32823 (read_run_list): Likewise.
32824 (read_mft): Likewise.
32825
32826 * fs/ntfscomp.c: New file.
32827
32828 * include/grub/ntfs.h: New file.
32829
32830 2007-12-16 Robert Millan <rmh@aybabtu.com>
32831
32832 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
32833 IDE disk check, since Linux is known to support 20 IDE disks.
32834 Reported by Colin Watson.
32835
32836 2007-12-15 Bean <bean123ch@gmail.com>
32837
32838 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
32839 (lnxboot_img_SOURCES): New variable.
32840 (lnxboot_img_ASFLAGS): Likewise.
32841 (lnxboot_img_LDFLAGS): Likewise.
32842
32843 * boot/i386/pc/lnxboot.S: New file.
32844
32845 2007-11-24 Pavel Roskin <proski@gnu.org>
32846
32847 * configure.ac: Test if '--build-id=none' is supported by the
32848 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
32849 objcopy to generate incorrect binary files (binutils
32850 2.17.50.0.18-1 as shipped by Fedora 8).
32851 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
32852 linking, so that build ID doesn't break the test.
32853
32854 2007-11-24 Pavel Roskin <proski@gnu.org>
32855
32856 * include/grub/i386/time.h: use "void" in the argument list
32857 of grub_cpu_idle().
32858 * include/grub/powerpc/time.h: Likewise.
32859 * include/grub/sparc64/time.h: Likewise.
32860
32861 2007-11-18 Christian Franke <franke@computer.org>
32862
32863 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
32864 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
32865 This fixes the problem that function keys did not work in grub-emu.
32866
32867 2007-11-18 Christian Franke <franke@computer.org>
32868
32869 * disk/host.c (grub_host_open): Remove attribute unused from
32870 name parameter. Add check for "host". This fixes the problem
32871 that grub-emu does not find partitions.
32872
32873 2007-11-18 Christian Franke <franke@computer.org>
32874
32875 * util/hostfs.c (is_dir): New function.
32876 (grub_hostfs_dir): Handle missing dirent.d_type case.
32877 (grub_hostfs_read): Add missing fseek().
32878 (grub_hostfs_label): Clear label pointer. This fixes a crash
32879 of grub-emu on "ls (host)".
32880
32881 2007-11-18 Christian Franke <franke@computer.org>
32882
32883 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
32884 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
32885 to 64 bit boundary by default.
32886
32887 2007-11-18 Bean <bean123ch@gmail.com>
32888
32889 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
32890 (hexdump_mod_SOURCES): New variable.
32891 (hexdump_mod_CFLAGS): Likewise.
32892 (hexdump_mod_LDFLAGS): Likewise.
32893
32894 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32895
32896 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32897
32898 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32899
32900 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32901
32902 * include/grub/hexdump.h: New file.
32903
32904 * commands/hexdump.c: New file.
32905
32906 2007-11-10 Robert Millan <rmh@aybabtu.com>
32907
32908 * commands/i386/pc/play.c (beep_off): Switch order of arguments
32909 in grub_outb() calls.
32910 (beep_on): Likewise.
32911
32912 2007-11-10 Christian Franke <franke@computer.org>
32913
32914 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
32915 (grub_menu_run): Likewise.
32916
32917 2007-11-10 Robert Millan <rmh@aybabtu.com>
32918
32919 * include/grub/i386/efi/machine.h: New file.
32920 * include/grub/i386/linuxbios/machine.h: Likewise.
32921 * include/grub/i386/pc/machine.h: Likewise.
32922 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32923 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32924
32925 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
32926 (serial_hw_io_addr): New variable.
32927 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
32928 instead of `(unsigned short *) 0x400'.
32929
32930 2007-11-10 Bean <bean123ch@gmail.com>
32931
32932 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
32933
32934 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32935
32936 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
32937 (vga_mod_SOURCES): Added.
32938 (vga_mod_CFLAGS): Likewise.
32939 (vga_mod_LDFLAGS): Likewise.
32940
32941 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
32942 grub_outb() calls.
32943 (set_map_mask): Likewise.
32944 (set_read_map): Likewise.
32945 (set_read_address): Likewise.
32946 (vga_font): Removed variable.
32947 (get_vga_glyph): Removed function.
32948 (invalidate_char): Likewise.
32949 (write_char): Changed to use grub_font_get_glyph() for font
32950 information.
32951 (grub_vga_putchar): Likewise.
32952 (grub_vga_getcharwidth): Likewise.
32953
32954 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32955
32956 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
32957 flags.
32958 (pxeboot_img_LDFLAGS): Likewise.
32959 (diskboot_img_LDFLAGS): Likewise.
32960 (kernel_img_LDFLAGS): Likewise.
32961
32962 2007-11-06 Robert Millan <rmh@aybabtu.com>
32963
32964 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
32965 in grub_outb() calls.
32966 (serial_hw_init): Likewise.
32967
32968 2007-11-05 Robert Millan <rmh@aybabtu.com>
32969
32970 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
32971 spaces. Skip non-regular files.
32972
32973 2007-11-05 Robert Millan <rmh@aybabtu.com>
32974
32975 * kern/disk.c (grub_disk_firmware_fini)
32976 (grub_disk_firmware_is_tainted): New variables.
32977
32978 * include/grub/disk.h (grub_disk_firmware_fini)
32979 (grub_disk_firmware_is_tainted): Likewise.
32980
32981 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
32982 (grub_disk_biosdisk_fini): ... to here.
32983 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
32984 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
32985 is set. Register grub_disk_biosdisk_fini() in
32986 `grub_disk_firmware_fini'.
32987
32988 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
32989 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
32990 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
32991 to finish existing firmware disk interface.
32992
32993 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
32994 (ata_mod_SOURCES): New variable.
32995 (ata_mod_CFLAGS): Likewise.
32996 (ata_mod_LDFLAGS): Likewise.
32997
32998 2007-11-05 Robert Millan <rmh@aybabtu.com>
32999
33000 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
33001 (grub_ata_wait): Reimplement using grub_millisleep().
33002
33003 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
33004 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
33005
33006 2007-11-03 Marco Gerards <marco@gnu.org>
33007
33008 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
33009 (CRTC_ADDR_PORT): New macro.
33010 (CRTC_DATA_PORT): Likewise.
33011 (CRTC_CURSOR): Likewise.
33012 (CRTC_CURSOR_ADDR_HIGH): Likewise.
33013 (CRTC_CURSOR_ADDR_LOW): Likewise.
33014 (update_cursor): New function.
33015 (grub_console_real_putchar): Call `update_cursor'.
33016 (grub_console_gotoxy): Likewise.
33017 (grub_console_cls): Set the default color when clearing the
33018 screen.
33019 (grub_console_setcursor): Implemented.
33020
33021 2007-11-03 Marco Gerards <marco@gnu.org>
33022
33023 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
33024 become activate.
33025 (grub_ata_pio_write): Likewise.
33026
33027 (grub_atapi_identify): Wait after issuing an ATA command.
33028 (grub_atapi_packet): Likewise.
33029 (grub_ata_identify): Likewise.
33030 (grub_ata_readwrite): Likewise.
33031
33032 2007-11-03 Marco Gerards <marco@gnu.org>
33033
33034 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
33035 (grub_ata_pio_write): Likewise.
33036 (grub_ata_readwrite): Use `grub_error', instead of
33037 returning `grub_errno'.
33038
33039 2007-11-03 Marco Gerards <marco@gnu.org>
33040
33041 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
33042 grub_ata_pio_write once for every single sector, instead of for
33043 multiple sectors.
33044
33045 2007-10-31 Robert Millan <rmh@aybabtu.com>
33046
33047 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
33048
33049 * conf/i386-linuxbios.rmk: New file.
33050
33051 * kern/i386/pc/hardware.c: Likewise.
33052 * term/i386/pc/at_keyboard.c: Likewise.
33053 * term/i386/pc/vga_text.c: Likewise.
33054
33055 * include/grub/i386/linuxbios/boot.h: Likewise.
33056 * include/grub/i386/linuxbios/console.h: Likewise.
33057 * include/grub/i386/linuxbios/init.h: Likewise.
33058 * include/grub/i386/linuxbios/kernel.h: Likewise.
33059 * include/grub/i386/linuxbios/loader.h: Likewise.
33060 * include/grub/i386/linuxbios/memory.h: Likewise.
33061 * include/grub/i386/linuxbios/serial.h: Likewise.
33062 * include/grub/i386/linuxbios/time.h: Likewise.
33063
33064 * kern/i386/linuxbios/init.c: Likewise.
33065 * kern/i386/linuxbios/startup.S: Likewise.
33066 * kern/i386/linuxbios/table.c: Likewise.
33067
33068 2007-10-31 Marco Gerards <marco@gnu.org>
33069
33070 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
33071 (ata_mod_SOURCES): New variable.
33072 (ata_mod_CFLAGS): Likewise.
33073 (ata_mod_LDFLAGS): Likewise.
33074
33075 * disk/ata.c: New file.
33076
33077 * include/grub/disk.h (grub_disk_dev_id): Add
33078 `GRUB_DISK_DEV_ATA_ID'.
33079
33080 2007-10-31 Robert Millan <rmh@aybabtu.com>
33081
33082 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
33083 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
33084
33085 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
33086 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
33087
33088 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
33089 `<grub/types.h>'.
33090
33091 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
33092
33093 2007-10-27 Robert Millan <rmh@aybabtu.com>
33094
33095 * include/grub/types.h (ULONG_MAX): Define macro.
33096
33097 2007-10-22 Robert Millan <rmh@aybabtu.com>
33098
33099 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
33100 `"../realmode.S"'.
33101 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
33102
33103 2007-10-22 Robert Millan <rmh@aybabtu.com>
33104
33105 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
33106 (pkgdata_MODULES): Add `biosdisk.mod'.
33107 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
33108 variables.
33109
33110 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
33111 (grub_biosdisk_init): Replace with ...
33112 (GRUB_MOD_INIT(biosdisk)): ... this.
33113 (grub_biosdisk_fini): Replace with ...
33114 (GRUB_MOD_FINI(biosdisk)): ... this.
33115
33116 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
33117 (grub_machine_init): Remove call to grub_biosdisk_init().
33118 (grub_machine_fini): Remove call to grub_machine_fini().
33119
33120 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
33121
33122 2007-10-22 Robert Millan <rmh@aybabtu.com>
33123
33124 * include/grub/time.h: New file.
33125 * include/grub/i386/time.h: Likewise.
33126 * include/grub/powerpc/time.h: Likewise.
33127 * include/grub/sparc64/time.h: Likewise.
33128
33129 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
33130 instances to ...
33131 (KERNEL_MACHINE_TIME_HEADER): ... this.
33132 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
33133 instances to ...
33134 (KERNEL_MACHINE_TIME_HEADER): ... this.
33135 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
33136 instances to ...
33137 (KERNEL_MACHINE_TIME_HEADER): ... this.
33138
33139 * kern/i386/efi/init.c: Include `<grub/time.h>'.
33140 (grub_millisleep): New function.
33141 * kern/i386/pc/init.c: Include `<grub/time.h>'.
33142 (grub_millisleep): New function.
33143 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
33144 Remove `grub/machine/time.h' include.
33145 (grub_millisleep): New function.
33146 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
33147 Remove `grub/machine/time.h' include.
33148 (grub_millisleep): New function.
33149
33150 * include/grub/misc.h (grub_div_roundup): New function.
33151
33152 * kern/misc.c: Include `<grub/time.h>'.
33153 (grub_millisleep_generic): New function.
33154
33155 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
33156 Add `time.h'.
33157 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
33158 Add `time.h'.
33159 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
33160 `machine/time.h'. Add `time.h'.
33161 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
33162
33163 2007-10-21 Robert Millan <rmh@aybabtu.com>
33164
33165 * include/grub/misc.h (grub_max): New function.
33166
33167 2007-10-21 Robert Millan <rmh@aybabtu.com>
33168
33169 * util/misc.c (grub_util_info): Call fflush() before returning.
33170
33171 2007-10-20 Robert Millan <rmh@aybabtu.com>
33172
33173 * genmk.rb (Image): Copy `extra_flags' from here ...
33174 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
33175
33176 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
33177 to `argc' and `args' arguments.
33178
33179 2007-10-17 Robert Millan <rmh@aybabtu.com>
33180
33181 * kern/i386/loader.S: New file.
33182
33183 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
33184 * kern/i386/loader.S (grub_linux_prot_size)... to here.
33185 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
33186 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
33187 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
33188 * kern/i386/loader.S (grub_linux_real_addr)... to here.
33189 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
33190 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
33191 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
33192 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
33193 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
33194 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
33195 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
33196 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
33197
33198 * kern/i386/realmode.S: New file.
33199
33200 * kern/i386/pc/startup.S (protstack): Moved from here ...
33201 * kern/i386/realmode.S (protstack)... to here.
33202 * kern/i386/pc/startup.S (gdt): Moved from here ...
33203 * kern/i386/realmode.S (gdt)... to here.
33204 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
33205 * kern/i386/realmode.S (prot_to_real)... to here.
33206
33207 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
33208 `kern/i386/realmode.S'.
33209
33210 2007-10-17 Robert Millan <rmh@aybabtu.com>
33211
33212 * include/grub/i386/loader.h: New file.
33213
33214 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
33215 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
33216 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
33217 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
33218 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
33219 * include/grub/i386/loader.h (grub_linux_prot_size)
33220 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
33221 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
33222 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
33223 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
33224
33225 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
33226
33227 2007-10-15 Robert Millan <rmh@aybabtu.com>
33228
33229 * normal/misc.c (grub_normal_print_device_info): Do not probe for
33230 filesystem when dev->disk is unset.
33231 Do probe for filesystem even when dev->disk->has_partitions is set.
33232 In case a filesystem is found, always report it.
33233 In case it isn't, if dev->disk->has_partitions is set, report that
33234 a partition table was found instead of reporting that no filesystem
33235 could be identified.
33236
33237 2007-10-12 Robert Millan <rmh@aybabtu.com>
33238
33239 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
33240 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
33241
33242 * include/grub/types.h (grub_host_to_target16): New macro.
33243 (grub_host_to_target32): Likewise.
33244 (grub_host_to_target64): Likewise.
33245 (grub_target_to_host16): Likewise.
33246 (grub_target_to_host32): Likewise.
33247 (grub_target_to_host64): Likewise.
33248
33249 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
33250 Renamed from to ...
33251 (GRUB_MOD_ALIGN): ...this. Update all users.
33252
33253 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
33254 grub_host_to_target32.
33255 Replace grub_be_to_cpu32 with grub_target_to_host32.
33256 (load_modules): Likewise.
33257 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
33258 Replace grub_be_to_cpu32 with grub_target_to_host32.
33259 Replace grub_cpu_to_be16 with grub_host_to_target16.
33260 Replace grub_cpu_to_be32 grub_host_to_target32.
33261
33262 2007-10-12 Robert Millan <rmh@aybabtu.com>
33263
33264 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
33265 * util/elf/grub-mkimage.c: ... here.
33266
33267 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
33268 `util/powerpc/ieee1275/grub-mkimage.c'.
33269
33270 2007-10-07 Robert Millan <rmh@aybabtu.com>
33271
33272 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
33273 and make it easier to figure out.
33274 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
33275 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
33276 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
33277 leave us with less than HEAP_MIN_SIZE total heap.
33278 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
33279
33280 2007-10-03 Robert Millan <rmh@aybabtu.com>
33281
33282 * include/grub/i386/io.h: New file.
33283 * commands/i386/pc/play.c (inb): Removed.
33284 (outb): Removed.
33285 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
33286 with grub_outb().
33287 * term/i386/pc/serial.c (inb): Removed.
33288 (outb): Removed.
33289 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
33290 with grub_outb().
33291 * term/i386/pc/vga.c (inb): Removed.
33292 (outb): Removed.
33293 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
33294 with grub_outb().
33295
33296 2007-10-02 Robert Millan <rmh@aybabtu.com>
33297
33298 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
33299 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33300 Reported by Marcin Kurek.
33301
33302 2007-09-07 Robert Millan <rmh@aybabtu.com>
33303
33304 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
33305 SmartFirmware version updates (as released by Sven Luther), and avoid
33306 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
33307 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
33308 known broken.
33309
33310 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33311
33312 From Hitoshi Ozeki:
33313 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
33314 when merging two regions.
33315
33316 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33317
33318 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
33319 * normal/completion.c (grub_normal_do_completion): Likewise.
33320 Reported by Hitoshi Ozeki.
33321
33322 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
33323
33324 Do not use devices at boot in chainloading.
33325
33326 * loader/i386/pc/chainloader.c (boot_drive): New variable.
33327 (boot_part_addr): Likewise.
33328 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
33329 with BOOT_DRIVE and BOOT_PART_ADDR.
33330 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
33331 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
33332
33333 2007-08-29 Robert Millan <rmh@aybabtu.com>
33334
33335 Patch from Simon Peter <dn.tlp@gmx.net>:
33336 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
33337 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
33338 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
33339 util/i386/pc/grub-setup.c_DEPENDENCIES.
33340 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
33341 util/grub-probe.c_DEPENDENCIES.
33342 * conf/powerpc-ieee1275.rmk: Likewise.
33343
33344 2007-08-28 Robert Millan <rmh@aybabtu.com>
33345
33346 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
33347 to tell grub-mkdevicemap how to name devices.
33348 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
33349 feature).
33350
33351 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
33352 util/i386/get_disk_name.c.
33353 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
33354 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
33355 util/ieee1275/get_disk_name.c.
33356
33357 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
33358
33359 * DISTLIST: Add util/i386/get_disk_name.c and
33360 util/ieee1275/get_disk_name.c.
33361
33362 * util/grub-mkdevicemap.c: Replace device naming logic with
33363 grub_util_get_disk_name() calls.
33364
33365 2007-08-20 Robert Millan <rmh@aybabtu.com>
33366
33367 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
33368 (so that it works for both plural and singular quantities).
33369
33370 2007-08-05 Robert Millan <rmh@aybabtu.com>
33371
33372 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
33373 so that [xz] isn't taken into account when determining order.
33374
33375 2007-08-02 Marco Gerards <marco@gnu.org>
33376
33377 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
33378 `include/multiboot2.h', `include/grub/elfload.h',
33379 `include/multiboot.h', `include/grub/multiboot.h',
33380 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
33381 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
33382 `kern/elf.c', `loader/multiboot_loader.c',
33383 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
33384 `loader/i386/pc/multiboot2.c',
33385 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
33386 `util/i386/pc/grub-mkrescue.in'. Remove
33387 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
33388 `include/grub/i386/pc/util/biosdisk.h' and
33389 `include/grub/powerpc/ieee1275/multiboot.h'.
33390
33391 2007-08-02 Bean <bean123ch@gmail.com>
33392
33393 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
33394 (ntfs_mod_SOURCES): New variable.
33395 (ntfs_mod_CFLAGS): Likewise.
33396 (ntfs_mod_LDFLAGS): Likewise.
33397
33398 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
33399 (grub_probe_SOURCES): Likewise.
33400 (grub_emu_SOURCES): Likewise.
33401
33402 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
33403 (grub_emu_SOURCES): Likewise.
33404
33405 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
33406 (grub_emu_SOURCES): Likewise.
33407
33408 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
33409
33410 * fs/ntfs.c: New file.
33411
33412 2007-08-02 Bean <bean123ch@gmail.com>
33413
33414 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
33415
33416 * file.h (grub_file): Likewise.
33417
33418 * fshelp.h (grub_fshelp_read_file): Likewise.
33419
33420 * util/i386/pc/grub-setup.c (setup): Likewise.
33421 (save_first_sector): Likewise.
33422 (save_blocklists): Likewise.
33423
33424 * fs/affs.c (grub_affs_read_file): Likewise.
33425
33426 * fs/ext2.c (grub_ext2_read_file): Likewise.
33427
33428 * fs/fat.c (grub_fat_read_data): Likewise.
33429
33430 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
33431
33432 * fs/hfs.c (grub_hfs_read_file): Likewise.
33433
33434 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
33435
33436 * fs/jfs.c (grub_jfs_read_file): Likewise.
33437
33438 * fs/minix.c (grub_minix_read_file): Likewise.
33439
33440 * fs/sfs.c (grub_sfs_read_file): Likewise.
33441
33442 * fs/ufs.c (grub_ufs_read_file): Likewise.
33443
33444 * fs/xfs.c (grub_xfs_read_file): Likewise.
33445
33446 * command/blocklist.c (read_blocklist): Likewise.
33447 (print_blocklist): Likewise.
33448
33449 2007-08-02 Marco Gerards <marco@gnu.org>
33450
33451 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
33452 `util/hostfs.c'.
33453
33454 * disk/host.c: New file.
33455
33456 * util/hostfs.c: Likewise.
33457
33458 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
33459 return `GRUB_ERR_BAD_FS'.
33460 * fs/sfs.c (grub_sfs_mount): Likewise.
33461 * fs/xfs.c (grub_xfs_mount): Likewise.
33462
33463 * include/grub/disk.h (enum grub_disk_dev_id): Add
33464 `GRUB_DISK_DEVICE_HOST_ID'.
33465
33466 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
33467
33468 2007-07-24 Jerone Young <jerone@gmail.com>
33469
33470 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
33471 modules for compilation.
33472 * conf/powerpc-ieee1275.rmk: Likewise.
33473
33474 * include/multiboot.h: Move multiboot definitions to one file. Rename
33475 many definitions to not get grub specific.
33476 * include/multiboot2.h: Create header with multiboot 2 definitions.
33477 * include/grub/multiboot.h: Header for grub specific function
33478 prototypes and definitions.
33479 * include/grub/multiboot2.h: Likewise.
33480 * include/grub/multiboot_loader.h: Likewise.
33481 * include/grub/i386/pc/multiboot.h: Removed.
33482 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
33483
33484 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
33485 and 2 to allow for one multiboot and module commands.
33486 * loader/multiboot2.c: Add multiboot2 functionality.
33487 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
33488 and definition names.
33489 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
33490 2 functions.
33491 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
33492 ieee1275 specific multiboot2 code.
33493
33494 * kern/i386/pc/startup.S: Change headers and definition names for
33495 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
33496
33497 2007-07-22 Robert Millan <rmh@aybabtu.com>
33498
33499 * geninitheader.sh: Process file specified in first parameter rather
33500 than hardcoding grub_modules_init.lst.
33501 * geninit.sh: Likewise. Also, construct header name dynamically rather
33502 than hardcoding grub_modules_init.h.
33503
33504 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
33505 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
33506 grub_probe_init.[ch] and grub_setup_init.[ch].
33507
33508 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
33509 grub_modules_init.h with grub_emu_init.h.
33510 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
33511 grub_probe_init.[ch] files.
33512 * conf/i386-efi.rmk: Likewise.
33513 * conf/i386-pc.rmk: Likewise.
33514 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
33515 grub_setup_init.[ch] files.
33516
33517 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
33518 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
33519 to initialize modules rather than a list of hardcoded functions.
33520 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
33521 grub_init_all() to initialize modules rather than a list of hardcoded
33522 functions.
33523
33524 2007-07-22 Robert Millan <rmh@aybabtu.com>
33525
33526 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
33527 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
33528
33529 2007-07-22 Robert Millan <rmh@aybabtu.com>
33530
33531 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
33532 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
33533 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
33534 flag when running on SmartFirmware.
33535 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
33536 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
33537 was set.
33538
33539 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
33540 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
33541 rather than decreasing it.
33542
33543 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
33544 there's not enough space to do it, fail in the same way as when it
33545 can't be done because there are no partitions.
33546
33547 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
33548 when nvsetenv failed.
33549
33550 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
33551
33552 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
33553 because this rule is automatically generated.
33554 (grub-mkrescue): Removed for the same reason as above.
33555
33556 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
33557
33558 Migrate to GNU General Public License Version 3.
33559
33560 * COPYING: Replaced with the plain text version of GPLv3.
33561
33562 * config.guess: Updated from gnulib.
33563 * config.sub: Likewise.
33564
33565 * geninit.sh: Output a GPLv3 copyright notice.
33566 * geninitheader.sh: Likewise.
33567 * genmodsrc.sh: Likewise.
33568 * gensymlist.sh.in: Likewise.
33569
33570 * boot/i386/pc/boot.S: Upgraded to GPLv3.
33571 * boot/i386/pc/diskboot.S: Likewise.
33572 * boot/i386/pc/pxeboot.S: Likewise.
33573 * commands/blocklist.c: Likewise.
33574 * commands/boot.c: Likewise.
33575 * commands/cat.c: Likewise.
33576 * commands/cmp.c: Likewise.
33577 * commands/configfile.c: Likewise.
33578 * commands/echo.c: Likewise.
33579 * commands/help.c: Likewise.
33580 * commands/ls.c: Likewise.
33581 * commands/search.c: Likewise.
33582 * commands/terminal.c: Likewise.
33583 * commands/test.c: Likewise.
33584 * commands/videotest.c: Likewise.
33585 * commands/i386/cpuid.c: Likewise.
33586 * commands/i386/pc/halt.c: Likewise.
33587 * commands/i386/pc/play.c: Likewise.
33588 * commands/i386/pc/reboot.c: Likewise.
33589 * commands/i386/pc/vbeinfo.c: Likewise.
33590 * commands/i386/pc/vbetest.c: Likewise.
33591 * commands/ieee1275/halt.c: Likewise.
33592 * commands/ieee1275/reboot.c: Likewise.
33593 * commands/ieee1275/suspend.c: Likewise.
33594 * disk/loopback.c: Likewise.
33595 * disk/lvm.c: Likewise.
33596 * disk/raid.c: Likewise.
33597 * disk/efi/efidisk.c: Likewise.
33598 * disk/i386/pc/biosdisk.c: Likewise.
33599 * disk/ieee1275/ofdisk.c: Likewise.
33600 * font/manager.c: Likewise.
33601 * fs/affs.c: Likewise.
33602 * fs/ext2.c: Likewise.
33603 * fs/fat.c: Likewise.
33604 * fs/fshelp.c: Likewise.
33605 * fs/hfs.c: Likewise.
33606 * fs/hfsplus.c: Likewise.
33607 * fs/iso9660.c: Likewise.
33608 * fs/jfs.c: Likewise.
33609 * fs/minix.c: Likewise.
33610 * fs/sfs.c: Likewise.
33611 * fs/ufs.c: Likewise.
33612 * fs/xfs.c: Likewise.
33613 * hello/hello.c: Likewise.
33614 * include/grub/acorn_filecore.h: Likewise.
33615 * include/grub/arg.h: Likewise.
33616 * include/grub/bitmap.h: Likewise.
33617 * include/grub/boot.h: Likewise.
33618 * include/grub/cache.h: Likewise.
33619 * include/grub/device.h: Likewise.
33620 * include/grub/disk.h: Likewise.
33621 * include/grub/dl.h: Likewise.
33622 * include/grub/elfload.h: Likewise.
33623 * include/grub/env.h: Likewise.
33624 * include/grub/err.h: Likewise.
33625 * include/grub/file.h: Likewise.
33626 * include/grub/font.h: Likewise.
33627 * include/grub/fs.h: Likewise.
33628 * include/grub/fshelp.h: Likewise.
33629 * include/grub/gzio.h: Likewise.
33630 * include/grub/hfs.h: Likewise.
33631 * include/grub/kernel.h: Likewise.
33632 * include/grub/loader.h: Likewise.
33633 * include/grub/lvm.h: Likewise.
33634 * include/grub/misc.h: Likewise.
33635 * include/grub/mm.h: Likewise.
33636 * include/grub/net.h: Likewise.
33637 * include/grub/normal.h: Likewise.
33638 * include/grub/parser.h: Likewise.
33639 * include/grub/partition.h: Likewise.
33640 * include/grub/pc_partition.h: Likewise.
33641 * include/grub/raid.h: Likewise.
33642 * include/grub/rescue.h: Likewise.
33643 * include/grub/script.h: Likewise.
33644 * include/grub/setjmp.h: Likewise.
33645 * include/grub/symbol.h: Likewise.
33646 * include/grub/term.h: Likewise.
33647 * include/grub/terminfo.h: Likewise.
33648 * include/grub/tparm.h: Likewise.
33649 * include/grub/types.h: Likewise.
33650 * include/grub/video.h: Likewise.
33651 * include/grub/efi/api.h: Likewise.
33652 * include/grub/efi/chainloader.h: Likewise.
33653 * include/grub/efi/console.h: Likewise.
33654 * include/grub/efi/console_control.h: Likewise.
33655 * include/grub/efi/disk.h: Likewise.
33656 * include/grub/efi/efi.h: Likewise.
33657 * include/grub/efi/pe32.h: Likewise.
33658 * include/grub/efi/time.h: Likewise.
33659 * include/grub/i386/linux.h: Likewise.
33660 * include/grub/i386/setjmp.h: Likewise.
33661 * include/grub/i386/types.h: Likewise.
33662 * include/grub/i386/efi/kernel.h: Likewise.
33663 * include/grub/i386/efi/loader.h: Likewise.
33664 * include/grub/i386/efi/time.h: Likewise.
33665 * include/grub/i386/pc/biosdisk.h: Likewise.
33666 * include/grub/i386/pc/boot.h: Likewise.
33667 * include/grub/i386/pc/chainloader.h: Likewise.
33668 * include/grub/i386/pc/console.h: Likewise.
33669 * include/grub/i386/pc/init.h: Likewise.
33670 * include/grub/i386/pc/kernel.h: Likewise.
33671 * include/grub/i386/pc/loader.h: Likewise.
33672 * include/grub/i386/pc/memory.h: Likewise.
33673 * include/grub/i386/pc/multiboot.h: Likewise.
33674 * include/grub/i386/pc/serial.h: Likewise.
33675 * include/grub/i386/pc/time.h: Likewise.
33676 * include/grub/i386/pc/vbe.h: Likewise.
33677 * include/grub/i386/pc/vbeblit.h: Likewise.
33678 * include/grub/i386/pc/vbefill.h: Likewise.
33679 * include/grub/i386/pc/vbeutil.h: Likewise.
33680 * include/grub/i386/pc/vga.h: Likewise.
33681 * include/grub/ieee1275/ieee1275.h: Likewise.
33682 * include/grub/ieee1275/ofdisk.h: Likewise.
33683 * include/grub/powerpc/libgcc.h: Likewise.
33684 * include/grub/powerpc/setjmp.h: Likewise.
33685 * include/grub/powerpc/types.h: Likewise.
33686 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
33687 * include/grub/powerpc/ieee1275/console.h: Likewise.
33688 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
33689 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
33690 * include/grub/powerpc/ieee1275/loader.h: Likewise.
33691 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
33692 * include/grub/powerpc/ieee1275/time.h: Likewise.
33693 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
33694 * include/grub/sparc64/libgcc.h: Likewise.
33695 * include/grub/sparc64/setjmp.h: Likewise.
33696 * include/grub/sparc64/types.h: Likewise.
33697 * include/grub/sparc64/ieee1275/console.h: Likewise.
33698 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
33699 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
33700 * include/grub/sparc64/ieee1275/time.h: Likewise.
33701 * include/grub/util/biosdisk.h: Likewise.
33702 * include/grub/util/getroot.h: Likewise.
33703 * include/grub/util/lvm.h: Likewise.
33704 * include/grub/util/misc.h: Likewise.
33705 * include/grub/util/raid.h: Likewise.
33706 * include/grub/util/resolve.h: Likewise.
33707 * io/gzio.c: Likewise.
33708 * kern/device.c: Likewise.
33709 * kern/disk.c: Likewise.
33710 * kern/dl.c: Likewise.
33711 * kern/elf.c: Likewise.
33712 * kern/env.c: Likewise.
33713 * kern/err.c: Likewise.
33714 * kern/file.c: Likewise.
33715 * kern/fs.c: Likewise.
33716 * kern/loader.c: Likewise.
33717 * kern/main.c: Likewise.
33718 * kern/misc.c: Likewise.
33719 * kern/mm.c: Likewise.
33720 * kern/parser.c: Likewise.
33721 * kern/partition.c: Likewise.
33722 * kern/rescue.c: Likewise.
33723 * kern/term.c: Likewise.
33724 * kern/efi/efi.c: Likewise.
33725 * kern/efi/init.c: Likewise.
33726 * kern/efi/mm.c: Likewise.
33727 * kern/i386/dl.c: Likewise.
33728 * kern/i386/efi/init.c: Likewise.
33729 * kern/i386/efi/startup.S: Likewise.
33730 * kern/i386/pc/init.c: Likewise.
33731 * kern/i386/pc/lzo1x.S: Likewise.
33732 * kern/i386/pc/startup.S: Likewise.
33733 * kern/ieee1275/ieee1275.c: Likewise.
33734 * kern/powerpc/cache.S: Likewise.
33735 * kern/powerpc/dl.c: Likewise.
33736 * kern/powerpc/ieee1275/cmain.c: Likewise.
33737 * kern/powerpc/ieee1275/crt0.S: Likewise.
33738 * kern/powerpc/ieee1275/init.c: Likewise.
33739 * kern/powerpc/ieee1275/openfw.c: Likewise.
33740 * kern/sparc64/cache.S: Likewise.
33741 * kern/sparc64/dl.c: Likewise.
33742 * kern/sparc64/ieee1275/init.c: Likewise.
33743 * kern/sparc64/ieee1275/openfw.c: Likewise.
33744 * loader/efi/chainloader.c: Likewise.
33745 * loader/efi/chainloader_normal.c: Likewise.
33746 * loader/i386/efi/linux.c: Likewise.
33747 * loader/i386/efi/linux_normal.c: Likewise.
33748 * loader/i386/pc/chainloader.c: Likewise.
33749 * loader/i386/pc/chainloader_normal.c: Likewise.
33750 * loader/i386/pc/linux.c: Likewise.
33751 * loader/i386/pc/linux_normal.c: Likewise.
33752 * loader/i386/pc/multiboot.c: Likewise.
33753 * loader/i386/pc/multiboot_normal.c: Likewise.
33754 * loader/powerpc/ieee1275/linux.c: Likewise.
33755 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
33756 * normal/arg.c: Likewise.
33757 * normal/cmdline.c: Likewise.
33758 * normal/command.c: Likewise.
33759 * normal/completion.c: Likewise.
33760 * normal/execute.c: Likewise.
33761 * normal/function.c: Likewise.
33762 * normal/lexer.c: Likewise.
33763 * normal/main.c: Likewise.
33764 * normal/menu.c: Likewise.
33765 * normal/menu_entry.c: Likewise.
33766 * normal/misc.c: Likewise.
33767 * normal/parser.y: Likewise.
33768 * normal/script.c: Likewise.
33769 * normal/i386/setjmp.S: Likewise.
33770 * normal/powerpc/setjmp.S: Likewise.
33771 * normal/sparc64/setjmp.S: Likewise.
33772 * partmap/acorn.c: Likewise.
33773 * partmap/amiga.c: Likewise.
33774 * partmap/apple.c: Likewise.
33775 * partmap/gpt.c: Likewise.
33776 * partmap/pc.c: Likewise.
33777 * partmap/sun.c: Likewise.
33778 * term/gfxterm.c: Likewise.
33779 * term/terminfo.c: Likewise.
33780 * term/efi/console.c: Likewise.
33781 * term/i386/pc/console.c: Likewise.
33782 * term/i386/pc/serial.c: Likewise.
33783 * term/i386/pc/vesafb.c: Likewise.
33784 * term/i386/pc/vga.c: Likewise.
33785 * term/ieee1275/ofconsole.c: Likewise.
33786 * util/biosdisk.c: Likewise.
33787 * util/console.c: Likewise.
33788 * util/genmoddep.c: Likewise.
33789 * util/getroot.c: Likewise.
33790 * util/grub-emu.c: Likewise.
33791 * util/grub-mkdevicemap.c: Likewise.
33792 * util/grub-probe.c: Likewise.
33793 * util/lvm.c: Likewise.
33794 * util/misc.c: Likewise.
33795 * util/raid.c: Likewise.
33796 * util/resolve.c: Likewise.
33797 * util/update-grub.in: Likewise.
33798 * util/update-grub_lib.in: Likewise.
33799 * util/grub.d/00_header.in: Likewise.
33800 * util/grub.d/10_hurd.in: Likewise.
33801 * util/grub.d/10_linux.in: Likewise.
33802 * util/i386/efi/grub-install.in: Likewise.
33803 * util/i386/efi/grub-mkimage.c: Likewise.
33804 * util/i386/pc/grub-install.in: Likewise.
33805 * util/i386/pc/grub-mkimage.c: Likewise.
33806 * util/i386/pc/grub-mkrescue.in: Likewise.
33807 * util/i386/pc/grub-setup.c: Likewise.
33808 * util/i386/pc/misc.c: Likewise.
33809 * util/powerpc/ieee1275/grub-install.in: Likewise.
33810 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
33811 * util/powerpc/ieee1275/misc.c: Likewise.
33812 * video/bitmap.c: Likewise.
33813 * video/video.c: Likewise.
33814 * video/i386/pc/vbe.c: Likewise.
33815 * video/i386/pc/vbeblit.c: Likewise.
33816 * video/i386/pc/vbefill.c: Likewise.
33817 * video/i386/pc/vbeutil.c: Likewise.
33818 * video/readers/tga.c: Likewise.
33819
33820 2007-07-02 Robert Millan <rmh@aybabtu.com>
33821
33822 * conf/i386-efi.rmk: Replace obsolete reference to
33823 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
33824 with util/getroot.c.
33825 * conf/powerpc-ieee1275.rmk: Likewise.
33826 * conf/sparc64-ieee1275.rmk: Likewise.
33827
33828 * util/grub-emu.c (main): Fix unchecked pointer handling.
33829
33830 2007-07-02 Robert Millan <rmh@aybabtu.com>
33831
33832 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
33833 invocation to fail, in order to support partition-less media.
33834
33835 * util/i386/pc/grub-install.in: Likewise.
33836
33837 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
33838 which fs or partmap modules are needed (akin to its sister scripts).
33839
33840 Also use grub-probe to get rid of unportable /proc/mounts check.
33841
33842 Print the same informational message that the other scripts do, before
33843 exiting.
33844
33845 2007-06-23 Robert Millan <rmh@aybabtu.com>
33846
33847 * util/update-grub_lib.in (font_path): New function. Determine whether
33848 a font file can be found and, if so, echo the GRUB path to it.
33849
33850 * util/update-grub.in: Handle multiple terminals depending on user
33851 input, platform availability and font file presence. Propagate
33852 variables of our findings to /etc/grub.d/ children.
33853
33854 * util/grub.d/00_header.in: Handle multiple terminals, based on
33855 environment setup by update-grub.
33856
33857 2007-06-23 Robert Millan <rmh@aybabtu.com>
33858
33859 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
33860
33861 2007-06-21 Robert Millan <rmh@aybabtu.com>
33862
33863 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
33864 indicate end of data section in kernel image.
33865 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
33866 GRUB_KERNEL_MACHINE_DATA_END.
33867
33868 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
33869 space for it.
33870 * kern/i386/efi/startup.S: Likewise.
33871
33872 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
33873 during image generation. Implement --prefix option to override this
33874 patch.
33875 * util/i386/efi/grub-mkimage.c: Likewise.
33876
33877 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
33878 code to make path relative to its root into a separate function.
33879
33880 * util/i386/pc/grub-install.in: Use newly provided
33881 make_system_path_relative_to_its_root() to convert ${grubdir}, then
33882 pass the result to grub-install --prefix.
33883
33884 2007-06-13 Robert Millan <rmh@aybabtu.com>
33885
33886 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
33887 DEFAULT_DEVICE_MAP.
33888 * util/grub-emu.c: Use above definitions from misc.h instead of
33889 defining them.
33890 * util/grub-mkdevicemap.c: Likewise.
33891 * util/i386/pc/grub-setup.c: Likewise.
33892 * util/grub-probe.c: Likewise.
33893 (probe): Abort with grub_util_error() when either
33894 grub_guess_root_device or grub_util_get_grub_dev fails.
33895
33896 2007-06-12 Robert Millan <rmh@aybabtu.com>
33897
33898 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
33899 "pager" assignment.
33900 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
33901 "pcdata".
33902 * util/grub-probe.c (probe): Likewise for "drive_name".
33903
33904 2007-06-11 Robert Millan <rmh@aybabtu.com>
33905
33906 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
33907 not just the cdrom one.
33908
33909 2007-06-11 Robert Millan <rmh@aybabtu.com>
33910
33911 * util/i386/pc/grub-mkrescue.in: Add "set -e".
33912 Add --pkglibdir=DIR option to override pkglibdir.
33913 Mention --image-type=TYPE in help output.
33914 Fix --grub-mkimage (it was a no-op).
33915 Abort gracefully when no parameter is given.
33916
33917 2007-06-11 Robert Millan <rmh@aybabtu.com>
33918
33919 * util/i386/pc/grub-mkrescue.in: New file.
33920 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
33921 * Makefile.in: Handle bin_SCRIPTS.
33922
33923 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
33924
33925 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
33926 list of video modes.
33927
33928 2007-06-06 Robert Millan <rmh@aybabtu.com>
33929
33930 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
33931 file doesn't exist, or if it is in a filesystem grub can't read.
33932
33933 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
33934 not abort if GRUB_DRIVE could not be defined. Rearrange generated
33935 header comment to fit in 80 columns when the variables are resolved.
33936
33937 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
33938 could be identified by update-grub. Remove redundant check for
33939 unifont.pff existence (since convert_system_path_to_grub_path now
33940 handles that).
33941
33942 2007-06-04 Robert Millan <rmh@aybabtu.com>
33943
33944 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
33945
33946 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
33947
33948 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
33949
33950 2007-06-04 Robert Millan <rmh@aybabtu.com>
33951
33952 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
33953
33954 * include/grub/partition.h: Declare grub_apple_partition_map_init and
33955 grub_apple_partition_map_fini.
33956
33957 * util/biosdisk.c
33958 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
33959 to access >2 TiB disks).
33960
33961 Print disk->total_sectors with %llu instead of %lu, since this
33962 variable is always 64-bit (prevents wrong disk size from being displayed
33963 on either >2 TiB disk or big-endian CPU).
33964
33965 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
33966 into a generic case that supports all (sane) partition maps.
33967
33968 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
33969 breaks big-endian.
33970
33971 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
33972 and grub_apple_partition_map_fini() after that.
33973
33974 2007-06-01 Robert Millan <rmh@aybabtu.com>
33975
33976 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
33977
33978 * util/grub.d/00_header.in: Only enable gfxterm when
33979 convert_system_path_to_grub_path() succeeds.
33980
33981 2007-05-20 Robert Millan <rmh@aybabtu.com>
33982
33983 * util/update-grub_lib.in: New file.
33984 * DISTLIST: Add update-grub_lib.in.
33985 * conf/common.rmk: Generate update-grub_lib and install it in
33986 $(lib_DATA).
33987 * Makefile.in: Add install routine for $(lib_DATA).
33988
33989 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
33990 function provided by update-grub_lib to support arbitrary paths of
33991 unifont.pff.
33992 * util/update-grub.in: Use convert_system_path_to_grub_path() to
33993 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
33994
33995 2007-05-19 Robert Millan <rmh@aybabtu.com>
33996
33997 * commands/i386/cpuid.c: New module.
33998 * DISTLIST: Add it.
33999 * conf/i386-efi.rmk: Enable cpuid.mod.
34000 * conf/i386-pc.rmk: Likewise.
34001
34002 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
34003
34004 * kern/disk.c (grub_disk_read): Check return value of
34005 grub_realloc().
34006
34007 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
34008
34009 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
34010 arrays.
34011 * disk/raid.c (grub_raid_open): Likewise.
34012
34013 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
34014
34015 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
34016 stack instead of on the heap.
34017
34018 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
34019 before doing a read on it.
34020
34021 * configure.ac: Only use -fno-stack-protector for the target
34022 environment.
34023
34024 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
34025
34026 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
34027 __attribute_ ((unused)) to mode_type argument.
34028
34029 * util/getroot.c (grub_guess_root_device): Fix #endif.
34030
34031 * kern/misc.c (memcmp): Fix prototype.
34032
34033 * include/grub/partition.h [GRUB_UTIL]
34034 (grub_gpt_partition_map_init): Add prototype.
34035 (grub_gpt_partition_map_fini): Likewise.
34036
34037 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
34038 at the right place.
34039
34040 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
34041 (grub_fat_read_data): Likewise.
34042 (grub_fat_find_dir): Likewise.
34043
34044 * font/manager.c (find_glyph): Make table a const.
34045 (grub_font_get_glyph): Remove bitmap from if statement.
34046
34047 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
34048
34049 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
34050 code, first search for device in /dev/mapper, then in /dev.
34051 (grub_util_get_grub_dev): New function.
34052 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
34053 prototype.
34054 * util/grub-probe.c (probe): Remove check for RAID, call
34055 grub_util_get_grub_dev() instead of
34056 grub_util_biosdisk_get_grub_dev().
34057 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
34058 grub_util_biosdisk_get_grub_dev().
34059 * util/i386/pc/grub-setup.c (main): Likewise.
34060
34061 2007-05-16 Robert Millan <rmh@aybabtu.com>
34062
34063 * DISTLIST: Update for the latest changes.
34064 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
34065 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
34066 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
34067 grub/util/biosdisk.h.
34068 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
34069 grub/util/biosdisk.h.
34070
34071 2007-05-16 Robert Millan <rmh@aybabtu.com>
34072
34073 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
34074
34075 2007-05-16 Robert Millan <rmh@aybabtu.com>
34076
34077 * util/i386/efi/grub-install.in: New.
34078 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
34079 newly added grub-install.
34080 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
34081 include.
34082 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
34083 grub/util/biosdisk.h.
34084 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
34085 grub/util/biosdisk.h.
34086
34087 2007-05-16 Robert Millan <rmh@aybabtu.com>
34088
34089 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
34090 * include/grub/util/biosdisk.h: ... here.
34091 * util/i386/pc/biosdisk.c: Moved to ...
34092 * util/biosdisk.c: ... here.
34093 * util/i386/pc/getroot.c: Moved to ...
34094 * util/getroot.c: ... here.
34095 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
34096 * util/grub-mkdevicemap.c: ... here.
34097 * util/i386/pc/grub-probe.c: Moved to ...
34098 * util/grub-probe.c: ... here.
34099
34100 2007-05-15 Robert Millan <rmh@aybabtu.com>
34101
34102 * util/update-grub.in: Remove duplicated line in grub.cfg header
34103 message.
34104
34105 2007-05-13 Robert Millan <rmh@aybabtu.com>
34106
34107 * util/update-grub.in: Fix a few assumptions about the devices holding
34108 /, /boot and /boot/grub being the same.
34109 * util/grub.d/00_header.in: Likewise.
34110 * util/grub.d/10_hurd.in: Likewise.
34111 * util/grub.d/10_linux.in: Likewise.
34112
34113 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
34114 patterns. Use that to define the `.old' suffix as older than `'.
34115
34116 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
34117
34118 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
34119 the grub.cfg header message.
34120
34121 2007-05-11 Robert Millan <rmh@aybabtu.com>
34122
34123 * util/update-grub.in: Create device.map if it doesn't already exist,
34124 before attempting to run grub-probe.
34125 Check for grub-probe and grub-mkdevicemap with the same code
34126 grub-install is using.
34127 Remove test mode.
34128
34129 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
34130
34131 * Makefile.in: Add the datarootdir autoconf variable.
34132
34133 2007-05-09 Robert Millan <rmh@aybabtu.com>
34134
34135 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
34136 fail gracefully if dev->disk->partition == NULL.
34137
34138 2007-05-07 Robert Millan <rmh@aybabtu.com>
34139
34140 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
34141 determine partition map module.
34142 * util/i386/pc/grub-install.in: Use this feature to decide which
34143 partition module to load, instead of hardcoding pc and gpt.
34144
34145 2007-05-07 Robert Millan <rmh@aybabtu.com>
34146
34147 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
34148 source directory differs from build directory.
34149
34150 2007-05-05 Robert Millan <rmh@aybabtu.com>
34151
34152 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
34153 initialisation.
34154
34155 2007-05-05 Robert Millan <rmh@aybabtu.com>
34156
34157 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
34158
34159 2007-05-05 Robert Millan <rmh@aybabtu.com>
34160
34161 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
34162 command-line arguments via ${GRUB_CMDLINE_LINUX}.
34163
34164 2007-05-05 Robert Millan <rmh@aybabtu.com>
34165
34166 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
34167 (grub_probe_SOURCES): Likewise.
34168 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
34169 GPT and initialize dos_part and bsd_part accordingly.
34170 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
34171 install_bsd_part.
34172 (main): Activate gpt module for use during partition identification,
34173 and deactivate it afterwards.
34174 * util/i386/pc/grub-install.in: Add gpt module to core.img.
34175 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
34176 partition identification, and deactivate it afterwards.
34177
34178 2007-05-05 Robert Millan <rmh@aybabtu.com>
34179
34180 * term/i386/pc/console.c (grub_console_fini): Call
34181 grub_term_set_current() before grub_term_unregister().
34182
34183 2007-05-04 Robert Millan <rmh@aybabtu.com>
34184
34185 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
34186 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
34187 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
34188 and update-grub_DATA.
34189 * conf/common.rmk: Build and install update-grub components.
34190 * conf/common.mk: Regenerate.
34191 * util/update-grub.in: New. Core of update-grub.
34192 * util/grub.d/00_header.in: New. Generates grub.cfg header.
34193 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
34194 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
34195 * util/grub.d/README: New. Document grub.d directory layout.
34196
34197 2007-05-01 Robert Millan <rmh@aybabtu.com>
34198
34199 * util/grub-emu.c: Move initialization functions
34200 grub_util_biosdisk_init() and grub_init_all() before
34201 grub_util_biosdisk_get_grub_dev(), which relies on them.
34202
34203 2007-04-19 Robert Millan <rmh@aybabtu.com>
34204
34205 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
34206 it is used later.
34207
34208 2007-04-18 Jerone Young <jerone@gmail.com>
34209
34210 * kernel/elf.c: Add missing parenthesis for conditional statement
34211 stanza.
34212
34213 2007-04-10 Jerone Young <jerone@gmail.com>
34214
34215 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
34216 continue on and look for device node with real device name.
34217
34218 2007-04-10 Jerone Young <jerone@gmail.com>
34219
34220 * configure.ac: Add argument for autoconf to use transformation
34221 ability.
34222 * Makefile.in: Add autoconf package transformation code.
34223 * util/i386/pc/grub-install.in: Likewise.
34224 * util/powerpc/ieee1275/grub-install.in: Likewise.
34225
34226 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
34227
34228 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
34229 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
34230 (EXT2_REVISION): Likewise.
34231 (EXT2_INODE_SIZE): Likewise.
34232 (struct grub_ext2_block_group): Added a missing member
34233 "used_dirs".
34234 (grub_ext2_read_inode): Divide by the inode size in a superblock
34235 instead of 128 to obtain INODES_PER_BLOCK.
34236 Use the macro EXT2_INODE_SIZE instead of directly using
34237 SBLOCK->INODE_SIZE.
34238
34239 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
34240
34241 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
34242 superblock instead of the structure size to compute an
34243 offset. This fixes the problem that GRUB could not read a
34244 filesystem when inode size is different from 128-byte.
34245
34246 2007-03-05 Marco Gerards <marco@gnu.org>
34247
34248 * normal/main.c (read_config_file): When "menu" is not set, create
34249 an initial context.
34250
34251 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
34252
34253 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
34254 (HEAP_LIMIT): New macro.
34255 (grub_claim_heap): Claim memory up to `heaplimit'.
34256
34257 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
34258
34259 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
34260 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
34261 (_start): Likewise.
34262 (grub_arch_modules_addr): Return address after `_end'.
34263 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
34264 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
34265 (add_segments): Calculate `_end' from phdr size and location.
34266 (ALIGN_UP): Moved to ...
34267 * include/grub/misc.h: here.
34268 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
34269 New macro.
34270 (GRUB_IEEE1275_MODULE_BASE): Removed.
34271
34272 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
34273
34274 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
34275 loop boundary.
34276
34277 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
34278
34279 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
34280 All users updated.
34281 (grub_elf64_load_hook_t): Likewise.
34282 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
34283 debug output.
34284
34285 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
34286
34287 * kern/mm.c: Update copyright.
34288 (grub_mm_debug): Correct syntax error.
34289 (grub_mm_dump_free): New function.
34290 (grub_debug_free): Call `grub_free'.
34291 * include/grub/mm.h: Update copyright.
34292 (grub_mm_dump_free): Add declaration.
34293
34294 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
34295
34296 * include/grub/ieee1275/ieee1275.h: Update copyright.
34297 * kern/powerpc/ieee1275/init.c: Likewise.
34298 * kern/powerpc/ieee1275/openfw.c: Likewise.
34299
34300 * loader/powerpc/ieee1275/linux.c: Likewise.
34301 * include/grub/elfload.h: Likewise.
34302 * kern/elf.c: Likewise.
34303 (grub_elf32_load): Pass `base' and `size' parameters. Update all
34304 callers.
34305 (grub_elf64_load): Likewise.
34306 (grub_elf32_load_segment): Move to a nested function.
34307 (grub_elf64_load_segment): Likewise.
34308
34309 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
34310
34311 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
34312 prototype.
34313 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
34314 (grub_heap_len): Likewise.
34315 (HEAP_SIZE): New macro.
34316 (grub_claim_heap): New function.
34317 (grub_machine_init): Don't claim heap directly. Call
34318 `grub_claim_heap'.
34319 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
34320 (grub_available_iterate): New function.
34321
34322 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
34323
34324 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
34325 * configure.ac: Use it for testing the HOST and TARGET compilers.
34326
34327 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
34328
34329 * Makefile.in (enable_grub_emu): New variable.
34330 * configure.ac (--enable-grub-emu): New option.
34331 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
34332 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
34333 * conf/i386-pc.rmk: Likewise.
34334 * conf/powerpc-ieee1275.rmk: Likewise.
34335 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
34336
34337 2006-12-12 Marco Gerards <marco@gnu.org>
34338
34339 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
34340
34341 * kern/env.c (grub_env_unset): Don't free the member `value' when
34342 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
34343 pointer.
34344
34345 * normal/main.c (current_menu): Removed.
34346 (free_menu): Unset the `menu' environment variable.
34347 (grub_normal_menu_addentry): Make use of the environment variable
34348 `menu', instead of using the global `current_menu'. Allocate
34349 memory for the sourcecode of this entry.
34350 (read_config_file): New argument `nested', changed all callers.
34351 Only in the case of a new context, initialize a new menu. Set the
34352 `menu' environment variable.
34353 (grub_normal_execute): Don't set and unset the environment
34354 variable `menu' here anymore. Only free the menu when leaving the
34355 context.
34356
34357 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
34358 leak.
34359
34360 2006-12-11 Marco Gerards <marco@gnu.org>
34361
34362 * normal/menu_entry.c (run): Fix off by one bug so the last line
34363 is executed. Move the loader check to outside the loop.
34364
34365 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
34366
34367 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
34368
34369 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
34370
34371 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
34372 the number of sectors. Reported by Andrey Shuvikov
34373 <mr_hyro@yahoo.com>.
34374
34375 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
34376
34377 * kern/disk.c (grub_disk_read): When there is a read error, always
34378 try to read only the necessary data.
34379
34380 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
34381 disk/raid.c.
34382 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
34383 prototype.
34384 [GRUB_UTIL] (grub_raid_fini): Likewise.
34385 [GRUB_UTIL] (grub_lvm_init): Likewise.
34386 [GRUB_UTIL] (grub_lvm_fini): Likewise.
34387 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
34388 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
34389 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
34390 and grub_raid_fini().
34391
34392 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
34393
34394 * include/grub/types.h (__unused): Rename to UNUSED.
34395 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
34396 (grub_elf64_size): Likewise.
34397
34398 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
34399
34400 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
34401 grub_error_push and grub_error_pop in the error-handling path.
34402 (grub_elf32_load_segment): Only call grub_file_read with non-zero
34403 length.
34404
34405 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
34406
34407 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
34408 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
34409 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34410 (kernel_elf_SOURCES): Likewise.
34411 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
34412 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
34413 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34414 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
34415 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
34416 (elf_mod_SOURCES): New variable.
34417 (elf_mod_CFLAGS): Likewise.
34418 (elf_mod_LDFLAGS): Likewise.
34419 * include/grub/types.h (__unused): New macro.
34420 * include/grub/elfload.h: New file.
34421 * kern/elf.c: Likewise.
34422 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
34423 (ELF32_LOADMASK): New macro.
34424 (ELF64_LOADMASK): Likewise.
34425 (vmlinux): Removed.
34426 (grub_linux_load32): New function.
34427 (grub_linux_load64): Likewise.
34428 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
34429 Use grub_elf_t instead of grub_file_t.
34430
34431 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
34432
34433 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
34434 `catch_result' to struct set_color_args.
34435
34436 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
34437
34438 * normal/menu.c: Include grub/script.h.
34439 * normal/menu_entry.c: Likewise.
34440 * include/grub/normal.h: Do not include grub/script.h.
34441
34442 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34443
34444 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
34445
34446 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34447
34448 * kern/disk.c (grub_disk_open): Print debug messages when opening a
34449 disk.
34450 (grub_disk_close): Print debug messages when closing a disk.
34451 (grub_disk_read): Print debug messages when disk read fails.
34452 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
34453 filesystem type.
34454 * kern/partition.c: Include misc.h.
34455 (grub_partition_iterate): Print debug messages when detecting
34456 partition type.
34457
34458 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
34459
34460 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
34461 is negative.
34462 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
34463
34464 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
34465
34466 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
34467 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
34468
34469 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
34470
34471 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
34472 instead of sizeof(lv). Patch by Michael Guntsche.
34473
34474 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
34475
34476 * disk/lvm.c: Rename VGS to VG_LIST.
34477 (grub_lvm_iterate): Change VGS->LV to VG-LV.
34478 (grub_lvm_open): Likewise.
34479 Thanks to Michael Guntsche for finding this bug.
34480
34481 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
34482
34483 * configure.ac (AC_INIT): Bumped to 1.95.
34484
34485 2006-10-14 Robert Millan <rmh@aybabtu.com>
34486
34487 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
34488 with "/dev/.static/dev/md".
34489
34490 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
34491
34492 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
34493 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
34494 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
34495 DRIVE_NAME are always freed.
34496
34497 * util/i386/pc/biosdisk.c (make_device_name): Add one into
34498 DOS_PART, as a DOS partition is counted from one instead of zero
34499 now. Reported by Robert Millan.
34500
34501 2006-10-14 Robert Millan <rmh@aybabtu.com>
34502
34503 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
34504 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
34505 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
34506 string returned by grub_guess_root_device.
34507 * util/i386/pc/grub-setup.c: Likewise.
34508 * util/i386/pc/grub-probefs.c: Likewise.
34509
34510 * util/i386/pc/grub-probefs.c: Rename to ...
34511 * util/i386/pc/grub-probe.c: ... this.
34512 * DISTLIST: Remove grub-probefs, add grub-probe.
34513 * conf/i386-efi.rmk: Likewise.
34514 * conf/i386-pc.rmk: Likewise.
34515 * util/i386/pc/grub-install.in: Likewise.
34516
34517 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
34518 choose which information we want to print.
34519
34520 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
34521
34522 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
34523 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
34524 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
34525 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
34526 video/readers/tga.c and video/i386/pc/vbeutil.c.
34527
34528 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
34529
34530 Added support for RAID and LVM.
34531
34532 * disk/lvm.c: New file.
34533 * disk/raid.c: Likewise.
34534 * include/grub/lvm.h: Likewise.
34535 * include/grub/raid.h: Likewise.
34536 * include/grub/util/lvm.h: Likewise.
34537 * include/grub/util/raid.h: Likewise.
34538 * util/lvm.c: Likewise.
34539 * util/raid.c: Likewise.
34540
34541 * include/grub/disk.h (grub_disk_dev_id): Add
34542 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
34543 (grub_disk_get_size): New prototype.
34544 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
34545 returns a partition.
34546 (grub_disk_get_size): New function.
34547
34548 * kern/i386/pc/init.c (make_install_device): Copy the prefix
34549 verbatim if grub_install_dos_part is -2.
34550
34551 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
34552 and LVM devices.
34553
34554 * util/i386/pc/grub-setup.c (setup): New argument
34555 MUST_EMBED. Force embedding of GRUB when the argument is
34556 true. Close FILE before returning.
34557 (main): Add support for RAID and LVM.
34558
34559 * conf/common.rmk: Add RAID and LVM modules.
34560 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
34561 util/lvm.c.
34562 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
34563
34564 * kern/misc.c (grub_strstr): New function.
34565 * include/grub/misc.h (grub_strstr): New prototype.
34566
34567 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
34568
34569 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
34570
34571 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
34572
34573 * kern/misc.c (grub_strtoull): Guess the base only if not
34574 specified.
34575
34576 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
34577
34578 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
34579 PowerMac support.
34580
34581 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
34582
34583 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
34584
34585 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
34586 Remove `flags' argument. All callers changed.
34587 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
34588 (IEEE1275_IHANDLE_INVALID): New variable.
34589 (IEEE1275_CELL_INVALID): New variable.
34590 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
34591 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
34592 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
34593 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
34594 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
34595 codes from Open Firmware. All callers updated.
34596 (grub_ieee1275_next_property): Directly return Open Firmware return
34597 code.
34598 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
34599 Standardize error checking from `grub_ieee1275_get_property'.
34600 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
34601 `devalias' to `aliases'. Correct comments. Consolidate error paths.
34602
34603 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
34604
34605 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
34606 `instance_to_package_args' to `instance_to_path_args'.
34607
34608 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
34609 `grub_ieee1275_chosen'.
34610
34611 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
34612 `grub_ieee1275_interpret'.
34613
34614 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
34615
34616 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
34617
34618 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
34619
34620 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
34621 (__cmpdi): Likewise.
34622
34623 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
34624 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
34625 `grub_ssize_t'.
34626
34627 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
34628
34629 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
34630 to type `grub_ssize_t'.
34631 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
34632
34633 2006-09-22 Marco Gerards <marco@gnu.org>
34634
34635 * normal/script.c (grub_script_create_cmdmenu): Skip leading
34636 newlines.
34637
34638 2006-09-22 Marco Gerards <marco@gnu.org>
34639
34640 * commands/echo.c: New file.
34641
34642 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
34643
34644 * conf/common.rmk (echo_mod_SOURCES): New variable.
34645 (echo_mod_CFLAGS): Likewise.
34646 (echo_mod_LDFLAGS): Likewise.
34647
34648 2006-09-22 Marco Gerards <marco@gnu.org>
34649
34650 * normal/main.c (get_line): Malloc memory instead of using
34651 preallocated memory. Removed the arguments `cmdline' and
34652 `max_len'. Updated all callers.
34653
34654 2006-09-22 Marco Gerards <marco@gnu.org>
34655
34656 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
34657 (normal_mod_DEPENDENCIES): Likewise.
34658
34659 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
34660 (normal_mod_DEPENDENCIES): Likewise.
34661
34662 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
34663
34664 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
34665
34666 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
34667 programs.
34668 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
34669 (normal_mod_DEPENDENCIES): Likewise.
34670 * conf/i386-pc.mk: Regenerate.
34671 * conf/i386-efi.mk: Likewise
34672 * conf/common.mk: Likewise.
34673 * conf/powerpc-ieee1275.mk: Likewise.
34674 * conf/sparc64-ieee1275.mk: Likewise.
34675
34676 2006-09-22 Robert Millan <rmh@aybabtu.com>
34677
34678 Sync with i386 version.
34679 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
34680 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
34681
34682 2006-09-21 Robert Millan <rmh@aybabtu.com>
34683
34684 Import from GRUB Legacy (lib/device.c):
34685 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
34686 (init_device_map) [__linux__]: Add support for I2O devices.
34687
34688 2006-09-14 Marco Gerards <marco@gnu.org>
34689
34690 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
34691 `-melf_i386'.
34692
34693 2006-09-14 Robert Millan <rmh@aybabtu.com>
34694
34695 * util/i386/pc/grub-install.in: Skip menu.lst when removing
34696 /boot/grub/*.lst.
34697
34698 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
34699
34700 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
34701 before adding it to device.map.
34702
34703 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
34704
34705 * genmk.rb: Let GCC generate dependencies the first time it
34706 compiles a file; using the -MD option.
34707 * conf/common.mk: Regenerate.
34708 * conf/i386-pc.mk: Likewise.
34709 * conf/i386-efi.mk: Likewise.
34710 * conf/powerpc-ieee1275.mk: Likewise.
34711 * conf/sparc64-ieee1275.mk: Likewise.
34712
34713 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
34714
34715 Move the prototypes of grub_setjmp and grub_longjmp to
34716 cpu/setjmp.h, so that each architecture may specify different
34717 attributes.
34718
34719 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
34720 (grub_longjmp): Likewise.
34721 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
34722 (grub_longjmp): Likewise.
34723 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
34724 (grub_longjmp): Likewise.
34725
34726 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
34727 [!GRUB_UTIL] (grub_longjmp): Removed.
34728
34729 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
34730
34731 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
34732 "color!" method does not return any value.
34733
34734 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34735
34736 * include/grub/bitmap.h: New file.
34737
34738 * include/grub/i386/pc/vbeutil.h: Likewise.
34739
34740 * video/bitmap.c: Likewise.
34741
34742 * video/readers/tga.c: Likewise.
34743
34744 * video/i386/pc/vbeutil.c: Likewise.
34745
34746 * commands/videotest.c: Code cleanup and updated to reflect to new
34747 video API.
34748
34749 * term/gfxterm.c: Likewise.
34750
34751 * video/video.c: Likewise.
34752
34753 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
34754 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
34755 (bitmap_mod_SOURCES): New entry.
34756 (bitmap_mod_CFLAGS): Likewise.
34757 (bitmap_mod_LDFLAGS): Likewise.
34758 (tga_mod_SOURCES): Likewise.
34759 (tga_mod_CFLAGS): Likewise.
34760 (tga_mod_LDFLAGS): Likewise.
34761
34762 * include/grub/video.h (grub_video_blit_operators): New enum type.
34763 (grub_video_render_target): Changed as forward declaration and moved
34764 actual definition to be video driver specific.
34765 (grub_video_adapter.blit_bitmap): Added blitting operator.
34766 (grub_video_adapter.blit_render_target): Likewise.
34767 (grub_video_blit_bitmap): Likewise.
34768 (grub_video_blit_render_target): Likewise.
34769
34770 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
34771 driver specific render target definition.
34772 (grub_video_vbe_map_rgba): Added driver internal helper.
34773 (grub_video_vbe_unmap_color): Updated to use
34774 grub_video_i386_vbeblit_info.
34775 (grub_video_vbe_get_video_ptr): Likewise.
34776
34777 * include/grub/i386/pc/vbeblit.h
34778 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
34779 grub_video_i386_vbeblit_info.
34780 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34781 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34782 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34783 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34784 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34785 (grub_video_i386_vbeblit_index_index): Likewise.
34786 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
34787 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34788 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34789 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
34790 operator.
34791 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
34792 operator.
34793
34794 * video/i386/pc/vbeblit.c: Updated to reflect changes on
34795 include/grub/i386/pc/vbeblit.h.
34796
34797 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
34798 Updated to use grub_video_i386_vbeblit_info.
34799 (grub_video_i386_vbefill_R8G8B8): Likewise.
34800 (grub_video_i386_vbefill_index): Likewise.
34801 (grub_video_i386_vbefill): Added generic filler.
34802
34803 * video/i386/pc/vbefill.c: Updated to reflect changes on
34804 include/grub/i386/pc/vbefill.h.
34805
34806 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
34807 grub_video_i386_vbeblit_info.
34808 (grub_video_vbe_unmap_color): Likewise.
34809 (grub_video_vbe_blit_glyph): Likewise.
34810 (grub_video_vbe_scroll): Likewise.
34811 (grub_video_vbe_draw_pixel): Removed function.
34812 (grub_video_vbe_get_pixel): Likewise.
34813 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
34814 updated code to use it.
34815 (common_blitter): Added common blitter for render target and bitmap.
34816 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
34817 (grub_video_vbe_blit_render_target): Likewise.
34818
34819 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
34820
34821 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
34822 is in text mode if there is no console control protocol instance
34823 available.
34824
34825 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34826
34827 * include/grub/video.h: Code cleanup.
34828
34829 * include/grub/i386/pc/vbe.h: Likewise.
34830
34831 * video/i386/pc/vbe.c: Likewise.
34832
34833 * video/i386/pc/vbeblit.c: Likewise.
34834
34835 * video/i386/pc/vbefill.c: Likewise.
34836
34837 * video/video.c: Likewise. Also added more comments.
34838
34839 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34840
34841 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
34842 (struct grub_biosdisk_dap): Likewise.
34843
34844 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
34845 linkage settings for all functions.
34846
34847 2006-07-12 Marco Gerards <marco@gnu.org>
34848
34849 * configure.ac (--enable-mm-debug): Fix typo.
34850
34851 * genkernsyms.sh.in: Use proper quoting for `CC'.
34852
34853 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
34854
34855 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
34856 (normal_mod_ASFLAGS): Remove "-m32".
34857
34858 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
34859
34860 * util/misc.c: Include config.h.
34861 [!HAVE_MEMALIGN]: Do not include malloc.h.
34862 (grub_memalign): Use posix_memalign, if present. Then, use
34863 memalign, if present. Otherwise, emit an error.
34864
34865 * util/grub-emu.c: Do not include malloc.h.
34866
34867 * include/grub/util/misc.h: Include unistd.h. This is required for
34868 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
34869 D. Eades III <hde@foobar-qux.org>.
34870
34871 * configure.ac (AC_GNU_SOURCE): Added.
34872 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
34873 type.
34874
34875 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
34876
34877 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
34878 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
34879
34880 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
34881
34882 * include/grub/types.h (grub_host_addr_t): Rename to
34883 grub_target_addr_t.
34884 (grub_host_off_t): Rename to grub_target_off_t.
34885 (grub_host_size_t): Rename to grub_target_size_t.
34886 (grub_host_ssize_t): Rename to grub_target_ssize_t.
34887 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
34888
34889 * include/grub/kernel.h (struct grub_module_header): Change type
34890 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
34891 (grub_module_info): Likewise.
34892
34893 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34894
34895 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
34896 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
34897 Velazquez <jesus.velazquez@gmail.com>.
34898
34899 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34900
34901 Count partitions from 1 instead of 0 in the string representation
34902 of partitions. Still use 0-based internally.
34903
34904 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
34905 (sun_partition_map_iterate): Use grub_partition_t instead of
34906 struct grub_partition *. Cast DESC->START_CYLINDER to
34907 grub_uint64_t after converting the endian.
34908 (sun_partition_map_probe): Subtract 1 for PARTNUM.
34909 (sun_partition_map_get_name): Add 1 to P->INDEX.
34910
34911 * partmap/pc.c (grub_partition_parse): Subtract 1 for
34912 PCDATA->DOS_PART.
34913 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
34914
34915 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
34916 zero instead of one.
34917 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
34918 (gpt_partition_map_get_name): Add 1 into P->INDEX.
34919
34920 * partmap/apple.c (apple_partition_map_iterate): Change the type
34921 of POS to unsigned.
34922 (apple_partition_map_probe): Subtract 1 for PARTNUM.
34923 (apple_partition_map_get_name): Add 1 into P->INDEX.
34924
34925 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
34926 of POS to unsigned.
34927 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
34928 calculate the offset of a partition.
34929 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
34930 (amiga_partition_map_get_name): Add 1 into P->INDEX.
34931
34932 * partmap/acorn.c (acorn_partition_map_find): Change the type of
34933 SECTOR to grub_disk_addr_t.
34934 (acorn_partition_map_iterate): Likewise.
34935 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
34936 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
34937 top.
34938 (acorn_partition_map_get_name): Add 1 into P->INDEX.
34939
34940 * kern/i386/pc/init.c (make_install_device): Add 1 into
34941 GRUB_INSTALL_DOS_PART.
34942
34943 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
34944 conditional.
34945
34946 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
34947
34948 Clean up the code to support 64-bit addressing in disks and
34949 files. This change is not enough for filesystems yet.
34950
34951 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
34952 type of "start" to grub_uint64_t.
34953 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
34954 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
34955 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
34956 convert addresses.
34957
34958 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
34959 to grub_disk_addr_t.
34960
34961 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
34962 string.
34963
34964 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34965
34966 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
34967 to char *.
34968
34969 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
34970
34971 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
34972
34973 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
34974
34975 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
34976 to grub_off_t, to detect an error from grub_file_seek.
34977 (grub_multiboot_load_elf32): Likewise.
34978
34979 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
34980 maximum unsigned long value when an overflow is detected.
34981 (grub_strtoull): New function.
34982 (grub_divmod64): Likewise.
34983 (grub_lltoa): use grub_divmod64.
34984
34985 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
34986 grub_disk_addr_t.
34987 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
34988 the pointer to next character. Use grub_strtoull instead of
34989 grub_strtoul.
34990 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
34991 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
34992 respectively.
34993
34994 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
34995 return value is signed.
34996 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
34997 test if OFFSET is less than zero, as OFFSET is unsigned now.
34998
34999 * kern/disk.c (struct grub_disk_cache): Change the type of
35000 "sector" to grub_disk_addr_t.
35001 (grub_disk_cache_get_index): Change the type of SECTOR to
35002 grub_disk_addr_t. Calculate the hash with SECTOR casted to
35003 unsigned after shifting.
35004 (grub_disk_cache_invalidate): Change the type of SECTOR to
35005 grub_disk_addr_t.
35006 (grub_disk_cache_unlock): Likewise.
35007 (grub_disk_cache_store): Likewise.
35008 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
35009 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
35010 grub_disk_addr_t and grub_uint64_t, respectively.
35011 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
35012 body, as the value of OFFSET is tweaked by
35013 grub_disk_check_range. Change the types of START_SECTOR, LEN and
35014 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
35015 respectively.
35016 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
35017 body, as the value of OFFSET is tweaked by
35018 grub_disk_check_range. Change the types of LEN and N to
35019 grub_size_t.
35020
35021 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
35022 and "saved_offset" to grub_off_t.
35023 (test_header): Cast BUF to char *.
35024 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
35025 to char *.
35026 (grub_gzio_read): Change the types of OFFSET and SIZE to
35027 grub_off_t and grub_size_t, respectively.
35028
35029 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
35030 Removed.
35031 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
35032 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
35033 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
35034 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
35035 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
35036
35037 * include/grub/types.h (grub_off_t): Unconditionally set to
35038 grub_uint64_t.
35039 (grub_disk_addr_t): Changed to grub_uint64_t.
35040
35041 * include/grub/partition.h (struct grub_partition): Change the
35042 types of "start", "len" and "offset" to grub_disk_addr_t,
35043 grub_uint64_t and grub_disk_addr_t, respectively.
35044 (grub_partition_get_start): Return grub_disk_addr_t.
35045 (grub_partition_get_len): Return grub_uint64_t.
35046
35047 * include/grub/misc.h (grub_strtoull): New prototype.
35048 (grub_divmod64): Likewise.
35049
35050 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
35051 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
35052 grub_off_t, respectively.
35053 All callers and references changed.
35054
35055 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
35056 grub_size_t in "read".
35057 All callers and references changed.
35058
35059 * include/grub/file.h (struct grub_file): Change the types of
35060 "offset" and "size" to grub_off_t and grub_off_t,
35061 respectively. Change the type of SECTOR to grub_disk_addr_t in
35062 "read_hook".
35063 (grub_file_read): Change the type of LEN to grub_size_t.
35064 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
35065 grub_off_t.
35066 (grub_file_size): Return grub_off_t.
35067 (grub_file_tell): Likewise.
35068 All callers and references changed.
35069
35070 * include/grub/disk.h (struct grub_disk_dev): Change the types of
35071 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
35072 "write".
35073 (struct grub_disk): Change the type of "total_sectors" to
35074 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
35075 "read_hook".
35076 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
35077 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
35078 (grub_disk_write): Likewise.
35079 All callers and references changed.
35080
35081 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
35082 char * for grub_strncmp to silence gcc.
35083 (grub_iso9660_mount): Likewise.
35084 (grub_iso9660_mount): Likewise.
35085 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
35086 return statement.
35087 (grub_iso9660_iterate_dir): Likewise.
35088 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
35089
35090 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
35091 LEN to grub_disk_addr_t and grub_size_t, respectively.
35092
35093 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
35094
35095 * fs/jfs.c (grub_jfs_read_file): Likewise.
35096
35097 * fs/minix.c (grub_jfs_read_file): Likewise.
35098
35099 * fs/sfs.c (grub_jfs_read_file): Likewise.
35100
35101 * fs/ufs.c (grub_jfs_read_file): Likewise.
35102
35103 * fs/xfs.c (grub_jfs_read_file): Likewise.
35104
35105 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
35106 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
35107 respectively.
35108
35109 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
35110 BLKNR to -1 instead of returning GRUB_ERRNO.
35111 (grub_ext2_read_file): Change the types of SECTOR and
35112 LEN to grub_disk_addr_t and grub_size_t, respectively.
35113
35114 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
35115 LEN to grub_disk_addr_t and grub_size_t, respectively.
35116
35117 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
35118 grub_file_read.
35119
35120 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
35121 string. Do not cast SECTOR explicitly.
35122
35123 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
35124 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
35125 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
35126 grub_disk_addr_t and grub_size_t, respectively. If the sector is
35127 over 2TB and LBA mode is not supported, raise an error.
35128 (get_safe_sectors): New function.
35129 (grub_biosdisk_read): Use get_safe_sectors.
35130 (grub_biosdisk_write): Likewise.
35131
35132 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
35133 (grub_efidisk_write): Likewise.
35134
35135 * disk/loopback.c (delete_loopback): Cosmetic changes.
35136 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
35137 correctly.
35138 (grub_loopback_open): Likewise.
35139 (grub_loopback_read): Likewise. Also, change the type of POS to
35140 grub_off_t, and fix the usage of grub_memset.
35141
35142 * commands/i386/pc/play.c: Include grub/machine/time.h.
35143
35144 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
35145 print FILE->SIZE.
35146
35147 * commands/configfile.c: Include grub/env.h.
35148
35149 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
35150 GRUB_ERRNO directly instead. Change the type of POS to
35151 grub_off_t. Follow the coding standard.
35152
35153 * commands/blocklist.c: Include grub/partition.h.
35154 (grub_cmd_blocklist): Return an error if the underlying device is
35155 not a disk. Take the starting sector of a partition into account,
35156 if a partition is used.
35157
35158 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
35159 a length field.
35160 (lba_mode): Support 64-bit addresses.
35161 (chs_mode): Likewise.
35162 (copy_buffer): Adapted to the new offsets of a length field and a
35163 segment field.
35164 (blocklist_default_start): Allocate 64-bit space.
35165
35166 * boot/i386/pc/boot.S (force_lba): Removed.
35167 (boot_drive): Moved to under KERNEL_SECTOR.
35168 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
35169 space.
35170 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
35171 is useless.
35172 (lba_mode): Refactored to support a 64-bit address. More size
35173 optimization.
35174 (setup_sectors): Likewise.
35175
35176 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
35177
35178 * DISTLIST: Added include/grub/i386/linux.h. Removed
35179 include/grub/i386/pc/linux.h
35180
35181 * configure.ac (AC_INIT): Bumped to 1.94.
35182
35183 * config.guess: Updated from gnulib.
35184 * config.sub: Likewise.
35185 * install-sh: Likewise.
35186 * mkinstalldirs: Likewise.
35187
35188 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
35189
35190 * conf/common.rmk (grub_modules_init.lst): Depended on
35191 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
35192 MODSRCFILES.
35193
35194 * genmk.rb (PModule::rule): Reverted the previous change.
35195
35196 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
35197
35198 * conf/common.rmk (grub_modules_init.lst): Depends on
35199 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
35200 that the target does not exist before producing.
35201 (grub_modules_init.h): Remove the target before generating.
35202 (grub_emu_init.c): Likewise.
35203
35204 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
35205
35206 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
35207
35208 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
35209 for the target-specific tests. Make sure that we also have the
35210 up-to-date target variables for those tests.
35211
35212 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
35213
35214 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
35215 (PModule::rule): Likewise.
35216
35217 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
35218
35219 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
35220 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
35221 target-specific flags should be prefixed.
35222 (PModule::rule): Likewise.
35223
35224 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
35225
35226 * configure.ac (CMP): Check if cmp is available explicitly.
35227
35228 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
35229
35230 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
35231 (target_cpu): New variable.
35232 (pkglibdir): Use target_cpu instead of host_cpu.
35233
35234 * util/i386/pc/grub-install.in (host_cpu): Removed.
35235 (target_cpu): New variable.
35236 (pkglibdir): Use target_cpu instead of host_cpu.
35237
35238 * util/genmoddep.c: Removed.
35239
35240 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
35241 instead of GRUB_HOST_SIZEOF_VOID_P.
35242 * kern/dl.c: Likewise.
35243
35244 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
35245 ...
35246 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
35247 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
35248 (GRUB_TARGET_SIZEOF_LONG): ... this.
35249 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
35250 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
35251 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
35252 to ...
35253 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
35254 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
35255 (GRUB_TARGET_SIZEOF_LONG): ... this.
35256 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
35257 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
35258 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
35259 to ...
35260 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
35261 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
35262 (GRUB_TARGET_SIZEOF_LONG): ... this.
35263 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
35264 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
35265
35266 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
35267 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
35268 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
35269 instead of GRUB_HOST_SIZEOF_LONG.
35270 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
35271 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
35272 GRUB_CPU_WORDS_BIGENDIAN.
35273 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
35274 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
35275 grub_host_ssize_t.
35276
35277 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
35278 (genmoddep_SOURCES): Likewise.
35279 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
35280 (genmoddep_SOURCES): Likewise.
35281 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
35282 (genmoddep_SOURCES): Likewise.
35283 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
35284 Likewise.
35285 (genmoddep_SOURCES): Likewise.
35286
35287 * genmoddep.awk: New file.
35288
35289 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
35290 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
35291 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
35292 (PModule::rule): Likewise.
35293 (Program::rule): Likewise.
35294 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
35295 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
35296 respectively.
35297
35298 * configure.ac: Rewritten intensively to use host and target
35299 instead of build and host, respectively.
35300
35301 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
35302 (host_cpu): Removed.
35303 (target_cpu): New variable.
35304 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
35305 (BUILD_CC): Removed.
35306 (BUILD_CFLAGS): Likewise.
35307 (BUILD_CPPFLAGS): Likewise.
35308 (TARGET_CC): New variable.
35309 (TARGET_CFLAGS): Likewise.
35310 (TARGET_CPPFLAGS): Likewise.
35311 (TARGET_LDFLAGS): Likewise.
35312 (AWK): Likewise.
35313 (include): Use target_cpu instead of host_cpu.
35314 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
35315
35316 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
35317
35318 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
35319
35320 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
35321 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
35322 field 'false' to 'exec_on_false'.
35323 (grub_script_create_cmdif): Renamed argument names to reflect above
35324 changes.
35325
35326 * normal/execute.c (grub_script_execute_cmdif): Likewise.
35327
35328 * normal/script.c (grub_script_create_cmdif): Likewise.
35329
35330 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
35331
35332 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
35333 top.
35334 (grub_hfsplus_btree_recptr): Likewise.
35335 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
35336 FILEBLOCK both to pass a block number and store next block
35337 number.
35338 (grub_hfsplus_read_block): Rewritten heavily to support an extent
35339 overflow file correctly. Specify errors appropriately, because
35340 fshelp expects that GRUB_ERRNO is set when fails. Reuse
35341 grub_hfsplus_btree_recptr to get the pointer to a found key.
35342 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
35343 is found.
35344
35345 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
35346 linux.mod.
35347 (_linux_mod_SOURCES): New variable.
35348 (_linux_mod_CFLAGS): Likewise.
35349 (_linux_mod_LDFLAGS): Likewise.
35350 (linux_mod_SOURCES): Likewise.
35351 (linux_mod_CFLAGS): Likewise.
35352 (linux_mod_LDFLAGS): Likewise.
35353
35354 * DISTLIST: Added loader/i386/efi/linux.c,
35355 loader/i386/efi/linux_normal.c and
35356 include/grub/i386/efi/loader.h.
35357
35358 * loader/i386/efi/linux.c: New file.
35359 * loader/i386/efi/linux_normal.c: Likewise.
35360 * include/grub/i386/efi/loader.h: Likewise.
35361
35362 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
35363
35364 * commands/blocklist.c: New file.
35365
35366 * DISTLIST: Added commands/blocklist.c.
35367
35368 * term/efi/console.c (grub_console_highlight_color): Use a lighter
35369 color for the background, and a darker color for the foreground.
35370 (grub_console_checkkey): Return READ_KEY.
35371 (grub_console_cls): Set the background to
35372 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
35373
35374 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
35375
35376 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
35377 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
35378
35379 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
35380 prototype.
35381
35382 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
35383 BG. The spec is wrong again.
35384
35385 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
35386 prototype.
35387 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
35388
35389 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
35390 commands/blocklist.c.
35391 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35392
35393 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
35394 (blocklist_mod_SOURCES): New variable.
35395 (blocklist_mod_CFLAGS): Likewise.
35396 (blocklist_mod_LDFLAGS): Likewise.
35397
35398 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
35399
35400 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
35401 duplication.
35402 (lba_mode): Use %eax more intensively to reduce the code size.
35403
35404 2006-05-20 Marco Gerards <marco@gnu.org>
35405
35406 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
35407
35408 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
35409 for `menuentry'.
35410 (script): Accept leading newlines.
35411 (newlines): New rule to describe 0 or more newlines.
35412 (commands): Accept `command' with trailing newline. Fixed the
35413 order in which arguments were passed to `grub_script_add_cmd'.
35414 Accept commands separated by newlines.
35415 (function): Changed to accept newlines.
35416 (menuentry) Rewritten.
35417
35418 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
35419 front of the list, instead of to the end.
35420
35421 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
35422
35423 * util/i386/pc/grub-install.in (bindir): New variable.
35424 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
35425 Shaver <lbgwjl@gmail.com>.
35426
35427 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
35428
35429 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
35430 grub/machine/linux.h
35431 * loader/i386/pc/linux.c: Likewise.
35432
35433 * include/grub/i386/pc/linux.h: Moved to ...
35434 * include/grub/i386/linux.h: ... here.
35435
35436 * include/grub/i386/linux.h (struct linux_kernel_params): New
35437 struct.
35438
35439 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
35440
35441 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
35442 checking.
35443 (grub_video_vbe_blit_glyph): Likewise.
35444 (grub_video_vbe_blit_bitmap): Likewise.
35445 (grub_video_vbe_blit_render_target): Likewise.
35446
35447 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
35448
35449 * configure.ac (--with-platform): Properly quote the square
35450 brackets.
35451
35452 2006-05-08 Marco Gerards <marco@gnu.org>
35453
35454 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
35455 this...
35456 (kernel_elf_HEADERS): ...to this. Updated all users.
35457 (grubof_symlist.c): Renamed from this...
35458 (kernel_elf_symlist.c): ...to this. Updated all users.
35459 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
35460 (grubof_SOURCES): Renamed from this...
35461 (kernel_elf_SOURCES): ...to this.
35462 (grubof_HEADERS): Renamed from this...
35463 (kernel_elf_HEADERS): ...to this.
35464 (grubof_CFLAGS): Renamed from this...
35465 (kernel_elf_CFLAGS): ...to this.
35466 (grubof_ASFLAGS): Renamed from this...
35467 (kernel_elf_ASFLAGS): ...to this.
35468 (grubof_LDFLAGS): Renamed from this...
35469 (kernel_elf_LDFLAGS): ...to this.
35470
35471 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
35472 this...
35473 (kernel_elf_HEADERS): ...to this. Updated all users.
35474 (grubof_symlist.c): Renamed from this...
35475 (kernel_elf_symlist.c): ...to this. Updated all users.
35476 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
35477 (grubof_SOURCES): Renamed from this...
35478 (kernel_elf_SOURCES): ...to this.
35479 (grubof_HEADERS): Renamed from this...
35480 (kernel_elf_HEADERS): ...to this.
35481 (grubof_CFLAGS): Renamed from this...
35482 (kernel_elf_CFLAGS): ...to this.
35483 (grubof_ASFLAGS): Renamed from this...
35484 (kernel_elf_ASFLAGS): ...to this.
35485 (grubof_LDFLAGS): Renamed from this...
35486 (kernel_elf_LDFLAGS): ...to this.
35487
35488 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
35489 `kernel.elf' instead of `grubof'.
35490
35491 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
35492
35493 Add --with-platform to configure. Use pkglibdir instead of
35494 pkgdatadir. This is reported by Roger Leigh.
35495
35496 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
35497 (host_vendor): Likewise.
35498 (host_os): Likewise.
35499 (pkgdatadir): Likewise.
35500 (platform): New variable.
35501 (pkglibdir): Likewise.
35502 Use PKGLIBDIR instead of PKGDATADIR.
35503
35504 * util/i386/pc/grub-install.in (datadir): Removed.
35505 (host_vendor): Likewise.
35506 (host_os): Likewise.
35507 (pkgdatadir): Likewise.
35508 (platform): New variable.
35509 (pkglibdir): Likewise.
35510 Use PKGLIBDIR instead of PKGDATADIR.
35511
35512 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
35513 instead of GRUB_DATADIR.
35514 (main): Likewise.
35515 * util/i386/pc/grub-mkimage.c (usage): Likewise.
35516 (main): Likewise.
35517 * util/i386/efi/grub-mkimage.c (usage): Likewise.
35518 (main): Likewise.
35519
35520 * configure.ac (--with-platform): New option.
35521 Use PLATFORM instead of HOST_VENDOR to specify a platform.
35522
35523 * Makefile.in: Include a makefile based on PLATFORM instead of
35524 HOST_VENDOR.
35525 (pkgdatadir): Not appended by the machine type.
35526 (pkglibdir): Appended by the machine type.
35527 (host_vendor): Removed.
35528 (platform): New variable.
35529 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
35530 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
35531 (uninstall): Likewise.
35532
35533 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
35534
35535 Use the environment context in the menu. Remove the commands
35536 "default" and "timeout", and use variables instead.
35537
35538 * normal/menu.c: Include grub/env.h.
35539 (print_entry): Cast TITLE to silence gcc.
35540 (get_timeout): New function.
35541 (set_timeout): Likewise.
35542 (get_entry_number): Likewise.
35543 (run_menu): Use a default entry, a fallback entry and a timeout
35544 in the environment variables "default", "fallback" and
35545 "timeout". Also, tweak the default entry if it is not within the
35546 current menu entries.
35547 (grub_menu_run): Use a fallback entry in the environment variable
35548 "fallback".
35549
35550 * normal/main.c (read_config_file): Do not initialize
35551 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
35552 NEWMENU->TIMEOUT.
35553 (grub_normal_execute): Use a data slot to store the menu.
35554
35555 * include/grub/normal.h (struct grub_menu): Removed default_entry,
35556 fallback_entry and timeout.
35557 (struct grub_menu_list): Removed.
35558 (grub_menu_list_t): Likewise.
35559 (struct grub_context): Likewise.
35560 (grub_context_t): Likewise.
35561 (grub_context_get): Likewise.
35562 (grub_context_get_current_menu): Likewise.
35563 (grub_context_push_menu): Likewise.
35564 (grub_context_pop_menu): Likewise.
35565 (grub_default_init): Likewise.
35566 (grub_default_fini): Likewise.
35567 (grub_timeout_init): Likewise.
35568 (grub_timeout_fini): Likewise.
35569
35570 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
35571 and timeout.mod.
35572 (normal_mod_SOURCES): Removed normal/context.c.
35573
35574 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
35575 commands/default.c, commands/timeout.c and normal/context.c.
35576 (normal_mod_SOURCES): Removed normal/context.c.
35577
35578 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
35579 commands/timeout.c and normal/context.c.
35580 (normal_mod_SOURCES): Removed normal/context.c.
35581
35582 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
35583 commands/default.c, commands/timeout.c and normal/context.c.
35584 (normal_mod_SOURCES): Removed normal/context.c.
35585
35586 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
35587 timeout.mod.
35588 (default_mod_SOURCES): Removed.
35589 (default_mod_CFLAGS): Likewise.
35590 (default_mod_LDFLAGS): Likewise.
35591 (timeout_mod_SOURCES): Removed.
35592 (timeout_mod_CFLAGS): Likewise.
35593 (timeout_mod_LDFLAGS): Likewise.
35594
35595 * DISTLIST: Removed commands/default.c, commands/timeout.c and
35596 normal/context.c.
35597
35598 * commands/default.c: Removed.
35599 * commands/timeout.c: Likewise.
35600 * normal/context.c: Likewise.
35601
35602 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
35603
35604 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
35605
35606 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
35607
35608 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
35609 "next" to "prev" for readability.
35610 (struct grub_env_sorted_var): New struct.
35611 (grub_env_context): Renamed to ...
35612 (initial_context): ... this.
35613 (grub_env_var_context): Renamed to ...
35614 (current_context): ... this.
35615 (grub_env_find): Look only at CURRENT_CONTEXT.
35616 (grub_env_context_open): Rewritten to copy exported variables from
35617 previous context.
35618 (grub_env_context_close): Rewritten according to the new
35619 scheme. Also, add an assertion to prevent the initial context from
35620 removed.
35621 (grub_env_insert): Removed the code for the sorted list.
35622 (grub_env_remove): Likewise.
35623 (grub_env_export): Simply mark the variable with
35624 GRUB_ENV_VAR_GLOBAL.
35625 (grub_env_set): A cosmetic change for naming consistency.
35626 (grub_env_get): Likewise.
35627 (grub_env_unset): Likewise.
35628 (grub_env_iterate): Rewritten to sort variables within this
35629 function.
35630 (grub_register_variable_hook): Fixed for naming consistency. Call
35631 grub_env_find again, only if NAME is not found at the first time.
35632 (mangle_data_slot_name): New function.
35633 (grub_env_set_data_slot): Likewise.
35634 (grub_env_get_data_slot): Likewise.
35635 (grub_env_unset_data_slot): Likewise.
35636
35637 * include/grub/env.h (grub_env_var_type): New enum.
35638 (GRUB_ENV_VAR_LOCAL): New constant.
35639 (GRUB_ENV_VAR_GLOBAL): Likewise.
35640 (GRUB_ENV_VAR_DATA): Likewise.
35641 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
35642 "type".
35643 (grub_env_set): Replace VAR with NAME for consistency.
35644 (grub_register_variable_hook): Likewise.
35645 (grub_env_export): Specify the name of the argument.
35646 (grub_env_set_data_slot): New prototype.
35647 (grub_env_get_data_slot): Likewise.
35648 (grub_env_unset_data_slot): Likewise.
35649
35650 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
35651
35652 Extend the loader so that GRUB can accept a loader which comes
35653 back to GRUB when a loaded image exits. Also, this change adds
35654 support for a chainloader on EFI.
35655
35656 * term/efi/console.c: Include grub/misc.h.
35657 (grub_console_checkkey): Display a scan code on the top for
35658 debugging. This will be removed once the EFI port gets stable.
35659 Correct the scan code mapping.
35660
35661 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
35662 allocate memory from larger regions, in order to reduce the number
35663 of allocated regions. Otherwise, the MacOSX loader panics.
35664 (filter_memory_map): Avoid less than 1MB for compatibility with
35665 other loaders.
35666 (add_memory_regions): Allocate from the tail of a region, if
35667 possible, to avoid allocating a region near to 1MB, for the MacOSX
35668 loader.
35669
35670 * kern/efi/init.c (grub_efi_set_prefix): Specify
35671 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
35672
35673 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
35674 argument IMAGE_HANDLE and specify it to get a loaded image.
35675 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
35676 grub_efi_get_loaded_image.
35677 (grub_efi_get_filename): Divide the length by the size of
35678 grub_efi_char16_t.
35679 (grub_efi_get_device_path): New function.
35680 (grub_efi_print_device_path): Print End Device Path nodes. Divide
35681 the length by the size of grub_efi_char16_t for a file path device
35682 path node.
35683
35684 * kern/loader.c (grub_loader_noreturn): New variable.
35685 (grub_loader_set): Accept a new argument NORETURN. Set
35686 GRUB_LOADER_NORETURN to NORETURN.
35687 All callers changed.
35688 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
35689 grub_machine_fini.
35690
35691 * include/grub/efi/efi.h (grub_efi_get_device_path): New
35692 prototype.
35693 (grub_efi_get_loaded_image): Take an argument to specify an image
35694 handle.
35695
35696 * include/grub/loader.h (grub_loader_set): Added one more argument
35697 NORETURN.
35698
35699 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
35700 instead of grub_efi_open_protocol.
35701 (grub_efidisk_get_device_name): Likewise.
35702 (grub_efidisk_close): Print a newline.
35703 (grub_efidisk_get_device_handle): Fixed to use
35704 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
35705 GRUB_EFI_DEVICE_PATH_TYPE.
35706
35707 * disk/efi/efidisk.c (device_path_guid): Moved to ...
35708 * kern/efi/efi.c (device_path_guid): ... here.
35709
35710 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
35711 chain.mod.
35712 (kernel_mod_HEADERS): Added efi/disk.h.
35713 (_chain_mod_SOURCES): New variable.
35714 (_chain_mod_CFLAGS): Likewise.
35715 (_chain_mod_LDFLAGS): Likewise.
35716 (chain_mod_SOURCES): Likewise.
35717 (chain_mod_CFLAGS): Likewise.
35718 (chain_mod_LDFLAGS): Likewise.
35719
35720 * DISTLIST: Added include/grub/efi/chainloader.h,
35721 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
35722
35723 * include/grub/efi/chainloader.h: New file.
35724 * loader/efi/chainloader.c: Likewise.
35725 * loader/efi/chainloader_normal.c: Likewise.
35726
35727 2006-04-30 Marco Gerards <marco@gnu.org>
35728
35729 * commands/configfile.c (grub_cmd_source): New function.
35730 (GRUB_MOD_INIT): Register the commands `source' and `.'.
35731 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
35732
35733 2006-04-30 Marco Gerards <marco@gnu.org>
35734
35735 * normal/execute.c (grub_script_execute_cmd): Change the return
35736 type to `grub_err_t'. Correctly return the error.
35737 (grub_script_execute_cmdline): In case a command line is not a
35738 command or a function, try to interpret it as an assignment.
35739
35740 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
35741
35742 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
35743 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
35744 skip a node whose name is obviously invalid as UTF-16,
35745 i.e. contains a NUL character. Stop the iteration when the last
35746 directory entry is found. Instead of using the return value of
35747 grub_hfsplus_btree_iterate_node, store the value in RET and use
35748 it, because the iterator can be stopped by the last directory
35749 entry.
35750
35751 2006-04-30 Marco Gerards <marco@gnu.org>
35752
35753 * include/grub/env.h (grub_env_export): New prototype. Reported
35754 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
35755
35756 2006-04-30 Marco Gerards <marco@gnu.org>
35757
35758 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
35759 size of the extents in a catalog file record.
35760
35761 2006-04-29 Marco Gerards <marco@gnu.org>
35762
35763 * commands/configfile.c (grub_cmd_configfile): Execute the
35764 configfile within its own context.
35765
35766 * include/grub/env.h (grub_env_context_open): New prototype.
35767 (grub_env_context_close): Likewise.
35768
35769 * kern/env.c (grub_env): Removed.
35770 (grub_env_sorted): Likewise.
35771 (grub_env_context): New variable.
35772 (grub_env_var_context): Likewise.
35773 (grub_env_find): Search both the active context and the global
35774 context.
35775 (grub_env_context_open): New function.
35776 (grub_env_context_close): Likewise.
35777 (grub_env_insert): Likewise.
35778 (grub_env_remove): Likewise.
35779 (grub_env_export): Likewise.
35780 (grub_env_set): Changed to use helper functions to avoid code
35781 duplication.
35782 (grub_env_iterate): Rewritten so both the current context and the
35783 global context are being used.
35784
35785 * normal/command.c (export_command): New function.
35786 (grub_command_init): Register the `export' function.
35787
35788 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
35789
35790 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
35791 explicitly to suppress gcc's warnings.
35792 * fs/fat.c (grub_fat_find_dir): Likewise.
35793 (grub_fat_label): Likewise.
35794 * fs/xfs.c (grub_xfs_read_inode): Likewise.
35795 (grub_xfs_mount): Likewise.
35796 (grub_xfs_label): Likewise.
35797 * fs/affs.c (grub_affs_mount): Likewise.
35798 (grub_affs_label): Likewise.
35799 (grub_affs_iterate_dir): Likewise.
35800 * fs/sfs.c (grub_sfs_mount): Likewise.
35801 (grub_sfs_iterate_dir): Likewise.
35802 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
35803 * fs/hfs.c (grub_hfs_mount): Likewise.
35804 (grub_hfs_cmp_catkeys): Likewise.
35805 (grub_hfs_find_dir): Likewise.
35806 (grub_hfs_dir): Likewise.
35807 (grub_hfs_label): Likewise.
35808 * fs/jfs.c (grub_jfs_mount): Likewise.
35809 (grub_jfs_opendir): Likewise.
35810 (grub_jfs_getent): Likewise.
35811 (grub_jfs_lookup_symlink): Likewise.
35812 (grub_jfs_label): Likewise.
35813 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
35814 (grub_hfsplus_iterate_dir): Likewise.
35815 (grub_hfsplus_btree_iterate_node): Made static.
35816
35817 * util/grub-emu.c (prefix): New variable.
35818 (grub_machine_set_prefix): New function.
35819 (main): Do not set the environment variable "prefix" here. Only
35820 set PREFIX, which is used later by grub_machine_set_prefix.
35821
35822 * include/grub/video.h: Do not include grub/symbol.h.
35823 (grub_video_register): Not exported. This symbol is not defined in
35824 the kernel.
35825 (grub_video_unregister): Likewise.
35826 (grub_video_iterate): Likewise.
35827 (grub_video_setup): Likewise.
35828 (grub_video_restore): Likewise.
35829 (grub_video_get_info): Likewise.
35830 (grub_video_get_blit_format): Likewise.
35831 (grub_video_set_palette): Likewise.
35832 (grub_video_get_palette): Likewise.
35833 (grub_video_set_viewport): Likewise.
35834 (grub_video_get_viewport): Likewise.
35835 (grub_video_map_color): Likewise.
35836 (grub_video_map_rgb): Likewise.
35837 (grub_video_map_rgba): Likewise.
35838 (grub_video_fill_rect): Likewise.
35839 (grub_video_blit_glyph): Likewise.
35840 (grub_video_blit_bitmap): Likewise.
35841 (grub_video_blit_render_target): Likewise.
35842 (grub_video_scroll): Likewise.
35843 (grub_video_swap_buffers): Likewise.
35844 (grub_video_create_render_target): Likewise.
35845 (grub_video_delete_render_target): Likewise.
35846 (grub_video_set_active_render_target): Likewise.
35847
35848 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
35849 Undefined.
35850 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
35851
35852 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
35853 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35854 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35855 instead of $(srcdir)/genkernsyms.sh.
35856
35857 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
35858 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35859 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35860 instead of $(srcdir)/genkernsyms.sh.
35861
35862 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
35863 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35864 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35865 instead of $(srcdir)/genkernsyms.sh.
35866
35867 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
35868 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35869 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35870 instead of $(srcdir)/genkernsyms.sh.
35871
35872 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
35873 genkernsyms.sh.
35874
35875 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
35876 genkernsyms.sh.
35877 (gensymlist.sh): New target.
35878 (genkernsyms.sh): Likewise.
35879
35880 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
35881 genkernsyms.sh.in and gensymlist.sh.in.
35882
35883 * genkernsyms.sh: Removed.
35884 * gensymlist.sh: Likewise.
35885
35886 * genkernsyms.sh.in: New file.
35887 * gensymlist.sh.in: Likewise.
35888
35889 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35890
35891 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
35892 clobber "prefix", since we may have already set it manually.
35893
35894 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35895
35896 * kern/misc.c (abort): New alias for grub_abort.
35897
35898 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
35899
35900 A new machine-specific function "grub_machine_set_prefix" is
35901 defined. This is called after loading modules, so that a prefix
35902 initialization can use modules. Also, this change adds an
35903 intensive debugging feature for the memory manager via the
35904 configure option "--enable-mm-debug".
35905
35906 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
35907 PART.LEN.
35908
35909 * kern/sparc64/ieee1275/init.c (abort): Removed.
35910 (grub_stop): Likewise.
35911 (grub_exit): New function.
35912 (grub_set_prefix): Renamed to ...
35913 (grub_machine_set_prefix): ... this.
35914 (grub_machine_init): Do not call grub_set_prefix.
35915
35916 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
35917 (grub_machine_set_prefix): ... this.
35918 (grub_machine_init): Do not call grub_set_prefix.
35919
35920 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
35921 (grub_machine_init): Do not set the prefix here.
35922
35923 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
35924
35925 * kern/efi/init.c: Include grub/mm.h.
35926 (grub_efi_set_prefix): New function.
35927
35928 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
35929 (grub_efi_get_filename): New function.
35930 (grub_print_device_path): Renamed to ...
35931 (grub_efi_print_device_path): ... this.
35932
35933 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
35934 [MM_DEBUG] (grub_realloc): Likewise.
35935 [MM_DEBUG] (grub_free): Likewise.
35936 [MM_DEBUG] (grub_memalign): Likewise.
35937 [MM_DEBUG] (grub_mm_debug): New variable.
35938 [MM_DEBUG] (grub_debug_malloc): New function.
35939 [MM_DEBUG] (grub_debug_free): New function.
35940 [MM_DEBUG] (grub_debug_realloc): New function.
35941 [MM_DEBUG] (grub_debug_memalign): New function.
35942
35943 * kern/misc.c (grub_abort): Print a newline to distinguish
35944 the message.
35945
35946 * kern/main.c (grub_main): Call grub_machine_set_prefix and
35947 grub_set_root_dev after loading modules. This is necessary when
35948 setting a prefix depends on modules.
35949
35950 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
35951 (grub_efi_print_device_path): ... this.
35952 (grub_efi_get_filename): New prototype.
35953 (grub_efi_set_prefix): Likewise.
35954
35955 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
35956 and grub/disk.h.
35957 (grub_efidisk_get_device_handle): New prototype.
35958 (grub_efidisk_get_device_name): Likewise.
35959
35960 * include/grub/mm.h: Include config.h.
35961 (MM_DEBUG): Removed.
35962 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
35963 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
35964 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
35965 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
35966 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
35967 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
35968 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
35969 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
35970 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
35971
35972 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
35973
35974 * disk/efi/efidisk.c: Include grub/partition.h.
35975 (iterate_child_devices): New function.
35976 (add_device): First, compare only last device path nodes, so that
35977 devices are sorted by the types.
35978 (grub_efidisk_get_device_handle): New function.
35979 (grub_efidisk_get_device_name): Likewise.
35980
35981 * configure.ac (--enable-mm-debug): New option to enable the
35982 memory manager debugging feature. This makes the binary much
35983 bigger, so is disabled by default.
35984
35985 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
35986
35987 Use grub_abort instead of grub_stop, and grub_exit must be
35988 define in each architecture now. Also, this change adds support
35989 for EFI disks.
35990
35991 * util/i386/pc/grub-probefs.c: Include grub/term.h.
35992 (grub_getkey): New function.
35993 (grub_term_get_current): Likewise.
35994
35995 * util/i386/pc/grub-setup.c: Include grub/term.h.
35996 (grub_getkey): New function.
35997 (grub_term_get_current): Likewise.
35998
35999 * util/misc.c (grub_stop): Renamed to ...
36000 (grub_exit): ... this.
36001
36002 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
36003 (grub_exit): ... this.
36004 (grub_machine_init): Use grub_abort instead of abort.
36005 (grub_stop): Removed.
36006
36007 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
36008 abort.
36009
36010 * kern/i386/pc/startup.S (grub_exit): New function.
36011 (cold_reboot): New label.
36012
36013 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
36014 (grub_efi_init): Call grub_efidisk_init.
36015 (grub_efi_fini): Call grub_efidisk_fini.
36016
36017 * kern/efi/efi.c: Include grub/mm.h.
36018 (grub_efi_console_control_guid): Renamed to ...
36019 (console_control_guid): ... this.
36020 (grub_efi_loaded_image_guid): Renamed to ...
36021 (loaded_image_guid): ... this.
36022 (grub_efi_locate_handle): New function.
36023 (grub_efi_open_protocol): Likewise.
36024 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
36025 GRUB_EFI_CONSOLE_CONTROL_GUID.
36026 (grub_efi_exit): Removed.
36027 (grub_stop): Likewise.
36028 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
36029 (grub_exit): New function.
36030 (grub_print_device_path): Likewise.
36031
36032 * kern/rescue.c (grub_rescue_cmd_exit): New function.
36033 (grub_enter_rescue_mode): Register "exit".
36034
36035 * kern/misc.c (grub_real_dprintf): A cosmetic change.
36036 (grub_abort): New function.
36037
36038 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
36039
36040 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
36041
36042 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
36043
36044 * include/grub/efi/efi.h (grub_efi_exit): Removed.
36045 (grub_print_device_path): New prototype.
36046 (grub_efi_locate_handle): Likewise.
36047 (grub_efi_open_protocol): Likewise.
36048
36049 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
36050 * disk/efi/efidisk.c: Likewise.
36051
36052 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
36053
36054 * include/grub/efi/console_control.h
36055 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
36056
36057 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
36058 last 8 bytes as an array.
36059 (GRUB_EFI_DISK_IO_GUID): New macro.
36060 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
36061 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
36062 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
36063 grub_uint8_t.
36064 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
36065 (struct grub_efi_device_path): Rename the member "sub_type" to
36066 "subtype".
36067 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
36068 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
36069 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
36070 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
36071 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
36072 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
36073 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
36074 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
36075 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
36076 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
36077 (struct grub_efi_pci_device_path): New structure.
36078 (grub_efi_pci_device_path_t): New type.
36079 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
36080 (struct grub_efi_pccard_device_path): New structure.
36081 (grub_efi_pccard_device_path_t): New type.
36082 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
36083 (struct grub_efi_memory_mapped_device_path): New structure.
36084 (grub_efi_memory_mapped_device_path_t): New type.
36085 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
36086 (struct grub_efi_vendor_device_path): New structure.
36087 (grub_efi_vendor_device_path_t): New type.
36088 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
36089 (struct grub_efi_controller_device_path): New structure.
36090 (grub_efi_controller_device_path_t): New type.
36091 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
36092 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
36093 (struct grub_efi_acpi_device_path): New structure.
36094 (grub_efi_acpi_device_path_t): New type.
36095 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
36096 (struct grub_efi_expanded_acpi_device_path): New structure.
36097 (grub_efi_expanded_acpi_device_path_t): New type.
36098 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
36099 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
36100 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
36101 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
36102 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
36103 (struct grub_efi_atapi_device_path): New structure.
36104 (grub_efi_atapi_device_path_t): New type.
36105 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
36106 (struct grub_efi_fibre_channel_device_path): New structure.
36107 (grub_efi_fibre_channel_device_path_t): New type.
36108 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
36109 (struct grub_efi_1394_device_path): New structure.
36110 (grub_efi_1394_device_path_t): New type.
36111 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
36112 (struct grub_efi_usb_device_path): New structure.
36113 (grub_efi_usb_device_path_t): New type.
36114 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
36115 (struct grub_efi_usb_class_device_path): New structure.
36116 (grub_efi_usb_class_device_path_t): New type.
36117 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
36118 (struct grub_efi_i2o_device_path): New structure.
36119 (grub_efi_i2o_device_path_t): New type.
36120 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
36121 (struct grub_efi_mac_address_device_path): New structure.
36122 (grub_efi_mac_address_device_path_t): New type.
36123 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
36124 (struct grub_efi_ipv4_device_path): New structure.
36125 (grub_efi_ipv4_device_path_t): New type.
36126 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
36127 (struct grub_efi_ipv6_device_path): New structure.
36128 (grub_efi_ipv6_device_path_t): New type.
36129 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
36130 (struct grub_efi_infiniband_device_path): New structure.
36131 (grub_efi_infiniband_device_path_t): New type.
36132 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
36133 (struct grub_efi_uart_device_path): New structure.
36134 (grub_efi_uart_device_path_t): New type.
36135 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
36136 (struct grub_efi_vendor_messaging_device_path): New structure.
36137 (grub_efi_vendor_messaging_device_path_t): New type.
36138 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
36139 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
36140 (struct grub_efi_hard_drive_device_path): New structure.
36141 (grub_efi_hard_drive_device_path_t): New type.
36142 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
36143 (struct grub_efi_cdrom_device_path): New structure.
36144 (grub_efi_cdrom_device_path_t): New type.
36145 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
36146 (struct grub_efi_vendor_media_device_path): New structure.
36147 (grub_efi_vendor_media_device_path_t): New type.
36148 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
36149 (struct grub_efi_file_path_device_path): New structure.
36150 (grub_efi_file_path_device_path_t): New type.
36151 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
36152 (struct grub_efi_protocol_device_path): New structure.
36153 (grub_efi_protocol_device_path_t): New type.
36154 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
36155 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
36156 (struct grub_efi_bios_device_path): New structure.
36157 (grub_efi_bios_device_path_t): New type.
36158 (struct grub_efi_disk_io): New structure.
36159 (grub_efi_disk_io_t): New type.
36160 (struct grub_efi_block_io_media): New structure.
36161 (grub_efi_block_io_media_t): New type.
36162 (struct grub_efi_block_io): New structure.
36163 (grub_efi_block_io_t): New type.
36164
36165 * include/grub/misc.h (grub_stop): Removed.
36166 (grub_exit): New prototype.
36167 (grub_abort): Likewise.
36168
36169 * include/grub/disk.h (enum grub_disk_dev_id): Added
36170 GRUB_DISK_DEVICE_EFIDISK_ID.
36171
36172 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
36173 disk/efi/efidisk.c.
36174 (kernel_syms.lst): Remove the target if an error occurs.
36175
36176 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
36177
36178 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
36179 as it was simply too buggy.
36180
36181 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
36182
36183 * kern/misc.c (grub_lltoa): New function.
36184 (grub_vsprintf): Added support for the long long suffix,
36185 i.e. "ll".
36186
36187 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
36188
36189 * Makefile.in (LDFLAGS): Add variable.
36190 (LD): Remove variable.
36191 * configure.ac: Add -m32 to LDFLAGS.
36192 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
36193 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
36194 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
36195 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
36196 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
36197 variables.
36198 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
36199 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
36200 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
36201
36202 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
36203
36204 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
36205 length for unknown glyph.
36206
36207 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
36208
36209 Add support for pre-loaded modules into the EFI port.
36210
36211 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
36212 completely. Accept one more argument DIR. The caller has changed.
36213
36214 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
36215
36216 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
36217 (grub_efi_loaded_image_guid): New variable.
36218 (grub_efi_get_loaded_image): New function.
36219 (grub_arch_modules_addr): Likewise.
36220
36221 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
36222 prototype.
36223
36224 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
36225 (struct grub_efi_loaded_image): New structure.
36226 (grub_efi_loaded_image_t): New type.
36227
36228 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
36229
36230 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
36231 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
36232 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
36233
36234 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
36235
36236 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
36237
36238 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
36239
36240 * DISTLIST: Added include/grub/efi/console.h,
36241 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
36242 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
36243
36244 * include/grub/efi/console.h: New file.
36245 * include/grub/efi/time.h: Likewise.
36246 * include/grub/i386/efi/kernel.h: Likewise.
36247 * kern/efi/init.c: Likewise.
36248 * kern/efi/mm.c: Likewise.
36249 * term/efi/console.c: Likewise.
36250
36251 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
36252 (grub_stop): Removed.
36253 (grub_get_rtc): Likewise.
36254 (grub_machine_init): Simply call grub_efi_init.
36255 (grub_machine_fini): Call grub_efi_fini.
36256
36257 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
36258 (grub_efi_output_string): Removed.
36259 (grub_efi_stall): New function.
36260 (grub_stop): Likewise.
36261 (grub_get_rtc): Likewise.
36262
36263 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
36264 (grub_efi_stall): New prototype.
36265 (grub_efi_allocate_pages): Likewise.
36266 (grub_efi_free_pages): Likewise.
36267 (grub_efi_get_memory_map): Likewise.
36268 (grub_efi_mm_init): Likewise.
36269 (grub_efi_mm_fini): Likewise.
36270 (grub_efi_init): Likewise.
36271 (grub_efi_fini): Likewise.
36272
36273 * include/grub/i386/efi/time.h: Do not include
36274 grub/symbol.h. Include grub/efi/time.h.
36275 (GRUB_TICKS_PER_SECOND): Removed.
36276 (grub_get_rtc): Likewise.
36277
36278 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
36279 Added padding. The EFI spec is buggy.
36280 (GRUB_EFI_BLACK): New macro.
36281 (GRUB_EFI_BLUE): Likewise.
36282 (GRUB_EFI_GREEN): Likewise.
36283 (GRUB_EFI_CYAN): Likewise.
36284 (GRUB_EFI_RED): Likewise.
36285 (GRUB_EFI_MAGENTA): Likewise.
36286 (GRUB_EFI_BROWN): Likewise.
36287 (GRUB_EFI_LIGHTGRAY): Likewise.
36288 (GRUB_EFI_BRIGHT): Likewise.
36289 (GRUB_EFI_DARKGRAY): Likewise.
36290 (GRUB_EFI_LIGHTBLUE): Likewise.
36291 (GRUB_EFI_LIGHTGREEN): Likewise.
36292 (GRUB_EFI_LIGHTCYAN): Likewise.
36293 (GRUB_EFI_LIGHTRED): Likewise.
36294 (GRUB_EFI_LIGHTMAGENTA): Likewise.
36295 (GRUB_EFI_YELLOW): Likewise.
36296 (GRUB_EFI_WHITE): Likewise.
36297 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
36298 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
36299 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
36300 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
36301 (GRUB_EFI_BACKGROUND_RED): Likewise.
36302 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
36303 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
36304 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
36305 (GRUB_EFI_TEXT_ATTR): Likewise.
36306
36307 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
36308 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
36309 (kernel_mod_HEADERS): Added efi/time.h.
36310
36311 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
36312
36313 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
36314 include/grub/efi/api.h, include/grub/efi/console_control.h,
36315 include/grub/efi/efi.h, include/grub/efi/pe32.h,
36316 include/grub/i386/efi/time.h, kern/efi/efi.c,
36317 kern/i386/efi/init.c, kern/i386/efi/startup.S,
36318 and util/i386/efi/grub-mkimage.c.
36319
36320 * Makefile.in (RMKFILES): Added i386-efi.rmk.
36321
36322 * genmk.rb (PModule#rule): Do not export symbols if
36323 #{prefix}_EXPORTS is set to "no".
36324
36325 * conf/i386-efi.mk: New file.
36326 * conf/i386-efi.rmk: Likewise.
36327 * include/grub/efi/api.h: Likewise.
36328 * include/grub/efi/console_control.h: Likewise.
36329 * include/grub/efi/efi.h: Likewise.
36330 * include/grub/efi/pe32.h: Likewise.
36331 * include/grub/i386/efi/time.h: Likewise.
36332 * kern/efi/efi.c: Likewise.
36333 * kern/i386/efi/init.c: Likewise.
36334 * kern/i386/efi/startup.S: Likewise.
36335 * util/i386/efi/grub-mkimage.c: Likewise.
36336
36337 2006-04-17 Marco Gerards <marco@gnu.org>
36338
36339 * include/grub/script.h: Include <grub/parser.h> and
36340 "grub_script.tab.h".
36341 (struct grub_lexer_param): New struct.
36342 (struct grub_parser_param): Likewise.
36343 (grub_script_create_arglist): Pass the state in an argument.
36344 (grub_script_add_arglist): Likewise.
36345 (grub_script_create_cmdline): Likewise.
36346 (grub_script_create_cmdblock): Likewise.
36347 (grub_script_create_cmdif): Likewise.
36348 (grub_script_create_cmdmenu): Likewise.
36349 (grub_script_add_cmd): Likewise.
36350 (grub_script_arg_add): Likewise.
36351 (grub_script_lexer_ref): Likewise.
36352 (grub_script_lexer_deref): Likewise.
36353 (grub_script_lexer_record_start): Likewise.
36354 (grub_script_lexer_record_stop): Likewise.
36355 (grub_script_mem_record): Likewise.
36356 (grub_script_mem_record_stop): Likewise.
36357 (grub_script_malloc): Likewise.
36358 (grub_script_yylex): Likewise.
36359 (grub_script_yyparse): Likewise.
36360 (grub_script_yyerror): Likewise.
36361 (grub_script_yylex): Likewise.
36362 (grub_script_lexer_init): Return the state.
36363
36364 * normal/lexer.c (grub_script_lexer_state): Removed variable.
36365 (grub_script_lexer_done): Likewise.
36366 (grub_script_lexer_getline): Likewise.
36367 (grub_script_lexer_refs): Likewise.
36368 (script): Likewise.
36369 (newscript): Likewise.
36370 (record): Likewise.
36371 (recording): Likewise.
36372 (recordpos): Likewise.
36373 (recordlen): Likewise.
36374 (grub_script_lexer_init): Return the state instead of setting
36375 global variables.
36376 (grub_script_lexer_ref): Use the newly added argument for state
36377 instead of globals.
36378 (grub_script_lexer_deref): Likewise.
36379 (grub_script_lexer_record_start): Likewise.
36380 (grub_script_lexer_record_stop): Likewise.
36381 (recordchar): Likewise.
36382 (nextchar): Likewise.
36383 (grub_script_yylex2): Likewise.
36384 (grub_script_yylex): Likewise.
36385 (grub_script_yyerror): Likewise.
36386
36387 * normal/parser.y (func_mem): Removed variable.
36388 (menu_entry): Likewise.
36389 (err): Likewise.
36390 (%lex-param): New parser option.
36391 (%parse-param): Likewise.
36392 (script): Always return the AST.
36393 (argument): Pass the state around.
36394 (arguments): Likewise.
36395 (grubcmd): Likewise.
36396 (commands): Likewise.
36397 (function): Likewise.
36398 (menuentry): Likewise.
36399 (if_statement): Likewise.
36400 (if): Likewise.
36401
36402 * normal/script.c (grub_script_memused): Removed variable.
36403 (grub_script_parsed): Likewise.
36404 (grub_script_malloc): Added a state argument. Use that instead of
36405 global variables.
36406 (grub_script_mem_record): Likewise.
36407 (grub_script_mem_record_stop): Likewise.
36408 (grub_script_arg_add): Likewise.
36409 (grub_script_add_arglist): Likewise.
36410 (grub_script_create_cmdline): Likewise.
36411 (grub_script_create_cmdif): Likewise.
36412 (grub_script_create_cmdmenu): Likewise.
36413 (grub_script_add_cmd): Likewise.
36414 (grub_script_parse): Setup the state before calling the parser.
36415
36416 2006-04-16 Marco Gerards <marco@gnu.org>
36417
36418 * normal/command.c (grub_command_init): Remove the title command.
36419
36420 * normal/lexer.c (grub_script_yylex): Renamed from this...
36421 (grub_script_yylex2): ... to this.
36422 (grub_script_yylex): New function. Temporary
36423 introduced to filter some tokens.
36424 (grub_script_yyerror): Print a newline.
36425
36426 * normal/main.c (read_config_file): Output information about the
36427 lines that contain errors. Wait for a key after all lines have
36428 been processed. Don't return an empty menu.
36429
36430 * normal/parser.y (func_mem): Don't initialize.
36431 (menu_entry): Likewise.
36432 (err): New variable.
36433 (script): Don't return anything when an error was encountered.
36434 (ws, returns): Removed rules.
36435 (argument): Disabled concatenated variable support.
36436 (arguments): Remove explicit separators.
36437 (grubcmd): Likewise.
36438 (function): Likewise.
36439 (menuentry): Likewise.
36440 (if): Likewise.
36441 (commands): Likewise. Add error handling.
36442
36443 * normal/script.c (grub_script_create_cmdline): If
36444 `grub_script_parsed' is 0, assume the parser encountered an error.
36445
36446 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
36447
36448 * configure.ac: Add support for EFI. Fix the typo
36449 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
36450
36451 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
36452
36453 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
36454 foreign multibyte characters should be shown correctly.
36455
36456 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
36457
36458 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
36459 calculation.
36460 (read_config_file): Made it to close file before returning.
36461
36462 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
36463
36464 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
36465 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
36466 video/i386/pc/vbefill.c.
36467
36468 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
36469 video/i386/pc/vbefill.c.
36470
36471 * include/grub/video.h (grub_video_blit_format): New enum.
36472 (grub_video_mode_info): Added new member blit_format.
36473 (grub_video_get_blit_format): New function prototype.
36474
36475 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
36476 function prototype.
36477 (grub_video_vbe_map_rgb): Likewise.
36478 (grub_video_vbe_unmap_color): Likewise.
36479
36480 * include/grub/i386/pc/vbeblit.h: New file.
36481
36482 * include/grub/i386/pc/vbefill.h: New file.
36483
36484 * video/video.c (grub_video_get_blit_format): New function.
36485 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
36486 (grub_video_vbe_map_rgb): Likewise.
36487 (grub_video_vbe_unmap_color): Likewise.
36488
36489 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
36490 optimized fills.
36491 (grub_video_vbe_blit_render_target): Changed to use more optimized
36492 blits.
36493 (grub_video_vbe_setup): Added detection for optimized settings.
36494 (grub_video_vbe_create_render_target): Likewise.
36495
36496 * video/i386/pc/vbeblit.c: New file.
36497
36498 * video/i386/pc/vbefill.c: New file.
36499
36500 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
36501
36502 * font/manager.c (grub_font_get_glyph): Removed font fixup from
36503 here...
36504
36505 * util/unifont2pff.rb: ... and moved it to here. Improved argument
36506 parsing to support both hex and dec ranges. If filename was missing
36507 show usage information.
36508
36509 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
36510
36511 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
36512 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
36513
36514 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
36515 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
36516 (video_mod_SOURCES): Added.
36517 (video_mod_CFLAGS): Likewise.
36518 (video_mod_LDFLAGS): Likewise.
36519 (gfxterm_mod_SOURCES): Likewise.
36520 (gfxterm_mod_CFLAGS): Likewise.
36521 (gfxterm_mod_LDFLAGS): Likewise.
36522 (videotest_mod_SOURCES): Likewise.
36523 (videotest_mod_CFLAGS): Likewise.
36524 (videotest_mod_LDFLAGS): Likewise.
36525 (vesafb_mod_SOURCES): Removed.
36526 (vesafb_mod_CFLAGS): Likewise.
36527 (vesafb_mod_LDFLAGS): Likewise.
36528 (vga_mod_SOURCES): Likewise.
36529 (vga_mod_CFLAGS): Likewise.
36530 (vga_mod_LDFLAGS): Likewise.
36531
36532 * commands/videotest.c: New file.
36533
36534 * font/manager.c (fill_with_default_glyph): Modified to use
36535 grub_font_glyph.
36536 (grub_font_get_glyph): Likewise.
36537 (fontmanager): Renamed from this...
36538 (font_manager): ... to this.
36539
36540 * include/grub/font.h (grub_font_glyph): Added new structure.
36541 (grub_font_get_glyph): Modified to use grub_font_glyph.
36542
36543 * include/grub/misc.h (grub_abs): Added as inline function.
36544
36545 * include/grub/video.h: New file.
36546
36547 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
36548 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
36549 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
36550 (grub_vbe_get_controller_info): Renamed from this...
36551 (grub_vbe_bios_get_controller_info): ... to this.
36552 (grub_vbe_get_mode_info): Renamed from this...
36553 (grub_vbe_bios_get_mode_info): ... to this.
36554 (grub_vbe_set_mode): Renamed from this...
36555 (grub_vbe_bios_set_mode): ... to this.
36556 (grub_vbe_get_mode): Renamed from this...
36557 (grub_vbe_bios_get_mode): ... to this.
36558 (grub_vbe_set_memory_window): Renamed from this...
36559 (grub_vbe_bios_set_memory_window): ... to this.
36560 (grub_vbe_get_memory_window): Renamed from this...
36561 (grub_vbe_bios_get_memory_window): ... to this.
36562 (grub_vbe_set_scanline_length): Renamed from this...
36563 (grub_vbe_set_scanline_length): ... to this.
36564 (grub_vbe_get_scanline_length): Renamed from this...
36565 (grub_vbe_bios_get_scanline_length): ... to this.
36566 (grub_vbe_set_display_start): Renamed from this...
36567 (grub_vbe_bios_set_display_start): ... to this.
36568 (grub_vbe_get_display_start): Renamed from this...
36569 (grub_vbe_bios_get_display_start): ... to this.
36570 (grub_vbe_set_palette_data): Renamed from this...
36571 (grub_vbe_bios_set_palette_data): ... to this.
36572 (grub_vbe_set_pixel_rgb): Removed.
36573 (grub_vbe_set_pixel_index): Likewise.
36574
36575 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
36576 from this...
36577 (grub_vbe_bios_get_controller_info): ... to this.
36578 (grub_vbe_get_mode_info): Renamed from this...
36579 (grub_vbe_bios_get_mode_info): ... to this.
36580 (grub_vbe_set_mode): Renamed from this...
36581 (grub_vbe_bios_set_mode): ... to this.
36582 (grub_vbe_get_mode): Renamed from this...
36583 (grub_vbe_bios_get_mode): ... to this.
36584 (grub_vbe_set_memory_window): Renamed from this...
36585 (grub_vbe_bios_set_memory_window): ... to this.
36586 (grub_vbe_get_memory_window): Renamed from this...
36587 (grub_vbe_bios_get_memory_window): ... to this.
36588 (grub_vbe_set_scanline_length): Renamed from this...
36589 (grub_vbe_set_scanline_length): ... to this.
36590 (grub_vbe_get_scanline_length): Renamed from this...
36591 (grub_vbe_bios_get_scanline_length): ... to this.
36592 (grub_vbe_set_display_start): Renamed from this...
36593 (grub_vbe_bios_set_display_start): ... to this.
36594 (grub_vbe_get_display_start): Renamed from this...
36595 (grub_vbe_bios_get_display_start): ... to this.
36596 (grub_vbe_set_palette_data): Renamed from this...
36597 (grub_vbe_bios_set_palette_data): ... to this.
36598 (grub_vbe_bios_get_controller_info): Fixed problem with registers
36599 getting corrupted after calling it. Added more pushes and pops.
36600 (grub_vbe_bios_set_mode): Likewise.
36601 (grub_vbe_bios_get_mode): Likewise.
36602 (grub_vbe_bios_get_memory_window): Likewise.
36603 (grub_vbe_bios_set_scanline_length): Likewise.
36604 (grub_vbe_bios_get_scanline_length): Likewise.
36605 (grub_vbe_bios_get_display_start): Likewise.
36606 (grub_vbe_bios_set_palette_data): Likewise.
36607
36608 * normal/cmdline.c (cl_set_pos): Refresh the screen.
36609 (cl_insert): Likewise.
36610 (cl_delete): Likewise.
36611
36612 * term/gfxterm.c: New file.
36613
36614 * term/i386/pc/vesafb.c: Removed file.
36615
36616 * video/video.c: New file.
36617
36618 * video/i386/pc/vbe.c (real2pm): Added new function.
36619 (grub_video_vbe_draw_pixel): Likewise.
36620 (grub_video_vbe_get_video_ptr): Likewise.
36621 (grub_video_vbe_get_pixel): Likewise
36622 (grub_video_vbe_init): Likewise.
36623 (grub_video_vbe_fini): Likewise.
36624 (grub_video_vbe_setup): Likewise.
36625 (grub_video_vbe_get_info): Likewise.
36626 (grub_video_vbe_set_palette): Likewise.
36627 (grub_video_vbe_get_palette): Likewise.
36628 (grub_video_vbe_set_viewport): Likewise.
36629 (grub_video_vbe_get_viewport): Likewise.
36630 (grub_video_vbe_map_color): Likewise.
36631 (grub_video_vbe_map_rgb): Likewise.
36632 (grub_video_vbe_map_rgba): Likewise.
36633 (grub_video_vbe_unmap_color): Likewise.
36634 (grub_video_vbe_fill_rect): Likewise.
36635 (grub_video_vbe_blit_glyph): Likewise.
36636 (grub_video_vbe_blit_bitmap): Likewise.
36637 (grub_video_vbe_blit_render_target): Likewise.
36638 (grub_video_vbe_scroll): Likewise.
36639 (grub_video_vbe_swap_buffers): Likewise.
36640 (grub_video_vbe_create_render_target): Likewise.
36641 (grub_video_vbe_delete_render_target): Likewise.
36642 (grub_video_vbe_set_active_render_target): Likewise.
36643 (grub_vbe_set_pixel_rgb): Remove function.
36644 (grub_vbe_set_pixel_index): Likewise.
36645 (index_color_mode): Remove static variable.
36646 (active_mode): Likewise.
36647 (framebuffer): Likewise.
36648 (bytes_per_scan_line): Likewise.
36649 (grub_video_vbe_adapter): Added new static variable.
36650 (framebuffer): Likewise.
36651 (render_target): Likewise.
36652 (initial_mode): Likewise.
36653 (mode_in_use): Likewise.
36654 (mode_list): Likewise.
36655
36656 2006-03-10 Marco Gerards <marco@gnu.org>
36657
36658 * configure.ac (AC_INIT): Bumped to 1.93.
36659
36660 * DISTLIST: Added `include/grub/hfs.h'.
36661
36662 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
36663
36664 * boot/i386/pc/boot.S (general_error): Before looping, try INT
36665 18H, which might help the BIOS falling back to next boot media.
36666
36667 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
36668
36669 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
36670 Poe Chen <poe.poechen@gmail.com>.
36671
36672 2006-01-17 Marco Gerards <marco@gnu.org>
36673
36674 * include/grub/normal.h: Include <grub/script.h>.
36675 (grub_command_list): Removed struct.
36676 (grub_command_list_t): Removed type.
36677 (grub_menu_entry): Remove members `num' and `command_list'. Add
36678 members `commands' and `sourcecode'.
36679 * include/grub/script.h: Add inclusion guards.
36680 (grub_script_cmd_menuentry): New struct.
36681 (grub_script_execute_menuentry): New prototype.
36682 (grub_script_lexer_record_start): Likewise.
36683 (grub_script_lexer_record_stop): Likewise.
36684 * normal/execute.c (grub_script_execute_menuentry): New function.
36685 * normal/lexer.c (record, recording, recordpos, recordlen): New
36686 variables.
36687 (grub_script_lexer_record_start): New function.
36688 (grub_script_lexer_record_stop): Likewise.
36689 (recordchar): Likewise.
36690 (nextchar): Likewise.
36691 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
36692 2048 as the buffer size. Add the tokens `menuentry' and `@'.
36693 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
36694 (current_menu): New variable.
36695 (free_menu): Mainly rewritten.
36696 (grub_normal_menu_addentry): New function.
36697 (read_config_file): Rewritten.
36698 * normal/menu.c (run_menu_entry): Mainly rewritten.
36699 * normal/menu_entry.c (make_screen): Rewritten the code to insert
36700 the menu entry.
36701 (run): Mainly rewritten.
36702 * normal/parser.y (menu_entry): New variable.
36703 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
36704 (menuentry): New rule.
36705 (command): Add `menuentry'.
36706 (if_statement): Allow additional returns before `fi'.
36707 * normal/script.c (grub_script_create_cmdmenu): New function.
36708
36709 2006-01-03 Marco Gerards <marco@gnu.org>
36710
36711 * INSTALL: GNU Bison is required.
36712 * configure.ac: Rewritten the test to detect Bison.
36713 * Makefile.in (YACC): New variable. Reported by Xun Sun
36714 <xun.sun.cn@gmail.com>.
36715
36716 2006-01-03 Marco Gerards <marco@gnu.org>
36717
36718 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
36719 the HFS+ filesystem to filesystem blocks.
36720 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
36721 GCC warning is silenced.
36722
36723 2006-01-03 Marco Gerards <marco@gnu.org>
36724
36725 * partmap/apple.c (apple_partition_map_iterate): Convert the data
36726 read from disk from big endian to host byte order.
36727
36728 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
36729
36730 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
36731 documentation.
36732 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
36733 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
36734 embedded HFS+ filesystem.
36735 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
36736 (grub_hfs_sblock): Move from here...
36737 * include/grub/hfs.h: To here... New file.
36738 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
36739 documentation.
36740 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
36741 New macros.
36742 (grub_hfsplus_volheader): Change type of member `magic' to
36743 `grub_uint16_t'.
36744 (grub_hfsplus_data): Add new member `embedded_offset'.
36745 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
36746 returned block.
36747 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
36748 Calculate the offset.
36749
36750 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36751
36752 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
36753 Removed.
36754 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
36755
36756 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36757
36758 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
36759 ENV->NAME is NULL after allocating ENV->VALUE.
36760
36761 2005-12-25 Marco Gerards <marco@gnu.org>
36762
36763 * kern/env.c (grub_env_set): Rewritten the error handling code.
36764
36765 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36766
36767 * geninit.sh: Made more robust, and more portable.
36768
36769 2005-12-25 Marco Gerards <marco@gnu.org>
36770
36771 Add support for Apple HFS+ filesystems.
36772
36773 * fs/hfsplus.c: New file.
36774
36775 * DISTLIST: Added `fs/hfsplus.c'.
36776
36777 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
36778 (hfsplus_mod_SOURCES): New variable.
36779 (hfsplus_mod_CFLAGS): Likewise.
36780 (hfsplus_mod_LDFLAGS): Likewise.
36781 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
36782 (grub_setup_SOURCES): Likewise.
36783 (grub_mkdevicemap_SOURCES): Likewise.
36784 (grub_emu_SOURCES): Likewise.
36785 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36786
36787 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
36788
36789 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
36790
36791 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36792
36793 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
36794 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
36795 include/grub/parser.h, include/grub/script.h, kern/parser.c,
36796 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
36797 normal/lexer.c, normal/parser.y, normal/script.c, and
36798 partmap/gpt.c.
36799 Removed kern/sparc64/cache.c.
36800
36801 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
36802 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
36803 grub_emu_init.c.
36804
36805 * configure.ac (AC_INIT): Bumped to 1.92.
36806
36807 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
36808
36809 * kern/err.c (grub_error_push): Added new function to support error
36810 stacks.
36811 (grub_error_pop): Likewise.
36812 (grub_error_stack_items): New local variable to support error stacks.
36813 (grub_error_stack_pos): Likewise.
36814 (grub_error_stack_assert): Likewise.
36815 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
36816 stack depth.
36817 (grub_print_error): Added support to print errors from error stack.
36818
36819 * include/grub/err.h (grub_error_push): Added function prototype.
36820 (grub_error_pop): Likewise.
36821
36822 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
36823
36824 * configure.ac: Accept `powerpc64' as host_cpu.
36825 (amd64): Rename to `biarch32'.
36826
36827 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
36828 non-cacheline-aligned addresses.
36829
36830 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
36831 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
36832 if `size' is non-zero.
36833
36834 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
36835
36836 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
36837 and `cd' to make sure the filename is not prefixed with a
36838 directory name.
36839 (pkgdata_MODULES): Add `gpt.mod'.
36840 (gpt_mod_SOURCES): New variable.
36841 (gpt_mod_CFLAGS): Likewise.
36842 (gpt_mod_LDFLAGS): Likewise.
36843
36844 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
36845
36846 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
36847 New macro.
36848
36849 * partmap/gpt.c: New file.
36850
36851 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
36852 GPT partition map is detected.
36853
36854 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
36855
36856 * commands/i386/pc/play.c: New file.
36857 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
36858 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
36859 macros.
36860
36861 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
36862
36863 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
36864 ((unused))' to silence gcc warning.
36865
36866 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
36867
36868 * configure.ac: Correct `AC_PROG_YACC' test.
36869
36870 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36871
36872 * util/powerpc/ieee1275/grub-install.in: Run the mount point
36873 check before installing files.
36874
36875 2005-11-22 Mike Small <smallm@panix.com>
36876
36877 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
36878 number regex so multidigit numbers are recognized correctly.
36879
36880 2005-11-22 Mike Small <smallm@panix.com>
36881
36882 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
36883 debugging message before attempting to claim memory.
36884 (grub_rescue_cmd_initrd): Add a claim debugging message and try
36885 multiple addresses in case of failure.
36886
36887 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36888
36889 * term/tparm.c (get_space): Remove empty `if' statement.
36890
36891 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
36892
36893 * kern/parser.c (check_varstate): Rename `state' to 's'.
36894
36895 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36896
36897 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
36898 variable definitions to the beginning of each function. Sort stack
36899 variables by size.
36900 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
36901 `buf' argument to `char *'.
36902
36903 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36904
36905 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
36906 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
36907 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
36908 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36909 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36910 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36911 configfile.mod, search.mod, gzio.mod and test.mod.
36912 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36913 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36914 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36915 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36916 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36917 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36918 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36919 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36920 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36921 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36922 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36923 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36924 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36925 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36926 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36927 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36928 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36929 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36930 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36931 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36932 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36933 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36934 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
36935
36936 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
36937 `grep --include'.
36938 (pkgdata_MODULES): Add test.mod.
36939
36940 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36941
36942 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
36943 appending to variables with "+=".
36944 (PModule): Use full pathname to generate *.lst filenames.
36945
36946 * Makefile.in: Fixed list rules moved from genmk.rb.
36947 (.DELETE_ON_ERROR): New special target.
36948 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
36949
36950 * conf/i386-pc.rmk: Include conf/common.mk.
36951 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
36952 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
36953 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36954 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36955 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36956 configfile.mod, search.mod, gzio.mod and test.mod.
36957 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36958 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36959 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36960 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36961 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36962 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36963 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36964 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36965 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36966 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36967 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36968 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36969 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36970 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36971 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36972 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36973 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36974 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36975 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36976 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36977 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36978 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36979 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
36980 here...
36981 * conf/common.rmk: ... to here. New file.
36982
36983 * conf/common.mk: New file.
36984
36985 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
36986
36987 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
36988 (grub_script.tab.c): ... here.
36989
36990 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
36991 (grub_script.tab.c): ... here.
36992
36993 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
36994 (grub_script.tab.c): ... here.
36995
36996 * normal/command.c (grub_command_find): Fixed a memory leak of
36997 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
36998
36999 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37000
37001 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
37002 "@" which marks the start of a comment on ARM.
37003 (VARIABLE): Likewise.
37004
37005 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37006
37007 Add support for Linux/ADFS partition tables.
37008
37009 * partmap/acorn.c: New file.
37010
37011 * include/grub/acorn_filecore.h: Likewise.
37012
37013 * DISTLIST: Added `partmap/acorn.c' and
37014 `include/grub/acorn_filecore.h'.
37015
37016 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
37017 `partmap/acorn.c'.
37018 (pkgdata_MODULES): Add `acorn.mod'.
37019 (acorn_mod_SOURCES): New variable.
37020 (acorn_mod_CFLAGS): Likewise.
37021
37022 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
37023 `partmap/acorn.c'.
37024 (pkgdata_MODULES): Add `acorn.mod'.
37025 (acorn_mod_SOURCES): New variable.
37026 (acorn_mod_CFLAGS): Likewise.
37027
37028 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
37029 (pkgdata_MODULES): Add `acorn.mod'.
37030 (acorn_mod_SOURCES): New variable.
37031 (acorn_mod_CFLAGS): Likewise.
37032 (acorn_mod_LDFLAGS): Likewise.
37033
37034 * include/types.h (grub_disk_addr_t): New typedef.
37035
37036 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
37037
37038 * geninit.sh: New file.
37039
37040 * geninitheader.sh: Likewise.
37041
37042 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
37043 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
37044 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
37045 * commands/configfile.c (grub_configfile_init)
37046 (grub_configfile_fini): Likewise.
37047 * commands/default.c (grub_default_init, grub_default_fini):
37048 Likewise.
37049 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
37050 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
37051 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
37052 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
37053 Likewise.
37054 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
37055 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
37056 Likewise.
37057 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
37058 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
37059 Likewise.
37060 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
37061 Likewise.
37062 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
37063 Likewise.
37064 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
37065 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
37066 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
37067 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
37068 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
37069 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
37070 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
37071 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
37072 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
37073 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
37074 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
37075 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
37076 * partmap/amiga.c (grub_amiga_partition_map_init)
37077 (grub_amiga_partition_map_fini): Likewise.
37078 * partmap/apple.c (grub_apple_partition_map_init)
37079 (grub_apple_partition_map_fini): Likewise.
37080 * partmap/pc.c (grub_pc_partition_map_init)
37081 (grub_pc_partition_map_fini): Likewise.
37082 * partmap/sun.c (grub_sun_partition_map_init,
37083 grub_sun_partition_map_fini): Likewise.
37084 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
37085 Likewise.
37086
37087 * util/grub-emu.c: Include <grub_modules_init.h>.
37088 (main): Don't initialize and de-initialize any modules directly,
37089 use `grub_init_all' and `grub_fini_all' instead.
37090
37091 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
37092 `grub_vesafb_mod_init'.
37093 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
37094 all users.
37095 * term/i386/pc/vga.c (grub_vga_init): Renamed to
37096 `grub_vga_mod_init'. Updated all users.
37097 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
37098
37099 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
37100 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
37101 rules.
37102
37103 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
37104 Generate a function to initialize the module in utilities.
37105 Updated all callers.
37106 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
37107 initialize the module in utilities. Updated all callers.
37108
37109 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
37110
37111 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
37112 escape sequence and a literal ^L to clear the screen.
37113
37114 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
37115 when returning from Open Firmware.
37116
37117 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
37118
37119 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
37120 (grub_ofconsole_height): Likewise.
37121 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
37122 manually insert a '\n'.
37123 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
37124 `grub_ofconsole_height'. Return early if these are already set.
37125
37126 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
37127
37128 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
37129 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
37130 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
37131 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
37132 and `normal/script.c'.
37133 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
37134 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
37135 (test_mod_SOURCES): New variable.
37136 (test_mod_CFLAGS): Likewise.
37137 (test_mod_LDFLAGS): Likewise.
37138 (pkgdata_MODULES): Add `test.mod'.
37139 (grub_script.tab.c): New rule.
37140 (grub_script.tab.h): Likewise.
37141
37142 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
37143
37144 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
37145 `commands/test.c', `normal/execute.c', `normal/lexer.c',
37146 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
37147 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
37148 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
37149 (test_mod_SOURCES): New variable.
37150 (test_mod_CFLAGS): Likewise.
37151 (pkgdata_MODULES): Add `test.mod'.
37152 (grub_script.tab.c): New rule.
37153 (grub_script.tab.h): Likewise.
37154
37155 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
37156
37157 Add initial scripting support.
37158
37159 * commands/test.c: New file.
37160 * include/grub/script.h: Likewise.
37161 * normal/execute.c: Likewise.
37162 * normal/function.c: Likewise.
37163 * normal/lexer.c: Likewise.
37164 * normal/parser.y: Likewise.
37165 * normal/script.c: Likewise.
37166
37167 * configure.ac: Add `AC_PROG_YACC' test.
37168
37169 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
37170 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
37171 `normal/function.c' and `normal/script.c'.
37172 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
37173 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
37174 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
37175 variables.
37176 (pkgdata_MODULES): Add `test.mod'.
37177 (grub_script.tab.c): New rule.
37178 (grub_script.tab.h): Likewise.
37179
37180 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
37181
37182 * include/grub/normal.h (grub_test_init): New prototype.
37183 (grub_test_fini): Likewise.
37184
37185 * normal/command.c: Include <grub/script.h>.
37186 (grub_command_execute): Rewritten.
37187
37188 * util/grub-emu.c (main): Call `grub_test_init' and
37189 `grub_test_fini'.
37190
37191 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
37192
37193 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
37194 to 0.
37195 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
37196 there are no pending characters.
37197
37198 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
37199
37200 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
37201 `grub_strndup' to drop device arguments. Replace unnecessary
37202 `grub_strndup' with `grub_strdup'.
37203
37204 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
37205
37206 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
37207 `debug' environment variable has been set.
37208
37209 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
37210
37211 * Makefile.in (install-local): Use $(DATA).
37212 (uninstall): Likewise.
37213 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
37214 (sbin_UTILITIES): ... to here.
37215 (sbin_SCRIPTS): New variable.
37216 (grub_install_SOURCES): New variable.
37217 * util/powerpc/ieee1275/grub-install.in: New file.
37218 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
37219 variable.
37220 (add_segments): Call `grub_util_get_path'.
37221
37222 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
37223
37224 From Timothy Baldwin:
37225 * commands/ls.c (grub_ls_list_files): Close FILE with
37226 grub_file_close.
37227 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
37228
37229 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
37230
37231 * include/grub/parser.h: New file.
37232
37233 * kern/parser.c: Likewise.
37234
37235 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
37236 (grub_setup_SOURCES): Likewise.
37237 (grub_probefs_SOURCES): Likewise.
37238 (grub_emu_SOURCES): Likewise.
37239 (kernel_img_HEADERS): Add `parser.h'.
37240
37241 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
37242 (grub_emu_SOURCES): Add `kern/parser.c'.
37243 (grubof_SOURCES): Likewise.
37244
37245 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
37246 (grubof_SOURCES): Add `kern/parser.c'.
37247
37248 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
37249
37250 * kern/misc.c (grub_split_cmdline): Removed function.
37251
37252 * kern/rescue.c: Include <grub/parser.h>.
37253 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
37254 of `grub_split_cmdline'.
37255
37256 * normal/command.c: Include <grub/parser.h>.
37257 (grub_command_execute): Use `grub_parser_split_cmdline' instead
37258 of `grub_split_cmdline'.
37259
37260 * normal/completion.c: Include <grub/parser.h>.
37261 (cmdline_state): New variable.
37262 (iterate_dir): End the filename with a quote depending on the
37263 command line state.
37264 (get_state): new function.
37265 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
37266 split the arguments and determine the current argument. When the
37267 argument string is not quoted, escape all spaces.
37268
37269 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
37270
37271 * normal/sparc64/setjmp.S: New file.
37272
37273 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
37274
37275 * include/grub/sparc64/libgcc.h: New file.
37276 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
37277 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
37278 normal/sparc64/setjmp.c.
37279
37280 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
37281
37282 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
37283 * kern/sparc64/cache.S: New file.
37284 * kern/sparc64/cache.c: Removed.
37285 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
37286 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
37287 -mtune=ultrasparc.
37288 (COMMON_LDFLAGS): Add -melf64_sparc.
37289 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
37290 (grubof_SOURCES): Use cache.S instead of cache.c.
37291 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
37292 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
37293 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
37294 commented though.
37295 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
37296 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
37297 (linux_mod_CFLAGS): Commented out.
37298 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
37299 out because module isn't built.
37300 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
37301 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
37302 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
37303 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
37304 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
37305 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
37306 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
37307 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
37308 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
37309 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
37310 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
37311 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
37312 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
37313 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
37314
37315 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
37316
37317 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
37318 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
37319 longer, because HFS should not be used on PC.
37320
37321 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
37322
37323 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
37324 consistently within the loop.
37325
37326 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
37327
37328 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
37329 directory can not be read.
37330
37331 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37332
37333 * configure.ac (AC_INIT): Increase the version number to 1.91.
37334
37335 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
37336 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
37337 term/i386/pc/serial.c.
37338
37339 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37340
37341 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
37342 file size must be permitted.
37343
37344 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
37345 between %ah and %al.
37346
37347 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
37348
37349 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
37350 grub_uint64_t.
37351 Call the hook with a NUL-terminated filename.
37352 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
37353 grub_cpu_to_be32.
37354
37355 * kern/term.c (cursor_state): New variable.
37356 (grub_term_set_current): Reset the cursor state on a new
37357 terminal.
37358 (grub_setcursor): Rewritten to use CURSOR_STATE.
37359 (grub_getcursor): New function.
37360
37361 * include/grub/term.h (grub_getcursor): New prototype.
37362
37363 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
37364 integers on ARM. Reported by Timothy Baldwin
37365 <T.E.Baldwin99@members.leeds.ac.uk>.
37366
37367 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
37368
37369 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
37370 allocated.
37371 (grub_sfs_dir): Likewise.
37372
37373 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
37374
37375 Add support for the SFS filesystem.
37376
37377 * fs/sfs.c: New file.
37378
37379 * DISTLIST: Added `fs/sfs.c'.
37380
37381 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
37382 (grub_probefs_SOURCES): Likewise.
37383 (grub_emu_SOURCES): Likewise.
37384 (pkgdata_MODULES): Add `sfs.mod'.
37385 (sfs_mod_SOURCES): New variable.
37386 (sfs_mod_CFLAGS): Likewise.
37387 (sfs_mod_LDFLAGS): Likewise.
37388
37389 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
37390 (pkgdata_MODULES): Add `sfs.mod'.
37391 (sfs_mod_SOURCES): New variable.
37392 (sfs_mod_CFLAGS): Likewise.
37393
37394 * util/grub-emu.c (main): Call `grub_sfs_init' and
37395 `grub_sfs_fini'.
37396
37397 * include/grub/fs.h (grub_sfs_init): New prototype.
37398 (grub_sfs_fini): Likewise.
37399
37400 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
37401
37402 Add support for the AFFS filesystem.
37403
37404 * fs/affs.c: New file.
37405
37406 * DISTLIST: Added `fs/affs.c'.
37407
37408 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
37409 (grub_probefs_SOURCES): Likewise.
37410 (grub_emu_SOURCES): Likewise.
37411 (pkgdata_MODULES): Add `affs.mod'.
37412 (affs_mod_SOURCES): New variable.
37413 (affs_mod_CFLAGS): Likewise.
37414 (affs_mod_LDFLAGS): Likewise.
37415
37416 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
37417 (pkgdata_MODULES): Add `affs.mod'.
37418 (affs_mod_SOURCES): New variable.
37419 (affs_mod_CFLAGS): Likewise.
37420
37421 * util/grub-emu.c (main): Call `grub_affs_init' and
37422 `grub_affs_fini'.
37423
37424 * include/grub/fs.h (grub_affs_init): New prototype.
37425 (grub_affs_fini): Likewise.
37426
37427 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
37428
37429 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
37430
37431 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
37432
37433 * configure.ac: Accept `x86_64' as host_cpu. In that case add
37434 `-m32' to CFLAGS.
37435
37436 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
37437 linking.
37438
37439 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
37440 (COMMON_LDFLAGS): New variable.
37441 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
37442 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
37443 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
37444 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
37445 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
37446 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
37447 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
37448 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
37449 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
37450 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
37451 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
37452 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
37453 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
37454 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
37455 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
37456 variables.
37457 (normal_mod_ASFLAGS): Add `-m32'.
37458
37459 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
37460 (grub_host_size_t, grub_host_ssize_t): New types.
37461 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
37462 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
37463 `GRUB_HOST_SIZEOF_VOID_P'.
37464
37465 * include/grub/kernel.h (struct grub_module_header): Type of
37466 member offset changed to `grub_host_off_t'. Type of member size
37467 changed to `grub_host_size_t'.
37468 (struct grub_module_info): Type of member offset changed to
37469 `grub_host_off_t'. Type of member size changed to
37470 `grub_host_size_t'.
37471
37472 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
37473
37474 Make GRUB's kernel compliant to Multiboot Specification.
37475
37476 * kern/i386/pc/startup.S (multiboot_header): New label.
37477 (multiboot_entry): Likewise.
37478 (multiboot_trampoline): Likewise.
37479
37480 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
37481 Increased to 0x4A0.
37482
37483 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
37484 put parentheses after a question mark.
37485 [!GRUB_UTIL] (my_mod): New variable.
37486
37487 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
37488
37489 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
37490
37491 Adds support for the XFS filesystem. Btrees are not supported
37492 yet.
37493
37494 * fs/xfs.c: New file.
37495
37496 * DISTLIST: Added `fs/xfs.c'.
37497
37498 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
37499 (grub_probefs_SOURCES): Likewise.
37500 (grub_emu_SOURCES): Likewise.
37501 (pkgdata_MODULES): Add `xfs.mod'.
37502 (xfs_mod_SOURCES): New variable.
37503 (xfs_mod_CFLAGS): Likewise.
37504
37505 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
37506 (pkgdata_MODULES): Add `xfs.mod'.
37507 (xfs_mod_SOURCES): New variable.
37508 (xfs_mod_CFLAGS): Likewise.
37509
37510 * util/grub-emu.c (main): Call `grub_xfs_init' and
37511 `grub_xfs_fini'.
37512
37513 * include/grub/fs.h (grub_xfs_init): New prototype.
37514 (grub_xfs_fini): Likewise.
37515
37516
37517 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
37518
37519 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
37520 color modes, allow greater than 16 colors to be configured as
37521 a default palette.
37522
37523 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
37524
37525 * normal/completion.c (complete_arguments): Add the qualifier
37526 const into OPTIONS.
37527
37528 From Omniflux <omniflux+lists@omniflux.com>:
37529 * include/grub/terminfo.h: New file.
37530 * include/grub/tparm.h: Likewise.
37531 * include/grub/i386/pc/serial.h: Likewise.
37532 * term/terminfo.c: Likewise.
37533 * term/tparm.c: Likewise.
37534 * term/i386/pc/serial.c: Likewise.
37535 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
37536 serial.mod.
37537 (terminfo_mod_SOURCES): New variable.
37538 (terminfo_mod_CFLAGS): Likewise.
37539 (serial_mod_SOURCES): Likewise.
37540 (serial_mod_CFLAGS): Likewise.
37541
37542 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
37543
37544 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
37545 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
37546 and kern/powerpc/ieee1275/cmain.c, respectively.
37547
37548 * boot/powerpc/ieee1275/crt0.S: Moved to ...
37549 * kern/powerpc/ieee1275/crt0.S: ... here.
37550
37551 * boot/powerpc/ieee1275/cmain.c: Moved to ...
37552 * kern/powerpc/ieee1275/cmain.c: ... here.
37553
37554 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
37555 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
37556 instead of boot/powerpc/ieee1275/crt0.S and
37557 boot/powerpc/ieee1275/cmain.c, respectively.
37558
37559 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
37560 sectors. It was not used anyway.
37561
37562 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
37563
37564 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
37565 `unused parameter' warning.
37566
37567 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
37568
37569 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
37570 function.
37571 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
37572 getcharwidth.
37573
37574 2005-08-28 Marco Gerards <metgerards@student.han.nl>
37575
37576 * include/grub/normal.h (enum grub_completion_type): Added
37577 `GRUB_COMPLETION_TYPE_ARGUMENT'.
37578
37579 * normal/cmdline.c (print_completion): Handle
37580 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
37581 * normal/menu_entry.c (store_completion): Likewise.
37582
37583 * normal/completion.c (complete_arguments): New function.
37584 (grub_normal_do_completion): Call `complete_arguments' when the
37585 current words start with a dash.
37586
37587 2005-08-27 Marco Gerards <metgerards@student.han.nl>
37588
37589 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
37590 `gzio.mod' instead of `io.mod').
37591
37592 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
37593
37594 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
37595 (DISTDIRS): Added io and video.
37596 Rewrite the search routine to make an output consistently.
37597
37598 * DISTLIST: Added conf/sparc64-ieee1275.mk,
37599 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
37600 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
37601 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
37602 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
37603 util/powerpc/ieee1275/misc.c.
37604
37605 * include/grub/gzio.h: New file.
37606 * io/gzio.c: Likewise.
37607
37608 * kern/file.c (grub_file_close): Call grub_device_close only if
37609 FILE->DEVICE is not NULL.
37610
37611 * include/grub/mm.h [!NULL] (NULL): New macro.
37612
37613 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
37614
37615 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
37616 (pkgdata_MODULES): Added gzio.mod.
37617 (gzio_mod_SOURCES): New variable.
37618 (gzio_mod_CFLAGS): Likewise.
37619
37620 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
37621 (pkgdata_MODULES): Added gzio.mod.
37622 (gzio_mod_SOURCES): New variable.
37623 (gzio_mod_CFLAGS): Likewise.
37624
37625 * commands/cat.c: Include grub/gzio.h.
37626 (grub_cmd_cat): Use grub_gzfile_open instead of
37627 grub_file_open.
37628
37629 * commands/cmp.c: Include grub/gzio.h.
37630 (grub_cmd_cmp): Use grub_gzfile_open instead of
37631 grub_file_open.
37632
37633 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
37634 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
37635 grub_file_open.
37636 (grub_rescue_cmd_module): Likewise.
37637
37638 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
37639
37640 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
37641 kern/sparc64/ieee1275/init.c because it contains _start.
37642 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
37643
37644 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
37645
37646 * configure.ac: Add support for sparc64 host with ieee1275
37647 firmware.
37648 * configure: Generated from configure.ac.
37649 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
37650 instead of int.
37651 (grub_ofdisk_read): Likewise.
37652 (grub_ofdisk_open): Use %p to print pointer values, and cast the
37653 pointers as (void *) to remove a warning.
37654 (grub_ofdisk_close): Likewise.
37655 (grub_ofdisk_read): Likewise.
37656 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
37657 returns, so make it return void to remove a warning.
37658 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
37659 Corresponding prototype change.
37660 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
37661 values, and cast the pointers as (void *) to remove a warning.
37662 (grub_mm_dump): Likewise.
37663 * conf/sparc64-ieee1275.mk: New file.
37664 * conf/sparc64-ieee1275.rmk: Likewise.
37665 * include/grub/sparc64/setjmp.h: Likewise.
37666 * include/grub/sparc64/types.h: Likewise.
37667 * include/grub/sparc64/ieee1275/console.h: Likewise.
37668 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
37669 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
37670 * include/grub/sparc64/ieee1275/time.h: Likewise.
37671 * kern/sparc64/cache.c: Likewise.
37672 * kern/sparc64/dl.c: Likewise.
37673 * kern/sparc64/ieee1275/init.c: Likewise.
37674 * kern/sparc64/ieee1275/openfw.c: Likewise.
37675
37676 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
37677
37678 * util/console.c (grub_ncurses_putchar): If C is greater than
37679 0x7f, set C to a question mark.
37680 (grub_ncurses_getcharwidth): New function.
37681 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
37682 getcharwidth.
37683
37684 * normal/menu.c (print_entry): Made aware of Unicode. First,
37685 convert TITLE to UCS-4, and predict the cursor position by
37686 grub_getcharwidth.
37687
37688 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
37689 const to SRC.
37690 * kern/misc.c (grub_utf16_to_utf8): Likewise.
37691
37692 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37693
37694 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
37695 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
37696 grub_strcat.
37697
37698 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
37699 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
37700 grub_strcpy and grub_strlen. Take it into account that a space
37701 character is inserted as a delimiter.
37702
37703 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37704
37705 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
37706 invalid magic in the error.
37707
37708 * commands/search.c: New file.
37709
37710 * util/grub-emu.c (main): Call grub_search_init and
37711 grub_search_fini.
37712
37713 * kern/rescue.c (grub_rescue_print_disks): Removed.
37714 (grub_rescue_print_devices): New function.
37715 (grub_rescue_cmd_ls): Use grub_device_iterate with
37716 grub_rescue_print_devices instead of grub_disk_dev_iterate with
37717 grub_rescue_print_disks.
37718
37719 * kern/partition.c (grub_partition_iterate): Return the result of
37720 PARTMAP->ITERATE instead of GRUB_ERRNO.
37721
37722 * kern/device.c: Include grub/partition.h.
37723 (grub_device_iterate): New function.
37724
37725 * include/grub/partition.h (grub_partition_iterate): Return int
37726 instead of grub_err_t.
37727
37728 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
37729 prototype.
37730 [GRUB_UTIL] (grub_search_fini): Likewise.
37731
37732 * include/grub/device.h (grub_device_iterate): New prototype.
37733
37734 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37735 commands/search.c.
37736 (pkgdata_MODULES): Added search.mod.
37737 (search_mod_SOURCES): New variable.
37738 (search_mod_CFLAGS): Likewise.
37739
37740 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
37741 (pkgdata_MODULES): Added search.mod.
37742 (search_mod_SOURCES): New variable.
37743 (search_mod_CFLAGS): Likewise.
37744
37745 * commands/ls.c (grub_ls_list_disks): Renamed to ...
37746 (grub_ls_list_devices): ... this, and use grub_device_iterate.
37747 All callers changed.
37748
37749 * DISTLIST: Added commands/search.c.
37750
37751 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37752
37753 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
37754 conversion.
37755 (grub_getcharwidth): New function.
37756
37757 * kern/misc.c (grub_utf8_to_ucs4): New function.
37758
37759 * include/grub/term.h (struct grub_term): Added a new member
37760 "getcharwidth".
37761 (grub_getcharwidth): New prototype.
37762
37763 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
37764
37765 * term/i386/pc/console.c (map_char): New function. Segregated from
37766 grub_console_putchar.
37767 (grub_console_putchar): Use map_char.
37768 (grub_console_getcharwidth): New function.
37769 (grub_console_term): Specified grub_console_getcharwidth as
37770 getcharwidth.
37771
37772 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
37773 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
37774
37775 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
37776 GRUB_ERRNO.
37777 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
37778 on grub_strtoul completely.
37779 (write_char): Declare local variables in the beginning of the
37780 function.
37781 (grub_vesafb_getcharwidth): New function.
37782 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
37783 getcharwidth.
37784
37785 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
37786
37787 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
37788 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
37789 commands/i386/pc/vbetest.c.
37790
37791 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
37792 call grub_vbe_get_controller_info again, because the returned
37793 information is volatile.
37794 (grub_vbe_set_video_mode): Mostly rewritten.
37795 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
37796 grub_vbe_status_t correctly.
37797 (grub_vbe_get_video_mode_info): Likewise.
37798 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
37799 several if statements.
37800
37801 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
37802 * commands/i386/pc/vbeinfo.c: ... this.
37803
37804 * commands/i386/pc/vbe_test.c: Renamed to ...
37805 * commands/i386/pc/vbetest.c: ... this.
37806
37807 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
37808 ...
37809 (grub_cmd_vbeinfo): ... this. Save video modes before
37810 iterating. Skip a video mode, if it is not available, not enough
37811 information is given or it is monochrome. Show the memory
37812 model. Leave the interpretation of MODEVAR to grub_strtoul
37813 completely.
37814 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
37815 (GRUB_MOD_FINI): Likewise.
37816
37817 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
37818 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
37819 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
37820 duplicated grub_env_get. Leave the interpretation of MODEVAR to
37821 grub_strtoul completely.
37822 (real2pm): Removed.
37823 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
37824 (GRUB_MOD_FINI): Likewise.
37825
37826 * normal/misc.c: Include grub/mm.h.
37827
37828 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
37829 vbe_list_modes with vbetest.mod and vbeinfo.mod.
37830 (vbe_list_modes_mod_SOURCES): Removed.
37831 (vbe_list_modes_mod_CFLAGS): Likewise.
37832 (vbe_test_mod_SOURCES): Likewise.
37833 (vbe_test_mod_CFLAGS): Likewise.
37834 (vbeinfo_mod_SOURCES): New variable.
37835 (vbeinfo_mod_CFLAGS): Likewise.
37836 (vbetest_mod_SOURCES): Likewise.
37837 (vbetest_mod_CFLAGS): Likewise.
37838
37839 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
37840
37841 * normal/misc.c: New file.
37842
37843 * DISTLIST: Added normal/misc.c.
37844
37845 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
37846 DISK to HOOK. Call HOOK with DISK.
37847 * partmap/apple.c (apple_partition_map_iterate): Likewise.
37848 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37849 * partmap/sun.c (sun_partition_map_iterate): Likewise.
37850
37851 * normal/menu_entry.c (struct screen): Added a new member
37852 "completion_shown".
37853 (completion_buffer): New global variable.
37854 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
37855 (store_completion): New function.
37856 (complete): Likewise.
37857 (clear_completions): Likewise.
37858 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
37859 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
37860 a tab, call complete.
37861
37862 * normal/completion.c (disk_dev): Removed.
37863 (print_simple_completion): Likewise.
37864 (print_partition_completion): Likewise.
37865 (print_func): New global variable.
37866 (add_completion): Do not take the arguments WHAT or PRINT any
37867 longer. Added a new argument TYPE. Instead of printing directly,
37868 call PRINT_FUNC if not NULL.
37869 All callers changed.
37870 (complete_device): Use a local variable DEV instead of
37871 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
37872 (grub_normal_do_completion): Take a new argument HOOK. Do not
37873 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
37874 empty string, return NULL instead.
37875 All callers changed.
37876
37877 * normal/cmdline.c (print_completion): New function.
37878
37879 * kern/partition.c (grub_partition_iterate): Add an argument DISK
37880 to HOOK.
37881 All callers changed.
37882
37883 * kern/disk.c (grub_print_partinfo): Removed.
37884
37885 * include/grub/partition.h (struct grub_partition_map): Add a new
37886 argument DISK into HOOK of ITERATE.
37887 (grub_partition_iterate): Add a new argument DISK to HOOK.
37888
37889 * include/grub/normal.h (enum grub_completion_type): New enum.
37890 (grub_completion_type_t): New type.
37891 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
37892 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
37893 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
37894 (GRUB_COMPLETION_TYPE_FILE): Likewise.
37895 (grub_normal_do_completion): Added a new argument HOOK.
37896 (grub_normal_print_device_info): New prototype.
37897
37898 * include/grub/disk.h (grub_print_partinfo): Removed.
37899
37900 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
37901 (normal_mod_SOURCES): Likewise.
37902 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37903 (normal_mod_SOURCES): Likewise.
37904
37905 * commands/ls.c (grub_ls_list_disks): Use
37906 grub_normal_print_device_info instead of grub_print_partinfo. Free
37907 PNAME.
37908 (grub_ls_list_files): Use grub_normal_print_device_info instead of
37909 duplicating the code.
37910
37911 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37912
37913 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
37914 follow GCS more precisely.
37915 * commands/i386/pc/vbe_test.c: Likewise.
37916 * include/grub/i386/pc/vbe.h: Likewise.
37917 * term/i386/pc/vesafb.c: Likewise.
37918 * video/i386/pc/vbe.c: Likewise.
37919
37920 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37921
37922 * DISTLIST: Added term/i386/pc/vesafb.c
37923 DISTLIST: Added video/i386/pc/vbe.c
37924 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
37925 DISTLIST: Added commands/i386/pc/vbe_test.c.
37926 * commands/i386/pc/vbe_list_modes.c: New file.
37927 * commands/i386/pc/vbe_test.c: Likewise.
37928 * term/i386/pc/vesafb.c: Likewise.
37929 * video/i386/pc/vbe.c: Likewise.
37930 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
37931 (grub_vbe_probe) Added prototype.
37932 (grub_vbe_set_video_mode) Likewise.
37933 (grub_vbe_get_video_mode) Likewise.
37934 (grub_vbe_get_video_mode_info) Likewise.
37935 (grub_vbe_set_pixel_rgb) Likewise.
37936 (grub_vbe_set_pixel_index) Likewise.
37937 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
37938 (pkgdata_MODULES): Added vesafb.mod.
37939 (pkgdata_MODULES): Added vbe_list_modes.mod.
37940 (pkgdata_MODULES): Added vbe_test.mod.
37941 (vbe_mod_SOURCES): Added.
37942 (vbe_mod_CFLAGS): Likewise.
37943 (vesafb_mod_SOURCES): Likewise.
37944 (vesafb_mod_CFLAGS): Likewise.
37945 (vbe_list_modes_mod_SOURCES): Likewise.
37946 (vbe_list_modes_mod_CFLAGS): Likewise.
37947 (vbe_test_mod_SOURCES): Likewise.
37948 (vbe_test_mod_CFLAGS): Likewise.
37949
37950 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
37951
37952 * normal/command.c (grub_command_execute): If INTERACTIVE is
37953 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
37954 CMDLINE. Disable the pager if INTERACTIVE is true.
37955 All callers are changed.
37956
37957 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
37958 before reading a config file.
37959 * normal/main.c (read_config_file): Even if a command is not
37960 found, register it if it is within an entry.
37961
37962 * util/grub-emu.c: Include sys/types.h and unistd.h.
37963 (options): Added --hold.
37964 (struct arguments): Added a new member "hold".
37965 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
37966 missing.
37967 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
37968 cleared by a debugger, if it is not zero.
37969
37970 * include/grub/normal.h (grub_command_execute): Add an argument
37971 INTERACTIVE.
37972
37973 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
37974
37975 * DISTLIST: Added include/grub/i386/pc/vbe.h.
37976
37977 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
37978
37979 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
37980 program with another one, because the old one didn't detect a bug
37981 in gcc-3.4. Always use regparm 2, because the new test is still
37982 not enough for gcc-4.0. Someone must investigate a simple test
37983 case which detects a bug in gcc-4.0.
37984
37985 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
37986
37987 * DISTLIST: Added normal/completion.c.
37988
37989 * normal/completion.c: New file.
37990
37991 * term/i386/pc/console.c (grub_console_getwh): New function.
37992 (grub_console_term): Assign grub_console_getwh to getwh.
37993
37994 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
37995 function is defined in normal/completion.c as
37996 grub_normal_do_completion.
37997 (grub_cmdline_get): Use grub_normal_do_completion instead of
37998 grub_tab_complete.
37999
38000 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
38001 returns non-zero, otherwise return 0.
38002 (grub_partition_iterate): First, probe the partition map. Then,
38003 call ITERATE only for this partition map.
38004
38005 * kern/misc.c (grub_strncmp): Rewritten.
38006
38007 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
38008 returns non-zero. Otherwise return 0.
38009
38010 * include/grub/partition.h (grub_partition_map_iterate): Return
38011 int instead of void.
38012
38013 * include/grub/normal.h (grub_normal_do_completion): New prototype.
38014
38015 * include/grub/misc.h (grub_strncmp): Change the type of N to
38016 grub_size_t.
38017
38018 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
38019 of void.
38020
38021 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
38022 unsigned explicitly before comparing it with I.
38023
38024 * kern/main.c (grub_env_write_root): Add the attribute unused into
38025 VAR.
38026
38027 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
38028 normal/completion.c.
38029 (normal_mod_SOURCES): Likewise.
38030 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
38031 (normal_mod_SOURCES): Likewise.
38032
38033 * normal/command.c (grub_iterate_commands): If ITERATE returns
38034 non-zero, return one immediately.
38035
38036 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
38037
38038 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
38039 * kern/i386/pc/startup.S: Updated Global Descriptor table's
38040 descriptions.
38041 (grub_vbe_get_controller_info): New function.
38042 (grub_vbe_get_mode_info): Likewise.
38043 (grub_vbe_set_mode): Likewise.
38044 (grub_vbe_get_mode): Likewise.
38045 (grub_vbe_set_memory_window): Likewise.
38046 (grub_vbe_get_memory_window): Likewise.
38047 (grub_vbe_set_scanline_length): Likewise.
38048 (grub_vbe_get_scanline_length): Likewise.
38049 (grub_vbe_set_display_start): Likewise.
38050 (grub_vbe_get_display_start): Likewise.
38051 (grub_vbe_set_palette_data): Likewise.
38052 * include/grub/i386/pc/vbe.h: New file.
38053
38054 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
38055
38056 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
38057 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
38058 * DISTLIST: Likewise.
38059 * kern/ieee1275/of.c: Moved to ...
38060 * kern/ieee1275/ieee1275.c: ... here.
38061
38062 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
38063
38064 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
38065 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
38066 Pass 0 as `end' parameter to grub_strtoul().
38067
38068 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
38069
38070 * include/grub/powerpc/ieee1275/console.h: Do not include
38071 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
38072 ifdef.
38073 (grub_console_cur_color): Remove i386-specific prototype.
38074 (grub_console_real_putchar): Likewise.
38075 (grub_console_checkkey): Likewise.
38076 (grub_console_getkey): Likewise.
38077 (grub_console_getxy): Likewise.
38078 (grub_console_gotoxy): Likewise.
38079 (grub_console_cls): Likewise.
38080 (grub_console_setcursor): Likewise.
38081 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
38082 Include <grub/machine/console.h>.
38083 * term/ieee1275/ofconsole.c: Likewise.
38084
38085 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
38086
38087 * Makefile.in (LIBLZO): New variable.
38088
38089 * configure.ac: Check for LZO version 2.
38090
38091 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
38092 lzo/lzo1x.h instead of lzo1x.h.
38093
38094 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
38095 of -llzo.
38096
38097 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
38098 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
38099
38100 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
38101 copying the data from PARTITION to P.
38102
38103 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
38104
38105 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
38106 negative, unload the module.
38107
38108 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
38109 map is "pc_partition_map" but not "pc".
38110 (usage): Fix the description. The options are --boot-image and
38111 --core-image but not --boot-file or --core-file.
38112 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
38113 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
38114 DEFAULT_DIRECTORY.
38115
38116 * util/i386/pc/grub-install.in: Do not specify --boot-file or
38117 --core-file. Specify INSTALL_DEVICE as an argument.
38118
38119 * util/console.c: Include config.h.
38120 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
38121 [HAVE_NCURSES_H]: Include ncurses.h.
38122 [HAVE_CURSES_H]: Include curses.h.
38123 [!A_NORMAL] (A_NORMAL): Defined as zero.
38124 [!A_STANDOUT] (A_STANDOUT): Likewise.
38125
38126 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
38127 -lncurses.
38128 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
38129
38130 * configure.ac: Check for curses libraries and headers.
38131
38132 * Makefile.in (LIBCURSES): New variable.
38133
38134 * genmk.rb (Script::rule): Set the executable bits.
38135
38136 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
38137 name of the PC partition map is "pc_partition_map" but not "pc".
38138
38139 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
38140
38141 * util/i386/pc/grub-install.in (grub_probefs): New variable.
38142 (modules): Likewise.
38143 (usage): Added descriptions for --modules and --grub-probefs.
38144 Handle --modules and --grub-probefs. Save the arguments in MODULES
38145 and GRUB_PROBEFS, respectively.
38146 Auto-detect a filesystem module against GRUBDIR. If the result is
38147 empty and modules are not specified explicitly, abort the
38148 installation. Add the result to MODULES.
38149
38150 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
38151 disk/powerpc/ieee1275/ofdisk.c,
38152 include/grub/powerpc/ieee1275/init.h and
38153 term/powerpc/ieee1275/ofconsole.c.
38154 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
38155 term/ieee1275/ofconsole.c.
38156
38157 * include/grub/powerpc/ieee1275/console.h: Resurrected.
38158
38159 * COPYING: Upgraded to the latest version. Only the address of the
38160 FSF office has changed.
38161
38162 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
38163
38164 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
38165 kern/ieee1275.c with kern/ieee1275/of.c.
38166
38167 * kern/ieee1275.c: Moved to ...
38168 * kern/ieee1275/of.c: ... here.
38169
38170 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
38171
38172 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
38173 readability.
38174
38175 * config.guess: Updated to the latest version from gnulib.
38176 * config.sub: Likewise.
38177 * install.sh: Likewise.
38178 * mkinstalldirs: Likewise.
38179
38180 * include/grub/console.h: Removed. This file is arch-specific. Do
38181 not put this in include/grub.
38182
38183 * include/grub/i386/pc/console.h: Resurrected.
38184
38185 * util/console.c: Include grub/machine/console.h instead of
38186 grub/console.h.
38187 * util/grub-emu.c: Likewise.
38188
38189 2005-08-04 Marco Gerards <metgerards@student.han.nl>
38190
38191 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
38192 hardcoded value.
38193
38194 From Vincent Pelletier <subdino2004@yahoo.fr>
38195 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
38196 Redefined to use grub_getwh.
38197 (grub_term): New member named getwh.
38198 (grub_getwh): New prototype.
38199 * kern/term.c (grub_getwh): New function.
38200 * term/i386/pc/console.c (grub_console_getwh): New function.
38201 (grub_console_term): New member `getwh'.
38202 * term/i386/pc/vga.c (grub_vga_getwh): New function.
38203 (grub_vga_term): New member `getwh'.
38204 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
38205 grub_ssize_t.
38206 (grub_ofconsole_getw): New function.
38207 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
38208 (grub_ofconsole_term): New field named getwh and new initial
38209 value.
38210
38211 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
38212
38213 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
38214 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
38215 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
38216 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
38217 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
38218 of <grub/machine/ieee1275.h>.
38219 * commands/ieee1275/reboot.c: Likewise.
38220 * boot/powerpc/ieee1275/ieee1275.c: Move ...
38221 * kern/ieee1275.c: ... to here. All users updated. Change all
38222 parameter structs to use new type `grub_ieee1275_cell_t'.
38223 * term/powerpc/ieee1275/ofconsole.c: Move ...
38224 * term/ieee1275/ofconsole.c: ... to here. All users updated.
38225 * disk/powerpc/ieee1275/ofdisk.c: Move ...
38226 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
38227 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
38228 to return int.
38229 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
38230 Remove unused prototypes. All users updated.
38231 * include/grub/powerpc/ieee1275/console.h: Removed.
38232 * include/grub/powerpc/ieee1275/ieee1275.h: Define
38233 `grub_ieee1275_cell_t'.
38234 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
38235 Cast comparisons with -1 to the correct type.
38236 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
38237 type to match `grub_ieee1275_entry_fn'.
38238
38239 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
38240
38241 * DISTLIST: Added util/i386/pc/grub-probefs.c.
38242
38243 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
38244 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
38245 partmap/sun.c.
38246 (grub_probefs_SOURCES): New variable.
38247
38248 * util/i386/pc/grub-probefs.c: New file.
38249
38250 * util/i386/pc/grub-setup.c (main): Call
38251 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
38252 grub_hfs_init and grub_jfs_init to initialize the system. Call
38253 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
38254 grub_pc_partition_map_fini to finish the system.
38255
38256 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
38257
38258 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
38259 function.
38260 (grub_multiboot_load_elf32): Likewise.
38261 (grub_multiboot_is_elf64): Likewise.
38262 (grub_multiboot_load_elf64): Likewise.
38263 (grub_multiboot_load_elf): Likewise.
38264 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
38265 an ELF32 or ELF64 file.
38266 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
38267
38268 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
38269 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
38270 NULL before calling FS->LABEL.
38271 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
38272 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
38273 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
38274 before calling FS->LABEL.
38275
38276 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
38277
38278 * util/i386/pc/grub-install.in (datadir): New variable.
38279 (libdir): Removed.
38280 (pkgdatadir): New variable.
38281 (pkglibdir): Removed.
38282
38283 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
38284
38285 * DISTLIST: Added util/i386/pc/grub-install.in.
38286
38287 * util/i386/pc/grub-install.in: New file.
38288
38289 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
38290 (grub_install_SOURCES): Likewise.
38291
38292 * genmk.rb: Added support for scripts.
38293 (Script): New class.
38294 (scripts): New variable.
38295
38296 * Makefile.in (install-local): Install sbin_SCRIPTS by
38297 INSTALL_SCRIPT.
38298 (uninstall): Remove sbin_SCRIPTS.
38299
38300 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
38301 device, try to get a GRUB device by
38302 grub_util_biosdisk_get_grub_dev.
38303 Free DEST_DEV.
38304
38305 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
38306 description for --device-map.
38307
38308 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
38309
38310 Change the semantics of variable hooks. They now return strings
38311 instead of error values.
38312
38313 * util/i386/pc/grub-setup.c: Include grub/env.h.
38314 (setup): Use grub_device_set_root instead of grub_env_set.
38315
38316 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
38317 grub_env_get instead of grub_device_set_root and
38318 grub_device_get_root, respectively.
38319
38320 * kern/main.c (grub_env_write_root): New function.
38321 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
38322 grub_env_set instead of grub_device_set_root.
38323
38324 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
38325 many variables.
38326 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
38327 rather than calling ENV->WRITE_HOOK afterwards.
38328 (grub_env_get): Return the result of ENV->READ_HOOK rather than
38329 passing a pointer of a pointer.
38330 (grub_register_variable_hook): Change the types of "read_hook" and
38331 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
38332 respectively.
38333 Allocate the default empty string on the heap, because this string
38334 may be freed later.
38335
38336 * kern/device.c: Include grub/env.h.
38337 (grub_device_set_root): Removed.
38338 (grub_device_get_root): Likewise.
38339 (grub_device_open): Use grub_env_get instead of
38340 grub_device_get_root.
38341
38342 * include/grub/env.h (grub_env_read_hook_t): New type.
38343 (grub_env_write_hook_t): Likewise.
38344 (grub_env_var): Change the types of "read_hook" and "write_hook"
38345 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
38346 (grub_register_variable_hook): Likewise.
38347
38348 * include/grub/device.h (grub_device_set_root): Removed.
38349 (grub_device_set_root): Likewise.
38350
38351 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
38352 make sure that DIRNAME terminates with '/', so that
38353 grub_fat_find_dir will fail if PATH is not a directory.
38354
38355 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
38356 from DIRNAME.
38357 Use the qualifier auto for print_files and print_files_long.
38358 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
38359 as a regular file.
38360 Put a newline only if there is no error.
38361 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
38362 used.
38363
38364 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
38365
38366 * kern/partition.c (grub_partition_probe): Initialize PART to
38367 NULL. Otherwise, when no partition map is registered, this returns
38368 a garbage.
38369
38370 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
38371
38372 * partmap/apple.c (apple_partition_map_iterate): Check if POS
38373 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
38374 valid.
38375
38376 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
38377
38378 * commands/ls.c (grub_ls_list_disks): Print the filesystem
38379 information on each device, if it does not have partitions. Print
38380 "Device" instead of "Disk", because this function is not specific
38381 to disk devices.
38382
38383 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
38384 static to ensure that it is put on the memory rather than a
38385 register.
38386
38387 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
38388
38389 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
38390 (grub_cat_init): Likewise.
38391 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
38392 (options): Likewise.
38393 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
38394 (grub_configfile_init): Likewise.
38395 * font/manager.c (GRUB_MOD_INIT): Likewise.
38396 * commands/help.c (GRUB_MOD_INIT): Likewise.
38397 (grub_help_init): Likewise.
38398 * normal/command.c (grub_command_init): Likewise.
38399 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
38400 * disk/loopback.c (grub_loop_init): Likewise.
38401 (GRUB_MOD_INIT): Likewise.
38402 * commands/ls.c (grub_ls_init): Likewise.
38403 (GRUB_MOD_INIT): Likewise.
38404 (options): Likewise.
38405 * commands/boot.c (grub_boot_init): Likewise.
38406 (GRUB_MOD_INIT): Likewise.
38407 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
38408 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
38409 (GRUB_MOD_INIT): Likewise.
38410 * commands/cmp.c (grub_cmp_init): Likewise.
38411 (GRUB_MOD_INIT): Likewise.
38412
38413 * normal/arg.c: Use <> instead of "" to include header files.
38414 (SHORT_ARG_HELP): New macro.
38415 (SHORT_ARG_USAGE): Likewise.
38416 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
38417 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
38418 descriptions.
38419 (find_short): Check if C is 'h' or 'u' explicitly.
38420 (grub_arg_show_help): Use space characters instead of tabs. Treat
38421 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
38422 are shown with --help and --usage only if they are not used for
38423 the command itself.
38424 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
38425 'h' and 'u'.
38426
38427 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
38428 const into "longarg". Change the type of "shortarg" to int.
38429
38430 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
38431
38432 * boot/i386/pc/boot.S (boot_drive_check): New label.
38433
38434 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
38435 macro.
38436
38437 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
38438 which do not pass a boot drive correctly. Copied from GRUB Legacy.
38439
38440 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
38441
38442 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
38443 When turning off Gate A20, skip the check and return immediately,
38444 because this is not fatal usually.
38445
38446 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
38447
38448 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
38449 be 0x7C00 instead of 0x8000.
38450
38451 * boot/i386/pc/pxeboot.S: Rewritten.
38452
38453 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
38454 EXT_C.
38455 (gate_a20_check_state): Read a byte from 0x108000. Invert the
38456 result.
38457
38458 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
38459
38460 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
38461 robustness. This routine now supports a BIOS call and System
38462 Control Port A to modify the gate A20.
38463
38464 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
38465 Increased to 0x440.
38466
38467 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
38468
38469 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
38470 device path and resulting ihandle.
38471 (grub_ofdisk_close): dprintf the ihandle being closed.
38472 (grub_ofdisk_read): dprintf function parameters.
38473 * kern/mm.c (grub_mm_init_region): Likewise.
38474 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
38475 (grub_linux_boot): dprintf the Linux entry point, initrd address and
38476 size, and boot arguments.
38477 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
38478 before loading into memory.
38479 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
38480 before loading into memory.
38481
38482 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
38483
38484 * kern/mm.c: Added much documentation.
38485 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
38486 8, set to 5 instead of 8.
38487
38488 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
38489
38490 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
38491
38492 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
38493 (grub_mkdevicemap_SOURCES): New variable.
38494
38495 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
38496 lib/device.c of GRUB Legacy.
38497
38498 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
38499
38500 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
38501 instead of PATH is NULL.
38502
38503 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
38504
38505 * commands/cmp.c (BUFFER_SIZE): New macro.
38506 (grub_cmd_cmp): Close the right file at the right time. Compare
38507 only data just read. Don't report files of different size as
38508 identical. Dynamically allocate buffers. Move variable
38509 declarations at the beginning of function.
38510
38511 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
38512
38513 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
38514 reverse.
38515
38516 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
38517
38518 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
38519 when backspace is pressed at beginning of line.
38520
38521 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
38522
38523 * DISTLIST: Added genfslist.sh.
38524
38525 * normal/main.c (fs_module_list): New variable.
38526 (autoload_fs_module): New function.
38527 (read_fs_list): Likewise.
38528 (grub_normal_execute): Call read_fs_list.
38529
38530 * kern/fs.c (grub_fs_autoload_hook): New variable.
38531 (grub_fs_probe): Added support for auto-loading.
38532
38533 * include/grub/normal.h (struct grub_fs_module_list): New struct.
38534 (grub_fs_module_list_t): New type.
38535
38536 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
38537 (grub_fs_autoload_hook): New prototype.
38538
38539 * genfslist.sh: New file.
38540
38541 * genmk.rb: Added a rule to generate a filesystem list.
38542
38543 2005-06-30 Marco Gerards <metgerards@student.han.nl>
38544
38545 * configure.ac: Fix the test for cross-compiling.
38546
38547 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
38548 define GRUB_UTIL anymore.
38549
38550 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
38551 so this function works on other systems than just big endian.
38552 (load_modules): Likewise.
38553 (add_segments): Likewise.
38554
38555 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
38556
38557 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
38558 contains `l' modifier, get a long from va_arg().
38559
38560 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
38561
38562 * kern/mm.c (grub_free): If the next free block which is being
38563 merged is the first free block, set the first block to the block
38564 being freed.
38565 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
38566
38567 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
38568
38569 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
38570 `grub_ieee1275_chosen'.
38571
38572 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
38573
38574 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
38575 (grub_ieee1275_chosen): New variable.
38576 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
38577 `chosen'.
38578 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
38579 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
38580 Rename first argument to `phandle' for consistency.
38581 (grub_ieee1275_get_property_length): Likewise.
38582 (grub_ieee1275_next_property): Likewise. Change type of first argument
38583 to grub_ieee1275_phandle_t.
38584 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
38585 Move export next to declaration.
38586 (grub_ieee1275_chosen): New variable.
38587 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
38588 Correct cosmetic typo.
38589 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
38590 `grub_ieee1275_chosen'.
38591 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
38592 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
38593 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
38594 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
38595 `grub_ieee1275_chosen'.
38596
38597 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
38598
38599 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
38600 /chosen/bootargs.
38601 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
38602 /chosen/bootargs as "variable=value" pairs.
38603
38604 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
38605
38606 * include/grub/misc.h (grub_dprintf): New macro.
38607 (grub_real_dprintf): New prototype.
38608 (grub_strword): Likewise.
38609 (grub_iswordseparator): Likewise.
38610 * kern/misc.c (grub_real_dprintf): New function.
38611 (grub_strword): Likewise.
38612 (grub_iswordseparator): Likewise.
38613
38614 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
38615
38616 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
38617 (roundup): Remove macro.
38618 (grub_ieee1275_flags): Make static.
38619 (grub_ieee1275_realmode): Remove.
38620 (grub_ieee1275_test_flag): New function.
38621 (grub_ieee1275_set_flag): Likewise.
38622 (find_options): Rename to `grub_ieee1275_find_options'; update
38623 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
38624 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
38625 (cmain): New prototype.
38626 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
38627 `grub_ieee1275_flags' directly.
38628 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
38629 machine/biosdisk.h.
38630 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
38631 Don't include grub/machine/init.h.
38632 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
38633 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
38634 Remove prototype.
38635 (grub_ieee1275_realmode): Likewise.
38636 (grub_ieee1275_flag): New enum.
38637 (grub_ieee1275_test_flag): New prototype.
38638 (grub_ieee1275_set_flag): New prototype.
38639 * include/grub/powerpc/ieee1275/init.h: Remove file.
38640 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
38641 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
38642 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
38643 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
38644 comment.
38645 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
38646 `grub_ieee1275_test_flag'.
38647 (grub_ieee1275_encode_devname): Likewise.
38648
38649 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
38650
38651 * include/grub/powerpc/ieee1275/ieee1275.h
38652 (grub_ieee1275_encode_devname): New prototype.
38653 (grub_ieee1275_get_filename): Likewise.
38654 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
38655 function.
38656 (grub_set_prefix): Likewise.
38657 (grub_machine_init): Call grub_set_prefix.
38658 * kern/powerpc/ieee1275/openfw.c: Fix typos.
38659 (grub_parse_type): New enum.
38660 (grub_ieee1275_get_devargs): New function.
38661 (grub_ieee1275_get_devname): Likewise.
38662 (grub_ieee1275_parse_args): Likewise.
38663 (grub_ieee1275_get_filename): Likewise.
38664 (grub_ieee1275_encode_devname): Likewise.
38665
38666 2005-03-30 Marco Gerards <metgerards@student.han.nl>
38667
38668 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
38669 `grub_loader_unset'.
38670
38671 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
38672
38673 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
38674 instead of grub_ieee1275_interpret.
38675 (grub_halt_init): New function.
38676 (grub_halt_fini): Likewise.
38677 (GRUB_MOD_INIT): Correct message grammar.
38678 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
38679 instead of grub_ieee1275_interpret.
38680 (grub_reboot_init): New function.
38681 (grub_reboot_fini): Likewise.
38682 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
38683 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
38684 util/i386/pc/misc.c with commands/ieee1275/halt.c,
38685 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
38686 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
38687 function.
38688 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
38689 Add prototype.
38690 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
38691 prototype.
38692 (grub_halt): Likewise.
38693 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
38694 (cmain): Remove __attribute__((unused)).
38695 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
38696 (grub_heap_len): Likewise.
38697 (grub_machine_fini): New function.
38698 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
38699 (grub_halt): Likewise.
38700 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
38701 function.
38702 * util/powerpc/ieee1275/misc.c: New file.
38703
38704 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
38705
38706 * DISTLIST: New file.
38707 * gendistlist.sh: Likewise.
38708
38709 * Makefile.in (COMMON_DISTFILES): Removed.
38710 (BOOT_DISTFILES): Likewise.
38711 (CONF_DISTFILES): Likewise.
38712 (DISK_DISTFILES): Likewise.
38713 (FS_DISTFILES): Likewise.
38714 (INCLUDE_DISTFILES): Likewise.
38715 (KERN_DISTFILES): Likewise.
38716 (LOADER_DISTFILES): Likewise.
38717 (TERM_DISTFILES): Likewise.
38718 (UTIL_DISTFILES): Likewise.
38719 (DISTFILES): Likewise.
38720 (uninstall): Uninstall files in $(pkgdata_DATA).
38721 (DISTLIST): New target.
38722 (distdir): Use the contents of the file DISTLIST to get a list of
38723 distributed files.
38724
38725 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
38726
38727 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
38728 descriptor. This is ported from GRUB Legacy.
38729
38730 * gencmdlist.sh: Added an extra semicolon to make it work with
38731 old sed versions. Reported by Robert Bihlmeyer
38732 <robbe@orcus.priv.at>.
38733
38734 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
38735
38736 Automatic loading of commands is supported.
38737
38738 * normal/main.c (read_command_list): New function.
38739 (grub_normal_execute): Call read_command_list.
38740
38741 * normal/command.c (grub_register_command): Return zero or CMD.
38742 Allocate CMD->NAME from the heap.
38743 Initialize CMD->MODULE_NAME to zero.
38744 Find the same name as well. If the same command is found and it is
38745 a dummy command, overwrite members. If it is not a dummy command,
38746 return zero.
38747 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
38748 (grub_command_find): If a dummy command is found, load a module
38749 and retry to find a command only once.
38750
38751 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
38752 make sure that each command is loaded.
38753
38754 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
38755 macro.
38756 (struct grub_command): Remove const from the member `name'.
38757 Add a new member `module_name'.
38758 (grub_register_command): Return grub_command_t.
38759
38760 * commands/help.c (grub_cmd_help): Call grub_command_find to make
38761 sure that each command is loaded.
38762
38763 * genmk.rb (PModule::rule): Specify a module name without the
38764 suffix ".mod" to gencmdlist.sh.
38765
38766 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
38767
38768 * gencmdlist.sh: New file.
38769
38770 * genmk.rb (PModule::rule): Generate a rule for a command list.
38771 Clean command.lst.
38772 Generate command.lst from $(COMMANDFILES).
38773
38774 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
38775 (DATA): Added $(pkgdata_DATA).
38776 (install-local): Install files in $(pkgdata_DATA).
38777
38778 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
38779
38780 * term/i386/pc/vga.c (debug_command): Removed.
38781 (GRUB_MOD_INIT): Do not register the command "debug".
38782
38783 From Hollis Blanchard:
38784 * commands/configfile.c: New file.
38785 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38786 commands/configfile.c.
38787 (pkgdata_MODULES): Added configfile.mod.
38788 (configfile_mod_SOURCES): New variable.
38789 (configfile_mod_CFLAGS): Likewise.
38790 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
38791 commands/configfile.c.
38792 (pkgdata_MODULES): Added configfile.mod.
38793 (configfile_mod_SOURCES): New variable.
38794 (configfile_mod_CFLAGS): Likewise.
38795 * util/grub-emu.c (main): Call grub_configfile_init and
38796 grub_configfile_fini.
38797 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
38798 prototype.
38799 [GRUB_UTIL] (grub_configfile_fini): Likewise.
38800
38801 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38802
38803 * normal/arg.c (grub_arg_show_help): Do not show the bug report
38804 address.
38805
38806 * commands/help.c (grub_cmd_help): Do not print newlines after
38807 the last command in print_command_help.
38808
38809 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38810
38811 * commands/default.h: New file.
38812 * commands/timeout.h: Likewise.
38813 * normal/context.c: Likewise.
38814
38815 * util/misc.c: Do not include sys/times.h.
38816 Include sys/time.h and grub/machine/time.h.
38817 (grub_get_rtc): Rewritten with gettimeofday.
38818
38819 * util/grub-emu.c (main): Call grub_default_init and
38820 grub_timeout_init before grub_normal_init, and call
38821 grub_timeout_fini and grub_default_fini after grub_main.
38822
38823 * util/console.c (grub_ncurses_checkkey): Return the read
38824 character or -1.
38825
38826 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
38827 timeouts.
38828
38829 * normal/main.c (read_config_file): Push MENU. If this fails,
38830 print an error and wait for a user input.
38831 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
38832 If a menu is empty or an error occurs, pop MENU.
38833 (grub_normal_execute): Pop and free MENU after grub_menu_run
38834 returns.
38835
38836 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
38837
38838 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
38839 include time.h.
38840 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38841 without GRUB_UTIL.
38842 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
38843 time.h.
38844 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38845 without GRUB_UTIL.
38846
38847 * include/grub/normal.h (struct grub_menu_list): New struct.
38848 (grub_menu_list_t): New type.
38849 (struct grub_context): New struct.
38850 (grub_context_t): New type.
38851 (grub_register_command): Got rid of EXPORT_FUNC.
38852 (grub_unregister_command): Likewise.
38853 (grub_context_get): New prototype.
38854 (grub_context_get_current_menu): Likewise.
38855 (grub_context_push_menu): Likewise.
38856 (grub_context_pop_menu): Likewise.
38857 [GRUB_UTIL] (grub_default_init): Likewise.
38858 [GRUB_UTIL] (grub_default_fini): Likewise.
38859 [GRUB_UTIL] (grub_timeout_init): Likewise.
38860 [GRUB_UTIL] (grub_timeout_fini): Likewise.
38861
38862 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
38863 commands/timeout.c and normal/context.c.
38864 (pkgdata_MODULES): Added default.mod and timeout.mod.
38865 (normal_mod_SOURCES): Added normal/context.c.
38866 (default_mod_SOURCES): New variable.
38867 (default_mod_CFLAGS): Likewise.
38868 (timeout_mod_SOURCES): Likewise.
38869 (timeout_mod_CFLAGS): Likewise.
38870 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
38871 conf/i386-pc.rmk.
38872 (pkgdata_MODULES): Added default.mod and timeout.mod.
38873 (normal_mod_SOURCES): Added normal/context.c.
38874 (default_mod_SOURCES): New variable.
38875 (default_mod_CFLAGS): Likewise.
38876 (timeout_mod_SOURCES): Likewise.
38877 (timeout_mod_CFLAGS): Likewise.
38878
38879 * Makefile.in (all-local): Added $(MKFILES).
38880
38881 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
38882
38883 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
38884 (grub_emu_SOURCES): Likewise.
38885 (pkgdata_MODULES): Add `sun.mod'.
38886 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38887 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38888 `partmap/sun.c'.
38889 (pkgdata_MODULES): Add `sun.mod'.
38890 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38891 * include/grub/partition.h (grub_sun_partition_map_init): New
38892 prototype.
38893 (grub_sun_partition_map_fini): Likewise.
38894 * partmap/sun.c: New file.
38895 * util/grub-emu.c (main): Initialize and de-initialize the sun
38896 partitionmap support.
38897
38898 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
38899
38900 This implements an Emacs-like menu entry editor.
38901
38902 * normal/menu_entry.c: New file.
38903
38904 * util/console.c (grub_ncurses_putchar): Translate some Unicode
38905 characters to ASCII.
38906 (saved_char): New variable.
38907 (grub_ncurses_checkkey): Rewritten completely.
38908 (grub_ncurses_getkey): Likewise.
38909 (grub_ncurses_init): Call raw instead of cbreak.
38910
38911 * normal/menu.c (print_entry): Do not put a space.
38912 (init_page): Renamed to ...
38913 (grub_menu_init_page): ... this. All callers changed.
38914 (edit_menu_entry): Removed.
38915 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
38916
38917 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
38918
38919 * kern/misc.c (grub_vprintf): Call grub_refresh.
38920
38921 * normal/menu.c (DISP_LEFT): Renamed to ...
38922 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
38923 * normal/menu.c (DISP_UP): Renamed to ...
38924 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
38925 * normal/menu.c (DISP_RIGHT): Renamed to ...
38926 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
38927 * normal/menu.c (DISP_DOWN): Renamed to ...
38928 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
38929 * normal/menu.c (DISP_HLINE): Renamed to ...
38930 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
38931 * normal/menu.c (DISP_VLINE): Renamed to ...
38932 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
38933 * normal/menu.c (DISP_UL): Renamed to ...
38934 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
38935 * normal/menu.c (DISP_UR): Renamed to ...
38936 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
38937 * normal/menu.c (DISP_LL): Renamed to ...
38938 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
38939 * normal/menu.c (DISP_LR): Renamed to ...
38940 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
38941 * normal/menu.c (TERM_WIDTH): Renamed to ...
38942 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
38943 * normal/menu.c (TERM_HEIGHT): Renamed to ...
38944 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
38945 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
38946 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
38947 * normal/menu.c (TERM_MARGIN): Renamed to ...
38948 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
38949 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
38950 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
38951 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
38952 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
38953 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
38954 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
38955 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
38956 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
38957 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
38958 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
38959 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
38960 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
38961 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
38962 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
38963 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
38964 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
38965 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
38966 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
38967 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
38968 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
38969 All callers changed.
38970
38971 * include/grub/normal.h: New prototype.
38972
38973 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38974 normal/menu_entry.c.
38975 (normal_mod_SOURCES): Likewise.
38976 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38977 (normal_mod_SOURCES): Likewise.
38978
38979 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
38980
38981 * include/grub/normal.h (grub_halt_init): New prototype.
38982 (grub_halt_fini): Likewise.
38983 (grub_reboot_init): Likewise.
38984 (grub_reboot_fini): Likewise.
38985
38986 * util/grub-emu.c: Include signal.h.
38987 (main_env): New global variable.
38988 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
38989 catch C-c.
38990 (grub_machine_fini): New function.
38991 (main): Call grub_halt_init and grub_reboot_init before
38992 grub_main, and grub_reboot_fini and grub_halt_fini after it.
38993 Call setjmp with MAIN_ENV to go back afterwards.
38994 Call grub_machine_fini right before return.
38995
38996 * include/grub/util/misc.h: Include setjmp.h.
38997 (main_env): New prototype.
38998
38999 * include/grub/kernel.h (grub_machine_fini): New prototype.
39000 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
39001 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
39002
39003 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
39004 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
39005 * term/i386/pc/console.c (grub_console_fini): Likewise.
39006
39007 * util/i386/pc/misc.c: New file.
39008
39009 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
39010 util/i386/pc/misc.c, commands/i386/pc/halt.c and
39011 commands/i386/pc/reboot.c.
39012
39013 2005-02-14 Guillem Jover <guillem@hadrons.org>
39014
39015 * include/grub/dl.h (grub_dl_check_header): New prototype.
39016 (grub_arch_dl_check_header): Change return type to grub_err_t,
39017 remove size parameter and export function. Update all callers.
39018 * kern/dl.c (grub_dl_check_header): New function.
39019 (grub_dl_load_core): Use `grub_dl_check_header' instead of
39020 `grub_arch_dl_check_header'. Check ELF type. Check if sections
39021 are inside the core.
39022 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
39023 independent ELF header checks.
39024 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
39025 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
39026 `grub_dl_check_header' instead of explicit checks. Check for the
39027 ELF type.
39028 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
39029 `grub_dl_check_header' instead of explicit checks. Remove arch
39030 specific ELF header checks.
39031
39032 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
39033 argument SIZE.
39034
39035 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
39036
39037 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
39038 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
39039
39040 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
39041
39042 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
39043 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
39044 (part_map_iterate): Clear `grub_errno' and return 0 if
39045 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
39046 * partmap/amiga.c (amiga_partition_map_iterate): Return
39047 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
39048 * partmap/apple.c (apple_partition_map_iterate): Likewise.
39049
39050 2005-02-01 Guillem Jover <guillem@hadrons.org>
39051
39052 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
39053 help info.
39054
39055 2005-01-31 Marco Gerards <metgerards@student.han.nl>
39056
39057 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
39058 Removed prototype.
39059 (grub_rescue_cmd_linux): New prototype.
39060 (grub_rescue_cmd_initrd): Likewise.
39061 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
39062 `bi_rec'.
39063 (grub_linux_release_mem): Release the memory for the initrd.
39064 (grub_load_linux): Renamed from this...
39065 (grub_rescue_cmd_linux): ...To this. Changed all callers.
39066 Changed `entry' not to be static. Loop over memory regions to
39067 find another one when the default fails.
39068 (grub_rescue_cmd_initrd): New function.
39069 (grub_linux_init): Remove function.
39070 (grub_linux_fini): Likewise.
39071 (GRUB_MOD_INIT): Register `initrd'.
39072 (GRUB_MOD_FINI): Unregister `initrd'.
39073 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
39074 Function removed.
39075 (grub_linux_normal_fini): Likewise.
39076 (GRUB_MOD_INIT): Register `initrd'.
39077 (GRUB_MOD_FINI): Unregister `initrd'.
39078
39079 2005-01-31 Marco Gerards <metgerards@student.han.nl>
39080
39081 * commands/help.c: New file.
39082 * normal/arg.c (show_help): Renamed to...
39083 (grub_arg_show_help): ... this.
39084 * commands/i386/pc/halt.c: New file.
39085 * commands/i386/pc/reboot.c: Likewise.
39086 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
39087 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
39088 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
39089 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
39090 variables.
39091 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
39092 `commands/help.c'.
39093 (pkgdata_MODULES): Add `help.mod'.
39094 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
39095 * grub/i386/pc/init.h (grub_reboot): New prototype.
39096 (grub_halt): Likewise.
39097 * include/grub/normal.h (grub_arg_show_help): New prototype.
39098 (grub_help_init): Likewise.
39099 (grub_help_fini): Likewise.
39100 * util/grub-emu.c (main): Initialize and deinitialize the help
39101 command.
39102
39103 * normal/cmdline.c (grub_cmdline_get): Doc fix.
39104
39105 * normal/command.c (grub_command_init): Fixed the description of
39106 the `set' and `unset' commands.
39107
39108 2005-01-31 Marco Gerards <metgerards@student.han.nl>
39109
39110 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
39111 function.
39112 * commands/ieee1275/halt.c: New file.
39113 * commands/ieee1275/reboot.c: Likewise.
39114 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
39115 `__attribute__ ((unused))'. Some GCS related fixed.
39116 (grub_suspend_init) [GRUB_UTIL]: Function removed.
39117 (grub_suspend_fini): Likewise.
39118 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
39119 and `halt.mod'.
39120 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
39121 (halt_mod_CFLAGS): New variables.
39122 * include/grub/powerpc/ieee1275/ieee1275.h
39123 (grub_ieee1275_interpret): New prototype.
39124
39125 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
39126
39127 * include/grub/misc.h (memmove): New prototype.
39128 (memcpy): Likewise.
39129
39130 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
39131
39132 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
39133 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
39134
39135 2005-01-22 Marco Gerards <metgerards@student.han.nl>
39136
39137 * kern/misc.c (grub_strndup): Function rewritten.
39138
39139 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
39140
39141 * normal/menu.c (TERM_WIDTH): Macro redefined.
39142 (TERM_TOP_BORDER_Y): Likewise.
39143 (draw_border): Replaced while-loop by a for-loop. Make the number
39144 of lines consistent with the number of lines displayed in
39145 print_entries. Added a margin below the rectangle.
39146 (print_entry): Make the entry fit in the rectangle.
39147 (print_entries): Display the scroll arrows next to the right
39148 border.
39149
39150 2005-01-21 Marco Gerards <metgerards@student.han.nl>
39151
39152 * fs/minix.c (grub_minix_find_file): Reserve more space for
39153 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
39154 `grub_strncpy' to copy `path' into it.
39155
39156 2005-01-21 Marco Gerards <metgerards@student.han.nl>
39157
39158 Add the loopback device, a device via which files can be accessed
39159 as devices.
39160
39161 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
39162 (pkgdata_MODULES): Add loopback.mod.
39163 (loopback_mod_SOURCES): New variable.
39164 (loopback_mod_CFLAGS): Likewise.
39165 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
39166 `disk/loopback.c'.
39167 (pkgdata_MODULES): Add loopback.mod.
39168 (loopback_mod_SOURCES): New variable.
39169 (loopback_mod_CFLAGS): Likewise.
39170 * disk/loopback.c: new file.
39171 * include/grub/normal.h (grub_loop_init): New prototype.
39172 (grub_loop_fini): New prototype.
39173 * util/grub-emu.c (main): Initialize and de-initialize loopback
39174 support.
39175 * include/grub/disk.h (grub_disk_dev_id): Add
39176 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
39177
39178 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
39179
39180 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
39181 function.
39182 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
39183 (suspend_mod_SOURCES): New variable.
39184 (suspend_mod_CFLAGS): Likewise.
39185 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
39186 New prototype.
39187 * commands/ieee1275/suspend.c: New file.
39188
39189 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
39190
39191 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
39192 ((unused))' to `__attribute__ ((used))'.
39193 (GRUB_MOD_FINI): Likewise.
39194 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
39195 * genmk.rb (PModule): Assign space to common symbols when linking
39196 modules.
39197
39198 2005-01-20 Marco Gerards <metgerards@student.han.nl>
39199
39200 * include/grub/mm.h (grub_mm_init_region): Change the type of the
39201 `unsigned' arguments to `grub_size_t'.
39202 (grub_malloc): Likewise.
39203 (grub_realloc): Likewise.
39204 (grub_memalign): Likewise.
39205 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
39206 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
39207 * util/misc.c (grub_malloc): Likewise.
39208 (grub_realloc): Likewise.
39209 * kern/mm.c (get_header_from_pointer): Change the casts to
39210 `unsigned' into a cast to `grub_size_t'.
39211
39212 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
39213 point to `currnode' when `currnode' is changed.
39214
39215 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
39216 Schottelius <nico-linux@schottelius.org>.
39217
39218 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
39219
39220 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
39221 (note_path): Remove variable.
39222 (GRUB_IEEE1275_NOTE_NAME): New macro.
39223 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
39224 (grub_ieee1275_note_hdr): New structure.
39225 (grub_ieee1275_note_desc): Likewise.
39226 (grub_ieee1275_note): Likewise.
39227 (load_note): Remove `dir' argument. All callers updated. Remove
39228 `note_img' and `path'. Do not load a file from `note_path'.
39229 Initialize a struct grub_ieee1275_note and write that to `out'.
39230 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
39231
39232 2005-01-05 Marco Gerards <metgerards@student.han.nl>
39233
39234 * util/misc.c (grub_util_read_image): Revert last change. It
39235 called `grub_util_read_at', which seeks from the beginning of the
39236 file.
39237
39238 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
39239
39240 * TODO: Add note about endianness in grub-mkimage.
39241 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
39242 section.
39243 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
39244 (grub_mkimage_SOURCES): New target.
39245 * include/grub/kernel.h (grub_start_addr): Remove variable.
39246 (grub_end_addr): Likewise.
39247 (grub_total_module_size): Likewise.
39248 (grub_kernel_image_size): Likewise.
39249 (GRUB_MODULE_MAGIC): New constant.
39250 (grub_module_info): New structure.
39251 (grub_arch_modules_addr): New prototype.
39252 (grub_get_end_addr): Remove prototype.
39253 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
39254 * include/grub/powerpc/ieee1275/kernel.h: New file.
39255 * include/grub/util/misc.h (grub_util_get_fp_size): New
39256 prototype.
39257 (grub_util_read_at): Likewise.
39258 (grub_util_write_image_at): Likewise.
39259 * kern/main.c (grub_get_end_addr): Remove function.
39260 (grub_load_modules): Call grub_arch_modules_addr instead of using
39261 grub_end_addr. Look for a grub_module_info struct in memory. Use
39262 the grub_module_info fields instead of calling grub_get_end_addr
39263 as loop conditions. Move grub_add_unused_region code here.
39264 (grub_add_unused_region): Remove function.
39265 * kern/i386/pc/init.c: Include grub/cache.h.
39266 (grub_machine_init): Remove call to grub_get_end_addr. Remove
39267 one call to add_mem_region.
39268 (grub_arch_modules_addr): New function.
39269 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
39270 (grub_total_module_size): Likewise.
39271 Include grub/machine/kernel.h.
39272 (grub_arch_modules_addr): New function.
39273 * util/grub-emu.c (grub_end_addr): Remove variable.
39274 (grub_total_module_size): Likewise.
39275 (grub_arch_modules_addr): New function.
39276 * util/misc.c: Include unistd.h.
39277 (grub_util_get_fp_size): New function.
39278 (grub_util_read_at): Likewise.
39279 (grub_util_write_image_at): Likewise.
39280 (grub_util_read_image): Call grub_util_read_at.
39281 (grub_util_write_image): Call grub_util_write_image_at.
39282 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
39283 additional memory in kernel_img for a struct grub_module_info.
39284 Fill in that grub_module_info.
39285 * util/powerpc/ieee1275/grub-mkimage.c: New file.
39286
39287 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
39288
39289 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
39290 New function.
39291 * include/grub/powerpc/ieee1275/ieee1275.h
39292 (grub_ieee1275_milliseconds): New prototype.
39293 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
39294 Change to 1000.
39295 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
39296 grub_ieee1275_milliseconds.
39297
39298 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
39299
39300 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
39301 variable.
39302 (find_options): New function.
39303 (cmain): Call find_options.
39304 * include/grub/powerpc/ieee1275/ieee1275.h
39305 (grub_ieee1275_realmode): New extern variable.
39306 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
39307 grub_map if grub_ieee1275_realmode is false.
39308
39309 2004-12-29 Marco Gerards <metgerards@student.han.nl>
39310
39311 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
39312 lines are inserted and make it work like readline. Reported by
39313 Vincent Pelletier <subdino2004@yahoo.fr>.
39314
39315 2004-12-28 Marco Gerards <metgerards@student.han.nl>
39316
39317 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
39318
39319 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
39320 `kern/powerpc/cache.S'.
39321
39322 2004-12-27 Marco Gerards <metgerards@student.han.nl>
39323
39324 * genmk.rb: Handle the `Program' class in the main loop. Written
39325 by Johan Rydberg <jrydberg@gnu.org>.
39326 (Program): New class.
39327 (programs): New variable.
39328 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
39329 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
39330 instead of "grub/kernel.h". Include <grub/machine/init.h>.
39331 (help_arch): Function removed.
39332 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
39333 `powerpc/libgcc.h' and `loader.h'.
39334 (pkgdata_PROGRAMS): New variable.
39335 (sbin_UTILITIES): Variable removed.
39336 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
39337 (grubof_SOURCES): Variable re-defined so it only includes the
39338 core functionality.
39339 (grubof_CFLAGS): Remove `-DGRUBOF'.
39340 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
39341 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
39342 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
39343 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
39344 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
39345 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
39346 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
39347 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
39348 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
39349 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
39350 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
39351 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
39352 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
39353 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
39354 (pc_mod_CFLAGS): New variables.
39355 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
39356 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
39357 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
39358 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
39359 Moved from here...
39360 * include/grub/i386/pc/init.h (grub_os_area_addr)
39361 (rub_os_area_size): ... to here.
39362 * include/grub/powerpc/ieee1275/ieee1275.h
39363 (grub_ieee1275_entry_fn): Export symbol.
39364 * include/grub/powerpc/ieee1275/init.h: New file.
39365 * include/grub/powerpc/libgcc.h: Likewise.
39366 * include/grub/cache.h: Likewise.
39367 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
39368 <hollis@penguinppc.org>.
39369 * kern/dl.c: Include <grub/cache.h>.
39370 (grub_dl_flush_cache): New function.
39371 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
39372 for this module.
39373 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
39374 (grub_console_init): Removed prototypes.
39375 (grub_machine_init): Don't initialize the modules anymore.
39376 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
39377 static.
39378 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
39379 Macro undef removed.
39380 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
39381 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
39382 relocation `R_PPC_REL32'. Return an error when the relocation is
39383 unknown.
39384 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
39385 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
39386 * util/misc.c (grub_arch_sync_caches): Likewise.
39387
39388 2004-12-19 Marco Gerards <metgerards@student.han.nl>
39389
39390 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
39391 `symlist.c', add `grubof_symlist.c'.
39392 (symlist.c): Variable removed.
39393 (grubof_HEADERS): Variable added.
39394 (grubof_symlist.c): New target.
39395 (kernel_syms.lst): Use `grubof_HEADERS' instead of
39396 `kernel_img_HEADERS'.
39397 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
39398 * kern/powerpc/dl.c: New file.
39399 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
39400 Function removed.
39401 (grub_arch_dl_relocate_symbols): Likewise.
39402 (grub_register_exported_symbols): Likewise.
39403
39404 2004-12-13 Marco Gerards <metgerards@student.han.nl>
39405
39406 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
39407 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
39408 to fail instead. Reported by Vincent Pelletier
39409 <subdino2004@yahoo.fr>.
39410
39411 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
39412 it is not allocated. Reported by Vincent Pelletier
39413 <subdino2004@yahoo.fr>.
39414
39415 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
39416 output so the output looks better.
39417
39418 2004-12-04 Marco Gerards <metgerards@student.han.nl>
39419
39420 Modulize the partition map support and add support for the amiga
39421 partition map.
39422
39423 * commands/ls.c: Include <grub/partition.h> instead of
39424 <grub/machine/partition.h>.
39425 * kern/disk.c: Likewise.
39426 * kern/rescue.c: Likewise.
39427 * loader/i386/pc/chainloader.c: Likewise.
39428 * normal/cmdline.c: Likewise.
39429 * kern/powerpc/ieee1275/init.c: Likewise.
39430 (grub_machine_init): Call `grub_pc_partition_map_init',
39431 `grub_amiga_partition_map_init' and
39432 `grub_apple_partition_map_init'.
39433 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
39434 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
39435 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
39436 `partition.h' and `pc_partition.h'.
39437 (grub_setup_SOURCES): Remove
39438 `disk/i386/pc/partition.c'. Add `kern/partition.c',
39439 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
39440 (grub_emu_SOURCES): Likewise.
39441 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
39442 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
39443 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
39444 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
39445 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
39446 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
39447 (grubof_SOURCES): Likewise.
39448 * disk/i386/pc/partition.c: File removed.
39449 * disk/powerpc/ieee1275/partition.c: Likewise.
39450 * include/grub/powerpc/ieee1275/partition.h: Likewise.
39451 * include/grub/i386/pc/partition.h: Likewise.
39452 * kern/partition.c: New file.
39453 * partmap/amiga.c: Likewise.
39454 * partmap/apple.c: Likewise.
39455 * partmap/pc.c: Likewise.
39456 * include/grub/partition.h: Likewise..
39457 * include/grub/pc_partition.h: Likewise.
39458 * util/grub-emu.c: Include <grub/partition.h> instead of
39459 <grub/machine/partition.h>.
39460 (main): Call `grub_pc_partition_map_init',
39461 `grub_amiga_partition_map_init' and
39462 `grub_apple_partition_map_init' and deinitialize afterwards.
39463 * util/i386/pc/biosdisk.c: Include `#include
39464 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
39465 `<grub/machine/partition.h>'.
39466 * util/i386/pc/grub-setup.c: Likewise.
39467 * util/i386/pc/biosdisk.c: Likewise.
39468 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
39469 partition information in case of a PC partition.
39470 * util/i386/pc/grub-setup.c: Include `#include
39471 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
39472 `<grub/machine/partition.h>'.
39473 (setup): Only access the PC specific partition information in case
39474 of a PC partition.
39475
39476 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
39477
39478 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
39479 (grub_longjmp): Likewise.
39480 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
39481 20.
39482 * normal/powerpc/setjmp.S: New file.
39483 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39484 `normal/powerpc/setjmp.S'.
39485 (grubof_CFLAGS): Add `-DGRUBOF'.
39486 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
39487 [GRUB_UTIL && !GRUBOF].
39488
39489 2004-11-16 Marco Gerards <metgerards@student.han.nl>
39490
39491 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
39492 property named `name'. Correctly handle the error returned by
39493 `grub_ieee1275_finddevice' if a device can not be opened.
39494
39495 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
39496
39497 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
39498 `actual' for negativity.
39499 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
39500 kern/fshelp.c.
39501
39502 2004-11-01 Marco Gerards <metgerards@student.han.nl>
39503
39504 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
39505 (PAGE_OFFSET): New macro.
39506 (CRTC_ADDR_PORT): Likewise.
39507 (CRTC_DATA_PORT): Likewise.
39508 (START_ADDR_HIGH_REGISTER): Likewise.
39509 (START_ADDR_LOW_REGISTER): Likewise.
39510 (GRAPHICS_ADDR_PORT): Likewise.
39511 (GRAPHICS_DATA_PORT): Likewise.
39512 (READ_MAP_REGISTER): Likewise.
39513 (INPUT_STATUS1_REGISTER): Likewise.
39514 (INPUT_STATUS1_VERTR_BIT): Likewise.
39515 (page): New variable.
39516 (wait_vretrace): New function.
39517 (set_read_map): Likewise.
39518 (set_start_address): Likewise.
39519 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
39520 the right page.
39521 (check_vga_mem): Take the page into account.
39522 (write_char): Likewise.
39523 (write_cursor): Likewise.
39524 (scroll_up): Likewise. Copy the page to the page that is not
39525 shown and switch between both pages.
39526 (grub_vga_putchar): Fix off by one error.
39527 (grub_vga_cls): Wait for the vertical retrace. Take the page into
39528 account.
39529
39530 2004-11-01 Marco Gerards <metgerards@student.han.nl>
39531
39532 Add support for iso9660 (including rockridge).
39533
39534 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
39535 (iso9660_mod_SOURCES): New variable.
39536 (iso9660_mod_CFLAGS): Likewise.
39537 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
39538 * include/grub/fs.h (grub_iso9660_init): New prototype.
39539 * util/grub-emu.c (main): Call `grub_iso9660_init'.
39540 * fs/iso9660.c: New file.
39541
39542 * include/grub/misc.h (grub_strncat): New prototype.
39543 * kern/misc.c (grub_strncat): New function.
39544
39545 * fs/hfs.c (grub_hfs_mount): Translate the error
39546 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
39547 * fs/jfs.c (grub_jfs_mount): Likewise.
39548 * fs/ufs.c (grub_ufs_mount): Likewise.
39549
39550 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
39551
39552 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
39553 which initialized BAT registers.
39554 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
39555 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
39556 Move from here...
39557 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
39558 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
39559 ... to here.
39560 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
39561 (grub_mapclaim): Likewise.
39562 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
39563 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
39564 hand.
39565
39566 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
39567
39568 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
39569 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
39570 -ffreestanding and -msoft-float.
39571
39572 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
39573
39574 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
39575 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
39576 set in grub_ieee1275_flags.
39577
39578 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
39579
39580 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
39581 prototype.
39582 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
39583 grub_console_init first.
39584 Change the memory range used for grub_ieee1275_claim and
39585 grub_mm_init_region.
39586 Print an error message if the claim fails.
39587 Include <grub/misc.h>.
39588
39589 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
39590
39591 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
39592 Call grub_children_iterate for device nodes of type `scsi',
39593 `ide', or `ata'.
39594 (grub_ofdisk_open): Remove manual device alias resolution.
39595 Fix memory leak when device cannot be opened.
39596 * include/grub/powerpc/ieee1275/ieee1275.h
39597 (grub_children_iterate): New prototype.
39598 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
39599 New function.
39600 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
39601 Return -1 if args.size was -1.
39602
39603 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
39604
39605 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
39606 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
39607 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
39608 Open Firmware's memory for it; claim memory from _start to _end.
39609 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
39610 (_end): New extern.
39611 (_start): Zero BSS from __bss_start to _end.
39612 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
39613 New extern.
39614 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
39615
39616 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
39617
39618 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
39619 -1 if args.base was -1.
39620
39621 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
39622
39623 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
39624 escape sequence instead of a literal ^L. Also call
39625 grub_ofconsole_gotoxy.
39626
39627 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
39628
39629 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
39630 void * arguments to grub_addr_t. All callers updated. Also make
39631 the `result' argument optional.
39632 (grub_ieee1275_release): change void * arguments to grub_addr_t.
39633 All callers updated.
39634
39635 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
39636
39637 * commands/ls.c (grub_ls_list_files): Use the string following the
39638 initial ')', if present, as the filesystem path.
39639 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
39640
39641 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
39642
39643 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
39644
39645 Make the source code of the menu interface more readable.
39646
39647 * normal/menu.c: Include grub/mm.h.
39648 (TERM_WIDTH): New macro.
39649 (TERM_HEIGHT): Likewise.
39650 (TERM_INFO_HEIGHT): Likewise.
39651 (TERM_MARGIN): Likewise.
39652 (TERM_SCROLL_WIDTH): Likewise.
39653 (TERM_TOP_BORDER_Y): Likewise.
39654 (TERM_LEFT_BORDER_X): Likewise.
39655 (TERM_BORDER_WIDTH): Likewise.
39656 (TERM_MESSAGE_HEIGHT): Likewise.
39657 (TERM_BORDER_HEIGHT): Likewise.
39658 (TERM_NUM_ENTRIES): Likewise.
39659 (TERM_FIRST_ENTRY_Y): Likewise.
39660 (TERM_ENTRY_WIDTH): Likewise.
39661 (TERM_CURSOR_X): Likewise.
39662 (draw_border): Use macros instead of magic numbers.
39663 (print_entry): Likewise.
39664 (print_entries): Likewise.
39665 (run_menu): Likewise. Also, handle the key 'e'.
39666 (run_menu_entry): Ignore empty command lines.
39667 (print_message): Added a new argument EDIT. If EDIT is true,
39668 print a different message.
39669 (init_page): Likewise.
39670 (edit_menu_entry): New function. Not implemented yet.
39671
39672 2004-09-17 Marco Gerards <metgerards@student.han.nl>
39673
39674 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
39675 can be loaded from normal mode.
39676
39677 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
39678 `multiboot.mod'.
39679 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
39680 (multiboot_mod_CFLAGS): New variables.
39681 * loader/i386/pc/linux_normal.c: New file.
39682 * loader/i386/pc/multiboot_normal.c: Likewise.
39683
39684 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
39685 attribute `unused'.
39686
39687 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
39688 `fdiro' to read the mode information from instead of `diro'.
39689
39690 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
39691 looking up a symlink.
39692
39693 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
39694 macro.
39695 * normal/command.c (grub_command_execute): Don't parse the
39696 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
39697 flags of the command.
39698
39699 * normal/menu.c (grub_menu_run): Fix typo.
39700
39701 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
39702
39703 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
39704
39705 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
39706 `y + 1' instead of `y - 1'.
39707
39708 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
39709
39710 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
39711
39712 From Hollis Blanchard <hollis@penguinppc.org>:
39713 * kern/misc.c (memmove): New alias for grub_memmove.
39714 (memcmp): New alias for grub_memcmp.
39715 (memset): New alias for grub_memset.
39716 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
39717 Change "int handle" to "grub_ieee1275_phandle_t handle".
39718 * include/grub/powerpc/ieee1275/ieee1275.h
39719 (grub_ieee1275_get_property): Likewise.
39720
39721 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
39722
39723 Added normal mode command `chainloader' as module chain.mod, which
39724 depends on normal.mod and _chain.mod.
39725
39726 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
39727 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
39728 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
39729 Deleted prototype.
39730 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
39731 but arguments parsing moved to ...
39732 (grub_chainloader_cmd): ... here. New function.
39733 * include/grub/i386/pc/chainloader.h: New file.
39734 * loader/i386/pc/chainloader_normal.c: Likewise.
39735
39736 2004-09-11 Marco Gerards <metgerards@student.han.nl>
39737
39738 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
39739 (grub_mkimage_LDFLAGS): Likewise.
39740 (grub_emu_SOURCES): Likewise.
39741 (kernel_img_HEADERS): Added fshelp.h.
39742 * fs/ext2.c: Include <grub/fshelp.h>.
39743 (FILETYPE_REG): New macro.
39744 (FILETYPE_INO_REG): Likewise.
39745 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
39746 Changed all users.
39747 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
39748 all users.
39749 (grub_fshelp_node): New struct.
39750 (grub_ext2_data): Added member `diropen'. Changed member `inode'
39751 to a pointer.
39752 (grub_ext2_get_file_block): Removed function.
39753 (grub_ext2_read_block): New function.
39754 (grub_ext2_read_file): Replaced parameter `data' by `node'.
39755 This function was written.
39756 (grub_ext2_mount): Read the root inode. Create a diropen struct.
39757 (grub_ext2_find_file): Removed function.
39758 (grub_ext2_read_symlink): New function.
39759 (grub_ext2_iterate_dir): Likewise.
39760 (grub_ext2_open): Rewritten.
39761 (grub_ext2_dir): Rewritten.
39762 * include/grub/fshelp.h: New file.
39763 * fs/fshelp.c: Likewise.
39764
39765 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
39766
39767 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
39768 (print_message): Add a missing newline.
39769 (run_menu): Added timeout support.
39770 (run_menu_entry): New local function.
39771 (grub_menu_run): Added support for booting.
39772
39773 * kern/loader.c (grub_loader_is_loaded): New function.
39774
39775 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
39776 (grub_get_rtc): Exported.
39777
39778 * include/grub/i386/pc/time.h: Include grub/symbol.h.
39779 (grub_get_rtc): Exported.
39780
39781 * include/grub/normal.h (struct grub_command_list): Remove
39782 constant from the member `command'.
39783
39784 * include/grub/loader.h (grub_loader_is_loaded): Declared.
39785
39786 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
39787
39788 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
39789
39790 2004-08-28 Marco Gerards <metgerards@student.han.nl>
39791
39792 Add support for the JFS filesystem.
39793
39794 * fs/jfs.c: New file.
39795 * include/grub/fs.h (grub_jfs_init): New prototype.
39796 (grub_jfs_fini): New prototype.
39797 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
39798 (grub_emu_SOURCES): Likewise.
39799 (pkgdata_MODULES): Add jfs.mod.
39800 (jfs_mod_SOURCES): New variable.
39801 (jfs_mod_CFLAGS): Likewise.
39802 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
39803 (grubof_SOURCES): Likewise.
39804 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
39805
39806 * fs/fat.c (grub_fat_find_dir): Convert the filename little
39807 endian to the host endian.
39808 (grub_fat_utf16_to_utf8): Move function from there...
39809 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
39810 the endianness of the source string anymore.
39811 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
39812
39813 2004-08-24 Marco Gerards <metgerards@student.han.nl>
39814
39815 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
39816 (grub_boot_fini) [GRUB_UTIL]: Likewise.
39817 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
39818 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
39819
39820 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
39821 (grub_hfs_iterate_dir): Make the function static. Add prototypes
39822 for `node_found' and `it_dir'.
39823 (grub_hfs_dir): Add prototype for `dir_hook'.
39824
39825 * fs/minix.c (grub_minix_get_file_block): Add prototype for
39826 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
39827 and `indir32' to silence a gcc warning.
39828
39829 * include/grub/fs.h (grub_hfs_init): New prototype.
39830 (grub_hfs_fini): Likewise.
39831
39832
39833 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
39834
39835 Each disk device has its own id now. This is useful to make use
39836 of multiple disk devices.
39837
39838 * include/grub/disk.h (grub_disk_dev_id): New enum.
39839 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
39840 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
39841
39842 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
39843 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39844
39845 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
39846 GRUB_DISK_DEVICE_OFDISK_ID as an id.
39847
39848 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
39849 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39850
39851 * include/grub/disk.h (struct grub_disk_dev): Added a new member
39852 "id" which is used by the cache manager.
39853
39854 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
39855 of just "GRUB".
39856
39857 2004-08-18 Marco Gerards <metgerards@student.han.nl>
39858
39859 * fs/hfs.c: New file.
39860 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
39861 (grub_emu_SOURCES): Likewise.
39862 (pkgdata_MODULES): Add hfs.mod.
39863 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
39864 (grubof_SOURCES): Likewise.
39865 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
39866
39867 * include/grub/misc.h (grub_strncasecmp): Add prototype.
39868 * kern/misc.c (grub_strncasecmp): Add function.
39869
39870 2004-08-14 Marco Gerards <metgerards@student.han.nl>
39871
39872 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
39873 with parentheses.
39874
39875 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
39876 (grub_ext2_dir): In case the directory entry type is unknown, read
39877 it from the inode.
39878
39879 2004-08-02 Peter Bruin <pjbruin@dds.nl>
39880
39881 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
39882 grub_load_linux instead of grub_rescue_cmd_linux as second
39883 argument of grub_rescue_register_command.
39884
39885 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
39886
39887 2004-07-27 Marco Gerards <metgerards@student.han.nl>
39888
39889 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
39890 function.
39891 * commands/boot.c: Remove the check for `GRUB_UTIL'.
39892 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39893 `loader/powerpc/ieee1275/linux.c',
39894 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
39895 * include/grub/powerpc/ieee1275/ieee1275.h
39896 (grub_ieee1275_release): New prototype.
39897 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
39898 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
39899 normal, boot, linux and linux_normal.
39900 * loader/powerpc/ieee1275/linux.c: New file.
39901 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39902
39903 2004-07-12 Marco Gerards <metgerards@student.han.nl>
39904
39905 * normal/arg.c (grub_arg_parse): Correct error handling after
39906 reallocating the argumentlist (check if `argl' is not null instead
39907 of checking if `args' is not null).
39908 * kern/mm.c (grub_realloc): Return the same pointer when using the
39909 same region, instead of returning the header address.
39910
39911 2004-07-11 Marco Gerards <metgerards@student.han.nl>
39912
39913 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
39914 one block instead of two when looking for the initial partition.
39915 (grub_partition_probe): Initialize the local variable `p' with 0.
39916 Use base 10 for the grub_strtoul call.
39917 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
39918 need for one local variable.
39919 (grub_strtoul): Don't add the new value to `num', instead of that
39920 just assign it.
39921
39922 2004-07-11 Marco Gerards <metgerards@student.han.nl>
39923
39924 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
39925 (pxeboot_img_SOURCES): New variable.
39926 (pxeboot_img_ASFLAGS): Likewise.
39927 (pxeboot_img_LDFLAGS): Likewise.
39928 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
39929 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
39930 <lode_leroy@hotmail.com>.
39931
39932 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39933
39934 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
39935 there was no input.
39936
39937 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39938
39939 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
39940 the history buffer logic.
39941
39942 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39943
39944 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
39945 (FILETYPE_INO_SYMLINK): New macros.
39946 (grub_ext2_find_file): Check if the node is a directory using the
39947 inode stat information instead of using the filetype in the
39948 dirent. Exclude the first character of an absolute symlink.
39949 (grub_ext2_dir): Mask out the filetype part of the mode member of
39950 the inode.
39951
39952 2004-05-24 Marco Gerards <metgerards@student.han.nl>
39953
39954 Add support for UFS version 1 and 2. Add support for the minix
39955 filesystem version 1 and 2, both the variants with 14 and 30 long
39956 filenames.
39957
39958 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
39959 fs/minix.c.
39960 (grub_emu_SOURCES): Likewise.
39961 (pkgdata_MODULES): Add ufs.mod and minix.mod.
39962 (ufs_mod_SOURCES): New variable.
39963 (ufs_mod_CFLAGS): Likewise.
39964 (minix_mod_SOURCES): Likewise.
39965 (minix_mod_CFLAGS): Likewise.
39966 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
39967 fs/minix.c.
39968 (grubof_SOURCES): Likewise.
39969 * fs/ufs.c: New file.
39970 * fs/minix.c: New file.
39971 * include/grub/fs.h (grub_ufs_init): New prototype.
39972 (grub_ufs_fini): Likewise.
39973 (grub_minix_init): Likewise.
39974 (grub_minix_fini): Likewise.
39975 * util/grub-emu.c (main): Initialize and deinitialize UFS and
39976 minix fs.
39977
39978 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
39979
39980 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
39981 commands/ls.c, commands/terminal.c, commands/boot.c,
39982 commands/cmp.c and commands/cat.c.
39983 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
39984
39985 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
39986 "env.h"
39987
39988 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39989
39990 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
39991 and grub_, respectively. Because the conversion is trivial and
39992 mechanical, I omit the details here. Please refer to the CVS
39993 if you need more information.
39994
39995 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39996
39997 * include/pupa: Renamed to ...
39998 * include/grub: ... this.
39999 * util/i386/pc/pupa-mkimage.c: Renamed to ...
40000 * util/i386/pc/grub-mkimage.c: ... this.
40001 * util/i386/pc/pupa-setup.c: Renamed to ...
40002 * util/i386/pc/grub-setup.c: ... this.
40003 * util/pupa-emu.c: Renamed to ...
40004 * util/grub-emu.c: ... this.
40005
40006 2004-03-29 Marco Gerards <metgerards@student.han.nl>
40007
40008 Add support for the newworld apple macintosh (PPC). This has been
40009 tested on the powerbook 2000 only. It only adds support for
40010 generic ieee1275 functions, console and disk support. This should
40011 be easy to port to other architectures with support for Open
40012 Firmware.
40013
40014 * configure.ac: Accept the powerpc as host_cpu. In the case of
40015 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
40016 specific tests are only executed while building for the i386.
40017 Inverse test for crosscompile.
40018 * genmk.rb (Utility): Allow assembler files.
40019 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
40020 * conf/powerpc-ieee1275.rmk: New file.
40021 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
40022 * disk/powerpc/ieee1275/partition.c: Likewise.
40023 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
40024 * include/pupa/powerpc/ieee1275/console.h: Likewise.
40025 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
40026 * include/pupa/powerpc/ieee1275/time.h: Likewise.
40027 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
40028 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
40029 * include/pupa/powerpc/ieee1275/loader.h
40030 * include/pupa/powerpc/setjmp.h: Likewise.
40031 * include/pupa/powerpc/types.h: Likewise.
40032 * kern/powerpc/ieee1275/init.c: Likewise.
40033 * kern/powerpc/ieee1275/openfw.c: Likewise.
40034 * term/powerpc/ieee1275/ofconsole.c: Likewise.
40035
40036 These files were written by Johan Rydberg
40037 (jrydberg@night.trouble.net) and I only modified them slightly.
40038
40039 * boot/powerpc/ieee1275/cmain.c: New file.
40040 * boot/powerpc/ieee1275/crt0.S: Likewise.
40041 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
40042 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
40043
40044 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
40045
40046 * Makefile.in: Update copyright.
40047 * genmodsrc.sh: Likewise.
40048 * gensymlist.sh: Likewise.
40049 * term/i386/pc/vga.c: Indent correctly.
40050
40051 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
40052 bugreporting address.
40053 * util/i386/pc/pupa-setup.c (usage): Likewise,
40054 (main): Call pupa_ext2_init and pupa_ext2_fini.
40055
40056 * fs/fat.c (log2): Renamed to ...
40057 (fat_log2): ... this.
40058 All callers changed.
40059 * kern/misc.c (memcpy): Alias to pupa_memmove.
40060 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
40061 lvalue cast.
40062 * util/console.c (pupa_ncurses_fini): Return 0.
40063
40064 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
40065 Move fail label here.
40066 [__GNU__]: Don't warn when using stat.
40067 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
40068 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
40069 long int. Use strtol instead of strtoul.
40070
40071 2004-03-14 Marco Gerards <metgerards@student.han.nl>
40072
40073 * commands/boot.c: New file.
40074 * commands/cat.c: Likewise.
40075 * commands/cmp.c: Likewise.
40076 * commands/ls.c: Likewise.
40077 * commands/terminal.c: Likewise.
40078 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
40079 (pupa_register_command): Changed interface to match the new
40080 argument parser.
40081 (pupa_command_execute): Changed (almost rewritten) so it uses
40082 pupa_split_command. Added support for setting variables using the
40083 syntax `foo=bar'.
40084 (rescue_command): Changed to work with the new argument parser.
40085 (terminal_command): Moved from here to commands/terminal.c.
40086 (set_command): New function.
40087 (unset_command): New function.
40088 (insmod_command): New function.
40089 (rmmod_command): New function.
40090 (lsmod_command): New function.
40091 (pupa_command_init): Don't initialize the command terminal
40092 anymore. Initialize the commands set, unset, insmod, rmmod and
40093 lsmod.
40094 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
40095 (kernel_img_HEADERS): Add arg.h and env.h.
40096 (pupa_mkimage_LDFLAGS): Add kern/env.c.
40097 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
40098 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
40099 normal/arg.c.
40100 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
40101 terminal.mod.
40102 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
40103 (boot_mod_SOURCES): New variable.
40104 (terminal_mod_SOURCES): Likewise.
40105 (ls_mod_SOURCES): Likewise.
40106 (cmp_mod_SOURCES): Likewise.
40107 (cat_mod_SOURCES): Likewise.
40108
40109 * normal/arg.c: New file.
40110 * kern/env.c: Likewise.
40111 * include/pupa/arg.h: Likewise.
40112 * include/pupa/env.h: Likewise.
40113 * font/manager.c (font_command): Changed to match argument parsing
40114 interface changes.
40115 (PUPA_MOD_INIT): Likewise.
40116 * hello/hello.c (pupa_cmd_hello): Likewise.
40117 (PUPA_MOD_INIT): Likewise.
40118 * include/pupa/disk.h: Include <pupa/device.h>.
40119 (pupa_print_partinfo): New prototype.
40120 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
40121 (pupa_dl_get_prefix): Likewise.
40122 * include/pupa/misc.h: Include <pupa/err.h>.
40123 (pupa_isgraph): New prototype.
40124 (pupa_isdigit): Likewise.
40125 (pupa_split_cmdline): Likewise.
40126 * include/pupa/normal.h: Include <pupa/arg.h>.
40127 (pupa_command): Changed the prototype of the member `func' to
40128 match the argument parsing interface. Added member `options'.
40129 (pupa_register_command): Updated to match function.
40130 (pupa_arg_parse): New prototype.
40131 (pupa_hello_init) [PUPA_UTIL]: New prototype.
40132 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
40133 (pupa_ls_init) [PUPA_UTIL]: Likewise.
40134 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
40135 (pupa_cat_init) [PUPA_UTIL]: Likewise.
40136 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
40137 (pupa_boot_init) [PUPA_UTIL]: Likewise.
40138 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
40139 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
40140 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
40141 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
40142 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
40143 * kern/disk.c: Include <pupa/file.h>.
40144 (pupa_print_partinfo): New function.
40145 * kern/dl.c: Include <pupa/env.h>.
40146 (pupa_dl_dir): Variable removed.
40147 (pupa_dl_load): Use the environment variable `prefix' instead of
40148 the variable pupa_dl_dir.
40149 (pupa_dl_set_prefix): Function removed.
40150 (pupa_dl_get_prefix): Likewise.
40151 * kern/i386/pc/init.c: Include <pupa/env.h>.
40152 (pupa_machine_init): Use the environment variable `prefix' instead of
40153 using pupa_dl_set_prefix to set the prefix.
40154 * kern/main.c: Include <pupa/env.h>.
40155 (pupa_set_root_dev): Use the environment variable `prefix' instead of
40156 using pupa_dl_get_prefix to get the prefix.
40157 * kern/misc.c: Include <pupa/env.h>.
40158 (pupa_isdigit): New function.
40159 (pupa_isgraph): Likewise.
40160 (pupa_ftoa): Likewise.
40161 (pupa_vsprintf): Added support for printing values of the type
40162 `double'. Make it possible to format variable output when using
40163 formatting like `%1.2%f'.
40164 (pupa_split_cmdline): New function.
40165 * kern/rescue.c: Include <pupa/env.h>.
40166 (next_word): Removed function.
40167 (pupa_rescue_cmd_prefix): Likewise.
40168 (pupa_rescue_cmd_set): New function.
40169 (pupa_rescue_cmd_unset): New function.
40170 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
40171 split the command line instead of splitting it here. Added
40172 support for setting variables using the syntax `foo=bar'. Don't
40173 initialize the prefix command anymore. Initialized the set and
40174 unset commands.
40175 * normal/cmdline.c: Include <pupa/env.h>.
40176 (pupa_tab_complete): Added prototypes for print_simple_completion,
40177 print_partition_completion, add_completion, iterate_commands,
40178 iterate_dev, iterate_part and iterate_dir. Moved code to print
40179 partition information from here to kern/disk.c.
40180 (pupa_cmdline_run): Don't check if the function exists anymore.
40181 * normal/main.c: Include <pupa/env.h>.
40182 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
40183 instead of using pupa_dl_get_prefix to get the prefix.
40184 * term/i386/pc/vga.c: Include <pupa/arg.h>.
40185 (check_vga_mem): Cast pointers to `void *' to silence a gcc
40186 warning.
40187 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
40188 (pupa_vga_setcolor): Declare unused variables with `__attribute__
40189 ((unused))' to silence a gcc warning.
40190 (pupa_vga_setcolor): Likewise.
40191 (debug_command): Changed to match argument parsing
40192 interface changes.
40193 * util/pupa-emu.c: Include <pupa/env.h>.
40194 (options): Added 0's for unused fields to silence a gcc warning.
40195 (argp): Likewise.
40196 (main): Use the environment variable `prefix' instead of using
40197 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
40198 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
40199 and terminal.
40200
40201 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
40202 * util/misc.c: Include <malloc.h>.
40203 (pupa_malloc): Rewritten so errors are correctly reported.
40204 (pupa_realloc): Likewise.
40205 (pupa_memalign): Likewise.
40206 (pupa_mm_init_region): Declare unused variables with
40207 `__attribute__ ((unused))' to silence a gcc warning.
40208 * normal/i386/setjmp.S: Remove tab at the end of the file to
40209 silence a gcc warning.
40210 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
40211 variables with `__attribute__ ((unused))' to silence a gcc
40212 warning.
40213 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
40214 local variable i unsigned to silence a gcc warning.
40215
40216 * kern/term.c: Include <pupa/misc.h>.
40217 (pupa_more_lines): New variable.
40218 (pupa_more): Likewise.
40219 (pupa_putcode): When the pager is active pause at the end of every
40220 screen.
40221 (pupa_set_more): New function.
40222 * include/pupa/term.h (pupa_set_more): New prototype.
40223
40224
40225 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
40226
40227 Now this project is GRUB 2 rather than PUPA. The location of
40228 the CVS repository was moved to GRUB's.
40229
40230 * configure.ac: Use bug-grub as the reporting address.
40231 Use GRUB instead of PUPA.
40232 Change the version number to 1.90.
40233
40234 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
40235
40236 * genkernsyms.sh: Updated copyright information.
40237 * genmk.rb: Likewise.
40238 * genmodsrc.sh: Likewise.
40239 * gensymlist.sh: Likewise.
40240 * boot/i386/pc/boot.S: Likewise.
40241 * boot/i386/pc/diskboot.S: Likewise.
40242 * disk/i386/pc/biosdisk.c: Likewise.
40243 * disk/i386/pc/partition.c: Likewise.
40244 * font/manager.c: Likewise.
40245 * fs/ext2.c: Likewise.
40246 * fs/fat.c: Likewise.
40247 * include/pupa/boot.h: Likewise.
40248 * include/pupa/device.h: Likewise.
40249 * include/pupa/disk.h: Likewise.
40250 * include/pupa/dl.h: Likewise.
40251 * include/pupa/elf.h: Likewise.
40252 * include/pupa/err.h: Likewise.
40253 * include/pupa/file.h: Likewise.
40254 * include/pupa/font.h: Likewise.
40255 * include/pupa/fs.h: Likewise.
40256 * include/pupa/kernel.h: Likewise.
40257 * include/pupa/loader.h: Likewise.
40258 * include/pupa/misc.h: Likewise.
40259 * include/pupa/mm.h: Likewise.
40260 * include/pupa/net.h: Likewise.
40261 * include/pupa/normal.h: Likewise.
40262 * include/pupa/rescue.h: Likewise.
40263 * include/pupa/setjmp.h: Likewise.
40264 * include/pupa/symbol.h: Likewise.
40265 * include/pupa/term.h: Likewise.
40266 * include/pupa/types.h: Likewise.
40267 * include/pupa/i386/setjmp.h: Likewise.
40268 * include/pupa/i386/types.h: Likewise.
40269 * include/pupa/i386/pc/biosdisk.h: Likewise.
40270 * include/pupa/i386/pc/boot.h: Likewise.
40271 * include/pupa/i386/pc/console.h: Likewise.
40272 * include/pupa/i386/pc/init.h: Likewise.
40273 * include/pupa/i386/pc/kernel.h: Likewise.
40274 * include/pupa/i386/pc/linux.h: Likewise.
40275 * include/pupa/i386/pc/loader.h: Likewise.
40276 * include/pupa/i386/pc/memory.h: Likewise.
40277 * include/pupa/i386/pc/multiboot.h: Likewise.
40278 * include/pupa/i386/pc/partition.h: Likewise.
40279 * include/pupa/i386/pc/time.h: Likewise.
40280 * include/pupa/i386/pc/vga.h: Likewise.
40281 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
40282 * include/pupa/util/getroot.h: Likewise.
40283 * include/pupa/util/misc.h: Likewise.
40284 * include/pupa/util/resolve.h: Likewise.
40285 * kern/device.c: Likewise.
40286 * kern/disk.c: Likewise.
40287 * kern/dl.c: Likewise.
40288 * kern/err.c: Likewise.
40289 * kern/file.c: Likewise.
40290 * kern/fs.c: Likewise.
40291 * kern/loader.c: Likewise.
40292 * kern/main.c: Likewise.
40293 * kern/misc.c: Likewise.
40294 * kern/mm.c: Likewise.
40295 * kern/rescue.c: Likewise.
40296 * kern/term.c: Likewise.
40297 * kern/i386/dl.c: Likewise.
40298 * kern/i386/pc/init.c: Likewise.
40299 * kern/i386/pc/lzo1x.S: Likewise.
40300 * kern/i386/pc/startup.S: Likewise.
40301 * loader/i386/pc/chainloader.c: Likewise.
40302 * loader/i386/pc/linux.c: Likewise.
40303 * loader/i386/pc/multiboot.c: Likewise.
40304 * normal/cmdline.c: Likewise.
40305 * normal/command.c: Likewise.
40306 * normal/main.c: Likewise.
40307 * normal/menu.c: Likewise.
40308 * normal/i386/setjmp.S: Likewise.
40309 * term/i386/pc/console.c: Likewise.
40310 * term/i386/pc/vga.c: Likewise.
40311 * util/console.c: Likewise.
40312 * util/genmoddep.c: Likewise.
40313 * util/misc.c: Likewise.
40314 * util/pupa-emu.c: Likewise.
40315 * util/resolve.c: Likewise.
40316 * util/unifont2pff.rb: Likewise.
40317 * util/i386/pc/biosdisk.c: Likewise.
40318 * util/i386/pc/getroot.c: Likewise.
40319 * util/i386/pc/pupa-mkimage.c: Likewise.
40320 * util/i386/pc/pupa-setup.c: Likewise.
40321
40322 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
40323
40324 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
40325 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
40326 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
40327 reading and reset it after reading.
40328 (pupa_ext2_close): Return PUPA_ERR_NONE.
40329
40330 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
40331 Correct value.
40332 (struct linux_kernel_header): Add kernel_version and
40333 initrd_addr_max.
40334 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
40335 pupa_file_read succeeds.
40336 (pupa_rescue_cmd_initrd): Implement.
40337
40338 2003-12-03 Marco Gerards <metgerards@student.han.nl>
40339
40340 * fs/ext2.c (pupa_ext2_label): New function.
40341 (pupa_ext2_fs): Added label.
40342 * fs/fat.c (pupa_fat_label): New function.
40343 (pupa_fat_fs): Added label.
40344 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
40345
40346 * kern/misc.c (pupa_strndup): New function.
40347 * include/pupa/misc.h (pupa_strndup): New prototype.
40348
40349 * include/pupa/normal.h: Include <pupa/err.h>.
40350 (pupa_set_history): New prototype.
40351 (pupa_iterate_commands): New prototype.
40352 * normal/cmdline.c: Include <pupa/machine/partition.h>,
40353 <pupa/disk.h>, <pupa/file.h>.
40354 (hist_size): New variable.
40355 (hist_lines): Likewise.
40356 (hist_end): Likewise.
40357 (hist_used): Likewise.
40358 (pupa_set_history): New function.
40359 (pupa_history_get): Likewise.
40360 (pupa_history_add): Likewise.
40361 (pupa_history_replace): Likewise.
40362 (pupa_tab_complete): Likewise.
40363 (pupa_cmdline_run): Added tab completion and history buffer. Tab
40364 completion shows partitionnames while completing partitions, this
40365 feature was suggested by Jeff Bailey.
40366 * normal/command.c (pupa_iterate_commands): New function.
40367 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
40368 (pupa_normal_init): Initialize history buffer.
40369 (PUPA_MOD_INIT): Likewise.
40370 (pupa_normal_fini): Free the history buffer.
40371 (PUPA_MOD_FINI): Likewise.
40372
40373 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
40374 key.
40375
40376 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
40377 * configure.ac [i386]: Check for regparam bug.
40378 (NESTED_FUNC_ATTR) [! i386]: Defined.
40379
40380 2003-11-17 Marco Gerards <metgerards@student.han.nl>
40381
40382 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
40383 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
40384 (pupa_emu_SOURCES): New variable.
40385 (pupa_emu_LDFLAGS): Likewise.
40386 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
40387 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
40388 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
40389 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
40390 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
40391 (pupa_jmp_buf): New typedef.
40392 (pupa_setjmp) [PUPA_UTIL]: New macro.
40393 (pupa_longjmp) [PUPA_UTIL]: Likewise.
40394 * include/pupa/term.h (struct pupa_term): New member `refresh'.
40395 (pupa_refresh): New prototype.
40396 * include/pupa/util/getroot.h: New file.
40397 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
40398 it.
40399 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
40400 (pupa_rescue_cmd_cat): Likewise.
40401 (pupa_rescue_cmd_ls): Likewise.
40402 (pupa_rescue_cmd_testload): Likewise.
40403 (pupa_rescue_cmd_lsmod): Likewise.
40404 * normal/cmdline.c (pupa_cmdline_get): Likewise.
40405 * normal/menu.c (run_menu): Likewise.
40406 * kern/term.c (pupa_cls): Likewise.
40407 (pupa_refresh): New function.
40408 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
40409 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
40410 * util/console.c: New file.
40411
40412 * util/i386/pc/getroot.c: New file.
40413 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
40414 (pupa_putchar): New function.
40415 (pupa_refresh): Likewise.
40416 (xgetcwd): Function moved to ...
40417 (strip_extra_slashes): Likewise.
40418 (get_prefix): Likewise.
40419 * util/i386/pc/getroot.c: ... here.
40420 (find_root_device): Function moved and renamed to...
40421 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
40422 Changed all callers.
40423 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
40424 and renamed to...
40425 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
40426 Changed all callers.
40427 * util/misc.c (pupa_memalign): New function.
40428 (pupa_mm_init_region): Likewise.
40429 (pupa_register_exported_symbols): Likewise.
40430 (pupa_putchar): Function removed.
40431 * util/pupa-emu.c: New file.
40432
40433 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
40434
40435 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
40436 (_multiboot_mod_SOURCES): New variable.
40437 (_multiboot_mod_CFLAGS): Likewise.
40438 * loader/i386/pc/multiboot.c: New file.
40439 * include/pupa/i386/pc/multiboot.h: Likewise.
40440 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
40441 (pupa_multiboot_real_boot): New function.
40442 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
40443 (pupa_multiboot_real_boot): New prototype.
40444 (pupa_rescue_cmd_multiboot): Likewise
40445 (pupa_rescue_cmd_module): Likewise.
40446
40447 * kern/loader.c (pupa_loader_set): Continue when
40448 pupa_loader_unload_func() fails.
40449 (pupa_loader_unset): New function.
40450 * include/pupa/loader.h (pupa_loader_unset): New prototype.
40451
40452 * kern/misc.c (pupa_stpcpy): New function.
40453 * include/pupa/misc.h (pupa_stpcpy): New prototype.
40454
40455 2003-11-12 Marco Gerards <metgerards@student.han.nl>
40456
40457 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
40458 for available extensions.
40459
40460 * include/pupa/i386/pc/time.h: New file.
40461 * kern/disk.c: Include <pupa/machine/time.h>.
40462 (PUPA_CACHE_TIMEOUT): New macro.
40463 (pupa_last_time): New variable.
40464 (pupa_disk_open): Flush the cache when there was a timeout.
40465 (pupa_disk_close): Reset the timer.
40466 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
40467 pupa_currticks.
40468 * util/misc.c: Include <sys/times.h>
40469 (pupa_get_rtc): New function.
40470
40471 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40472
40473 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
40474 as blocks.
40475 (pupa_ext2_get_file_block): Use blocks member.
40476
40477 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
40478 first block. Return -1 instead of pupa_errno on error.
40479
40480 2003-10-27 Marco Gerards <metgerards@student.han.nl>
40481
40482 * README: In the pupa-mkimage example use _chain instead of chain
40483 and ext2 instead of fat.
40484 * TODO: Replace ext2fs with jfs as an example. Add an item for
40485 adding journal playback for ext2fs.
40486 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
40487 (pkgdata_MODULES): Added ext2.mod.
40488 (ext2_mod_SOURCES): New variable.
40489 (ext2_mod_CFLAGS): Likewise.
40490 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
40491 * include/pupa/misc.h (pupa_strncpy): New prototype.
40492 (pupa_strcat): Likewise.
40493 (pupa_strncmp): Likewise.
40494 * kern/misc.c (pupa_strcat): Enable function.
40495 (pupa_strncpy): New function.
40496 (pupa_strncmp): Likewise.
40497 * fs/ext2.c: New file.
40498
40499 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
40500 when the read failed before retrying.
40501 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
40502 (_FILE_OFFSET_BITS): Likewise.
40503 * configure.ac: Added AC_SYS_LARGEFILE.
40504
40505 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
40506
40507 * genmk.rb (PModule#rule): Make sure to get only symbol names
40508 from the output of nm.
40509 Reported by Robert Millan <rmh.grub@aybabtu.com>.
40510
40511 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
40512
40513 I forgot to check in these changes for a long time. This adds
40514 incomplete support for VGA console, and this is still very
40515 buggy. Also, a lot of consideration is required for I18N,
40516 UNICODE, and VGA font issues. Therefore, assume that this is
40517 such that "better than nothing".
40518
40519 * font/manager.c: New file.
40520 * include/pupa/font.h: Likewise.
40521 * include/pupa/i386/pc/vga.h: Likewise.
40522 * term/i386/pc/vga.c: Likewise.
40523 * util/unifont2pff.rb: Likewise.
40524
40525 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
40526 (pkgdata_MODULES): Added vga.mod and font.mod.
40527 (vga_mod_SOURCES): New variables.
40528 (vga_mod_CFLAGS): Likewise.
40529 (font_mod_SOURCES): Likewise.
40530 (font_mod_CFLAGS): Likewise.
40531
40532 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
40533
40534 * include/pupa/term.h: Include pupa/err.h.
40535 (struct pupa_term): Added init and fini.
40536 Changed the argument of putchar to pupa_uint32_t.
40537
40538 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
40539 (pupa_console_real_putchar): New prototype.
40540 (pupa_console_putchar): Removed.
40541 (pupa_console_checkkey): Exported.
40542 (pupa_console_getkey): Likewise.
40543
40544 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
40545 characters.
40546
40547 * kern/term.c (pupa_term_set_current): Rewritten.
40548 (pupa_putchar): Likewise.
40549 (pupa_putcode): New function.
40550
40551 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
40552 (pupa_console_real_putchar): ... this.
40553 (pupa_vga_set_mode): New function.
40554 (pupa_vga_get_font): Likewise.
40555
40556 * normal/command.c: Include pupa/term.h.
40557 (terminal_command): New function.
40558 (pupa_command_init): Register the command "terminal".
40559
40560 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
40561 (DISP_UP): Likewise.
40562 (DISP_RIGHT): Likewise.
40563 (DISP_DOWN): Likewise.
40564 (DISP_HLINE): Likewise.
40565 (DISP_VLINE): Likewise.
40566 (DISP_UL): Likewise.
40567 (DISP_UR): Likewise.
40568 (DISP_LL): Likewise.
40569 (DISP_LR): Likewise.
40570
40571 * term/i386/pc/console.c (pupa_console_putchar): New function.
40572
40573 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
40574
40575 * util/resolve.c (pupa_util_resolve_dependencies): BUG
40576 FIX. Reverse the path_list.
40577
40578 * include/pupa/normal.h: Export pupa_register_command and
40579 pupa_unregister_command.
40580
40581 * hello/hello.c (pupa_cmd_hello): New module.
40582 * conf/i386-pc.rmk: Added hello.mod.
40583
40584 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
40585
40586 * kern/i386/pc/lzo1x.S: New file.
40587
40588 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
40589 (compress_kernel): New variable.
40590 (generate_image): Heavily modified to support compressing a
40591 large part of the core image.
40592
40593 * util/misc.c (pupa_util_read_image): Fix a file descriptor
40594 leak.
40595 (pupa_util_load_image): New function.
40596
40597 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
40598 (pupa_compressed_size): New variable.
40599 (codestart): Enable Gate A20 here.
40600 Decompress the compressed part of the core image.
40601 Rearrange the code to put functions and variables which are
40602 required for initialization in the non-compressed part.
40603 Include lzo1x.S.
40604
40605 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
40606 here.
40607
40608 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
40609
40610 * include/pupa/i386/pc/kernel.h
40611 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
40612 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
40613 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40614 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40615 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
40616
40617 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
40618
40619 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
40620 (Utility#rule): Likewise.
40621
40622 * configure.ac: Check if LZO is available.
40623
40624 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
40625
40626 * include/pupa/normal.h: New file.
40627 * include/pupa/setjmp.h: Likewise.
40628 * include/pupa/i386/setjmp.h: Likewise.
40629 * normal/cmdline.c: Likewise.
40630 * normal/command.c: Likewise.
40631 * normal/main.c: Likewise.
40632 * normal/menu.c: Likewise.
40633 * normal/i386/setjmp.S: Likewise.
40634
40635 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
40636 (pupa_rescue_cmd_initrd): Likewise.
40637
40638 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
40639 Likewise.
40640
40641 * kern/i386/pc/startup.S (translation_table): New variable.
40642 (translate_keycode): New function.
40643 (pupa_console_getkey): Call translate_keycode.
40644
40645 * kern/rescue.c (attempt_normal_mode): New function.
40646 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
40647 it failed, print a message.
40648
40649 * kern/mm.c (pupa_real_malloc): Print more information when a
40650 free magic is broken.
40651 (pupa_free): If the first free header is not free actually, set
40652 it to P.
40653
40654 * kern/main.c (pupa_load_normal_mode): Just load the module
40655 "normal".
40656 (pupa_main): Don't print the message
40657 "Entering into rescue mode..." here.
40658
40659 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
40660 Declared.
40661 (pupa_rescue_cmd_initrd): Likewise.
40662 (pupa_rescue_cmd_initrd): Likewise.
40663
40664 * include/pupa/symbol.h (FUNCTION): Specify the type.
40665 (VARIABLE): Likewise.
40666
40667 * include/pupa/err.h (pupa_err_t): Added
40668 PUPA_ERR_UNKNOWN_COMMAND.
40669
40670 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
40671 (pupa_dl_get_prefix): Likewise.
40672
40673 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
40674 Added _chain.mod and _linux.mod instead of chain.mod and
40675 linux.mod.
40676 (chain_mod_SOURCES): Renamed to ...
40677 (_chain_mod_SOURCES): ... this.
40678 (chain_mod_CFLAGS): Renamed to ...
40679 (_chain_mod_CFLAGS): ... this.
40680 (linux_mod_SOURCES): Renamed to ...
40681 (_linux_mod_SOURCES): ... this.
40682 (linux_mod_CFLAGS): Renamed to ...
40683 (_linux_mod_CFLAGS): ... this.
40684 (normal_mod_SOURCES): New variable.
40685 (normal_mod_CFLAGS): Likewise.
40686 (normal_mod_ASFLAGS): Likewise.
40687
40688 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
40689
40690 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
40691 possible.
40692
40693 * kern/dl.c (pupa_dl_ref): Refer depending modules
40694 recursively.
40695 (pupa_dl_unref): Unrefer depending modules recursively.
40696 Don't call pupa_dl_unload implicitly, because PUPA can crash if
40697 a module is unloaded before one depending on that module is
40698 unloaded.
40699 (pupa_dl_unload): Unload depending modules explicitly,
40700 if possible.
40701
40702 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
40703
40704 * include/pupa/i386/pc/linux.h: New file.
40705 * loader/i386/pc/linux.c: Likewise.
40706
40707 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
40708 Removed.
40709 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
40710 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
40711 of PUPA_CHAINLOADER_BOOT_SECTOR.
40712
40713 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
40714 (pupa_linux_prot_size): New variable.
40715 (pupa_linux_tmp_addr): Likewise.
40716 (pupa_linux_real_addr): Likewise.
40717 (pupa_linux_boot_zimage): New function.
40718 (pupa_linux_boot_bzimage): Likewise.
40719
40720 * kern/i386/pc/init.c (struct mem_region): New structure.
40721 (MAX_REGIONS): New macro.
40722 (mem_regions): New variable.
40723 (num_regions): Likewise.
40724 (pupa_os_area_addr): Likewise.
40725 (pupa_os_area_size): Likewise.
40726 (pupa_lower_mem): Likewise.
40727 (pupa_upper_mem): Likewise.
40728 (add_mem_region): New function.
40729 (compact_mem_regions): Likewise.
40730 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
40731 the size of the conventional memory and that of so-called upper
40732 memory (before the first memory hole).
40733 Instead of adding each found region to free memory, use
40734 add_mem_region and add them after removing overlaps.
40735 Also, add only 1/4 of the upper memory to free memory. The rest
40736 is used for loading OS images. Maybe this is ad hoc, but this
40737 makes it much easier to relocate OS images when booting.
40738
40739 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
40740 (pupa_enter_rescue_mode): Don't register initrd and module.
40741
40742 * kern/mm.c: Include pupa/dl.h.
40743
40744 * kern/main.c: Include pupa/file.h and pupa/device.h.
40745
40746 * kern/loader.c (pupa_loader_load_module_func): Removed.
40747 (pupa_loader_load_module): Likewise.
40748
40749 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
40750 ``.o''.
40751
40752 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
40753 (pupa_linux_tmp_addr): Likewise.
40754 (pupa_linux_real_addr): Likewise.
40755 (pupa_linux_boot_zimage): Likewise.
40756 (pupa_linux_boot_bzimage): Likewise.
40757
40758 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
40759 (pupa_upper_mem): Likewise.
40760 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
40761 module is too dangerous.
40762
40763 * include/pupa/loader.h (pupa_os_area_addr): Declared.
40764 (pupa_os_area_size): Likewise.
40765 (pupa_loader_set): Remove the first argument. Loader doesn't
40766 manage modules or initrd any longer.
40767 (pupa_loader_load_module): Removed.
40768
40769 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
40770 (linux_mod_SOURCES): New variable.
40771 (linux_mod_CFLAGS): Likewise.
40772
40773 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
40774
40775 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
40776 the length of a blocklist correctly.
40777
40778 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
40779 Use ioctl only if the OS file is a block device.
40780 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
40781 not very useful for normal files.
40782
40783 * kern/main.c (pupa_set_root_dev): New function.
40784 (pupa_load_normal_mode): Likewise.
40785 (pupa_main): Call those above.
40786
40787 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
40788 pupa_uint16_t.
40789
40790 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
40791
40792 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40793
40794 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
40795 (setup): Configure the installed partition information and the
40796 dl prefix.
40797
40798 * loader/i386/pc/chainloader.c (my_mod): New variable.
40799 (pupa_chainloader_unload): New function.
40800 (pupa_rescue_cmd_chainloader): Refer itself.
40801 (PUPA_MOD_INIT): Save its own module in MY_MOD.
40802
40803 * kern/i386/pc/startup.S (install_partition): Removed.
40804 (version_string): Likewise.
40805 (config_file): Likewise.
40806 (pupa_install_dos_part): New variable.
40807 (pupa_install_bsd_part): Likewise.
40808 (pupa_prefix): Likewise.
40809 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
40810
40811 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
40812 and pupa/misc.h.
40813 (make_install_device): New function.
40814 (pupa_machine_init): Set the dl prefix.
40815
40816 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
40817 (buf): Renamed to ...
40818 (linebuf): ... this.
40819 (pupa_rescue_cmd_prefix): New function.
40820 (pupa_rescue_cmd_insmod): Likewise.
40821 (pupa_rescue_cmd_rmmod): Likewise.
40822 (pupa_rescue_cmd_lsmod): Likewise.
40823 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
40824 rmmod and lsmod.
40825
40826 * kern/mm.c (pupa_memalign): If failed even after invalidating
40827 disk caches, unload unneeded modules and retry.
40828
40829 * kern/misc.c (pupa_memmove): New function.
40830 (pupa_memcpy): Removed.
40831 (pupa_strcpy): New function.
40832 (pupa_itoa): Made static.
40833
40834 * kern/dl.c (pupa_dl_iterate): New function.
40835 (pupa_dl_ref): Likewise.
40836 (pupa_dl_unref): Likewise.
40837 (pupa_dl_unload): Return if succeeded or not.
40838 (pupa_dl_unload_unneeded): New function.
40839 (pupa_dl_unload_all): Likewise.
40840 (pupa_dl_init): Renamed to ...
40841 (pupa_dl_set_prefix): ... this.
40842 (pupa_dl_get_prefix): New function.
40843
40844 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
40845 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
40846 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40847 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40848 (pupa_install_dos_part): Declared.
40849 (pupa_install_bsd_part): Likewise.
40850 (pupa_prefix): Likewise.
40851 (pupa_boot_drive): Likewise.
40852
40853 * include/pupa/types.h: Fix a typo.
40854
40855 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
40856 pupa_memmove.
40857 (pupa_memmove): Declared.
40858 (pupa_strcpy): Likewise.
40859
40860 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
40861 pupa_mod_init takes one argument, its own module.
40862 (pupa_dl_unload_unneeded): Declared.
40863 (pupa_dl_unload_all): Likewise.
40864 (pupa_dl_ref): Likewise.
40865 (pupa_dl_unref): Likewise.
40866 (pupa_dl_iterate): Likewise.
40867 (pupa_dl_init): Renamed to ...
40868 (pupa_dl_set_prefix): ... this.
40869 (pupa_dl_get_prefix): Declared.
40870
40871 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
40872 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
40873 unloaded.
40874 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
40875 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
40876
40877 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
40878 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
40879
40880 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40881
40882 * util/i386/pc/pupa-setup.c (setup): Define the internal
40883 function find_first_partition_start at the top level, because GCC
40884 3.0.x cannot compile internal functions in deeper scopes
40885 correctly.
40886 (find_root_device): Use lstat instead of stat.
40887 Don't follow symbolic links.
40888 Fix the path-constructing code.
40889
40890 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
40891 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
40892 by a BLKGETSIZE ioctl first, because block devices don't fill
40893 the member st_mode of the structure stat on Linux.
40894 [__linux__] (linux_find_partition): Use a temporary buffer
40895 REAL_DEV for the working space. Copy it to DEV before returning.
40896 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
40897 buffer cache consistent.
40898 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
40899 strncmp. The previous value was merely wrong.
40900 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
40901
40902 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
40903 FAT size is 12. The previous value was merely wrong.
40904
40905 * kern/main.c (pupa_main): Don't split the starting message from
40906 newlines.
40907
40908 * kern/term.c (pupa_putchar): Put CR after LF instead of before
40909 LF, because BIOS goes crazy about character attributes in this
40910 case.
40911
40912 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40913
40914 * include/i386/pc/util/biosdisk.h: New file.
40915 * util/i386/pc/biosdisk.c: Likewise.
40916 * util/i386/pc/pupa-setup.c: Likewise.
40917
40918 * Makefile.in (INCLUDE_DISTFILES): Added
40919 include/pupa/i386/pc/util/biosdisk.h.
40920 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
40921 directory util/i386/pc.
40922 (install-local): Added a rule for sbin_UTILITIES.
40923 (uninstall): Likewise.
40924
40925 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
40926
40927 * util/misc.c (xrealloc): New function.
40928 (pupa_malloc): Likewise.
40929 (pupa_free): Likewise.
40930 (pupa_realloc): Likewise.
40931 (pupa_stop): Likewise.
40932 (pupa_putchar): Likewise.
40933
40934 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
40935
40936 * include/pupa/util/misc.h (xrealloc): Declared.
40937
40938 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
40939 macro.
40940 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
40941 (PUPA_BOOT_MACHINE_BPB_END): ... this.
40942
40943 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
40944 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40945
40946 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
40947 way should be implemented.
40948 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40949
40950 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
40951 the size of NAME for safety.
40952 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
40953 0x88.
40954
40955 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
40956 (pupa_setup_SOURCES): Likewise.
40957
40958 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
40959
40960 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40961
40962 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
40963 bunch of pushl's from pusha, because this destroys the return
40964 value.
40965
40966 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40967
40968 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
40969 This means that any missing prototypes could be fatal. Also, you
40970 must take care when writing assembly code. See the comments at
40971 the beginning of startup.S, for more details.
40972
40973 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
40974 compilation mechanism.
40975 (pupa_chainloader_real_boot): Likewise.
40976 (pupa_biosdisk_rw_int13_extensions): Likewise.
40977 (pupa_biosdisk_rw_standard): Likewise.
40978 (pupa_biosdisk_check_int13_extensions): Likewise.
40979 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
40980 (pupa_biosdisk_get_diskinfo_standard): Likewise.
40981 (pupa_get_memsize): Likewise.
40982 (pupa_get_mmap_entry): Likewise.
40983 (pupa_console_putchar): Likewise.
40984 (pupa_console_setcursor): Likewise.
40985 (pupa_getrtsecs): Use pushl instead of push.
40986
40987 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
40988 memory instead of the stack for a mmap entry, because some
40989 BIOSes may ignore the maximum size and overflow.
40990
40991 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
40992
40993 * genmk.rb (PModule#rule): Compile automatically generated
40994 sources with module-specific CFLAGS as well as other sources.
40995
40996 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40997
40998 * configure.ac: Check ld.
40999 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
41000 respectively, before checking endianness and sizes.
41001
41002 * Makefile.in (LD): New variable.
41003
41004 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
41005
41006 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
41007
41008 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
41009
41010 * Changelog: New file.
41011